<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="cid:filelist.xml@01C8042C.8C8E7E80">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:GrammarState>Clean</w:GrammarState>
<w:DocumentKind>DocumentEmail</w:DocumentKind>
<w:HyphenationZone>21</w:HyphenationZone>
<w:EnvelopeVis/>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;
        text-underline:single;}
span.EstiloCorreo17
        {mso-style-type:personal-compose;
        mso-style-noshow:yes;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;
        font-family:Arial;
        mso-ascii-font-family:Arial;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:windowtext;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;
        mso-header-margin:35.4pt;
        mso-footer-margin:35.4pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:"Tabla normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]-->
</head>
<body lang=ES-AR link=blue vlink=purple style='tab-interval:35.4pt'>
<div class=Section1>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>Hi folks,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>I’m newby in Pyrex. I’m
trying to optimize a python application. I’m working on Windows XP
enviroment, Python 2.5 and the last binary pirex version 0.9.3.1<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>First I tried, following an example
from pirex´s guide using Numeric, and it works exactly like my old python
version. The problem is I used numpy.ndarray so I have to transform into Numeric.array,
use the rutin and back to numpy. It’s not good.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>Looking for a solution, I
followed an example in pirex’s code at <a
href="http://www.scipy.org/PerformancePython">http://www.scipy.org/PerformancePython</a><o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>It works with ndarray but the
results are not the same. I can not find where the error is.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>First my Numeric code: (c1,
c2, c3 are arrays of dimension 1, a is a matrix (3<span class=GramE>,7</span>))<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=3 face="Times New Roman"><span
lang=EN-US style='font-size:12.0pt;mso-ansi-language:EN-US'>cdef</span></font></span><span
lang=EN-US style='mso-ansi-language:EN-US'> extern from
"Numeric/arrayobject.h":<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>struct</span>
PyArray_Descr:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>int</span> type_num,
elsize<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>char</span> type<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>ctypedef</span> class
Numeric.ArrayType [object PyArrayObject]:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> char *data<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> int nd<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> int
*dimensions, *strides<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> object base<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> PyArray_Descr
*descr<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> int flags<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=3 face="Times New Roman"><span
lang=EN-US style='font-size:12.0pt;mso-ansi-language:EN-US'>def</span></font></span><span
lang=EN-US style='mso-ansi-language:EN-US'> calculo1(ArrayType c2, ArrayType
c3, ArrayType a, ArrayType c1):<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> int k, j ,
ncola<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> double pivote
<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> double
*elema, *elemc2, *elemc3, *elemc1 <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>elema</span> = <double
*>a.data<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span>elemc2 = <double *>c2.data<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span>elemc3 = <double *>c3.data<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span>elemc1 = <double *>c1.data<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>ncola</span> =
a.dimensions[1]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>for</span> k from 0 <=
k < 2:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span></span><span class=GramE>pivote</span>
= elema[k * ncola] / elemc2[0]<o:p></o:p></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>for</span>
j from 0 <= j < 2:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>elema[</span>k
* ncola + j + 1] = elema[k * ncola + j + 1] - pivote * elemc2[j+1]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>elema[</span>k
* ncola + 6] = elema[k * ncola + 6] - pivote * elemc2[3]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span></span></font><span
class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>for</span></span><span
lang=EN-US style='mso-ansi-language:EN-US'> k from 0 <= k < 3:<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>pivote</span> =
elema[k * ncola + 1] / elemc3[0]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span style='mso-spacerun:yes'> </span></span><span
class=GramE>elema[</span>k * ncola + 2] = elema[k * ncola + 2] - pivote *
elemc3[1]<o:p></o:p></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>elema[</span>k
* ncola + 6] = elema[k * ncola + 6] - pivote * elemc3[2]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span></span></font><span
class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>for</span></span><span
lang=EN-US style='mso-ansi-language:EN-US'> k from 2 <= k < 7:<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>elemc1[</span>k-2] =
elema[k]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>return</span> a, c1<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>Now my Numpy approach:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=3 face="Times New Roman"><span
lang=EN-US style='font-size:12.0pt;mso-ansi-language:EN-US'>cdef</span></font></span><span
lang=EN-US style='mso-ansi-language:EN-US'> extern from "Python.h":<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>int</span>
PyObject_AsReadBuffer(object, void **rbuf, int *len)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>int</span>
PyObject_AsWriteBuffer(object, void **rbuf, int *len)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=3 face="Times New Roman"><span
lang=EN-US style='font-size:12.0pt;mso-ansi-language:EN-US'>def</span></font></span><span
lang=EN-US style='mso-ansi-language:EN-US'> calculo1(object c2, object c3,
object a, object c1):<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> int k, j ,
ncola<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> double pivote
<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>cdef</span> double
*elema, *elemc2, *elemc3, *elemc1 <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span></span><span class=GramE>elema</span> =
<double *>a.data<o:p></o:p></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span>#elema = <span class=GramE>a.ravel()</span><o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span></span></font><span
lang=EN-US style='mso-ansi-language:EN-US'>elemc2 = <double *>c2.data<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span>elemc3 = <double *>c3.data<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span>elemc1 = <double *>c1.data<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>ncola</span> = a.shape[1]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>for</span> k from 0 <=
k < 2:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>pivote</span> =
elema[k * ncola] / elemc2[0]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>for</span> j from 0
<= j < 2:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>elema[</span>k *
ncola + j + 1] = elema[k * ncola + j + 1] - pivote * elemc2[j+1]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span></span><span class=GramE>elema[</span>k
* ncola + 6] = elema[k * ncola + 6] - pivote * elemc2[3]<o:p></o:p></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span></span></font><span
class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>for</span></span><span
lang=EN-US style='mso-ansi-language:EN-US'> k from 0 <= k < 3:<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>pivote</span> =
elema[k * ncola + 1] / elemc3[0]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span></span><span class=GramE>elema[</span>k
* ncola + 2] = elema[k * ncola + 2] - pivote * elemc3[1]<o:p></o:p></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span><span class=GramE>elema[</span>k
* ncola + 6] = elema[k * ncola + 6] - pivote * elemc3[2]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><span style='mso-spacerun:yes'> </span></span></font><span
class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>for</span></span><span
lang=EN-US style='mso-ansi-language:EN-US'> k from 2 <= k < 7:<o:p></o:p></span></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>elemc1[</span>k-2] =
elema[k]<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'> </span><span class=GramE>return</span> a, c1<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>Thanks!<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-US
style='font-size:12.0pt;mso-ansi-language:EN-US'>Daniel Rozengardt<o:p></o:p></span></font></p>
</div>
</body>
</html>