§
    ­˜ºhƒ  ã                   ó`  — d Z ddlZddlZddlZddlmZmZmZmZ ddl	m
Z
mZmZ ddlmZ ddlmZmZ erddlmZ ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        i
Zej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        i
Zej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        i
Z ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        i
Z!d	„ Z" ej#        d
¬¦  «         G d„ de¦  «        ¦   «         Z$ ej#        d
¬¦  «         G d„ de¦  «        ¦   «         Z% ej#        d
¬¦  «         G d„ de¦  «        ¦   «         Z& ej#        d
¬¦  «         G d„ de¦  «        ¦   «         Z' ej#        d
¬¦  «         G d„ de¦  «        ¦   «         Z( ej#        d
¬¦  «         G d„ de
¦  «        ¦   «         Z) ej#        d
¬¦  «         G d„ de)¦  «        ¦   «         Z* ej#        d
¬¦  «         G d„ de
¦  «        ¦   «         Z+ ej#        d
¬¦  «         G d„ de
¦  «        ¦   «         Z, ej#        d
¬¦  «         G d„ de¦  «        ¦   «         Z- ej#        d
¬¦  «         G d „ d!e
¦  «        ¦   «         Z. ej#        d
¬¦  «         G d"„ d#e+¦  «        ¦   «         Z/ ej#        d
¬¦  «         G d$„ d%e+¦  «        ¦   «         Z0 ej#        d
¬¦  «         G d&„ d'e¦  «        ¦   «         Z1 G d(„ d)ej2        ¦  «        Z3 ej#        d
¬¦  «         G d*„ d+e
¦  «        ¦   «         Z4 ej#        d
¬¦  «         G d,„ d-e
¦  «        ¦   «         Z5 ej#        d
¬¦  «         G d.„ d/e
¦  «        ¦   «         Z6 ej#        d
¬¦  «         G d0„ d1e
¦  «        ¦   «         Z7 ej#        d
¬¦  «         G d2„ d3e
¦  «        ¦   «         Z8 ej#        d
¬¦  «         G d4„ d5e
¦  «        ¦   «         Z9 G d6„ d7e
¦  «        Z: ej#        d
¬¦  «         G d8„ d9e
¦  «        ¦   «         Z; ej#        d
¬¦  «         G d:„ d;e
¦  «        ¦   «         Z< ej#        d
¬¦  «         G d<„ d=e
¦  «        ¦   «         Z= ej#        d
¬¦  «         G d>„ d?e
¦  «        ¦   «         Z> ej#        d
¬¦  «         G d@„ dAe
¦  «        ¦   «         Z? ej#        d
¬¦  «         G dB„ dCe<¦  «        ¦   «         Z@ ej#        d
¬¦  «         G dD„ dEe<¦  «        ¦   «         ZA ej#        d
¬¦  «         G dF„ dGe
¦  «        ¦   «         ZB ej#        d
¬¦  «         G dH„ dIe
¦  «        ¦   «         ZC ej#        d
¬¦  «         G dJ„ dKe
¦  «        ¦   «         ZD ej#        d
¬¦  «         G dL„ dMe
¦  «        ¦   «         ZE ej#        d
¬¦  «         G dN„ dOeE¦  «        ¦   «         ZF ej#        d
¬¦  «         G dP„ dQeF¦  «        ¦   «         ZG ej#        d
¬¦  «         G dR„ dSeE¦  «        ¦   «         ZH ej#        d
¬¦  «         G dT„ dUe¦  «        ¦   «         ZI ej#        d
¬¦  «         G dV„ dWe¦  «        ¦   «         ZJ ej#        d
¬¦  «         G dX„ dYe¦  «        ¦   «         ZK ej#        d
¬¦  «         G dZ„ d[e
¦  «        ¦   «         ZL ej#        d
¬¦  «         G d\„ d]e
¦  «        ¦   «         ZM ej#        d
¬¦  «         G d^„ d_e
¦  «        ¦   «         ZN ej#        d
¬¦  «         G d`„ dae
¦  «        ¦   «         ZO ej#        d
¬¦  «         G db„ dce¦  «        ¦   «         ZP ej#        d
¬¦  «         G dd„ dee¦  «        ¦   «         ZQdfdgœdhedieeR         fdj„ZSdfdgœdhefdk„ZTdhedieUfdl„ZVdhedieeR         fdm„ZWdhefdn„ZXdhedoefdp„ZYejZ        dhefdq„¦   «         Z[ejZ        dhefdr„¦   «         Z\ejZ        dhefds„¦   «         Z]ejZ        dhefdt„¦   «         Z^ejZ        dhefdu„¦   «         Z_ejZ        dhefdv„¦   «         Z`dS )wa  
This module provides Source classes that track the origins of values in PyTorch Dynamo.
Sources represent where values come from (e.g. local variables, globals, attributes) and
are used for guard generation and code reconstruction during compilation.

The module includes specialized sources for:
- Local variables and synthetic locals
- Global variables and constants
- Object attributes and method calls
- NN module specialization (specialized vs unspecialized)
- Random values and tensor properties
- Default argument handling
- FSDP (Fully Sharded Data Parallel) modules

Sources play a key role in Dynamo's guard system by tracking value origins for
guard generation, and in code reconstruction by providing methods to rebuild
the code needed to recreate values.
é    N)ÚAnyÚOptionalÚTYPE_CHECKINGÚUnion)ÚChainedSourceÚGuardSourceÚSourceé   )Úutils)Úcreate_call_functionÚcreate_instruction)Ú	PyCodegenc                 ó    — t          | t          ¦  «        rdS 	 |                      ¦   «         t          j        k    rdS n# t
          $ r Y nw xY wdS ©NTF)Ú
isinstanceÚConstantSourceÚguard_sourcer   ÚCONSTANTÚNotImplementedError©Úsources    ú\/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/torch/_dynamo/source.pyÚis_constant_sourcer   c   si   € Ý�&�.Ñ)Ô)ð ØˆtðØ×ÒÑ Ô ¥KÔ$8Ò8Ð8Ø�4ð 9øåð ð ð Øˆðøøøð ˆ5s   ™"> ¾
AÁ
AT)Úfrozenc                   óp   — e Zd ZU eed<   dZeed<   dZee	e                  ed<   dZ
eed<   dd	„Zd
„ Zd„ ZdS )ÚLocalSourceÚ
local_nameFÚis_inputNÚdynamismÚis_derefed_cell_contentsÚcodegenr   c                 ó¦   — | j         r|                     | j        ¦  «         d S |                     |                     | j        ¦  «        ¦  «         d S ©N)r    Ú
load_derefr   Úappend_outputÚcreate_load©Úselfr!   s     r   ÚreconstructzLocalSource.reconstruct   sT   € ØÔ(ð 	HØ×Ò˜tœÑ/Ô/Ð/Ð/Ð/à×!Ò! '×"5Ò"5°d´oÑ"FÔ"FÑGÔGÐGÐGÐGó    c                 ó   — t           j        S r#   )r   ÚLOCAL©r(   s    r   r   zLocalSource.guard_source…   s   € ÝÔ Ð r*   c                 ó2   — dt          | j        ¦  «        › d�S )NzL[ú])Úreprr   r-   s    r   ÚnamezLocalSource.nameˆ   s   € Ø,•D˜œÑ)Ô)Ð,Ð,Ð,Ð,r*   ©r!   r   )Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r   Úboolr   r   Ú	frozensetr    r)   r   r1   © r*   r   r   r   o   s•   € € € € € € à€O€O�Oð €HˆdÐÐÑð *.€Hˆh�y ”~Ô&Ð-Ð-Ñ-ð
 &+Ð˜dÐ*Ð*Ñ*ðHð Hð Hð Hð!ð !ð !ð-ð -ð -ð -ð -r*   r   c                   ó.   — e Zd ZU eed<   dd„Zd„ Zd„ ZdS )	ÚSyntheticLocalSourcer   r!   r   c                 ó`   — |                      |                     | j        ¦  «        ¦  «         d S r#   )r%   r&   r   r'   s     r   r)   z SyntheticLocalSource.reconstruct�   s,   € Ø×Ò˜g×1Ò1°$´/ÑBÔBÑCÔCÐCÐCÐCr*   c                 ó   — t           j        S r#   )r   ÚSYNTHETIC_LOCALr-   s    r   r   z!SyntheticLocalSource.guard_source“   s   € ÝÔ*Ð*r*   c                 ó   — d| j         ›d�S )NzSYNTHETIC_LOCAL[r/   )r   r-   s    r   r1   zSyntheticLocalSource.name–   s   € Ø6 $¤/Ð6Ð6Ð6Ð6r*   Nr2   ©r3   r4   r5   r6   r7   r)   r   r1   r:   r*   r   r<   r<   Œ   sU   € € € € € € à€O€O�OðDð Dð Dð Dð+ð +ð +ð7ð 7ð 7ð 7ð 7r*   r<   c                   ó.   — e Zd ZU eed<   d„ Zdd„Zd„ ZdS )	ÚRandomValueSourceÚrandom_call_indexc                 ó   — t           j        S r#   )r   ÚRANDOM_VALUEr-   s    r   r   zRandomValueSource.guard_sourcež   s   € ÝÔ'Ð'r*   r!   r   c                 ó  — |                      |                     |j        j        j        ¦  «        ¦  «         |                      |                     | j        ¦  «        ¦  «         |                      t          d¦  «        ¦  «         d S ©NÚBINARY_SUBSCR)r%   r&   ÚtxÚoutputÚrandom_values_varÚcreate_load_constrD   r   r'   s     r   r)   zRandomValueSource.reconstruct¡   st   € Ø×Ò˜g×1Ò1°'´*Ô2CÔ2UÑVÔVÑWÔWÐWØ×Ò˜g×7Ò7¸Ô8NÑOÔOÑPÔPÐPØ×ÒÕ0°ÑAÔAÑBÔBÐBÐBÐBr*   c                 ó   — d| j         › �S )NÚrandom_value_)rD   r-   s    r   r1   zRandomValueSource.name¦   s   € Ø7˜tÔ5Ð7Ð7Ð7r*   Nr2   )r3   r4   r5   Úintr7   r   r)   r1   r:   r*   r   rC   rC   š   sX   € € € € € € àÐÐÑð(ð (ð (ðCð Cð Cð Cð
8ð 8ð 8ð 8ð 8r*   rC   c                   ó.   — e Zd ZU eed<   dd„Zd„ Zd„ ZdS )	ÚGlobalSourceÚglobal_namer!   r   c                 ód   — |                      |                     | j        d¬¦  «        ¦  «         d S ©NT©Úadd©r%   Úcreate_load_globalrS   r'   s     r   r)   zGlobalSource.reconstruct®   s2   € Ø×Ò˜g×8Ò8¸Ô9IÈtÐ8ÑTÔTÑUÔUÐUÐUÐUr*   c                 ó   — t           j        S r#   ©r   ÚGLOBALr-   s    r   r   zGlobalSource.guard_source±   ó   € ÝÔ!Ð!r*   c                 ó2   — dt          | j        ¦  «        › d�S )NúG[r/   ©r0   rS   r-   s    r   r1   zGlobalSource.name´   s   € Ø-•D˜Ô)Ñ*Ô*Ð-Ð-Ð-Ð-r*   Nr2   rA   r:   r*   r   rR   rR   ª   sX   € € € € € € àÐÐÑðVð Vð Vð Vð"ð "ð "ð.ð .ð .ð .ð .r*   rR   c                   ó.   — e Zd ZU eed<   dd„Zd„ Zd„ ZdS )	ÚGlobalWeakRefSourcerS   r!   r   c                 ó‚   ‡ ‡— ‰                      ˆˆ fd„¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  ób   •— ‰                       ‰                      ‰j        d¬¦  «        ¦  «        S rU   rX   ©r!   r(   s   €€r   ú<lambda>z1GlobalWeakRefSource.reconstruct.<locals>.<lambda>¾   s0   ø€ �G×)Ò)Ø×*Ò*¨4Ô+;ÀÐ*ÑFÔFñô € r*   r   F©Úadd_push_nullÚextend_outputr   r'   s   ``r   r)   zGlobalWeakRefSource.reconstruct¼   s\   øø€ Ø×Òðð ð ð ð ñ	
ô 	
ð 	
ð
 	×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 ó   — t           j        S r#   r[   r-   s    r   r   z GlobalWeakRefSource.guard_sourceÄ   r]   r*   c                 ó2   — dt          | j        ¦  «        › d�S )Nr_   z]()r`   r-   s    r   r1   zGlobalWeakRefSource.nameÇ   s   € Ø/•D˜Ô)Ñ*Ô*Ð/Ð/Ð/Ð/r*   Nr2   rA   r:   r*   r   rb   rb   ¸   sT   € € € € € € àÐÐÑð>ð >ð >ð >ð"ð "ð "ð0ð 0ð 0ð 0ð 0r*   rb   c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ÚWeakRefCallSourcer!   r   c                 ó‚   ‡ ‡— ‰                      ˆˆ fd„¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  ó$   •—  ‰ ‰j         ¦  «        S r#   ©Úbasere   s   €€r   rf   z/WeakRefCallSource.reconstruct.<locals>.<lambda>Î   s   ø€  g g¨d¬iÑ&8Ô&8€ r*   r   Frg   r'   s   ``r   r)   zWeakRefCallSource.reconstructÍ   sJ   øø€ Ø×ÒÐ8Ð8Ð8Ð8Ð8Ñ9Ô9Ð9Ø×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 ó4   — | j                              ¦   «         S r#   ©rq   r   r-   s    r   r   zWeakRefCallSource.guard_sourceÑ   ó   € ØŒy×%Ò%Ñ'Ô'Ð'r*   c                 ó:   — | j                              ¦   «         › d�S )Nz()©rq   r1   r-   s    r   r1   zWeakRefCallSource.nameÔ   s   € Ø”)—.’.Ñ"Ô"Ð&Ð&Ð&Ð&r*   Nr2   ©r3   r4   r5   r)   r   r1   r:   r*   r   rm   rm   Ë   sF   € € € € € ð>ð >ð >ð >ð(ð (ð (ð'ð 'ð 'ð 'ð 'r*   rm   c                   ó   — e Zd ZdS )ÚCallFunctionNoArgsSourceN©r3   r4   r5   r:   r*   r   ry   ry   Ø   ó   € € € € € à€Dr*   ry   c                   ó4   — e Zd ZU eed<   d„ Zd	d„Zd„ Zd„ ZdS )
Ú
AttrSourceÚmemberc                 óJ  — | j         s
J d¦   «         ‚d| j        v rˆ| j                             d¦  «        }t                               | dt          | j         d                     |d d…         ¦  «        ¦  «        ¦  «         t                               | d|d         ¦  «         d S d S ©Nz9Can't construct an AttrSource without a valid base sourceú.rq   éÿÿÿÿr~   ©rq   r~   ÚsplitÚobjectÚ__setattr__r}   Újoin©r(   Úmember_partss     r   Ú__post_init__zAttrSource.__post_init__á   ó¨   € ØŒyÐUÐUÐUÑUÔUÐUØ�$”+ÐÐØœ;×,Ò,¨SÑ1Ô1ˆLÝ×ÒØ�f�j¨¬°C·H²H¸\È#È2È#Ô=NÑ4OÔ4OÑPÔPñô ð õ ×Ò˜t X¨|¸BÔ/?Ñ@Ô@Ð@Ð@Ð@ð Ðr*   r!   r   c                 ó€   —  || j         ¦  «         |                     |                     | j        ¦  «        ¦  «         d S r#   ©rq   ri   Úcreate_load_attrsr~   r'   s     r   r)   zAttrSource.reconstructê   ó>   € Øˆ�”	ÑÔÐØ×Ò˜g×7Ò7¸¼ÑDÔDÑEÔEÐEÐEÐEr*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zAttrSource.guard_sourceî   rt   r*   c                 óÄ   — | j                              ¦   «         s%d| j                             ¦   «         › d| j         ›d�S | j                             ¦   «         › d| j         › �S )Nzgetattr(ú, ú)r�   )r~   Úisidentifierrq   r1   r-   s    r   r1   zAttrSource.nameñ   sb   € ØŒ{×'Ò'Ñ)Ô)ð 	CØB˜dœiŸnšnÑ.Ô.ÐBÐB°$´+ÐBÐBÐBÐBØ”)—.’.Ñ"Ô"Ð2Ð2 T¤[Ð2Ð2Ð2r*   Nr2   ©	r3   r4   r5   r6   r7   rŠ   r)   r   r1   r:   r*   r   r}   r}   Ý   sg   € € € € € € à€K€K�KðAð Að AðFð Fð Fð Fð(ð (ð (ð3ð 3ð 3ð 3ð 3r*   r}   c                   ó4   — e Zd ZU eed<   d„ Zd	d„Zd„ Zd„ ZdS )
ÚGenericAttrSourcer~   c                 óJ  — | j         s
J d¦   «         ‚d| j        v rˆ| j                             d¦  «        }t                               | dt          | j         d                     |d d…         ¦  «        ¦  «        ¦  «         t                               | d|d         ¦  «         d S d S r€   rƒ   rˆ   s     r   rŠ   zGenericAttrSource.__post_init__û   r‹   r*   r!   r   c                 ó€   —  || j         ¦  «         |                     |                     | j        ¦  «        ¦  «         d S r#   r�   r'   s     r   r)   zGenericAttrSource.reconstruct  r�   r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zGenericAttrSource.guard_source  rt   r*   c                 óL   — d| j                              ¦   «         › d| j        ›d�S )Nzobject.__getattribute__(r’   r“   ©rq   r1   r~   r-   s    r   r1   zGenericAttrSource.name  s)   € ØN¨$¬)¯.ª.Ñ*:Ô*:ÐNÐN¸d¼kÐNÐNÐNÐNr*   Nr2   r•   r:   r*   r   r—   r—   ÷   sl   € € € € € € à€K€K�KðAð Að AðFð Fð Fð Fð(ð (ð (ðOð Oð Oð Oð Or*   r—   c                   ó&   — e Zd ZU dZeed<   dd„ZdS )ÚLocalCellSourcezƒ
    Conceptually, this class is `LocalSource` for cell objects implicitly
    generated by Python (e.g., captured variables).
    r   r!   r   c                 ó`   — |                      |                     | j        ¦  «        ¦  «         d S r#   )r%   Úcreate_load_closurer   r'   s     r   r)   zLocalCellSource.reconstruct  s.   € ð 	×Ò˜g×9Ò9¸$¼/ÑJÔJÑKÔKÐKÐKÐKr*   Nr2   )r3   r4   r5   Ú__doc__r6   r7   r)   r:   r*   r   rž   rž     sE   € € € € € € ðð ð
 €O€O�OðLð Lð Lð Lð Lð Lr*   rž   c                   ó2   — e Zd ZU dZeed<   d	d„Zd„ Zd„ ZdS )
Ú
GradSourceÚgradr~   r!   r   c                 ó€   —  || j         ¦  «         |                     |                     | j        ¦  «        ¦  «         d S r#   r�   r'   s     r   r)   zGradSource.reconstruct*  r�   r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zGradSource.guard_source.  rt   r*   c                 óH   — | j                              ¦   «         › d| j        › �S )Nr�   rœ   r-   s    r   r1   zGradSource.name1  s$   € Ø”)—.’.Ñ"Ô"Ð2Ð2 T¤[Ð2Ð2Ð2r*   Nr2   )	r3   r4   r5   r~   r6   r7   r)   r   r1   r:   r*   r   r£   r£   &  s\   € € € € € € à€FˆCÐÐÑðFð Fð Fð Fð(ð (ð (ð3ð 3ð 3ð 3ð 3r*   r£   c                   ó   — e Zd Zd„ ZdS )ÚParamBufferSourcec                 óJ   — t           | j                             ¦   «                  S r#   ©Ú#_GUARD_SOURCE_SPECIALIZED_NN_MODULErq   r   r-   s    r   r   zParamBufferSource.guard_source7  ó   € Ý2°4´9×3IÒ3IÑ3KÔ3KÔLÐLr*   N©r3   r4   r5   r   r:   r*   r   r©   r©   5  s(   € € € € € ðMð Mð Mð Mð Mr*   r©   c                   ó   — e Zd ZdS )ÚUnspecializedParamBufferSourceNrz   r:   r*   r   r°   r°   <  r{   r*   r°   c                   óB   — e Zd ZU dZee         ed<   d„ Zd„ Zd„ Z	d„ Z
dS )ÚEphemeralSourceNÚdescc                 ó   — t           j        S r#   )r   Ú	EPHEMERALr-   s    r   r   zEphemeralSource.guard_sourceN  ó   € ÝÔ$Ð$r*   c                 ó0   — d| j         �
d| j         z   nd› d�S )Nz
<ephemeralz: Ú ú>)r³   r-   s    r   r1   zEphemeralSource.nameQ  s&   € ØP°´	Ð0E˜D 4¤9Ñ,Ð,È2ÐPÐPÐPÐPr*   c                 ó   — t           ‚r#   ©r   ©r(   Úfns     r   Ú
make_guardzEphemeralSource.make_guardT  ó   € Ý!Ð!r*   c                 ó   — dS ©NTr:   r-   s    r   Úis_ephemeralzEphemeralSource.is_ephemeralW  ó   € Øˆtr*   )r3   r4   r5   r³   r   r6   r7   r   r1   r¾   rÂ   r:   r*   r   r²   r²   J  si   € € € € € € à€Dˆ(�3Œ-ÐÐÑð%ð %ð %ðQð Qð Qð"ð "ð "ðð ð ð ð r*   r²   c                   ó    — e Zd ZdZdZdZd„ ZdS )ÚTensorPropertyr   r
   é   c                 óf   — | t           j        u rdS | t           j        u rdS | t           j        u rdS d S )NÚsizeÚstrideÚstorage_offset)rÅ   ÚSIZEÚSTRIDEÚSTORAGE_OFFSETr-   s    r   Úmethod_namezTensorProperty.method_name`  sD   € Ø•>Ô&Ð&Ð&Ø�6Ø•^Ô*Ð*Ð*Ø�8Ø•^Ô2Ð2Ð2Ø#Ð#ð 3Ð2r*   N)r3   r4   r5   rË   rÌ   rÍ   rÎ   r:   r*   r   rÅ   rÅ   [  s2   € € € € € Ø€DØ€FØ€Nð$ð $ð $ð $ð $r*   rÅ   c                   óN   — e Zd ZU eed<   dZee         ed<   d„ Zd
d„Z	d„ Z
d	„ ZdS )ÚTensorPropertySourceÚpropNÚidxc                 óf   — | j         €J ‚| j        t          j        u r| j        �J ‚d S | j        €J ‚d S r#   )rq   rÑ   rÅ   rÍ   rÒ   r-   s    r   rŠ   z"TensorPropertySource.__post_init__n  sH   € ØŒyÐ$Ð$Ð$ØŒ9�Ô5Ð5Ð5Ø”8Ð#Ð#Ð#Ð#Ð#à”8Ð'Ð'Ð'Ð'Ð'r*   r!   r   c                 ó  ‡ ‡— ‰                      ˆˆ fd„¦  «          ‰‰ j        ¦  «         ‰ j        �-‰                     ‰                     ‰ j        ¦  «        ¦  «         ‰                     t          ‰ j        �dndd¦  «        ¦  «         d S )Nc                  óx   •— ‰                       t          j        d‰j                             ¦   «         › �¦  «        S )NÚcall_)Úload_import_fromr   r3   rÑ   rÎ   re   s   €€r   rf   z2TensorPropertySource.reconstruct.<locals>.<lambda>w  s5   ø€ �G×,Ò,Ý”Ð A¨¬	×(=Ò(=Ñ(?Ô(?Ð AÐ Añô € r*   rÆ   r
   F)rh   rq   rÒ   r%   rM   ri   r   r'   s   ``r   r)   z TensorPropertySource.reconstructu  s¯   øø€ Ø×Òðð ð ð ð ñ	
ô 	
ð 	
ð
 	ˆ�”	ÑÔÐàŒ8ÐØ×!Ò! '×";Ò";¸D¼HÑ"EÔ"EÑFÔFÐFØ×ÒÝ  d¤hÐ&:  ÀÀ5ÑIÔIñ	
ô 	
ð 	
ð 	
ð 	
r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   z!TensorPropertySource.guard_sourceƒ  rt   r*   c                 ó|  — | j         t          j        u r$| j                             ¦   «         › d| j        › d�S | j         t          j        u r$| j                             ¦   «         › d| j        › d�S | j         t          j        u r%| j        �J ‚| j                             ¦   «         › d�S t          d| j         › �¦  «        ‚)Nz.size()[r/   z
.stride()[z.storage_offset()z
unhandled )	rÑ   rÅ   rË   rq   r1   rÒ   rÌ   rÍ   ÚAssertionErrorr-   s    r   r1   zTensorPropertySource.name†  s¾   € ØŒ9�Ô+Ð+Ð+Ø”i—n’nÑ&Ô&Ð;Ð;°´Ð;Ð;Ð;Ð;ØŒY�.Ô/Ð/Ð/Ø”i—n’nÑ&Ô&Ð=Ð=°$´(Ð=Ð=Ð=Ð=ØŒY�.Ô7Ð7Ð7Ø”8Ð#Ð#Ð#Ø”i—n’nÑ&Ô&Ð9Ð9Ð9Ð9å Ð!9¨d¬iÐ!9Ð!9Ñ:Ô:Ð:r*   r2   )r3   r4   r5   rÅ   r7   rÒ   r   rP   rŠ   r)   r   r1   r:   r*   r   rÐ   rÐ   i  sw   € € € € € € à
ÐÐÑØ€Cˆ�#ŒÐÐÑð(ð (ð (ð
ð 
ð 
ð 
ð(ð (ð (ð	;ð 	;ð 	;ð 	;ð 	;r*   rÐ   c                   ó4   — e Zd ZU eed<   d„ Zd	d„Zd„ Zd„ ZdS )
ÚIndexedSourcerÒ   c                 ó   — | j         €J ‚d S r#   rp   r-   s    r   rŠ   zIndexedSource.__post_init__–  ó   € ØŒyÐ$Ð$Ð$Ð$Ð$r*   r!   r   c                 ó   — t           ‚r#   r»   r'   s     r   r)   zIndexedSource.reconstruct™  r¿   r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zIndexedSource.guard_sourceœ  rt   r*   c                 óL   — d| j         › d| j                             ¦   «         › d�S )Nú(r’   r“   )rÒ   rq   r1   r-   s    r   r1   zIndexedSource.nameŸ  s)   € Ø2�4”8Ð2Ð2˜tœyŸ~š~Ñ/Ô/Ð2Ð2Ð2Ð2r*   Nr2   )	r3   r4   r5   rP   r7   rŠ   r)   r   r1   r:   r*   r   rÜ   rÜ   ’  s`   € € € € € € à	€H€H�Hð%ð %ð %ð"ð "ð "ð "ð(ð (ð (ð3ð 3ð 3ð 3ð 3r*   rÜ   c                   ó(   — e Zd Zd„ Zdd„Zd„ Zd„ ZdS )	ÚNegateSourcec                 ó   — | j         €J ‚d S r#   rp   r-   s    r   rŠ   zNegateSource.__post_init__¥  rÞ   r*   r!   r   c                 ó   — t           ‚r#   r»   r'   s     r   r)   zNegateSource.reconstruct¨  r¿   r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zNegateSource.guard_source«  rt   r*   c                 ó:   — | j                              ¦   «         › d�S )Nz
.__neg__()rv   r-   s    r   r1   zNegateSource.name®  s   € à”)—.’.Ñ"Ô"Ð.Ð.Ð.Ð.r*   Nr2   ©r3   r4   r5   rŠ   r)   r   r1   r:   r*   r   rä   rä   £  sU   € € € € € ð%ð %ð %ð"ð "ð "ð "ð(ð (ð (ð/ð /ð /ð /ð /r*   rä   c                   ó(   — e Zd Zd„ Zdd„Zd„ Zd„ ZdS )	ÚConvertIntSourcec                 ó   — | j         €J ‚d S r#   rp   r-   s    r   rŠ   zConvertIntSource.__post_init__µ  rÞ   r*   r!   r   c                 ó&   —  || j         ¦  «         d S r#   rp   r'   s     r   r)   zConvertIntSource.reconstruct¸  ó   € Øˆ�”	ÑÔÐÐÐr*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zConvertIntSource.guard_source»  rt   r*   c                 ó<   — d| j                              ¦   «         › d�S )Nz!cast_symbool_to_symint_guardless(r“   rv   r-   s    r   r1   zConvertIntSource.name¾  s   € ØF°4´9·>²>Ñ3CÔ3CÐFÐFÐFÐFr*   Nr2   ré   r:   r*   r   rë   rë   ³  sZ   € € € € € ð%ð %ð %ðð ð ð ð(ð (ð (ðGð Gð Gð Gð Gr*   rë   c                   ó(   — e Zd Zd„ Zdd„Zd„ Zd„ ZdS )	ÚFlattenScriptObjectSourcec                 ó   — | j         €J ‚d S r#   rp   r-   s    r   rŠ   z'FlattenScriptObjectSource.__post_init__Ä  rÞ   r*   r!   r   c                 ó&   —  || j         ¦  «         d S r#   rp   r'   s     r   r)   z%FlattenScriptObjectSource.reconstructÇ  rî   r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   z&FlattenScriptObjectSource.guard_sourceÊ  rt   r*   c                 ó:   — | j                              ¦   «         › d�S )Nz.__obj_flatten__()rv   r-   s    r   r1   zFlattenScriptObjectSource.nameÍ  s   € Ø”)—.’.Ñ"Ô"Ð6Ð6Ð6Ð6r*   Nr2   ré   r:   r*   r   rò   rò   Â  sU   € € € € € ð%ð %ð %ðð ð ð ð(ð (ð (ð7ð 7ð 7ð 7ð 7r*   rò   c                   ó(   — e Zd Zd„ Zdd„Zd„ Zd„ ZdS )	ÚScriptObjectQualifiedNameSourcec                 ó   — | j         €J ‚d S r#   rp   r-   s    r   rŠ   z-ScriptObjectQualifiedNameSource.__post_init__Ó  rÞ   r*   r!   r   c                 ó&   —  || j         ¦  «         d S r#   rp   r'   s     r   r)   z+ScriptObjectQualifiedNameSource.reconstructÖ  rî   r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   z,ScriptObjectQualifiedNameSource.guard_sourceÙ  rt   r*   c                 ó:   — | j                              ¦   «         › d�S )Nz._type().qualified_name()rv   r-   s    r   r1   z$ScriptObjectQualifiedNameSource.nameÜ  s   € Ø”)—.’.Ñ"Ô"Ð=Ð=Ð=Ð=r*   Nr2   ré   r:   r*   r   rø   rø   Ñ  sU   € € € € € ð%ð %ð %ðð ð ð ð(ð (ð (ð>ð >ð >ð >ð >r*   rø   c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ÚAttrProxySourcer!   r   c                 ó&   —  || j         ¦  «         d S r#   rp   r'   s     r   r)   zAttrProxySource.reconstructá  rî   r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zAttrProxySource.guard_sourceä  rt   r*   c                 ó:   — | j                              ¦   «         › d�S )Nz.get_base()rv   r-   s    r   r1   zAttrProxySource.nameç  s   € Ø”)—.’.Ñ"Ô"Ð/Ð/Ð/Ð/r*   Nr2   rw   r:   r*   r   rþ   rþ   à  sF   € € € € € ðð ð ð ð(ð (ð (ð0ð 0ð 0ð 0ð 0r*   rþ   c                   ó²   — e Zd ZU eeef         ed<   dZeed<    e	j
        ddd¬¦  «        Z
eed<    e	j
        ddd¬¦  «        Zeed<   d„ Zdd
„Zd„ Zd„ ZdS )ÚDefaultsSourceÚidx_keyFÚis_kw)Úinitr0   ÚcompareÚfieldÚ_namec           
      ó2  — | j         s
J d¦   «         ‚| j        r€t          | j        t          ¦  «        sJ ‚t
                               | dd¦  «         t
                               | d| j                              ¦   «         › d| j        › d| j        › d�¦  «         d S t          | j        t          ¦  «        sJ ‚t
                               | dd¦  «         t
                               | d| j                              ¦   «         › d| j        › d	| j        › d
�¦  «         d S )Nz]Base must be a valid source in order to properly track and guard this Defaults to its origin.r  Ú__kwdefaults__r	  r�   z['z']Ú__defaults__ú[r/   )
rq   r  r   r  r6   r…   r†   r1   r  rP   r-   s    r   rŠ   zDefaultsSource.__post_init__ò  s6  € ØŒyð 	
ð 	
Økñ	
ô 	
ð 	
ð Œ:ð 	Ý˜dœl­CÑ0Ô0Ð0Ð0Ð0Ý×Ò˜t WÐ.>Ñ?Ô?Ð?Ý×ÒØ�g $¤)§.¢.Ñ"2Ô"2ÐSÐS°T´ZÐSÐSÀ4Ä<ÐSÐSÐSñô ð ð ð õ ˜dœl­CÑ0Ô0Ð0Ð0Ð0Ý×Ò˜t W¨nÑ=Ô=Ð=Ý×ÒØ�g $¤)§.¢.Ñ"2Ô"2ÐQÐQ°T´ZÐQÐQÀ$Ä,ÐQÐQÐQñô ð ð ð r*   r!   r   c                 ó  —  || j         ¦  «         |                     |                     | j        ¦  «        ¦  «         |                     |                     | j        ¦  «        ¦  «         |                     t          d¦  «        ¦  «         d S rH   )rq   ri   rŽ   r  r%   rM   r  r   r'   s     r   r)   zDefaultsSource.reconstruct  s   € Øˆ�”	ÑÔÐØ×Ò˜g×7Ò7¸¼
ÑCÔCÑDÔDÐDØ×Ò˜g×7Ò7¸¼ÑEÔEÑFÔFÐFØ×ÒÕ0°ÑAÔAÑBÔBÐBÐBÐBr*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zDefaultsSource.guard_source	  rt   r*   c                 ó   — | j         S r#   )r	  r-   s    r   r1   zDefaultsSource.name  s
   € ØŒzÐr*   Nr2   )r3   r4   r5   r   rP   r6   r7   r  r8   Údataclassesr  r	  rŠ   r)   r   r1   r:   r*   r   r  r  ë  sÇ   € € € € € € à�3˜�8Œ_ÐÐÑØ€Eˆ4ÐÐÑØ"�Ô"¨°EÀ5ÐIÑIÔI€Eˆ3ÐIÐIÑIØ"�Ô"¨°EÀ5ÐIÑIÔI€Eˆ3ÐIÐIÑIðð ð ð"Cð Cð Cð Cð(ð (ð (ðð ð ð ð r*   r  c                   óR   ‡ — e Zd ZU eed<   dZeed<   ˆ fd„Zdd„Zd„ Z	d	„ Z
d
„ Zˆ xZS )ÚGetItemSourceÚindexFÚindex_is_slicec                 ó  •— | j         €J ‚t          | j        t          ¦  «        r]t	          ¦   «                              d| j                             ¦   «         ¦  «         t	          ¦   «                              dd¦  «         d S d S )Nr  r  T)rq   r   r  ÚsliceÚsuperr†   Ú
__reduce__)r(   Ú	__class__s    €r   rŠ   zGetItemSource.__post_init__  sx   ø€ ØŒyÐ$Ð$Ð$Ý�d”j¥%Ñ(Ô(ð 	8å‰GŒG×Ò ¨¬×)>Ò)>Ñ)@Ô)@ÑAÔAÐAÝ‰GŒG×ÒÐ 0°$Ñ7Ô7Ð7Ð7Ð7ð	8ð 	8r*   r!   r   c                 óH  —  || j         ¦  «         | j        r;|                     |                     |                      ¦   «         ¦  «        ¦  «         n-|                     |                     | j        ¦  «        ¦  «         |                     t          d¦  «        ¦  «         d S rH   )rq   r  r%   rM   Úunpack_slicer  r   r'   s     r   r)   zGetItemSource.reconstruct  s˜   € Øˆ�”	ÑÔÐØÔð 	IØ×!Ò! '×";Ò";¸D×<MÒ<MÑ<OÔ<OÑ"PÔ"PÑQÔQÐQÐQà×!Ò! '×";Ò";¸D¼JÑ"GÔ"GÑHÔHÐHØ×ÒÕ0°ÑAÔAÑBÔBÐBÐBÐBr*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zGetItemSource.guard_source$  rt   r*   c                 ó2   — | j         sJ ‚| j        \  }} ||Ž S r#   )r  r  )r(   Úslice_classÚ
slice_argss      r   r  zGetItemSource.unpack_slice'  s*   € ØÔ"Ð"Ð"Ð"Ø"&¤*Ñˆ�ZØˆ{˜JÐ'Ð'r*   c                 óò   — t          | j        t          ¦  «        rJ ‚| j        r1| j                             ¦   «         › d|                      ¦   «         ›d�S | j                             ¦   «         › d| j        ›d�S ©Nr  r/   )r   r  r	   r  rq   r1   r  r-   s    r   r1   zGetItemSource.name,  s{   € õ ˜dœj­&Ñ1Ô1Ð1Ð1Ð1ØÔð 	9Ø”i—n’nÑ&Ô&ÐAÐA¨×):Ò):Ñ)<Ô)<ÐAÐAÐAÐAà”i—n’nÑ&Ô&Ð8Ð8¨¬Ð8Ð8Ð8Ð8r*   r2   )r3   r4   r5   r   r7   r  r8   rŠ   r)   r   r  r1   Ú__classcell__)r  s   @r   r  r    s˜   ø€ € € € € € à€J€J�JØ €N�DÐ Ð Ñ ð8ð 8ð 8ð 8ð 8ðCð Cð Cð Cð(ð (ð (ð(ð (ð (ð
9ð 9ð 9ð 9ð 9ð 9ð 9r*   r  c                   ó4   — e Zd ZU eed<   d„ Zd	d„Zd„ Zd„ ZdS )
ÚConstDictKeySourcer  c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zConstDictKeySource.guard_source;  rt   r*   r!   r   c                 óø   ‡— ‰                      ˆfd„¦  «          ‰| j        ¦  «         ‰                     ‰                     | j        ¦  «        ¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  óD   •— ‰                       t          j        d¦  «        S )NÚdict_keys_getitem©r×   r   r3   ©r!   s   €r   rf   z0ConstDictKeySource.reconstruct.<locals>.<lambda>@  s   ø€ �G×,Ò,­U¬^Ð=PÑQÔQ€ r*   rÆ   F©rh   rq   r%   rM   r  ri   r   r'   s    `r   r)   zConstDictKeySource.reconstruct>  s„   ø€ Ø×ÒØQÐQÐQÐQñ	
ô 	
ð 	
ð 	ˆ�”	ÑÔÐØ×Ò˜g×7Ò7¸¼
ÑCÔCÑDÔDÐDØ×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 óL   — d| j                              ¦   «         › d| j        ›d�S )Nzlist(dict.keys(z))[r/   ©rq   r1   r  r-   s    r   r1   zConstDictKeySource.nameF  s)   € àE ¤§¢Ñ!1Ô!1ÐEÐE°d´jÐEÐEÐEÐEr*   c                 ó   — dS rÁ   r:   r-   s    r   Úis_dict_keyzConstDictKeySource.is_dict_keyJ  rÃ   r*   Nr2   )	r3   r4   r5   r   r7   r   r)   r1   r0  r:   r*   r   r%  r%  7  sc   € € € € € € à€J€J�Jð(ð (ð (ð>ð >ð >ð >ðFð Fð Fðð ð ð ð r*   r%  c                   ó4   — e Zd ZU eed<   d„ Zd„ Zd	d„Zd„ ZdS )
ÚDictGetItemSourcer  c                 ó‚   — ddl m} t          | j        t          ¦  «        s|                     | j        ¦  «        sJ ‚d S d S ©Nr
   )ÚConstantVariable©Ú	variablesr5  r   r  r%  Ú
is_literal©r(   r5  s     r   rŠ   zDictGetItemSource.__post_init__V  ód   € Ø/Ð/Ð/Ð/Ð/Ð/åØŒJÕ*ñ
ô 
ð 	5à×(Ò(¨¬Ñ4Ô4ð	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zDictGetItemSource.guard_source]  rt   r*   r!   r   c                 ó  —  || j         ¦  «         t          | j        t          ¦  «        r || j        ¦  «         n-|                     |                     | j        ¦  «        ¦  «         |                     t          d¦  «        ¦  «         d S rH   )rq   r   r  r	   r%   rM   r   r'   s     r   r)   zDictGetItemSource.reconstruct`  s‡   € àˆ�”	ÑÔÐõ �d”j¥&Ñ)Ô)ð 	IØˆG�D”JÑÔÐÐà×!Ò! '×";Ò";¸D¼JÑ"GÔ"GÑHÔHÐHØ×ÒÕ0°ÑAÔAÑBÔBÐBÐBÐBr*   c                 óê   — t          | j        t          ¦  «        r6| j                             ¦   «         › d| j                             ¦   «         › d�S | j                             ¦   «         › d| j        ›d�S r"  ©r   r  r%  rq   r1   r-   s    r   r1   zDictGetItemSource.namek  sk   € Ý�d”jÕ"4Ñ5Ô5ð 	9Ø”i—n’nÑ&Ô&Ð=Ð=¨¬¯ªÑ):Ô):Ð=Ð=Ð=Ð=à”i—n’nÑ&Ô&Ð8Ð8¨¬Ð8Ð8Ð8Ð8r*   Nr2   ©	r3   r4   r5   r   r7   rŠ   r   r)   r1   r:   r*   r   r2  r2  O  sf   € € € € € € ð
 €J€J�Jð5ð 5ð 5ð(ð (ð (ð	Cð 	Cð 	Cð 	Cð9ð 9ð 9ð 9ð 9r*   r2  c                   ó4   — e Zd ZU eed<   d„ Zd„ Zd	d„Zd„ ZdS )
ÚDictSubclassGetItemSourcer  c                 ó‚   — ddl m} t          | j        t          ¦  «        s|                     | j        ¦  «        sJ ‚d S d S r4  r6  r9  s     r   rŠ   z'DictSubclassGetItemSource.__post_init__{  r:  r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   z&DictSubclassGetItemSource.guard_source‚  rt   r*   r!   r   c                 óN  ‡— ‰                      ˆfd„¦  «          ‰| j        ¦  «         t          | j        t          ¦  «        r ‰| j        ¦  «         n-‰                     ‰                     | j        ¦  «        ¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  óD   •— ‰                       t          j        d¦  «        S )NÚdict_getitemr*  r+  s   €r   rf   z7DictSubclassGetItemSource.reconstruct.<locals>.<lambda>Š  ó   ø€ �G×,Ò,­U¬^¸^ÑLÔL€ r*   rÆ   F)	rh   rq   r   r  r	   r%   rM   ri   r   r'   s    `r   r)   z%DictSubclassGetItemSource.reconstruct…  s²   ø€ ð 	×ÒØLÐLÐLÐLñ	
ô 	
ð 	
ð
 	ˆ�”	ÑÔÐõ �d”j¥&Ñ)Ô)ð 	IØˆG�D”JÑÔÐÐà×!Ò! '×";Ò";¸D¼JÑ"GÔ"GÑHÔHÐHà×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 óì   — t          | j        t          ¦  «        r7d| j                             ¦   «         › d| j                             ¦   «         › d�S | j                             ¦   «         › d| j        ›d�S )Nzdict.__getitem__(r’   r“   r  r/   r>  r-   s    r   r1   zDictSubclassGetItemSource.name˜  sm   € Ý�d”jÕ"4Ñ5Ô5ð 	9ØO t¤y§~¢~Ñ'7Ô'7ÐOÐO¸4¼:¿?º?Ñ;LÔ;LÐOÐOÐOÐOà”i—n’nÑ&Ô&Ð8Ð8¨¬Ð8Ð8Ð8Ð8r*   Nr2   r?  r:   r*   r   rA  rA  t  sb   € € € € € € ð
 €J€J�Jð5ð 5ð 5ð(ð (ð (ð>ð >ð >ð >ð&9ð 9ð 9ð 9ð 9r*   rA  c                   ó    — e Zd ZdZdd„Zd„ ZdS )ÚListGetItemSourcezY
    Same as GetItemSource with reconstruct and name overridden to be list specific.
    r!   r   c                 ó$  ‡— ‰                      ˆfd„¦  «          ‰| j        ¦  «         | j        rt          d¦  «        ‚‰                     ‰                     | j        ¦  «        ¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  óD   •— ‰                       t          j        d¦  «        S )NÚlist_getitemr*  r+  s   €r   rf   z/ListGetItemSource.reconstruct.<locals>.<lambda>«  rG  r*   ú>List[slice] is a temporary object and should not have a sourcerÆ   F)	rh   rq   r  ÚRuntimeErrorr%   rM   r  ri   r   r'   s    `r   r)   zListGetItemSource.reconstruct¥  s«   ø€ ð
 	×ÒØLÐLÐLÐLñ	
ô 	
ð 	
ð
 	ˆ�”	ÑÔÐð Ôð 	IÝØPñô ð ð ×!Ò! '×";Ò";¸D¼JÑ"GÔ"GÑHÔHÐHà×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 ó°   — t          | j        t          ¦  «        rJ ‚| j        rt	          d¦  «        ‚d| j                             ¦   «         › d| j        ›d�S )NrN  zlist.__getitem__(r’   r“   )r   r  r	   r  rO  rq   r1   r-   s    r   r1   zListGetItemSource.name»  sg   € õ ˜dœj­&Ñ1Ô1Ð1Ð1Ð1ØÔð 	KÝØPñô ð ð K t¤y§~¢~Ñ'7Ô'7ÐJÐJ¸4¼:ÐJÐJÐJÐJr*   Nr2   )r3   r4   r5   r¡   r)   r1   r:   r*   r   rJ  rJ  Ÿ  sF   € € € € € ðð ð>ð >ð >ð >ð,
Kð 
Kð 
Kð 
Kð 
Kr*   rJ  c                   ó   — e Zd Zdd„Zd„ ZdS )ÚTupleIteratorGetItemSourcer!   r   c                 óø   ‡— ‰                      ˆfd„¦  «          ‰| j        ¦  «         ‰                     ‰                     | j        ¦  «        ¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  óD   •— ‰                       t          j        d¦  «        S )NÚtuple_iterator_getitemr*  r+  s   €r   rf   z8TupleIteratorGetItemSource.reconstruct.<locals>.<lambda>Ì  s   ø€ �G×,Ò,­U¬^Ð=UÑVÔV€ r*   rÆ   Fr,  r'   s    `r   r)   z&TupleIteratorGetItemSource.reconstructÊ  s„   ø€ Ø×ÒØVÐVÐVÐVñ	
ô 	
ð 	
ð 	ˆ�”	ÑÔÐØ×Ò˜g×7Ò7¸¼
ÑCÔCÑDÔDÐDØ×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 óL   — d| j                              ¦   «         › d| j        ›d�S )Nz___tuple_iterator_getitem(r’   r“   r.  r-   s    r   r1   zTupleIteratorGetItemSource.nameÒ  s)   € ØO¨D¬I¯NªNÑ,<Ô,<ÐOÐOÀÄ
ÐOÐOÐOÐOr*   Nr2   )r3   r4   r5   r)   r1   r:   r*   r   rR  rR  È  s<   € € € € € ð>ð >ð >ð >ðPð Pð Pð Pð Pr*   rR  c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ÚDataclassFieldsSourcer!   r   c                 óž   ‡— ‰                      ˆfd„¦  «          ‰| j        ¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  óD   •— ‰                       t          j        d¦  «        S )NÚdataclass_fieldsr*  r+  s   €r   rf   z3DataclassFieldsSource.reconstruct.<locals>.<lambda>Ú  s   ø€ �G×,Ò,­U¬^Ð=OÑPÔP€ r*   r
   F©rh   rq   ri   r   r'   s    `r   r)   z!DataclassFieldsSource.reconstructØ  s`   ø€ Ø×ÒØPÐPÐPÐPñ	
ô 	
ð 	
ð 	ˆ�”	ÑÔÐØ×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   z"DataclassFieldsSource.guard_sourceß  rt   r*   c                 ó<   — d| j                              ¦   «         › d�S )Nz___dataclass_fields(r“   rv   r-   s    r   r1   zDataclassFieldsSource.nameâ  s   € Ø9 d¤i§n¢nÑ&6Ô&6Ð9Ð9Ð9Ð9r*   Nr2   rw   r:   r*   r   rX  rX  Ö  sF   € € € € € ð>ð >ð >ð >ð(ð (ð (ð:ð :ð :ð :ð :r*   rX  c                   ó(   — e Zd Zd„ Zdd„Zd„ Zd„ ZdS )	Ú
TypeSourcec                 ó   — | j         €J ‚d S r#   rp   r-   s    r   rŠ   zTypeSource.__post_init__è  rÞ   r*   r!   r   c                 óž   ‡— ‰                      ˆfd„¦  «          ‰| j        ¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  ó0   •— ‰                       dd¦  «        S )NÚbuiltinsÚtype©r×   r+  s   €r   rf   z(TypeSource.reconstruct.<locals>.<lambda>ì  s   ø€  g×&>Ò&>¸zÈ6Ñ&RÔ&R€ r*   r
   Fr\  r'   s    `r   r)   zTypeSource.reconstructë  sX   ø€ Ø×ÒÐRÐRÐRÐRÑSÔSÐSØˆ�”	ÑÔÐØ×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zTypeSource.guard_sourceð  rt   r*   c                 ó<   — d| j                              ¦   «         › d�S )Nztype(r“   rv   r-   s    r   r1   zTypeSource.nameó  s   € Ø*�t”y—~’~Ñ'Ô'Ð*Ð*Ð*Ð*r*   Nr2   ré   r:   r*   r   r`  r`  æ  sU   € € € € € ð%ð %ð %ð>ð >ð >ð >ð
(ð (ð (ð+ð +ð +ð +ð +r*   r`  c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ÚOptimizerSourcer!   r   c                 ó&   —  || j         ¦  «         d S r#   rp   r'   s     r   r)   zOptimizerSource.reconstructù  rî   r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zOptimizerSource.guard_sourceü  rt   r*   c                 ó4   — | j                              ¦   «         S r#   rv   r-   s    r   r1   zOptimizerSource.nameÿ  ó   € ØŒy�~Š~ÑÔÐr*   Nr2   rw   r:   r*   r   rj  rj  ÷  sF   € € € € € ðð ð ð ð(ð (ð (ð ð  ð  ð  ð  r*   rj  c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ÚNNModuleSourcer!   r   c                 ó&   —  || j         ¦  «         d S r#   rp   r'   s     r   r)   zNNModuleSource.reconstruct  rî   r*   c                 óJ   — t           | j                             ¦   «                  S r#   r«   r-   s    r   r   zNNModuleSource.guard_source  r­   r*   c                 ó4   — | j                              ¦   «         S r#   rv   r-   s    r   r1   zNNModuleSource.name  rn  r*   Nr2   rw   r:   r*   r   rp  rp    sI   € € € € € ðð ð ð ðMð Mð Mð ð  ð  ð  ð  r*   rp  c                   ó   — e Zd Zd„ ZdS )ÚUnspecializedNNModuleSourcec                 óJ   — t           | j                             ¦   «                  S r#   )Ú%_GUARD_SOURCE_UNSPECIALIZED_NN_MODULErq   r   r-   s    r   r   z(UnspecializedNNModuleSource.guard_source  s   € Ý4°T´Y×5KÒ5KÑ5MÔ5MÔNÐNr*   Nr®   r:   r*   r   ru  ru    s(   € € € € € ðOð Oð Oð Oð Or*   ru  c                   ó   — e Zd Zd„ ZdS )Ú"UnspecializedBuiltinNNModuleSourcec                 óJ   — t           | j                             ¦   «                  S r#   )Ú-_GUARD_SOURCE_UNSPECIALIZED_BUILTIN_NN_MODULErq   r   r-   s    r   r   z/UnspecializedBuiltinNNModuleSource.guard_source  s   € Ý<¸T¼Y×=SÒ=SÑ=UÔ=UÔVÐVr*   Nr®   r:   r*   r   ry  ry    s(   € € € € € ðWð Wð Wð Wð Wr*   ry  c                   ó   — e Zd Zd„ ZdS )ÚFSDPNNModuleSourcec                 óJ   — t           | j                             ¦   «                  S r#   )Ú_GUARD_SOURCE_FSDP_MODULErq   r   r-   s    r   r   zFSDPNNModuleSource.guard_source  s   € Ý(¨¬×)?Ò)?Ñ)AÔ)AÔBÐBr*   Nr®   r:   r*   r   r}  r}    s(   € € € € € ðCð Cð Cð Cð Cr*   r}  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚGlobalStateSourcec                 ó   — dS ©Nr¸   r:   r-   s    r   r1   zGlobalStateSource.name#  ó   € Øˆrr*   c                 ó   — t           j        S r#   r[   r-   s    r   r   zGlobalStateSource.guard_source&  r]   r*   N©r3   r4   r5   r1   r   r:   r*   r   r�  r�  !  s2   € € € € € ðð ð ð"ð "ð "ð "ð "r*   r�  c                   ó4   — e Zd ZU eed<   d„ Zd„ Zd	d„Zd„ ZdS )
ÚTorchFunctionModeStackSourceÚindc                 ó2   — d|                       ¦   «         › d�S )Nz$___get_torch_function_mode_stack_at(r“   )Ú
_get_indexr-   s    r   r1   z!TorchFunctionModeStackSource.name.  s   € ØJ°d·o²oÑ6GÔ6GÐJÐJÐJÐJr*   c                 óB   — ddl m} |                     | j        ¦  «        S )Nr
   )ÚTorchFunctionModeStackVariable)Úvariables.torch_functionr�  Úget_mode_indexr‰  )r(   r�  s     r   r‹  z'TorchFunctionModeStackSource._get_index1  s*   € ØLÐLÐLÐLÐLÐLà-×<Ò<¸T¼XÑFÔFÐFr*   r!   r   c                 óô   ‡— ‰                      ˆfd„¦  «         ‰                     ‰                     |                      ¦   «         ¦  «        g¦  «         ‰                     t	          dd¦  «        ¦  «         d S )Nc                  óD   •— ‰                       t          j        d¦  «        S )NÚ get_torch_function_mode_stack_atr*  r+  s   €r   rf   z:TorchFunctionModeStackSource.reconstruct.<locals>.<lambda>8  s   ø€ �G×,Ò,Ý”Ð Bñô € r*   r
   F)rh   ri   rM   r‹  r   r'   s    `r   r)   z(TorchFunctionModeStackSource.reconstruct6  s…   ø€ Ø×Òðð ð ð ñ	
ô 	
ð 	
ð
 	×Ò˜w×8Ò8¸¿ºÑ9JÔ9JÑKÔKÐLÑMÔMÐMØ×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   c                 ó   — t           j        S r#   r[   r-   s    r   r   z)TorchFunctionModeStackSource.guard_source?  r]   r*   Nr2   )	r3   r4   r5   rP   r7   r1   r‹  r)   r   r:   r*   r   rˆ  rˆ  *  sf   € € € € € € à	€H€H�HðKð Kð KðGð Gð Gð
>ð >ð >ð >ð"ð "ð "ð "ð "r*   rˆ  c                   ó4   — e Zd ZU eed<   d	d„Zd„ Zd„ Zd„ ZdS )
r   Úsource_namer!   r   c                 ód   — |                      |                     | j        d¬¦  «        ¦  «         d S )NFrV   )r%   rY   r•  r'   s     r   r)   zConstantSource.reconstructG  s2   € Ø×Ò˜g×8Ò8¸Ô9IÈuÐ8ÑUÔUÑVÔVÐVÐVÐVr*   c                 ó   — t           j        S r#   )r   r   r-   s    r   r   zConstantSource.guard_sourceJ  s   € ÝÔ#Ð#r*   c                 ó   — | j         S r#   )r•  r-   s    r   r1   zConstantSource.nameM  s   € ØÔÐr*   c                 ó   — t           ‚r#   r»   r¼   s     r   r¾   zConstantSource.make_guardP  r¿   r*   Nr2   )	r3   r4   r5   r6   r7   r)   r   r1   r¾   r:   r*   r   r   r   C  sg   € € € € € € àÐÐÑðWð Wð Wð Wð$ð $ð $ð ð  ð  ð"ð "ð "ð "ð "r*   r   c                   ó(   — e Zd Zdefd„Zd„ Zdd„ZdS )	ÚNumpyTensorSourceÚreturnc                 ó<   — d| j                              ¦   «         › d�S )Nz___from_numpy(r“   rv   r-   s    r   r1   zNumpyTensorSource.nameV  s   € Ø3 ¤	§¢Ñ 0Ô 0Ð3Ð3Ð3Ð3r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zNumpyTensorSource.guard_sourceY  rt   r*   r!   r   c                 óž   ‡— ‰                      ˆfd„¦  «          ‰| j        ¦  «         ‰                     t          dd¦  «        ¦  «         d S )Nc                  ó0   •— ‰                       dd¦  «        S )NÚtorchÚ	as_tensorrf  r+  s   €r   rf   z/NumpyTensorSource.reconstruct.<locals>.<lambda>]  s   ø€  g×&>Ò&>¸wÈÑ&TÔ&T€ r*   r
   Fr\  r'   s    `r   r)   zNumpyTensorSource.reconstruct\  sX   ø€ Ø×ÒÐTÐTÐTÐTÑUÔUÐUØˆ�”	ÑÔÐØ×ÒÕ2°1°eÑ<Ô<Ñ=Ô=Ð=Ð=Ð=r*   Nr2   )r3   r4   r5   r6   r1   r   r)   r:   r*   r   r›  r›  T  sR   € € € € € ð4�cð 4ð 4ð 4ð 4ð(ð (ð (ð>ð >ð >ð >ð >ð >r*   r›  c                   ó    — e Zd Zdefd„Zd„ ZdS )ÚSubclassAttrListSourcerœ  c                 ó:   — | j                              ¦   «         › d�S )Nz.__tensor_flatten__()[0]rv   r-   s    r   r1   zSubclassAttrListSource.named  s   € Ø”)—.’.Ñ"Ô"Ð<Ð<Ð<Ð<r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   z#SubclassAttrListSource.guard_sourceg  rt   r*   N©r3   r4   r5   r6   r1   r   r:   r*   r   r¤  r¤  b  s>   € € € € € ð=�cð =ð =ð =ð =ð(ð (ð (ð (ð (r*   r¤  c                   ó    — e Zd Zdefd„Zd„ ZdS )ÚFloatTensorSourcerœ  c                 ó<   — d| j                              ¦   «         › d�S )Nz___as_tensor(r“   rv   r-   s    r   r1   zFloatTensorSource.nameo  s   € Ø2˜tœyŸ~š~Ñ/Ô/Ð2Ð2Ð2Ð2r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   zFloatTensorSource.guard_sourcer  rt   r*   Nr§  r:   r*   r   r©  r©  m  s>   € € € € € ð3�cð 3ð 3ð 3ð 3ð(ð (ð (ð (ð (r*   r©  c                   ó    — e Zd Zdefd„Zd„ ZdS )ÚCallMethodItemSourcerœ  c                 ó:   — | j                              ¦   «         › d�S )Nz.item()rv   r-   s    r   r1   zCallMethodItemSource.namex  s   € Ø”)—.’.Ñ"Ô"Ð+Ð+Ð+Ð+r*   c                 ó4   — | j                              ¦   «         S r#   rs   r-   s    r   r   z!CallMethodItemSource.guard_source{  rt   r*   Nr§  r:   r*   r   r­  r­  v  s>   € € € € € ð,�cð ,ð ,ð ,ð ,ð(ð (ð (ð (ð (r*   r­  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚShapeEnvSourcec                 ó   — dS rƒ  r:   r-   s    r   r1   zShapeEnvSource.name„  r„  r*   c                 ó   — t           j        S r#   )r   Ú	SHAPE_ENVr-   s    r   r   zShapeEnvSource.guard_source‡  r¶   r*   Nr†  r:   r*   r   r±  r±  ‚  s2   € € € € € ðð ð ð%ð %ð %ð %ð %r*   r±  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚBackwardStateSourcec                 ó   — dS rƒ  r:   r-   s    r   r1   zBackwardStateSource.name�  r„  r*   c                 ó   — t           j        S r#   )r   ÚBACKWARD_STATEr-   s    r   r   z BackwardStateSource.guard_source�  s   € ÝÔ)Ð)r*   Nr†  r:   r*   r   r¶  r¶  ‹  s2   € € € € € ðð ð ð*ð *ð *ð *ð *r*   r¶  F©Úonly_allow_inputr   rœ  c                óª   — t          | t          ¦  «        rt          | j        |¬¦  «        S t          | t          ¦  «        sd S |r	| j        sd S | j        S ©Nrº  )r   r   Úget_local_source_namerq   r   r   r   ©r   r»  s     r   r¾  r¾  ”  sa   € Ý�&�-Ñ(Ô(ð UÝ$ V¤[ÐCSÐTÑTÔTÐTÝ�f�kÑ*Ô*ð ØˆtØð  ¤ð ØˆtØÔÐr*   c                ó(   — t          | |¬¦  «        d uS r½  )r¾  r¿  s     r   Úis_from_local_sourcerÁ  ž  s   € Ý  Ð:JÐKÑKÔKÐSWÐWÐWr*   c                 ó$   — t          | ¦  «        d uS r#   )Úget_global_source_namer   s    r   Úis_from_global_sourcerÄ  ¢  s   € Ý! &Ñ)Ô)°Ð5Ð5r*   c                 ó�   — t          | t          ¦  «        rt          | j        ¦  «        S t          | t          ¦  «        sd S | j        S r#   )r   r   rÃ  rq   rR   rS   r   s    r   rÃ  rÃ  ¦  sD   € Ý�&�-Ñ(Ô(ð 3Ý% f¤kÑ2Ô2Ð2Ý�f�lÑ+Ô+ð ØˆtØÔÐr*   c                 óœ   — t          | t          ¦  «        rt          | j        ¦  «        S t          | t          ¦  «        o| j        o| j         S r#   )r   r   Úis_from_nonlocal_sourcerq   r   r    r   r   s    r   rÇ  rÇ  ®  sN   € Ý�&�-Ñ(Ô(ð 4Ý& v¤{Ñ3Ô3Ð3å�6�;Ñ'Ô'ð 	 ØÔ+ð	 à”Ððr*   Útargetc                 ób   — t          | t          ¦  «        rt          | j        |¦  «        S | |k    S r#   )r   r   Úis_from_sourcerq   )r   rÈ  s     r   rÊ  rÊ  ¸  s1   € Ý�&�-Ñ(Ô(ð 3Ý˜fœk¨6Ñ2Ô2Ð2Ø�VÒÐr*   c                 ó†   — t          | t          ¦  «        rdS t          | t          ¦  «        rt          | j        ¦  «        S dS r   )r   ru  r   Ú&is_from_unspecialized_nn_module_sourcerq   r   s    r   rÌ  rÌ  ¾  sB   € å�&Õ5Ñ6Ô6ð ØˆtÝ�&�-Ñ(Ô(ð CÝ5°f´kÑBÔBÐBØˆ5r*   c                 ó†   — t          | t          ¦  «        rdS t          | t          ¦  «        rt          | j        ¦  «        S dS r   )r   ry  r   Ú.is_from_unspecialized_builtin_nn_module_sourcerq   r   s    r   rÎ  rÎ  Ç  sB   € å�&Õ<Ñ=Ô=ð ØˆtÝ�&�-Ñ(Ô(ð KÝ=¸f¼kÑJÔJÐJØˆ5r*   c                 ó†   — t          | t          ¦  «        rdS t          | t          ¦  «        rt          | j        ¦  «        S dS r   )r   r°   r   Ú)is_from_unspecialized_param_buffer_sourcerq   r   s    r   rÐ  rÐ  Ð  sB   € å�&Õ8Ñ9Ô9ð ØˆtÝ�&�-Ñ(Ô(ð FÝ8¸¼ÑEÔEÐEØˆ5r*   c                 ó†   — t          | t          ¦  «        rdS t          | t          ¦  «        rt          | j        ¦  «        S dS r   )r   rò   r   Ú$is_from_flatten_script_object_sourcerq   r   s    r   rÒ  rÒ  Ù  sC   € å�&Õ3Ñ4Ô4ð AØˆtÝ	�F�MÑ	*Ô	*ð AÝ3°F´KÑ@Ô@Ð@Øˆ5r*   c                 ó†   — t          | t          ¦  «        rdS t          | t          ¦  «        rt          | j        ¦  «        S dS r   )r   rj  r   Úis_from_optimizer_sourcerq   r   s    r   rÔ  rÔ  â  s@   € å�&�/Ñ*Ô*ð ØˆtÝ�&�-Ñ(Ô(ð 5Ý'¨¬Ñ4Ô4Ð4Øˆ5r*   c                 óŠ  — t          | t          ¦  «        rdS t          | t          ¦  «        r,t          | j        t          ¦  «        r| j        j        dk    rdS t          | t          ¦  «        r,t          | j        t          ¦  «        r| j        j        dk    rdS t          | t          ¦  «        rt          | j        ¦  «        S dS )NTr  r  F)	r   r  r2  rq   r}   r~   r  r   Úis_from_defaultsr   s    r   rÖ  rÖ  í  sÀ   € å�&�.Ñ)Ô)ð Øˆtõ 	�6Õ,Ñ-Ô-ðå�v”{¥JÑ/Ô/ðð ŒKÔÐ"2Ò2Ð2àˆtõ 	�6�=Ñ)Ô)ðå�v”{¥JÑ/Ô/ðð ŒKÔ .Ò0Ð0àˆtå�&�-Ñ(Ô(ð -Ý ¤Ñ,Ô,Ð,Øˆ5r*   )ar¡   r  ÚenumÚ	functoolsÚtypingr   r   r   r   Útorch._guardsr   r   r	   r¸   r   Úbytecode_transformationr   r   r!   r   r,   ÚLOCAL_SPECIALIZED_NN_MODULEr\   ÚGLOBAL_SPECIALIZED_NN_MODULEÚLOCAL_UNSPECIALIZED_NN_MODULEÚGLOBAL_UNSPECIALIZED_NN_MODULEÚ%LOCAL_UNSPECIALIZED_BUILTIN_NN_MODULEÚ&GLOBAL_UNSPECIALIZED_BUILTIN_NN_MODULEÚLOCAL_FSDP_MODULEÚGLOBAL_FSDP_MODULEr¬   rw  r{  r  r   Ú	dataclassr   r<   rC   rR   rb   rm   ry   r}   r—   rž   r£   r©   r°   r²   ÚEnumrÅ   rÐ   rÜ   rä   rë   rò   rø   rþ   r  r  r%  r2  rA  rJ  rR  rX  r`  rj  rp  ru  ry  r}  r�  rˆ  r   r›  r¤  r©  r­  r±  r¶  r6   r¾  rÁ  r8   rÄ  rÃ  rÇ  rÊ  Ú	lru_cacherÌ  rÎ  rÐ  rÒ  rÔ  rÖ  r:   r*   r   ú<module>rç     s6  ððð ð& Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <à Ð Ð Ð Ð Ð Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mð ð #Ø"Ð"Ð"Ð"Ð"Ð"ð Ô�{Ô>ØÔ˜Ô@ØÔ+¨[Ô-TØÔ,¨kÔ.VàÔ-¨{Ô/XØÔ.°Ô0ZØÔ5°{Ô7hØÔ6¸Ô8jØÔ! ;Ô#@ØÔ" KÔ$Bð'Ð #ð  Ô�{Ô@ØÔ˜ÔBØÔ-¨{Ô/XØÔ.°Ô0ZàÔ+¨[Ô-VØÔ,¨kÔ.XàÔ5°{Ô7hØÔ6¸Ô8jØÔ! ;Ô#@ØÔ" KÔ$Bð)Ð %ð" Ô�{ÔHØÔ˜ÔJØÔ-¨{Ô/`ØÔ.°Ô0bØÔ+¨[Ô-^ØÔ,¨kÔ.`àÔ5°{Ô7hØÔ6¸Ô8jØÔ! ;Ô#@ØÔ" KÔ$Bð1Ð -ð Ô�{Ô4ØÔ˜Ô6ØÔ+¨[Ô-JØÔ,¨kÔ.LØÔ! ;Ô#@ØÔ" KÔ$BØÔ-¨{Ô/LØÔ.°Ô0NØÔ5°{Ô7TØÔ6¸Ô8VðÐ ð	ð 	ð 	ð €Ô˜dÐ#Ñ#Ô#ð-ð -ð -ð -ð -�&ñ -ô -ñ $Ô#ð-ð8 €Ô˜dÐ#Ñ#Ô#ð
7ð 
7ð 
7ð 
7ð 
7˜6ñ 
7ô 
7ñ $Ô#ð
7ð €Ô˜dÐ#Ñ#Ô#ð8ð 8ð 8ð 8ð 8˜ñ 8ô 8ñ $Ô#ð8ð €Ô˜dÐ#Ñ#Ô#ð
.ð 
.ð 
.ð 
.ð 
.�6ñ 
.ô 
.ñ $Ô#ð
.ð €Ô˜dÐ#Ñ#Ô#ð0ð 0ð 0ð 0ð 0˜&ñ 0ô 0ñ $Ô#ð0ð$ €Ô˜dÐ#Ñ#Ô#ð	'ð 	'ð 	'ð 	'ð 	'˜ñ 	'ô 	'ñ $Ô#ð	'ð €Ô˜dÐ#Ñ#Ô#ð	ð 	ð 	ð 	ð 	Ð0ñ 	ô 	ñ $Ô#ð	ð €Ô˜dÐ#Ñ#Ô#ð3ð 3ð 3ð 3ð 3�ñ 3ô 3ñ $Ô#ð3ð2 €Ô˜dÐ#Ñ#Ô#ðOð Oð Oð Oð O˜ñ Oô Oñ $Ô#ðOð. €Ô˜dÐ#Ñ#Ô#ðLð Lð Lð Lð L�fñ Lô Lñ $Ô#ðLð, €Ô˜dÐ#Ñ#Ô#ð3ð 3ð 3ð 3ð 3�ñ 3ô 3ñ $Ô#ð3ð €Ô˜dÐ#Ñ#Ô#ðMð Mð Mð Mð M˜
ñ Mô Mñ $Ô#ðMð €Ô˜dÐ#Ñ#Ô#ð	ð 	ð 	ð 	ð 	 Zñ 	ô 	ñ $Ô#ð	ð €Ô˜dÐ#Ñ#Ô#ðð ð ð ð �fñ ô ñ $Ô#ðð $ð $ð $ð $ð $�T”Yñ $ô $ð $ð €Ô˜dÐ#Ñ#Ô#ð%;ð %;ð %;ð %;ð %;˜=ñ %;ô %;ñ $Ô#ð%;ðP €Ô˜dÐ#Ñ#Ô#ð3ð 3ð 3ð 3ð 3�Mñ 3ô 3ñ $Ô#ð3ð  €Ô˜dÐ#Ñ#Ô#ð/ð /ð /ð /ð /�=ñ /ô /ñ $Ô#ð/ð €Ô˜dÐ#Ñ#Ô#ðGð Gð Gð Gð G�}ñ Gô Gñ $Ô#ðGð €Ô˜dÐ#Ñ#Ô#ð7ð 7ð 7ð 7ð 7 ñ 7ô 7ñ $Ô#ð7ð €Ô˜dÐ#Ñ#Ô#ð>ð >ð >ð >ð > mñ >ô >ñ $Ô#ð>ð0ð 0ð 0ð 0ð 0�mñ 0ô 0ð 0ð €Ô˜dÐ#Ñ#Ô#ð!ð !ð !ð !ð !�]ñ !ô !ñ $Ô#ð!ðH €Ô˜dÐ#Ñ#Ô#ð#9ð #9ð #9ð #9ð #9�Mñ #9ô #9ñ $Ô#ð#9ðL €Ô˜dÐ#Ñ#Ô#ðð ð ð ð ˜ñ ô ñ $Ô#ðð. €Ô˜dÐ#Ñ#Ô#ð9ð 9ð 9ð 9ð 9˜ñ 9ô 9ñ $Ô#ð9ðH €Ô˜dÐ#Ñ#Ô#ð'9ð '9ð '9ð '9ð '9 ñ '9ô '9ñ $Ô#ð'9ðT €Ô˜dÐ#Ñ#Ô#ð%Kð %Kð %Kð %Kð %K˜ñ %Kô %Kñ $Ô#ð%KðP €Ô˜dÐ#Ñ#Ô#ð
Pð 
Pð 
Pð 
Pð 
P ñ 
Pô 
Pñ $Ô#ð
Pð €Ô˜dÐ#Ñ#Ô#ð:ð :ð :ð :ð :˜Mñ :ô :ñ $Ô#ð:ð €Ô˜dÐ#Ñ#Ô#ð+ð +ð +ð +ð +�ñ +ô +ñ $Ô#ð+ð  €Ô˜dÐ#Ñ#Ô#ð ð  ð  ð  ð  �mñ  ô  ñ $Ô#ð ð €Ô˜dÐ#Ñ#Ô#ð ð  ð  ð  ð  �]ñ  ô  ñ $Ô#ð ð €Ô˜dÐ#Ñ#Ô#ðOð Oð Oð Oð O .ñ Oô Oñ $Ô#ðOð
 €Ô˜dÐ#Ñ#Ô#ðWð Wð Wð Wð WÐ)Dñ Wô Wñ $Ô#ðWð
 €Ô˜dÐ#Ñ#Ô#ðCð Cð Cð Cð C˜ñ Cô Cñ $Ô#ðCð
 €Ô˜dÐ#Ñ#Ô#ð"ð "ð "ð "ð "˜ñ "ô "ñ $Ô#ð"ð €Ô˜dÐ#Ñ#Ô#ð"ð "ð "ð "ð " 6ñ "ô "ñ $Ô#ð"ð0 €Ô˜dÐ#Ñ#Ô#ð"ð "ð "ð "ð "�Vñ "ô "ñ $Ô#ð"ð  €Ô˜dÐ#Ñ#Ô#ð
>ð 
>ð 
>ð 
>ð 
>˜ñ 
>ô 
>ñ $Ô#ð
>ð €Ô˜dÐ#Ñ#Ô#ð(ð (ð (ð (ð (˜]ñ (ô (ñ $Ô#ð(ð €Ô˜dÐ#Ñ#Ô#ð(ð (ð (ð (ð (˜ñ (ô (ñ $Ô#ð(ð €Ô˜dÐ#Ñ#Ô#ð(ð (ð (ð (ð (˜=ñ (ô (ñ $Ô#ð(ð €Ô˜dÐ#Ñ#Ô#ð%ð %ð %ð %ð %�Vñ %ô %ñ $Ô#ð%ð €Ô˜dÐ#Ñ#Ô#ð*ð *ð *ð *ð *˜&ñ *ô *ñ $Ô#ð*ð ?Dð ð ð  &ð ÈÐQTÌð ð ð ð ð >Cð Xð Xð X ð Xð Xð Xð Xð6 &ð 6¨Tð 6ð 6ð 6ð 6ð 6ð ¨h°s¬mð ð ð ð ð Fð ð ð ð ð˜6ð ¨6ð ð ð ð ð Ôð°6ð ð ð ñ Ôðð Ôð¸6ð ð ð ñ Ôðð Ôð°fð ð ð ñ Ôðð Ôð°ð ð ð ñ Ôðð Ôð Vð ð ð ñ Ôðð Ôð˜Vð ð ð ñ Ôðð ð r*   