Changeset 3659

Show
Ignore:
Timestamp:
04/04/07 11:11:49 (2 years ago)
Author:
wfspotz@sandia.gov
Message:

Updated documentation to include a Summary, as well as a sample of the code generated by swig

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/numpy/doc/swig/numpy_swig.html

    r3652 r3659  
    331331</ul> 
    332332</li> 
    333 <li><a class="reference" href="#acknowledgements" id="id17" name="id17">Acknowledgements</a></li> 
     333<li><a class="reference" href="#summary" id="id17" name="id17">Summary</a></li> 
     334<li><a class="reference" href="#acknowledgements" id="id18" name="id18">Acknowledgements</a></li> 
    334335</ul> 
    335336</div> 
     
    358359with the module <a class="reference" href="http://numpy.scipy.org">NumPy</a>, which provides full 
    359360object-oriented access to arrays of data.  Therefore, the most logical 
    360 <a class="reference" href="http://www.python.org">python</a> interface for the <tt class="docutils literal"><span class="pre">rms</span></tt> function would be:</p> 
     361<a class="reference" href="http://www.python.org">python</a> interface for the <tt class="docutils literal"><span class="pre">rms</span></tt> function would be (including doc 
     362string):</p> 
    361363<pre class="literal-block"> 
    362364def rms(seq): 
     365    &quot;&quot;&quot; 
     366    rms(numpy.ndarray) -&gt; double 
     367    rms(list) -&gt; double 
     368    rms(tuple) -&gt; double 
     369    &quot;&quot;&quot; 
    363370</pre> 
    364371<p>where <tt class="docutils literal"><span class="pre">seq</span></tt> would be a <a class="reference" href="http://numpy.scipy.org">NumPy</a> array of <tt class="docutils literal"><span class="pre">double</span></tt> values, and its 
     
    407414effectively, therefore, requires knowing what typemaps are available 
    408415and what they do.</p> 
     416<p>A <a class="reference" href="http://www.swig.org">SWIG</a> interface file that includes the <a class="reference" href="http://www.swig.org">SWIG</a> directives given 
     417above will produce wrapper code that looks something like:</p> 
     418<pre class="literal-block"> 
     419 1 PyObject *_wrap_rms(PyObject *args) { 
     420 2   PyObject *resultobj = 0; 
     421 3   double *arg1 = (double *) 0 ; 
     422 4   int arg2 ; 
     423 5   double result; 
     424 6   PyArrayObject *array1 = NULL ; 
     425 7   int is_new_object1 = 0 ; 
     426 8   PyObject * obj0 = 0 ; 
     427 9 
     42810   if (!PyArg_ParseTuple(args,(char *)&quot;O:rms&quot;,&amp;obj0)) SWIG_fail; 
     42911   { 
     43012     array1 = obj_to_array_contiguous_allow_conversion( 
     43113                  obj0, NPY_DOUBLE, &amp;is_new_object1); 
     43214     npy_intp size[1] = { 
     43315       -1 
     43416     }; 
     43517     if (!array1 || !require_dimensions(array1, 1) || 
     43618         !require_size(array1, size, 1)) SWIG_fail; 
     43719     arg1 = (double*) array1-&gt;data; 
     43820     arg2 = (int) array1-&gt;dimensions[0]; 
     43921   } 
     44022   result = (double)rms(arg1,arg2); 
     44123   resultobj = SWIG_From_double((double)(result)); 
     44224   { 
     44325     if (is_new_object1 &amp;&amp; array1) Py_DECREF(array1); 
     44426   } 
     44527   return resultobj; 
     44628 fail: 
     44729   { 
     44830     if (is_new_object1 &amp;&amp; array1) Py_DECREF(array1); 
     44931   } 
     45032   return NULL; 
     45133 } 
     452</pre> 
     453<p>The typemaps from <tt class="docutils literal"><span class="pre">numpy.i</span></tt> are responsible for the following lines 
     454of code: 12--20, 25 and 30.  Line 10 parses the input to the <tt class="docutils literal"><span class="pre">rms</span></tt> 
     455function.  From the format string <tt class="docutils literal"><span class="pre">&quot;O:rms&quot;</span></tt>, we can see that the 
     456argument list is expected to be a single python object (specified by 
     457the <tt class="docutils literal"><span class="pre">O</span></tt> before the colon) and whose pointer is stored in <tt class="docutils literal"><span class="pre">obj0</span></tt>. 
     458A number of functions, supplied by <tt class="docutils literal"><span class="pre">numpy.i</span></tt>, are called to make and 
     459check the (possible) conversion from a generic python object to a 
     460<a class="reference" href="http://numpy.scipy.org">NumPy</a> array.  These functions are explained in the section <a class="reference" href="#helper-functions">Helper 
     461Functions</a>, but hopefully their names are self-explanatory.  At line 
     46212 we use <tt class="docutils literal"><span class="pre">obj0</span></tt> to construct a <a class="reference" href="http://numpy.scipy.org">NumPy</a> array.  At line 17, we 
     463check the validity of the result: that it is non-null and that it has 
     464a single dimension of arbitrary length.  Once these states are 
     465verified, we extract the data buffer and length in lines 19 and 20 so 
     466that we can call the underlying C function at line 22.  Line 25 
     467performs memory management for the case where we have created a new 
     468array that is no longer needed.</p> 
     469<p>This code has a significant amount of error handling.  Note the 
     470<tt class="docutils literal"><span class="pre">SWIG_fail</span></tt> is a macro for <tt class="docutils literal"><span class="pre">goto</span> <span class="pre">fail</span></tt>, refering to the label at 
     471line 28.  If the user provides the wrong number of arguments, this 
     472will be caught at line 10.  If construction of the <a class="reference" href="http://numpy.scipy.org">NumPy</a> array 
     473fails or produces an array with the wrong number of dimensions, these 
     474errors are caught at line 17.  And finally, if an error is detected, 
     475memory is still managed correctly at line 30.</p> 
    409476<p>Note that if the C function signature was in a different order:</p> 
    410477<pre class="literal-block"> 
     
    417484%apply (int DIM1, double* IN_ARRAY1) {(int n, double* seq)}; 
    418485</pre> 
     486<p>This simply has the effect of switching the definitions of <tt class="docutils literal"><span class="pre">arg1</span></tt> 
     487and <tt class="docutils literal"><span class="pre">arg2</span></tt> in lines 3 and 4 of the generated code above, and their 
     488assignments in lines 19 and 20.</p> 
    419489</div> 
    420490<div class="section"> 
     
    732802<pre class="literal-block"> 
    733803def dot(vec1, vec2): 
     804    &quot;&quot;&quot; 
     805    dot(PyObject,PyObject) -&gt; double 
     806    &quot;&quot;&quot; 
    734807</pre> 
    735808<p>The problem here is that there is one dimension argument and two array 
     
    754827%} 
    755828</pre> 
    756 <p>If the header file that contains the prototype for <tt class="docutils literal"><span class="pre">dot()</span></tt> also 
    757 contains other prototypes that you want to wrap, so that you need to 
    758 <tt class="docutils literal"><span class="pre">%include</span></tt> this header file, then you will also need a <tt class="docutils literal"><span class="pre">%ignore</span> 
     829<p>If the header file that contains the prototype for <tt class="docutils literal"><span class="pre">double</span> <span class="pre">dot()</span></tt> 
     830also contains other prototypes that you want to wrap, so that you need 
     831to <tt class="docutils literal"><span class="pre">%include</span></tt> this header file, then you will also need a <tt class="docutils literal"><span class="pre">%ignore</span> 
    759832<span class="pre">dot;</span></tt> directive, placed after the <tt class="docutils literal"><span class="pre">%rename</span></tt> and before the 
    760 <tt class="docutils literal"><span class="pre">%include</span></tt> directives.</p> 
     833<tt class="docutils literal"><span class="pre">%include</span></tt> directives.  Or, if the function in question is a class 
     834method, you will want to use <tt class="docutils literal"><span class="pre">%extend</span></tt> rather than <tt class="docutils literal"><span class="pre">%inline</span></tt> in 
     835addition to <tt class="docutils literal"><span class="pre">%ignore</span></tt>.</p> 
    761836</div> 
    762837<div class="section"> 
     
    816891</div> 
    817892<div class="section"> 
    818 <h1><a class="toc-backref" href="#id17" id="acknowledgements" name="acknowledgements">Acknowledgements</a></h1> 
     893<h1><a class="toc-backref" href="#id17" id="summary" name="summary">Summary</a></h1> 
     894<p>Out of the box, <tt class="docutils literal"><span class="pre">numpy.i</span></tt> provides typemaps that support conversion 
     895between <a class="reference" href="http://numpy.scipy.org">NumPy</a> arrays and C arrays:</p> 
     896<blockquote> 
     897<ul class="simple"> 
     898<li>That can be one of 12 different scalar types: <tt class="docutils literal"><span class="pre">signed</span> <span class="pre">char</span></tt>, 
     899<tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">char</span></tt>, <tt class="docutils literal"><span class="pre">short</span></tt>, <tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">short</span></tt>, <tt class="docutils literal"><span class="pre">int</span></tt>, 
     900<tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">int</span></tt>, <tt class="docutils literal"><span class="pre">long</span></tt>, <tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">long</span></tt>, <tt class="docutils literal"><span class="pre">long</span> <span class="pre">long</span></tt>, 
     901<tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">long</span> <span class="pre">long</span></tt>, <tt class="docutils literal"><span class="pre">float</span></tt> and <tt class="docutils literal"><span class="pre">double</span></tt>.</li> 
     902<li>That support 16 different argument signatures for each data type, 
     903including:<ul> 
     904<li>One-dimensional and two-dimensional arrays.</li> 
     905<li>Input-only, in-place, and argout behavior.</li> 
     906<li>Hard-coded dimensions, data-buffer-then-dimensions 
     907specification, and dimensions-then-data-buffer specification.</li> 
     908</ul> 
     909</li> 
     910</ul> 
     911</blockquote> 
     912<p>The <tt class="docutils literal"><span class="pre">numpy.i</span></tt> interface file also provides additional tools for 
     913wrapper developers, including:</p> 
     914<blockquote> 
     915<ul class="simple"> 
     916<li>A <a class="reference" href="http://www.swig.org">SWIG</a> macro (<tt class="docutils literal"><span class="pre">%numpy_typemaps</span></tt>) with three arguments for 
     917implementing the 16 argument signatures for the user's choice of 
     918(1) C data type, (2) <a class="reference" href="http://numpy.scipy.org">NumPy</a> data type (assuming they match), and 
     919(3) dimension type.</li> 
     920<li>Seven C macros and eleven C functions that can be used to write 
     921specialized typemaps, extensions, or inlined functions that handle 
     922cases not covered by the provided typemaps.</li> 
     923</ul> 
     924</blockquote> 
     925</div> 
     926<div class="section"> 
     927<h1><a class="toc-backref" href="#id18" id="acknowledgements" name="acknowledgements">Acknowledgements</a></h1> 
    819928<p>Many people have worked to glue <a class="reference" href="http://www.swig.org">SWIG</a> and <a class="reference" href="http://numpy.scipy.org">NumPy</a> together (as well 
    820929as <a class="reference" href="http://www.swig.org">SWIG</a> and the predecessors of <a class="reference" href="http://numpy.scipy.org">NumPy</a>, Numeric and numarray). 
     
    830939<div class="footer"> 
    831940<hr class="footer" /> 
    832 Generated on: 2007-04-03 21:50 UTC. 
     941Generated on: 2007-04-04 16:10 UTC. 
    833942Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. 
    834943 
  • trunk/numpy/doc/swig/numpy_swig.pdf

    r3652 r3659  
    103103endobj 
    10410473 0 obj 
     105<< /S /GoTo /D (summary.0) >> 
     106endobj 
     10776 0 obj 
     108(Summary) 
     109endobj 
     11077 0 obj 
    105111<< /S /GoTo /D (acknowledgements.0) >> 
    106112endobj 
    107 76 0 obj 
     11380 0 obj 
    108114(Acknowledgements) 
    109115endobj 
    110 77 0 obj 
    111 << /S /GoTo /D [78 0 R  /Fit ] >> 
    112 endobj 
    113 80 0 obj << 
    114 /Length 1901       
     11681 0 obj 
     117<< /S /GoTo /D [82 0 R  /Fit ] >> 
     118endobj 
     11984 0 obj << 
     120/Length 1934       
    115121/Filter /FlateDecode 
    116122>> 
    117123stream 
    118 xÚœYYsÛF ~÷¯à#Õ 7{éSœÆn;mšIÜÉCÓUŠUO-Sµä 
    119 ýõöҊ€ÅŠI4 
    120 ™ž>`o—¬¢ðÇ*#‰€NUÆ:¢µbÕbuB«%<;?aQFJM€Ò.Fž6ÂX"š“U£ 
    121 1ªRj Í$'Ji[5†9âžÖ(~zqòøLžŠ™’ÕÅUÅ€!JX01É]\þVßΞ©ïg¬^­ñìãÌžšÀå5üžÌIe=Ÿ5‚Òú5Üy¿àwŽ·Â©`ÛÞ]Áù 
    122 ~‹6<;Ãnà¯ñy¿»pùÂë|ùqöûŏ'Ï/²?Ž£ž¬Ž„æÜAߓpSJ{×¥¬ÀI͵÷œrxÊD¥•$Æ0ïøS4`ûg¶ 
    123 ìx|f‹·„&\        
    124 šP 
    125 °àŽéú4¹u~îQYÃ3]w[8ý'Œ³§ŸI#5L'ñþp âŽázëM¹î<š;” B9¶³ƒ£^ï 
    126 ‡žŒÁÂ(  Q¿˜o㍟Σ™?ÍÿFÞáMñg(×nÆlNZ÷lþοÜmä’Pé 
    127 ¬$“¬Á€§kpІÐ= 
    128 6qJ͈jŠ(N!€M!9÷C>‹qºÁ‹Û6 
    129 6ýäI“OA&ÆÈôòɝĸܓÄY–Ÿá»e|ôªÌ;GÓpR*òyW‚’€²P ;·õ6"ÒAPŒ!ŠÀ¢]Ï3ñ°P9äZc@£c0’“_Ý0‹sÃûŸ„Ðÿ_7×>Œ¬^†ìðx€d¡Y PÍd€«J¥¬!ÌòcB `ŠPfC„|åy7Sºž§Ù3sW(‹P‡SYiWóµ¯}8¬%LðbìQ8,±L'4ø(š8¡Õg¡Á8#\@¿iÔ aŠ&T‘ŲT®„ë8¶¡6<œ‹3džÐ` T0®T9œ–HŽ7LA 
    130 £âë# •Z 
    131 F Keš—)!1þ @35Œ*µû$%Ì1–@8BHË46B’òÓ=]vŸ˜J>ײ*g"ŒAìè¿VÀʔ›ð?I¡ÿ¿äð¿føh4ÄžÔ<ˆ§TÇÄA 
    132 fÊLà€ˆR³ö.ð¬[­ )úó~}Ü Ý¢ŽÇwÔ—’XguUZ4BŠ<ˏŠ”om”š@(I}B‹nµNœæÃ h¯ØtU4ú+ønŽ×_%Tw£B$ 
    133 ì¯YáùŸœÙù 
    134 á9CZq™Çb"4€A)-U‹„®Kùa ŸhŠ 
    135 Ë‰š’¥ŠŸ};ñLs节 
    136 £ðÊqn"×:ætÐÕ­•#K¡“¯ºT6µlGœ 
    137 >i` 
    138 RŽ?Ú' eÇKn¡ qÊ 
    139 ^?d!töŽýˆ4¹ K?ŸÛ¹Öð2¯-  
    140 Œ‹šà£œ 
    141 /L.2kUU9R1)áfŠpÙ–P!'žE–òÜ"@SÉçàóœ 
    142 »š8@€q¢%•U©qˆÒO.É.ç„:1U      ’ÔC=ãuLŽmdó‰ºuÂj«Rýk!cÒ 
    143 
    144 ªaI,ŠJF’*òᬚi§ä 
    145 ßÇi‡MÁM-«JmÃ\ ˜¶ÕÇ«  
    146 
    147 çöpÉBÞ÷Îÿ¿¢ÛŸJŒ¿      åøw»jóÅɄ%8ƒÕF©u„#D©¡q 
    148 Æ€Ÿ)5GóÒv 
    149 
    150 ! 
    151 ä&ì) 
    152 ÈÊ;àrpŒŒ_l¯»‘1 
    153  
    154 ±|ñ"Ö@nEÎìbnûûox"œÞ£ø,îŠÁ9/viZ”ŸJ«2”;Ç»·éQÚK󯜥ІË~%eåNT 
    155 ,V‚ɉðfùŠ|aßá°DÞš=ï›Éé‰ñÛ3£¿ÿœ€+†ÊÀžö ÅƒLû€>ãð_Æö>ì§â[ÛŒ+ÖÅ;WÀË 
    156 ðÅ^*x?ZÄ7ï³ù‰ 
    157 žá†±5XŠ47˜ãN•‹C³ Téh¶Nçáð>÷Ûp 
    158 v{ònë6ìry 
    159 ÝU8néñºÇdŒ‡‡ü\ú:œl7d[A¶â©Žæ)–å›ò 
    160 ‘(÷‡H1àÚ1Ó3£ŸbIjB9 
    161 åpOùð°!X 
    162 ØM„ÚW€ùelq(ò–2™JÀæJÙb¢;Ÿy›^H}÷Ã7b”vü*€ŽvÀ™M©ªÏ^ŠÁ™©Ó®·ï'] ûnM†ÆXSûÈ·óíî=ïÑ&`ËŔ0]zX–l~š›ô± ¥!—õi Îý*šªÚhT†hÎØT&%ùŠ|aÌÁ°™d ž     £{f >–E©        åГ€þë}å©Dh·!H 
    163 ®nu›§cþ²³k‹<¿€ôÕ^i{TòQÈAa¹l 
    164 Û/3×» 
    165 KRŽwösà)W)•VáºÇøgړ‡Ÿ’0­ˆ‘T2GAŽ'„ÄP Œ 
    166 ¡Y 
    167 ¿Œ_r0õŠoš1އUü*[éž4«¿        olâåßá«ÞJ“y.oÃX ß>„³°Æ5î¡eŸ—i 
    168 ¡av°p”Р
    169 “:Êúê§04Ó÷/ 
    170 eGendstream 
    171 endobj 
    172 78 0 obj << 
     124xÚœYYsE~÷¯ØÇ5MŠçžð‡Ø@AH%Šò@xòÚž°,cÉ9øõtÏ¥ÑîJ‚ 
     125*—ŒWït÷×çôBÃñ«˜â^7ÖyfŒ†f6?âÍ>;;‚D£”aJ‹#O'Ò:&¹WÍÄxf¥Ó5Հ”`Z×L,xæ 
     1261D~r~ôøTú, Us~ـ²LK‡"fºó‹ßÚÛcaۇchçwtöñØú–áå5þž 
     127OWíôx"9o_ã7øûgt+ž†VÝý%žOñ7ëâ³SZá隞/ðw/_ž/? 
     128ÿ~þãÑóó¢fµPQxÞïÔ=Ojê ºR 
     129*i„     šsOA6F+f-ş’«?‹T(ÇãSWœ% 
     130ZäD䈠
     131ð`ړ¬Ö 
     132ê!E@埙v±ÂÓâ:ì'y¥    H敵aÁn‘|I2\¯‚(׋€æ@-™Ô 
     133Ör*øNi‰‹d,²’”í‹é*ÝXÐÓió§éQÈ{ºI$áŒèºå˜Ì™ë†Ìß 
     134—»¡ŒB1®| 
     135•­Œ"=œ GnÝ£(“à܎°Í)„6Í€",ù,Ùéö_\uñ°ì;O>m%rŒ‘ð 
     136ίåxì)æ 
     137”gtçþ*=zUûg žÔŒ‚ßÕ dªB”Ì.\»Jˆ,Ð(6˜\`V™®§ = 
     138GTv©6±ÈÑÆCVò«ëb       aa·þ™ˆôÿuy 
     139ÌíUôŽ€GN@S)õ!0ÀÐ#}S3 
     140@à,'  ÄHáàvC‰Bæyw¬M;Íр‘¹N”ÈyÌÃ9­tóé]È}8œc Eµö( 
     141Ž90 
     1421Іa^ýYh€&$֛‰Æ|!mU„j8 
     143Y¡*™ð.ÅÀ*憧÷)BŠ!ÖböGáj–ÐpLIT|ó—_å-²4r7 
     144ª 0y™ 
     145b–<῀€m†æV45×aä <@án  
     1460,°„L‚4œZüO'p˜ò 
     147QMÍpš íš¿Ñؕi¿GÿLEúÿR"à“¢uŽm\s 
     148§Ò‡ÄAa ÚîÁ!Se 
     149jͺûÀ³Å|ŽE1œ÷óã’Ú 
     150%ÛÔà„Šºžéã#”bÎ;Óԍ4ÓžEÓ·±ZïA(S}B³Åü.ך€°ŒZ슛Z !@X_Qw{žúª0»[ 
     151-±µŸ"‚çûîf­{‚ç”ÚŠ‡ÔyÌ6Zä‘‚ŠÒšõ°°(¬º\ìâ‹zŠôØ 
     152µ'§*‚âçPNB§9TSãÆÑ xõº5©×:d8H¬êΩ=     £P‘’¯9mæÖ²Që€Å 
     153Jœþh° 
     154çÜR[æµßœ(D€ìI÷‘ÚäEÜúß.© v 
     155/ËÞ³À»„ 
     156m1º‹ñô°¥Á!sN7µ#“3a÷5Ü_ÖE€c\ª=œE¡ 
     157œE„ŠN’ÏQç 
     158ëœ8@3Ып8D€ÚO¡Ù]H!÷r_&ÈTÛjÆëä 
     159«ÔmL÷äEÌVr×Ô쇜&6d ì!Ñà·Är_ÊÈT•?œV9#OJ^„9N7, 
     160Žî ©¹ 
     161}+쎝9\ØÒ    ávgBDº¿N֞ϧ”&8P€ÖõMœò@Qc˜q^POä(¹Ü=i(DÁÆ3Ês%ó†løþ&ŠAÜgtó®LbFši`pWUs 
     162é 
     163ÕP8M02©Œ ñòXJI±»”8;•}÷سâñâa¶º^Œ 92æÈùèÅó”ë 
     164“%‚« 
     165î¿¡v'lî6Z!z–Іx.ªiTGԗy÷Itgt÷6?Ê3ÃðÚ[®yŒìgL܎ráe#8`žäíØVóúIýÂÀŸÃe³#‡ôY_ t C²ß†ý9{ŠÚÍ|ž1G ‚q 
     166<(BK•çÁÁãè_Áö!΍é­U™þ-ҝˠ
     167à« 
     168ðÕ̌Œ5­À¿ÌCCÍh0î,¥cÀ"®£ï­YùŽôÐ j–žyñtïK_¯ãT«L•Wqšx,.ãq9ˏïz 
     169[àBàˆèŸW¡ 
     170]uK6Ž­dZHFåËV+䓊~ÄÆœE÷ø6=ƃݔ¡ï^™h7g 
     171œ)֜gˆAŒ` 
     172.È!ö§©ˆÉ[*ÿòQ¹*Ä}ð¹eϘ¡Ÿß„ähÖ 
     173dtã±·é4Π
     174g¶ÍsýP1Éàë]'   ãllÞMWë÷‚vÖluœDVBÄÖ-nŸ °\¡› 
     175¥nòçì8 ·ŒBµ'qkзŸÆ|jŒ 
     1763DãµÛçD™~R¿0Žå`Ù=nd1­Ikzb >&ª=̱áÇl2ÏÉ       A»F 
     177p-æ·%Ë·«uALà 
     178MsÈøJ×k–E_‘Ü2é,lúÊõzv5 fÉÌéÎfIŽØev¥yŒîíiv{ړm߁hœãàºêb¥T.N„ò±Ž›‘Æ£P‘òé[¹^5ÛÇüt˜§ï~©ˆŽSCûM|c™.ÿŽßÍèVæUŒŒk 
     179ŸÝ„wž‹·~Û #ÐL*¢aöž5VX3) 
     180}vZp #Æøý Èâ’ýendstream 
     181endobj 
     18282 0 obj << 
    173183/Type /Page 
    174 /Contents 80 0 R 
    175 /Resources 79 0 R 
     184/Contents 84 0 R 
     185/Resources 83 0 R 
    176186/MediaBox [0 0 595.2757 841.8898] 
    177 /Parent 122 0 R 
    178 /Annots [ 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R 104 0 R 105 0 R 106 0 R 107 0 R 108 0 R 109 0 R 110 0 R 116 0 R 117 0 R 118 0 R ] 
    179 >> endobj 
    180 94 0 obj << 
     187/Parent 127 0 R 
     188/Annots [ 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R 104 0 R 105 0 R 106 0 R 107 0 R 108 0 R 109 0 R 110 0 R 111 0 R 112 0 R 113 0 R 114 0 R 115 0 R 121 0 R 122 0 R 123 0 R ] 
     189>> endobj 
     19098 0 obj << 
    181191/Type /Annot 
    182192/Border[0 0 0]/H/I/C[1 0 0] 
     
    185195/A << /S /GoTo /D (introduction) >> 
    186196>> endobj 
    187 95 0 obj << 
     19799 0 obj << 
    188198/Type /Annot 
    189199/Border[0 0 0]/H/I/C[1 0 0] 
     
    192202/A << /S /GoTo /D (using-numpy-i) >> 
    193203>> endobj 
    194 96 0 obj << 
     204100 0 obj << 
    195205/Type /Annot 
    196206/Border[0 0 0]/H/I/C[1 0 0] 
     
    199209/A << /S /GoTo /D (available-typemaps) >> 
    200210>> endobj 
    201 97 0 obj << 
     211101 0 obj << 
    202212/Type /Annot 
    203213/Border[0 0 0]/H/I/C[1 0 0] 
     
    206216/A << /S /GoTo /D (input-arrays) >> 
    207217>> endobj 
    208 98 0 obj << 
     218102 0 obj << 
    209219/Type /Annot 
    210220/Border[0 0 0]/H/I/C[1 0 0] 
     
    213223/A << /S /GoTo /D (in-place-arrays) >> 
    214224>> endobj 
    215 99 0 obj << 
     225103 0 obj << 
    216226/Type /Annot 
    217227/Border[0 0 0]/H/I/C[1 0 0] 
     
    220230/A << /S /GoTo /D (argout-arrays) >> 
    221231>> endobj 
    222 100 0 obj << 
     232104 0 obj << 
    223233/Type /Annot 
    224234/Border[0 0 0]/H/I/C[1 0 0] 
     
    227237/A << /S /GoTo /D (output-arrays) >> 
    228238>> endobj 
    229 101 0 obj << 
     239105 0 obj << 
    230240/Type /Annot 
    231241/Border[0 0 0]/H/I/C[1 0 0] 
     
    234244/A << /S /GoTo /D (other-common-types-bool) >> 
    235245>> endobj 
    236 102 0 obj << 
     246106 0 obj << 
    237247/Type /Annot 
    238248/Border[0 0 0]/H/I/C[1 0 0] 
     
    241251/A << /S /GoTo /D (other-common-types-complex) >> 
    242252>> endobj 
    243 103 0 obj << 
     253107 0 obj << 
    244254/Type /Annot 
    245255/Border[0 0 0]/H/I/C[1 0 0] 
     
    248258/A << /S /GoTo /D (helper-functions) >> 
    249259>> endobj 
    250 104 0 obj << 
     260108 0 obj << 
    251261/Type /Annot 
    252262/Border[0 0 0]/H/I/C[1 0 0] 
     
    255265/A << /S /GoTo /D (macros) >> 
    256266>> endobj 
    257 105 0 obj << 
     267109 0 obj << 
    258268/Type /Annot 
    259269/Border[0 0 0]/H/I/C[1 0 0] 
     
    262272/A << /S /GoTo /D (routines) >> 
    263273>> endobj 
    264 106 0 obj << 
     274110 0 obj << 
    265275/Type /Annot 
    266276/Border[0 0 0]/H/I/C[1 0 0] 
     
    269279/A << /S /GoTo /D (beyond-the-provided-typemaps) >> 
    270280>> endobj 
    271 107 0 obj << 
     281111 0 obj << 
    272282/Type /Annot 
    273283/Border[0 0 0]/H/I/C[1 0 0] 
     
    276286/A << /S /GoTo /D (a-common-example) >> 
    277287>> endobj 
    278 108 0 obj << 
     288112 0 obj << 
    279289/Type /Annot 
    280290/Border[0 0 0]/H/I/C[1 0 0] 
     
    283293/A << /S /GoTo /D (other-situations) >> 
    284294>> endobj 
    285 109 0 obj << 
     295113 0 obj << 
    286296/Type /Annot 
    287297/Border[0 0 0]/H/I/C[1 0 0] 
     
    290300/A << /S /GoTo /D (a-final-note) >> 
    291301>> endobj 
    292 110 0 obj << 
     302114 0 obj << 
    293303/Type /Annot 
    294304/Border[0 0 0]/H/I/C[1 0 0] 
    295 /Rect [98.3198 283.2994 182.5135 294.1386] 
     305/Rect [98.3198 283.2994 142.0953 293.9494] 
     306/Subtype /Link 
     307/A << /S /GoTo /D (summary) >> 
     308>> endobj 
     309115 0 obj << 
     310/Type /Annot 
     311/Border[0 0 0]/H/I/C[1 0 0] 
     312/Rect [98.3198 263.3741 182.5135 274.2134] 
    296313/Subtype /Link 
    297314/A << /S /GoTo /D (acknowledgements) >> 
    298315>> endobj 
     316121 0 obj << 
     317/Type /Annot 
     318/Border[0 0 0]/H/I/C[0 1 1] 
     319/Rect [288.033 198.1192 317.1934 209.9797] 
     320/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
     321>> endobj 
     322122 0 obj << 
     323/Type /Annot 
     324/Border[0 0 0]/H/I/C[0 1 1] 
     325/Rect [312.5275 186.722 341.6879 197.5612] 
     326/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
     327>> endobj 
     328123 0 obj << 
     329/Type /Annot 
     330/Border[0 0 0]/H/I/C[0 1 1] 
     331/Rect [350.8735 174.7668 380.0339 185.6061] 
     332/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
     333>> endobj 
     33485 0 obj << 
     335/D [82 0 R /XYZ 74.4095 789.6651 null] 
     336>> endobj 
     33786 0 obj << 
     338/D [82 0 R /XYZ 74.4095 771.7323 null] 
     339>> endobj 
     34096 0 obj << 
     341/D [82 0 R /XYZ 74.4095 613.3264 null] 
     342>> endobj 
     3436 0 obj << 
     344/D [82 0 R /XYZ 74.4095 613.3264 null] 
     345>> endobj 
     34697 0 obj << 
     347/D [82 0 R /XYZ 74.4095 585.1076 null] 
     348>> endobj 
    299349116 0 obj << 
    300 /Type /Annot 
    301 /Border[0 0 0]/H/I/C[0 1 1] 
    302 /Rect [288.033 218.0445 317.1934 229.905] 
    303 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    304 >> endobj 
    305 117 0 obj << 
    306 /Type /Annot 
    307 /Border[0 0 0]/H/I/C[0 1 1] 
    308 /Rect [312.5275 206.6473 341.6879 217.4865] 
    309 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    310 >> endobj 
    311 118 0 obj << 
    312 /Type /Annot 
    313 /Border[0 0 0]/H/I/C[0 1 1] 
    314 /Rect [350.8735 194.6921 380.0339 205.5314] 
    315 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    316 >> endobj 
    317 81 0 obj << 
    318 /D [78 0 R /XYZ 74.4095 789.6651 null] 
    319 >> endobj 
    320 82 0 obj << 
    321 /D [78 0 R /XYZ 74.4095 771.7323 null] 
    322 >> endobj 
    323 92 0 obj << 
    324 /D [78 0 R /XYZ 74.4095 613.3264 null] 
    325 >> endobj 
    326 6 0 obj << 
    327 /D [78 0 R /XYZ 74.4095 613.3264 null] 
    328 >> endobj 
    329 93 0 obj << 
    330 /D [78 0 R /XYZ 74.4095 585.1076 null] 
    331 >> endobj 
    332 111 0 obj << 
    333 /D [78 0 R /XYZ 74.4095 274.333 null] 
     350/D [82 0 R /XYZ 74.4095 254.4078 null] 
    334351>> endobj 
    33535210 0 obj << 
    336 /D [78 0 R /XYZ 74.4095 274.333 null] 
    337 >> endobj 
    338 115 0 obj << 
    339 /D [78 0 R /XYZ 74.4095 233.4866 null] 
    340 >> endobj 
    341 79 0 obj << 
    342 /Font << /F39 85 0 R /F44 88 0 R /F8 91 0 R /F51 114 0 R /F56 121 0 R >> 
     353/D [82 0 R /XYZ 74.4095 254.4078 null] 
     354>> endobj 
     355120 0 obj << 
     356/D [82 0 R /XYZ 74.4095 213.5613 null] 
     357>> endobj 
     35883 0 obj << 
     359/Font << /F39 89 0 R /F44 92 0 R /F8 95 0 R /F51 119 0 R /F56 126 0 R >> 
    343360/ProcSet [ /PDF /Text ] 
    344361>> endobj 
    345 141 0 obj << 
    346 /Length 4182       
     362147 0 obj << 
     363/Length 4136       
    347364/Filter /FlateDecode 
    348365>> 
    349366stream 
    350 xÚœ[mo#·þ~¿Bh@.N›å;™~(Ú4IS4I‘º(ŠŠ(Ö²ìsϲ.^_.‡ ÿœ3$‡K.)­Ü+ŠƒÎ«Ýápv8óÌ )¶êá[ÙÉÞ©•±®ÓZ±Õvÿ¢_ݳ/^°H#¥î€ÒŸ4žnï;«5_mr&¿»|ññçvå:§¹^]Þ¬à™PB®ŒfÑά.¯ÿ±~÷ꂭ‡§‹Pfœûñ‚¯‡íܺ‡Ïû‹^þñãϕΘ(×£LŒ£G ÚÁçû@™ÏÆ\ǹ`‘ðˆÆîb£˜Y9†Ùð^œxFŒõŸÛ{ÏnÚõJ¯Œñ–nš5Šxϯ.6\Ó}O‡wøßõ4²ÝŒ‰o6lw¿É 
    351 ±“00×Cä 
    352 ,ð3\pʰrýžhŽlñŸ     Ç(QŠS 
    353 Þ<Ÿ¿‚¶V':'¹XmëœRÜ+Ê¿žWR"#T 
    354 e“ÖØôZo¢npÄæðV/ý&#X$þ²fÙû|‰Ÿ]&3LtÖ*í:Ë€ 
    355 ¶Š 
    356 o#Í·™Õ&úM> ²Úš-ªé/ Áßàóå•’uœv&ÆÌeÕÂäRvœY^NŸõ돟C\‰k\µdv{Z˜]xJ+¹ý 
    357 ;‘wQÿ#Zs“eEŠ`Q`{»h1\ƒœ5d2̋“ 
    358 ­.ÚÿþM4žKÞ"1ÅËñÐy¶L‚ 
    359  
    360 WÚáW(Ýkø/¹$Hb 
    361 wn9ºV° 
    362 ­Ÿ=[ ò>:âëpÇá­¹õT{ÿbcà±%&[o[òíë 2$!•¡!%}¿#.|ºÞ.Qñ‡+ 
    363 r•lÚÓ 
    364 Æ?'ãÍèØlðò û.NF7].,NS™ƒyçšcŠ¿yžÁ¿¶òý} 
    365 ú‚ÓTjÔøï9ÏoÍ܉iK,‚9„w!œíj¶BuŠ—„ú3DIÙêÞƒëvàpº·Ë‚Ù4ùªé‘ŒæmÔa4)œ<¹ØD\ 
    366 ïìwž„x5~YøµØAP2Z¬/i40óvxƒoã=EÿŒÚªÒÿbzE«úC4°Ã#Jàâ2äÅž>0ª>Œæ4T&úM> B«šíišdŠwJp3c•‰jaòŠNþ2šà•_ÐÍ;üo÷ƒw-T¿Ç‰~ýŽpð 
    367 Ý¬Ÿb:~‰è 
    368 —[¿dqà áÁ;ïSoŒgú¡Q÷7q­=ΐç 
    369 ˆ1ÏÜ 
    370 ž<h’,»1Jw•œÝóLÀÓ ñv”§÷Ï÷AŒÃèSšÂ³0Kë˜R‰Fã\>TÀõ 
    371 AÛ>|Ï Ýcž×È]D€§¯‘Àg;þ»7ùÛ8.P¥àqô+DèÔxþiøs N'c>¬÷¡Ûu€¶>~>Çl  
    372 hn±œî”²n¥A‡œK9F¢ßäjÛ­Ø¢ oPê÷ñ_»™Ë#tç €¥<s"ª)*f™e«ÀµIÏÃԎ‚ŠÂZ—kˆ70ÂàßWd 
    373 ×Ñ"óèl1 Ç¥º#›ñ«<†çßõª'dv~I·8Ï«ÈçÎg÷É!|Π
    374 ‚AñNiLêŠhðD†|œ»P|}Ý üXC‘ DaA 
    375 ò®ø^œ×“Èù«ö‡[o‚»øRÞ 
    376  
    377 ä 
    378 ªó=Р™ŒÞˆ€VaAü÷|m€r¡)9~a8Æa”“+­5€•K†Lô›|@mB[|•¯}ögªèr98óÍä˜p¢:={͌ تPyóö*âSâ–ÇÍë˜T .o2%ÞmC’·Qrýoo{¡>!ÓÙM@s 
    379 &¶[ÈF/Š#p9OÃâÒÊ`-†g«ùä2æÉåü”»—1óìrª 
    380 Ð3ÜÜƘ{[œ%O™”úáé•V²c¢Ä‚aý&PFÅö\„3Š RÊRž9ÂՂ¶ï4wŠ”¢ŒŸžö%úpÊXT'˜†wFij8ø:Œ||.À¬5‘ðh†€óy =^‡›19ùd®*êähÀqÅt3›b ÷퓖ì„À4/gáµXV” 
    381 ošš¯v¡¡žÈޟjO97 èÉ֟ÔÚÙøK,1M§•S—(XCóÜvÕ²r\FÂJ¹Ü‰,ósàŠ•5ZÝõº 
    382 +«{œä 
    383 D¿É4ìrÎv6a    ,8z)G›‘êôìœs\OQÎ^UŠšfEè#¬xnE';°C}€¢ÃnDŸR?õÔŒòKsF­*;u¢R 
    384  
    385 X1u¶)ì~Œó{•lÆ;™§Èr·›“ËŠ      ¥aßïÄklÂw̍ìI:Œ€"˱ð.ÆŒa 
    386 Qz 
    387 ‹EÈ!<ɋXøúiøÓÎŽ!,iÕ¯?ƒëPM=¢<åmPXMÉìÔ]ÝVéˆ0º 
    388 Œ 
    389 ¬¯sœZJGý&P·Ï*¶ ~øÙicÔLŽ™_%ªÓ³K& Édºœ}|‹¥X¡=NvÚ-©‘,íí<* Žƒ‚„ë Y`e; [8W–r}¯"ïdڏ-œÈwܹRàUNõb ÷ˆ~“šq¯b{nVy)Î<)ˆD§eà=‡UÒ¶”aÜQ—f,v|Ùpn    !JsuVàÑRe{~Åw÷!^rgaÝ ôq9ú8¿?Ñ·Ê}yjýàê]ÂmŠÊ‡Àû>(:”b8åî0‡TQÕbА£”‘ÝžÒ_šhlh² 
    390 i²ýéšÀ›0€HI-éBä­:‡ªëU*ÚΠ
    391 4¬<­QšÚPŸÔ閩H•aòV3ɶSaE”U~&͘íõSk"Ž*Lú°u&"­žLYÞ9GûvG=2Ñoò5fUl3íý•r 
    392 Ý!<9;e°Ê°®ε‘,Î# 
    393 æê(=ëGeimGP•ß“UÄ:©Ü 
    394 ëæoO[š`•]nqzˆ|“ÓÝ'MD ]TY8gb&Ä 
    395  ‰êô܌ƒ»ô¢œ;™nh¡b€²}¹«nD܎^éüî‚ižþxG“qÄTĆ4BùDÄÆ‚ü»žIJ>®G*؇0<þÙO 
    396 ¡ZBã><+ö<¹Ð{ï÷žUlm¬ºïŠV¯bE£S{?ÞO&Ì·†Z 
    397 ae²ÏdÊû¡š±ùxe]lŸð.c˶QAî¡­“)€¹IÈ{oÕ8] 
    398 œ`0’ÚbFîtCà4 
    399 ÓP<(†Œ»¥Š(ÑoòuæV±]ØuÕ=–®|&Æ|וš&×&gМüT›V Ú' 
    400  
    401 ˆË“vâá{eÆÑ†ðgÜ¥6R|@y 
    402 D0ŠW 
    403 ûŠåâ    {Œë 
    404 O§@ —ûžÏ†åÐ-§wÑ¡qhhn<ßІéô‚ç#Ëài/!¢{”v_£M–“Ý¥J„‚,Ì<Æœi]4 
    405 UÔl_fÎ%ñ~êæáÁËÓŠ”.„ša"÷ÒWéœßGÉúçÞŒ=ÙIb 
    406 r©ø­$×IÉøb+    &L@ôþ«VÖöM Å±ÍÀ]¯ŽÑ·¥â\CxìßožîâNlÀX-KÛö        ÓŸ¹ ùœÆÎÝ\7Ç^5Úöºc=Ñûnª[_^œ 
    407 bOã*ŠC|îX¹<E祇2Ý&—k¹”w%úM> Q 
    408 ÌٞY    qÐ؋›É3ïՂ€¯‡‡ 
    409 '€ÏX\SˆôÑ/4P 
    410 µÑŒ Å{ür›èŒƒ0çŸ«ÝDúœj¶ ÑÄÈ~˜<­ÔDµ09”¡Îqñ,¥–Ñï4ZT<8))Œ°Y+(Õø¬TóiF™Ï¥ ùhG’°N+®? £œ³8ÞQNT(êG ÓO-œþe:«Ž–mÿbë9­+|Ÿ€Ï¿àóyüþ'ø|ïÍ%|þïá÷¯ÓýbnžæN}¬šÆììÎÿ‹ˆŽ%.1žßà‡/ù3=àÌ4v >:o¢ã        ]6á1Ÿ±ÖD^ 
    411 eO 
    412 Hb~ˆoöµ5ÄïñúýÔ쏠
    413 þ_?û‡?S¹ŒòE¶í¢Ÿ­šhùPžßÂçÛøÁë¿Ã‡ 
    414 n$’’âûÿ>.úW‘*4 
    415 ðÉOÓK-̞opŽgy˜4óó)í|ˆ 
    416 ±rI   Û<u”,¶wá:䆠
    417 °C¿Ø­M"\ˆöñqÑSÜÄ¿#̚ðÞ~êOŸ8 
    418 ã™?Ҁ,͉ÂÜeAqy_ 
    419 hé¯ëü&—b¢ŽG(c u°Žå 
    420 æR”@fH§O²³DB”Ç$æ§!}¶HÒÔsž£pìQ cãSº3<åˆ#˜@uO!ž*îͱ‘7J   ŠÉ“"x‰oÊS4>ͬÚG 
    421  
    422 ¢ö» 
    423 +Bbs¥J'}óÆj$Ÿê-–¶FŸS¬ºÎ*+óÓÞùYŠž’œ —nV¿7³[‘uEì&ŒáºPHÜÖž} :„6{É®×Ù’ÿ?ŠÕ5„bp¹-(“Ž#z=Ԟèõ]`ÌšâˆÕ§ÐYýµá°àÜÍO.x¯žœÝ! `–S 
    424 u‹»ðP‰“=bTm˂$-Lëqb:ƒãâ9dÇr=ec÷”‡Ã 
    425 ø÷aJë({Þ{5éx ãÙîçóTÀaAlæ t†ŽÞ7VdµÔ. 
    426 ì3Ô 
    427 ¯œÉLHÖ “%0¶_ˆÈd 
    428 µÔ—iêí]Ú 
    429 iŸ|CΖuØ=]óXa«)Š:-Ò¶ìâY 
    430 Rå麋6íw{^Ÿg÷'pð¡üë¬_~ÝÁáÏCvNhK2ÄÓG§EšOMÛHð¥Ú؈§”Šã¯&4‡ 
    431 ‰ivʬé#FLšÐ(ÝÁDŽcäeËÀVÇ-יÔî˜bô 
    432 fmgŽ¡Îe‰‚­ãÞÖ2“à/ 
    433 Ú™ÙNQ^gdO™ø¢„ëÈŸà¶Gh©ówÉ7Ê^W&Ë(†Yî\Ù•͘í]f:é$"FmŽyópŸ;\^ŠÖ 
    434 4Π
    435 ’Š:oh6ztgyÿüs%™ê²P#$À³­òÜ€qÓ±ô6¹Ü4ÃQ”aøÇSý 4pä6i–ÇcŠÖ~šÖR•ì˜M{œÏK›zž6Š1Ws +ÐI«<랝Eôý5í7'« 
    436 ƒª^ÓÏ–ÊŸCx˜~µÆ¥=šWƞ¡ìúžÍ²†!ÛŒà 
    437 ‡Šچ«¬ <Ûé›~0—Ž{Œá8*þõáiâZŽy£ܜ:Ç~òøßÑÔòØ1÷ð¬)ûŸóY,êcv:ÕùE»Šu<ÚùaNuÜ2õŸœÅñÎO¢:îëÇÎ6jì˜?£^ÏûgTÐe.TnÇBVā ‹ÚÂQ¢ßäêÙŠí®°°u’ÏÄš~©&‡pØŸsW 
    438 IÉdú- €àq#“ª[|š0cª 
    439 ˆpäq»Ça·wÅ¡3àÛªà †ü®5+ 
    440 A²¢¡ÁÒ  àî*(x6š‹s² Úe 
    441 Ù-aCØP«~ÔP€P\:÷ßÕÎ:œÄTé 
    442 B’qG qsF՟ÿ:¡{óqŸlÞ÷C˕ŠþÈà›#Ç!KÚ Ï~de,N@Q×º\(Îσ¬sšÍÖåÿ$Së²¥~g¡ø4íŸòÍ&#ª7¡ 0lNª—=wԘï?n.²endstream 
    443 endobj 
    444 140 0 obj << 
     367xÚœko 
     368·ñ{~Å!ASáÝ,ßd 4HÓ8MÑ$Eª¢(š¢8Ö²jÎÑÊqŒ ÿœ3$‡K.y·rÆYû‡Ãys–møÇ6Förpjc¬ëµVl³?|0lnàݰ#¥î¥Òno;ŇÞjÍ7]Žä÷—|üÜn\ï4כËx'”£YoŽ3›ËënߟŒ`ÛÝãE'”ÙŽ?^ðínÿîà÷îâ_—úø¹Òåzc”€‰qôP#üŸùlÌõœ ohê/:ÅÌöË)̆ÏâÄ»ðgÂG÷ð»¹óˆá¡Ýþp¡ôv‡ÞÐC³EáýÕEÇ5=÷pør|Àÿ®ç™m÷:®l·?ɉ±310×}Ä 
     369(ð·»à˜aåöŒÑ 
     370!Ø6Ãý" œ"EOuXy>Þ·6œ“\l:Æz§÷Œò ÷,@HD„Já¡læ›—õ:òGtÇûŽ{iì7À*ð—5ÊÖØOp|~™ÄP0Ñ[« 
     371HŽë-“*È*Ÿzž‰0ßfR›à»|@%µ5ZdÓ_‚¿ÃïË/*2$ë%삌 
     372Ê$š•É¥ì9³Œœ|ï÷ÇžמkIìŽ1cxK;9NþÁw·‘ÿJs³dE€ Q {c”®ŠÁæÉI„ŽRåÿð: 
     373 
     374<%m‚âåtì=Z&A 
     375+åð+€îü—T(±Â+· 
     376U+ÈÂÞO‰šÆ-@y 
     377p9ÜqX5· 
     378êà6 
     379{B²÷ò·'ÝŸ,CbjBÒý-aáó¥ðr‰Œ?^ᐫ$Ó 
     380n`ü{ÞlƒNÍ‹ÚÇ8QÜT¹°9M6f 
     381æ•kiSüÃã ük+ݯ­¯C]p:ÕûÚê‚ù8ïoԉiK(‚8„µ߯­Pœ$Yý 
     382EI9À®Þ‚ë¶ãpz°ëŽœÙ<é²éŽæMäa)œ<©Ø TŸ 
     383FÜBŒšŸ(ü^Œà”ŒÛK 
     384ÈŒ 
     385Ÿ@ˆ7qEQÿï 
     386¶ªÔ¿è€^Ò®þìø€žž 
     387¹b\ 
     388        6j<„挩Lð]> ²V5ÚóŠ’)Þ+Á͂Œ 
     389©LP+“WÈpòg/ý~oÞâã^µýÞN Û·dïP͆٧ãMŽ^x¹÷[,N08»ðâ­×©×^3ýÐÈûq¯œ!Í?Þbž©=`?z£IތS€î*)»Ç™ Ïlˆ—£dpÿþÈ8N>€)4 £Žž(•–"³Ñ8—wpý‚LÛ!Üg‚îmžçÈmŽH¥œFíø{/ò7q\€JÎ!Ãèwˆ¬SãýgáÏ)s:£˜ò™`¿ɺ]Á¶gÜÏsŒ¶@–;è^)ë6x8X±c$ø.PËn 
     390ixT¿‹K|äfIÐœ3”ô,5ˆ Všše”í×&y<oŠFr*Þ k]î!>@ƒ_’4\G‰Ìœ; E‡ 
     391·ê–dÆïòÞ7š, ó[ºÇy^F<·>"žK 
     392ácæà  
     393á”Æ nö$È×ã 
     394âÛë†c€àÇò\@ 
     395 TvƒïÉy5“œ/ýx8Þx 
     396㢌: 
     397É{&f«Î“gô†-Œ‘IëÖ*lˆ¿Ï÷  
     398’â‚c 
     399z9¹ÑZƒ1°rM     ŸËÔ"T¡Å¥|í#°¿PF—ÓÁ™÷hlAÇB€ÔùÙkd$ÀV 
     400€È‹G`Ÿ·Üo^Ç yù"câ]à6y’ÛÿxÙ ù     ‰Î8šë0Án¿‡h4à"?—Ë0,n­ Òbx¶ûH.c|TÎO9>‹‘Ÿ0 7SU=³›‡ã£q/«7€)KÁ€T"<œÑJö̀—X ‚ïòµ`ThŸjáŒéƒ²€giáj 
     401 
     402;ôš;SRQzˆŸOû}ö€hpJ_T˜†÷Fi*8ø<Œt|I˜Yk"àÉçó†ôHx 
     403 
     404Π.ZD²£E.³pÅי 
     405Îû1JaôFm³Ü*ip\M-e°Bî+3­ 
     406r²#È 
     407 
     408ß 2Áp°ÀÄEŠp eÅEÆZF˟Ãy¶Í׀ÁŒµl‘°~¯ÃA†RmØï#O1Ìyçc‡ðÜ+jdãCŒ~GTxr;žû]ž<™í<ˆ»”}uù_'`§& Ìæu÷KWQð¹ÔNÀÆH‰Å'°]‚Û¹Œ\CÁží 
     409{RéÏöÊq¬tˆ;‘ø¬qet¬î=š 
     410eT0»f        ŸË4ÌÏíªwu°À͒ŽÊ;Fšó³sÎQ·D9{U@î4wp2Š÷MÜe6AŸHܱè4€ˆÐO=×(ýÖ<¡$!{uŠ ©ŽbêÉ¢0þç÷,Ù'Wîdž      5ªðT®‹f'Að 
     411hH©Žµ Â5gql'F”Îþ'Y{|ŠjŒ›&€ 
     412Çb®y oòZÜ~þŽ*ˆ>޶ŸÃuHšï R 
     413ój7ìŠdv.¢ï«šSÝ 9º‚p@mÖJŽßåê*i 
     414vE¯À—õÚµ c¡W   êü쒠   È%˜.gŸÈ”ÆDüa–kävš<&üféü‘ÇA  Âõ²Òž¶CHçʌ}àUĝDû¡ÅŠa&käFÞjÎVÓ[‚ïòµÝ«Ð>5øƒpÀ bAÎ2ö‹@çià‡]Ò¶€a©7‰ž5”[š^k®žäxŽTّ“ßññ.Ä.ÜYØ÷ÂúžÜú8 5Žª:0òÜ6úÁÕZÂcАŽ÷]`tÈžqÊ)<w1/ 
     415ZU‹áZ.r~!ひ 
     416H\mš¥ i²šT:Êãç:R„€J“tÁóVbÕ*åæOu4¬<íQˆ[Ÿt !M‘Á䭚 
     417‚íçü™ «0\š'Ølϟšitda⇭#i 
     418øVÞÒZ±¢‘    ŸËÔ6«B»b1ÓoIÇɃೳS6¡øBÆÚö,Our‡‰KÃK/r,Œ Ô‡Š)xŸ€"ŠÃå‰g¿\=\Kg1Ç[Ù‚î2ð“‡á³R)gàZ8%KCH@g'f 
     4194eÅÄIhC 
     420}” 
     421ÊcÃð Zìš/Ι†ÒO·dl2Œ„Ø@(‚ØXqùn`’Ž뀑*2»0<þ9Ì%¿ 
     422ÕüŠCxW 
     423y 
     424K¢^ã±ÀÚXV¹kqŸL!¥ž˜8{ 
     425™ 
     426`~ö×*!  +“d&!>ìŠ4 Í÷WvL៓e€ËX“odEƒÇæd 
     427Û¹êmÃd‚žHNvcq§k êÒ3Ôd        ً 
     428†µ\(Áwù€:f«Ð® 
     429«ë |AÆòX V&×&gМü\ 
     430v Ê'u†ÄíI­p_‰q”€]ø3©N_P„ÇÁÅy™œ\l±§5àíìbáò’ðÜúÛrŠð‡Ö!fçð 
     431YÓ0^Ñ|D" 
     432E» 
     433©Ý 
     434ÛšA3±åd·)!÷ 
     4353Oñ°kÞMµQ(s¹;ƒ,O§>xžàdv3žW¡ 
     436ìýAYv@â 
     437Áس¥Bæ —Š?¡Vèz)_­„É=†ÿªµCÓÐâØæà±f:I‹çŽq®]xí×·»êâ_Jd6ÀX-˝ð¡Ò¡yP‘œÆÒìPªú¹P„öºgÁûr¹Û^^€9=ÆjÆU vqܱr{ŠšËA‰1`˜ÔЃ+X‹ž|—häKŽÓ8ðäÅ-èYրj 
     438 
     439H~Ø YIÅÇM4TJžŒ÷ %da-4ÏB.ñoŽ¡K¢2ã@ DøOån‚?¿®íŠ7qŠ,“癚 V&‡Ôaœñ}˜Zz|Ò(Nñ €ÄðBf<® Iã¶ô>Ì(㹟¬ëK 
     440i~I]?Gqº®Ÿ Ô_M?µìôG©+p-;ßÇtÚWø}¿ÃïyŒÿ3ü>Ïæ~ŒÏðþëôŒQÿ(?M‰l̚Ãpþ£¥-í҉ó\äÏô‚ ÓA€O˜èt@—MðÊ 
     441oÌ2WƒÙs푐ãÊ 
     442#·Nœl ó1Ëoß{Í»ä?S¢ŒôEŽítŸm 
     443 hûžOá÷müáõ?àÇB 
     444A‰qýˆ›þU„š6~šµ2{~ÌԞå~æÌÏçžóK$lQQö—Š<H¹€€m:J ‚cž±¡7Ø¡Rì¶G0M"\îP:zzŒ/âßûFMøì0WŠÏt?yäÔá‘bx$ ‘˜ÛÌ)Ž÷Uð–þºŽor*fH{2VZ“,P0žL     D†Ô^”5‹ QöÁ,Û]}ŽH 
     445Tmž¥Òo¬NìŠF‹ 
     446Sº7<ňµÄ ;wÁ¹*îű7JŠÉƒ"XÄ7e›”ó«v÷‘{a-§’XV©ÂI_¶ñƒ¯1=céìû}’U×[eeÞΟ7«Å” ƒt‹üœ݊¬6(b5a 
     447×CâÆÍ=å!ÔýÙ ìÁ%»Ag=Bÿ›VçŠõÂå² Lê7õ|š5Ñó!ªÀ”AÅg²O¡³ü«ã°áÜ-[SŒVÜ܌hP0Ê)úŸÝj›dDâluYے IÓZ1NLMV.6š;ÖèžösS 
     448ºwðïý 
     449ÖQô|ðlšRÿ§ãÙ¹çû±€Ã†‚e°™2ÜS“p}n¬Èr©1uîM™Õ 
     450KÎhŠ 
     451ÔMpYÆö‚™¬¢–*±ñ2Mœ¿Mç"í&Ï×€lYmÝÃ5ûF[E1Õk‘dW›qˆ•çsè>ÊŽ? 
     452xýÁ‚o±Â 
     4531²ò¯²zEø|‡ÃŸû¬lO&eÛËΓP·’ÍHpS 
     454iÄ6Ž¢¿Ù„Bã.7‡„4k#lꈳUh€î cÂ1Ò²uÃVû-כTî˜}ôÒÌÚÞhC•ËÒ 
     455¶úù} ™¿à(ÀAjg{8{yY4AŸ5ÐE     ×};ÀmµEh©ó^ŠÛ€e­+“E»Eì\5eËŠÏö*3·²‰h£ºSÚŒ»Ë®0žŠÖé3Π
     456‚Š:nhztoùðþ 
     457%ë2W# 
     458é5[–Pg‘ÆãÆRÛäzÑ GQ„áœmÀõ3àÀLØ&ÍrÌÔöoó·‡-VɞÙtºù~aÓÀӑ4Æjb)a 
     459uÒ*ºÍŠþµ¿Š“æ$µS`Õ+ú.­¬;„—é³D.íÉž2Ö e? L7: 
     460¢FFã 
     461íDdÚvWYxqÆ7™;Žè{ŒàùàÓeÕĹ^I`*~r2`Ëçùw9|UEª®œr–R.ˆX 
     462        Ôù¹‡ØH°Åäç*XF,+Xfñ›áíŠÔqZ6­/ žø‰¯ÄSٛàϯ±F{žÁÜêÞ᧗gœ V&Ç
     463YL~ÎîG.ÝÜæWŸ£Œ‘Ì€’‹Ï[ÛóhóÚß+ñEïÃbS£nªžs³š:Îß? 
     464_Íßt<Œù—“‹ï‚æédaÒYˆtMûÃ0‚é2 šóÌ2f„Ôò“í 
     465ùþ a Nendstream 
     466endobj 
     467146 0 obj << 
    445468/Type /Page 
    446 /Contents 141 0 R 
    447 /Resources 139 0 R 
     469/Contents 147 0 R 
     470/Resources 145 0 R 
    448471/MediaBox [0 0 595.2757 841.8898] 
    449 /Parent 122 0 R 
    450 /Annots [ 143 0 R 144 0 R 145 0 R 149 0 R 150 0 R 151 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R ] 
    451 >> endobj 
    452 143 0 obj << 
     472/Parent 127 0 R 
     473/Annots [ 149 0 R 150 0 R 151 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R ] 
     474>> endobj 
     475149 0 obj << 
    453476/Type /Annot 
    454477/Border[0 0 0]/H/I/C[0 1 1] 
     
    456479/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    457480>> endobj 
    458 144 0 obj << 
     481150 0 obj << 
    459482/Type /Annot 
    460483/Border[0 0 0]/H/I/C[0 1 1] 
     
    462485/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    463486>> endobj 
    464 145 0 obj << 
     487151 0 obj << 
    465488/Type /Annot 
    466489/Border[0 0 0]/H/I/C[0 1 1] 
     
    468491/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
    469492>> endobj 
    470 149 0 obj << 
     493155 0 obj << 
    471494/Type /Annot 
    472495/Border[0 0 0]/H/I/C[0 1 1] 
     
    474497/Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
    475498>> endobj 
    476 150 0 obj << 
    477 /Type /Annot 
    478 /Border[0 0 0]/H/I/C[0 1 1] 
    479 /Rect [145.9004 651.2442 178.3085 662.0835
     499156 0 obj << 
     500/Type /Annot 
     501/Border[0 0 0]/H/I/C[0 1 1] 
     502/Rect [145.9004 650.6863 178.3085 662.5467
    480503/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
    481504>> endobj 
    482 151 0 obj << 
    483 /Type /Annot 
    484 /Border[0 0 0]/H/I/C[0 1 1] 
    485 /Rect [185.0642 615.6527 220.3815 626.7709
     505157 0 obj << 
     506/Type /Annot 
     507/Border[0 0 0]/H/I/C[0 1 1] 
     508/Rect [185.0642 555.3239 220.3815 566.4421
    486509/Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
    487510>> endobj 
    488 152 0 obj << 
    489 /Type /Annot 
    490 /Border[0 0 0]/H/I/C[0 1 1] 
    491 /Rect [375.3565 603.9765 410.6737 614.8157] 
     511158 0 obj << 
     512/Type /Annot 
     513/Border[0 0 0]/H/I/C[0 1 1] 
     514/Rect [375.3565 543.6477 410.6737 554.487] 
    492515/Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
    493516>> endobj 
    494 153 0 obj << 
    495 /Type /Annot 
    496 /Border[0 0 0]/H/I/C[0 1 1] 
    497 /Rect [168.2912 591.4633 200.6993 603.3238
     517159 0 obj << 
     518/Type /Annot 
     519/Border[0 0 0]/H/I/C[0 1 1] 
     520/Rect [168.2912 531.1346 200.6993 542.9951
    498521/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
    499522>> endobj 
    500 154 0 obj << 
    501 /Type /Annot 
    502 /Border[0 0 0]/H/I/C[0 1 1] 
    503 /Rect [486.5452 579.5082 521.8625 591.3687
     523160 0 obj << 
     524/Type /Annot 
     525/Border[0 0 0]/H/I/C[0 1 1] 
     526/Rect [486.5452 519.1794 521.8625 531.0399
    504527/Subtype/Link/A<</Type/Action/S/URI/URI(http://numpy.scipy.org)>> 
    505528>> endobj 
    506 155 0 obj << 
    507 /Type /Annot 
    508 /Border[0 0 0]/H/I/C[0 1 1] 
    509 /Rect [88.3572 556.1558 117.5176 566.995
     529161 0 obj << 
     530/Type /Annot 
     531/Border[0 0 0]/H/I/C[0 1 1] 
     532/Rect [88.3572 495.827 117.5176 506.6663
    510533/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    511534>> endobj 
    512 156 0 obj << 
    513 /Type /Annot 
    514 /Border[0 0 0]/H/I/C[0 1 1] 
    515 /Rect [332.17 543.9217 361.3304 555.0399
     535162 0 obj << 
     536/Type /Annot 
     537/Border[0 0 0]/H/I/C[0 1 1] 
     538/Rect [332.17 483.5929 361.3304 494.7111
    516539/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    517540>> endobj 
    518 157 0 obj << 
    519 /Type /Annot 
    520 /Border[0 0 0]/H/I/C[0 1 1] 
    521 /Rect [199.781 508.3351 232.1891 519.1744
     541163 0 obj << 
     542/Type /Annot 
     543/Border[0 0 0]/H/I/C[0 1 1] 
     544/Rect [199.781 448.0064 232.1891 458.8456
    522545/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.python.org)>> 
    523546>> endobj 
    524 158 0 obj << 
    525 /Type /Annot 
    526 /Border[0 0 0]/H/I/C[0 1 1] 
    527 /Rect [368.9173 508.3351 398.0777 519.1744
     547164 0 obj << 
     548/Type /Annot 
     549/Border[0 0 0]/H/I/C[0 1 1] 
     550/Rect [368.9173 448.0064 398.0777 458.8456
    528551/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    529552>> endobj 
    530 159 0 obj << 
    531 /Type /Annot 
    532 /Border[0 0 0]/H/I/C[0 1 1] 
    533 /Rect [110.73 174.6963 139.8904 185.5355
     553165 0 obj << 
     554/Type /Annot 
     555/Border[0 0 0]/H/I/C[0 1 1] 
     556/Rect [98.5482 149.1272 127.7087 159.9664
    534557/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
    535558>> endobj 
    536 142 0 obj << 
    537 /D [140 0 R /XYZ 74.4095 789.6651 null] 
    538 >> endobj 
    539 123 0 obj << 
    540 /D [140 0 R /XYZ 74.4095 140.101 null] 
    541 >> endobj 
    542 14 0 obj << 
    543 /D [140 0 R /XYZ 74.4095 140.101 null] 
    544 >> endobj 
    545 139 0 obj << 
    546 /Font << /F8 91 0 R /F56 121 0 R /F58 148 0 R >> 
     559166 0 obj << 
     560/Type /Annot 
     561/Border[0 0 0]/H/I/C[0 1 1] 
     562/Rect [258.754 149.1272 287.9144 159.9664] 
     563/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swig.org)>> 
     564>> endobj 
     565148 0 obj << 
     566/D [146 0 R /XYZ 74.4095 789.6651 null] 
     567>> endobj 
     568145 0 obj << 
     569/Font << /F8 95 0 R /F56 126 0 R /F58 154 0 R >> 
    547570/ProcSet [ /PDF /Text ] 
    548571>> endobj 
    549 162 0 obj << 
    550 /Length 3057       
     572169 0 obj << 
     573/Length 3016       
    551574/Filter /FlateDecode 
    552575>> 
    553576stream 
    554 xÚÍ[mÜ¶þî_qhQ`±hñj?9Nœ€h“ œ"š"÷öìCnw·—ºn‘ÿÞrH‘%­6- y%qÈá< 
    555 Îuü¢ 
    556 üÂ*ŠÚN_X×1c4¿ØîŸŽ¯¡í³'œh”2Licá¡ÒÚhÑ2gŒžhòA>Ÿzòì%ÜrÅ€‚Æ«›—á̚Î^\]ÿuó—KŸ9Áu{x}ÙH«7‡KÉ7?îïñçÝe§6ìöòoW¿öÒ]t¬3ÂàPíE#8s­ã~«70Â.i“ÑñŽi« Ð#Ùš~„k×ý%Ï7 yOHÇ:Ë;êø]ËÐÝy.P 
    557 ºàŽýí‡| kwžnóHÄïBøÛ#ÜÚͶNJÝ5Ÿ—~CžÅ׳Bà  B<ƒëÚ3á›-úŒ~ßzùæõTH×2+µ€O8ê+žškêâÚâԎQ陈áîáŒé·’ɁÍtþ“y    ÇŽäœ:Ü¿2éïZ$6 
    558 8ÀE#; ZՂrÎ:­ƒf̊â@±.%Ýæêæ 
    559 Íi·‰‰'{ 
    560 z)Zž‡ 
    561 =þÜnÞÞÅ 
    562 =ã=­œóÖ\r·Ù 
    563 ï±á]hÀžSš@ÿ8¿žÛ›=‘ÛrnýC9ÎîïØºóJE<x 
    564 ð$±/2 £cÿþÞҝ˜G¹è 
    565 î7Ø¥ 
    566 dâqcà-1~4ýeƒ:#Â$â6@ºW 
    567 ÿɧWÉ®pkX«Z0 
    568 n4—Áø`ÓÃk¢ùSf†}“wðf(×­é°(ȟa:ßÀõÅgãiÐ^Ñ:5šÆÈ&ªeæ¢5 °P%óé" 
    569 °£òq=šÇax;REDÓ÷ 
    570 VcºwðmŽ?H؇Ÿ@w·×$Z€ûžï¶4t®„#̔Õà„:wéý2zÓa——N·‚9ÙÊå¥KTËÌu«Y' 
    571 ,™o{²>JrŠ 
    572 påþ ¿q ¥  
    573 C·ƒÝÀ9vJv¥ÉzŽ”rsBÒýýàvðå>ž‘k²¡YKԐþ10: 
    574 „ÏH~ڝqŸ±ðŠà®¶ŒÂf-ØrÓ       Æ_YÅDÞdôÓ-0 
    575 teûu!Òå 
    576 Æ»/-s! /Èc{eŸI:•~ßC†#öÙ¢"ŒÛ;Z—ëéºÐ#Œûðˆ^ãmZ„ߎ 
    577 “A›¥eU!Âé„w®5d:ˆŸ€­Ì‡¡YÌB©›ßÀœþU³ú¿Nž¢ ¢rXLž>ƒë{ž^Òóàú”ÞEš+ž>§wøüez_ፓú©là©!­á›-NìWÔ\9ŽÏ0Œã’ÕűfÁ¹Í?’$éú,Pì‰ùw­nÇŸß͉öÓ4Jjü­ZX4g§ý&M3š]4ñ:lz 
    578 áêq£òÇ«˜p®»ÐÎ1!•^uŒDßä 
    579 *Žw<,Η"£aÂ!œ+=°b¶Uj4Ÿ‰&ªåY€“fBÀž*fQ3«O+¡,d\Ø,.ýЕž,ŠÅ¿ùÆÔÊÀú 
    580 ž_ïÐÔk‘Å«»œt»ƒW·&dG1.óPŒ,²A+ÒïԄ‚@\Û®Ôpï<ºÍ‹g/>ҏðÉM,e7rHyŒ 
    581 äŸ­_{BxFå}ŒÑP÷Ɂº$Ðße[ó?ÑÄžZ–q5t©-4І‡X6ë‘1J·“ñ¶ýi‡!šjË 
    582 (A™‰D§ñóx»²Ù<’jEó)Œ+ËTmÑ=ÚΑrý’æ{dÄ;ÚÄt 
    583 R`È·*û 
    584 r|È~ÿ+N‚ÑÔУÛÍW4,©âÝXìÒ„ß>*â?§I©’\ªQXn€u£Ý/†Ýh]²ßp‹ûÎvµôÌ7v PŸÞ 
    585 ¢¥²ƒŽv&ß–³¶ 
    586 `fÉ€éÖ¢œHÞdôSs; 
    587 t-Úk¹+ç0‰öˆh‘³lp¥UÁù†Ö÷žõ‡ 
    588 åzX 
    589 ¶0n–ìÙ©l«ÖBŽd 
    590 \©Ý4ž˜ÖB:欉şW)rôÕ$Ž ?vœ(á-hœÐ#› 
    591 ”ê8˜\ŽzڒճS«çf­žMV¯0Í 
    592  
    593 ·5 ïÀü> £$ ᙌåH% û 
    594 R AªeŠK·¢—‰ŸÉ;LÕc2ì²fJIƒ 
    595 ü®œÆH5Õ 
    596 s¥™U)™/æ"¥> 
    597 -‹GЌr>[žŸ÷œ?l].°€‘»§ugƒ‰°MÕÊÿ­³ÆÅh­Ï’ð‡c™îœþ% 
    598 N`^Èá ÓB      Ð$P€– *pØEFz>·wøÿ«»]š–_ 
    599 2¹wp·Ûcëýé܊y# 
    600 jÅàäPöý}h˜V!oýTpCŸÉ}Žša«Šëèl\îlÆŠÐHfDËß¿6ï7 
    601 ‹tŠ£žY?¬Õtý4»|9›$u—»Œ^ŸZœ§ìëÀ`5ÎG\4|M(Ç:4+mªì 
    602 I°WùöÙÍx—êÝ€©ÕÌkŒeYŒâ38ÖÉÒ|JŽBÓY1r q[XžÀÙûžátXï×DÀ0#«`hy3éÚEÌ:f¶gÈՁ'7Ý>ÖÎJ˜v"Š~GøêçxpåžM8ÁDùP>·bPæd9ãùÉò ›EúÐËczLÆù!Pìþás²{ªÜZ>h®å 
    603 ‡ 
    604 !^d#]ϕ 
    605 ”n™‘ÝZ].’79ýÄ'MEHŸô;òëxJST     ZË,ø»Ñ,F1Q-3çŽtÒʒûX•ð 
    606 Ž‘ž¶€ƒÊ¯Hxûà
    607 P÷v0r‚W\Pm!†5ÙJøw7ñè 
    608 ZË¢ì~P oïDò»é¡’?O¢0ÿMæ¯G3 ·!Ž?y¿â_ECÛS–^úJš.7û~ëíólqQ     Ø2°?£ž˜1_\LT1ò­™üïÉÅFèvÔÞÓóip³ŸÀõœb‚çÔï¿ 
    609 ëkŠ 
    610 ž†0ã 
    611 Òp}Eκb„ñǙnug?ªÍYÒç,iÚ 
    612 ø›!ミšy?{ 
    613  
    614 @˜,ÜS 
    615 Hî7ÞÜŠd¯š}8˜téTûÿ 
    616 Gp‹Œ;}Þc&eڄiÇcìèTBÈ[Ü~ßÄMñ ÄTå.I£ÌîH®˜2€ã‡ï|ˆùý‘šþCû£ 
    617 |€ù’Àÿ–Fý„Ö 
    618 ?Èø8 ¿‰|pËÃZÕjå?sÒ9à,`&3ÿÕeÃ!ÕXšá»rñÛR?ìÛ.MÏT/1)œâ›tR'ŠÌ»RÖÃð%MðÃÁ¯}blг¢&D·3ŸÚ쌻Ŏь‰¬ 
    619 °ËšfÎÇbQZa¬PjދàìŠÞŸ‚Q:þœ‹°a:<þZDñó ”[ÖgŸjNf0ogÀ=J¬ÒŸ¯
    620 ŸµAd\š|xoƒž*0Î á—Ã,èøÚNâ>Ø;BC¯¥ù6‰jÊw®_)»’ï)}²‹>6ÂMŸ>4ÖÏó¹%KÚ:&µ“+ˆdTKˆD²uD–ØfˆŒùÎ ’óß\ý\d„÷I3 
    621 Õ„LNµ€L"[Ef‘í€Ì„o 
    622 ™‚ï)žŠú̜è`Õ$×jEôŒjIôH¶.úÛLô1ßÑsŸg(Åùè˜I·Î@Ž„ 
    623 Q­C³À3CfÄt˜Œia·«ÂjSzEڌjIÜH¶.ïÛLà1߉sŸgšÂ:*·Íù 
    624 *Õ*‘l 
    625 •%¶*cŸ3šä|'埪ØBáfEìŒjIìH¶.öÛLì1ß±sŸg(ÃyÈð?j+ÈdTKÈD²ud–ØfȌùÎ “ó-Å>     ÞHC[F"§Z@"‘­"±Èv@b·ŽDÁ÷œuä=Àr‚q£W¢¯œj        ¬H¶ÖÛ ¬1ß°rŸ7)      áÕ¬     Åò?Ç:—EÏš–Ddë¢/±ÍDó=ç{æ    Fƒ_j8üø:ÿí L‚Lù 
    626 €QË9ž§ð5÷Ó6/õd^>‹¶<|vO£Šrm<“Àj{hêÃOö=„¯ÈV@!ÁZžt(µ^
    627 NHÇd~ŠŒ}“x 
    628 <÷/Ë?àÅP4’þ˜à]xðG/S _ hQÖ2ä"ƒvš×«é” ÇoWN©ˆ 
    629 Ykís™ŽµCk몗N 
    630 2¢Êg¹Ô͊4NVNŸåŽdTá÷ohy›Ûendstream 
    631 endobj 
    632 161 0 obj << 
     577xÚÝYoÇùÝ¿BɃAæfçÚÃA 8N슠
     578#UQ®!¬©ÅF$’¶ë&ùïý®™Ùƒ”’>Âj¯oŸûœ¥:ËáO•6³yíÎʪΊ©³ÅúQ~¶„w/)±¶È¬+Jžy;¯çºÌªÚÙ1(UgµvfEm3clu6/ ••E]"ÔWŸxáŠ3XYèâìâúLå6sŠn=ØÅ՛™:Ÿ;mf¯ÏÕì 
     579ßÃñŽÁѱ€ãÀ €ËK8>±ƒ£ãNžáýŽ= 
     580ÿÌ]§{bldõ²[-,ý|þöâ/ á\©¬vN»ú|®\yoì;yŒ˜ßÃqK¯Õl–èù„l™RUDÕÕ+Yú^–ßúQYT‚Ytrb}'{Χ/ÇT` 
     581™¬ØtâÆÄõ‘åîŽ,SZÕMѳÈ3áûÈ| ^’êï<ù 
     582ßÑ1-\9®›•s)[qãËÄbÞú  
     5833HõŸ€SL3¿ 
     584ÖtMç.Ó:·) ŠÙ¯·ûì|hž¥ˆÿ:Òÿ^Ÿ»ß·QÝ×'Ý+ó&€€N­fŸ‹bžö²Åç‚äqÏy·Ž ‹¿ÂÝßáøŽ—"Àµ\   ³£&RlPÒÏÏcºU 
     5855ºPõ=Ü1fô2J)—Î|)êÙ·d~—¢h‡ûÇ­ 
     586ÛÈWc 
     587Ä0Þp«è 
     588YdB 
     589Ëjk†Ê~ÒEúÄ?„ä×b7ŒŸ¯$¿éÀ å‡GW0ï€Á¬Øc#®è5¹ŠŽxÇlxüGÈŒo³MZ 
     590r¢)Šr6§eìÂίÇx.h<xÖ/pù _~®ŸÄ3VѳK©$+     £VôÑ÷‚ý0lSÂÁŠi”1+ª‚dgKåîÅdß*÷cŠ¿ªÏãÿ,!Ôœx`ÙVœš=%:՟K#nÛLñ¥9‘øÒc|Łð0>îã:o$1Œªü:Jª¿N       ã¶ñžâÊۏtš©ýžœ€º;žk4gÅ#lN5Œcî÷B(o 
     591ÑËã2åÝé„ä5Åa 
     592G fÇ«`§        7™Á~Gõ˜*üQ÷ì 
     593øu”ë¿–ró 
     594ŽäúÅéTrÊÜÅžÛvj*{þpmïHö£]r¬ŠI*ÆÑÏUO§àëc͋‰’Æÿ­ÙÌ©lcF²ÍˆÙÒQbrࣔ€ðDë‹U4IÏéFvå²Ú憖\ÜðeÀ‡s]‘Pwh•Y»nîÈs£s²9%ˆ5cN†ôªÊJ¥ 
     595àqn„ýuÔedÒOŠÎJí×5»ŽºÜ3#[Êí«tâó<mwž "Ýô^uÍš.g}ÝY2 
     596Ûšµ"äöš‘-¶@ž€ÔÖ> 
     597ÖÁ”3¥çs?A80˜c 
     598͆ ]›<CÈjö]Àʓ²&3h'íJÐõkV   ŸG&tÇ’ €Çv'Z 
     599ò£«Zb– ºCË(e²2¯¬šž«CSš*s®ð€×B 
     600)/|ãO†@)u