+
    Y°³j8  ã                   ó  € ^ RI t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIH	t	H
t
HtHt ^ RIHtHt  ! R R4      t ! R R	]	4      t]P$                  P'                  R
]].4      ]P$                  P'                  RRR.4      R 4       4       tR# )é    N)Údeepcopy)Únorm)ÚTestCaseÚassert_array_almost_equalÚassert_array_equalÚassert_array_less)ÚBFGSÚSR1c                   ó@   a € ] tR t^t o RtRR ltR tR tR tRt	V t
R# )	Ú
Rosenbrockz�Rosenbrock function.

The following optimization problem:
    minimize sum(100.0*(x[1:] - x[:-1]**2.0)**2.0 + (1 - x[:-1])**2.0)
c                óª   € \         P                  P                  V4      pVP                  R^V4      V n        \         P
                  ! V4      V n        R# )é   Néÿÿÿÿ)ÚnpÚrandomÚRandomStateÚuniformÚx0ÚonesÚx_opt)ÚselfÚnÚrandom_stateÚrngs   &&& Úr/home/luca/screen-checking/.venv/lib/python3.14/site-packages/scipy/optimize/tests/test_hessian_update_strategy.pyÚ__init__ÚRosenbrock.__init__   s9   € Ü�i‰i×#Ñ# LÓ1ˆØ—+‘+˜b ! QÓ'ˆŒÜ—W’W˜Q“ZˆŽ
ó    c                óÞ   € \         P                  ! V4      p\         P                  ! R VR,          VRR R,          ,
          R,          ,          ^VRR ,
          R,          ,           ^ R7      pV# )g      Y@:r   NNNg       @)Úaxisr   )r   ÚasarrayÚsum)r   ÚxÚrs   && r   ÚfunÚRosenbrock.fun   sX   € Ü�JŠJ�q‹MˆÜ�FŠF�5˜A˜b�E A c r F¨C¥KÕ/°#Õ5Õ5¸¸Q¸sÀ¸V½ÀcÕ8IÕIØôˆàˆr   c                ó  € \         P                  ! V4      pV^R pVRR pVR,          p\         P                  ! V4      p^ÈW#^,          ,
          ,          RWB^,          ,
          ,          V,          ,
          ^^V,
          ,          ,
          V^R% RV^ ,          ,          V^,          V^ ,          ^,          ,
          ,          ^^V^ ,          ,
          ,          ,
          V^ &   ^ÈVR,          VR,          ^,          ,
          ,          VR&   V# )r   Nºé   NNé�  r   éþÿÿÿépþÿÿ)r   r!   Ú
zeros_like)r   r#   ÚxmÚxm_m1Úxm_p1Úders   &&    r   ÚgradÚRosenbrock.grad   sÕ   € Ü�JŠJ�q‹MˆØˆq�ˆWˆØ�#�2�ˆØ�"•ˆÜ�mŠm˜AÓˆØ˜B¨¥�MÕ*Ø˜E¨¥E�MÕ*¨RÕ/õ0Ø23°q¸2µvµ,õ?ˆˆAˆbˆ	à˜˜!�•  !¥ q¨¥t¨Q¥w¥Õ/°!°q¸1¸Q½4µxµ.Õ@ˆˆA‰Ø˜˜2�  2¥¨¥Õ)Õ*ˆˆB‰Øˆ
r   c                ó*  € \         P                  ! V4      p\         P                  ! RVRR ,          ^4      \         P                  ! R VRR ,          R4      ,
          p\         P                  ! \	        V4      VP
                  R7      pRV^ ,          ^,          ,          R V^,          ,          ,
          ^,           V^ &   ^ÈVR&   ^ÊRV^R ^,          ,          ,           R VR,          ,          ,
          V^R% V\         P                  ! V4      ,           pV# )r*   N)Údtypei°  r(   r,   r   )r   Ú
atleast_1dÚdiagÚzerosÚlenr5   )r   r#   ÚHÚdiagonals   &&  r   ÚhessÚRosenbrock.hess*   sÐ   € Ü�MŠM˜!ÓˆÜ�GŠG�D˜1˜S˜b˜6•M 1Ó%¬¯ª°°a¸¸°fµ¸bÓ(AÕAˆÜ—8’8œC ›F¨!¯'©'Ô2ˆØ˜Q˜q�T 1�W•n s¨Q¨q­T¥zÕ1°AÕ5ˆ�‰Øˆ�‰Ø˜t a¨¨" g¨q¥jÕ0Õ0°3¸¸2½µ;Õ>ˆ��2ˆØ”—’˜Ó!Õ!ˆØˆr   )r   r   N)r)   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r%   r2   r<   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s#   ø‡ € ñô ò
ò
÷ð r   r   c                   ó>   a € ] tR t^5t o R tR tR tR tR tRt	V t
R# )ÚTestHessianUpdateStrategyc           	     óž  € ^p\         P                  ! . R	O. R
O. RO. RO. RO.4      pR\         P                  ! V4      3^\         P                  ! V4      ^,          3\         P                  ! ^V^,           4      \         P                  ! V4      ,          \         P                  ! ^V^,           4      \         P                  ! V4      ,          3W"33pR Fõ  pV Fì  w  rV\	        VRRR7      \        VRR7      3pV FÆ  pVP                  W4       VP                  4       p	\        V	\         P                  ! V4      4       \        V\        4      '       d
   VR8X  d   Kc  VP                  \         P                  ! V4      R,          \         P                  ! V4      R,           4       VP                  4       p	\        W–4       KÈ  	  Kî  	  K÷  	  R# )é   Úautogšd~ÅQJÚskip_update)Ú
init_scaleÚmin_curvatureÚexception_strategy©rM   Úmin_denominatorgñhãˆµøä>gš™™™™™É?N)é+   é   é!   é"   é1   )rS   é$   é,   é   rX   )rT   rX   é%   r   é   )rU   rY   r   rJ   é.   )rV   rX   r[   r\   é   ©r<   Úinv_hess)r   ÚarrayÚeyeÚaranger	   r
   Ú
initializeÚ
get_matrixr   Ú
isinstanceÚstrÚupdater   )
r   ÚndimsÚsymmetric_matrixÚinit_scalesÚapprox_typerM   Útrue_matrixÚquasi_newtonÚqnÚBs
   &         r   Útest_hessian_initializationÚ5TestHessianUpdateStrategy.test_hessian_initialization8   sk  € àˆÜŸ8š8Ò%9Ú%9Ú%8Ú%7Ú%9ð	%;ó <Ðð ”R—V’V˜E“]Ð#Ø”—’�u“ Õ!Ð"Ü�YŠY�q˜% !�)Ó$¤r§v¢v¨e£}Õ4Ü�YŠY�q˜% !�)Ó$¤r§v¢v¨e£}Õ4ð6àÐ0ð3ˆó 0ˆKÛ+6Ñ'�
ô !%°
Ø37Ø8Eô!Gô !$¨zØ48ô!:ð ;�ó '�BØ—M‘M %Ô5ØŸ™›�Aä& q¬"¯&ª&°«-Ô8ä! *¬c×2Ò2°zÀVÔ7KÙ à—I‘IœbŸgšg e›n¨tÕ3´R·Y²Y¸uÓ5EÈÕ5KÔLØŸ™›�AÜ& qÖ6ó 'ó ,7ó 0r   c                ó|  € ^p\        R4      R\        3\        P                  ! . R	O4      P	                  \        P
                  4      R\        3\        P                  ! . R
O. RO. RO.4      P	                  \        P
                  4      R\        3\        P                  ! . RO.4      \        P                  ! R4      \        3\        P                  ! . R
O. RO. RO.4      \        P                  ! R4      \        33pR F£  pV Fš  w  rEp\        VR7      \        VR7      3pV Fv  pVP                  W4       \        P                  ! WeR7      ;_uu_ 4        VP                  \        P                  ! V4      \        P                   ! V4      4       RRR4       Kx  	  Kœ  	  K¥  	  R#   + '       g   i     K•  ; i)é   g…ëQ¸	@zFfloat\(\) argument must be a string or a (real )?number, not 'complex'z3init_scale contains complex elements, must be real.z`If init_scale is an array, it must have the dimensions of the hess/inv_hess: (3, 3). Got (1, 3).z}If init_scale is an array, it must be symmetric (passing scipy.linalg.issymmetric) to be an approximation of a hess/inv_hess.©rM   )ÚmatchN)gš™™™™™	@gffffff@g333333ó?)rR   rS   rT   )rS   rW   rX   )rT   rX   rZ   )rR   é7   éB   )gš™™™™8@rW   rX   r^   )ÚcomplexÚ	TypeErrorr   r`   ÚastypeÚ
complex128ÚreÚescapeÚ
ValueErrorr	   r
   rc   ÚpytestÚraisesrg   r   rb   )	r   rh   Úinits_msg_errtyperk   rM   ÚmessageÚ	errortyperm   rn   s	   &        r   Útest_initialize_catch_illegalÚ7TestHessianUpdateStrategy.test_initialize_catch_illegalc   sz  € Øˆä% d›mð?ä'ð)ô
 !Ÿhšh¢Ó7×>Ñ>¼r¿}¹}ÓMð.ä'ð)ô
 !ŸhšhªÚ(6Ú(6ð(8ó 9ç9?¹ÄÇÁÓ9Nð.ä'ð)ô !Ÿhšhª ~Ó6Ü Ÿišið#1ó2ô )ð*ô !ŸhšhªÚ(8Ú(6ð(8ó 9ô !Ÿišið )Vó Wô )ð*ð5!ÐóD 0ˆKÛ2CÑ.�
 Yô !%°
Ô ;Ü #¨zÔ :ð <�ó '�BØ—M‘M %Ô5ÜŸš y×@Ö@ØŸ	™	¤"§'¢'¨%£.´"·)²)¸EÓ2BÔC÷ AÑ@ó 'ó 3Dó 0÷ A×@Ð@ús   Å;F*Æ*F;c                ó  € \        ^R7      p. . R
ON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. RON. R ON. R!ON. R"ON. R#ON. R$ON. R%ON. R&ON. R'ON. R(ON. R)ON. R*ON. R+ON. R,ON. R-ON. R.ON. R/ONpV Uu. uF  q1P                  V4      NK  	  pp\        \        V4      ^,
          4       Uu. uFG  p\        P
                  ! W%^,           ,          4      \        P
                  ! W%,          4      ,
          NKI  	  pp\        \        V4      ^,
          4       Uu. uF  pWE^,           ,          WE,          ,
          NK!  	  pp\        Wg4       F*  w  r‰\        P                  ! W‰4      ^ 8:  g   K"  \        4       h	  \        ^RR7      \        ^R7      3 EF,  p
\        V
4      p\        V
4      pVP                  \        V^ ,          4      R4       VP                  \        V^ ,          4      R4       \        Wg4       Fr  w  r‰VP                  W‰4       VP                  W‰4       VP                  4       pVP                  4       p\        \        P                   P#                  V4      V^
R7       Kt  	  VP%                  V\        V4      ,          4      p\'        \)        XV,
          4      \)        V4      ,          R4       EK/  	  R	# u upi u upi u upi )0rJ   ©r   g-Cëâ6?©rM   rN   rt   r<   r_   )Údecimalgš™™™™™¹?N©g7ã4Dþ¸?gšGYS‹Û?gþ6zë²NÊ?gÂmÈšìú¶?g`â4é[‹Ã¿©gÆ¥b¥Ç?g@Òñâå©?gL#i_/Ë?gVä!�Ëš?gUž';‰JK?©gZW–‰lË?gÇIaÞãL“¿g:ß™²Ë©?gÑe …¡Ä¡?gîë~Q¡?©g—Œc${„Ê?g §ùt†ó’¿g
	bêøy¡?gÅÀ„:‡Œ¿gQ½5°U‚�?©g½f¾ƒŸÃ?g$+¿Æˆ ¿g~¯Wý¶œ?gº=÷Ô �¿gð>¢¶ËŽ?©g)	·Æ±Á?g�]³¦ÃTœ¿g÷10<@A›?gåñ´üÀU~¿g£½¥@°œ?©gBLxø!%Å?gÓ–„Ut¿gŸ¯Y.�›?giÆ¢éìdp¿gäûþå•?©gBí·v¢$Î?g`lÆÏ·¦?gšƒV;Ð‘?g¾-ýð˜&q?gëøgÌE€?©g§�ef­Ú?gé6—Ñ~ZÂ?gaK4íá†?gÉè€$ìÛ‰?gØPƒÌBùz¿©g–
…cñöÝ?g8Î·OØ�Ë?gl÷asÄ—?g6SÆdF�?gÓ¾ÚÍcÿr¿©g¸éFã?gÛàDôkkÕ?gnü®c·²?g®ë¼2“?g;‘ŽÇon¿©gî‡ŽÓÆ‡ä?gž:ûoÊ�Ù?gÎ²ÝóÀ?g£Íqnî•?gµ›lE“rD¿©gÇÔ]Ùè?gv»á¯ná?gÿÜáÀõòÑ?gßLñ]ï£«?gÇþhî×c?©g^Ò½ó0Ùç?gÛnÝ(â?g-^q'GÕ?gk‡àÝ%¶?gÏ¬[ó™¢r?©g?IË’Êé?gÍõlðå?g(ÙE,½Û?gÎ’Z(™Â?gÄÕ;» „?©g±}éÈ[ë?ge(åÿç?g1ûºÂñß?g÷i&)úÎ?gÄ=·L]dœ?©gBÊš¢më?gåÍ†¡zPç?gJê©zžäà?g«†·½Ò?gŽøÜ à®?©gLD®Š&Fì?g’Á›ºè?gÃJ`ÎÇã?gÆ-‹.ÕÕ?gosí§µ¸?©g¬™kí?gKû0Œ�ê?g³Z�!«å?g61n´-Ü?gä¾öHZ\Æ?)gAÇýýií?gºÙ(ë?g¶?aš3ìæ?g<0€ð¡Dà?g5Œí{µÐ?)gFÛççüí?g’¤µ³ù	ì?gÄ§J¥é}è?g{úcµTyâ?g*—�°Š˜Ô?)g#ÿ‚“#“î?go©9//í?g*�Y\-�ê?g¿ÿE†¯å?gÌ¶²ÈŸÛ?)gŽ)³œß‹î?gb‹8øí?gÏßßûvê?g%“S;ÃÔå?gžUn»óÜ?)gÖóX€ ï?g]¥»ëìí?g|x;gðë?g*#ð,&è?gjmùÌ‚â?)goˆÌ¦-ï?g„Š`ÒÎ_î?gŒÖQÕÑì?g_ríUuàé?gWéI¤ä?)g›âqQ-bï?guü%Øî?gAÍÚ·¤´í?gå
ïrŸë?gƒÉºžç?)g$Y,ê8£ï?gÌ	ÚäðIï?gm±–î?gŠÝˆ8ç1í?gÐ¨Ž�õxê?)gÙâ¿åV­ï?g÷òñ¿K_ï?g _¥ÌÅî?gY‹O0ží?gÐÇêŒvë?)g'Ý–Èçï?g¶GÿËï?g„ ‘ï?gãÂ��, ï?g_™–Ü1î?)gÊíMÂ;ïï?gèo�Útßï?guÍ?Uà¿ï?gºùFtÏzï?gm
ž! ëî?)g€™”'µüï?gI}þ ÷ï?g8Xî»Øêï?g;tÕ— ×ï?g¿@sJþ¯ï?)gºÛõÒð?gfÃõƒð?gt§…ÜVð?g—¸Däªð?g,ÔýÙð?)çÛÍBñÿï?gE1Ô¼þï?gjÂö“1þï?g¯œíLüï?gAäãÉ$ùï?)gÖ”¿Ö  ð?g(ñ¹ìÿï?g—Pf(“ÿï?r�   gW‹ºœ3þï?)gkÊ_k  ð?gsÇQoüÿï?ç›ò×  ð?g½`&@ ð?g�Ø@ ð?)gõ…�óþÿï?gÐ×‡P  ð?g½7†  ð?rž   g‰;æU  ð?)çËPÊÿÿï?g`Pð^ÿÿï?g¿ à½þÿï?g´&q±ýÿï?g»£ƒûÿï?)rŸ   rŸ   rŸ   rŸ   gƒ~®Ïÿÿï?)r   r2   Úranger9   r   r`   ÚzipÚdotÚArithmeticErrorr	   r
   r   rc   rg   rd   r   ÚlinalgÚinvr<   r   r   )r   ÚprobÚx_listr#   Ú	grad_listÚiÚdelta_xÚ
delta_gradÚsÚyrm   r<   r_   ro   r:   ÚB_trues   &               r   Ú!test_rosenbrock_with_no_exceptionÚ;TestHessianUpdateStrategy.test_rosenbrock_with_no_exception”   s¸  € ä˜AŒˆð%LÒKð %LÚJð%LâKð%Lò Mð%Lò Mð	%Lò
 Mð%Lò Mð%Lò Kð%Lò Lð%Lò Lð%Lò Lð%Lò Lð%Lò Kð%Lò Kð%Lò Kð%Lò Kð%Lò  Kð!%Lò" Kð#%Lò$ Kð%%Lò& Kð'%Lò( Kð)%Lò* Kð+%Lò, Kð-%Lò. Kð/%Lò0 Kð1%Lò2 Kð3%Lò4 Kð5%Lò6 Kð7%Lò8 Kð9%Lò: Kð;%Lò< Kð=%Lò> Kð?%Lò@ KðA%LòB KðC%LòD KðE%LòF KðG%LòH KðI%LòJ KðK%LˆñN ,2Ó2©6 a—Y‘Y˜q–\©6ˆ	Ð2ä!¤# f£+¨a¥-Ô0ó2Ù0�qô —8’8˜F Q¥3�KÓ(¬¯ª°&µ)Ó)<×<Ð<Ù0ð 	ð 2ô  %¤S¨£^°AÕ%5Ô6ó8Ù6˜!ð   !¥•n Y¥\×1Ð1Ù6ð 	ð 8ô ˜Ö,‰DˆAÜ�vŠv�a‹|˜qÖ Ü%Ó'Ð'ñ -ô "¨Q¸dÔCÜ ¨AÔ.ô0ˆLä˜LÓ)ˆDÜ Ó-ˆHØ�O‰OœC  q¥	›N¨FÔ3Ø×Ñ¤ F¨1¥I£°
Ô;ä˜GÖ0‘�Ø—‘˜AÔ!Ø—‘ Ô%Ø—O‘OÓ%�Ø×'Ñ'Ó)�Ü)¬"¯)©)¯-©-¸Ó*:¸AÀr×Jñ 1ð —Y‘Y˜v¤c¨'£lÕ3Ó4ˆFÜœd 1 v¥:Ó.¬t°F«|Õ;¸S×Aó0ùò 3ùò2ùò8s   Â+K;Ã#AL Å%Lc                ó   € \        ^R7      p. RO. RO. RO. R	O. R
O. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO.pV Uu. uF  q1P                  V4      NK  	  pp\        \        V4      ^,
          4       Uu. uFG  p\        P
                  ! W%^,           ,          4      \        P
                  ! W%,          4      ,
          NKI  	  pp\        \        V4      ^,
          4       Uu. uF  pWE^,           ,          WE,          ,
          NK!  	  pp\        ^RR7      pVP                  \        V^ ,          4      R4       \        \        V4      ^,
          4       F$  pWe,          p	Wu,          p
VP                  Wš4       K&  	  \        P                  ! VP                  4       4      pV^,          p	V^,          p
VP                  Wš4       \        P                  ! VP                  4       4      p\        W¼4       R# u upi u upi u upi )rJ   r‡   g{®Gáz„?rP   r<   NrŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   )r   r2   r    r9   r   r`   r
   rc   rg   Úcopyrd   r   ©r   r¦   r§   r#   r¨   r©   rª   r«   r<   r¬   r­   ro   Ú	B_updateds   &            r   Útest_SR1_skip_updateÚ.TestHessianUpdateStrategy.test_SR1_skip_updateÙ   s«  € ä˜AŒˆâKÚJÚKÚLÚLÚLÚLÚJÚKÚKÚKÚKÚJÚJÚJÚJÚJÚJÚJð%Lˆñ( ,2Ó2©6 a—Y‘Y˜q–\©6ˆ	Ð2ä!¤# f£+¨a¥-Ô0ó2Ù0�qô —8’8˜F Q¥3�KÓ(¬¯ª°&µ)Ó)<×<Ð<Ù0ð 	ð 2ô  %¤S¨£^°AÕ%5Ô6ó8Ù6˜!ð   !¥•n Y¥\×1Ð1Ù6ð 	ð 8ä˜a°Ô6ˆØ�‰œ˜F 1�I›¨Ô/ä”s˜7“| A•~Ö&ˆAØ•
ˆAØ•ˆAØ�K‰K˜Öñ 'ô
 �GŠG�D—O‘OÓ%Ó&ˆØ�B�KˆØ�r�NˆØ�‰�AÔÜ—G’G˜DŸO™OÓ-Ó.ˆ	Ü˜1Ö(ùò% 3ùò2ùò8s   ÁHÂAHÃ0%Hc                óØ  € \        ^R7      p. RO. RO. RO. RO. R	O. R
O. RO.pV Uu. uF  q1P                  V4      NK  	  pp\        \        V4      ^,
          4       Uu. uFG  p\        P
                  ! W%^,           ,          4      \        P
                  ! W%,          4      ,
          NKI  	  pp\        \        V4      ^,
          4       Uu. uF  pWE^,           ,          WE,          ,
          NK!  	  pp\        ^^
R7      pVP                  \        V^ ,          4      R4       \        \        V4      ^,
          4       F$  pWe,          p	Wu,          p
VP                  Wš4       K&  	  \        P                  ! VP                  4       4      pV^,          p	V^,          p
VP                  Wš4       \        P                  ! VP                  4       4      p\        W¼4       R# u upi u upi u upi )rJ   r‡   rˆ   r<   NrŠ   r‹   rŒ   r�   rŽ   r�   r�   )r   r2   r    r9   r   r`   r	   rc   rg   r²   rd   r   r³   s   &            r   Útest_BFGS_skip_updateÚ/TestHessianUpdateStrategy.test_BFGS_skip_update  s‡  € ä˜AŒˆâKÚJÚKÚLÚLÚLÚLðNˆñ ,2Ó2©6 a—Y‘Y˜q–\©6ˆ	Ð2ä!¤# f£+¨a¥-Ô0ó2Ù0�qô —8’8˜F Q¥3�KÓ(¬¯ª°&µ)Ó)<×<Ð<Ù0ð 	ð 2ô  %¤S¨£^°AÕ%5Ô6ó8Ù6˜!ð   !¥•n Y¥\×1Ð1Ù6ð 	ð 8ä˜q°Ô3ˆØ�‰œ˜F 1�I›¨Ô/ä”s˜7“| A•~Ö&ˆAØ•
ˆAØ•ˆAØ�K‰K˜Öñ 'ô
 �GŠG�D—O‘OÓ%Ó&ˆØ�A�JˆØ�q�MˆØ�‰�AÔÜ—G’G˜DŸO™OÓ-Ó.ˆ	Ü˜1Ö(ùò% 3ùò2ùò8s   ¨GÁ AG"Ã%G'© N)r>   r?   r@   rA   rp   r„   r¯   rµ   r¸   rC   rD   rE   s   @r   rH   rH   5   s*   ø‡ € ò#7òV/DòbCBòJ*)÷X)ð )r   rH   Ústrategyrk   r<   r_   c                 ó®   € V ! ^R7      pVP                  ^V4       \        P                  ! ^^.4      p\        W#,          VP	                  V4      4       R# )r   rt   N)rc   r   r`   r   r¢   )r»   rk   r:   Úvs   &&  r   Útest_matmul_equals_dotr¾   &  sB   € ñ 	˜AÔ€AØ‡L�L��KÔ Ü
�Š�!�Q�Ó€AÜ�q•u˜aŸe™e A›hÖ'r   )r|   r²   r   Únumpyr   r   Únumpy.linalgr   Únumpy.testingr   r   r   r   Úscipy.optimizer	   r
   r   rH   ÚmarkÚparametrizer¾   rº   r   r   Ú<module>rÅ      s„   ðÛ 	Ý ã Û Ý ÷Bó Bç &÷&ñ &ôRn) ô n)ðb ‡�×Ñ˜ d¨C [Ó1Ø‡�×Ñ˜¨°Ð(<Ó=ñ(ó >ó 2ò(r   