ó
    "EñinR  ã            #       ó€  • S SK Jr  S SKrS SKJr  SSKJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJr  SS/r " S S\5      rS	S
\ S\ S\ S\ S3	-   \l               S$S\\   S\\   S\\   S\\   S\S-  S\S-  S\S-  S\S\S-  S\S\S\S\S\S\S\SS4"S jjrS  rS\\   S\\   S\\   S\\   S\S-  S\S-  S\S\S\S\S\S\S\S\SS4S! jrS\\   S\\   S\\   S\\   S\S-  S\S-  S\S\S\S\S\S\S\S\SS4S" jrS\\   S\\   S\\   S\\   S\S-  S\S-  S\S\S\S\S\S\S\S\SS4S# jrg)%é    )ÚcastN)ÚTensoré   )Ú_default_to_fused_or_foreachÚ_device_dtype_check_for_fusedÚ_differentiable_docÚ_foreach_docÚ_get_scalar_dtypeÚ
_get_valueÚ_maximize_docÚ_params_docÚ
_to_scalarÚ_use_grad_for_differentiableÚ_view_as_realÚ	OptimizerÚParamsTÚAdagradÚadagradc                   ó¶   ^ • \ rS rSr      SSSSS.S\S\\-  S\S\S	\S
\S\S-  S\S\S\S-  SS4U 4S jjjjrU 4S jr	SS jr
S r\SS j5       rSrU =r$ )r   é   NF)ÚmaximizeÚdifferentiableÚfusedÚparamsÚlrÚlr_decayÚweight_decayÚinitial_accumulator_valueÚepsÚforeachr   r   r   Úreturnc          
      óp  >• [        U[        5      (       a  UR                  5       S:w  a  [        S5      eSU::  d  [        SU 35      eSU::  d  [        SU 35      eSU::  d  [        SU 35      eSU::  d  [        SU 35      eSU::  d  [        SU 35      eUUUUUUUU	U
S	.	n[        TU ]  X5        U
(       a+  U	(       a  [        S
5      eU(       a  [        S5      eSU l        U R                   HÀ  nUS    H´  nU R                  U   nUS   (       a*  [        R                  " S[        US   S9UR                  S9O[        R                  " S[        5       S9US'   [        R                  " U5      (       a  [!        XU5      OUn[        R"                  " Xß[        R$                  S9US'   M¶     MÂ     g )Nr   zTensor lr must be 1-elementg        zInvalid learning rate: zInvalid lr_decay value: zInvalid weight_decay value: z)Invalid initial_accumulator_value value: zInvalid epsilon value: )	r   r   r   r   r   r    r   r   r   z)`fused` does not support `differentiable`z0`fused` and `foreach` cannot be `True` together.Tr   r   © ©Úis_fused)ÚdtypeÚdevice©r&   Ústep)Úmemory_formatÚsum)Ú
isinstancer   ÚnumelÚ
ValueErrorÚsuperÚ__init__ÚRuntimeErrorÚ"_need_device_dtype_check_for_fusedÚparam_groupsÚstateÚtorchÚzerosr
   r'   ÚtensorÚ
is_complexÚcomplexÚ	full_likeÚpreserve_format)Úselfr   r   r   r   r   r   r    r   r   r   ÚdefaultsÚgroupÚpr4   Ú
init_valueÚ	__class__s                   €ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/optim/adagrad.pyr0   ÚAdagrad.__init__   sÍ  ø€ ô �bœ&×!Ñ! b§h¡h£j°A£oÜÐ:Ó;Ð;Ø�b‹yÜÐ6°r°dÐ;Ó<Ð<Ø�h‹ÜÐ7¸°zÐBÓCÐCØ�lÓ"ÜÐ;¸L¸>ÐJÓKÐKØÐ/Ó/ÜØ;Ð<UÐ;VÐWóð ð �c‹zÜÐ6°s°eÐ<Ó=Ð=ð Ø ØØ(Ø)BØØ Ø,Øñ

ˆô 	‰Ñ˜Ô*æÞÜ"Ð#NÓOÐOÞÜ"Ð#UÓVÐVØ6:ˆDÔ3à×&Ô&ˆEØ˜8”_�ØŸ
™
 1™�ð ˜W—~ô —K’KØÜ/¸¸w¹ÑHØ Ÿx™xòô Ÿš cÔ1BÓ1DÑEð �f‘ô ×'Ò'¨×*Ñ*ô Ð5ÔQà2ð ô
  %ŸšØ´×1FÑ1Fñ ��e“ó! %ò 'ó    c                 óþ  >• [         TU ]  U5        S nU R                   HK  nUR                  SS 5        UR                  SS5        UR                  SS5        UR                  SS 5      nMM     [	        U R
                  R                  5       5      n[        U5      S:g  =(       a    [        R                  " US   S   5      nU(       d5  U H.  n[        R                  " [        US   5      [        US9S	9US'   M0     g g )
Nr    r   Fr   r   r   r)   r$   r(   )r/   Ú__setstate__r3   Ú
setdefaultÚlistr4   ÚvaluesÚlenr5   Ú	is_tensorr7   Úfloatr
   )r<   r4   r   r>   Ústate_valuesÚstep_is_tensorÚsrA   s          €rB   rF   ÚAdagrad.__setstate__b   sè   ø€ Ü‰Ñ˜UÔ#ð ˆØ×&Ô&ˆEØ×Ñ˜Y¨Ô-Ø×Ñ˜Z¨Ô/Ø×ÑÐ-¨uÔ5Ø×$Ñ$ W¨dÓ3ŠEñ	 'ô ˜DŸJ™J×-Ñ-Ó/Ó0ˆÜ˜lÓ+¨qÑ0÷ 
´e·o²oØ˜‰O˜FÑ#ó7
ˆö Û!�Ü!ŸLšLÜ˜!˜F™)Ó$Ô,=ÀuÑ,Mñ��&“	ò "ð rD   c                 ó†   • U R                    H1  nUS    H%  nU R                  U   nUS   R                  5         M'     M3     g)z6Calls tensor.share_memory_() on the state sum tensors.r   r+   N)r3   r4   Úshare_memory_)r<   r>   r?   r4   s       rB   Úshare_memoryÚAdagrad.share_memoryw   s=   € à×&Ô&ˆEØ˜8”_�ØŸ
™
 1™�Ø�e‘×*Ñ*Ö,ó %ò 'rD   c                 óÈ  • Su  pgUS    HÓ  nUR                   c  M  US   (       a#  [        U SS5      (       a  [        USS9  SU l        XhR                   R                  -  nU[
        R                  " U5      -  nUR                  U5        UR                  UR                   5        U R                  U   n	UR                  U	S   5        UR                  U	S	   5        MÕ     Xg4$ )
N)FFr   r   r2   T)Úcuda_unsupportedFr+   r)   )	ÚgradÚgetattrr   r2   Ú	is_sparser5   r8   Úappendr4   )
r<   r>   Úparams_with_gradÚgradsÚ
state_sumsÚstate_stepsÚhas_sparse_gradÚhas_complexr?   r4   s
             rB   Ú_init_groupÚAdagrad._init_group~   sÓ   € Ø'3Ñ$ˆØ�x”ˆAØ�v‰vÓ!Ø˜—>¤gØØ8Ø÷'ñ 'ô
 2°!ÀdÒKØ>C�DÔ;Ø§6¡6×#3Ñ#3Ñ3�Øœu×/Ò/°Ó2Ñ2�Ø ×'Ñ'¨Ô*Ø—‘˜QŸV™VÔ$ØŸ
™
 1™�Ø×!Ñ! %¨¡,Ô/Ø×"Ñ" 5¨¡=Ö1ñ !ð" Ð+Ð+rD   c                 óh  • SnUb%  [         R                  " 5          U" 5       nSSS5        U R                   Hf  n/ n/ n/ n/ nU R                  X4XVU5      u  p‰[	        UUUUUS   US   US   US   UUS   US   US   U	US	   [        U S
S5      [        U SS5      S9  Mh     U$ ! , (       d  f       N†= f)z�Perform a single optimization step.

Args:
    closure (Callable, optional): A closure that reevaluates the model
        and returns the loss.
Nr   r   r   r   r    r   r   r   Ú
grad_scaleÚ	found_inf)r   r   r   r   r_   r    r   r   r`   r   rd   re   )r5   Úenable_gradr3   ra   r   rX   )
r<   ÚclosureÚlossr>   r[   r\   r]   r^   r_   r`   s
             rB   r)   ÚAdagrad.step“   së   € ð ˆàÑÜ×"Ò"Õ$Ù“y�÷ %ð ×&Ô&ˆEØ-/ÐØ"$ˆEØ')ˆJØ(*ˆKà+/×+;Ñ+;Ø¨¸Kó,Ñ(ˆOô Ø ØØØØ˜‘;Ø" >Ñ2Ø˜zÑ*Ø˜%‘LØ /Ø˜iÑ(Ø˜zÑ*Ø$Ð%5Ñ6Ø'Ø˜G‘nÜ" 4¨°tÓ<Ü! $¨°TÓ:ô!ñ 'ð: ˆ÷A %Õ$ús   ›B#Â#
B1)r2   )g{®Gáz„?r   r   r   g»½×Ùß|Û=N)r!   N©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   rL   r   Úboolr0   rF   rS   ra   r   r)   Ú__static_attributes__Ú__classcell__)rA   s   @rB   r   r      sÛ   ø† ð "ØØØ+,ØØ#ðDð Ø$Ø!òDàðDð �F‰NðDð ð	Dð
 ðDð $)ðDð ðDð ˜‘ðDð ðDð ðDð �d‰{ðDð 
÷Dñ DõLô*-ò,ð* "ó*ó "ö*rD   a[  Implements Adagrad algorithm.

    .. math::
       \begin{aligned}
            &\rule{110mm}{0.4pt}                                                                 \\
            &\textbf{input}      : \gamma \text{ (lr)}, \: \theta_0 \text{ (params)}, \: f(\theta)
                \text{ (objective)}, \: \lambda \text{ (weight decay)},                          \\
            &\hspace{12mm}    \tau \text{ (initial accumulator value)}, \: \eta\text{ (lr decay)}\\
            &\textbf{initialize} :  state\_sum_0 \leftarrow \tau                          \\[-1.ex]
            &\rule{110mm}{0.4pt}                                                                 \\
            &\textbf{for} \: t=1 \: \textbf{to} \: \ldots \: \textbf{do}                         \\
            &\hspace{5mm}g_t           \leftarrow   \nabla_{\theta} f_t (\theta_{t-1})           \\
            &\hspace{5mm} \tilde{\gamma}    \leftarrow \gamma / (1 +(t-1) \eta)                  \\
            &\hspace{5mm} \textbf{if} \: \lambda \neq 0                                          \\
            &\hspace{10mm} g_t \leftarrow g_t + \lambda \theta_{t-1}                             \\
            &\hspace{5mm}state\_sum_t  \leftarrow  state\_sum_{t-1} + g^2_t                      \\
            &\hspace{5mm}\theta_t \leftarrow
                \theta_{t-1}- \tilde{\gamma} \frac{g_t}{\sqrt{state\_sum_t}+\epsilon}            \\
            &\rule{110mm}{0.4pt}                                                          \\[-1.ex]
            &\bf{return} \:  \theta_t                                                     \\[-1.ex]
            &\rule{110mm}{0.4pt}                                                          \\[-1.ex]
       \end{aligned}

    For further details regarding the algorithm we refer to `Adaptive Subgradient Methods for Online Learning
    and Stochastic Optimization`_.
    z
    Args:
        aÙ  
        lr (float, Tensor, optional): learning rate (default: 1e-2)
        lr_decay (float, optional): learning rate decay (default: 0)
        weight_decay (float, optional): weight decay (L2 penalty) (default: 0)
        initial_accumulator_value (float, optional): initial value of the
            sum of squares of gradients (default: 0)
        eps (float, optional): term added to the denominator to improve
            numerical stability (default: 1e-10)
        z	
        aÒ  
        fused (bool, optional): whether the fused implementation (CPU only) is used.
            Currently, `torch.float64`, `torch.float32`, `torch.float16`, and `torch.bfloat16`
            are supported. (default: None). Please note that the fused implementations does not
            support sparse or complex gradients.
    .. _Adaptive Subgradient Methods for Online Learning and Stochastic
        Optimization: http://jmlr.org/papers/v12/duchi11a.html

    r   r\   r]   r^   r   rd   re   r_   r    r   r`   r   r   r   r   r   r!   c                óL  • [        S U 5       5      (       d  [        S5      eUc  Uc  [        X	SS9u  nnUc  SnUc  SnU(       a.  [        R                  R                  5       (       a  [        S5      eU(       a.  [        R                  R                  5       (       a  [        S5      eU(       a*  [        R                  R                  5       (       d  [        nO7U(       a*  [        R                  R                  5       (       d  [        nO[        nU" U UUUUUUUUUU	U
UUS9  g)	zlFunctional API that performs Adagrad algorithm computation.

See :class:`~torch.optim.Adagrad` for details.
c              3   óV   #   • U  H  n[        U[        R                  5      v •  M!     g 7frj   )r,   r5   r   )Ú.0Úts     rB   Ú	<genexpr>Úadagrad.<locals>.<genexpr>  s   é € Ð@²K¨qŒz˜!œUŸ\™\×*Ð*²Kùs   ‚')zPAPI has changed, `state_steps` argument must contain a list of singleton tensorsNF)Ú	use_fusedz6torch.jit.script not supported with foreach optimizersz4torch.jit.script not supported with fused optimizers©
r   r   r   r   r_   r   r   r`   rd   re   )	Úallr1   r   r5   ÚjitÚis_scriptingÚ_fused_adagradÚ_multi_tensor_adagradÚ_single_tensor_adagrad)r   r\   r]   r^   r   rd   re   r_   r    r   r`   r   r   r   r   r   Ú_Úfuncs                     rB   r   r   ô   s  € ô2 Ñ@±KÓ@×@Ñ@ÜØ^ó
ð 	
ð �}˜™Ü1Ø¨eñ
‰
ˆˆ7ð �}ØˆØ�Øˆæ”5—9‘9×)Ñ)×+Ñ+ÜÐSÓTÐTÞ”—‘×'Ñ'×)Ñ)ÜÐQÓRÐRæ”U—Y‘Y×+Ñ+×-Ñ-Ü‰Þ	œŸ™×/Ñ/×1Ñ1Ü$‰ä%ˆáØØØØØØ!ØØØ'ØØ%ØØØórD   c                 óP   • U R                  5       n[        R                  " XU5      $ rj   )Úsizer5   Úsparse_coo_tensor)rW   Úgrad_indicesrI   rƒ   s       rB   Ú_make_sparser†   >  s    € Ø�9‰9‹;€DÜ×"Ò" <¸Ó>Ð>rD   c          
      óâ  • Uc  Ub  [        S5      e[        R                  R                  5       (       d  [	        U5      n[        XX#SS9 GH   u  pïnnUS-  n[        U5      nU(       d  UOU* nUS:w  a+  UR                  (       a  [        S5      eUR                  XçS9nUSUS-
  U-  -   -  nUR                  (       a»  UR                  5       nUR                  5       nUR                  5       nUR                  [        UUUR                  S5      5      5        UR!                  U5      nUR                  5       R#                  5       R                  U	5      nUR                  [        UUUU-  5      U* S9  GM/  [        R$                  " U5      nU(       aB  [        R&                  " U5      n[        R&                  " U5      n[        R&                  " U5      nUR)                  XÿSS	9  U(       a  UR+                  5       U	-   nOUR+                  5       R                  U	5      nUR-                  UUU* S	9  U(       d  GMô  [        R.                  " U5      n[        R.                  " U5      nGM#     g )
Nú,Expected grad_scale and found_inf to be NoneT)Ústrictr   r   z;weight_decay option is not compatible with sparse gradients©Úalphaé   ©Úvalue)ÚAssertionErrorr5   r{   r|   r   Úzipr   rY   r1   ÚaddÚcoalesceÚ_indicesÚ_valuesÚadd_r†   ÚpowÚsparse_maskÚsqrt_r8   Úview_as_realÚaddcmul_ÚsqrtÚaddcdiv_Úview_as_complex)r   r\   r]   r^   rd   re   r   r   r   r   r_   r   r   r`   ÚparamrW   Ú	state_sumÚstep_tr)   Úclrr…   Úgrad_valuesÚstdÚ
std_valuesr8   s                            rB   r   r   C  s  € ð" Ñ Ñ!6ÜÐKÓLÐLä�9‰9×!Ñ!×#Ñ#Ü˜‹^ˆä*-Ø�z°tõ+Ñ&ˆ�Y ð 	�!‰ˆÜ˜&Ó!ˆÞ#‰t¨$¨ˆà˜1ÓØ�~�~Ü"ØQóð ð —8‘8˜E�8Ð6ˆDà�A˜ ™ XÑ-Ñ-Ñ.ˆà�>�>Ø—=‘=“?ˆDØŸ=™=›?ˆLØŸ,™,›.ˆKà�N‰Nœ<¨¨l¸K¿O¹OÈAÓ<NÓOÔPØ×'Ñ'¨Ó-ˆCØŸ™›×,Ñ,Ó.×3Ñ3°CÓ8ˆJØ�J‰JÜ˜T <°¸zÑ1IÓJÐSVÐRVð ô ô ×)Ò)¨%Ó0ˆJÞÜ×)Ò)¨$Ó/�Ü!×.Ò.¨yÓ9�	Ü×*Ò*¨5Ó1�Ø×Ñ˜t°ÐÑ3ÞØ—n‘nÓ&¨Ñ,‘à—n‘nÓ&×+Ñ+¨CÓ0�Ø�N‰N˜4 ¨S¨DˆNÑ1ß‰zÜ×-Ò-¨eÓ4�Ü!×1Ò1°)Ó<“	òU+rD   c                ór  • U(       a  [        S5      eUc  Ub  [        S5      e[        U 5      S:X  a  g [        U5      n[        R                  " XX#/5      nUR                  5        GHG  u  u  nnnnn[        [        [           U5      n[        [        [           U5      n[        [        [           U5      n[        [        [           U5      nU
=(       a    [        S U 5       5      nU(       a  [        UUUUUUUU	SUUUUUS9  M¢  U(       a  [        UUU5        U(       a  [        R                  " U5      n[        R                  R                  5       (       d>  US   R                   (       a*  [        R"                  " U[        R$                  " SSS	9SS
9  O[        R"                  " US5        US:w  a4  U(       a  [        R"                  " UUUS
9  O[        R&                  " UUUS
9nU Vs/ s H  nU* S[)        U5      S-
  U-  -   -  PM     nn[        R*                  " UUUSS9  [        R,                  " U5      n[        R"                  " UU	5        US:w  d  U(       a  [        R.                  " UU5        UnO[        R0                  " UU5      n[        R2                  " UUU5        GMJ     g s  snf )Nz#_foreach ops don't support autogradrˆ   r   c              3   ó8   #   • U  H  oR                   v •  M     g 7frj   )rY   )rt   rW   s     rB   rv   Ú(_multi_tensor_adagrad.<locals>.<genexpr>±  s   é € ð 9
Ú'3˜t�NŽN¢|ùs   ‚Try   g      ð?Úcpu)r'   rŠ   r   r�   )r�   rJ   r   r   Ú"_group_tensors_by_device_and_dtyperI   r   rH   r   Úanyr   r   r5   Ú_foreach_negÚcompilerÚis_compilingÚis_cpuÚ_foreach_add_r7   Ú_foreach_addr   Ú_foreach_addcmul_Ú_foreach_sqrtÚ_foreach_mul_Ú_foreach_mulÚ_foreach_addcdiv_)r   r\   r]   r^   rd   re   r   r   r   r   r_   r   r   r`   Úgrouped_tensorlistsÚdevice_params_Údevice_grads_Údevice_state_sums_Údevice_state_steps_r€   Údevice_paramsÚdevice_gradsÚdevice_state_sumsÚdevice_state_stepsÚdevice_has_sparse_gradr)   Ú	minus_clrr£   Ú	numerators                                rB   r~   r~   ‡  s–  € ö" ÜÐBÓCÐCØÑ Ñ!6ÜÐKÓLÐLô ˆ6ƒ{�aÓØä	�B‹€Bä#×FÒFØ	˜
Ð0óÐð  ×&Ñ&×(ñ		ñ 	ØØØØØÜœT¤&™\¨>Ó:ˆÜœD¤™L¨-Ó8ˆÜ ¤¤f¡Ð/AÓBÐÜ!¤$¤v¡,Ð0CÓDÐà!0÷ "
´Sñ 9
Ù'3ó9
ó 6
Ðö "Ü"ØØØ!Ø"ØØ)Ø!ØØ $Ø!Ø-Ø'Ø%Ø#òñ  ö Ü˜-¨Ð7HÔIæÜ ×-Ò-¨lÓ;ˆLô �~‰~×*Ñ*×,Ñ,Ð1CÀAÑ1F×1M×1MÜ×ÒØ"¤E§L¢L°¸UÑ$CÈ3óô ×ÒÐ 2°AÔ6à˜1ÓæÜ×#Ò# L°-À|ÓTä$×1Ò1Ø  -°|ñ �ñ
 GYó
ÚFX¸dˆRˆC�1œ
 4Ó(¨1Ñ,°Ñ8Ñ8Ô9ÑFXð 	ð 
ô 	×ÒÐ 1°<ÀÐUVÒWä×!Ò!Ð"3Ó4ˆÜ×Ò˜C Ô%à˜1Ó¦ä×Ò ¨iÔ8Ø$‰Iä×*Ò*¨<¸ÓCˆIä×Ò ¨y¸#×>òQ )ùòp
s   Ç0"J4c                óV  • U (       d  g U
(       d  U(       a  [        S5      eU(       a  [        S5      e[        U5      nUb  UR                  U0OS nUb  UR                  U0OS n[        R                  " XX#/5      nUR                  5        GH  u  u  nnu  u  nnnnn[        [        [           U5      n[        [        [           U5      n[        [        [           U5      n[        [        [           U5      nSu  nnUb!  Ub  UU;  a  UR                  USS9UU'   UU   nUb   Ub  X_;  a  UR                  USS9UU'   UU   n[        R                  " US5        [        R                  " UUUUUUUU	UUUS9  Uc  Mô  [        R                  " UU/[        U5      -  5        GM     g )Nz5`fused` does not support sparse grad or complex paramz<adagrad with fused=True does not support differentiable=True)NNT)Únon_blockingr   )r   r   r   r   r   rd   re   )r1   r   r'   r   r©   Úitemsr   rH   r   Útor5   r¯   Ú_fused_adagrad_Ú_foreach_sub_rJ   )r   r\   r]   r^   rd   re   r   r   r   r   r_   r   r   r`   Úgrad_scale_dictÚfound_inf_dictÚgrouped_tensorsr'   r€   r·   r¸   r¹   rº   r»   r¼   r½   r¾   Údevice_grad_scaleÚdevice_found_infs                                rB   r}   r}   ö  sá  € ö" ØÞž+ÜÐRÓSÐSæÜØJó
ð 	
ô 
�B‹€Bð ,6Ñ+Aˆ×	Ñ	˜JÑ'Àtð ð 7@Ñ6K�i×&Ñ&¨	Ñ2ÐQU€Nä×BÒBØ	˜
Ð0ó€Oð 
×	Ñ	×	 ñ	‰ˆ�ñ ñ	
ØØØØà	äœT¤&™\¨>Ó:ˆÜœD¤™L¨-Ó8ˆÜ ¤¤f¡Ð/AÓBÐÜ!¤$¤v¡,Ð0CÓDÐà.8Ñ+ÐÐ+ØÑ! oÑ&AØ˜_Ó,Ø*4¯-©-¸ÈT¨-Ð*R� Ñ'Ø /°Ñ 7ÐØÑ  ^Ñ%?ØÓ.Ø)2¯©°fÈ4¨Ð)P�˜vÑ&Ø-¨fÑ5ÐÜ×ÒÐ.°Ô2Ü×ÒØØØØØØØ%ØØØ(Ø&ò	
ð Ó'Ü×ÒØ"Ð%5Ð$6¼Ð=OÓ9PÑ$P÷ò= 
!rD   )NNNFNFF)Útypingr   r5   r   Ú	optimizerr   r   r   r	   r
   r   r   r   r   r   r   r   r   Ú__all__r   Ú__doc__rH   ro   rL   r   r†   r   r~   r}   r#   rD   rB   Ú<module>rÑ      s¿  ðå ã Ý ÷÷ ÷ õ ð" �iÐ
 €ôcˆiô cðNð4	à	ˆð 	ð 
ˆð 	Ø	ˆð 	Ø	Ðð ðñ5.ð „ðp Ø $Ø#ð "ØØ ØñGØ�‰LðGà�‰<ðGð �V‘ðGð �f‘ð	Gð
 �$‰;ðGð ˜‘ðGð ˜‰}ðGð ðGð �D‰[ðGð ðGð ðGð 	ðGð  ð!Gð" ð#Gð$ 
ð%Gð& ð'Gð( 
õ)GòT?ð
A=Ø�‰LðA=à�‰<ðA=ð �V‘ðA=ð �f‘ð	A=ð
 ˜‘ðA=ð ˜‰}ðA=ð 	ðA=ð ðA=ð ðA=ð 
ðA=ð ðA=ð ðA=ð ðA=ð ðA=ð  
ô!A=ðHl?Ø�‰Lðl?à�‰<ðl?ð �V‘ðl?ð �f‘ð	l?ð
 ˜‘ðl?ð ˜‰}ðl?ð 	ðl?ð ðl?ð ðl?ð 
ðl?ð ðl?ð ðl?ð ðl?ð ðl?ð  
ô!l?ð^MØ�‰LðMà�‰<ðMð �V‘ðMð �f‘ð	Mð
 ˜‘ðMð ˜‰}ðMð 	ðMð ðMð ðMð 
ðMð ðMð ðMð ðMð ðMð  
õ!MrD   