Ë
    øÿæi©  ã                   ó˜  — d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	m
Z
 ddlmZ ddlmZmZmZmZmZ ddlmZ dd	lmZmZmZ e	rdd
lmZ ej8                  ej:                  ej<                  ej>                  ej:                  ej:                  ej>                  ej>                  ej@                  ej@                  ejB                  ejB                  ejD                  ejD                  ejF                  ejF                  ejH                  ejH                  ejJ                  ejJ                  i
Z&ej8                  ej@                  ej<                  ejB                  ej@                  ej@                  ejB                  ejB                  ej:                  ej@                  ej>                  ejB                  ejD                  ejD                  ejF                  ejF                  ejH                  ejH                  ejJ                  ejJ                  i
Z'ej8                  ejD                  ej<                  ejF                  ej@                  ejD                  ejB                  ejF                  ej:                  ejD                  ej>                  ejF                  ejD                  ejD                  ejF                  ejF                  ejH                  ejH                  ejJ                  ejJ                  i
Z(ej8                  ejH                  ej<                  ejJ                  ej:                  ejH                  ej>                  ejJ                  ejH                  ejH                  ejJ                  ejJ                  ej@                  ejH                  ejB                  ejJ                  ejD                  ejH                  ejF                  ejJ                  i
Z)dede*fd„Z+dee   de,fd„Z-d˜dede*de,fd„Z. ed¬«       G d„ de«      «       Z/ ed¬«       G d„ de«      «       Z0 ed¬«       G d„ de«      «       Z1 ed¬«       G d„ de«      «       Z2 ed¬«       G d„ de«      «       Z3 ed¬«       G d„ d e«      «       Z4 ed¬«       G d!„ d"e«      «       Z5 ed¬«       G d#„ d$e5«      «       Z6 ed¬«       G d%„ d&e«      «       Z7 ed¬«       G d'„ d(e7«      «       Z8 ed¬«       G d)„ d*e«      «       Z9 ed¬«       G d+„ d,e«      «       Z: ed¬«       G d-„ d.e«      «       Z; ed¬«       G d/„ d0e«      «       Z< ed¬«       G d1„ d2e«      «       Z= ed¬«       G d3„ d4e«      «       Z> ed¬«       G d5„ d6e«      «       Z? ed¬«       G d7„ d8e7«      «       Z@ ed¬«       G d9„ d:e7«      «       ZA ed¬«       G d;„ d<e«      «       ZB ed¬«       G d=„ d>e«      «       ZC G d?„ d@ejˆ                  «      ZE ed¬«       G dA„ dBe«      «       ZF ed¬«       G dC„ dDe«      «       ZG ed¬«       G dE„ dFe«      «       ZH ed¬«       G dG„ dHe«      «       ZI ed¬«       G dI„ dJe«      «       ZJ ed¬«       G dK„ dLe«      «       ZK ed¬«       G dM„ dNe«      «       ZL G dO„ dPe«      ZM ed¬«       G dQ„ dRe«      «       ZN ed¬«       G dS„ dTe«      «       ZO ed¬«       G dU„ dVe«      «       ZP ed¬«       G dW„ dXe«      «       ZQ ed¬«       G dY„ dZe«      «       ZR ed¬«       G d[„ d\e«      «       ZS ed¬«       G d]„ d^eO«      «       ZT ed¬«       G d_„ d`eO«      «       ZU ed¬«       G da„ dbe«      «       ZV ed¬«       G dc„ dde«      «       ZW ed¬«       G de„ dfe«      «       ZX ed¬«       G dg„ dhe«      «       ZY ed¬«       G di„ dje«      «       ZZ ed¬«       G dk„ dleZ«      «       Z[ ed¬«       G dm„ dne[«      «       Z\ ed¬«       G do„ dpeZ«      «       Z] ed¬«       G dq„ dre«      «       Z^ ed¬«       G ds„ dte«      «       Z_ ed¬«       G du„ dve«      «       Z` ed¬«       G dw„ dxe«      «       Za ed¬«       G dy„ dze«      «       Zb ed¬«       G d{„ d|e«      «       Zc ed¬«       G d}„ d~e«      «       Zd ed¬«       G d„ d€e«      «       Ze ed¬«       G d�„ d‚e«      «       Zf ed¬«       G dƒ„ d„e«      «       Zg ed¬«       G d…„ d†e«      «       ZhejÒ                  dd‡œdedˆe*dee,   fd‰„«       ZjejÒ                  dd‡œdedˆe*de*fdŠ„«       ZkejÒ                  dede*fd‹„«       ZlejÒ                  dedz  de,dz  fdŒ„«       ZmejÒ                  dede*fd�„«       ZnejÒ                  dede*fdŽ„«       ZoejÒ                  ded�ede*fd�„«       ZpejÒ                  dede*fd‘„«       ZqejÒ                  dede*fd’„«       ZrejÒ                  dede*fd“„«       ZsejÒ                  dede*fd”„«       ZtejÒ                  dede*fd•„«       ZuejÒ                  dede*fd–„«       ZvejÒ                  dede*fd—„«       Zwy)™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                 ó„   — t        | t        «      ry	 | j                  t        j                  k(  ry	 y# t
        $ r Y yw xY w©NTF)Ú
isinstanceÚConstantSourceÚguard_sourcer   ÚCONSTANTÚNotImplementedError©r   s    úi/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torch/_dynamo/source.pyÚis_constant_sourcer   m   sL   € Ü�&œ.Ô)ØðØ×Ñ¤+×"6Ñ"6Ò6Øð 7ð
 øô ò Øàðús   “3 ³	?¾?c                 ó@   — | €y	 | j                   S # t        $ r Y yw xY w)Nz<unknown source>)Únamer   r   s    r   Ú_get_source_debug_namer"   y   s+   € Ø€~Ø!ð	&Ø—;‘;ÐøÜ"ò 	&Ù%ð	&ús   … ‘	œFÚsÚ
apply_reprc                 óx   — |rt        | «      } nt        | «      } | j                  dd«      j                  dd«      S )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                   ó–   — e Zd ZU eed<   dZeed<   dZee	e      ed<   dZ
eed<   dd„Zedefd	„«       Zej                   defd
„«       Zy)ÚLocalSourceÚ
local_nameFÚis_inputNÚdynamismÚis_derefed_cell_contentsr   c                 ó¨   — | j                   r|j                  | j                  «       y |j                  |j	                  | j                  «      «       y ©N)r3   Ú
load_derefr0   Úappend_outputÚcreate_load©ÚselfÚcodegens     r   ÚreconstructzLocalSource.reconstruct¢   s:   € Ø×(Ò(Ø×Ñ˜tŸ™Õ/à×!Ñ! '×"5Ñ"5°d·o±oÓ"FÕGr,   c                 ó"   — t         j                  S r5   )r   ÚLOCAL©r:   s    r   r   zLocalSource.guard_source¨   s   € ä× Ñ Ð r,   c                 ó8   — dt        | j                  d¬«      › d�S )NzL[T©r$   Ú]©r+   r0   r?   s    r   Ú_name_templatezLocalSource._name_template¬   s   € à”H˜TŸ_™_¸Ô>Ð?¸qÐAÐAr,   ©r;   r   r   N)Ú__name__Ú
__module__Ú__qualname__r)   Ú__annotations__r1   Úboolr2   r   Ú	frozensetr3   r<   Úpropertyr   r   Ú	functoolsÚcached_propertyrD   © r,   r   r/   r/   ’   sz   … àƒOð €HˆdÓð *.€Hˆh�y ‘~Ñ&Ó-ð
 &+Ð˜dÓ*óHð ð!˜kò !ó ð!ð ×ÑðB ò Bó ñBr,   r/   c                   óL   — e Zd ZU eed<   dd„Zedefd„«       Zedefd„«       Z	y)ÚTempLocalSourcer0   r   Nc                 óX   — |j                  |j                  | j                  «      «       y r5   ©r7   r8   r0   r9   s     r   r<   zTempLocalSource.reconstruct¶   ó   € Ø×Ñ˜g×1Ñ1°$·/±/ÓBÕCr,   c                 ó"   — t         j                  S r5   )r   Ú
TEMP_LOCALr?   s    r   r   zTempLocalSource.guard_source¹   s   € ä×%Ñ%Ð%r,   c                 ó   — t        d«      ‚)NzhCannot create guard on TempLocalSource - this is an internal Dynamo bug. Please file an issue on GitHub.©r   r?   s    r   rD   zTempLocalSource._name_template½   s   € ä!Øvó
ð 	
r,   rE   )
rF   rG   rH   r)   rI   r<   rL   r   r   rD   rO   r,   r   rQ   rQ   ±   sE   … ð ƒOóDð ð&˜kò &ó ð&ð ð
 ò 
ó ñ
r,   rQ   c                   ó`   — e Zd ZU eed<   dd„Zedefd„«       Ze	j                  defd„«       Zy)ÚSyntheticLocalSourcer0   r   Nc                 óX   — |j                  |j                  | j                  «      «       y r5   rS   r9   s     r   r<   z SyntheticLocalSource.reconstructÈ   rT   r,   c                 ó"   — t         j                  S r5   )r   ÚSYNTHETIC_LOCALr?   s    r   r   z!SyntheticLocalSource.guard_sourceË   s   € ä×*Ñ*Ð*r,   c                 ó8   — dt        | j                  d¬«      › d�S )NzSYNTHETIC_LOCAL[TrA   rB   rC   r?   s    r   rD   z#SyntheticLocalSource._name_templateÏ   s   € à!¤(¨4¯?©?ÀtÔ"LÐ!MÈQÐOÐOr,   rE   ©rF   rG   rH   r)   rI   r<   rL   r   r   rM   rN   rD   rO   r,   r   rZ   rZ   Ä   sL   … àƒOóDð ð+˜kò +ó ð+ð ×ÑðP ò Pó ñPr,   rZ   c                   ó`   — e Zd ZU eed<   edefd„«       Zdd„Ze	j                  defd„«       Zy)ÚRandomValueSourceÚrandom_call_indexr   c                 ó"   — t         j                  S r5   )r   ÚRANDOM_VALUEr?   s    r   r   zRandomValueSource.guard_sourceØ   s   € ä×'Ñ'Ð'r,   Nc                 ó  — |j                  |j                  |j                  j                  j                  «      «       |j                  |j                  | j                  «      «       |j                  t        «       «       y r5   )r7   r8   ÚtxÚoutputÚrandom_values_varÚcreate_load_constrb   r   r9   s     r   r<   zRandomValueSource.reconstructÜ   s\   € Ø×Ñ˜g×1Ñ1°'·*±*×2CÑ2C×2UÑ2UÓVÔWØ×Ñ˜g×7Ñ7¸×8NÑ8NÓOÔPØ×ÑÔ2Ó4Õ5r,   c                 ó2   — dt        | j                  «      › �S )NÚrandom_value_)r+   rb   r?   s    r   rD   z RandomValueSource._name_templateá   s   € àœx¨×(>Ñ(>Ó?Ð@ÐAÐAr,   rE   )rF   rG   rH   ÚintrI   rL   r   r   r<   rM   rN   r)   rD   rO   r,   r   ra   ra   Ô   sJ   … àÓàð(˜kò (ó ð(ó6ð
 ×ÑðB ò Bó ñBr,   ra   c                   ó`   — e Zd ZU eed<   dd„Zedefd„«       Ze	j                  defd„«       Zy)ÚGlobalSourceÚglobal_namer   Nc                 ó\   — |j                  |j                  | j                  d¬«      «       y ©NT©Úadd©r7   Úcreate_load_globalro   r9   s     r   r<   zGlobalSource.reconstructê   s&   € Ø×Ñ˜g×8Ñ8¸×9IÑ9IÈtÐ8ÓTÕUr,   c                 ó"   — t         j                  S r5   ©r   ÚGLOBALr?   s    r   r   zGlobalSource.guard_sourceí   ó   € ä×!Ñ!Ð!r,   c                 ó8   — dt        | j                  d¬«      › d�S )NúG[TrA   rB   ©r+   ro   r?   s    r   rD   zGlobalSource._name_templateñ   s   € à”H˜T×-Ñ-¸$Ô?Ð@ÀÐBÐBr,   rE   r_   rO   r,   r   rn   rn   æ   sM   … àÓóVð ð"˜kò "ó ð"ð ×ÑðC ò Có ñCr,   rn   c                   ó`   — e Zd ZU eed<   dd„Zedefd„«       Ze	j                  defd„«       Zy)ÚGlobalWeakRefSourcero   r   Nc                 óh   ‡ ‡— ‰j                  ˆˆ fd„«       ‰j                  t        dd«      «       y )Nc                  ó\   •— ‰ j                  ‰ j                  ‰j                  d¬«      «      S rq   rt   ©r;   r:   s   €€r   Ú<lambda>z1GlobalWeakRefSource.reconstruct.<locals>.<lambda>ü   s)   ø€ �G×)Ñ)Ø×*Ñ*¨4×+;Ñ+;ÀÐ*ÓFôr,   r   F©Úadd_push_nullÚextend_outputr   r9   s   ``r   r<   zGlobalWeakRefSource.reconstructú   s.   ù€ Ø×Ñôô	
ð
 	×ÑÔ2°1°eÓ<Õ=r,   c                 ó"   — t         j                  S r5   rw   r?   s    r   r   z GlobalWeakRefSource.guard_source  ry   r,   c                 ó8   — dt        | j                  d¬«      › d�S )Nr{   TrA   z]()r|   r?   s    r   rD   z"GlobalWeakRefSource._name_template  s   € à”H˜T×-Ñ-¸$Ô?Ð@ÀÐDÐDr,   rE   r_   rO   r,   r   r~   r~   ö   sL   … àÓó>ð ð"˜kò "ó ð"ð ×ÑðE ò Eó ñEr,   r~   c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚWeakRefCallSourcer   Nc                 óh   ‡ ‡— ‰j                  ˆˆ fd„«       ‰j                  t        dd«      «       y )Nc                  ó(   •—  ‰ ‰j                   «      S r5   ©Úbaser�   s   €€r   r‚   z/WeakRefCallSource.reconstruct.<locals>.<lambda>  s   ø€ ¡g¨d¯i©iÔ&8r,   r   Frƒ   r9   s   ``r   r<   zWeakRefCallSource.reconstruct  s(   ù€ Ø×ÑÔ8Ô9Ø×ÑÔ2°1°eÓ<Õ=r,   c                  ó   — y)Nz{0}()rO   r?   s    r   rD   z WeakRefCallSource._name_template  s   € àr,   rE   ©rF   rG   rH   r<   rL   r)   rD   rO   r,   r   r‰   r‰     s"   „ ó>ð ð ò ó ñr,   r‰   c                   ó   — e Zd Zy)ÚCallFunctionNoArgsSourceN©rF   rG   rH   rO   r,   r   r‘   r‘     ó   „ àr,   r‘   c                   óR   — e Zd ZU eed<   dd„Zdd„Zej                  defd„«       Z	y)	Ú
AttrSourceÚmemberr   Nc                 óp   — | j                   sJ d«       ‚d| j                  vsJ d| j                  ›d�«       ‚y )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–   r?   s    r   Ú__post_init__zAttrSource.__post_init__  sE   € Ø�yŠyÐUÐUÓUˆyØ˜$Ÿ+™+Ñ%ð 	
Ø:¸4¿;¹;¸/ð JJð Jó	
Ñ%r,   c                 ó|   —  || j                   «       |j                  |j                  | j                  «      «       y r5   ©r�   r…   Úcreate_load_attrsr–   r9   s     r   r<   zAttrSource.reconstruct&  ó+   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿¹ÓDÕEr,   c                 óœ   — | j                   j                  «       sdt        | j                   d¬«      › d�S dt        | j                   «      › �S )Nzgetattr({0}, TrA   Ú)ú{0}.)r–   Úisidentifierr+   r?   s    r   rD   zAttrSource._name_template*  sD   € à�{‰{×'Ñ'Ô)Ø$¤X¨d¯k©kÀdÔ%KÐ$LÈAÐNÐNØœ §¡Ó-Ð.Ð/Ð/r,   ©r   NrE   ©
rF   rG   rH   r)   rI   r›   r<   rM   rN   rD   rO   r,   r   r•   r•     s3   … àƒKó
óFð ×Ñð0 ò 0ó ñ0r,   r•   c                   óJ   — e Zd ZU dZ ej
                  d¬«      Zeed<   dd„Z	y)ÚCellContentsSourcez§
    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                 óV   — | j                   sJ d«       ‚| j                  dk(  sJ d«       ‚y )Nz@Can't construct a CellContentsSource without a valid base sourceÚcell_contentsz8CellContentsSource should only be used for cell_contentsrš   r?   s    r   r›   z CellContentsSource.__post_init__:  s6   € Ø�yŠyð 	
ØNó	
ˆyð �{‰{˜oÒ-ð 	
ØFó	
Ñ-r,   r¤   )
rF   rG   rH   Ú__doc__ÚdataclassesÚfieldrª   r)   rI   r›   rO   r,   r   r§   r§   1  s%   … ñð
 *˜×)Ñ)°"Ô5€L�#Ó5ô
r,   r§   c                   óR   — e Zd ZU eed<   dd„Zdd„Zej                  defd„«       Z	y)	ÚGenericAttrSourcer–   r   Nc                 óp   — | j                   sJ d«       ‚d| j                  vsJ d| j                  ›d�«       ‚y )Nz?Can't construct a GenericAttrSource without a valid base sourcer˜   z3GenericAttrSource member must not contain '.', got r™   rš   r?   s    r   r›   zGenericAttrSource.__post_init__G  sK   € Ø�yŠyð 	
ØMó	
ˆyð ˜$Ÿ+™+Ñ%ð 	
ØAÀ$Ç+Á+Àð QJð Jó	
Ñ%r,   c                 ó|   —  || j                   «       |j                  |j                  | j                  «      «       y r5   r�   r9   s     r   r<   zGenericAttrSource.reconstructP  rŸ   r,   c                 ó8   — dt        | j                  d¬«      › d�S )Nzobject.__getattribute__({0}, TrA   r¡   ©r+   r–   r?   s    r   rD   z GenericAttrSource._name_templateT  s"   € ð .¬h°t·{±{ÈtÔ.TÐ-UÐUVÐWð	
r,   r¤   rE   r¥   rO   r,   r   r±   r±   C  s3   … àƒKó
óFð ×Ñð
 ò 
ó ñ
r,   r±   c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚTypeDictSourcer   Nc                 óh   —  || j                   «       |j                  |j                  d«      «       y )NÚ__dict__©r�   r…   rž   r9   s     r   r<   zTypeDictSource.reconstruct^  ó'   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸
ÓCÕDr,   c                  ó   — y)Nzdict({0}.__dict__)rO   r?   s    r   rD   zTypeDictSource._name_templateb  s   € ð $r,   rE   r�   rO   r,   r   r·   r·   \  s#   „ óEð ð$ ò $ó ñ$r,   r·   c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚTypeMROSourcer   Nc                 óh   —  || j                   «       |j                  |j                  d«      «       y )NÚ__mro__rº   r9   s     r   r<   zTypeMROSource.reconstructn  ó'   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸	ÓBÕCr,   c                  ó   — y)Nz{0}.__mro__rO   r?   s    r   rD   zTypeMROSource._name_templater  s   € àr,   rE   r�   rO   r,   r   r¾   r¾   l  s#   „ óDð ð ò ó ñr,   r¾   c                   ó$   — e Zd ZU dZeed<   dd„Zy)ÚLocalCellSourcezƒ
    Conceptually, this class is `LocalSource` for cell objects implicitly
    generated by Python (e.g., captured variables).
    r0   Nc                 óX   — |j                  |j                  | j                  «      «       y r5   )r7   Úcreate_load_closurer0   r9   s     r   r<   zLocalCellSource.reconstruct€  s!   € ð 	×Ñ˜g×9Ñ9¸$¿/¹/ÓJÕKr,   rE   )rF   rG   rH   r­   r)   rI   r<   rO   r,   r   rÄ   rÄ   w  s   … ñð
 ƒOôLr,   rÄ   c                   ó*   — e Zd Zdd„Zedefd„«       Zy)Ú
CodeSourcer   Nc                 óh   —  || j                   «       |j                  |j                  d«      «       y )NÚ__code__rº   r9   s     r   r<   zCodeSource.reconstruct�  r»   r,   c                  ó   — y)Nz{0}.__code__rO   r?   s    r   rD   zCodeSource._name_template‘  s   € àr,   rE   r�   rO   r,   r   rÈ   rÈ   ‹  s#   „ óEð ð ò ó ñr,   rÈ   c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚClosureSourcer   Nc                 óh   —  || j                   «       |j                  |j                  d«      «       y )NÚ__closure__rº   r9   s     r   r<   zClosureSource.reconstruct™  s'   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸ÓFÕGr,   c                  ó   — y)Nz{0}.__closure__rO   r?   s    r   rD   zClosureSource._name_template�  s   € à r,   rE   r�   rO   r,   r   rÍ   rÍ   —  s#   „ óHð ð! ò !ó ñ!r,   rÍ   c                   óN   — e Zd ZU dZeed<   dd„Zej                  defd„«       Z	y)Ú
GradSourceÚgradr–   r   Nc                 ó|   —  || j                   «       |j                  |j                  | j                  «      «       y r5   r�   r9   s     r   r<   zGradSource.reconstructª  rŸ   r,   c                 ó2   — dt        | j                  «      › �S )Nr¢   rµ   r?   s    r   rD   zGradSource._name_template®  s   € àœ §¡Ó-Ð.Ð/Ð/r,   rE   )
rF   rG   rH   r–   r)   rI   r<   rM   rN   rD   rO   r,   r   rÒ   rÒ   ¦  s3   … à€FˆCÓóFð ×Ñð0 ò 0ó ñ0r,   rÒ   c                   ó6   — e Zd Zej                  defd„«       Zy)ÚParamBufferSourcer   c                 ó<   — t         | j                  j                     S r5   ©Ú#_GUARD_SOURCE_SPECIALIZED_NN_MODULEr�   r   r?   s    r   r   zParamBufferSource.guard_sourceµ  ó   € ä2°4·9±9×3IÑ3IÑJÐJr,   N©rF   rG   rH   rM   rN   r   r   rO   r,   r   r×   r×   ³  s$   „ à×ÑðK˜kò Kó ñKr,   r×   c                   ó   — e Zd Zy)ÚUnspecializedParamBufferSourceNr’   rO   r,   r   rÞ   rÞ   »  r“   r,   rÞ   c                   óˆ   — e Zd ZU dZee   ed<   edefd„«       Z	e
j                  defd„«       Zdedef   defd„Zdefd	„Zy)
ÚEphemeralSourceNÚdescr   c                 ó"   — t         j                  S r5   )r   Ú	EPHEMERALr?   s    r   r   zEphemeralSource.guard_sourceÍ  ó   € ä×$Ñ$Ð$r,   c                 óZ   — | j                   �d| j                   z   nd}dt        |«      › d�S )Nz: r¨   z
<ephemeralÚ>)rá   r+   )r:   rá   s     r   rD   zEphemeralSource._name_templateÑ  s/   € à#'§9¡9Ð#8ˆt�d—i‘iÒ¸bˆØœH T›NÐ+¨1Ð-Ð-r,   Úfn.c                 ó   — t         ‚r5   rX   ©r:   rç   s     r   Ú
make_guardzEphemeralSource.make_guardÖ  ó   € Ü!Ð!r,   c                  ó   — y©NTrO   r?   s    r   Úis_ephemeralzEphemeralSource.is_ephemeralÙ  ó   € Ør,   )rF   rG   rH   rá   r   r)   rI   rL   r   r   rM   rN   rD   r   r   r   rê   rJ   rî   rO   r,   r   rà   rà   É  sr   … à€Dˆ(�3‰-Óàð%˜kò %ó ð%ð ×Ñð. ò .ó ð.ð"˜X c¨3 hÑ/ð "°Eó "ð˜dô r,   rà   c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚSkipGuardSourcer   Nc                 ó:   — | j                   j                  |«       y r5   )r�   r<   r9   s     r   r<   zSkipGuardSource.reconstructß  s   € Ø�	‰	×Ñ˜gÕ&r,   c                  ó   — y©Nz{0}rO   r?   s    r   rD   zSkipGuardSource._name_templateâ  ó   € àr,   rE   r�   rO   r,   r   rñ   rñ   Ý  s"   „ ó'ð ð ò ó ñr,   rñ   c                   ó$   — e Zd ZdZdZdZdefd„Zy)ÚTensorPropertyr   r   é   r   c                 ó¢   — | t         j                  u ry| t         j                  u ry| t         j                  u ryt	        dt        | «      › �«      ‚)NÚsizeÚstrideÚstorage_offsetú
unhandled )r÷   ÚSIZEÚSTRIDEÚSTORAGE_OFFSETÚAssertionErrorr+   r?   s    r   Úmethod_namezTensorProperty.method_nameì  sL   € Ø”>×&Ñ&Ñ&ØØ”^×*Ñ*Ñ*ØØ”^×2Ñ2Ñ2Ø#ä  :¬h°t«nÐ-=Ð!>Ó?Ð?r,   N)rF   rG   rH   rþ   rÿ   r   r)   r  rO   r,   r   r÷   r÷   ç  s   „ Ø€DØ€FØ€Nð@˜Sô @r,   r÷   c                   óf   — e Zd ZU eed<   dZee   ed<   dd„Zd	d„Z	e
j                  defd„«       Zy)
ÚTensorPropertySourceÚpropNÚidxr   c                 ó’   — | j                   €J ‚| j                  t        j                  u r| j                  �J ‚y | j                  €J ‚y r5   )r�   r  r÷   r   r  r?   s    r   r›   z"TensorPropertySource.__post_init__ü  sD   € Ø�y‰yÐ$Ð$Ð$Ø�9‰9œ×5Ñ5Ñ5Ø—8‘8Ð#Ð#Ñ#à—8‘8Ð'Ð'Ñ'r,   c                 ó  ‡ ‡— ‰j                  ˆˆ fd„«        ‰‰ j                  «       ‰ j                  �*‰j                  ‰j	                  ‰ j                  «      «       ‰j                  t        ‰ j                  �dndd«      «       y )Nc                  óŒ   •— ‰ j                  t        j                  dt        ‰j                  j                  «       «      › �«      S )NÚcall_)Úload_import_fromr   rF   r+   r  r  r�   s   €€r   r‚   z2TensorPropertySource.reconstruct.<locals>.<lambda>  s3   ø€ �G×,Ñ,Ü—‘ %¬°·±×1FÑ1FÓ1HÓ(IÐ'JÐ Kôr,   rø   r   F)r„   r�   r  r7   ri   r…   r   r9   s   ``r   r<   z TensorPropertySource.reconstruct  sn   ù€ Ø×Ñôô	
ñ
 	�—	‘	Ôà�8‰8ÐØ×!Ñ! '×";Ñ";¸D¿H¹HÓ"EÔFØ×ÑÜ  d§h¡hÐ&:¡ÀÀ5ÓIõ	
r,   c                 ón  — | j                   t        j                  u rdt        | j                  «      › d�S | j                   t        j
                  u rdt        | j                  «      › d�S | j                   t        j                  u r| j                  �J ‚yt        dt        | j                   «      › �«      ‚)Nz{0}.size()[rB   z{0}.stride()[z{0}.storage_offset()rý   )r  r÷   rþ   r+   r  rÿ   r   r  r?   s    r   rD   z#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,   r¤   rE   )rF   rG   rH   r÷   rI   r  r   rl   r›   r<   rM   rN   r)   rD   rO   r,   r   r  r  ÷  sD   … à
ÓØ€Cˆ�#‰Óó(ó
ð ×Ñð	E ò 	Eó ñ	Er,   r  c                   óR   — e Zd ZU eed<   dd„Zdd„Zej                  de	fd„«       Z
y)	ÚIndexedSourcer  r   Nc                 ó    — | j                   €J ‚y r5   rŒ   r?   s    r   r›   zIndexedSource.__post_init__"  ó   € Ø�y‰yÐ$Ð$Ñ$r,   c                 ó   — t         ‚r5   rX   r9   s     r   r<   zIndexedSource.reconstruct%  rë   r,   c                 ó4   — dt        | j                  «      › d�S )NÚ(z, {0}))r+   r  r?   s    r   rD   zIndexedSource._name_template(  s   € à”8˜DŸH™HÓ%Ð& hÐ/Ð/r,   r¤   rE   )rF   rG   rH   rl   rI   r›   r<   rM   rN   r)   rD   rO   r,   r   r  r    s2   … à	ƒHó%ó"ð ×Ñð0 ò 0ó ñ0r,   r  c                   ó2   — e Zd Zdd„Zdd„Zedefd„«       Zy)ÚNegateSourcer   Nc                 ó    — | j                   €J ‚y r5   rŒ   r?   s    r   r›   zNegateSource.__post_init__/  r  r,   c                 ó   — t         ‚r5   rX   r9   s     r   r<   zNegateSource.reconstruct2  rë   r,   c                  ó   — y)Nz{0}.__neg__()rO   r?   s    r   rD   zNegateSource._name_template5  s   € ð r,   r¤   rE   ©rF   rG   rH   r›   r<   rL   r)   rD   rO   r,   r   r  r  -  s'   „ ó%ó"ð ð ò ó ñr,   r  c                   ó2   — e Zd Zdd„Zdd„Zedefd„«       Zy)ÚConvertIntSourcer   Nc                 ó    — | j                   €J ‚y r5   rŒ   r?   s    r   r›   zConvertIntSource.__post_init__=  r  r,   c                 ó(   —  || j                   «       y r5   rŒ   r9   s     r   r<   zConvertIntSource.reconstruct@  ó   € Ù�—	‘	Õr,   c                  ó   — y)Nz%cast_symbool_to_symint_guardless({0})rO   r?   s    r   rD   zConvertIntSource._name_templateC  s   € à6r,   r¤   rE   r  rO   r,   r   r  r  ;  s'   „ ó%óð ð7 ò 7ó ñ7r,   r  c                   ó>   — e Zd ZU eed<   dd„Zdd„Zedefd„«       Z	y)	ÚDynamicScalarSourceÚis_intr   Nc                 ó    — | j                   €J ‚y r5   rŒ   r?   s    r   r›   z!DynamicScalarSource.__post_init__L  r  r,   c                 óˆ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  t        dd«      «       y )Nc                  ó(   •— ‰ j                  dd«      S )NÚbuiltinsrl   ©r  ©r;   s   €r   r‚   z1DynamicScalarSource.reconstruct.<locals>.<lambda>T  s   ø€  g×&>Ñ&>¸zÈ5Ô&Qr,   r   F©r„   r�   r…   r   r9   s    `r   r<   zDynamicScalarSource.reconstructO  s6   ø€ ð
 	×ÑÓQÔRÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   c                  ó   — y)Nzint({0})rO   r?   s    r   rD   z"DynamicScalarSource._name_templateX  s   € àr,   r¤   rE   )
rF   rG   rH   rJ   rI   r›   r<   rL   r)   rD   rO   r,   r   r!  r!  H  s,   … àƒLó%ó>ð ð ò ó ñr,   r!  c                   ó2   — e Zd Zdd„Zdd„Zedefd„«       Zy)ÚFlattenScriptObjectSourcer   Nc                 ó    — | j                   €J ‚y r5   rŒ   r?   s    r   r›   z'FlattenScriptObjectSource.__post_init___  r  r,   c                 ó(   —  || j                   «       y r5   rŒ   r9   s     r   r<   z%FlattenScriptObjectSource.reconstructb  r  r,   c                  ó   — y)Nz{0}.__obj_flatten__()rO   r?   s    r   rD   z(FlattenScriptObjectSource._name_templatee  s   € à&r,   r¤   rE   r  rO   r,   r   r,  r,  ]  s'   „ ó%óð ð' ò 'ó ñ'r,   r,  c                   ó2   — e Zd Zdd„Zdd„Zedefd„«       Zy)ÚScriptObjectQualifiedNameSourcer   Nc                 ó    — | j                   €J ‚y r5   rŒ   r?   s    r   r›   z-ScriptObjectQualifiedNameSource.__post_init__l  r  r,   c                 ó(   —  || j                   «       y r5   rŒ   r9   s     r   r<   z+ScriptObjectQualifiedNameSource.reconstructo  r  r,   c                  ó   — y)Nz{0}._type().qualified_name()rO   r?   s    r   rD   z.ScriptObjectQualifiedNameSource._name_templater  s   € à-r,   r¤   rE   r  rO   r,   r   r1  r1  j  s'   „ ó%óð ð. ò .ó ñ.r,   r1  c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚAttrProxySourcer   Nc                 ó(   —  || j                   «       y r5   rŒ   r9   s     r   r<   zAttrProxySource.reconstructx  r  r,   c                  ó   — y)Nz{0}.get_base()rO   r?   s    r   rD   zAttrProxySource._name_template{  s   € àr,   rE   r�   rO   r,   r   r6  r6  w  s"   „ óð ð  ò  ó ñ r,   r6  c                   óÒ   — e Zd ZU eeef   ed<   dZeed<    e	j                  ddd¬«      Z
eed<    e	j                  ddd¬«      Zeed<   dd	„Zdd
„Zej                  defd„«       Zy)ÚDefaultsSourceÚidx_keyFÚis_kw)Úinitr(   Úcomparer¯   Ú_namer   Nc           
      ó   — | j                   sJ d«       ‚| j                  rxt        | j                  t        «      sJ ‚t
        j                  | dd«       t
        j                  | ddt        | j                  «      › dt        | j                  «      › d�«       y t        | j                  t        «      sJ ‚t
        j                  | dd«       t
        j                  | ddt        | j                  «      › d	t        | j                  «      › d
�«       y )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__Ú[rB   )
r�   r<  r   r;  r)   ÚobjectÚ__setattr__r+   r¯   rl   r?   s    r   r›   zDefaultsSource.__post_init__‡  sã   € Ø�yŠyð 	
Økó	
ˆyð �:Š:Ü˜dŸl™l¬CÔ0Ð0Ð0Ü×Ñ˜t WÐ.>Ô?Ü×ÑØØØœ $§*¡*Ó-Ð.¨b´¸$¿,¹,Ó1GÐ0HÈÐKõô ˜dŸl™l¬CÔ0Ð0Ð0Ü×Ñ˜t W¨nÔ=Ü×ÑØ�g ¬°·±Ó(<Ð'=¸Q¼xÈÏÉÓ?UÐ>VÐVWÐXõr,   c                 ó  —  || j                   «       |j                  |j                  | j                  «      «       |j	                  |j                  | j                  «      «       |j	                  t        «       «       y r5   )r�   r…   rž   r¯   r7   ri   r;  r   r9   s     r   r<   zDefaultsSource.reconstructš  sZ   € Ù�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×Ñ˜g×7Ñ7¸¿¹ÓEÔFØ×ÑÔ2Ó4Õ5r,   c                 ó   — | j                   S r5   )r?  r?   s    r   rD   zDefaultsSource._name_template   s   € à�z‰zÐr,   r¤   rE   )rF   rG   rH   r   rl   r)   rI   r<  rJ   r®   r¯   r?  r›   r<   rM   rN   rD   rO   r,   r   r:  r:  €  s{   … à�3˜�8‰_ÓØ€Eˆ4ÓØ"�×"Ñ"¨°EÀ5ÔI€Eˆ3ÓIØ"�×"Ñ"¨°EÀ5ÔI€Eˆ3ÓIóó&6ð ×Ñð ò ó ñr,   r:  c                   óx   ‡ — e Zd ZU eed<   dZeed<   d	ˆ fd„Zd
d„Zde	fd„Z
ej                  defd„«       Zˆ xZS )ÚGetItemSourceÚindexFÚindex_is_slicer   c                 óÈ   •— | j                   €J ‚t        | j                  t        «      r9t        ‰| �  d| j                  j                  «       «       t        ‰| �  dd«       y y )NrJ  rK  T)r�   r   rJ  ÚsliceÚsuperrE  Ú
__reduce__)r:   Ú	__class__s    €r   r›   zGetItemSource.__post_init__ª  sR   ø€ Ø�y‰yÐ$Ð$Ð$Ü�d—j‘j¤%Ô(ä‰GÑ ¨¯©×)>Ñ)>Ó)@ÔAÜ‰GÑÐ 0°$Õ7ð )r,   c                 ó$  —  || j                   «       | j                  r/|j                  |j                  | j	                  «       «      «       n*|j                  |j                  | j
                  «      «       |j                  t        «       «       y r5   )r�   rK  r7   ri   Úunpack_slicerJ  r   r9   s     r   r<   zGetItemSource.reconstruct±  sh   € Ù�—	‘	ÔØ×ÒØ×!Ñ! '×";Ñ";¸D×<MÑ<MÓ<OÓ"PÕQà×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHØ×ÑÔ2Ó4Õ5r,   c                 óF   — | j                   sJ ‚| j                  \  }} ||Ž S r5   )rK  rJ  )r:   Úslice_classÚ
slice_argss      r   rR  zGetItemSource.unpack_slice¹  s*   € Ø×"Ò"Ð"Ð"Ø"&§*¡*Ñˆ�ZÙ˜JÐ'Ð'r,   c                 óÆ   — t        | j                  t        «      rJ ‚| j                  rdt	        | j                  «       d¬«      › d�S dt	        | j                  d¬«      › d�S )Nú{0}[TrA   rB   )r   rJ  r   rK  r+   rR  r?   s    r   rD   zGetItemSource._name_template¾  s\   € ô
 ˜dŸj™j¬&Ô1Ð1Ð1Ø×ÒØœH T×%6Ñ%6Ó%8ÀTÔJÐKÈ1ÐMÐMàœH T§Z¡Z¸DÔAÐBÀ!ÐDÐDr,   r¤   rE   )rF   rG   rH   r   rI   rK  rJ   r›   r<   rM  rR  rM   rN   r)   rD   Ú__classcell__)rP  s   @r   rI  rI  ¥  sL   ø… àƒJØ €N�DÓ õ8ó6ð(˜eó (ð
 ×ÑðE ò Eó ôEr,   rI  c                   óV   — e Zd ZU eed<   dd„Zej                  defd„«       Z	de
fd„Zy)ÚConstDictKeySourcerJ  r   Nc                 óÜ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚdict_keys_getitem©r  r   rF   r(  s   €r   r‚   z0ConstDictKeySource.reconstruct.<locals>.<lambda>Ð  s   ø€ �G×,Ñ,¬U¯^©^Ð=PÔQr,   rø   F©r„   r�   r7   ri   rJ  r…   r   r9   s    `r   r<   zConstDictKeySource.reconstructÎ  sU   ø€ Ø×ÑÛQô	
ñ 	�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó8   — dt        | j                  d¬«      › d�S )Nzlist(dict.keys({0}))[TrA   rB   ©r+   rJ  r?   s    r   rD   z!ConstDictKeySource._name_templateÖ  s   € ð )¬°$·*±*ÈÔ)NÐ(OÈqÐQÐQr,   c                  ó   — yrí   rO   r?   s    r   Úis_dict_keyzConstDictKeySource.is_dict_keyÛ  rï   r,   rE   )rF   rG   rH   r   rI   r<   rM   rN   r)   rD   rJ   rc  rO   r,   r   rZ  rZ  Ê  s<   … àƒJó>ð ×ÑðR ò Ró ðRð˜Tô r,   rZ  c                   ó^   — e Zd ZU eed<   dd„Zd	d„Zej                  de	fd„«       Z
defd„Zy)
ÚNonSerializableSetGetItemSourcerJ  r   Nc                 óJ   — ddl m} |j                  | j                  «      sJ ‚y ©Nr   )ÚConstantVariable)Ú	variablesrh  Ú
is_literalrJ  ©r:   rh  s     r   r›   z-NonSerializableSetGetItemSource.__post_init__ã  s   € Ý/à×*Ñ*¨4¯:©:Ô6Ð6Ñ6r,   c                 óÜ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚset_getitemr^  r(  s   €r   r‚   z=NonSerializableSetGetItemSource.reconstruct.<locals>.<lambda>ê  s   ø€ �G×,Ñ,¬U¯^©^¸]ÔKr,   rø   Fr_  r9   s    `r   r<   z+NonSerializableSetGetItemSource.reconstructè  sU   ø€ Ø×ÑÛKô	
ñ 	�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó8   — dt        | j                  d¬«      › d�S )Nz
list({0})[TrA   rB   ra  r?   s    r   rD   z.NonSerializableSetGetItemSource._name_templateð  s   € ð œh t§z¡z¸dÔCÐDÀAÐFÐFr,   c                  ó   — y)NFrO   r?   s    r   rc  z+NonSerializableSetGetItemSource.is_dict_keyõ  s   € Ør,   r¤   rE   )rF   rG   rH   rl   rI   r›   r<   rM   rN   r)   rD   rJ   rc  rO   r,   r   re  re  ß  sA   … àƒJó7ó
>ð ×ÑðG ò Gó ðGð˜Tô r,   re  c                   óR   — e Zd ZU eed<   dd„Zdd„Zej                  de	fd„«       Z
y)	ÚDictGetItemSourcerJ  r   Nc                 ó€   — ddl m} t        | j                  t        «      s|j                  | j                  «      sJ ‚y y rg  ©ri  rh  r   rJ  rZ  rj  rk  s     r   r›   zDictGetItemSource.__post_init__  ó;   € Ý/äØ�J‰JÔ*ô
à×(Ñ(¨¯©Ô4ð	5ð 5à4ð
r,   c                 ó  —  || j                   «       t        | j                  t        «      r || j                  «       n*|j	                  |j                  | j                  «      «       |j	                  t        «       «       y r5   )r�   r   rJ  r   r7   ri   r   r9   s     r   r<   zDictGetItemSource.reconstruct  sY   € á�—	‘	Ôô �d—j‘j¤&Ô)Ù�D—J‘JÕà×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHØ×ÑÔ2Ó4Õ5r,   c                 ó²   — t        | j                  t        «      r#dt        | j                  j                  «      › d�S dt        | j                  d¬«      › d�S )NrW  rB   TrA   ©r   rJ  rZ  r+   r!   r?   s    r   rD   z DictGetItemSource._name_template  sI   € ä�d—j‘jÔ"4Ô5ØœH T§Z¡Z§_¡_Ó5Ð6°aÐ8Ð8àœH T§Z¡Z¸DÔAÐBÀ!ÐDÐDr,   r¤   rE   ©rF   rG   rH   r   rI   r›   r<   rM   rN   r)   rD   rO   r,   r   rr  rr  ú  s7   … ð
 ƒJó5ó	6ð ×ÑðE ò Eó ñEr,   rr  c                   óR   — e Zd ZU eed<   dd„Zdd„Zej                  de	fd„«       Z
y)	ÚDictSubclassGetItemSourcerJ  r   Nc                 ó€   — ddl m} t        | j                  t        «      s|j                  | j                  «      sJ ‚y y rg  rt  rk  s     r   r›   z'DictSubclassGetItemSource.__post_init__$  ru  r,   c                 ó6  ‡— ‰j                  ˆfd„«        ‰| j                  «       t        | j                  t        «      r ‰| j                  «       n*‰j                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚdict_getitemr^  r(  s   €r   r‚   z7DictSubclassGetItemSource.reconstruct.<locals>.<lambda>0  ó   ø€ �G×,Ñ,¬U¯^©^¸^ÔLr,   rø   F)	r„   r�   r   rJ  r   r7   ri   r…   r   r9   s    `r   r<   z%DictSubclassGetItemSource.reconstruct+  ss   ø€ ð 	×ÑÛLô	
ñ
 	�—	‘	Ôô �d—j‘j¤&Ô)Ù�D—J‘JÕà×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHà×ÑÔ2°1°eÓ<Õ=r,   c                 ó²   — t        | j                  t        «      r#dt        | j                  j                  «      › d�S dt        | j                  d¬«      › d�S )Nzdict.__getitem__({0}, r¡   rW  TrA   rB   rx  r?   s    r   rD   z(DictSubclassGetItemSource._name_template>  sI   € ä�d—j‘jÔ"4Ô5Ø-¬h°t·z±z·±Ó.GÐ-HÈÐJÐJàœH T§Z¡Z¸DÔAÐBÀ!ÐDÐDr,   r¤   rE   ry  rO   r,   r   r{  r{    s7   … ð
 ƒJó5ó>ð& ×ÑðE ò Eó ñEr,   r{  c                   óB   — e Zd ZdZdd„Zej                  defd„«       Zy)ÚListGetItemSourcezY
    Same as GetItemSource with reconstruct and name overridden to be list specific.
    r   Nc                 ó
  ‡— ‰j                  ˆfd„«        ‰| j                  «       | j                  rt        d«      ‚‰j	                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚlist_getitemr^  r(  s   €r   r‚   z/ListGetItemSource.reconstruct.<locals>.<lambda>R  r€  r,   ú>List[slice] is a temporary object and should not have a sourcerø   F)	r„   r�   rK  ÚRuntimeErrorr7   ri   rJ  r…   r   r9   s    `r   r<   zListGetItemSource.reconstructL  st   ø€ ð
 	×ÑÛLô	
ñ
 	�—	‘	Ôð ×ÒÜØPóð ð ×!Ñ! '×";Ñ";¸D¿J¹JÓ"GÔHà×ÑÔ2°1°eÓ<Õ=r,   c                 óž   — t        | j                  t        «      rJ ‚| j                  rt	        d«      ‚dt        | j                  d¬«      › d�S )Nr‡  zlist.__getitem__({0}, TrA   r¡   )r   rJ  r   rK  rˆ  r+   r?   s    r   rD   z ListGetItemSource._name_templateb  sO   € ô
 ˜dŸj™j¬&Ô1Ð1Ð1Ø×ÒÜØPóð ð .¬h°t·z±zÈdÔ.SÐ-TÐTUÐVÐVr,   rE   )	rF   rG   rH   r­   r<   rM   rN   r)   rD   rO   r,   r   rƒ  rƒ  F  s0   „ ñó>ð, ×Ñð
W ò 
Wó ñ
Wr,   rƒ  c                   ó>   — e Zd Zdd„Zej
                  defd„«       Zy)ÚTupleIteratorGetItemSourcer   Nc                 óÜ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  ‰j                  | j                  «      «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚtuple_iterator_getitemr^  r(  s   €r   r‚   z8TupleIteratorGetItemSource.reconstruct.<locals>.<lambda>t  s   ø€ �G×,Ñ,¬U¯^©^Ð=UÔVr,   rø   Fr_  r9   s    `r   r<   z&TupleIteratorGetItemSource.reconstructr  sU   ø€ Ø×ÑÛVô	
ñ 	�—	‘	ÔØ×Ñ˜g×7Ñ7¸¿
¹
ÓCÔDØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó8   — dt        | j                  d¬«      › d�S )Nz___tuple_iterator_getitem({0}, TrA   r¡   ra  r?   s    r   rD   z)TupleIteratorGetItemSource._name_templatez  s#   € ð 0´¸¿¹ÐPTÔ0UÐ/VÐVWÐXð	
r,   rE   )rF   rG   rH   r<   rM   rN   r)   rD   rO   r,   r   r‹  r‹  p  s(   „ ó>ð ×Ñð
 ò 
ó ñ
r,   r‹  c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚNamedTupleFieldsSourcer   Nc                 óh   —  || j                   «       |j                  |j                  d«      «       y )NÚ_fieldsrº   r9   s     r   r<   z"NamedTupleFieldsSource.reconstructƒ  rÁ   r,   c                  ó   — y)Nz___namedtuple_fields({0})rO   r?   s    r   rD   z%NamedTupleFieldsSource._name_template‡  s   € à*r,   rE   r�   rO   r,   r   r‘  r‘  �  s#   „ óDð ð+ ò +ó ñ+r,   r‘  c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚDataclassFieldsSourcer   Nc                 óˆ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  t        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚdataclass_fieldsr^  r(  s   €r   r‚   z3DataclassFieldsSource.reconstruct.<locals>.<lambda>�  s   ø€ �G×,Ñ,¬U¯^©^Ð=OÔPr,   r   Fr)  r9   s    `r   r<   z!DataclassFieldsSource.reconstructŽ  s8   ø€ Ø×ÑÛPô	
ñ 	�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   c                  ó   — y)Nz___dataclass_fields({0})rO   r?   s    r   rD   z$DataclassFieldsSource._name_template•  s   € à)r,   rE   r�   rO   r,   r   r–  r–  Œ  s"   „ ó>ð ð* ò *ó ñ*r,   r–  c                   ó2   — e Zd Zdd„Zdd„Zedefd„«       Zy)Ú
TypeSourcer   Nc                 ó    — | j                   €J ‚y r5   rŒ   r?   s    r   r›   zTypeSource.__post_init__œ  r  r,   c                 óˆ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  t        dd«      «       y )Nc                  ó(   •— ‰ j                  dd«      S )Nr&  Útyper'  r(  s   €r   r‚   z(TypeSource.reconstruct.<locals>.<lambda>   s   ø€  g×&>Ñ&>¸zÈ6Ô&Rr,   r   Fr)  r9   s    `r   r<   zTypeSource.reconstructŸ  s4   ø€ Ø×ÑÓRÔSÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   c                  ó   — y)Nz	type({0})rO   r?   s    r   rD   zTypeSource._name_template¤  s   € àr,   r¤   rE   r  rO   r,   r   rœ  rœ  š  s'   „ ó%ó>ð
 ð ò ó ñr,   rœ  c                   ó*   — e Zd Zdd„Zedefd„«       Zy)ÚOptimizerSourcer   Nc                 ó(   —  || j                   «       y r5   rŒ   r9   s     r   r<   zOptimizerSource.reconstruct«  r  r,   c                  ó   — yrô   rO   r?   s    r   rD   zOptimizerSource._name_template®  rõ   r,   rE   r�   rO   r,   r   r£  r£  ©  s"   „ óð ð ò ó ñr,   r£  c                   óT   — e Zd Zdd„Zej
                  defd„«       Zede	fd„«       Z
y)ÚNNModuleSourcer   Nc                 ó(   —  || j                   «       y r5   rŒ   r9   s     r   r<   zNNModuleSource.reconstructµ  r  r,   c                 ó<   — t         | j                  j                     S r5   rÙ   r?   s    r   r   zNNModuleSource.guard_source¸  rÛ   r,   c                  ó   — yrô   rO   r?   s    r   rD   zNNModuleSource._name_template¼  rõ   r,   rE   )rF   rG   rH   r<   rM   rN   r   r   rL   r)   rD   rO   r,   r   r§  r§  ³  sF   „ óð ×ÑðK˜kò Kó ðKð ð ò ó ñr,   r§  c                   ó6   — e Zd Zej                  defd„«       Zy)ÚUnspecializedNNModuleSourcer   c                 ó<   — t         | j                  j                     S r5   )Ú%_GUARD_SOURCE_UNSPECIALIZED_NN_MODULEr�   r   r?   s    r   r   z(UnspecializedNNModuleSource.guard_sourceÃ  s   € ä4°T·Y±Y×5KÑ5KÑLÐLr,   NrÜ   rO   r,   r   r¬  r¬  Á  s$   „ à×ÑðM˜kò Mó ñMr,   r¬  c                   ó6   — e Zd Zej                  defd„«       Zy)Ú"UnspecializedBuiltinNNModuleSourcer   c                 ó<   — t         | j                  j                     S r5   )Ú-_GUARD_SOURCE_UNSPECIALIZED_BUILTIN_NN_MODULEr�   r   r?   s    r   r   z/UnspecializedBuiltinNNModuleSource.guard_sourceÊ  s   € ä<¸T¿Y¹Y×=SÑ=SÑTÐTr,   NrÜ   rO   r,   r   r°  r°  È  s$   „ à×ÑðU˜kò Uó ñUr,   r°  c                   ó6   — e Zd Zej                  defd„«       Zy)ÚFSDPNNModuleSourcer   c                 ó<   — t         | j                  j                     S r5   )Ú_GUARD_SOURCE_FSDP_MODULEr�   r   r?   s    r   r   zFSDPNNModuleSource.guard_sourceÑ  s   € ä(¨¯©×)?Ñ)?Ñ@Ð@r,   NrÜ   rO   r,   r   r´  r´  Ï  s$   „ à×ÑðA˜kò Aó ñAr,   r´  c                   ó8   — e Zd Zedefd„«       Zedefd„«       Zy)ÚGlobalStateSourcer   c                  ó   — y©Nr¨   rO   r?   s    r   rD   z GlobalStateSource._name_templateØ  ó   € àr,   c                 ó"   — t         j                  S r5   rw   r?   s    r   r   zGlobalStateSource.guard_sourceÜ  ry   r,   N©rF   rG   rH   rL   r)   rD   r   r   rO   r,   r   r¸  r¸  Ö  s6   „ àð ò ó ðð ð"˜kò "ó ñ"r,   r¸  c                   ól   — e Zd ZU dZeed<   d	d„Zej                  defd„«       Z	d
d„Z
edefd„«       Zy)ÚImportSourcezˆ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   — ddl m}m}  || j                  |j                  «      «       y )Nr   )ÚGuardBuilderÚinstall_guard)ÚguardsrÂ  rÃ  rê   ÚID_MATCH)r:   rÂ  rÃ  s      r   r›   zImportSource.__post_init__è  s   € ß7á�d—o‘o l×&;Ñ&;Ó<Õ=r,   c                 ó"   — d| j                   › d�S )Nz__import__('z'))rÀ  r?   s    r   rD   zImportSource._name_templateí  s   € à˜d×.Ñ.Ð/¨rÐ2Ð2r,   c                 óŽ   — |j                  |j                  d«      t        d«      |j                  | j                  «      g«       y )Nr   )r…   ri   r   Úcreate_import_namerÀ  r9   s     r   r<   zImportSource.reconstructñ  s?   € Ø×Ñà×)Ñ)¨!Ó,Ü" 1Ó%Ø×*Ñ*¨4×+;Ñ+;Ó<ðõ	
r,   c                 ó"   — t         j                  S r5   rw   r?   s    r   r   zImportSource.guard_sourceú  ry   r,   r¤   rE   )rF   rG   rH   r­   r)   rI   r›   rM   rN   rD   r<   rL   r   r   rO   r,   r   r¿  r¿  á  sV   … ñPð Óó>ð
 ×Ñð3 ò 3ó ð3ó
ð ð"˜kò "ó ñ"r,   r¿  c                   ól   — e Zd ZU eed<   ej                  defd„«       Zdefd„Z	dd„Z
edefd„«       Zy)	ÚTorchFunctionModeStackSourceÚindr   c                 ó<   — dt        | j                  «       «      › d�S )Nz$___get_torch_function_mode_stack_at(r¡   )r+   Ú
_get_indexr?   s    r   rD   z+TorchFunctionModeStackSource._name_template  s   € à5´h¸t¿¹Ó?PÓ6QÐ5RÐRSÐTÐTr,   c                 óD   — ddl m} |j                  | j                  «      S )Nr   )ÚTorchFunctionModeStackVariable)Úvariables.torch_functionrÐ  Úget_mode_indexrÌ  )r:   rÐ  s     r   rÎ  z'TorchFunctionModeStackSource._get_index  s   € ÝLà-×<Ñ<¸T¿X¹XÓFÐFr,   Nc                 óÂ   ‡— ‰j                  ˆfd„«       ‰j                  ‰j                  | j                  «       «      g«       ‰j                  t	        dd«      «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )NÚ get_torch_function_mode_stack_atr^  r(  s   €r   r‚   z:TorchFunctionModeStackSource.reconstruct.<locals>.<lambda>  s   ø€ �G×,Ñ,Ü—‘Ð Bôr,   r   F)r„   r…   ri   rÎ  r   r9   s    `r   r<   z(TorchFunctionModeStackSource.reconstruct  sQ   ø€ Ø×Ñóô	
ð
 	×Ñ˜w×8Ñ8¸¿¹Ó9JÓKÐLÔMØ×ÑÔ2°1°eÓ<Õ=r,   c                 ó"   — t         j                  S r5   rw   r?   s    r   r   z)TorchFunctionModeStackSource.guard_source  ry   r,   rE   )rF   rG   rH   rl   rI   rM   rN   r)   rD   rÎ  r<   rL   r   r   rO   r,   r   rË  rË  ÿ  sW   … à	ƒHà×ÑðU ò Uó ðUðG˜Có Gó
>ð ð"˜kò "ó ñ"r,   rË  c                   óp   — e Zd ZU eed<   d	d„Zedefd„«       Ze	j                  defd„«       Zdedefd„Zy)
r   Úsource_namer   Nc                 ó\   — |j                  |j                  | j                  d¬«      «       y )NFrr   )r7   ru   rØ  r9   s     r   r<   zConstantSource.reconstruct  s&   € Ø×Ñ˜g×8Ñ8¸×9IÑ9IÈuÐ8ÓUÕVr,   c                 ó"   — t         j                  S r5   )r   r   r?   s    r   r   zConstantSource.guard_source!  s   € ä×#Ñ#Ð#r,   c                 ó   — | j                   S r5   )rØ  r?   s    r   rD   zConstantSource._name_template%  s   € à×ÑÐr,   rç   c                 ó   — t         ‚r5   rX   ré   s     r   rê   zConstantSource.make_guard)  rë   r,   rE   )rF   rG   rH   r)   rI   r<   rL   r   r   rM   rN   rD   r   rê   rO   r,   r   r   r     s]   … àÓóWð ð$˜kò $ó ð$ð ×Ñð  ò  ó ð ð"˜Sð " Sô "r,   r   c                   ó*   — e Zd Zedefd„«       Zdd„Zy)ÚNumpyTensorSourcer   c                  ó   — y)Nz___from_numpy({0})rO   r?   s    r   rD   z NumpyTensorSource._name_template/  s   € à#r,   Nc                 óˆ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  t        dd«      «       y )Nc                  ó(   •— ‰ j                  dd«      S )NÚtorchÚ	as_tensorr'  r(  s   €r   r‚   z/NumpyTensorSource.reconstruct.<locals>.<lambda>4  s   ø€  g×&>Ñ&>¸wÈÔ&Tr,   r   Fr)  r9   s    `r   r<   zNumpyTensorSource.reconstruct3  s4   ø€ Ø×ÑÓTÔUÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r,   rE   )rF   rG   rH   rL   r)   rD   r<   rO   r,   r   rÞ  rÞ  -  s    „ àð$ ò $ó ð$ô>r,   rÞ  c                   ó"   — e Zd Zedefd„«       Zy)ÚSubclassAttrListSourcer   c                  ó   — y)Nz{0}.__tensor_flatten__()[0]rO   r?   s    r   rD   z%SubclassAttrListSource._name_template;  s   € à,r,   N©rF   rG   rH   rL   r)   rD   rO   r,   r   rå  rå  9  s   „ àð- ò -ó ñ-r,   rå  c                   ó"   — e Zd Zedefd„«       Zy)ÚFloatTensorSourcer   c                  ó   — y)Nz___as_tensor({0})rO   r?   s    r   rD   z FloatTensorSource._name_templateD  s   € à"r,   Nrç  rO   r,   r   ré  ré  B  s   „ àð# ò #ó ñ#r,   ré  c                   ó"   — e Zd Zedefd„«       Zy)ÚCallMethodItemSourcer   c                  ó   — y)Nz
{0}.item()rO   r?   s    r   rD   z#CallMethodItemSource._name_templateK  s   € àr,   Nrç  rO   r,   r   rì  rì  I  s   „ àð ò ó ñr,   rì  c                   ó8   — e Zd Zedefd„«       Zedefd„«       Zy)ÚShapeEnvSourcer   c                  ó   — yrº  rO   r?   s    r   rD   zShapeEnvSource._name_templateU  r»  r,   c                 ó"   — t         j                  S r5   )r   Ú	SHAPE_ENVr?   s    r   r   zShapeEnvSource.guard_sourceY  rä   r,   Nr½  rO   r,   r   rï  rï  S  s6   „ àð ò ó ðð ð%˜kò %ó ñ%r,   rï  c                   ó`   — e Zd ZU eed<   ej                  defd„«       Zdd„Z	e
defd„«       Zy)ÚCurrentStreamSourcer   r   c                 óˆ   — dt        | j                  j                  «      › dt        | j                  j                  «      › d�S )Nz$___get_current_stream(torch.device('z', z)))r+   r   r   rJ  r?   s    r   rD   z"CurrentStreamSource._name_templateb  s=   € à5´h¸t¿{¹{×?OÑ?OÓ6PÐ5QÐQTÔU]Ð^b×^iÑ^i×^oÑ^oÓUpÐTqÐqsÐtÐtr,   Nc                 óÐ  ‡— d}‰j                  ˆfd„«       ‰j                  ˆfd„«       ‰j                  ‰j                  | j                  j                  «      g«       | j                  j
                  �:|dz  }‰j                  ‰j                  | j                  j
                  «      g«       ‰j                  t        |d«      «       ‰j                  t        dd«      «       y )Nr   c                  óD   •— ‰ j                  t        j                  d«      S )NÚget_current_streamr^  r(  s   €r   r‚   z1CurrentStreamSource.reconstruct.<locals>.<lambda>i  s   ø€ �G×,Ñ,¬U¯^©^Ð=QÔRr,   c                  ó(   •— ‰ j                  dd«      S )Nrâ  r   r'  r(  s   €r   r‚   z1CurrentStreamSource.reconstruct.<locals>.<lambda>k  s   ø€  g×&>Ñ&>¸wÈÔ&Qr,   F)r„   r…   ri   r   r   rJ  r   )r:   r;   Únum_argss    ` r   r<   z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                 ó"   — t         j                  S r5   rw   r?   s    r   r   z CurrentStreamSource.guard_sources  ry   r,   rE   )rF   rG   rH   Údevice_typerI   rM   rN   r)   rD   r<   rL   r   r   rO   r,   r   rô  rô  ^  sJ   … àÓà×Ñðu ò uó ðuó>ð ð"˜kò "ó ñ"r,   rô  c                   ó8   — e Zd Zedefd„«       Zedefd„«       Zy)ÚBackwardStateSourcer   c                  ó   — yrº  rO   r?   s    r   rD   z"BackwardStateSource._name_templatez  r»  r,   c                 ó"   — t         j                  S r5   )r   ÚBACKWARD_STATEr?   s    r   r   z BackwardStateSource.guard_source~  s   € ä×)Ñ)Ð)r,   Nr½  rO   r,   r   rþ  rþ  x  s6   „ àð ò ó ðð ð*˜kò *ó ñ*r,   rþ  ©Úonly_allow_inputr  c                ó¨   — t        | t        «      rt        | j                  |¬«      S t        | t        «      sy |r| j
                  sy | j                  S ©Nr  )r   r	   Úget_local_source_namer�   r/   r1   r0   ©r   r  s     r   r  r  ƒ  sE   € ô �&œ-Ô(Ü$ V§[¡[ÐCSÔTÐTÜ�fœkÔ*ØÙ §¢ØØ×ÑÐr,   c                ó    — t        | |¬«      d uS r  )r  r  s     r   Úis_from_local_sourcer	  �  s   € ä  Ð:JÔKÐSWÐWÐWr,   c                 ó   — t        | «      d uS r5   )Úget_global_source_namer   s    r   Úis_from_global_sourcer  •  s   € ä! &Ó)°Ð5Ð5r,   c                 ó†   — t        | t        «      rt        | j                  «      S t        | t        «      sy | j
                  S r5   )r   r	   r  r�   rn   ro   r   s    r   r  r  š  s4   € ä�&œ-Ô(Ü% f§k¡kÓ2Ð2Ü�fœlÔ+ØØ×ÑÐr,   c                 ó¦   — t        | t        «      rt        | j                  «      S t        | t        «      xr | j
                  xr | j                   S r5   )r   r	   Úis_from_nonlocal_sourcer�   r/   r3   r1   r   s    r   r  r  £  sG   € ä�&œ-Ô(Ü& v§{¡{Ó3Ð3ä�6œ;Ó'ò 	 Ø×+Ñ+ò	 à—‘Ððr,   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   rÍ   r	   Úis_from_closure_sourcer�   r   s    r   r  r  ®  s+   € ä�&œ-Ô(ØÜ�&œ-Ô(Ü% f§k¡kÓ2Ð2Ør,   Útargetc                 óX   — t        | t        «      rt        | j                  |«      S | |k(  S r5   )r   r	   Úis_from_sourcer�   )r   r  s     r   r  r  ·  s(   € ä�&œ-Ô(Ü˜fŸk™k¨6Ó2Ð2Ø�VÑÐr,   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   r¬  r	   Ú&is_from_unspecialized_nn_module_sourcer�   r   s    r   r  r  ¾  s,   € ä�&Ô5Ô6ØÜ�&œ-Ô(Ü5°f·k±kÓBÐBØr,   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   r°  r	   Ú.is_from_unspecialized_builtin_nn_module_sourcer�   r   s    r   r  r  Ç  s,   € ä�&Ô<Ô=ØÜ�&œ-Ô(Ü=¸f¿k¹kÓJÐJØr,   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   rÞ   r	   Ú)is_from_unspecialized_param_buffer_sourcer�   r   s    r   r  r  Ð  s,   € ä�&Ô8Ô9ØÜ�&œ-Ô(Ü8¸¿¹ÓEÐEØr,   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   r,  r	   Ú$is_from_flatten_script_object_sourcer�   r   s    r   r  r  Ù  s,   € ä�&Ô3Ô4ØÜ	�FœMÔ	*Ü3°F·K±KÓ@Ð@Ør,   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   r£  r	   Úis_from_optimizer_sourcer�   r   s    r   r  r  â  s+   € ä�&œ/Ô*ØÜ�&œ-Ô(Ü'¨¯©Ó4Ð4Ør,   c                 ó€  — t        | t        «      ryt        | t        «      r4t        | j                  t        «      r| j                  j
                  dk(  ryt        | t        «      r4t        | j                  t        «      r| j                  j
                  dk(  ryt        | t        «      rt        | j                  «      S y)NTrA  rB  F)	r   r:  rr  r�   r•   r–   rI  r	   Úis_from_defaultsr   s    r   r   r   í  s‹   € ä�&œ.Ô)Øô 	�6Ô,Ô-Ü�v—{‘{¤JÔ/Ø�K‰K×ÑÐ"2Ò2àô 	�6œ=Ô)Ü�v—{‘{¤JÔ/Ø�K‰K×Ñ .Ò0àä�&œ-Ô(Ü §¡Ó,Ð,Ør,   c                 óp   — t        | t        «      ryt        | t        «      rt        | j                  «      S yr   )r   rñ   r	   Úis_from_skip_guard_sourcer�   r   s    r   r"  r"    s+   € ä�&œ/Ô*Øä�&œ-Ô(Ü(¨¯©Ó5Ð5àr,   )F)xr­   r®   ÚenumrM   Úcollections.abcr   Útypingr   r   r   r   râ  r   rü  Útorch._guardsr	   r
   r   r   r   r¨   r   Úbytecode_transformationr   r   r   r;   r   r>   ÚLOCAL_SPECIALIZED_NN_MODULErx   Ú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²  r¶  rJ   r   r)   r"   r+   r/   rQ   rZ   ra   rn   r~   r‰   r‘   r•   r§   r±   r·   r¾   rÄ   rÈ   rÍ   rÒ   r×   rÞ   rà   rñ   ÚEnumr÷   r  r  r  r  r!  r,  r1  r6  r:  rI  rZ  re  rr  r{  rƒ  r‹  r‘  r–  rœ  r£  r§  r¬  r°  r´  r¸  r¿  rË  r   rÞ  rå  ré  rì  rï  rô  rþ  Ú	lru_cacher  r	  r  r  r  r  r  r  r  r  r  r  r   r"  rO   r,   r   Ú<module>r2     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,   