ó
    Eñi©  ã                   ó€  • 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(\75      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\5      5       r?\" SS9 " S7 S8\75      5       r@\" SS9 " S9 S:\75      5       rA\" SS9 " S; S<\5      5       rB\" SS9 " S= S>\5      5       rC " S? S@\Rˆ                  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\" SS9 " SM SN\5      5       rL " SO SP\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\\5      5       rS\" SS9 " S] S^\O5      5       rT\" SS9 " S_ S`\O5      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\5      5       rZ\" SS9 " Sk Sl\Z5      5       r[\" SS9 " Sm Sn\[5      5       r\\" SS9 " So Sp\Z5      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       rh\RÒ                  SS‡.S\Sˆ\*S\\,   4S‰ jj5       rj\RÒ                  SS‡.S\Sˆ\*S\*4SŠ jj5       rk\RÒ                  S\S\*4S‹ j5       rl\RÒ                  S\S-  S\,S-  4SŒ j5       rm\RÒ                  S\S\*4S� j5       rn\RÒ                  S\S\*4SŽ j5       ro\RÒ                  S\S�\S\*4S� j5       rp\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    ÚQ/home/mande/repo/quber/.venv/lib/python3.13/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                  ;  d   SU R                  < S35       eg )Nz9Can't construct an AttrSource without a valid base sourceÚ.z,AttrSource member must not contain '.', got ú=. Use OutputGraph.get_chained_attr_source() for dotted paths.©r¨   r´   rA   s    r   Ú__post_init__ÚAttrSource.__post_init__  sE   € Ø�y�yÐUÐUÓUˆyØ˜$Ÿ+™+Ó%ð 	
Ø:¸4¿;¹;¹/ð JJð Jó	
Ñ%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³     s3   ‡ àƒKô
ôFð ×Ñð0 ó 0ó ó0r,   r³   c                   óN   • \ rS rSr% Sr\R                  " SS9r\\	S'   S	S jr
Srg)
ÚCellContentsSourcei1  z›
Source for closure cell contents that also stores the freevar name.
This allows guard failure messages to show which variable the closure cell refers to.
Ú )ÚdefaultÚfreevar_nameNc                 ób   • U R                   (       d   S5       eU R                  S:X  d   S5       eg )Nz@Can't construct a CellContentsSource without a valid base sourceÚcell_contentsz8CellContentsSource should only be used for cell_contentsr¸   rA   s    r   r¹   Ú CellContentsSource.__post_init__:  s6   € Ø�y�yð 	
ØNó	
ˆyð �{‰{˜oÓ-ð 	
ØFó	
Ñ-r,   rI   rÅ   )rK   rL   rM   rN   Ú__doc__ÚdataclassesÚfieldrË   r)   rO   r¹   rU   rI   r,   r   rÈ   rÈ   1  s#   ‡ ñð
 $×)Ò)°"Ñ5€L�#Ó5÷
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)ÚGenericAttrSourceiC  r´   r   Nc                 ó€   • U R                   (       d   S5       eSU R                  ;  d   SU R                  < S35       eg )Nz?Can't construct a GenericAttrSource without a valid base sourcer¶   z3GenericAttrSource member must not contain '.', got r·   r¸   rA   s    r   r¹   ÚGenericAttrSource.__post_init__G  sK   € Ø�y�yð 	
ØMó	
ˆyð ˜$Ÿ+™+Ó%ð 	
ØAÀ$Ç+Á+Áð QJð Jó	
Ñ%r,   c                 ó|   • U" U R                   5        UR                  UR                  U R                  5      5        g r6   r¼   r:   s     r   r=   ÚGenericAttrSource.reconstructP  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_templateT  s"   € ð .¬h°t·{±{ÈtÑ.TÐ-UÐUVÐWð	
r,   rI   rÅ   rJ   rÆ   rI   r,   r   rÓ   rÓ   C  s3   ‡ àƒKô
ôFð ×Ñð
 ó 
ó ó
r,   rÓ   c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚTypeDictSourcei\  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.reconstruct^  ó'   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸
ÓCÕDr,   c                 ó   • g)Nzdict({0}.__dict__)rI   rA   s    r   rG   ÚTypeDictSource._name_templateb  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)ÚTypeMROSourceil  r   Nc                 óh   • U" U R                   5        UR                  UR                  S5      5        g )NÚ__mro__rß   r:   s     r   r=   ÚTypeMROSource.reconstructn  ó'   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸	ÓBÕCr,   c                 ó   • g)Nz{0}.__mro__rI   rA   s    r   rG   ÚTypeMROSource._name_templater  s   € àr,   rI   rJ   r­   rI   r,   r   rå   rå   l  s#   † ôDð ð ó ó ór,   rå   c                   ó.   • \ rS rSr% Sr\\S'   SS jrSrg)ÚLocalCellSourceiw  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.reconstruct€  s!   € ð 	×Ñ˜g×9Ñ9¸$¿/¹/ÓJÕKr,   rI   rJ   )	rK   rL   rM   rN   rÏ   r)   rO   r=   rU   rI   r,   r   rí   rí   w  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: rÉ   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   r5  r6  r7  r)   r9  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.  r7  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=  r9  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()r4  )r=  r.  r5  r+   r>  r6  r7  r8  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   rJ  rJ    s2   ‡ à	ƒHô%ô"ð ×Ñð0 ó 0ó ó0r,   rJ  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__/  rM  r,   c                 ó   • [         er6   ra   r:   s     r   r=   ÚNegateSource.reconstruct2  r  r,   c                 ó   • g)Nz{0}.__neg__()rI   rA   s    r   rG   ÚNegateSource._name_template5  s   € ð r,   rI   rÅ   rJ   ©
rK   rL   rM   rN   r¹   r=   rR   r)   rG   rU   rI   r,   r   rT  rT  -  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)
ÚConvertIntSourcei;  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   r¹   ÚConvertIntSource.__post_init__=  rM  r,   c                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   ÚConvertIntSource.reconstruct@  ó   € Ù�—	‘	Õr,   c                 ó   • g)Nz%cast_symbool_to_symint_guardless({0})rI   rA   s    r   rG   ÚConvertIntSource._name_templateC  s   € à6r,   rI   rÅ   rJ   r[  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)ÚDynamicScalarSourceiH  Úis_intr   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   r¹   Ú!DynamicScalarSource.__post_init__L  rM  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~   ©rD  ©r<   s   €r   r™   Ú1DynamicScalarSource.reconstruct.<locals>.<lambda>T  s   ø€  g×&>Ñ&>¸zÈ5Ô&Qr,   r   F©rœ   r¨   r�   r   r:   s    `r   r=   ÚDynamicScalarSource.reconstructO  s6   ø€ ð
 	×ÑÔQÔRÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó   • g)Nzint({0})rI   rA   s    r   rG   Ú"DynamicScalarSource._name_templateX  s   € àr,   rI   rÅ   rJ   )rK   rL   rM   rN   rP   rO   r¹   r=   rR   r)   rG   rU   rI   r,   r   rf  rf  H  s,   ‡ àƒLô%ô>ð ð ó ó ór,   rf  c                   ó@   • \ rS rSrSS jrS	S jr\S\4S j5       rSr	g)
ÚFlattenScriptObjectSourcei]  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   r¹   Ú'FlattenScriptObjectSource.__post_init___  rM  r,   c                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   Ú%FlattenScriptObjectSource.reconstructb  rb  r,   c                 ó   • g)Nz{0}.__obj_flatten__()rI   rA   s    r   rG   Ú(FlattenScriptObjectSource._name_templatee  s   € à&r,   rI   rÅ   rJ   r[  rI   r,   r   ru  ru  ]  s'   † ô%ôð ð' ó 'ó ó'r,   ru  c                   ó@   • \ rS rSrSS jrS	S jr\S\4S j5       rSr	g)
ÚScriptObjectQualifiedNameSourceij  r   Nc                 ó"   • U R                   c   eg r6   r§   rA   s    r   r¹   Ú-ScriptObjectQualifiedNameSource.__post_init__l  rM  r,   c                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   Ú+ScriptObjectQualifiedNameSource.reconstructo  rb  r,   c                 ó   • g)Nz{0}._type().qualified_name()rI   rA   s    r   rG   Ú.ScriptObjectQualifiedNameSource._name_templater  s   € à-r,   rI   rÅ   rJ   r[  rI   r,   r   r}  r}  j  s'   † ô%ôð ð. ó .ó ó.r,   r}  c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚAttrProxySourceiw  r   Nc                 ó(   • U" U R                   5        g r6   r§   r:   s     r   r=   ÚAttrProxySource.reconstructx  rb  r,   c                 ó   • g)Nz{0}.get_base()rI   rA   s    r   rG   ÚAttrProxySource._name_template{  s   € àr,   rI   rJ   r­   rI   r,   r   r…  r…  w  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	)ÚDefaultsSourcei€  Úidx_keyFÚis_kw)Úinitr(   ÚcomparerÑ   Ú_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)   ÚobjectÚ__setattr__r+   rÑ   r~   rA   s    r   r¹   ÚDefaultsSource.__post_init__‡  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   rÐ   rÑ   r�  r¹   r=   rS   rT   rG   rU   rI   r,   r   r‹  r‹  €  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©rD  r   rK   rn  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¶  rn  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¶  rn  s   €r   r™   Ú7DictSubclassGetItemSource.reconstruct.<locals>.<lambda>0  ó   ø€ �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)	ÚListGetItemSourceiF  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¶  rn  s   €r   r™   Ú/ListGetItemSource.reconstruct.<locals>.<lambda>R  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.reconstructL  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_templateb  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ë  F  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)ÚTupleIteratorGetItemSourceip  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¶  rn  s   €r   r™   Ú8TupleIteratorGetItemSource.reconstruct.<locals>.<lambda>t  s   ø€ �G×,Ñ,¬U¯^©^Ð=UÔVr,   r/  Fr¸  r:   s    `r   r=   Ú&TupleIteratorGetItemSource.reconstructr  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_templatez  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ö  p  s(   † ô>ð ×Ñð
 ó 
ó ó
r,   rö  c                   ó6   • \ rS rSrSS jr\S\4S j5       rSrg)ÚNamedTupleFieldsSourcei�  r   Nc                 óh   • U" U R                   5        UR                  UR                  S5      5        g )NÚ_fieldsrß   r:   s     r   r=   Ú"NamedTupleFieldsSource.reconstructƒ  ré   r,   c                 ó   • g)Nz___namedtuple_fields({0})rI   rA   s    r   rG   Ú%NamedTupleFieldsSource._name_template‡  s   € à*r,   rI   rJ   r­   rI   r,   r   rÿ  rÿ  �  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¶  rn  s   €r   r™   Ú3DataclassFieldsSource.reconstruct.<locals>.<lambda>�  s   ø€ �G×,Ñ,¬U¯^©^Ð=OÔPr,   r   Frp  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__œ  rM  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      $ )Nrl  Útyperm  rn  s   €r   r™   Ú(TypeSource.reconstruct.<locals>.<lambda>   s   ø€  g×&>Ñ&>¸zÈ6Ô&Rr,   r   Frp  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   r[  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«  rb  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µ  rb  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   r2  r2  Ï  s$   † à×ÑðA˜kó Aó óAr,   r2  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   r7  r7  Ö  s6   † àð ó ó ðð ð"˜kó "ó ó"r,   r7  c                   ó|   • \ rS rSr% Sr\\S'   SS jr\R                  S\4S j5       r
SS jr\S\4S	 j5       rS
rg)ÚImportSourceiá  z„Points to an imported module - used instead of GlobalSource
in case the user has overridden the module name in their local namespaceÚmodule_namer   Nc                 óV   • SSK JnJn  U" U R                  UR                  5      5        g )Nr   )ÚGuardBuilderÚinstall_guard)ÚguardsrC  rD  r  ÚID_MATCH)r;   rC  rD  s      r   r¹   ÚImportSource.__post_init__è  s   € ß7á�d—o‘o l×&;Ñ&;Ó<Õ=r,   c                 ó"   • SU R                    S3$ )Nz__import__('z'))rA  rA   s    r   rG   ÚImportSource._name_templateí  s   € à˜d×.Ñ.Ð/¨rÐ2Ð2r,   c                 óŽ   • UR                  UR                  S5      [        S5      UR                  U R                  5      /5        g )Nr   )r�   ry   r   Úcreate_import_namerA  r:   s     r   r=   ÚImportSource.reconstructñ  s?   € Ø×Ñà×)Ñ)¨!Ó,Ü" 1Ó%Ø×*Ñ*¨4×+;Ñ+;Ó<ðõ	
r,   c                 ó"   • [         R                  $ r6   r‹   rA   s    r   r   ÚImportSource.guard_sourceú  rŽ   r,   rI   rÅ   rJ   )rK   rL   rM   rN   rÏ   r)   rO   r¹   rS   rT   rG   r=   rR   r   r   rU   rI   r,   r   r@  r@  á  sV   ‡ ñPð Óô>ð
 ×Ñð3 ó 3ó ð3ô
ð ð"˜kó "ó ó"r,   r@  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_functionrV  Úget_mode_indexrQ  )r;   rV  s     r   rS  Ú'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¶  rn  s   €r   r™   Ú:TorchFunctionModeStackSource.reconstruct.<locals>.<lambda>  s   ø€ �G×,Ñ,Ü—‘Ð Bôr,   r   F)rœ   r�   ry   rS  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   rS  r=   rR   r   r   rU   rI   r,   r   rP  rP  ÿ  sW   ‡ à	ƒHà×ÑðU ó Uó ðUðG˜Cô Gô
>ð ð"˜kó "ó ó"r,   rP  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ˆ   rb  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   )rb  rA   s    r   rG   ÚConstantSource._name_template%  s   € à×ÑÐr,   r  c                 ó   • [         er6   ra   r  s     r   r  ÚConstantSource.make_guard)  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)ÚNumpyTensorSourcei-  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      $ )NÚtorchÚ	as_tensorrm  rn  s   €r   r™   Ú/NumpyTensorSource.reconstruct.<locals>.<lambda>4  s   ø€  g×&>Ñ&>¸wÈÔ&Tr,   r   Frp  r:   s    `r   r=   ÚNumpyTensorSource.reconstruct3  s4   ø€ Ø×ÑÔTÔUÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   rI   rJ   )	rK   rL   rM   rN   rR   r)   rG   r=   rU   rI   r,   r   rl  rl  -  s    † àð$ ó $ó ð$÷>r,   rl  c                   ó,   • \ rS rSr\S\4S j5       rSrg)ÚSubclassAttrListSourcei9  r   c                 ó   • g)Nz{0}.__tensor_flatten__()[0]rI   rA   s    r   rG   Ú%SubclassAttrListSource._name_template;  s   € à,r,   rI   N©rK   rL   rM   rN   rR   r)   rG   rU   rI   r,   r   rv  rv  9  s   † àð- ó -ó ó-r,   rv  c                   ó,   • \ rS rSr\S\4S j5       rSrg)ÚFloatTensorSourceiB  r   c                 ó   • g)Nz___as_tensor({0})rI   rA   s    r   rG   Ú FloatTensorSource._name_templateD  s   € à"r,   rI   Nry  rI   r,   r   r{  r{  B  s   † àð# ó #ó ó#r,   r{  c                   ó,   • \ rS rSr\S\4S j5       rSrg)ÚCallMethodItemSourceiI  r   c                 ó   • g)Nz
{0}.item()rI   rA   s    r   rG   Ú#CallMethodItemSource._name_templateK  s   € àr,   rI   Nry  rI   r,   r   r  r  I  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)ÚShapeEnvSourceiS  r   c                 ó   • gr9  rI   rA   s    r   rG   ÚShapeEnvSource._name_templateU  r;  r,   c                 ó"   • [         R                  $ r6   )r   Ú	SHAPE_ENVrA   s    r   r   ÚShapeEnvSource.guard_sourceY  r  r,   rI   Nr>  rI   r,   r   rƒ  rƒ  S  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)
ÚCurrentStreamSourcei^  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_templateb  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¶  rn  s   €r   r™   Ú1CurrentStreamSource.reconstruct.<locals>.<lambda>i  s   ø€ �G×,Ñ,¬U¯^©^Ð=QÔRr,   c                  ó(   >• T R                  SS5      $ )Nrq  r   rm  rn  s   €r   r™   r�  k  s   ø€  g×&>Ñ&>¸wÈÔ&Qr,   F)rœ   r�   ry   r   r  rž  r   )r;   r<   Únum_argss    ` r   r=   ÚCurrentStreamSource.reconstructf  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_sources  rŽ   r,   rI   rJ   )rK   rL   rM   rN   Údevice_typerO   rS   rT   r)   rG   r=   rR   r   r   rU   rI   r,   r   rŠ  rŠ  ^  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)ÚBackwardStateSourceix  r   c                 ó   • gr9  rI   rA   s    r   rG   Ú"BackwardStateSource._name_templatez  r;  r,   c                 ó"   • [         R                  $ r6   )r   ÚBACKWARD_STATErA   s    r   r   Ú BackwardStateSource.guard_source~  s   € ä×)Ñ)Ð)r,   rI   Nr>  rI   r,   r   r˜  r˜  x  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   ru  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   rq  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*  r/  r4  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  r&  ÚEnumr.  r<  rJ  rT  r]  rf  ru  r}  r…  r‹  r�  r²  rÁ  rÓ  rß  rë  rö  rÿ  r  r  r  r   r(  r-  r2  r7  r@  rP  r   rl  rv  r{  r  rƒ  rŠ  r˜  Ú	lru_cacher¢  r¥  r¨  r§  r«  r­  r°  r²  r´  r¶  r¸  rº  r¼  r¾  rI   r,   r   Ú<module>rÎ     sé  ðñó& Û Û Ý $ß 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Ñ(ô
˜ó 
ó )ð
ñ"  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Ñ(ô"�6ó "ó )ð"ñ:  4Ñ(ô" 6ó "ó )ð"ñ4  4Ñ(ô"�Vó "ó )ð"ñ$  4Ñ(ô>˜ó >ó )ð>ñ  4Ñ(ô-˜]ó -ó )ð-ñ  4Ñ(ô#˜ó #ó )ð#ñ  4Ñ(ô˜=ó ó )ðñ  4Ñ(ô%�Vó %ó )ð%ñ  4Ñ(ô"˜&ó "ó )ð"ñ2  4Ñ(ô*˜&ó *ó )ð*ð ×Ñà05ò	Øð	Ø)-ð	àˆc�]ô	ó ð	ð ×ÑØEJò X ð X¸dð XÈtô Xó ðXð ×Ñð6 &ð 6¨Tó 6ó ð6ð ×Ñð 6¨D¡=ð °S¸4±Zó ó ðð ×Ñð Fð ¨tó ó ðð ×Ñð 6ð ¨dó ó ðð ×Ñð˜6ð ¨6ð °dó ó ðð ×Ñð°6ð ¸dó ó ðð ×Ñð¸6ð Àdó ó ðð ×Ñð°fð Àó ó ðð ×Ñð°ð ¸Dó ó ðð ×Ñð Vð °ó ó ðð ×Ñð˜Vð ¨ó ó ðð2 ×Ñð fð °ó ó ñr,   