ó
    .VðiN¯  ã                   ó¨  • S r SSKrSSKrSSKrSSKJr  SSKJrJrJ	r	J
r
  SSKJr  SSKJrJrJrJrJr  SSKJr  SS	KJrJrJr  \	(       a  SS
KJr  \R8                  \R:                  \R<                  \R>                  \R:                  \R:                  \R>                  \R>                  \R@                  \R@                  \RB                  \RB                  \RD                  \RD                  \RF                  \RF                  \RH                  \RH                  \RJ                  \RJ                  0
r&\R8                  \R@                  \R<                  \RB                  \R@                  \R@                  \RB                  \RB                  \R:                  \R@                  \R>                  \RB                  \RD                  \RD                  \RF                  \RF                  \RH                  \RH                  \RJ                  \RJ                  0
r'\R8                  \RD                  \R<                  \RF                  \R@                  \RD                  \RB                  \RF                  \R:                  \RD                  \R>                  \RF                  \RD                  \RD                  \RF                  \RF                  \RH                  \RH                  \RJ                  \RJ                  0
r(\R8                  \RH                  \R<                  \RJ                  \R:                  \RH                  \R>                  \RJ                  \RH                  \RH                  \RJ                  \RJ                  \R@                  \RH                  \RB                  \RJ                  \RD                  \RH                  \RF                  \RJ                  0
r)S\S\*4S jr+S\\   S\,4S jr-S˜S\S\*S\,4S jjr.\" SS9 " S S\5      5       r/\" SS9 " S S\5      5       r0\" SS9 " S S\5      5       r1\" SS9 " S S\5      5       r2\" SS9 " S S\5      5       r3\" SS9 " S S \5      5       r4\" SS9 " S! S"\5      5       r5\" SS9 " S# S$\55      5       r6\" SS9 " S% S&\5      5       r7\" SS9 " S' S(\5      5       r8\" SS9 " S) S*\5      5       r9\" SS9 " S+ S,\5      5       r:\" SS9 " S- S.\5      5       r;\" SS9 " S/ S0\5      5       r<\" SS9 " S1 S2\5      5       r=\" SS9 " S3 S4\5      5       r>\" SS9 " S5 S6\75      5       r?\" SS9 " S7 S8\75      5       r@\" SS9 " S9 S:\5      5       rA\" SS9 " S; S<\5      5       rB " S= S>\R†                  5      rD\" SS9 " S? S@\5      5       rE\" SS9 " SA SB\5      5       rF\" SS9 " SC SD\5      5       rG\" SS9 " SE SF\5      5       rH\" SS9 " SG SH\5      5       rI\" SS9 " SI SJ\5      5       rJ\" SS9 " SK SL\5      5       rK " SM SN\5      rL\" SS9 " SO SP\5      5       rM\" SS9 " SQ SR\5      5       rN\" SS9 " SS ST\5      5       rO\" SS9 " SU SV\5      5       rP\" SS9 " SW SX\5      5       rQ\" SS9 " SY SZ\5      5       rR\" SS9 " S[ S\\N5      5       rS\" SS9 " S] S^\N5      5       rT\" SS9 " S_ S`\5      5       rU\" SS9 " Sa Sb\5      5       rV\" SS9 " Sc Sd\5      5       rW\" SS9 " Se Sf\5      5       rX\" SS9 " Sg Sh\5      5       rY\" SS9 " Si Sj\Y5      5       rZ\" SS9 " Sk Sl\Z5      5       r[\" SS9 " Sm Sn\Y5      5       r\\" SS9 " So Sp\5      5       r]\" SS9 " Sq Sr\5      5       r^\" SS9 " Ss St\5      5       r_\" SS9 " Su Sv\5      5       r`\" SS9 " Sw Sx\5      5       ra\" SS9 " Sy Sz\5      5       rb\" SS9 " S{ S|\5      5       rc\" SS9 " S} S~\5      5       rd\" SS9 " S S€\5      5       re\" SS9 " S� S‚\5      5       rf\" SS9 " Sƒ S„\5      5       rg\" SS9 " S… S†\5      5       rhSS‡.S\Sˆ\*S\\,   4S‰ jjriSS‡.S\Sˆ\*S\*4SŠ jjrjS\S\*4S‹ jrkS\S\\,   4SŒ jrlS\S\*4S� jrmS\S\*4SŽ jrnS\S�\S\*4S� jro\Rà                  S\S\*4S‘ j5       rq\Rà                  S\S\*4S’ j5       rr\Rà                  S\S\*4S“ j5       rs\Rà                  S\S\*4S” j5       rt\Rà                  S\S\*4S• j5       ru\Rà                  S\S\*4S– j5       rv\Rà                  S\S\*4S— j5       rwg)™a  
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)ÚCallable)ÚAnyÚOptionalÚTYPE_CHECKINGÚUnion)Údevice)ÚChainedSourceÚdataclass_with_cached_hashÚGuardÚGuardSourceÚSourceé   )Úutils)Úcreate_binary_subscrÚcreate_build_tupleÚcreate_call_function)Ú	PyCodegenÚsourceÚreturnc                 ó’   • [        U [        5      (       a  g U R                  [        R                  :X  a  g g! [
         a     gf = f©NTF)Ú
isinstanceÚConstantSourceÚguard_sourcer   ÚCONSTANTÚNotImplementedError©r   s    ÚYD:\a\ltx-desktop-ci\ltx-desktop-ci\python-embed\Lib\site-packages\torch\_dynamo\source.pyÚis_constant_sourcer   m   sO   € Ü�&œ.×)Ñ)ØðØ×Ñ¤+×"6Ñ"6Ó6Øð 7ð
 øô ó Øàðús   ˜9 ¹
AÁAc                 óD   • U c  g U R                   $ ! [         a     gf = f)Nz<unknown source>)Únamer   r   s    r   Ú_get_source_debug_namer"   y   s+   € Ø�~Ø!ð	&Ø—;‘;ÐøÜ"ó 	&Ù%ð	&ús   † ’
žFÚsÚ
apply_reprc                 ó‚   • U(       a  [        U 5      n O[        U 5      n U R                  SS5      R                  SS5      $ )a	  
Escapes curly brackets for format strings.
e.g. "frozenset({0})" becomes "frozenset({{0}})".
This is used by _name_template for example, because it's
expected to return a format string, but we may wish to include
strings that should not be accidentally formatted.
Ú{z{{Ú}z}})ÚreprÚstrÚreplace)r#   r$   s     r   Ú_esc_strr+   ƒ   s7   € ö Ü�‹G‰ä�‹FˆØ�9‰9�S˜$Ó×'Ñ'¨¨TÓ2Ð2ó    T)Úfrozenc                   ó¤   • \ rS rSr% \\S'   Sr\\S'   Sr\	\
\      \S'   Sr\\S'   SS	 jr\S\4S
 j5       r\R"                  S\4S j5       rSrg)ÚLocalSourceé’   Ú
local_nameFÚis_inputNÚdynamismÚis_derefed_cell_contentsr   c                 ó²   • U R                   (       a  UR                  U R                  5        g UR                  UR	                  U R                  5      5        g ©N)r4   Ú
load_derefr1   Úappend_outputÚcreate_load©ÚselfÚcodegens     r   ÚreconstructÚLocalSource.reconstruct¢   s:   € Ø×(×(Ø×Ñ˜tŸ™Õ/à×!Ñ! '×"5Ñ"5°d·o±oÓ"FÕGr,   c                 ó"   • [         R                  $ r6   )r   ÚLOCAL©r;   s    r   r   ÚLocalSource.guard_source¨   s   € ä× Ñ Ð r,   c                 ó2   • S[        U R                  SS9 S3$ )NzL[T©r$   Ú]©r+   r1   rA   s    r   Ú_name_templateÚLocalSource._name_template¬   s   € à”H˜TŸ_™_¸Ñ>Ð?¸qÐAÐAr,   © ©r<   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r)   Ú__annotations__r2   Úboolr3   r   Ú	frozensetr4   r=   Úpropertyr   r   Ú	functoolsÚcached_propertyrG   Ú__static_attributes__rI   r,   r   r/   r/   ’   sz   ‡ àƒOð €HˆdÓð *.€Hˆh�y ‘~Ñ&Ó-ð
 &+Ð˜dÓ*ôHð ð!˜kó !ó ð!ð ×ÑðB ó Bó óBr,   r/   c                   óZ   • \ rS rSr% \\S'   S	S jr\S\4S j5       r	\S\4S j5       r
Srg)
ÚTempLocalSourceé±   r1   r   Nc                 óX   • UR                  UR                  U R                  5      5        g r6   ©r8   r9   r1   r:   s     r   r=   ÚTempLocalSource.reconstruct¶   ó   € Ø×Ñ˜g×1Ñ1°$·/±/ÓBÕCr,   c                 ó"   • [         R                  $ r6   )r   Ú
TEMP_LOCALrA   s    r   r   ÚTempLocalSource.guard_source¹   s   € ä×%Ñ%Ð%r,   c                 ó   • [        S5      e)NzhCannot create guard on TempLocalSource - this is an internal Dynamo bug. Please file an issue on GitHub.©r   rA   s    r   rG   ÚTempLocalSource._name_template½   s   € ä!Øvó
ð 	
r,   rI   rJ   )rK   rL   rM   rN   r)   rO   r=   rR   r   r   rG   rU   rI   r,   r   rW   rW   ±   sE   ‡ ð ƒOôDð ð&˜kó &ó ð&ð ð
 ó 
ó ó
r,   rW   c                   ón   • \ rS rSr% \\S'   S	S jr\S\4S j5       r	\
R                  S\4S j5       rSrg)
ÚSyntheticLocalSourceéÄ   r1   r   Nc                 óX   • UR                  UR                  U R                  5      5        g r6   rZ   r:   s     r   r=   Ú SyntheticLocalSource.reconstructÈ   r\   r,   c                 ó"   • [         R                  $ r6   )r   ÚSYNTHETIC_LOCALrA   s    r   r   Ú!SyntheticLocalSource.guard_sourceË   s   € ä×*Ñ*Ð*r,   c                 ó2   • S[        U R                  SS9 S3$ )NzSYNTHETIC_LOCAL[TrD   rE   rF   rA   s    r   rG   Ú#SyntheticLocalSource._name_templateÏ   s   € à!¤(¨4¯?©?ÀtÑ"LÐ!MÈQÐOÐOr,   rI   rJ   ©rK   rL   rM   rN   r)   rO   r=   rR   r   r   rS   rT   rG   rU   rI   r,   r   rd   rd   Ä   sL   ‡ àƒOôDð ð+˜kó +ó ð+ð ×ÑðP ó Pó óPr,   rd   c                   ón   • \ rS rSr% \\S'   \S\4S j5       rS	S jr	\
R                  S\4S j5       rSrg)
ÚRandomValueSourceéÔ   Úrandom_call_indexr   c                 ó"   • [         R                  $ r6   )r   ÚRANDOM_VALUErA   s    r   r   ÚRandomValueSource.guard_sourceØ   s   € ä×'Ñ'Ð'r,   Nc                 ó  • UR                  UR                  UR                  R                  R                  5      5        UR                  UR                  U R                  5      5        UR                  [        5       5        g r6   )r8   r9   ÚtxÚoutputÚrandom_values_varÚcreate_load_constrq   r   r:   s     r   r=   ÚRandomValueSource.reconstructÜ   s\   € Ø×Ñ˜g×1Ñ1°'·*±*×2CÑ2C×2UÑ2UÓVÔWØ×Ñ˜g×7Ñ7¸×8NÑ8NÓOÔPØ×ÑÔ2Ó4Õ5r,   c                 ó2   • S[        U R                  5       3$ )NÚrandom_value_)r+   rq   rA   s    r   rG   Ú RandomValueSource._name_templateá   s   € àœx¨×(>Ñ(>Ó?Ð@ÐAÐAr,   rI   rJ   )rK   rL   rM   rN   ÚintrO   rR   r   r   r=   rS   rT   r)   rG   rU   rI   r,   r   ro   ro   Ô   sJ   ‡ àÓàð(˜kó (ó ð(ô6ð
 ×ÑðB ó Bó óBr,   ro   c                   ón   • \ rS rSr% \\S'   S	S jr\S\4S j5       r	\
R                  S\4S j5       rSrg)
ÚGlobalSourceéæ   Úglobal_namer   Nc                 óV   • UR                  UR                  U R                  SS95        g ©NT©Úadd©r8   Úcreate_load_globalr‚   r:   s     r   r=   ÚGlobalSource.reconstructê   s&   € Ø×Ñ˜g×8Ñ8¸×9IÑ9IÈtÐ8ÐTÕUr,   c                 ó"   • [         R                  $ r6   ©r   ÚGLOBALrA   s    r   r   ÚGlobalSource.guard_sourceí   ó   € ä×!Ñ!Ð!r,   c                 ó2   • S[        U R                  SS9 S3$ )NúG[TrD   rE   ©r+   r‚   rA   s    r   rG   ÚGlobalSource._name_templateñ   s   € à”H˜T×-Ñ-¸$Ñ?Ð@ÀÐBÐBr,   rI   rJ   rm   rI   r,   r   r€   r€   æ   sM   ‡ àÓôVð ð"˜kó "ó ð"ð ×ÑðC ó Có óCr,   r€   c                   ón   • \ rS rSr% \\S'   S	S jr\S\4S j5       r	\
R                  S\4S j5       rSrg)
ÚGlobalWeakRefSourceéö   r‚   r   Nc                 ój   ^ ^• TR                  UU 4S j5        TR                  [        SS5      5        g )Nc                  óV   >• T R                  T R                  TR                  SS95      $ r„   r‡   ©r<   r;   s   €€r   Ú<lambda>Ú1GlobalWeakRefSource.reconstruct.<locals>.<lambda>ü   s)   ø€ �G×)Ñ)Ø×*Ñ*¨4×+;Ñ+;ÀÐ*ÐFôr,   r   F©Úadd_push_nullÚextend_outputr   r:   s   ``r   r=   ÚGlobalWeakRefSource.reconstructú   s.   ù€ Ø×Ñõô	
ð
 	×ÑÔ2°1°eÓ<Õ=r,   c                 ó"   • [         R                  $ r6   r‹   rA   s    r   r   Ú GlobalWeakRefSource.guard_source  rŽ   r,   c                 ó2   • S[        U R                  SS9 S3$ )Nr�   TrD   z]()r‘   rA   s    r   rG   Ú"GlobalWeakRefSource._name_template  s   € à”H˜T×-Ñ-¸$Ñ?Ð@ÀÐDÐDr,   rI   rJ   rm   rI   r,   r   r”   r”   ö   sL   ‡ àÓô>ð ð"˜kó "ó ð"ð ×ÑðE ó Eó óEr,   r”   c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚWeakRefCallSourcei  r   Nc                 ój   ^ ^• TR                  UU 4S j5        TR                  [        SS5      5        g )Nc                  ó(   >• T " TR                   5      $ r6   ©Úbaser˜   s   €€r   r™   Ú/WeakRefCallSource.reconstruct.<locals>.<lambda>  s   ø€ ¡g¨d¯i©iÔ&8r,   r   Fr›   r:   s   ``r   r=   ÚWeakRefCallSource.reconstruct  s(   ù€ Ø×ÑÕ8Ô9Ø×ÑÔ2°1°eÓ<Õ=r,   c                 ó   • g)Nz{0}()rI   rA   s    r   rG   Ú WeakRefCallSource._name_template  s   € àr,   rI   rJ   ©	rK   rL   rM   rN   r=   rR   r)   rG   rU   rI   r,   r   r¤   r¤     s"   † ô>ð ð ó ó ór,   r¤   c                   ó   • \ rS rSrSrg)ÚCallFunctionNoArgsSourcei  rI   N©rK   rL   rM   rN   rU   rI   r,   r   r¯   r¯     ó   † âr,   r¯   c                   ó`   • \ rS rSr% \\S'   S	S jrS
S jr\R                  S\4S j5       r
Srg)Ú
AttrSourcei  Úmemberr   Nc                 ó:  • U R                   (       d   S5       eSU R                  ;   as  U R                  R                  S5      n[        R	                  U S[        U R                   SR                  US S 5      5      5        [        R	                  U SUS   5        g g ©Nz9Can't construct an AttrSource without a valid base sourceÚ.r¨   éÿÿÿÿr´   ©r¨   r´   ÚsplitÚobjectÚ__setattr__r³   Újoin©r;   Úmember_partss     r   Ú__post_init__ÚAttrSource.__post_init__  ó‚   € Ø�y�yÐUÐUÓUˆyØ�$—+‘+ÓØŸ;™;×,Ñ,¨SÓ1ˆLÜ×ÑØ�fœj¨¯©°C·H±H¸\È#È2Ð=NÓ4OÓPôô ×Ñ˜t X¨|¸BÑ/?Õ@ð r,   c                 ó|   • U" U R                   5        UR                  UR                  U R                  5      5        g r6   ©r¨   r�   Úcreate_load_attrsr´   r:   s     r   r=   ÚAttrSource.reconstruct(  ó+   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿¹ÓDÕEr,   c                 ó    • U R                   R                  5       (       d  S[        U R                   SS9 S3$ S[        U R                   5       3$ )Nzgetattr({0}, TrD   Ú)ú{0}.)r´   Úisidentifierr+   rA   s    r   rG   ÚAttrSource._name_template,  sG   € à�{‰{×'Ñ'×)Ñ)Ø$¤X¨d¯k©kÀdÑ%KÐ$LÈAÐNÐNØœ §¡Ó-Ð.Ð/Ð/r,   rI   ©r   NrJ   ©rK   rL   rM   rN   r)   rO   rÀ   r=   rS   rT   rG   rU   rI   r,   r   r³   r³     s4   ‡ àƒKôAôFð ×Ñð0 ó 0ó ó0r,   r³   c                   ó`   • \ rS rSr% \\S'   S	S jrS
S jr\R                  S\4S j5       r
Srg)ÚGenericAttrSourcei3  r´   r   Nc                 ó:  • U R                   (       d   S5       eSU R                  ;   as  U R                  R                  S5      n[        R	                  U S[        U R                   SR                  US S 5      5      5        [        R	                  U SUS   5        g g r¶   r¹   r¾   s     r   rÀ   ÚGenericAttrSource.__post_init__7  rÂ   r,   c                 ó|   • U" U R                   5        UR                  UR                  U R                  5      5        g r6   rÄ   r:   s     r   r=   ÚGenericAttrSource.reconstruct@  rÇ   r,   c                 ó2   • S[        U R                  SS9 S3$ )Nzobject.__getattribute__({0}, TrD   rÉ   ©r+   r´   rA   s    r   rG   Ú GenericAttrSource._name_templateD  s"   € ð .¬h°t·{±{ÈtÑ.TÐ-UÐUVÐWð	
r,   rI   rÍ   rJ   rÎ   rI   r,   r   rÐ   rÐ   3  s4   ‡ àƒKôAôFð ×Ñð
 ó 
ó ó
r,   rÐ   c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚTypeDictSourceiL  r   Nc                 óh   • U" U R                   5        UR                  UR                  S5      5        g )NÚ__dict__©r¨   r�   rÅ   r:   s     r   r=   ÚTypeDictSource.reconstructN  ó'   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸
ÓCÕDr,   c                 ó   • g)Nzdict({0}.__dict__)rI   rA   s    r   rG   ÚTypeDictSource._name_templateR  s   € ð $r,   rI   rJ   r­   rI   r,   r   rÙ   rÙ   L  s#   † ôEð ð$ ó $ó ó$r,   rÙ   c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚTypeMROSourcei\  r   Nc                 óh   • U" U R                   5        UR                  UR                  S5      5        g )NÚ__mro__rÜ   r:   s     r   r=   ÚTypeMROSource.reconstruct^  ó'   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸	ÓBÕCr,   c                 ó   • g)Nz{0}.__mro__rI   rA   s    r   rG   ÚTypeMROSource._name_templateb  s   € àr,   rI   rJ   r­   rI   r,   r   râ   râ   \  s#   † ôDð ð ó ó ór,   râ   c                   ó.   • \ rS rSr% Sr\\S'   SS jrSrg)ÚLocalCellSourceig  zw
Conceptually, this class is `LocalSource` for cell objects implicitly
generated by Python (e.g., captured variables).
r1   Nc                 óX   • UR                  UR                  U R                  5      5        g r6   )r8   Úcreate_load_closurer1   r:   s     r   r=   ÚLocalCellSource.reconstructp  s!   € ð 	×Ñ˜g×9Ñ9¸$¿/¹/ÓJÕKr,   rI   rJ   )	rK   rL   rM   rN   Ú__doc__r)   rO   r=   rU   rI   r,   r   rê   rê   g  s   ‡ ñð
 ƒO÷Lr,   rê   c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)Ú
CodeSourcei{  r   Nc                 óh   • U" U R                   5        UR                  UR                  S5      5        g )NÚ__code__rÜ   r:   s     r   r=   ÚCodeSource.reconstruct}  rÞ   r,   c                 ó   • g)Nz{0}.__code__rI   rA   s    r   rG   ÚCodeSource._name_template�  s   € àr,   rI   rJ   r­   rI   r,   r   rð   rð   {  s#   † ôEð ð ó ó ór,   rð   c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚClosureSourcei‡  r   Nc                 óh   • U" U R                   5        UR                  UR                  S5      5        g )NÚ__closure__rÜ   r:   s     r   r=   ÚClosureSource.reconstruct‰  s'   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸ÓFÕGr,   c                 ó   • g)Nz{0}.__closure__rI   rA   s    r   rG   ÚClosureSource._name_template�  s   € à r,   rI   rJ   r­   rI   r,   r   r÷   r÷   ‡  s#   † ôHð ð! ó !ó ó!r,   r÷   c                   óZ   • \ rS rSr% Sr\\S'   S	S jr\R                  S\4S j5       r
Srg)
Ú
GradSourcei–  Úgradr´   r   Nc                 ó|   • U" U R                   5        UR                  UR                  U R                  5      5        g r6   rÄ   r:   s     r   r=   ÚGradSource.reconstructš  rÇ   r,   c                 ó2   • S[        U R                  5       3$ )NrÊ   rÖ   rA   s    r   rG   ÚGradSource._name_templatež  s   € àœ §¡Ó-Ð.Ð/Ð/r,   rI   rJ   )rK   rL   rM   rN   r´   r)   rO   r=   rS   rT   rG   rU   rI   r,   r   rþ   rþ   –  s3   ‡ à€FˆCÓôFð ×Ñð0 ó 0ó ó0r,   rþ   c                   ó@   • \ rS rSr\R
                  S\4S j5       rSrg)ÚParamBufferSourcei£  r   c                 ó<   • [         U R                  R                     $ r6   ©Ú#_GUARD_SOURCE_SPECIALIZED_NN_MODULEr¨   r   rA   s    r   r   ÚParamBufferSource.guard_source¥  ó   € ä2°4·9±9×3IÑ3IÑJÐJr,   rI   N©	rK   rL   rM   rN   rS   rT   r   r   rU   rI   r,   r   r  r  £  s$   † à×ÑðK˜kó Kó óKr,   r  c                   ó   • \ rS rSrSrg)ÚUnspecializedParamBufferSourcei«  rI   Nr°   rI   r,   r   r  r  «  r±   r,   r  c                   ó˜   • \ rS rSr% Sr\\   \S'   \S\	4S j5       r
\R                  S\4S j5       rS\S\4   S\4S	 jrS\4S
 jrSrg)ÚEphemeralSourcei¹  NÚdescr   c                 ó"   • [         R                  $ r6   )r   Ú	EPHEMERALrA   s    r   r   ÚEphemeralSource.guard_source½  ó   € ä×$Ñ$Ð$r,   c                 ó\   • U R                   b  SU R                   -   OSnS[        U5       S3$ )Nz: Ú z
<ephemeralÚ>)r  r+   )r;   r  s     r   rG   ÚEphemeralSource._name_templateÁ  s/   € à#'§9¡9Ñ#8ˆt�d—i‘iÒ¸bˆØœH T›NÐ+¨1Ð-Ð-r,   Úfn.c                 ó   • [         er6   ra   ©r;   r  s     r   Ú
make_guardÚEphemeralSource.make_guardÆ  ó   € Ü!Ð!r,   c                 ó   • g©NTrI   rA   s    r   Úis_ephemeralÚEphemeralSource.is_ephemeralÉ  ó   € Ør,   rI   )rK   rL   rM   rN   r  r   r)   rO   rR   r   r   rS   rT   rG   r   r   r   r  rP   r!  rU   rI   r,   r   r  r  ¹  sr   ‡ à€Dˆ(�3‰-Óàð%˜kó %ó ð%ð ×Ñð. ó .ó ð.ð"˜X c¨3 hÑ/ð "°Eô "ð˜d÷ r,   r  c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚSkipGuardSourceiÍ  r   Nc                 ó:   • U R                   R                  U5        g r6   )r¨   r=   r:   s     r   r=   ÚSkipGuardSource.reconstructÏ  s   € Ø�	‰	×Ñ˜gÕ&r,   c                 ó   • g©Nz{0}rI   rA   s    r   rG   ÚSkipGuardSource._name_templateÒ  ó   € àr,   rI   rJ   r­   rI   r,   r   r%  r%  Í  s"   † ô'ð ð ó ó ór,   r%  c                   ó.   • \ rS rSrSrSrSrS\4S jrSr	g)	ÚTensorPropertyi×  r   r   é   r   c                 ó¨   • U [         R                  L a  gU [         R                  L a  gU [         R                  L a  g[	        S[        U 5       35      e)NÚsizeÚstrideÚstorage_offsetú
unhandled )r-  ÚSIZEÚSTRIDEÚSTORAGE_OFFSETÚAssertionErrorr+   rA   s    r   Úmethod_nameÚTensorProperty.method_nameÜ  sL   € Ø”>×&Ñ&Ò&ØØ”^×*Ñ*Ò*ØØ”^×2Ñ2Ò2Ø#ä  :¬h°t«nÐ-=Ð!>Ó?Ð?r,   rI   N)
rK   rL   rM   rN   r4  r5  r6  r)   r8  rU   rI   r,   r   r-  r-  ×  s   † Ø€DØ€FØ€Nð@˜S÷ @r,   r-  c                   ót   • \ rS rSr% \\S'   Sr\\   \S'   S
S jr	SS jr
\R                  S\4S j5       rS	rg)ÚTensorPropertySourceiç  ÚpropNÚidxr   c                 óš   • U R                   c   eU R                  [        R                  L a  U R                  b   eg U R                  c   eg r6   )r¨   r<  r-  r6  r=  rA   s    r   rÀ   Ú"TensorPropertySource.__post_init__ì  sD   € Ø�y‰yÑ$Ð$Ð$Ø�9‰9œ×5Ñ5Ò5Ø—8‘8Ñ#Ð#Ñ#à—8‘8Ñ'Ð'Ñ'r,   c                 ó  ^ ^• TR                  UU 4S j5        T" T R                  5        T R                  b*  TR                  TR	                  T R                  5      5        TR                  [        T R                  b  SOSS5      5        g )Nc                  óŒ   >• T R                  [        R                  S[        TR                  R                  5       5       35      $ )NÚcall_)Úload_import_fromr   rK   r+   r<  r8  r˜   s   €€r   r™   Ú2TensorPropertySource.reconstruct.<locals>.<lambda>õ  s3   ø€ �G×,Ñ,Ü—‘ %¬°·±×1FÑ1FÓ1HÓ(IÐ'JÐ Kôr,   r.  r   F)rœ   r¨   r=  r8   ry   r�   r   r:   s   ``r   r=   Ú TensorPropertySource.reconstructó  sn   ù€ Ø×Ñõô	
ñ
 	�—	‘	Ôà�8‰8ÑØ×!Ñ! '×";Ñ";¸D¿H¹HÓ"EÔFØ×ÑÜ  d§h¡hÑ&:¡ÀÀ5ÓIõ	
r,   c                 óv  • U R                   [        R                  L a  S[        U R                  5       S3$ U R                   [        R
                  L a  S[        U R                  5       S3$ U R                   [        R                  L a  U R                  b   eg[        S[        U R                   5       35      e)Nz{0}.size()[rE   z{0}.stride()[z{0}.storage_offset()r3  )r<  r-  r4  r+   r=  r5  r6  r7  rA   s    r   rG   Ú#TensorPropertySource._name_template  s™   € à�9‰9œ×+Ñ+Ò+Ø"¤8¨D¯H©HÓ#5Ð"6°aÐ8Ð8Ø�Y‰Yœ.×/Ñ/Ò/Ø$¤X¨d¯h©hÓ%7Ð$8¸Ð:Ð:Ø�Y‰Yœ.×7Ñ7Ò7Ø—8‘8Ñ#Ð#Ð#Ø)ä  :¬h°t·y±yÓ.AÐ-BÐ!CÓDÐDr,   rI   rÍ   rJ   )rK   rL   rM   rN   r-  rO   r=  r   r~   rÀ   r=   rS   rT   r)   rG   rU   rI   r,   r   r;  r;  ç  sD   ‡ à
ÓØ€Cˆ�#‰Óô(ô
ð ×Ñð	E ó 	Eó ó	Er,   r;  c                   ó`   • \ rS rSr% \\S'   S	S jrS
S jr\R                  S\
4S j5       rSrg)ÚIndexedSourcei  r=  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   rÀ   ÚIndexedSource.__post_init__  ó   € Ø�y‰yÑ$Ð$Ñ$r,   c                 ó   • [         er6   ra   r:   s     r   r=   ÚIndexedSource.reconstruct  r  r,   c                 ó4   • S[        U R                  5       S3$ )NÚ(z, {0}))r+   r=  rA   s    r   rG   ÚIndexedSource._name_template  s   € à”8˜DŸH™HÓ%Ð& hÐ/Ð/r,   rI   rÍ   rJ   )rK   rL   rM   rN   r~   rO   rÀ   r=   rS   rT   r)   rG   rU   rI   r,   r   rI  rI    s2   ‡ à	ƒHô%ô"ð ×Ñð0 ó 0ó ó0r,   rI  c                   ó@   • \ rS rSrSS jrS	S jr\S\4S j5       rSr	g)
ÚNegateSourcei  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   rÀ   ÚNegateSource.__post_init__  rL  r,   c                 ó   • [         er6   ra   r:   s     r   r=   ÚNegateSource.reconstruct"  r  r,   c                 ó   • g)Nz{0}.__neg__()rI   rA   s    r   rG   ÚNegateSource._name_template%  s   € ð r,   rI   rÍ   rJ   ©
rK   rL   rM   rN   rÀ   r=   rR   r)   rG   rU   rI   r,   r   rS  rS    s'   † ô%ô"ð ð ó ó ór,   rS  c                   ó@   • \ rS rSrSS jrS	S jr\S\4S j5       rSr	g)
ÚConvertIntSourcei+  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   rÀ   ÚConvertIntSource.__post_init__-  rL  r,   c                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   ÚConvertIntSource.reconstruct0  ó   € Ù�—	‘	Õr,   c                 ó   • g)Nz%cast_symbool_to_symint_guardless({0})rI   rA   s    r   rG   ÚConvertIntSource._name_template3  s   € à6r,   rI   rÍ   rJ   rZ  rI   r,   r   r\  r\  +  s'   † ô%ôð ð7 ó 7ó ó7r,   r\  c                   óL   • \ rS rSr% \\S'   S	S jrS
S jr\S\	4S j5       r
Srg)ÚDynamicScalarSourcei8  Úis_intr   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   rÀ   Ú!DynamicScalarSource.__post_init__<  rL  r,   c                 óŠ   ^• TR                  U4S j5        T" U R                  5        TR                  [        SS5      5        g )Nc                  ó(   >• T R                  SS5      $ )NÚbuiltinsr~   ©rC  ©r<   s   €r   r™   Ú1DynamicScalarSource.reconstruct.<locals>.<lambda>D  s   ø€  g×&>Ñ&>¸zÈ5Ô&Qr,   r   F©rœ   r¨   r�   r   r:   s    `r   r=   ÚDynamicScalarSource.reconstruct?  s6   ø€ ð
 	×ÑÔQÔRÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó   • g)Nzint({0})rI   rA   s    r   rG   Ú"DynamicScalarSource._name_templateH  s   € àr,   rI   rÍ   rJ   )rK   rL   rM   rN   rP   rO   rÀ   r=   rR   r)   rG   rU   rI   r,   r   re  re  8  s,   ‡ àƒLô%ô>ð ð ó ó ór,   re  c                   ó@   • \ rS rSrSS jrS	S jr\S\4S j5       rSr	g)
ÚFlattenScriptObjectSourceiM  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   rÀ   Ú'FlattenScriptObjectSource.__post_init__O  rL  r,   c                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   Ú%FlattenScriptObjectSource.reconstructR  ra  r,   c                 ó   • g)Nz{0}.__obj_flatten__()rI   rA   s    r   rG   Ú(FlattenScriptObjectSource._name_templateU  s   € à&r,   rI   rÍ   rJ   rZ  rI   r,   r   rt  rt  M  s'   † ô%ôð ð' ó 'ó ó'r,   rt  c                   ó@   • \ rS rSrSS jrS	S jr\S\4S j5       rSr	g)
ÚScriptObjectQualifiedNameSourceiZ  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   rÀ   Ú-ScriptObjectQualifiedNameSource.__post_init__\  rL  r,   c                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   Ú+ScriptObjectQualifiedNameSource.reconstruct_  ra  r,   c                 ó   • g)Nz{0}._type().qualified_name()rI   rA   s    r   rG   Ú.ScriptObjectQualifiedNameSource._name_templateb  s   € à-r,   rI   rÍ   rJ   rZ  rI   r,   r   r|  r|  Z  s'   † ô%ôð ð. ó .ó ó.r,   r|  c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚAttrProxySourceig  r   Nc                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   ÚAttrProxySource.reconstructh  ra  r,   c                 ó   • g)Nz{0}.get_base()rI   rA   s    r   rG   ÚAttrProxySource._name_templatek  s   € àr,   rI   rJ   r­   rI   r,   r   r„  r„  g  s"   † ôð ð  ó  ó ó r,   r„  c                   óÔ   • \ rS rSr% \\\4   \S'   Sr\	\S'   \
R                  " SSSS9r\\S'   \
R                  " SSSS9r\\S'   SS
 jrSS jr\R                   S\4S j5       rSrg	)ÚDefaultsSourceip  Úidx_keyFÚis_kw)Úinitr(   ÚcompareÚfieldÚ_namer   Nc           
      óH  • U R                   (       d   S5       eU R                  (       a}  [        U R                  [        5      (       d   e[
        R                  U SS5        [
        R                  U SS[        U R                  5       S[        U R                  5       S35        g [        U R                  [        5      (       d   e[
        R                  U SS5        [
        R                  U SS[        U R                  5       S	[        U R                  5       S
35        g )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__Ú[rE   )
r¨   rŒ  r   r‹  r)   r»   r¼   r+   r�  r~   rA   s    r   rÀ   ÚDefaultsSource.__post_init__w  sé   € Ø�y�yð 	
Økó	
ˆyð �:�:Ü˜dŸl™l¬C×0Ñ0Ð0Ð0Ü×Ñ˜t WÐ.>Ô?Ü×ÑØØØœ $§*¡*Ó-Ð.¨b´¸$¿,¹,Ó1GÐ0HÈÐKõô ˜dŸl™l¬C×0Ñ0Ð0Ð0Ü×Ñ˜t W¨nÔ=Ü×ÑØ�g ¬°·±Ó(<Ð'=¸Q¼xÈÏÉÓ?UÐ>VÐVWÐXõr,   c                 ó  • U" U R                   5        UR                  UR                  U R                  5      5        UR	                  UR                  U R                  5      5        UR	                  [        5       5        g r6   )r¨   r�   rÅ   r�  r8   ry   r‹  r   r:   s     r   r=   ÚDefaultsSource.reconstructŠ  sZ   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×Ñ˜g×7Ñ7¸¿¹ÓEÔFØ×ÑÔ2Ó4Õ5r,   c                 ó   • U R                   $ r6   )r�  rA   s    r   rG   ÚDefaultsSource._name_template�  s   € à�z‰zÐr,   rI   rÍ   rJ   )rK   rL   rM   rN   r   r~   r)   rO   rŒ  rP   Údataclassesr�  r�  rÀ   r=   rS   rT   rG   rU   rI   r,   r   rŠ  rŠ  p  sw   ‡ à�3˜�8‰_ÓØ€Eˆ4ÓØ×"Ò"¨°EÀ5ÑI€Eˆ3ÓIØ×"Ò"¨°EÀ5ÑI€Eˆ3ÓIôô&6ð ×Ñð ó ó ór,   rŠ  c                   óŠ   ^ • \ rS rSr% \\S'   Sr\\S'   SU 4S jjrSS jr	S\
4S jr\R                  S\4S	 j5       rS
rU =r$ )ÚGetItemSourcei•  ÚindexFÚindex_is_slicer   c                 óÔ   >• U R                   c   e[        U R                  [        5      (       a9  [        TU ]  SU R                  R                  5       5        [        TU ]  SS5        g g )Nr�  rž  T)r¨   r   r�  ÚsliceÚsuperr¼   Ú
__reduce__)r;   Ú	__class__s    €r   rÀ   ÚGetItemSource.__post_init__š  sU   ø€ Ø�y‰yÑ$Ð$Ð$Ü�d—j‘j¤%×(Ñ(ä‰GÑ ¨¯©×)>Ñ)>Ó)@ÔAÜ‰GÑÐ 0°$Õ7ð )r,   c                 ó.  • U" U R                   5        U R                  (       a/  UR                  UR                  U R	                  5       5      5        O*UR                  UR                  U R
                  5      5        UR                  [        5       5        g r6   )r¨   rž  r8   ry   Úunpack_slicer�  r   r:   s     r   r=   ÚGetItemSource.reconstruct¡  sh   € Ù�—	‘	ÔØ××Ø×!Ñ! '×";Ñ";¸D×<MÑ<MÓ<OÓ"PÕQà×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHØ×ÑÔ2Ó4Õ5r,   c                 óN   • U R                   (       d   eU R                  u  pU" U6 $ r6   )rž  r�  )r;   Úslice_classÚ
slice_argss      r   r¦  ÚGetItemSource.unpack_slice©  s(   € Ø×"×"Ð"Ð"Ø"&§*¡*ÑˆÙ˜JÐ'Ð'r,   c                 óÎ   • [        U R                  [        5      (       a   eU R                  (       a  S[	        U R                  5       SS9 S3$ S[	        U R                  SS9 S3$ )Nú{0}[TrD   rE   )r   r�  r   rž  r+   r¦  rA   s    r   rG   ÚGetItemSource._name_template®  s_   € ô
 ˜dŸj™j¬&×1Ñ1Ð1Ð1Ø××ØœH T×%6Ñ%6Ó%8ÀTÑJÐKÈ1ÐMÐMàœH T§Z¡Z¸DÑAÐBÀ!ÐDÐDr,   rI   rÍ   rJ   )rK   rL   rM   rN   r   rO   rž  rP   rÀ   r=   r   r¦  rS   rT   r)   rG   rU   Ú__classcell__©r£  s   @r   rœ  rœ  •  sL   ø‡ àƒJØ €N�DÓ ÷8ô6ð(˜eô (ð
 ×ÑðE ó Eó öEr,   rœ  c                   ód   • \ rS rSr% \\S'   S	S jr\R                  S\	4S j5       r
S\4S jrSrg)
ÚConstDictKeySourceiº  r�  r   Nc                 óÞ   ^• TR                  U4S j5        T" U R                  5        TR                  TR                  U R                  5      5        TR                  [        SS5      5        g )Nc                  óD   >• T R                  [        R                  S5      $ )NÚdict_keys_getitem©rC  r   rK   rm  s   €r   r™   Ú0ConstDictKeySource.reconstruct.<locals>.<lambda>À  s   ø€ �G×,Ñ,¬U¯^©^Ð=PÔQr,   r.  F©rœ   r¨   r8   ry   r�  r�   r   r:   s    `r   r=   ÚConstDictKeySource.reconstruct¾  sU   ø€ Ø×ÑÜQô	
ñ 	�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó2   • S[        U R                  SS9 S3$ )Nzlist(dict.keys({0}))[TrD   rE   ©r+   r�  rA   s    r   rG   Ú!ConstDictKeySource._name_templateÆ  s   € ð )¬°$·*±*ÈÑ)NÐ(OÈqÐQÐQr,   c                 ó   • gr   rI   rA   s    r   Úis_dict_keyÚConstDictKeySource.is_dict_keyË  r#  r,   rI   rJ   )rK   rL   rM   rN   r   rO   r=   rS   rT   r)   rG   rP   r¾  rU   rI   r,   r   r²  r²  º  s<   ‡ àƒJô>ð ×ÑðR ó Ró ðRð˜T÷ r,   r²  c                   ón   • \ rS rSr% \\S'   S
S jrSS jr\R                  S\
4S j5       rS\4S jrS	rg)ÚNonSerializableSetGetItemSourceiÏ  r�  r   Nc                 óT   • SSK Jn  UR                  U R                  5      (       d   eg ©Nr   )ÚConstantVariable)Ú	variablesrÄ  Ú
is_literalr�  ©r;   rÄ  s     r   rÀ   Ú-NonSerializableSetGetItemSource.__post_init__Ó  s    € Ý/à×*Ñ*¨4¯:©:×6Ñ6Ð6Ñ6r,   c                 óÞ   ^• TR                  U4S j5        T" U R                  5        TR                  TR                  U R                  5      5        TR                  [        SS5      5        g )Nc                  óD   >• T R                  [        R                  S5      $ )NÚset_getitemr¶  rm  s   €r   r™   Ú=NonSerializableSetGetItemSource.reconstruct.<locals>.<lambda>Ú  s   ø€ �G×,Ñ,¬U¯^©^¸]ÔKr,   r.  Fr¸  r:   s    `r   r=   Ú+NonSerializableSetGetItemSource.reconstructØ  sU   ø€ Ø×ÑÜKô	
ñ 	�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó2   • S[        U R                  SS9 S3$ )Nz
list({0})[TrD   rE   r»  rA   s    r   rG   Ú.NonSerializableSetGetItemSource._name_templateà  s   € ð œh t§z¡z¸dÑCÐDÀAÐFÐFr,   c                 ó   • g)NFrI   rA   s    r   r¾  Ú+NonSerializableSetGetItemSource.is_dict_keyå  s   € Ør,   rI   rÍ   rJ   )rK   rL   rM   rN   r~   rO   rÀ   r=   rS   rT   r)   rG   rP   r¾  rU   rI   r,   r   rÁ  rÁ  Ï  sA   ‡ àƒJô7ô
>ð ×ÑðG ó Gó ðGð˜T÷ r,   rÁ  c                   ó`   • \ rS rSr% \\S'   S	S jrS
S jr\R                  S\
4S j5       rSrg)ÚDictGetItemSourceiê  r�  r   Nc                 ó”   • SSK Jn  [        U R                  [        5      (       d#  UR                  U R                  5      (       d   eg g rÃ  ©rÅ  rÄ  r   r�  r²  rÆ  rÇ  s     r   rÀ   ÚDictGetItemSource.__post_init__ñ  óC   € Ý/äØ�J‰JÔ*÷
ñ 
à×(Ñ(¨¯©×4Ñ4ð	5ð 5à4ð
r,   c                 ó  • U" U R                   5        [        U R                  [        5      (       a  U" U R                  5        O*UR	                  UR                  U R                  5      5        UR	                  [        5       5        g r6   )r¨   r   r�  r   r8   ry   r   r:   s     r   r=   ÚDictGetItemSource.reconstructø  s\   € á�—	‘	Ôô �d—j‘j¤&×)Ñ)Ù�D—J‘JÕà×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHØ×ÑÔ2Ó4Õ5r,   c                 ó¶   • [        U R                  [        5      (       a#  S[        U R                  R                  5       S3$ S[        U R                  SS9 S3$ )Nr­  rE   TrD   ©r   r�  r²  r+   r!   rA   s    r   rG   Ú DictGetItemSource._name_template  sL   € ä�d—j‘jÔ"4×5Ñ5ØœH T§Z¡Z§_¡_Ó5Ð6°aÐ8Ð8àœH T§Z¡Z¸DÑAÐBÀ!ÐDÐDr,   rI   rÍ   rJ   ©rK   rL   rM   rN   r   rO   rÀ   r=   rS   rT   r)   rG   rU   rI   r,   r   rÓ  rÓ  ê  s7   ‡ ð
 ƒJô5ô	6ð ×ÑðE ó Eó óEr,   rÓ  c                   ó`   • \ rS rSr% \\S'   S	S jrS
S jr\R                  S\
4S j5       rSrg)ÚDictSubclassGetItemSourcei  r�  r   Nc                 ó”   • SSK Jn  [        U R                  [        5      (       d#  UR                  U R                  5      (       d   eg g rÃ  rÕ  rÇ  s     r   rÀ   Ú'DictSubclassGetItemSource.__post_init__  r×  r,   c                 óB  ^• TR                  U4S j5        T" U R                  5        [        U R                  [        5      (       a  T" U R                  5        O*TR                  TR                  U R                  5      5        TR                  [        SS5      5        g )Nc                  óD   >• T R                  [        R                  S5      $ )NÚdict_getitemr¶  rm  s   €r   r™   Ú7DictSubclassGetItemSource.reconstruct.<locals>.<lambda>   ó   ø€ �G×,Ñ,¬U¯^©^¸^ÔLr,   r.  F)	rœ   r¨   r   r�  r   r8   ry   r�   r   r:   s    `r   r=   Ú%DictSubclassGetItemSource.reconstruct  sv   ø€ ð 	×ÑÜLô	
ñ
 	�—	‘	Ôô �d—j‘j¤&×)Ñ)Ù�D—J‘JÕà×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHà×ÑÔ2°1°eÓ<Õ=r,   c                 ó¶   • [        U R                  [        5      (       a#  S[        U R                  R                  5       S3$ S[        U R                  SS9 S3$ )Nzdict.__getitem__({0}, rÉ   r­  TrD   rE   rÛ  rA   s    r   rG   Ú(DictSubclassGetItemSource._name_template.  sL   € ä�d—j‘jÔ"4×5Ñ5Ø-¬h°t·z±z·±Ó.GÐ-HÈÐJÐJàœH T§Z¡Z¸DÑAÐBÀ!ÐDÐDr,   rI   rÍ   rJ   rÝ  rI   r,   r   rß  rß    s7   ‡ ð
 ƒJô5ô>ð& ×ÑðE ó Eó óEr,   rß  c                   óN   • \ rS rSrSrSS jr\R                  S\4S j5       r	Sr
g)	ÚListGetItemSourcei6  zQ
Same as GetItemSource with reconstruct and name overridden to be list specific.
r   Nc                 ó  ^• TR                  U4S j5        T" U R                  5        U R                  (       a  [        S5      eTR	                  TR                  U R                  5      5        TR                  [        SS5      5        g )Nc                  óD   >• T R                  [        R                  S5      $ )NÚlist_getitemr¶  rm  s   €r   r™   Ú/ListGetItemSource.reconstruct.<locals>.<lambda>B  ræ  r,   ú>List[slice] is a temporary object and should not have a sourcer.  F)	rœ   r¨   rž  ÚRuntimeErrorr8   ry   r�  r�   r   r:   s    `r   r=   ÚListGetItemSource.reconstruct<  st   ø€ ð
 	×ÑÜLô	
ñ
 	�—	‘	Ôð ××ÜØPóð ð ×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHà×ÑÔ2°1°eÓ<Õ=r,   c                 ó¬   • [        U R                  [        5      (       a   eU R                  (       a  [	        S5      eS[        U R                  SS9 S3$ )Nrð  zlist.__getitem__({0}, TrD   rÉ   )r   r�  r   rž  rñ  r+   rA   s    r   rG   Ú ListGetItemSource._name_templateR  sR   € ô
 ˜dŸj™j¬&×1Ñ1Ð1Ð1Ø××ÜØPóð ð .¬h°t·z±zÈdÑ.SÐ-TÐTUÐVÐVr,   rI   rJ   )rK   rL   rM   rN   rî   r=   rS   rT   r)   rG   rU   rI   r,   r   rë  rë  6  s0   † ñô>ð, ×Ñð
W ó 
Wó ó
Wr,   rë  c                   óJ   • \ rS rSrSS jr\R                  S\4S j5       rSr	g)ÚTupleIteratorGetItemSourcei`  r   Nc                 óÞ   ^• TR                  U4S j5        T" U R                  5        TR                  TR                  U R                  5      5        TR                  [        SS5      5        g )Nc                  óD   >• T R                  [        R                  S5      $ )NÚtuple_iterator_getitemr¶  rm  s   €r   r™   Ú8TupleIteratorGetItemSource.reconstruct.<locals>.<lambda>d  s   ø€ �G×,Ñ,¬U¯^©^Ð=UÔVr,   r.  Fr¸  r:   s    `r   r=   Ú&TupleIteratorGetItemSource.reconstructb  sU   ø€ Ø×ÑÜVô	
ñ 	�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó2   • S[        U R                  SS9 S3$ )Nz___tuple_iterator_getitem({0}, TrD   rÉ   r»  rA   s    r   rG   Ú)TupleIteratorGetItemSource._name_templatej  s#   € ð 0´¸¿¹ÐPTÑ0UÐ/VÐVWÐXð	
r,   rI   rJ   )
rK   rL   rM   rN   r=   rS   rT   r)   rG   rU   rI   r,   r   rö  rö  `  s(   † ô>ð ×Ñð
 ó 
ó ó
r,   rö  c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚNamedTupleFieldsSourceiq  r   Nc                 óh   • U" U R                   5        UR                  UR                  S5      5        g )NÚ_fieldsrÜ   r:   s     r   r=   Ú"NamedTupleFieldsSource.reconstructs  ræ   r,   c                 ó   • g)Nz___namedtuple_fields({0})rI   rA   s    r   rG   Ú%NamedTupleFieldsSource._name_templatew  ó   € à*r,   rI   rJ   r­   rI   r,   r   rÿ  rÿ  q  s#   † ôDð ð+ ó +ó ó+r,   rÿ  c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚDataclassFieldsSourcei|  r   Nc                 óŠ   ^• TR                  U4S j5        T" U R                  5        TR                  [        SS5      5        g )Nc                  óD   >• T R                  [        R                  S5      $ )NÚdataclass_fieldsr¶  rm  s   €r   r™   Ú3DataclassFieldsSource.reconstruct.<locals>.<lambda>€  s   ø€ �G×,Ñ,¬U¯^©^Ð=OÔPr,   r   Fro  r:   s    `r   r=   Ú!DataclassFieldsSource.reconstruct~  s8   ø€ Ø×ÑÜPô	
ñ 	�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó   • g)Nz___dataclass_fields({0})rI   rA   s    r   rG   Ú$DataclassFieldsSource._name_template…  s   € à)r,   rI   rJ   r­   rI   r,   r   r  r  |  s"   † ô>ð ð* ó *ó ó*r,   r  c                   ó@   • \ rS rSrSS jrS	S jr\S\4S j5       rSr	g)
Ú
TypeSourceiŠ  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   rÀ   ÚTypeSource.__post_init__Œ  rL  r,   c                 óŠ   ^• TR                  U4S j5        T" U R                  5        TR                  [        SS5      5        g )Nc                  ó(   >• T R                  SS5      $ )Nrk  Útyperl  rm  s   €r   r™   Ú(TypeSource.reconstruct.<locals>.<lambda>�  s   ø€  g×&>Ñ&>¸zÈ6Ô&Rr,   r   Fro  r:   s    `r   r=   ÚTypeSource.reconstruct�  s4   ø€ Ø×ÑÔRÔSÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó   • g)Nz	type({0})rI   rA   s    r   rG   ÚTypeSource._name_template”  s   € àr,   rI   rÍ   rJ   rZ  rI   r,   r   r  r  Š  s'   † ô%ô>ð
 ð ó ó ór,   r  c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚOptimizerSourcei™  r   Nc                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   ÚOptimizerSource.reconstruct›  ra  r,   c                 ó   • gr)  rI   rA   s    r   rG   ÚOptimizerSource._name_templatež  r+  r,   rI   rJ   r­   rI   r,   r   r  r  ™  s"   † ôð ð ó ó ór,   r  c                   ób   • \ rS rSrSS jr\R                  S\4S j5       r\	S\
4S j5       rSrg)	ÚNNModuleSourcei£  r   Nc                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   ÚNNModuleSource.reconstruct¥  ra  r,   c                 ó<   • [         U R                  R                     $ r6   r  rA   s    r   r   ÚNNModuleSource.guard_source¨  r
  r,   c                 ó   • gr)  rI   rA   s    r   rG   ÚNNModuleSource._name_template¬  r+  r,   rI   rJ   )rK   rL   rM   rN   r=   rS   rT   r   r   rR   r)   rG   rU   rI   r,   r   r!  r!  £  sF   † ôð ×ÑðK˜kó Kó ðKð ð ó ó ór,   r!  c                   ó@   • \ rS rSr\R
                  S\4S j5       rSrg)ÚUnspecializedNNModuleSourcei±  r   c                 ó<   • [         U R                  R                     $ r6   )Ú%_GUARD_SOURCE_UNSPECIALIZED_NN_MODULEr¨   r   rA   s    r   r   Ú(UnspecializedNNModuleSource.guard_source³  s   € ä4°T·Y±Y×5KÑ5KÑLÐLr,   rI   Nr  rI   r,   r   r)  r)  ±  s$   † à×ÑðM˜kó Mó óMr,   r)  c                   ó@   • \ rS rSr\R
                  S\4S j5       rSrg)Ú"UnspecializedBuiltinNNModuleSourcei¸  r   c                 ó<   • [         U R                  R                     $ r6   )Ú-_GUARD_SOURCE_UNSPECIALIZED_BUILTIN_NN_MODULEr¨   r   rA   s    r   r   Ú/UnspecializedBuiltinNNModuleSource.guard_sourceº  s   € ä<¸T¿Y¹Y×=SÑ=SÑTÐTr,   rI   Nr  rI   r,   r   r.  r.  ¸  s$   † à×ÑðU˜kó Uó óUr,   r.  c                   ó@   • \ rS rSr\R
                  S\4S j5       rSrg)ÚFSDPNNModuleSourcei¿  r   c                 ó<   • [         U R                  R                     $ r6   )Ú_GUARD_SOURCE_FSDP_MODULEr¨   r   rA   s    r   r   ÚFSDPNNModuleSource.guard_sourceÁ  s   € ä(¨¯©×)?Ñ)?Ñ@Ð@r,   rI   Nr  rI   r,   r   r3  r3  ¿  s$   † à×ÑðA˜kó Aó óAr,   r3  c                   óD   • \ rS rSr\S\4S j5       r\S\4S j5       rSr	g)ÚGlobalStateSourceiÆ  r   c                 ó   • g©Nr  rI   rA   s    r   rG   Ú GlobalStateSource._name_templateÈ  ó   € àr,   c                 ó"   • [         R                  $ r6   r‹   rA   s    r   r   ÚGlobalStateSource.guard_sourceÌ  rŽ   r,   rI   N©
rK   rL   rM   rN   rR   r)   rG   r   r   rU   rI   r,   r   r8  r8  Æ  s6   † àð ó ó ðð ð"˜kó "ó ó"r,   r8  c                   óv   ^ • \ rS rSrSrS\S\SS4U 4S jjr\S\4S j5       r	SS	 jr
\S\4S
 j5       rSrU =r$ )ÚTorchSourceiÑ  zƒPoints to the actual `torch` module - used instead of GlobalSource
in case the user has overridden `torch` in their local namespaceÚargsÚkwargsr   Nc                 óx   >• [         TU ]  " U0 UD6  SSKJnJn  U" U R                  UR                  5      5        g ©Nr   )ÚGuardBuilderÚinstall_guard©r¡  Ú__init__ÚguardsrF  rG  r  ÚID_MATCH©r;   rB  rC  rF  rG  r£  s        €r   rI  ÚTorchSource.__init__Ö  ó/   ø€ Ü‰Ò˜$Ð) &Ò)ß7á�d—o‘o l×&;Ñ&;Ó<Õ=r,   c                 ó   • g)Nz__import__('torch')rI   rA   s    r   rG   ÚTorchSource._name_templateÜ  s   € à$r,   c                 óz   • UR                  UR                  S5      [        S5      UR                  S5      /5        g )Nr   Útorch©r�   ry   r   Úcreate_import_namer:   s     r   r=   ÚTorchSource.reconstructà  s9   € Ø×Ñà×)Ñ)¨!Ó,Ü" 1Ó%Ø×*Ñ*¨7Ó3ðõ	
r,   c                 ó"   • [         R                  $ r6   r‹   rA   s    r   r   ÚTorchSource.guard_sourceé  rŽ   r,   rI   rJ   ©rK   rL   rM   rN   rî   r   rI  rR   r)   rG   r=   r   r   rU   r¯  r°  s   @r   rA  rA  Ñ  s^   ø† ñHð>˜cð >¨Sð >°T÷ >ð ð% ó %ó ð%ô
ð ð"˜kó "ó ö"r,   rA  c                   óv   ^ • \ rS rSrSrS\S\SS4U 4S jjr\S\4S j5       r	SS	 jr
\S\4S
 j5       rSrU =r$ )ÚCollectionsSourceiî  z�Points to the actual `collections` module - used instead of GlobalSource
in case the user has overridden `collections` in their local namespacerB  rC  r   Nc                 óx   >• [         TU ]  " U0 UD6  SSKJnJn  U" U R                  UR                  5      5        g rE  rH  rL  s        €r   rI  ÚCollectionsSource.__init__ó  rN  r,   c                 ó   • g)Nz__import__('collections')rI   rA   s    r   rG   Ú CollectionsSource._name_templateù  r  r,   c                 óz   • UR                  UR                  S5      [        S5      UR                  S5      /5        g )Nr   ÚcollectionsrS  r:   s     r   r=   ÚCollectionsSource.reconstructý  s9   € Ø×Ñà×)Ñ)¨!Ó,Ü" 1Ó%Ø×*Ñ*¨=Ó9ðõ	
r,   c                 ó"   • [         R                  $ r6   r‹   rA   s    r   r   ÚCollectionsSource.guard_source  rŽ   r,   rI   rJ   rX  r°  s   @r   rZ  rZ  î  s^   ø† ñNð>˜cð >¨Sð >°T÷ >ð ð+ ó +ó ð+ô
ð ð"˜kó "ó ö"r,   rZ  c                   ó|   • \ rS rSr% \\S'   \R                  S\4S j5       r	S\4S jr
S
S jr\S\4S j5       rS	rg)ÚTorchFunctionModeStackSourcei  Úindr   c                 ó<   • S[        U R                  5       5       S3$ )Nz$___get_torch_function_mode_stack_at(rÉ   )r+   Ú
_get_indexrA   s    r   rG   Ú+TorchFunctionModeStackSource._name_template  s   € à5´h¸t¿¹Ó?PÓ6QÐ5RÐRSÐTÐTr,   c                 óD   • SSK Jn  UR                  U R                  5      $ )Nr   )ÚTorchFunctionModeStackVariable)Úvariables.torch_functionrk  Úget_mode_indexrf  )r;   rk  s     r   rh  Ú'TorchFunctionModeStackSource._get_index  s   € ÝLà-×<Ñ<¸T¿X¹XÓFÐFr,   Nc                 óÄ   ^• TR                  U4S j5        TR                  TR                  U R                  5       5      /5        TR                  [	        SS5      5        g )Nc                  óD   >• T R                  [        R                  S5      $ )NÚ get_torch_function_mode_stack_atr¶  rm  s   €r   r™   Ú:TorchFunctionModeStackSource.reconstruct.<locals>.<lambda>  s   ø€ �G×,Ñ,Ü—‘Ð Bôr,   r   F)rœ   r�   ry   rh  r   r:   s    `r   r=   Ú(TorchFunctionModeStackSource.reconstruct  sQ   ø€ Ø×Ñôô	
ð
 	×Ñ˜w×8Ñ8¸¿¹Ó9JÓKÐLÔMØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó"   • [         R                  $ r6   r‹   rA   s    r   r   Ú)TorchFunctionModeStackSource.guard_source!  rŽ   r,   rI   rJ   )rK   rL   rM   rN   r~   rO   rS   rT   r)   rG   rh  r=   rR   r   r   rU   rI   r,   r   re  re    sW   ‡ à	ƒHà×ÑðU ó Uó ðUðG˜Cô Gô
>ð ð"˜kó "ó ó"r,   re  c                   ó€   • \ rS rSr% \\S'   SS jr\S\4S j5       r	\
R                  S\4S j5       rS\S\4S	 jrS
rg)r   i&  Úsource_namer   Nc                 óV   • UR                  UR                  U R                  SS95        g )NFr…   )r8   rˆ   rw  r:   s     r   r=   ÚConstantSource.reconstruct*  s&   € Ø×Ñ˜g×8Ñ8¸×9IÑ9IÈuÐ8ÐUÕVr,   c                 ó"   • [         R                  $ r6   )r   r   rA   s    r   r   ÚConstantSource.guard_source-  s   € ä×#Ñ#Ð#r,   c                 ó   • U R                   $ r6   )rw  rA   s    r   rG   ÚConstantSource._name_template1  s   € à×ÑÐr,   r  c                 ó   • [         er6   ra   r  s     r   r  ÚConstantSource.make_guard5  r  r,   rI   rJ   )rK   rL   rM   rN   r)   rO   r=   rR   r   r   rS   rT   rG   r   r  rU   rI   r,   r   r   r   &  s]   ‡ àÓôWð ð$˜kó $ó ð$ð ×Ñð  ó  ó ð ð"˜Sð " S÷ "r,   r   c                   ó6   • \ rS rSr\S\4S j5       rSS jrSrg)ÚNumpyTensorSourcei9  r   c                 ó   • g)Nz___from_numpy({0})rI   rA   s    r   rG   Ú NumpyTensorSource._name_template;  s   € à#r,   Nc                 óŠ   ^• TR                  U4S j5        T" U R                  5        TR                  [        SS5      5        g )Nc                  ó(   >• T R                  SS5      $ )NrR  Ú	as_tensorrl  rm  s   €r   r™   Ú/NumpyTensorSource.reconstruct.<locals>.<lambda>@  s   ø€  g×&>Ñ&>¸wÈÔ&Tr,   r   Fro  r:   s    `r   r=   ÚNumpyTensorSource.reconstruct?  s4   ø€ Ø×ÑÔTÔUÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   rI   rJ   )	rK   rL   rM   rN   rR   r)   rG   r=   rU   rI   r,   r   r�  r�  9  s    † àð$ ó $ó ð$÷>r,   r�  c                   ó,   • \ rS rSr\S\4S j5       rSrg)ÚSubclassAttrListSourceiE  r   c                 ó   • g)Nz{0}.__tensor_flatten__()[0]rI   rA   s    r   rG   Ú%SubclassAttrListSource._name_templateG  s   € à,r,   rI   N©rK   rL   rM   rN   rR   r)   rG   rU   rI   r,   r   rŠ  rŠ  E  s   † àð- ó -ó ó-r,   rŠ  c                   ó,   • \ rS rSr\S\4S j5       rSrg)ÚFloatTensorSourceiN  r   c                 ó   • g)Nz___as_tensor({0})rI   rA   s    r   rG   Ú FloatTensorSource._name_templateP  s   € à"r,   rI   Nr�  rI   r,   r   r�  r�  N  s   † àð# ó #ó ó#r,   r�  c                   ó,   • \ rS rSr\S\4S j5       rSrg)ÚCallMethodItemSourceiU  r   c                 ó   • g)Nz
{0}.item()rI   rA   s    r   rG   Ú#CallMethodItemSource._name_templateW  s   € àr,   rI   Nr�  rI   r,   r   r“  r“  U  s   † àð ó ó ór,   r“  c                   óD   • \ rS rSr\S\4S j5       r\S\4S j5       rSr	g)ÚShapeEnvSourcei_  r   c                 ó   • gr:  rI   rA   s    r   rG   ÚShapeEnvSource._name_templatea  r<  r,   c                 ó"   • [         R                  $ r6   )r   Ú	SHAPE_ENVrA   s    r   r   ÚShapeEnvSource.guard_sourcee  r  r,   rI   Nr?  rI   r,   r   r—  r—  _  s6   † àð ó ó ðð ð%˜kó %ó ó%r,   r—  c                   ón   • \ rS rSr% \\S'   \R                  S\4S j5       r	S	S jr
\S\4S j5       rSrg)
ÚCurrentStreamSourceij  r   r   c                 óˆ   • S[        U R                  R                  5       S[        U R                  R                  5       S3$ )Nz$___get_current_stream(torch.device('z', z)))r+   r   r  r�  rA   s    r   rG   Ú"CurrentStreamSource._name_templaten  s=   € à5´h¸t¿{¹{×?OÑ?OÓ6PÐ5QÐQTÔU]Ð^b×^iÑ^i×^oÑ^oÓUpÐTqÐqsÐtÐtr,   Nc                 óÖ  ^• SnTR                  U4S j5        TR                  U4S j5        TR                  TR                  U R                  R                  5      /5        U R                  R
                  b:  US-  nTR                  TR                  U R                  R
                  5      /5        TR                  [        US5      5        TR                  [        SS5      5        g )Nr   c                  óD   >• T R                  [        R                  S5      $ )NÚget_current_streamr¶  rm  s   €r   r™   Ú1CurrentStreamSource.reconstruct.<locals>.<lambda>u  s   ø€ �G×,Ñ,¬U¯^©^Ð=QÔRr,   c                  ó(   >• T R                  SS5      $ )NrR  r   rl  rm  s   €r   r™   r¤  w  s   ø€  g×&>Ñ&>¸wÈÔ&Qr,   F)rœ   r�   ry   r   r  r�  r   )r;   r<   Únum_argss    ` r   r=   ÚCurrentStreamSource.reconstructr  s»   ø€ ØˆØ×ÑÜRô	
ð 	×ÑÔQÔRØ×Ñ˜w×8Ñ8¸¿¹×9IÑ9IÓJÐKÔLØ�;‰;×ÑÑ(Ø˜‰MˆHØ×!Ñ! 7×#<Ñ#<¸T¿[¹[×=NÑ=NÓ#OÐ"PÔQØ×ÑÔ2°8¸UÓCÔDØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó"   • [         R                  $ r6   r‹   rA   s    r   r   Ú CurrentStreamSource.guard_source  rŽ   r,   rI   rJ   )rK   rL   rM   rN   Údevice_typerO   rS   rT   r)   rG   r=   rR   r   r   rU   rI   r,   r   rž  rž  j  sJ   ‡ àÓà×Ñðu ó uó ðuô>ð ð"˜kó "ó ó"r,   rž  c                   óD   • \ rS rSr\S\4S j5       r\S\4S j5       rSr	g)ÚBackwardStateSourcei„  r   c                 ó   • gr:  rI   rA   s    r   rG   Ú"BackwardStateSource._name_template†  r<  r,   c                 ó"   • [         R                  $ r6   )r   ÚBACKWARD_STATErA   s    r   r   Ú BackwardStateSource.guard_sourceŠ  s   € ä×)Ñ)Ð)r,   rI   Nr?  rI   r,   r   r¬  r¬  „  s6   † àð ó ó ðð ð*˜kó *ó ó*r,   r¬  ©Úonly_allow_inputr³  c                óÊ   • [        U [        5      (       a  [        U R                  US9$ [        U [        5      (       d  g U(       a  U R
                  (       d  g U R                  $ ©Nr²  )r   r	   Úget_local_source_namer¨   r/   r2   r1   ©r   r³  s     r   r¶  r¶  �  sK   € ô �&œ-×(Ñ(Ü$ V§[¡[ÐCSÑTÐTÜ�fœk×*Ñ*ØÞ §§ØØ×ÑÐr,   c                ó   • [        XS9S L$ rµ  )r¶  r·  s     r   Úis_from_local_sourcer¹  ›  s   € Ü  ÑKÐSWÐWÐWr,   c                 ó   • [        U 5      S L$ r6   )Úget_global_source_namer   s    r   Úis_from_global_sourcer¼  Ÿ  s   € Ü! &Ó)°Ð5Ð5r,   c                 óš   • [        U [        5      (       a  [        U R                  5      $ [        U [        5      (       d  g U R
                  $ r6   )r   r	   r»  r¨   r€   r‚   r   s    r   r»  r»  £  s:   € Ü�&œ-×(Ñ(Ü% f§k¡kÓ2Ð2Ü�fœl×+Ñ+ØØ×ÑÐr,   c                 óÌ   • [        U [        5      (       a  [        U R                  5      $ [        U [        5      =(       a$    U R
                  =(       a    U R                  (       + $ r6   )r   r	   Úis_from_nonlocal_sourcer¨   r/   r4   r2   r   s    r   r¿  r¿  «  sJ   € Ü�&œ-×(Ñ(Ü& v§{¡{Ó3Ð3ä�6œ;Ó'÷ 	 Ø×+Ñ+÷	 à—‘Ôðr,   c                 ó„   • [        U [        5      (       a  g[        U [        5      (       a  [        U R                  5      $ gr   )r   r÷   r	   Úis_from_closure_sourcer¨   r   s    r   rÁ  rÁ  µ  s1   € Ü�&œ-×(Ñ(ØÜ�&œ-×(Ñ(Ü% f§k¡kÓ2Ð2Ør,   Útargetc                 ó`   • [        U [        5      (       a  [        U R                  U5      $ X:H  $ r6   )r   r	   Úis_from_sourcer¨   )r   rÂ  s     r   rÄ  rÄ  ½  s)   € Ü�&œ-×(Ñ(Ü˜fŸk™k¨6Ó2Ð2ØÑÐr,   c                 ó„   • [        U [        5      (       a  g[        U [        5      (       a  [        U R                  5      $ gr   )r   r)  r	   Ú&is_from_unspecialized_nn_module_sourcer¨   r   s    r   rÆ  rÆ  Ã  s2   € ä�&Ô5×6Ñ6ØÜ�&œ-×(Ñ(Ü5°f·k±kÓBÐBØr,   c                 ó„   • [        U [        5      (       a  g[        U [        5      (       a  [        U R                  5      $ gr   )r   r.  r	   Ú.is_from_unspecialized_builtin_nn_module_sourcer¨   r   s    r   rÈ  rÈ  Ì  s2   € ä�&Ô<×=Ñ=ØÜ�&œ-×(Ñ(Ü=¸f¿k¹kÓJÐJØr,   c                 ó„   • [        U [        5      (       a  g[        U [        5      (       a  [        U R                  5      $ gr   )r   r  r	   Ú)is_from_unspecialized_param_buffer_sourcer¨   r   s    r   rÊ  rÊ  Õ  s2   € ä�&Ô8×9Ñ9ØÜ�&œ-×(Ñ(Ü8¸¿¹ÓEÐEØr,   c                 ó„   • [        U [        5      (       a  g[        U [        5      (       a  [        U R                  5      $ gr   )r   rt  r	   Ú$is_from_flatten_script_object_sourcer¨   r   s    r   rÌ  rÌ  Þ  s2   € ä�&Ô3×4Ñ4ØÜ	�FœM×	*Ñ	*Ü3°F·K±KÓ@Ð@Ør,   c                 ó„   • [        U [        5      (       a  g[        U [        5      (       a  [        U R                  5      $ gr   )r   r  r	   Úis_from_optimizer_sourcer¨   r   s    r   rÎ  rÎ  ç  s1   € ä�&œ/×*Ñ*ØÜ�&œ-×(Ñ(Ü'¨¯©Ó4Ð4Ør,   c                 óÀ  • [        U [        5      (       a  g[        U [        5      (       a:  [        U R                  [        5      (       a  U R                  R
                  S:X  a  g[        U [        5      (       a:  [        U R                  [        5      (       a  U R                  R
                  S:X  a  g[        U [        5      (       a  [        U R                  5      $ g)NTr’  r“  F)	r   rŠ  rÓ  r¨   r³   r´   rœ  r	   Úis_from_defaultsr   s    r   rÐ  rÐ  ò  s�   € ä�&œ.×)Ñ)Øô 	�6Ô,×-Ñ-Ü�v—{‘{¤J×/Ñ/Ø�K‰K×ÑÐ"2Ó2àô 	�6œ=×)Ñ)Ü�v—{‘{¤J×/Ñ/Ø�K‰K×Ñ .Ó0àä�&œ-×(Ñ(Ü §¡Ó,Ð,Ør,   c                 ó„   • [        U [        5      (       a  g[        U [        5      (       a  [        U R                  5      $ gr   )r   r%  r	   Úis_from_skip_guard_sourcer¨   r   s    r   rÒ  rÒ    s1   € ä�&œ/×*Ñ*Øä�&œ-×(Ñ(Ü(¨¯©Ó5Ð5àr,   )F)xrî   rš  ÚenumrS   Úcollections.abcr   Útypingr   r   r   r   rR  r   rª  Útorch._guardsr	   r
   r   r   r   r  r   Úbytecode_transformationr   r   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  r+  r0  r5  rP   r   r)   r"   r+   r/   rW   rd   ro   r€   r”   r¤   r¯   r³   rÐ   rÙ   râ   rê   rð   r÷   rþ   r  r  r  r%  ÚEnumr-  r;  rI  rS  r\  re  rt  r|  r„  rŠ  rœ  r²  rÁ  rÓ  rß  rë  rö  rÿ  r  r  r  r!  r)  r.  r3  r8  rA  rZ  re  r   r�  rŠ  r�  r“  r—  rž  r¬  r¶  r¹  r¼  r»  r¿  rÁ  rÄ  Ú	lru_cacherÆ  rÈ  rÊ  rÌ  rÎ  rÐ  rÒ  rI   r,   r   Ú<module>râ     sW  ðñó& Û Û Ý $ß 6Ó 6å '÷õ õ ÷ñ ö Ý"ð ×Ñ�{×>Ñ>Ø×Ñ˜×@Ñ@Ø×+Ñ+¨[×-TÑ-TØ×,Ñ,¨k×.VÑ.Và×-Ñ-¨{×/XÑ/XØ×.Ñ.°×0ZÑ0ZØ×5Ñ5°{×7hÑ7hØ×6Ñ6¸×8jÑ8jØ×!Ñ! ;×#@Ñ#@Ø×"Ñ" K×$BÑ$Bð'Ð #ð  ×Ñ�{×@Ñ@Ø×Ñ˜×BÑBØ×-Ñ-¨{×/XÑ/XØ×.Ñ.°×0ZÑ0Zà×+Ñ+¨[×-VÑ-VØ×,Ñ,¨k×.XÑ.Xà×5Ñ5°{×7hÑ7hØ×6Ñ6¸×8jÑ8jØ×!Ñ! ;×#@Ñ#@Ø×"Ñ" K×$BÑ$Bð)Ð %ð" ×Ñ�{×HÑHØ×Ñ˜×JÑJØ×-Ñ-¨{×/`Ñ/`Ø×.Ñ.°×0bÑ0bØ×+Ñ+¨[×-^Ñ-^Ø×,Ñ,¨k×.`Ñ.`à×5Ñ5°{×7hÑ7hØ×6Ñ6¸×8jÑ8jØ×!Ñ! ;×#@Ñ#@Ø×"Ñ" K×$BÑ$Bð1Ð -ð ×Ñ�{×4Ñ4Ø×Ñ˜×6Ñ6Ø×+Ñ+¨[×-JÑ-JØ×,Ñ,¨k×.LÑ.LØ×!Ñ! ;×#@Ñ#@Ø×"Ñ" K×$BÑ$BØ×-Ñ-¨{×/LÑ/LØ×.Ñ.°×0NÑ0NØ×5Ñ5°{×7TÑ7TØ×6Ñ6¸×8VÑ8VðÐ ð	˜vð 	¨$ô 	ð& 8¨FÑ#3ð &¸ô &ñ3�ð 3 ð 3°#õ 3ñ  4Ñ(ôB�&ó Bó )ðBñ<  4Ñ(ô
�fó 
ó )ð
ñ$  4Ñ(ôP˜6ó Pó )ðPñ  4Ñ(ôB˜ó Bó )ðBñ"  4Ñ(ôC�6ó Có )ðCñ  4Ñ(ôE˜&ó Eó )ðEñ(  4Ñ(ô˜ó ó )ðñ  4Ñ(ô	Ð0ó 	ó )ð	ñ  4Ñ(ô0�ó 0ó )ð0ñ.  4Ñ(ô
˜ó 
ó )ð
ñ0  4Ñ(ô$�]ó $ó )ð$ñ  4Ñ(ô�Mó ó )ðñ  4Ñ(ôL�fó Ló )ðLñ&  4Ñ(ô�ó ó )ðñ  4Ñ(ô!�Mó !ó )ð!ñ  4Ñ(ô	0�ó 	0ó )ð	0ñ  4Ñ(ôK˜
ó Kó )ðKñ  4Ñ(ô	 Zó 	ó )ð	ñ  4Ñ(ô�fó ó )ðñ&  4Ñ(ô�mó ó )ðô@�T—Y‘Yô @ñ   4Ñ(ô#E˜=ó #Eó )ð#EñL  4Ñ(ô0�Mó 0ó )ð0ñ  4Ñ(ô
�=ó 
ó )ð
ñ  4Ñ(ô	7�}ó 	7ó )ð	7ñ  4Ñ(ô˜-ó ó )ðñ(  4Ñ(ô	' ó 	'ó )ð	'ñ  4Ñ(ô	. mó 	.ó )ð	.ô �mô  ñ  4Ñ(ô!�]ó !ó )ð!ñH  4Ñ(ô!E�Mó !Eó )ð!EñH  4Ñ(ô˜ó ó )ðñ(  4Ñ(ô mó ó )ðñ4  4Ñ(ôE˜ó Eó )ðEñD  4Ñ(ô%E ó %Eó )ð%EñP  4Ñ(ô&W˜ó &Wó )ð&WñR  4Ñ(ô
 ó 
ó )ð
ñ   4Ñ(ô+˜]ó +ó )ð+ñ  4Ñ(ô
*˜Mó 
*ó )ð
*ñ  4Ñ(ô�ó ó )ðñ  4Ñ(ô�mó ó )ðñ  4Ñ(ô
�]ó 
ó )ð
ñ  4Ñ(ôM .ó Mó )ðMñ  4Ñ(ôUÐ)Dó Uó )ðUñ  4Ñ(ôA˜ó Aó )ðAñ  4Ñ(ô"˜ó "ó )ð"ñ  4Ñ(ô"�&ó "ó )ð"ñ8  4Ñ(ô"˜ó "ó )ð"ñ8  4Ñ(ô" 6ó "ó )ð"ñ4  4Ñ(ô"�Vó "ó )ð"ñ$  4Ñ(ô>˜ó >ó )ð>ñ  4Ñ(ô-˜]ó -ó )ð-ñ  4Ñ(ô#˜ó #ó )ð#ñ  4Ñ(ô˜=ó ó )ðñ  4Ñ(ô%�Vó %ó )ð%ñ  4Ñ(ô"˜&ó "ó )ð"ñ2  4Ñ(ô*˜&ó *ó )ð*ð 16ò	Øð	Ø)-ð	àˆc�]õ	ð FKò X ð X¸dð XÈtõ Xð6 &ð 6¨Tô 6ð 6ð ¨h°s©mô ð Fð ¨tô ð 6ð ¨dô ð˜6ð ¨6ð °dô ð ×Ñð°6ð ¸dó ó ðð ×Ñð¸6ð Àdó ó ðð ×Ñð°fð Àó ó ðð ×Ñð°ð ¸Dó ó ðð ×Ñð Vð °ó ó ðð ×Ñð˜Vð ¨ó ó ðð2 ×Ñð fð °ó ó ñr,   