+
    –°³j~X ã                   óX  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
HtHtHt ^ RIHt ^ RIHtHt ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^R	IHtHtH t H!t! ^R
I"H#t#H$t$H%t%H&t&H't' ^RI(H)t) ^RI*H+t+H,t,H-t- ^RI.H/t/H0t0H1t1H2t2H3t3 ^RI H4t4H5t5H6t6H7t7H8t8 ^RI9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtA ^RIBHCtC ]'       d   ^ RIDHEtE ^ RIFHGtG ^ RIHHItI ]P”                  P—                  ]LR4      tM]Pœ                  ! RR7       ! R R4      4       tO]]O.]P3,          tQ]]O.R3,          tR]]R.]R3,          tS]Pœ                  ! RR7       ! R R4      4       tT ! R R4      tU]U! 4       tVR R ltWR^ /R  R! lltXR" R# ltYR$ R% ltZR& R' lt[ ! R( R)4      t\]X! R*R+ ^ZR,7      R- R. l4       t]]X! R/R0 ^PR,7      R1 R2 l4       t^]X! R3R4 ^FR,7      R5 R6 l4       t_]X! R7R8 ^<R,7      R9 R: l4       t`]X! R;R< ^2R,7      R= R> l4       taR? R@ ltbRA RB ltcRC RD ltdRE RF lte]X! RGRH ^(R,7      RI RJ l4       tf]X! RKRL ^R,7      RM RN l4       tg]X! RORP ^R,7      RQ RR l4       th]X! RSRT ^
R,7      RU RV l4       ti]PÔ                  RW RX l4       tk]PÔ                  RY RZ l4       tl]PÔ                  R[ R\ l4       tmR# )]aÛ  
Side effect tracking and management for TorchDynamo's compilation system.

This module provides infrastructure for tracking and managing side effects that occur
during symbolic execution, including:

- Tracking mutations to objects, attributes, and variables
- Managing context changes (cell variables, global namespace modifications)
- Handling aliasing and object identity preservation
- Managing stack frame state and local variable changes
- Tracking function calls with side effects

Key classes:
- SideEffects: Main container for tracking all side effects during execution
- MutableSideEffects: Specialization for mutable object tracking
- AttributeMutation/ValueMutation: Track specific types of mutations
- Various specialized side effect classes for different scenarios

The side effect system ensures that mutations performed during symbolic execution
are properly replayed during runtime, maintaining the correctness of compiled code
while enabling optimizations where safe.
N)ÚCallableÚ	GeneratorÚMutableMapping)ÚCellType)ÚAnyÚTYPE_CHECKING©ÚAutogradFunctionContextVariable)ÚRegistrationHandle)Ú
OrderedSet)Úis_structseq_class)ÚconfigÚgraph_break_hintsÚutilsÚ	variables)Úbytecode_from_templateÚcreate_call_functionÚcreate_call_methodÚcreate_instructionÚInstruction©Ú	PyCodegen)Úcollapse_resume_framesÚget_stack_above_dynamoÚunimplemented)Ú
AttrSourceÚGlobalSourceÚLocalCellSourceÚSourceÚTempLocalSource)Úis_frozen_dataclassÚis_namedtuple_clsÚis_pybind11_enum_memberÚnn_module_newÚ
object_new)ÚAttributeMutationÚAttributeMutationExistingÚAttributeMutationNewÚAttrMutationKindÚis_side_effect_safeÚValueMutationExistingÚValueMutationNewÚVariableTracker)ÚFrozenDataClassVariable)ÚOutputGraph)ÚInstructionTranslatorBase)ÚListVariableÚside_effectsT)Úfrozenc                   ó,   a € ] tR t^Tt o V 3R ltRtV tR# )ÚSideEffectReplayContextc                óŠ   <€ V ^8„  d   Qh/ R;R&   S[ ;R&   S[;R&   S[S[S[,          ,          ;R&   S[S[.R3,          ;R&   # )é   ÚSideEffectsr1   ÚcodegenÚvarÚsuffixesNÚlog)r   r,   Úlistr   r   )ÚformatÚ__classdict__s   "€Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/side_effects.pyÚ__annotate__Ú$SideEffectReplayContext.__annotate__T   s[   ø‡ ‚ àÑñ ñ Ññ ñ 
Ññ	 ñ
 ‘4™Õ$Õ%Ñ%ñ ñ 
‘?Ð# TÐ)Õ	*Ñ*ò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r>   s   @r?   r4   r4   T   s   ø‡ ‡ „ rB   r4   c                   ó0   a € ] tR t^dt o ^ tV 3R ltRtV tR# )ÚSideEffectReplayHandlerc                óJ   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   # )r6   ÚnameÚmatcherr8   Úpriority)ÚstrÚSideEffectReplayMatcherÚSideEffectReplayCodegenÚint)r=   r>   s   "€r?   r@   Ú$SideEffectReplayHandler.__annotate__d   s6   ø‡ ‚ á
�Iñ ñ %Ñ$ñ ñ %Ñ$ñ	 ñ
 Ñò rB   rC   N)rD   rE   rF   rG   rQ   rH   rI   rJ   rK   s   @r?   rM   rM   d   s   ø‡ € ð
 €H÷ ƒ rB   rM   c                   óV   a € ] tR t^lt o V 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )	Ú_SideEffectReplayRegistryc                ó   <€ V ^8„  d   QhRR/# ©r6   ÚreturnNrC   )r=   r>   s   "€r?   r@   Ú&_SideEffectReplayRegistry.__annotate__m   s   ø€ ÷ :ñ :˜$ñ :rB   c                ó   € . V n         R # ©N©Úhandlers©Úselfs   &r?   Ú__init__Ú"_SideEffectReplayRegistry.__init__m   s	   € Ø79ˆŽrB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r6   Úhandlerr[   ©rM   r
   )r=   r>   s   "€r?   r@   r\   p   s   ø€ ÷ .ñ .Ñ(?ð .ÑDVñ .rB   c                óf   a a€ S P                   P                  S4       R  VV 3R llp\        V4      # )c                ó   € V ^8„  d   QhRR/# rZ   rC   )r=   s   "r?   r@   Ú@_SideEffectReplayRegistry.register_handler.<locals>.__annotate__s   s   € ÷ 	*ñ 	*˜Dñ 	*rB   c                  ó>   <€ SP                   P                  S 4       R # r^   )r`   Úremove)rg   rb   s   €€r?   Ú
deregisterÚ>_SideEffectReplayRegistry.register_handler.<locals>.deregisters   s   ø€ Ø�M‰M× Ñ  Ö)rB   )r`   Úappendr
   )rb   rg   rn   s   ff r?   Úregister_handlerÚ*_SideEffectReplayRegistry.register_handlerp   s,   ù€ Ø�‰×Ñ˜WÔ%÷	*ñ 	*ô " *Ó-Ð-rB   c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# ©r6   Úctxr[   N)r4   rM   )r=   r>   s   "€r?   r@   r\   x   s"   ø€ ÷ ñ Ù*ðá	  4Õ	'ñrB   c                óü  € V P                    Uu. uF  q"P                  V4      '       g   K  VNK  	  ppV'       g   R # VP                  R RR7       V^ ,          p\        V4      ^8”  dˆ   V^,          P                  VP                  8X  df   V Uu. uF+  q"P                  VP                  8X  g   K  VP
                  NK-  	  pp\        R\        VP                  4      P                   RV 24      hV# u upi u upi )Nc                 ó   € V P                   # r^   )rQ   ©rg   s   &r?   Ú<lambda>Ú:_SideEffectReplayRegistry.lookup_handler.<locals>.<lambda>~   s
   € ¨×)9Ò)9rB   T)ÚkeyÚreversez)Ambiguous side effect replay handler for z: )
r`   rP   ÚsortÚlenrQ   rO   ÚRuntimeErrorÚtyper9   rD   )rb   ru   rg   ÚmatchesÚtopÚnamess   &&    r?   Úlookup_handlerÚ(_SideEffectReplayRegistry.lookup_handlerx   sÜ   € ð +/¯-ª-ÓP©-˜w¿?¹?È3×;O—7�7©-ˆÐPßÙØ�‰Ñ9À4ˆÔHØ�a�jˆÜˆw‹<˜!Ô ¨¥
× 3Ñ 3°s·|±|Ô Cá,3óÙ,3 ×7GÑ7GÈ3Ï<É<Ñ7W”�—”©Gð ð ô Ø;Ü˜Ÿ™“=×)Ñ)Ð*¨"¨U¨Gð5óð ð ˆ
ùò Qùòs   �C4¬C4ÂC9Â2C9r_   N)	rD   rE   rF   rG   rc   rq   r„   rI   rJ   rK   s   @r?   rX   rX   l   s#   ø‡ € ÷:ð :÷.ð .÷ö rB   rX   c                ó0   € V ^8„  d   QhR\         R\        /# rf   rh   )r=   s   "r?   r@   r@   Ž   s    € ÷ Bñ BÜ$ðBäñBrB   c                 ó,   € \         P                  V 4      # r^   )Ú_side_effect_replay_registryrq   rx   s   &r?   Ú$_register_side_effect_replay_handlerr‰   Ž   s   € ô (×8Ñ8¸ÓAÐArB   rQ   c                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )r6   rO   rP   rQ   r[   )rR   rS   rU   Ú SideEffectReplayHandlerDecorator)r=   s   "r?   r@   r@   ”   s2   € ÷ ñ ä
ðô %ðô ð	ô
 &ñrB   c                 ó"   a aa€ R  VV V3R llpV# )c                ó0   € V ^8„  d   QhR\         R\         /# )r6   r8   r[   )rT   )r=   s   "r?   r@   Ú9register_side_effect_replay_handler.<locals>.__annotate__š   s   € ÷ ñ Ü(ðä	 ñrB   c           	      ó8   <€ \        \        SSV SR 7      4       V # ))rO   rP   r8   rQ   )r‰   rM   )r8   rP   rO   rQ   s   &€€€r?   Ú	decoratorÚ6register_side_effect_replay_handler.<locals>.decoratorš   s(   ø€ ô 	-Ü#ØØØØ!ô	ô	
ð ˆrB   rC   )rO   rP   rQ   r�   s   ddd r?   Ú#register_side_effect_replay_handlerr’   ”   s   ú€ ÷ò ð ÐrB   c                ó„   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          R\        RR/# )r6   Ú	dict_fromÚdict_toÚ	mro_indexr[   N)Údictr   rU   )r=   s   "r?   r@   r@   ª   s<   € ÷ 
.ñ 
.Ü”Cœ�H�~ð
.Ü(,¬S´#¨X­ð
.ÜCFð
.à	ñ
.rB   c                 ó¶   € \        V4      P                  V,          pVP                  V4       V P                  4        F  w  rEVP	                  WV4       K  	  R # r^   )r€   Ú__mro__ÚclearÚitemsÚ__setitem__)r”   r•   r–   Ú
dict_classÚkÚvs   &&&   r?   Ú_manual_dict_setitemr    ª   sI   € ô �g“×&Ñ& yÕ1€JØ×Ñ�WÔØ—‘Ö!‰ˆØ×Ñ˜w¨1Ö-ó "rB   c                ó`   € V ^8„  d   QhR\         \        ,          R\         \        ,          RR/# )r6   Ú	list_fromÚlist_tor[   N)r<   r   )r=   s   "r?   r@   r@   ·   s)   € ÷ $ñ $¤4¬¥9ð $´t¼Cµyð $ÀTñ $rB   c                 óZ   € \         P                  V4       \         P                  W4       R # r^   )r<   rš   Úextend)r¢   r£   s   &&r?   Ú_manual_list_updater¦   ·   s   € Ü‡J�JˆwÔÜ‡K�K�Ö#rB   c                ó4   € V ^8„  d   QhR\         R\         RR/# )r6   Ú
deque_fromÚdeque_tor[   N)r   )r=   s   "r?   r@   r@   ¼   s!   € ÷ 3ñ 3¤Sð 3´Cð 3¸Dñ 3rB   c                 ó‚   € \         P                  P                  V4       \         P                  P                  W4       R # r^   )ÚcollectionsÚdequerš   r¥   )r¨   r©   s   &&r?   Ú_manual_deque_updater­   ¼   s,   € ô ×Ñ×Ñ˜HÔ%Ü×Ñ×Ñ˜XÖ2rB   c                   ó¤  a a€ ] tR t^Ãt oRtRxV3R lV 3R llltV3R lR ltV3R lR lt]P                  V3R	 lR
 l4       t
V3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR  ltV3R! lR" ltV3R# lR$ lt]P2                  R3V3R% lR& lltV3R' lR( ltV3R) lR* ltRyV3R+ lR, lltV3R- lR. ltV3R/ lR0 ltV3R1 lR2 lt V3R3 lR4 lt!]"V3R5 lR6 l4       t#V3R7 lR8 lt$V3R9 lR: lt%RzV3R; lR< llt&V3R= lR> lt'](3V3R? lR@ llt)])t*V3RA lRB lt+V3RC lRD lt,V3RE lRF lt-V3RG lRH lt.V3RI lRJ lt/RKR/V3RL lRM llt0V3RN lRO lt1V3RP lRQ lt2V3RR lRS lt3V3RT lRU lt4V3RV lRW lt5V3RX lRY lt6V3RZ lR[ lt7V3R\ lR] lt8V3R^ lR_ lt9V3R` lRa lt:V3Rb lRc lt;V3Rd lRe lt<V3Rf lRg lt=V3Rh lRi lt>V3Rj lRk lt?V3Rl lRm lt@R{V3Rn lRo lltAV3Rp lRq ltBV3Rr lRs ltCV3Rt lRu ltDV3Rv ltERwtFVtGV ;tH# )|r7   a0  
Maintain records of mutations and provide methods to apply them during code generation.

Handles tracking and applying side effects during PyTorch Dynamo compilation,
maintaining Python semantics by managing mutations, attribute modifications,
and other side effects that occur during program execution.

Key responsibilities:
- Tracks mutations to Python objects, lists, and dictionaries that need to be
applied after an FX graph is run.
- Manages attribute modifications and deletions
- Handles tensor hooks and backward pass state
- Tracks cell variable mutations and global variable changes
- Ensures correct ordering and application of side effects after graph execution

This ensures that optimized code behaves identically to the original Python code with
respect to object mutations and other side effects.
Nc                óÌ  <€ V ^8„  d   QhRRRS[ S[S[3,          R,          RS[ S[S[ S[S[3,          3,          R,          RS[ S[S[ S[S[3,          3,          R,          RS[ S[S[S[P                  ,          3,          R,          RS[S[,          R,          R	S[S[	S[
S[S[,          3,          ,          R,          R
S[ S[S[	RS[RS[3,          3,          R,          RR/	# )r6   Úoutput_graphr.   Úid_to_variableNÚstore_attr_mutationsÚattr_mutation_kindsÚmutation_user_stacksÚ	keepaliveÚsave_for_backwardÚtensor_hooksúvariables.TensorVariableú!variables.RemovableHandleVariabler[   )r—   rU   r,   rR   r(   r<   Ú	tracebackÚStackSummaryÚobjectÚtupler	   )r=   r>   s   "€r?   r@   ÚSideEffects.__annotate__Þ   s0  ø€ ÷ 9Xñ 9Xà#ð9Xñ ™S¡/Ð1Õ2°TÕ9ð9Xñ #¡?±D¹¹oÐ9MÕ4NÐ#NÕOØ
õð	9Xñ "¡/±4¹Ñ=MÐ8MÕ3NÐ"NÕOØ
õð9Xñ #¡?±D¹×9OÑ9OÕ4PÐ#PÕQØ
õð9Xñ ™•< $Õ&ð9Xñ  ÙÑ1±4¹Õ3HÐHÕIõ
ð õð9Xñ ÙÙØ*ÙØ3Ùðõðõ
ð õ	ð9Xð2 
ñ39XrB   c	                ó®  <€ \         S	V `  4        \        P                  ! V4      V n        T;'       g    / V n        T;'       g    / V n        T;'       g    / V n        T;'       g    / V n        T;'       g    . V n	        T;'       g    . V n
        T;'       g    / V n        R V n        RV n        \        4       V n        \!        4       V n        / V n        R# )FN)Úsuperrc   ÚweakrefÚrefÚoutput_graph_weakrefr±   r²   r³   r´   rµ   r¶   r·   Ú_has_existing_dict_mutationÚca_final_callbacks_varÚsetÚ"ignore_mutation_on_these_variablesr   Úmutated_sourcesÚdeferred_attr_mutations)
rb   r°   r±   r²   r³   r´   rµ   r¶   r·   Ú	__class__s
   &&&&&&&&&€r?   rc   ÚSideEffects.__init__Þ   sÉ   ø€ ô4 	‰ÑÔÜ$+§K¢K°Ó$=ˆÔ!Ø,×2Ð2°ˆÔØ$8×$>Ð$>¸BˆÔ!Ø#6×#<Ð#<¸"ˆÔ Ø$8×$>Ð$>¸BˆÔ!Ø"Ÿ˜ bˆŒØ!2×!8Ð!8°bˆÔØ(×.Ð.¨BˆÔð ,1ˆÔ(ð <@ˆÔ#ô ILËˆÔ/ô 4>³<ˆÔð
 VXˆÖ$rB   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r6   r9   r[   N©r,   )r=   r>   s   "€r?   r@   r¾     s   ø€ ÷ 9ñ 9¡ð 9¸4ñ 9rB   c                ó<   € V P                   P                  V4       R# )z|Mutations to this variable will be executed but not tracked,
typically used for temporary mutations that are later restored.N)rÇ   Úadd©rb   r9   s   &&r?   Úignore_mutations_onÚSideEffects.ignore_mutations_on  s   € ð 	×/Ñ/×3Ñ3°CÖ8rB   c                ó$   <€ V ^8„  d   QhRS[ RR/# rÍ   rÎ   )r=   r>   s   "€r?   r@   r¾     s   ø€ ÷ @ñ @©oð @À$ñ @rB   c                ó`   € WP                   9   d   V P                   P                  V4       R# R# )zQRemove a variable from the skip mutation set, restoring normal mutation tracking.N)rÇ   rm   rÑ   s   &&r?   Ústop_ignoring_mutations_onÚ&SideEffects.stop_ignoring_mutations_on  s'   € à×9Ñ9Ô9Ø×3Ñ3×:Ñ:¸3Ö?ñ :rB   c                ó.   <€ V ^8„  d   QhRS[ R,          /# )r6   r[   ©NNN©r   )r=   r>   s   "€r?   r@   r¾   $  s   ø€ ÷ 1ñ 1©)Ð4DÕ*Eñ 1rB   c              #  ó€   "  € V P                   p/ V n          Rx € V P                  4        Wn         R#   Yn         i ; i5i)u  Defer outer-scope attribute mutation checks until tracing completes.

Context managers that flip-flop a flag (set on enter, restore on exit)
produce no net side effect. Instead of failing immediately, we track
original and current values, then validate they match after tracing.

Note: this context only validates that mutations were nullified â€” it
does NOT roll back store_attr_mutations. Callers must restore
side_effects separately (e.g., via prev_side_effects pattern) to
discard the mutations after the HOP.
N)rÉ   Ú validate_deferred_attr_mutations)rb   Úsaveds   & r?   Údefer_side_effect_checksÚ$SideEffects.defer_side_effect_checks#  s:   é € ð ×,Ñ,ˆØ')ˆÔ$ð	1ÛØ×1Ñ1Ô3à+0Ö(ø¨5Õ(üs   ‚>—3 «>³;»>c                ó2   <€ V ^8„  d   QhRS[ RS[RS[ RS[/# )r6   ÚitemrO   Úvaluer[   ©r,   rR   Úbool)r=   r>   s   "€r?   r@   r¾   8  s-   ø€ ÷ ñ Ù#ðÙ+.ðÙ7Fðá	ñrB   c                óæ  € \        V4      V3pVP                  4       '       g   \        R4      hVP                  4       pW@P                  9   d   V P                  V,          ^ ,          pMeV P                  4       pVf   \        R4      hVP                  p VP                  W‚4      p	T	P                  4       '       g   R# T	P                  4       pWe3V P                  V&   R#   \         d     R# i ; i)u  Record an attribute mutation for deferred validation.

Returns True if successfully deferred, False if we cannot read the
original value (tp_getattro_impl raises NotImplementedError) or the
original is not a python constant â€” caller should fall back to
check_allowed_side_effect.
zAvalue must be a python constant (guaranteed by caller store_attr)zoutput_graph weakref is deadFT)	ÚidÚis_python_constantÚAssertionErrorÚas_python_constantrÉ   rÃ   Ú
current_txÚtp_getattro_implÚNotImplementedError)
rb   rá   rO   râ   r{   ÚcurrentÚoriginalr°   ÚtxÚoriginal_vts
   &&&&      r?   Úsnapshot_attr_mutationÚ"SideEffects.snapshot_attr_mutation8  sî   € ô �$‹x˜ÐˆØ×'Ñ'×)Ò)Ü ØSóð ð ×*Ñ*Ó,ˆØ×.Ñ.Ô.Ø×3Ñ3°CÕ8¸Õ;‰Hà×4Ñ4Ó6ˆLØÒ#Ü$Ð%CÓDÐDØ×(Ñ(ˆBðØ"×3Ñ3°BÓ=�ð ×1Ñ1×3Ò3ÙØ"×5Ñ5Ó7ˆHØ-5Ð,?ˆ×$Ñ$ SÑ)Ùøô 'ô Úðús   ÂC! Ã!C0Ã/C0c                ó   <€ V ^8„  d   QhRR/# rZ   rC   )r=   r>   s   "€r?   r@   r¾   Y  s   ø€ ÷ ñ °$ñ rB   c                óÄ   € V P                   P                  4        FA  w  w  rw  r4W48w  g   K  \        RRV R2RV RV: RV: R2. \        P                  OR7       KC  	  R# )	z;Check that all deferred attribute mutations were nullified.zHOP: Non-nullified side effectzAttribute 'z(' was not restored to its original valuez,' on an outer-scope object was changed from z to zý inside a higher-order op subgraph. Dynamo only supports mutations that are undone before the subgraph exits (e.g., context managers that save/restore a flag). If you intentionally want this side effect, move the mutation outside of the higher-order op.©Úgb_typeÚcontextÚexplanationÚhintsN)rÉ   r›   r   r   ÚFUNDAMENTAL)rb   Ú_rO   rî   rí   s   &    r?   rÜ   Ú,SideEffects.validate_deferred_attr_mutationsY  sv   € à.2×.JÑ.J×.PÑ.PÖ.RÑ*‰IˆQÑ*˜ØÖ"ÜØ<Ø)¨$¨Ð/WÐXØ"-¨d¨Vð 4$Ø$,¡<¨t°G±;ð ?'ð!'ð ;Ô-×9Ñ9Ð:÷ó /SrB   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r6   r{   r[   NrÎ   )r=   r>   s   "€r?   r@   r¾   j  s   ø€ ÷ 
ñ 
¡ð 
¸4ñ 
rB   c                ó  € \         P                  R8X  d   R# WP                  9  d   . V P                  V&   V P                  V,          P                  \        P
                  P                  P                  4       4       R# )z?Capture the current user stack from the instruction translator.ÚsilentN)r   Úside_effect_replay_policyr´   rp   ÚtorchÚ_guardsÚTracingContextÚextract_stack)rb   r{   s   &&r?   Ú_capture_user_stackÚSideEffects._capture_user_stackj  s^   € ä×+Ñ+¨xÔ7ÙØ×/Ñ/Ô/Ø-/ˆD×%Ñ% cÑ*Ø×!Ñ! #Õ&×-Ñ-Ü�M‰M×(Ñ(×6Ñ6Ó8ö	
rB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r6   Úotherr[   ©r¼   rä   )r=   r>   s   "€r?   r@   r¾   t  s   ø€ ÷ 

ñ 

™Fð 

¡tñ 

rB   c                ó–  € \        V\        4      '       g   \        R \        V4       24      hV P                  VP                  8H  ;'       d}    V P
                  VP
                  8H  ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # )zExpected SideEffects, got )	Ú
isinstancer7   rè   r€   r±   r²   r³   r¶   r·   )rb   r  s   &&r?   Ú__eq__ÚSideEffects.__eq__t  s½   € Ü˜%¤×-Ò-Ü Ð#=¼dÀ5»k¸]Ð!KÓLÐLð ×Ñ 5×#7Ñ#7Ñ7÷ 8ð 8Ø×)Ñ)¨U×-GÑ-GÑG÷8ð 8à×(Ñ(¨E×,EÑ,EÑE÷8ð 8ð ×&Ñ&¨%×*AÑ*AÑA÷8ð 8ð ×!Ñ! U×%7Ñ%7Ñ7ð	
rB   c                ó2   <€ V ^8„  d   QhRRRS[ R,          /# ©r6   r  r7   r[   N)rR   )r=   r>   s   "€r?   r@   r¾   €  s   ø€ ÷ ñ ˜-ð ©C°$­Jñ rB   c                ó0  € V P                   VP                   8w  dE   V P                   P                  4       pVP                   P                  4       pW#8w  d	   R V RV 2# R# V P                  VP                  8w  dE   V P                  P                  4       pVP                  P                  4       pWE8w  d	   RV RV 2# R# V P                  VP                  8w  d   R# V P                  VP                  8w  d   R# V P
                  VP
                  8w  d   R# R# )	zid_to_variable keys: z != zid_to_variable: unknown diffzstore_attr_mutations keys: z"store_attr_mutations: unknown diffz!attr_mutation_kinds: unknown diffr¶   r·   N)r±   Úkeysr²   r³   r¶   r·   )rb   r  Úsk_itvÚok_itvÚsk_samÚok_sams   &&    r?   ÚdiffÚSideEffects.diff€  sü   € Ø×Ñ %×"6Ñ"6Ô6Ø×(Ñ(×-Ñ-Ó/ˆFØ×)Ñ)×.Ñ.Ó0ˆFØÔØ.¨v¨h°d¸6¸(ÐCÐCñ 2Ø×&Ñ&¨%×*DÑ*DÔDØ×.Ñ.×3Ñ3Ó5ˆFØ×/Ñ/×4Ñ4Ó6ˆFØÔØ4°V°H¸DÀÀÐIÐIÙ7Ø×%Ñ%¨×)BÑ)BÔBÙ6Ø×#Ñ# u×'>Ñ'>Ô>Ù&Ø×Ñ %×"4Ñ"4Ô4Ù!árB   c                ó   <€ V ^8„  d   QhRR/# )r6   r[   r7   rC   )r=   r>   s   "€r?   r@   r¾   ˜  s   ø€ ÷ 
ñ 
�}ñ 
rB   c                óê  € V P                  4       pVf   \        R4      hT P                  T\        V P                  4      V P
                  P                  4        UUu/ uF  w  r#V\        V4      bK  	  uppV P                  P                  4        UUu/ uF  w  r#V\        V4      bK  	  uppV P                  \        V P                  4      V P                  V P                  R7      # u uppi u uppi )zCreate a shallow copyz)output_graph weakref is dead during clone)r°   r±   r²   r³   r´   rµ   r¶   r·   )rÃ   rè   rÊ   r—   r±   r²   r›   r³   r´   r<   rµ   r¶   r·   )rb   rÂ   rž   rŸ   s   &   r?   ÚcloneÚSideEffects.clone˜  sß   € à×'Ñ'Ó)ˆØŠ;Ü Ð!LÓMÐMØ�~‰~ØÜ × 3Ñ 3Ó4à'+×'@Ñ'@×'FÑ'FÔ'Hô"Ù'H™t˜q�”4˜“7’
Ñ'Hò"ð (,×'?Ñ'?×'EÑ'EÔ'Gô!Ù'G™t˜q�”4˜“7’
Ñ'Gò!ð "&×!:Ñ!:Ü˜4Ÿ>™>Ó*Ø"×4Ñ4Ø×*Ñ*ð ó 
ð 	
ùó"ùó!s   ÁC)ÂC/c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r6   rá   r[   r	  )r=   r>   s   "€r?   r@   r¾   ¬  s   ø€ ÷ /ñ /¡ð /©Dñ /rB   c                ó2   € \        V4      V P                  9   # r^   )ræ   r±   ©rb   rá   s   &&r?   Ú__contains__ÚSideEffects.__contains__¬  s   € Ü�$‹x˜4×.Ñ.Ñ.Ð.rB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r  ©r¼   r,   )r=   r>   s   "€r?   r@   r¾   ¯  s   ø€ ÷ -ñ -¡ð -©?ñ -rB   c                ó:   € V P                   \        V4      ,          # r^   )r±   ræ   r  s   &&r?   Ú__getitem__ÚSideEffects.__getitem__¯  s   € Ø×"Ñ"¤2 d£8Õ,Ð,rB   c                ó    <€ V ^8„  d   QhRS[ /# ©r6   r[   ©rä   )r=   r>   s   "€r?   r@   r¾   ²  s   ø€ ÷ 
ñ 
É4ñ 
rB   c                óœ   € V P                  4       p\        T;'       d+    VP                  P                  P                  P
                  4      # r^   )rÃ   rä   rê   ÚoutputÚcurrent_tracerÚ,unsafe_allow_externally_visible_side_effects©rb   r°   s   & r?   Ú9should_allow_externally_visible_side_effects_in_subtracerÚESideEffects.should_allow_externally_visible_side_effects_in_subtracer²  sG   € Ø×0Ñ0Ó2ˆÜØ÷ kð kØ×'Ñ'×.Ñ.×=Ñ=×jÑjó
ð 	
rB   c                ó    <€ V ^8„  d   QhRS[ /# r(  r)  )r=   r>   s   "€r?   r@   r¾   ¹  s   ø€ ÷ 
ñ 
±$ñ 
rB   c                óœ   € V P                  4       p\        T;'       d+    VP                  P                  P                  P
                  4      # r^   )rÃ   rä   rê   r+  r,  Úallow_side_effects_in_hopr.  s   & r?   Ú should_allow_side_effects_in_hopÚ,SideEffects.should_allow_side_effects_in_hop¹  sG   € Ø×0Ñ0Ó2ˆÜØ÷ Xð XØ×'Ñ'×.Ñ.×=Ñ=×WÑWó
ð 	
rB   c                ó    <€ V ^8„  d   QhRS[ /# r(  r)  )r=   r>   s   "€r?   r@   r¾   À  s   ø€ ÷ 
ñ 
©Tñ 
rB   c                óœ   € V P                  4       p\        T;'       d+    VP                  P                  P                  P
                  4      # r^   )rÃ   rä   rê   r+  r,  Úis_reconstructing_generatorr.  s   & r?   r8  Ú'SideEffects.is_reconstructing_generatorÀ  sG   € Ø×0Ñ0Ó2ˆäØ÷ Zð ZØ×'Ñ'×.Ñ.×=Ñ=×YÑYó
ð 	
rB   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r6   rá   r[   NrÎ   )r=   r>   s   "€r?   r@   r¾   È  s   ø€ ÷ ñ ©oð À$ñ rB   c                óN  € VP                   e—   \        VP                   4      '       gz   V P                  4       pV'       d`   VP                  P                  P
                  pVP                  f0   \        P                  P                  P                  4       Vn        R# R# R# R# R# )zFRecord the first externally-visible side effect on the current tracer.N)Úmutation_typer)   rÃ   rê   r+  r,  Úside_effect_stackr  r  r  r  )rb   rá   r°   Útracers   &&  r?   Ú_maybe_record_side_effectÚ%SideEffects._maybe_record_side_effectÈ  sŠ   € à×ÑÒ)Ô2EØ×Ñ÷3
ò 3
ð  ×4Ñ4Ó6ˆLßØ%×0Ñ0×7Ñ7×FÑF�Ø×+Ñ+Ò3äŸ™×4Ñ4×BÑBÓDð Ö,ñ 4ñ ñ	3
Ñ)rB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r  ©r,   rä   )r=   r>   s   "€r?   r@   r¾   Õ  s   ø€ ÷ +ñ +©oð +Á$ñ +rB   c                óä  € ^ RI Hp \        W4      '       d   R# V P                  4       '       d   V P	                  V4       R# V P                  4       '       d   V P	                  V4       R# V P                  4       '       d$   \        RRV 2RR.\        P                  OR7       VP                  f   \        RV R	24      h\        VP                  4      '       g   \        R
RV 2RR.R7       R# )é    r   Tz'Generator reconstruction with mutationszmutating object: z—Cannot reconstruct a generator with variable mutations. Dynamo needs to fully exhaust the generator, which may cause unintended variable modifications.z$Remove mutations from the generator.rõ   úmutation_type is None for z in check_allowed_side_effectzHOP: Unsafe side effectzAttempted to mutate zHMutating a variable from outside the scope of this HOP is not supported.aw  If the HOP is activation checkpointing (torch.utils.checkpoint.checkpoint), this points to a side effect in forward method. Eager activation checkpointing replays that side-effect while recomputing the forward in the backward. If you are ok with side-effect not replayed in the backward, try setting `torch._dynamo.config.skip_fwd_side_effects_in_bwd_under_checkpoint = True`F)Útorch._dynamo.variables.miscr	   r  r/  r?  r4  r8  r   r   rú   r<  rè   r)   )rb   rá   r	   s   && r?   Úcheck_allowed_side_effectÚ%SideEffects.check_allowed_side_effectÕ  sû   € ÝPô �d×<Ò<ÙØ×IÑI×KÒKØ×*Ñ*¨4Ô0ÙØ×0Ñ0×2Ò2Ø×*Ñ*¨4Ô0ÙØ×+Ñ+×-Ò-ô ØAØ+¨D¨6Ð2ð5ð ;ðä&×2Ñ2ðõ
ð ×ÑÒ%Ü Ø,¨T¨FÐ2OÐPóð ô # 4×#5Ñ#5×6Ò6ÜØ1Ø.¨t¨fÐ5Øfðxðõ	
ñ rB   c                óJ   <€ V ^8„  d   QhRS[ RS[RS[ RS[RS[R,          RR/# )r6   rá   rO   râ   Úmutation_kindÚmutated_sourceNr[   )r,   rR   r(   r   )r=   r>   s   "€r?   r@   r¾     sS   ø€ ÷ (Hñ (Háð(Hñ ð(Hñ ð	(Hñ
 (ð(Hñ  �ð(Hð 
ñ(HrB   c                ót  € V P                  V4      '       g   \        R V R24      hRp\        VP                  \        4      '       d†   \        VP                  4      '       gk   \        V\        4      '       gU   V P                  4       '       g?   V P                  4       '       g)   VP                  4       '       d   V P                  WV4      pV'       g   V P                  V4       WP                  9  d   / V P                  V&   WP                  9  d   / V P                  V&   W0P                  V,          V&   W@P                  V,          V&   V P                  V4       Ve   V P                  P!                  V4       R# \#        VRR4      pVe'   V P                  P!                  \%        Wr4      4       R# R# )ú Expected attribute mutation for z in store_attrFNÚsource)Úis_attribute_mutationrè   r  r<  r&   r)   r	   r4  r/  rç   rñ   rG  r²   r³   r  rÈ   rÐ   Úgetattrr   )rb   rá   rO   râ   rJ  rK  ÚdeferredÚitem_sources   &&&&&&  r?   Ú
store_attrÚSideEffects.store_attr  sp  € ð ×)Ñ)¨$×/Ò/Ü Ø2°4°&¸ÐGóð ð ˆä�t×)Ñ)Ô+D×EÒEÜ'¨×(:Ñ(:×;Ò;Ü˜tÔ%D×EÒEØ×9Ñ9×;Ò;Ø×RÑR×TÒTØ×(Ñ(×*Ò*à×2Ñ2°4¸uÓEˆHßØ×*Ñ*¨4Ô0Ø×0Ñ0Ô0Ø.0ˆD×%Ñ% dÑ+Ø×/Ñ/Ô/Ø-/ˆD×$Ñ$ TÑ*Ø05×!Ñ! $Õ'¨Ñ-Ø/<× Ñ  Õ& tÑ,à× Ñ  Ô&ØÒ%Ø× Ñ ×$Ñ$ ^Ö4ä! $¨°$Ó7ˆKØÒ&Ø×$Ñ$×(Ñ(¬°KÓ)FÖGñ 'rB   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[ RR/# )r6   rá   rO   râ   r[   N©r,   rR   )r=   r>   s   "€r?   r@   r¾   ,  s3   ø€ ÷ Kñ KÙ#ðKÙ+.ðKÙ7FðKà	ñKrB   c                ón  € \        V\        P                  4      '       gt   V P                  P	                  V/ 4      P	                  V4      p\        V\        P                  4      '       d)   V P                  V,          V V P
                  V,          V V P                  WV\        P                  4       R # r^   )	r  r   ÚDeletedVariabler²   Úgetr³   rS  r(   ÚINSTANCE_DICT)rb   rá   rO   râ   Úexistings   &&&& r?   Ústore_instance_dict_attrÚ$SideEffects.store_instance_dict_attr,  sŒ   € ô ˜%¤×!:Ñ!:×;Ò;Ø×0Ñ0×4Ñ4°T¸2Ó>×BÑBÀ4ÓHˆHÜ˜(¤I×$=Ñ$=×>Ò>ð ×-Ñ-¨dÕ3°DÐ9Ø×,Ñ,¨TÕ2°4Ð8Ø�‰˜ EÔ+;×+IÑ+IÖJrB   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r6   rá   rO   r[   )r,   rR   r(   )r=   r>   s   "€r?   r@   r¾   ?  s%   ø€ ÷ 4ñ 4Ù#ð4Ù+.ð4á	ñ4rB   c                óø   € W P                   P                  VR4      9  d   \        P                  # W P                  P                  VR4      9  d   \        R V RV 24      hV P                  V,          V,          # )z$Missing attribute mutation kind for Ú.rC   )r²   rY  r(   ÚGENERIC_SETATTRr³   rè   )rb   rá   rO   s   &&&r?   Úget_attr_mutation_kindÚ"SideEffects.get_attr_mutation_kind?  sq   € ð ×0Ñ0×4Ñ4°T¸2Ó>Ô>Ü#×3Ñ3Ð3Ø×/Ñ/×3Ñ3°D¸"Ó=Ô=Ü Ð#GÈÀvÈQÈtÈfÐ!UÓVÐVØ×'Ñ'¨Õ-¨dÕ3Ð3rB   c          
      ó8   <€ V ^8„  d   QhRS[ RS[RS[RS[RS[ /# )r6   rá   rO   Ú
deleted_okÚcheckr[   rã   )r=   r>   s   "€r?   r@   r¾   H  s=   ø€ ÷ ñ áðñ ðñ ð	ñ
 ðñ 
ñrB   c                ó0  € V'       d'   V P                  V4      '       g   \        R V R24      hV P                  V,          V,          pV'       gF   \        V\        P
                  4      '       d&   \        RRV RV 2R. \        P                  OR7       V# )rM  z in load_attrz$Attempted to read a deleted variablezitem: z, name: Ú rõ   )	rO  rè   r²   r  r   rX  r   r   Ú
USER_ERROR)rb   rá   rO   re  rf  Úresults   &&&&& r?   Ú	load_attrÚSideEffects.load_attrH  s‘   € ÷ Ø×-Ñ-¨d×3Ò3Ü$Ø6°t°f¸MÐJóð ð ×*Ñ*¨4Õ0°Õ6ˆßœj¨´×1JÑ1J×KÒKÜØ>Ø    h¨t¨fÐ5ØØ5Ô)×4Ñ4Ð5õ	ð ˆrB   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )r6   Úcellvarrâ   r[   NrÎ   )r=   r>   s   "€r?   r@   r¾   ^  s"   ø€ ÷ 9ñ 9¡/ð 9¹/ð 9Èdñ 9rB   c                ó‚  € VP                  4       '       d&   \        R RV RV 2R. \        P                  OR7       \	        V\
        P                  4      '       g   \        R\        V4       R24      h\	        V\
        P                  4      '       g   \        R\        V4       R24      hV P                  VRV4       R	# )
zWrite to immutable cellz	cellvar: z	, value: zFDynamo doesn't support writing to immutable/sourceless cell variables.rõ   úExpected CellVariable, got z in store_cellúExpected VariableTracker, got Úcell_contentsN)Úis_immutabler   r   Ú	DIFFICULTr  r   ÚCellVariablerè   r€   r,   rS  )rb   rn  râ   s   &&&r?   Ú
store_cellÚSideEffects.store_cell^  s´   € Ø×Ñ×!Ò!ÜØ1Ø# G 9¨I°e°WÐ=ØdØ4Ô)×3Ñ3Ð4õ	ô ˜'¤9×#9Ñ#9×:Ò:Ü Ø-¬d°7«m¨_¸NÐKóð ô ˜%¤×!:Ñ!:×;Ò;Ü Ø0´°e³°¸^ÐLóð ð 	�‰˜ °%Ö8rB   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r6   rn  r[   rÎ   )r=   r>   s   "€r?   r@   r¾   p  s   ø€ ÷ 
ñ 
¡ð 
±_ñ 
rB   c                ó2  € \        V\        P                  4      '       g   \        R \	        V4       R24      hV P                  4       pV'       dU   \        VRR4      pVeD   VP                  P                  P                  P                  P                  \        VR4      4       V P                  VR4      '       d   V P                  VRRR7      # VP                  '       d   VP                  # \!        R\#        V4      R. \$        P&                  OR	7       R# )
rp  z in load_cellrN  Nrr  F)rf  zRead uninitialized cellzBAttempted to read a cell variable that has not been populated yet.rõ   )r  r   ru  rè   r€   rÃ   rP  rê   r+  r,  Útraced_sourcesrÐ   r   Úhas_pending_mutation_of_attrrk  Úpre_existing_contentsr   rR   r   ri  )rb   rn  r°   Úcell_sources   &&  r?   Ú	load_cellÚSideEffects.load_cellp  sï   € Ü˜'¤9×#9Ñ#9×:Ò:Ü Ø-¬d°7«m¨_¸MÐJóð ð ×0Ñ0Ó2ˆßÜ! '¨8°TÓ:ˆKØÒ&Ø×'Ñ'×.Ñ.×=Ñ=×LÑL×PÑPÜ˜{¨OÓ<ôð ×,Ñ,¨W°o×FÒFØ—>‘> '¨?À%�>ÓHÐHØ×(×(Ð(Ø×0Ñ0Ð0ÜØ-Ü˜“LØ\Ø1Ô%×0Ñ0Ð1÷		
rB   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )r6   ÚgvarrO   r[   rV  )r=   r>   s   "€r?   r@   r¾   Š  s"   ø€ ÷ *ñ *¡ð *±sð *¹ñ *rB   c                óH  € \        V\        P                  4      '       g   \        R \	        V4       R24      hV P                  4       pV'       dC   VP                  P                  P                  P                  P                  \        V4      4       V P                  W4      # )rq  z in load_global)r  r   r,   rè   r€   rÃ   rê   r+  r,  rz  rÐ   r   rk  )rb   r�  rO   r°   s   &&& r?   Úload_globalÚSideEffects.load_globalŠ  s„   € Ü˜$¤	× 9Ñ 9×:Ò:Ü Ø0´°d³°¸OÐLóð ð ×0Ñ0Ó2ˆßØ×#Ñ#×*Ñ*×9Ñ9×HÑH×LÑLÜ˜TÓ"ôð �~‰~˜dÓ)Ð)rB   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[ RR/# )r6   r�  rO   râ   r[   NrV  )r=   r>   s   "€r?   r@   r¾   š  s3   ø€ ÷ Nñ NÙ#ðNÙ+.ðNÙ7FðNà	ñNrB   c                ó   € \        V\        P                  4      '       g   \        R \	        V4       R24      h\        V\        P                  4      '       g   \        R\	        V4       R24      hV P                  WV\        V4      R7       R# )z'Expected VariableTracker for gvar, got z in store_globalz(Expected VariableTracker for value, got )rK  N)r  r   r,   rè   r€   rS  r   )rb   r�  rO   râ   s   &&&&r?   Ústore_globalÚSideEffects.store_globalš  s�   € ô ˜$¤	× 9Ñ 9×:Ò:Ü Ø9¼$¸t»*¸ÐEUÐVóð ô ˜%¤×!:Ñ!:×;Ò;Ü Ø:¼4À»;¸-ÐGWÐXóð ð 	�‰˜ E¼,ÀtÓ:LˆÖMrB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r6   Úclsr[   )r€   rä   )r=   r>   s   "€r?   r@   r¾   ¬  s   ø€ ÷ 
ñ 
±ð 
¹ñ 
rB   c                óx  € \         P                  ! V R R4      \        P                  \        P                  \
        P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  P                  \        P                  3
9   # )Ú__getattribute__N)ÚinspectÚgetattr_staticr¼   rŒ  r—   rÆ   Ú	frozensetrU   rR   r<   r½   r«   r¬   ÚBaseException)rŠ  s   &r?   Ú"cls_supports_mutation_side_effectsÚ.SideEffects.cls_supports_mutation_side_effects«  s…   € ä×%Ò% cÐ+=¸tÓDÜ×#Ñ#Ü×!Ñ!Ü× Ñ Ü×&Ñ&Ü× Ñ Ü× Ñ Ü×!Ñ!Ü×"Ñ"Ü×Ñ×.Ñ.Ü×*Ñ*ðI
ñ 
ð 	
rB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r  rB  )r=   r>   s   "€r?   r@   r¾   º  s   ø€ ÷ Añ A©/ð A¹dñ ArB   c                ó6   € \        VP                  \        4      # r^   )r  r<  r%   r  s   &&r?   rO  Ú!SideEffects.is_attribute_mutationº  s   € Ü˜$×,Ñ,Ô.?Ó@Ð@rB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r  rB  )r=   r>   s   "€r?   r@   r¾   ½  s   ø€ ÷ 
ñ 
©ð 
¹Tñ 
rB   c                ó|   € V P                  V4      ;'       d%    \        V P                  P                  V4      4      # r^   )rO  rä   r²   rY  r  s   &&r?   Úhas_pending_mutationÚ SideEffects.has_pending_mutation½  s:   € Ø×)Ñ)¨$Ó/÷ 
ð 
´DØ×%Ñ%×)Ñ)¨$Ó/ó5
ð 	
rB   c          	      ód   <€ V ^8„  d   QhRS[ RS[RS[S[S[R3,          ,          R,          RS[/# )r6   rá   rO   Úmutation_kinds.Nr[   )r,   rR   r(   r½   rä   )r=   r>   s   "€r?   r@   r¾   Â  sH   ø€ ÷ /ñ /áð/ñ ð/ñ )©5Ñ1AÀ3Ð1FÕ+GÕGÈ$ÕNð	/ñ
 
ñ/rB   c                óÜ   € V P                  V4      '       d!   W P                  P                  VR4      9   g   R # Vf   R# V P                  W4      p\	        V\
        4      '       d   WCJ # WC9   # )FTrC   )rO  r²   rY  rb  r  r(   )rb   rá   rO   r›  rJ  s   &&&& r?   r{  Ú(SideEffects.has_pending_mutation_of_attrÂ  sj   € ð ×&Ñ& t×,Ò,Ø×1Ñ1×5Ñ5°d¸BÓ?Ô?áØÒ!ÙØ×3Ñ3°DÓ?ˆÜ�nÔ&6×7Ò7Ø Ð2Ð2ØÑ.Ð.rB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r  rB  )r=   r>   s   "€r?   r@   r¾   Ô  s   ø€ ÷ .ñ .¡ð .±Dñ .rB   c                óÀ  € VP                  4       '       d   R # \        VP                  \        \        34      '       d   R# \        V\
        P                  4      '       d(   WP                  9   ;'       g    VP                  V 4      # V P                  V4      '       d   WP                  9   # VP                  f   \        RV R24      hVP                  P                  # )FTrE  z in is_modified)rs  r  r<  r'   r+   r   ÚUserDefinedObjectVariabler²   Úis_base_vt_modifiedrO  rè   Úis_modifiedr  s   &&r?   r¢  ÚSideEffects.is_modifiedÔ  sº   € Ø×Ñ×ÒÙÜ�d×(Ñ(Ô+?ÔAQÐ*R×SÒSÙä�dœI×?Ñ?×@Ò@à×4Ñ4Ñ4×VÐV¸×8PÑ8PÐQUÓ8VÐVà×%Ñ% d×+Ò+Ø×4Ñ4Ñ4Ð4Ø×ÑÒ%Ü Ð#=¸d¸VÀ?Ð!SÓTÐTØ×!Ñ!×-Ñ-Ð-rB   c                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# )r6   rá   ÚvariableÚmutation_type_clsr[   )r¼   r,   r€   )r=   r>   s   "€r?   r@   r¾   ä  s3   ø€ ÷ ñ áðñ "ðñ  ð	ñ
 
ñrB   c           
     ó:  € \        V4      V P                  9   dC   \        V RVP                   RV P                  \        V4      ,          P                   R24      hV! 4       Vn        W P                  \        V4      &   V P
                  P                  V4       V# )z7Start tracking an existing or new variable for mutationz“ is already tracked for mutation. This could be because you are not using VariableBuilder to construct the variable tracker. Source of new object: z'. Source of previously tracked object: r`  )ræ   r±   rè   rN  r<  rµ   rp   )rb   rá   r¥  r¦  s   &&&&r?   Ú
_track_objÚSideEffects._track_objä  s˜   € ô ˆd‹8�t×*Ñ*Ô*Ü Ø�*ð )ð *2¯©Ð(9ð :8Ø8<×8KÑ8KÌBÈtËHÕ8U×8\Ñ8\Ð7]Ð]^ð	`óð ñ "3Ó!4ˆÔØ(0×ÑœB˜t›HÑ%Ø�‰×Ñ˜dÔ#ØˆrB   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r6   rá   r¥  r[   r#  )r=   r>   s   "€r?   r@   r¾   û  s)   ø€ ÷ 
ñ 
áð
ñ "ð
ñ 
ñ	
rB   c                ó2   € V P                  VV\        R 7      # ))r¦  )r¨  r&   )rb   rá   r¥  s   &&&r?   Útrack_object_existingÚ!SideEffects.track_object_existingû  s#   € ð �‰ØØÜ7ð ó 
ð 	
rB   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r6   r¥  r[   NrÎ   )r=   r>   s   "€r?   r@   r¾     s   ø€ ÷ (ñ (±_ð (Èñ (rB   c                óÀ   € \        V4      V P                  9   d   R# \        4       Vn        WP                  \        V4      &   V P                  P                  V4       R# )zÀRegister a sourceless VT (e.g. a synthetic exception) as a new
attribute-mutation object so its attribute mutations are codegen'd.
Keyed by the VT's id since there is no backing Python object.N)ræ   r±   r'   r<  rµ   rp   )rb   r¥  s   &&r?   Útrack_attribute_mutation_newÚ(SideEffects.track_attribute_mutation_new  sH   € ô ˆh‹<˜4×.Ñ.Ô.ÙÜ!5Ó!7ˆÔØ,4×ÑœB˜x›LÑ)Ø�‰×Ñ˜hÖ'rB   c          
      ó\   <€ V ^8„  d   QhRS[ R,          RS[RS[RS[S[S[3,          RS[/# )r6   Ú
cls_sourceNÚuser_clsÚvariable_clsÚoptionsr[   )r   r   r—   rR   r,   )r=   r>   s   "€r?   r@   r¾     sI   ø€ ÷ ñ á˜T•Mðñ ðñ ð	ñ
 ‘c™3�h•ðñ 
ñrB   c                ó¨   € \        V4      pV! V3R \        V4      /VB pW`P                  \        V4      &   V P                  P                  V4       V# ©r<  )r$   r'   r±   ræ   rµ   rp   )rb   r³  r´  rµ  r¶  Úobjr¥  s   &&&&&  r?   Útrack_object_newÚSideEffects.track_object_new  s]   € ô ˜Ó"ˆÙØñ
ä.¨zÓ:ð
ð ñ
ˆð
 (0×ÑœB˜s›GÑ$Ø�‰×Ñ˜cÔ"ØˆrB   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r6   r´  r[   )r€   )r=   r>   s   "€r?   r@   r¾   #  s   ø€ ÷ 4ñ 4©ð 4±$ñ 4rB   c                óÈ  € ^ RI Hp ^RIHp ^RIHp ^RIHp \        P                  p\        W4      '       d   VP                  V4      '       d   TpEM_V! V4      '       d   TpEMM\        V\        P                  P                  4      '       d   \        P                  pEM\        V\         P"                  4      '       d   \        P$                  pEMß\        V\&        4      '       d   \        P(                  pEM·\        V\*        \,        34      '       d   \        P.                  pEM‰\        V\0        4      '       dE   \3        V4      '       d"   \        P4                  P7                  V4      pEMA\        P4                  pEM/\        V\8        4      '       d   \        P:                  pEM\        V\         P<                  4      '       d   \        P>                  pMÖ\        V\@        4      '       d   \        PB                  pM¯\E        V4      '       d   \F        pM—\        V\H        4      '       d   \        PJ                  pMp\        V\        PL                  PN                  4      '       d   \        PP                  pM5\        PR                  PU                  V4      '       d   \        PR                  p\        V\        P                  4      '       g   \W        RV 24      hV# )rD  )ÚTorchFunctionMode)ÚGenericContextWrappingVariable)ÚTorchFunctionModeVariable)Úis_generic_ctx_manager_clsz4Expected subclass of UserDefinedObjectVariable, got ),Útorch.overridesr¾  Úvariables.ctx_managerr¿  Úvariables.torch_functionrÀ  Úvariables.user_definedrÁ  r   r   Ú
issubclassÚ is_supported_torch_function_moder  ÚnnÚModuleÚUnspecializedNNModuleVariabler«   ÚdefaultdictÚDefaultDictVariabler—   ÚUserDefinedDictVariablerÆ   r�  ÚUserDefinedSetVariabler½   r!   ÚUserDefinedTupleVariableÚ
get_vt_clsr<   ÚUserDefinedListVariabler¬   ÚUserDefinedDequeVariabler   ÚMutableMappingVariabler    r-   r�  Ú"UserDefinedExceptionObjectVariableÚuser_definedÚ_CONSTANT_BASE_TYPESÚUserDefinedConstantVariableÚInspectVariableÚis_matching_classrè   )rb   r´  r¾  r¿  rÀ  rÁ  rµ  s   &&     r?   Úget_variable_clsÚSideEffects.get_variable_cls#  sú  € Ý5åIÝGÝFô ×/Ñ/ð 	ô Ø÷
ò 
à'×HÑHÈ×RÒRØ4ŠLÙ'¨×1Ò1Ø9ŠLÜ˜¤%§(¡(§/¡/×2Ò2Ü$×BÑBŠLÜ˜¤+×"9Ñ"9×:Ò:Ü$×8Ñ8ŠLÜ˜¤$×'Ò'ô %×<Ñ<ŠLÜ˜¤3¬	Ð"2×3Ò3Ü$×;Ñ;ŠLÜ˜¤%×(Ò(Ü  ×*Ò*Ü(×AÑA×LÑLÈXÓV’ä(×AÑA’Ü˜¤$×'Ò'Ü$×<Ñ<ŠLÜ˜¤+×"3Ñ"3×4Ò4Ü$×=Ñ=‰LÜ˜¤.×1Ò1Ü$×;Ñ;‰LÜ  ×*Ò*Ü2‰LÜ˜¤-×0Ò0Ü$×GÑG‰LÜØÜ×"Ñ"×7Ñ7÷
ò 
ô %×@Ñ@‰LÜ×&Ñ&×8Ñ8¸×BÒBÜ$×4Ñ4ˆLÜ˜,¬	×(KÑ(K×LÒLÜ ØFÀ|ÀnÐUóð ð ÐrB   c                óB   <€ V ^8„  d   QhRS[ RS[ RS[S[ ,          RS[/# )r6   Úbase_cls_vtÚcls_vtÚ	init_argsr[   )r,   r<   r   )r=   r>   s   "€r?   r@   r¾   Y  s8   ø€ ÷ =ñ =á$ð=ñ  ð=ñ ™Õ(ð	=ñ
 
ñ=rB   c           
     ó�  € VP                   p\        V\        P                  P                  4      '       d   \        V4      pV# \        V\        P                  4      '       d   VP                  pM‰\        V\        P                  4      '       d   \        pMb\        V\        P                  4      '       d   \        pM;\        V\        P                  4      '       d   VP                   pM\        R V 24      h\        P                  P!                  VP"                  4      '       g   \%        RV 24      h\'        V4      '       d   V! R.VP(                  ,          4      pV# V'       d`   \        V\        P*                  P,                  4      '       d6   V Uu. uF  qwP/                  4       NK  	  pp VP"                  ! V.VO5!  pV#  VP#                  V4      pV# u upi   \0         d    TP#                  T4      p T# i ; i  \2         d4   p	\5        RRT RT RT	 2R. \6        P8                  OR7        Rp	?	X# Rp	?	ii ; i)	zUnexpected base_cls_vt zUnsupported __new__ method for NzHUnsupported user-defined object construction during side-effect trackingzclass=z, base=z, error=zcDynamo could not construct an example object for side-effect replay using the class __new__ method.rõ   )râ   rÆ  r  rÈ  rÉ  r#   r  r   ÚBuiltinVariableÚfnÚDictBuiltinVariabler—   ÚListBuiltinVariabler<   ÚUserDefinedClassVariabler   Úis_supported_new_methodÚ__new__rè   r   Ún_fieldsrÕ  rÖ  ré   Ú	ExceptionÚ	TypeErrorr   r   ÚSUPPORTABLE)
rb   rÝ  rÞ  rß  r´  r¹  Úbase_clsÚargÚexample_argsÚexcs
   &&&&      r?   Úget_example_valueÚSideEffects.get_example_valueY  s&  € ð —<‘<ˆÜ�h¤§¡§¡×0Ò0ä Ó)ˆCðh ˆ
ôe ˜+¤y×'@Ñ'@×AÒAØ&Ÿ>™>‘Ü˜K¬×)FÑ)F×GÒGÜ‘Ü˜K¬×)FÑ)F×GÒGÜ‘Ü˜K¬×)KÑ)K×LÒLØ&×,Ñ,‘ä"Ð%<¸[¸MÐ#JÓKÐKä×5Ñ5×MÑMØ× Ñ ÷ò ô %Ð'FÀxÀjÐ%QÓRÐRÜ! (×+Ò+ñ  ˜v¨×(9Ñ(9Õ9Ó:�ð@ ˆ
÷? œzØÜ×&Ñ&×;Ñ;÷ ò  ñ ENÓNÁI¸S× 6Ñ 6Ö 8ÁI�ÐNð
Ø"×*Ò*Ø ðØ#/ó�Cð2 ˆ
ðØ"×*Ñ*¨8Ó4�Cð ˆ
ùò7  Oøô
 !ô ð #×*Ñ*Ø ó‘Cð$ ˆ
ð-ûô !ô ô "Ø jØ"(¨¨
°'¸(¸À8ÈCÈ5Ð QðQð ?Ô 1× =Ñ =Ð>÷ñ ð ˆ
ûðús0   ÆGÆ5G$ ÇH Ç$HÈHÈIÈ(I É Irï   c          
      óF   <€ V ^8„  d   QhRS[ RS[ RS[S[ ,          RRRS[ /# )r6   rÝ  rÞ  rß  rï   z InstructionTranslatorBase | Noner[   ©r,   r<   )r=   r>   s   "€r?   r@   r¾   ˜  sB   ø€ ÷ "ñ "á$ð"ñ  ð"ñ ™Õ(ð	"ð /ð"ñ 
ñ"rB   c               ó<  € VP                   pVP                  pV P                  V4      pV P                  WV4      p/ p	Ve   WIR&   V! V3RVP                   RVRVR\	        V4      /V	B p
W P
                  \        V4      &   V P                  P                  V4       V
# )a  
Creates a UserDefinedObjectVariable (or its subclass) variable tracker
and mark it for attribute mutation tracking.

Also records the variable trackers to call __new__ method on
reconstruction. Roughly, the reconstruction looks like this
    base_cls_vt.__new__(user_cls, *init_args)
rï   r³  rÝ  rß  r<  )	rN  râ   rÚ  rð  r'   r±   ræ   rµ   rp   )rb   rÝ  rÞ  rß  rï   r³  r´  rµ  r¹  Úkwargsr¥  s   &&&&$      r?   Útrack_new_user_defined_objectÚ)SideEffects.track_new_user_defined_object˜  sº   € ð  —]‘]ˆ
Ø—<‘<ˆØ×,Ñ,¨XÓ6ˆØ×$Ñ$ [¸)ÓDˆà!#ˆØŠ>Ø�4‰LÙØñ
à—}‘}ð
ð $ð
ð  ð	
ô
 /¨zÓ:ð
ð ñ
ˆð (0×ÑœB˜s›GÑ$Ø�‰×Ñ˜cÔ"ØˆrB   c                ó    <€ V ^8„  d   QhRS[ /# r(  rÎ   )r=   r>   s   "€r?   r@   r¾   ¼  s   ø€ ÷ 	ñ 	á	ñ	rB   c                ó¼   € \        4       p\        P                  ! \        4       R 7      pW P                  \        V4      &   V P                  P                  V4       V# )r¸  )r¼   r   ru  r'   r±   ræ   rµ   rp   )rb   r¹  r¥  s   &  r?   Útrack_cell_newÚSideEffects.track_cell_new¼  sL   € ô ‹hˆÜ×)Ò)Ü.Ó0ô
ˆð (0×ÑœB˜s›GÑ$Ø�‰×Ñ˜cÔ"ØˆrB   c                ó@   <€ V ^8„  d   QhRS[ R,          RS[RS[RS[/# )r6   rN  NÚcellÚcontentsr[   )r   r   r,   )r=   r>   s   "€r?   r@   r¾   Ç  s1   ø€ ÷ ñ Ù˜t•mðÙ+3ðÙ?Nðá	ñrB   c                ó¸   € \         P                  ! Vf   R M	\        4       VVR7      pW@P                  \	        V4      &   V P
                  P                  V4       V# )N)r<  r|  rN  )r   ru  r&   r±   ræ   rµ   rp   )rb   rN  rý  rþ  r¥  s   &&&& r?   Útrack_cell_existingÚSideEffects.track_cell_existingÇ  sT   € ô ×)Ò)ð #)¢.™$Ô6OÓ6QØ"*Øô
ˆð )1×ÑœB˜t›HÑ%Ø�‰×Ñ˜dÔ#ØˆrB   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r6   rN  rá   r[   )r   r¼   r,   )r=   r>   s   "€r?   r@   r¾   Õ  s"   ø€ ÷ ñ ©Fð ¹&ð Á_ñ rB   c                óª   € \         P                  ! \        4       VR 7      pW0P                  \	        V4      &   V P
                  P                  V4       V# ))r<  rN  )r   ÚNewGlobalVariabler&   r±   ræ   rµ   rp   )rb   rN  rá   r¥  s   &&& r?   Útrack_global_existingÚ!SideEffects.track_global_existingÕ  sF   € Ü×.Ò.Ü3Ó5Øô
ˆð )1×ÑœB˜t›HÑ%Ø�‰×Ñ˜dÔ#ØˆrB   c                ó:   <€ V ^8„  d   QhRS[ RS[S[ ,          RR/# )r6   ru   Úargsr[   Nró  )r=   r>   s   "€r?   r@   r¾   Þ  s*   ø€ ÷ 3ñ 3Ù"ð3Ù*.©Õ*?ð3à	ñ3rB   c                ó¬   € \        V\        P                  4      '       g   \        R \	        V4       24      hV P
                  P                  W34       R# )z.Expected AutogradFunctionContextVariable, got N)r  r   r	   rè   r€   r¶   rp   )rb   ru   r  s   &&&r?   Útrack_save_for_backwardÚ#SideEffects.track_save_for_backwardÞ  sJ   € ô ˜#œy×HÑH×IÒIÜ Ø@ÄÀcÃÀÐLóð ð 	×Ñ×%Ñ% s kÖ2rB   c                ó"   <€ V ^8„  d   QhRRRR/# r  rC   )r=   r>   s   "€r?   r@   r¾   ç  s!   ø€ ÷ Gñ GØ"ðGà	ñGrB   c                ó  € VP                    Fv  p\        V4      pVP                  V,          pW0P                  9  g   K3  \        V\        P
                  \        P                  34      '       g   Ke  V P                  W$4       Kx  	  R # r^   )rµ   ræ   r±   r  r   ÚTensorVariableÚSymNodeVariabler¬  )rb   r  Ú
other_itemÚother_idÚother_variables   &&   r?   Ú-track_runahead_tensor_and_symvar_side_effectsÚ9SideEffects.track_runahead_tensor_and_symvar_side_effectsç  si   € ð  Ÿ/œ/ˆJÜ˜*“~ˆHØ"×1Ñ1°(Õ;ˆNØ×2Ñ2Ö2´zØ¤×!9Ñ!9¼9×;TÑ;TÐ U÷8ô 8ð ×*Ñ*¨:ÖFó *rB   c                ó"   <€ V ^8„  d   QhRRRR/# )r6   rï   r/   r[   NrC   )r=   r>   s   "€r?   r@   r¾   õ  s    ø€ ÷ h
ñ h
Ð(Cð h
Èñ h
rB   c                ó,  a aaaa€ \        4       o\        4       oR  VV VV3R lloR V3R llpS P                  P                  4        Uu. uF'  p\        VP                  \
        4      '       d   K%  VNK)  	  pp. pTpVex   VP                  VP                  VP                  .4       VP                  e5   VP                  f   \        R4      hVP                  VP                  4       VP                  pK{  \        4       oR V3R llp/ pVP                  P                   F>  p	V	P                  p
\         P"                  ! VV
P                  V
P                  .VS 4       K@  	  \         P"                  ! SVVVP                  P$                  S P&                  .,           4       >S P                  P)                  4        UUu/ uF  w  r¼V! V4      '       g   K  W¼bK  	  uppS n        S P*                  P)                  4        UUu/ uF  w  r¼V! V4      '       g
   VS9   g   K  W¼bK   	  uppS n        S P,                  P)                  4        UUu/ uF  w  r¼V! V4      '       g
   VS9   g   K  W¼bK   	  uppS n        R# u upi u uppi u uppi u uppi )c                ó(   € V ^8„  d   QhR\         RR/# rÍ   rÎ   )r=   s   "r?   r@   Ú7SideEffects.prune_dead_object_new.<locals>.__annotate__ú  s   € ÷ 	ñ 	”ð 	¨4ñ 	rB   c                 ó  <€ V S9   d   R # SP                  V 4       \        V P                  \        4      '       d   SP                  V 4       V SP                  9   d+   \
        P                  ! SSP                  V ,          4       R # R # r^   )rÐ   r  r<  r'   r²   r,   Úvisit)r9   Úlive_new_objectsrb   r  Úvisiteds   &€€€€r?   r  Ú0SideEffects.prune_dead_object_new.<locals>.visitú  so   ø€ Ø�gŒ~ÙØ�K‰K˜Ôä˜#×+Ñ+Ô-A×BÒBØ ×$Ñ$ SÔ)ð �d×/Ñ/Ô/Ü×%Ò%ØØ×-Ñ-¨cÕ2öñ 0rB   c                ó0   € V ^8„  d   QhR\         R\        /# ©r6   r9   r[   rB  )r=   s   "r?   r@   r  
  s   € ÷ 	ñ 	œð 	¬Tñ 	rB   c                 óR   <€ \        V P                  \        4      '       d   V S9   # R # ©T)r  r<  r'   )r9   r  s   &€r?   Úis_liveÚ2SideEffects.prune_dead_object_new.<locals>.is_live
  s&   ø€ Ü˜#×+Ñ+Ô-A×BÒBØÐ.Ñ.Ð.ÙrB   Nz4post_prune_cell_and_freevars is None for non-root txc                ó(   € V ^8„  d   QhR\         RR/# rÍ   rÎ   )r=   s   "r?   r@   r  ,  s   € ÷ 	+ñ 	+œ?ð 	+¨tñ 	+rB   c                 ón   <€ \        V P                  \        4      '       d   SP                  V 4       R # R # r^   )r  r<  r'   rÐ   )r9   Úgen_reachable_news   &€r?   Ú	visit_genÚ4SideEffects.prune_dead_object_new.<locals>.visit_gen,  s+   ø€ Ü˜#×+Ñ+Ô-A×BÒBØ!×%Ñ% cÖ*ñ CrB   )rÆ   r±   Úvaluesr  r<  r'   r¥   ÚstackÚsymbolic_localsÚparentÚpost_prune_cell_and_freevarsrè   rp   r+  Úlocal_generatorsÚinline_tracerr,   r  Úbackward_stater·   r›   r²   r³   )rb   rï   r"  r9   Úpre_existing_varsÚinit_live_varsÚcur_txr'  Úgen_visit_cacheÚgenÚ
gen_tracerrž   rŸ   r&  r  r  r  s   f&           @@@@r?   Úprune_dead_object_newÚ!SideEffects.prune_dead_object_newõ  sc  ü€ ä(+«ˆÜ14³Ð÷	ó 	÷ 	ð 	ð ×*Ñ*×1Ñ1Ô3ó
á3�Ü˜c×/Ñ/Ô1E×F÷ ˆCÙ3ð 	ð 
ð ˆà35ˆØÒ Ø×!Ñ! 6§<¡<°×1GÑ1GÐ"HÔIØ�}‰}Ò(ð ×6Ñ6Ò>Ü(ØNóð ð ×%Ñ% f×&IÑ&IÔJØ—]‘]ŠFô 36³%Ð÷	+ð 	+ð +-ˆØ—9‘9×-Ô-ˆCØ×*Ñ*ˆJÜ×!Ò!ØØ×!Ñ! :×#=Ñ#=Ð>ØØö	ñ .ô 	×ÒØàà!Ø—	‘	×(Ñ(Ø×!Ñ!ðõô		
ð ð "×0Ñ0×6Ñ6Ô8ô
Ù8‘T�Q¹GÀA¿JŒDˆAŠDÑ8ò
ˆÔð
 ×1Ñ1×7Ñ7Ô9ô%
á9‘�Ù�q�zŠz˜QÐ"3Ñ3ô ˆAŠDÙ9ò%
ˆÔ!ð ×0Ñ0×6Ñ6Ô8ô$
á8‘�Ù�q�zŠz˜QÐ"3Ñ3ô ˆAŠDÙ8ò$
ˆÖ ùòU
ùóD
ùó%
ùó
$
s0   Á"I?Á2I?ÇJÇJÈJ
È$J
ÉJÉ.Jc                ó$   <€ V ^8„  d   QhRS[ RR/# rÍ   rÎ   )r=   r>   s   "€r?   r@   r¾   _  s   ø€ ÷ 4ñ 4™Oð 4°ñ 4rB   c                ó°  € WP                   9   d   R # V P                  V4       V P                  V4       \        VP                  \
        4      '       d   RVP                  n        VP                  e&   V P                  P                  VP                  4       VP                  '       d,   \        V\        P                  4      '       d
   RV n        R # R # R # )NT)rÇ   rG  r  r  r<  r*   r¢  rN  rÈ   rÐ   r   ÚConstDictVariablerÄ   rÑ   s   &&r?   ÚmutationÚSideEffects.mutation_  sœ   € Ø×9Ñ9Ô9Ùà×&Ñ& sÔ+à× Ñ  Ô%ä�c×'Ñ'Ô)>×?Ò?Ø,0ˆC×ÑÔ)Ø�:‰:Ò!Ø× Ñ ×$Ñ$ S§Z¡ZÔ0Ø�:�:ˆ:œ* S¬)×*EÑ*E×FÒFØ/3ˆDÖ,ñ G‰:rB   c                ó    <€ V ^8„  d   QhRS[ /# r(  r)  )r=   r>   s   "€r?   r@   r¾   n  s   ø€ ÷ 0ñ 0©Dñ 0rB   c                ó   € V P                   # r^   )rÄ   ra   s   &r?   Úhas_existing_dict_mutationÚ&SideEffects.has_existing_dict_mutationn  s   € Ø×/Ñ/Ð/rB   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r(  )r<   r,   )r=   r>   s   "€r?   r@   r¾   q  s   ø€ ÷ Vñ V¡D©Õ$9ñ VrB   c                ó�   € V P                   P                  4        Uu. uF  qP                  V4      '       g   K  VNK  	  up# u upi r^   )r±   r)  r¢  rÑ   s   & r?   Ú_get_modified_varsÚSideEffects._get_modified_varsq  s9   € Ø#×2Ñ2×9Ñ9Ô;ÓUÑ;˜×?OÑ?OÐPS×?T—�Ñ;ÑUÐUùÒUs
   �AºAc                ó$   <€ V ^8„  d   QhRS[ RR/# ©r6   Úcgr[   Nr   )r=   r>   s   "€r?   r@   r¾   t  s   ø€ ÷ pñ p©	ð p°dñ prB   c           	     ó2  aa€ V P                  4        EF†  o\        SP                  \        4      '       g    SP                  f   \        RS R24      hKC  \        S\        P                  \        P                  34      '       d   V P                  S4      '       g   KŒ  SP                  4       '       d¼   \        SP                  \        4      '       dœ   \        S\        P                  4      '       d|   \        SP                  \        P                  \        P                   \        P"                  P$                  P&                  34      '       g   \)        SP                  4      '       d   EK]  \        S\        P*                  4      '       d¢   SP,                  ff   SP/                  V3R l4       SP1                  \3        ^ R4      4       SP5                  S4       \7        SP8                  S,          4      Sn        EKð  SP                  f   \;        SP,                  4      Sn        EK  EK  SP=                  4       '       d}   \        S\        P>                  P@                  4      '       dP   S! SRR7       SP5                  S4       SPC                  4        \7        SP8                  S,          4      Sn        EK­  EK°  \        S\        PD                  4      '       d   \G        RRR. R	7       EKâ  \        S\        PH                  4      '       dG   SPK                  S4       SP5                  S4       \7        SP8                  S,          4      Sn        EKH  \        S\        P                  4      '       d   R
 VV3R llpSP/                  V4       MSP/                  V3R l4       SP                  PL                  fW   \G        RRSPO                  4       PP                   2RSPO                  4       PP                   R2. \R        PT                  OR	7       S! SP                  PL                  4       SPV                   F  pS! V4       K  	  SP1                  \3        ^\Y        SPV                  4      ,           R4      4       SP5                  S4       \7        SP8                  S,          4      Sn        \        S\        PZ                  4      '       g   EKÈ  SV P\                  9   g   EKÜ  V P\                  S,          P_                  4        F…  w  rESPa                  RR4       SPc                  R4       S! SP                  4       S! \        Pd                  ! V4      4       S! V4       SP1                  . \g        ^4      O\i        R4      N4       K‡  	  EK‰  	  V Pj                   Fi  w  rgS! VP                  4       SPc                  R4       V F  pS! V4       K  	  SP1                  . \g        \Y        V4      4      O\i        R4      N4       Kk  	  R # )Nz!Expected source for modified var z with non-new mutation typec                  óD   <€ S P                  \        P                  R 4      # )Ú	make_cell©Úload_import_fromr   rD   ©rH  s   €r?   ry   Ú3SideEffects.codegen_save_tempvars.<locals>.<lambda>­  s   ø€  × 3Ñ 3´E·N±NÀKÔ PrB   F©Úallow_cachez<AutogradFunctionContextVariable escaped Dynamo-traced regionrh  zAWe cannot reconstruct a torch.autograd.Function's context object.rõ   c                ó   € V ^8„  d   QhRR/# rZ   rC   )r=   s   "r?   r@   Ú7SideEffects.codegen_save_tempvars.<locals>.__annotate__Þ  s   € ÷ Kñ K¨Tñ KrB   c                  ó    <€ SP                   f   \        R4      hS ! SP                   4       S P                  S P                  R4      .4       R # )Nz&base_cls_vt is None in load_new_methodrç  )rÝ  rè   Úextend_outputÚcreate_load_attr©rH  r9   s   €€r?   Úload_new_methodÚ:SideEffects.codegen_save_tempvars.<locals>.load_new_methodÞ  sG   ø€ àŸ?™?Ò2Ü"0Ø Hó#ð ñ ˜3Ÿ?™?Ô+Ø×(Ñ(¨"×*=Ñ*=¸iÓ*HÐ)IÖJrB   c                  óD   <€ S P                  \        P                  R 4      # )r$   rL  rN  s   €r?   ry   rO  ê  s   ø€  × 3Ñ 3´E·N±NÀLÔ QrB   z/Reconstruct user defined class without a sourcezClass: z"Cannot reconstruct an instance of a=   that escapes the compiled region. This happens when the class is defined dynamically (e.g., inside the compiled function) and the class object itself has no source that can be reconstructed. To fix this, move the class definition outside the compiled function or prevent the object from escaping the compiled region.Úbuiltinsr¼   Ú__setattr__ÚPOP_TOPr¶   )6rD  r  r<  r'   rN  rè   r   ÚNamedTupleVariableÚStructSequenceVariabler˜  rç   r   râ   ÚenumÚEnumr  ÚDispatchKeyÚ_CÚ
_functorchÚTransformTyper"   ru  Ú
local_nameÚadd_push_nullrU  r   Ú	add_cacher   Útempvarsr   Ú	is_tensorÚtorch_functionÚTensorWithTFOverrideVariableÚ	clear_tosr	   r   ÚExceptionVariableÚreconstructr³  Úpython_typerD   r   rë  rß  r~   r-   r²   r›   rM  Úload_methodÚConstantVariabler   r   r¶   )	rb   rH  rX  rí  rO   râ   ru   r  r9   s	   &f      @r?   Úcodegen_save_tempvarsÚ!SideEffects.codegen_save_tempvarst  s¾  ù€ ð ×*Ñ*×,ˆCÜ˜c×/Ñ/Ô1E×FÒFØ—:‘:Ò%Ü(Ø;¸C¸5ð A5ð 5óð ñ ô ØÜ×-Ñ-¬y×/OÑ/OÐP÷ò ð ×/Ñ/°×4Ò4Ùð ×&Ñ&×(Ò(Ü˜s×0Ñ0Ô2F×GÒGÜ˜s¤I×$GÑ$G×HÒHäØŸ	™	ä ŸI™IÜ!×-Ñ-Ü!ŸH™H×/Ñ/×=Ñ=ð÷ò ô /¨s¯y©y×9Ò9ò ä˜#œy×5Ñ5×6Ò6ð
 —>‘>Ò)Ø×$Ñ$ÜPôð ×$Ñ$Ô%9¸!¸UÓ%CÔDØ—L‘L Ô%Ü!0°·±¸SÕ1AÓ!B�C—JØ—Z‘ZÒ'Ü!0°·±Ó!@�C—Jò (à—‘—’ô Øœ×1Ñ1×NÑN÷ò ñ �s¨Õ.Ø—L‘L Ô%ð —L‘L”NÜ!0°·±¸SÕ1AÓ!B�C—Jòô ˜C¤×!JÑ!J×KÒKÜØZØØ cØ÷	ð ô ˜C¤×!<Ñ!<×=Ò=ð
 —‘ Ô#Ø—‘˜SÔ!Ü,¨R¯[©[¸Õ-=Ó>�—
ô ˜c¤9×#FÑ#F×GÒG÷Kñ Kð ×$Ñ$ _Õ5à×$Ñ$ÜQôð ×$Ñ$×/Ñ/Ò7Ü!Ø QØ")¨#¯/©/Ó*;×*DÑ*DÐ)EÐ Fà@ÀÇÁÓAR×A[ÑA[Ð@\ð ]Wð Wð ?Ô 1× =Ñ =Ð>õñ �3×$Ñ$×/Ñ/Ô0ð Ÿ=œ=�CÙ�s–Gñ )ð × Ñ Ô!5°a¼#¸c¿m¹mÓ:LÕ6LÈeÓ!TÔUà—‘˜SÔ!Ü,¨R¯[©[¸Õ-=Ó>�”
ô ˜s¤I×$EÑ$E×FÕFØ˜t×8Ñ8×8à'+×'@Ñ'@ÀÕ'E×'KÑ'KÖ'M™˜Ø×+Ñ+¨J¸ÔAØŸ™ }Ô5Ù˜3Ÿ:™:œÙœ9×5Ò5°dÓ;Ô<Ù˜5œ	Ø×(Ñ(ØSÔ0°Ó3ÐSÔ5GÈ	Ó5RÐSöô (Nñk -ð~ ×/Ô/‰IˆCÙˆs�z‰zŒNØ�N‰NÐ.Ô/Û�Ù�3–ñ à×ÑðÜ'¬¨D«	Ó2ðä& yÓ1ðöó 0rB   c          
      ó2   <€ V ^8„  d   QhRRRS[ RRRS[RR/# )	r6   Útensorr¸   ÚhookÚhandler¹   rO   r[   NrV  )r=   r>   s   "€r?   r@   r¾   &  s=   ø€ ÷ ñ à*ðñ ðð 4ð	ñ
 ðð 
ñrB   c                óÜ  € VP                  4       '       g   \        R \        V4       R24      h\        V\        P
                  4      '       g   \        R\        V4       24      h\        V\        P                  4      '       g   \        R\        V4       24      hVP                  4       '       g   \        R4      h\        \        P                  V4      '       g   \        RV R24      h\        V P                  P                  4       4      pWPP                  9   d   V^,          pK  WW43V P                  V&   VP                  '       d   \        RVP                   24      hWSn        R# )	zExpected tensor variable, got z in register_hookz'Expected VariableTracker for hook, got z&Expected RemovableHandleVariable, got z'handle must be mutable in register_hookztorch.Tensor has no attribute 'Ú'z handle.idx should be falsy, got N)rj  rè   r€   r  r   r,   ÚRemovableHandleVariableÚ
is_mutableÚhasattrr  ÚTensorr~   r·   r  Úidx)rb   rv  rw  rx  rO   r  s   &&&&& r?   Úregister_hookÚSideEffects.register_hook&  s7  € ð ×Ñ×!Ò!Ü Ø0´°f³°Ð>OÐPóð ô ˜$¤	× 9Ñ 9×:Ò:Ü Ð#JÌ4ÐPTË:È,Ð!WÓXÐXÜ˜&¤)×"CÑ"C×DÒDÜ Ø8¼¸f»¸ÐGóð ð × Ñ ×"Ò"Ü Ð!JÓKÐKÜ”u—|‘| T×*Ò*Ü Ð#BÀ4À&ÈÐ!JÓKÐKÜ�$×#Ñ#×(Ñ(Ó*Ó+ˆà×&Ñ&Ô&Ø�1�HŠCØ"(°Ð!=ˆ×Ñ˜#ÑØ�:�:ˆ:Ü Ð#CÀFÇJÁJÀ<Ð!PÓQÐQØŽ
rB   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r6   r  r[   N)rU   )r=   r>   s   "€r?   r@   r¾   D  s   ø€ ÷ #ñ #™sð # tñ #rB   c                ó    € V P                   V R # r^   )r·   )rb   r  s   &&r?   Úremove_hookÚSideEffects.remove_hookD  s   € Ø×Ñ˜cÒ"rB   c                ó$   <€ V ^8„  d   QhRS[ RR/# rG  r   )r=   r>   s   "€r?   r@   r¾   G  s   ø€ ÷ 7!ñ 7!¡	ð 7!¨dñ 7!rB   c                ó2  aaa€ V P                   P                  4        Fu  w  oppoSP                  '       g   \        R 4      hR VVV3R llpSP	                  V4       S! V4       SP                  \        ^R4      4       SP                  V4       Kw  	  R# )z4Hooks on non input tensors NYI - should not get herec                ó   € V ^8„  d   QhRR/# rZ   rC   )r=   s   "r?   r@   Ú/SideEffects.codegen_hooks.<locals>.__annotate__t  s   € ÷ >ñ >˜Dñ >rB   c                  óZ   <€ S ! S4       S P                  S P                  S4      .4       R # r^   )rU  rV  )rH  rO   rv  s   €€€r?   Úgen_fnÚ)SideEffects.codegen_hooks.<locals>.gen_fnt  s&   ø€ Ù�6”
Ø× Ñ  "×"5Ñ"5°dÓ";Ð!<Ö=rB   FN)r·   r)  rN  rè   rg  rU  r   rh  )rb   rH  rw  rx  r‹  rO   rv  s   &f   @@r?   Úcodegen_hooksÚSideEffects.codegen_hooksG  s�   ú€ ð ×Ñ×%Ñ%Ö'ñ
ØØØØðF —=—=�=Ü$ØJóð ÷>ò >ð ×Ñ˜VÔ$ÙˆtŒHØ×ÑÔ1°!°UÓ;Ô<ð �L‰L˜Ö óc (rB   c                ó   <€ V ^8„  d   QhRR/# )r6   r[   zvariables.ListVariablerC   )r=   r>   s   "€r?   r@   r¾   €  s   ø€ ÷ +ñ +Ð,Dñ +rB   c                ó†   € ^RI Hp V P                  f#   \        P                  ! . V! 4       R7      V n        V P                  # )é   )r+   r¸  )Úvariables.baser+   rÅ   r   r0   )rb   r+   s   & r?   Úget_ca_final_callbacks_varÚ&SideEffects.get_ca_final_callbacks_var€  s;   € Ý4à×&Ñ&Ò.Ü*3×*@Ò*@ØÑ"2Ó"4ô+ˆDÔ'ð ×*Ñ*Ð*rB   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r  rV  )r=   r>   s   "€r?   r@   r¾   Š  s   ø€ ÷ 9ñ 9©ð 9Á3ñ 9rB   c                óú  € \         P                  R8X  d   \        R4      hV P                  P	                  V. 4      pRVP                  4        2pRpVP                  eª   \        VP                  \        4      '       d   RpM†\        V\        P                  4      '       d    VP                  e   RVP                   R2pMG\        V\        P                  P                  4      '       d   RpMR	VP                  P                   R2pV'       dä   \        4       p. p\!        \#        4       4      pV F�  p\$        ;QJ d    . R
 V 4       F  NK  	  5M! R
 V 4       4      p	W•9  g   K7  VP'                  V	4       \!        Wx,           4      p
VP)                  RP+                  \,        P.                  ! V
4      4      4       K�  	  RP+                  V4      pV V R\0        P2                  ! VR4       2pV# V V R2pV# )z1Format a side effect log message with user stack.rÿ   z[_format_side_effect_message should not be called when side_effect_replay_policy is 'silent'zMutating object of type z (no source)z* (source: created in torch.compile region)z
 (source: Ú)z- (source: torch function mode stack mutation)z (source name: c              3   óÆ   "  € T FW  pVP                   VP                  VP                  VP                  \	        VR R4      \	        VRR4      \	        VRR4      3x € KY  	  R# 5i)ÚcolnoNÚ
end_linenoÚ	end_colno)ÚfilenameÚlinenorO   ÚlinerP  )Ú.0Úfs   & r?   Ú	<genexpr>Ú:SideEffects._format_side_effect_message.<locals>.<genexpr>ª  s]   é € ð $ñ #˜ð Ÿ
™
ØŸ™ØŸ™ØŸ™Ü  7¨DÓ1Ü  <°Ó6Ü  ;°Ó5õó #ùs   ‚AA!rh  z
********

z

z    z+ (unable to find user stacks for mutations))r   r   rè   r´   rY  Úpython_type_namerN  r  r   r   ru  rf  rk  ÚTorchFunctionModeStackVariablerO   rÆ   r   r   r½   rÐ   rp   Újoinrº   Úformat_listÚtextwrapÚindent)rb   r9   Ú	locationsÚdescriptionÚsource_infoÚseenÚunique_formatted_stacksÚstack_above_dynamor*  Ústack_tupleÚstack_augmentedÚformatted_linesÚlog_strs   &&           r?   Ú_format_side_effect_messageÚ'SideEffects._format_side_effect_messageŠ  sÝ  € ä×+Ñ+¨xÔ7Ü ð=óð ð ×-Ñ-×1Ñ1°#°rÓ:ˆ	Ø0°×1EÑ1EÓ1GÐ0HÐIˆØ$ˆØ�:‰:Ò!Ü˜#Ÿ*™*¤o×6Ò6ØJ‘Ü˜C¤×!7Ñ!7×8Ò8¸S¿^¹^Ò=WØ *¨3¯>©>Ð*:¸!Ð<‘ÜØ”Y×-Ñ-×LÑL÷ò ð N‘ð !0°·
±
·±Ð/@ÀÐB�çä“5ˆDØ13Ð#Ü!7Ô8NÓ8PÓ!QÐÛ"�÷ $œeñ $ñ #ó$Ÿe™eñ $ñ #ó$ó �ð Ö*Ø—H‘H˜[Ô)Ü&<Ð=OÕ=WÓ&X�OØ+×2Ñ2ØŸ™¤	× 5Ò 5°oÓ FÓGöñ' #ð, $4×#8Ñ#8Ð9PÓ#QˆOØ$˜ k ]°$´x·²ÀÐX^Ó7_Ð6`ÐaˆGð ˆð �- ˜}Ð,WÐXð ð ˆrB   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )r6   Úside_effect_messagesr[   N)r<   rR   )r=   r>   s   "€r?   r@   r¾   Å  s   ø€ ÷ 
ñ 
¹tÁC½yð 
ÈTñ 
rB   c                ó¦   a€ S'       g   R # S F  p\         P                  V4       K  	  \        P                  P	                  RR V3R lR7       R # )NÚartifactc                  ó   € R RRR/# )rO   Údynamo_side_effectsÚencodingÚstringrC   rC   rB   r?   ry   Ú8SideEffects._emit_side_effect_messages.<locals>.<lambda>Î  s   € ØÐ-Ø˜Hñ!rB   c                  ó&   <€ R P                  S 4      # )z,

========================================

)r¥  )r¶  s   €r?   ry   r½  Ò  s   ø€ ÐQ×VÑVØ$ô rB   )Úmetadata_fnÚ
payload_fn)Úside_effects_logÚdebugr  Ú_loggingÚtrace_structured)rb   r¶  Úmsgs   &f r?   Ú_emit_side_effect_messagesÚ&SideEffects._emit_side_effect_messagesÅ  sG   ø€ ß#Ùã'ˆCÜ×"Ñ" 3Ö'ñ (ô 	�‰×'Ñ'Øñôð 	(ö 		
rB   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r6   rH  Úlog_side_effectsr[   N)r   rä   )r=   r>   s   "€r?   r@   r¾   ×  s*   ø€ ÷ %Bñ %BÙð%BÙ/3ð%Bà	ñ%BrB   c           	     óô  a aa	€ . o	R  VV V	3R llp. pS P                  4        F‰  p\        P                  '       g#   \        VP                  \
        4      '       g   K;  \        S VVVVR7      p\        P                  V4      pVf   \        \        V4      4      hVP                  V4       K‹  	  \        V4       F  pVP                  V4       K  	  S'       d   S	'       d   S P                  S	4       R# R# R# )c                ó(   € V ^8„  d   QhR\         RR/# rÍ   rÎ   )r=   s   "r?   r@   Ú8SideEffects.codegen_update_mutated.<locals>.__annotate__Ý  s   € ÷ 	1ñ 	1¬ð 	1¸Dñ 	1rB   c                 óŽ   <€ \         P                  R 8w  d/   S'       d%   SP                  V 4      pSP                  V4       R# R# R# ©rÿ   N)r   r   r³  rp   )r9   rÅ  rÉ  rb   r¶  s   & €€€r?   Ú_maybe_log_side_effectÚBSideEffects.codegen_update_mutated.<locals>._maybe_log_side_effectÝ  s<   ø€ Ü×/Ñ/°8Ô;×@PØ×6Ñ6°sÓ;�Ø$×+Ñ+¨CÖ0ñ AQÑ;rB   )r1   r8   r9   r:   r;   N)rD  r   Úreplay_side_effectsr  rN  r   r4   rˆ   r„   rè   r€   r8   ÚreversedrU  rÆ  )
rb   rH  rÉ  rÏ  r:   r9   ru   rg   Úsuffixr¶  s
   f&f      @r?   Úcodegen_update_mutatedÚ"SideEffects.codegen_update_mutated×  sÞ   ú€ ð +-Ð÷	1ò 	1ð
 -/ˆØ×*Ñ*Ö,ˆCä×-×-Ð-´jØ—
‘
œO÷7ò 7ñ ä)Ø!ØØØ!Ø*ôˆCô 3×AÑAÀ#ÓFˆGØŠÜ$¤T¨#£YÓ/Ð/Ø�O‰O˜CÖ ñ# -ô( ˜xÖ(ˆFØ×Ñ˜VÖ$ñ )÷ × 4Ø×+Ñ+Ð,@ÖAñ !5ÑrB   c                ó   <€ V ^8„  d   QhRR/# rZ   rC   )r=   r>   s   "€r?   r@   r¾   þ  s   ø€ ÷ (ñ (¨$ñ (rB   c                ó  € \         P                  R 8X  d   R# \        P                  \        P
                  4      '       g   R# V P                  4        F)  pV P                  V4      p\        P                  V4       K+  	  R# rÎ  )	r   r   rÁ  ÚisEnabledForÚloggingÚDEBUGrD  r³  rÂ  )rb   r9   rÅ  s   &  r?   Úlog_side_effects_summaryÚ$SideEffects.log_side_effects_summaryþ  s\   € Ü×+Ñ+¨xÔ7ÙÜ×,Ñ,¬W¯]©]×;Ò;ÙØ×*Ñ*Ö,ˆCØ×2Ñ2°3Ó7ˆCÜ×"Ñ" 3Ö'ó -rB   c                ó    <€ V ^8„  d   QhRS[ /# r(  r)  )r=   r>   s   "€r?   r@   r¾     s   ø€ ÷ 
ñ 
™$ñ 
rB   c                óò   € \        \        V P                  V P                  P	                  4       4      4      ;'       g5    V P
                  ;'       g!    V P                  ;'       g    V P
                  '       * # r^   )ÚanyÚmapr¢  r±   r)  r·   r¶   ra   s   &r?   Úis_emptyÚSideEffects.is_empty  sk   € ä”�D×$Ñ$ d×&9Ñ&9×&@Ñ&@Ó&BÓCÓD÷ !ð !Ø× Ñ ÷!ð !à×%Ñ%÷!ð !ð × Ñ ô	
ð 	
rB   c                ó   <€ V ^8„  d   QhRR/# rZ   rC   )r=   r>   s   "€r?   r@   r¾     s   ø€ ÷ $ñ $�tñ $rB   c                ón   € V P                   P                  4        V P                  P                  4        R # r^   )rµ   rš   r±   ra   s   &r?   rš   ÚSideEffects.clear  s$   € Ø�‰×ÑÔØ×Ñ×!Ñ!Ö#rB   c                ó  <€ V ^8„  d   Qh/ S[ S[S[3,          ;R&   S[ S[S[ S[S[3,          3,          ;R&   S[ S[S[ S[S[3,          3,          ;R&   S[S[,          ;R&   S[ S[S[S[P                  ,          3,          ;R&   # )r6   r±   r²   r³   rµ   r´   )	r—   rU   r,   rR   r(   r<   r¼   rº   r»   )r=   r>   s   "€r?   r@   r¾   Ã   s’   ø‡ ‚ ñ( ™™oÐ-Õ.Ñ.ñ) ñ* ™±±S¹/Ð5IÕ0JÐJÕKÑKñ+ ñ, ™o©t±CÑ9IÐ4IÕ/JÐJÕKÑKñ- ñ. ‘F�|Ññ/ ñ2 ™±±Y×5KÑ5KÕ0LÐLÕMÑMò3 rB   )rÄ   r³   rÅ   rÉ   r±   rÇ   rµ   rÈ   r´   rÃ   r¶   r²   r·   )NNNNNNN)FFr^   )F)IrD   rE   rF   rG   Ú__doc__rc   rÒ   rÖ   Ú
contextlibÚcontextmanagerrÞ   rñ   rÜ   r  r  r  r  r   r%  r/  r4  r8  r?  rG  r(   ra  rS  r\  rb  rk  rv  r~  rƒ  r‡  Ústaticmethodr‘  rO  r˜  r{  r¢  r*   r¨  Útrack_mutabler¬  r°  rº  rÚ  rð  rö  rú  r   r  r
  r  r7  r<  r@  rD  rs  r€  r„  r�  r“  r³  rÆ  rÔ  rÛ  rá  rš   rH   rI   rJ   Ú__classcell__)rÊ   r>   s   @@r?   r7   r7   Ã   s¬  ù‡ € ñ÷49Xõ 9X÷v9ð 9÷
@ð @ð
 ×Ñ÷1ó ð1÷(ð ÷Bð ÷"
ð 
÷

ð 

÷ð ÷0
ð 
÷(/ð /÷-ð -÷
ð 
÷
ð 
÷
ð 
÷ð ÷+ð +ðd +;×*JÑ*JØ(,÷(Hò (H÷TKð K÷&4ð 4÷ò ÷,9ð 9÷$
ð 
÷4*ð *÷ Nð Nð" ÷
ó ð
÷Að A÷
ð 
÷
/ò /÷$.ð .ð( #8÷	ò ð* €M÷
ð 
÷(ð (÷ð ÷"4ð 4÷l=ð =ð~"ð 26÷"ò "÷H	ð 	÷ð ÷ð ÷3ð 3÷Gð G÷h
ð h
÷T4ð 4÷0ð 0÷Vð V÷pð p÷dð ÷<#ð #÷7!ð 7!÷r+ð +÷9ð 9÷v
ð 
÷$%Bò %B÷N(ð (÷
ð 
÷$ð $÷Y* … rB   r7   Úlist_mutationc                 óJ   € \        V P                  \        P                  4      # r^   )r  r9   r   r0   ©ru   s   &r?   ry   ry     s   € œ
 3§7¡7¬I×,BÑ,BÔCrB   )rO   rP   rQ   c                ó(   € V ^8„  d   QhR\         RR/# rt   ©r4   )r=   s   "r?   r@   r@     s   € ÷ ñ Ô 7ð ¸Dñ rB   c           	      ó¼  € V P                   pV P                  p\        V\        P                  4      '       g   \        \        V4      4      hV! VR R7       V! VP                  4       VP                  VP                  R4      VP                  R4      \        R^R7      .4       V P                  P                  \        R4      .4       V P                  V4       R# )FrP  NÚBUILD_SLICE©rí  ÚSTORE_SUBSCR)r8   r9   r  r   r0   rè   r€   rN  rU  Úcreate_load_constr   r:   rp   r;   ©ru   rH  r9   s   &  r?   Ú_codegen_list_mutationrø    s®   € ð 
�‰€BØ
�'‰'€CÜ�cœ9×1Ñ1×2Ò2ÜœT #›YÓ'Ð'á€s˜ÕÙ€s‡z�z„NØ×Ñà× Ñ  Ó&Ø× Ñ  Ó&Ü˜}°!Ô4ð	
ôð ‡L�L×ÑÔ+¨NÓ;Ð<Ô=Ø‡G�GˆC†LrB   Údeque_mutationc                 ó^   € \        V P                  \        P                  P                  4      # r^   )r  r9   r   ÚlistsÚDequeVariablerï  s   &r?   ry   ry   .  s   € œ
 3§7¡7¬I¯O©O×,IÑ,IÔJrB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   1  s   € ÷ %ñ %Ô!8ð %¸Tñ %rB   c                 ó˜  € V P                   pV P                  p\        V\        P                  P
                  4      '       g   \        \        V4      4      hVP                  P                  4       '       g   \        R RRR.R7       V! VP                  4       VP                  R4       V! VRR7       V P                  P                  . \        ^4      O\!        R4      N4       V! VP                  4       VP                  R	4       V P                  P                  . \        ^ 4      O\!        R4      N4       V P#                  V4       R
# )z1Side effect on existing deque with limited maxlenrh  zThis is not supported.z*Don't use a deque with `maxlen` specified.rõ   r¥   FrP  r]  rš   N)r8   r9   r  r   rû  rü  rè   r€   ÚmaxlenÚis_constant_noner   rN  rq  r:   rp   r   r   r;   r÷  s   &  r?   Ú_codegen_deque_mutationr  ,  s  € ð 
�‰€BØ
�'‰'€CÜ�cœ9Ÿ?™?×8Ñ8×9Ò9ÜœT #›YÓ'Ð'ð �:‰:×&Ñ&×(Ò(ÜØGØØ0à<ðõ		
ñ €s‡z�z„NØ‡N�N�8ÔÙ€s˜ÕØ‡L�L×Ñð	
Ü Ó"ð	
ä˜yÓ)ð	
ôñ €s‡z�z„NØ‡N�N�7ÔØ‡L�L×Ñð	
Ü Ó"ð	
ä˜yÓ)ð	
ôð ‡G�GˆC†LrB   Úconst_dict_or_set_mutationc                 ój   € \        V P                  \        P                  \        P                  34      # r^   )r  r9   r   r;  ÚSetVariablerï  s   &r?   ry   ry   [  s#   € œ
Ø�‰”)×-Ñ-¬y×/DÑ/DÐEôrB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   `  s   € ÷ %ñ %Ô-Dð %Èñ %rB   c                 ó¼  € V P                   pV P                  p\        V\        P                  \        P
                  34      '       g   \        \        V4      4      hVP                  4       '       dê   V! VP                  4       VP                  R 4       V! VRR7       VP                  '       d$   V! VP                  4       VP                  R4       V P                  P                  . \        ^4      O\        R4      N4       VP                  '       d2   V P                  P                  . \        ^ 4      O\        R4      N4       V P!                  V4       R# R# )ÚupdateFrP  rš   r]  N)r8   r9   r  r   r;  r  rè   r€   Úhas_new_itemsrN  rq  Úshould_reconstruct_allr:   rp   r   r   r;   r÷  s   &  r?   Ú#_codegen_const_dict_or_set_mutationr
  Y  s  € ð 
�‰€BØ
�'‰'€CÜ�cœI×7Ñ7¼×9NÑ9NÐO×PÒPÜœT #›YÓ'Ð'ð ×Ñ×ÒÙ
ˆ3�:‰:ŒØ
�‰�xÔ Ù
ˆ3˜EÕ"à×%×%Ð%Ùˆs�z‰zŒNØ�N‰N˜7Ô#à�‰×ÑðÜ# AÓ&ðä" 9Ó-ðô	
ð ×%×%Ð%ð �L‰L×ÑðÜ'¨Ó*ðä& yÓ1ðôð 	�‰�Žñ3 rB   Ú"torch_function_mode_stack_mutationc                 ó^   € \        V P                  \        P                  P                  4      # r^   )r  r9   r   rk  r¤  rï  s   &r?   ry   ry   Š  s   € œ
Ø�‰”×)Ñ)×HÑHôrB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   �  s   € ÷ ñ Ü	 ðà	ñrB   c                 óì  a€ V P                   oV P                  p\        V\        P                  P
                  4      '       g   \        \        V4      4      hSP                  V3R  l4       SP                  VP                  4       SP                  \        R\        VP                  4      R7      4       SP                  ^R4       SP                  \        R4      4       V P                  V4       R# )c                  óD   <€ S P                  \        P                  R 4      # )Úset_torch_function_mode_stackrL  rN  s   €r?   ry   Ú=_codegen_torch_function_mode_stack_mutation.<locals>.<lambda>—  s   ø€ �×#Ñ#¤E§N¡NÐ4SÔTrB   Ú
BUILD_LISTrô  Fr]  N)r8   r9   r  r   rk  r¤  rè   r€   rg  ÚforeachÚsymbolic_stackÚappend_outputr   r~   Úcall_functionr;   )ru   r9   rH  s   & @r?   Ú+_codegen_torch_function_mode_stack_mutationr  ˆ  s´   ø€ ð 
�‰€BØ
�'‰'€CÜ�cœ9×3Ñ3×RÑR×SÒSÜœT #›YÓ'Ð'Ø×ÑÜTôð ‡J�Jˆs×!Ñ!Ô"Ø×ÑÔ'¨¼#¸c×>PÑ>PÓ:QÔRÔSØ×Ñ�Q˜ÔØ×ÑÔ'¨	Ó2Ô3Ø‡G�GˆC†LrB   Úcell_mutationc                 óŠ   € \        V P                  \        P                  4      ;'       d    V P                  P                  R J# r^   )r  r9   r   ru  rf  rï  s   &r?   ry   ry   £  s6   € œ
 3§7¡7¬I×,BÑ,BÓC÷ 'ð 'Ø�‰×Ñ $Ð&ð'rB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   §  s   € ÷ ñ Ô 7ð ¸Dñ rB   c                 óÚ  € V P                   pV P                  p\        V\        P                  4      '       g   \        \        V4      4      hVP                  f   \        R4      hW P                  P                  9   dl   V P                  P                  V4      pV! V4       V P                  P                  VP                  VP                  4      .4       V P                  V4       R # R # )Nz$cell mutation local name must be set)r8   r9   r  r   ru  rè   r€   rf  r1   r²   r~  r:   rp   Úcreate_store_derefr;   )ru   rH  r9   Úcontents_vars   &   r?   Ú_codegen_cell_mutationr  ¡  s´   € ð 
�‰€BØ
�'‰'€CÜ�cœ9×1Ñ1×2Ò2ÜœT #›YÓ'Ð'Ø
‡~�~ÒÜÐCÓDÐDð ×Ñ×3Ñ3Ô3Ø×'Ñ'×1Ñ1°#Ó6ˆÙ
ˆ<ÔØ�‰×Ñ˜R×2Ñ2°3·>±>ÓBÐCÔDØ�‰�Žñ	 4rB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   ·  s   € ÷ 4ñ 4Ô-Dð 4Èñ 4rB   c                 ó8  € V P                   pV P                  p\        V\        P                  4      '       g   \        \        V4      4      h/ p\        P                  P                   F)  pVP                  P                  P                  4       W4&   K+  	   \        VP                  4      P                  P                  \         P"                  4      pVP)                  \+        R VR7      \+        RVR,          R7      .4       V! VP,                  4       VP)                  \+        RVR,          R7      .4       RVP.                  n        V! VP.                  RR7       VP)                  \+        RVR,          R7      .4       \3        \        VR	7      pV P4                  P7                  . VO\+        R
4      N4       V P9                  VP.                  4       R#   \$         d7    \        TP                  4      P                  P                  \&        4      p ELEi ; i)Ú
LOAD_CONST©ÚargvalÚ
STORE_FASTr–   r•   TFrP  r”   ©Úvarname_mapr]  N)r8   r9   r  r   rÍ  rè   r€   r    Ú__code__Úco_varnamesrï   r+  Únew_varrâ   r™   Úindexr«   ÚOrderedDictÚ
ValueErrorr—   rU  r   rN  Ú_base_vtr	  r   r:   rp   r;   )ru   rH  r9   r&  rO   r–   Údict_update_instss   &      r?   Ú#_codegen_user_defined_dict_mutationr/  ·  sµ  € Ø	�‰€BØ
�'‰'€CÜ�cœ9×<Ñ<×=Ò=ÜœT #›YÓ'Ð'ð €KÜ$×-Ñ-×9Ô9ˆØŸE™EŸL™L×0Ñ0Ó2ˆÓñ :ð8Ü˜Ÿ™“O×+Ñ+×1Ñ1´+×2IÑ2IÓJˆ	ð ×Ñä˜|°IÔ>Ü˜|°KÀÕ4LÔMð	
ôñ €s‡z�z„NØ×Ñä˜|°KÀ	Õ4JÔKð	
ôð +/€C‡L�LÔ'Ù€s‡|�| Õ'Ø×Ñä˜|°KÀÕ4LÔMð	
ôô /Ü¨+ôÐð ‡L�L×Ñð	
Øð	
ä˜yÓ)ð	
ôð ‡G�GØ�‰öøôK ô 8Ü˜Ÿ™“O×+Ñ+×1Ñ1´$Ó7‹	ð8ús   Â<G Ç=HÈHc                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   î  s   € ÷ %ñ %Ô-Dð %Èñ %rB   c                 ó´  € V P                   pV P                  p\        V\        P                  4      '       g   \        \        V4      4      h/ p\        P                  P                   F)  pVP                  P                  P                  4       W4&   K+  	  V! VP                  4       VP                  \        R VR,          R7      .4       V! VP                   RR7       VP                  \        R VR,          R7      .4       \#        \        VR7      pV P$                  P'                  . VO\        R4      N4       V P)                  VP                   4       R# )	r$  r£   r"  FrP  r¢   r%  r]  N)r8   r9   r  r   rÑ  rè   r€   r¦   r'  r(  rï   r+  r)  rN  rU  r   r-  r   r:   rp   r;   )ru   rH  r9   r&  rO   Úlist_update_instss   &     r?   Ú#_codegen_user_defined_list_mutationr3  î  s"  € Ø	�‰€BØ
�'‰'€CÜ�cœ9×<Ñ<×=Ò=ÜœT #›YÓ'Ð'ð €KÜ#×,Ñ,×8Ô8ˆØŸE™EŸL™L×0Ñ0Ó2ˆÓñ 9ñ €s‡z�z„NØ×Ñä˜|°KÀ	Õ4JÔKð	
ôñ €s‡|�| Õ'Ø×Ñä˜|°KÀÕ4LÔMð	
ôô /Ü¨ôÐð ‡L�L×Ñð	
Øð	
ä˜yÓ)ð	
ôð ‡G�GØ�‰örB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@     s   € ÷ %ñ %Ô.Eð %È$ñ %rB   c                 ó´  € V P                   pV P                  p\        V\        P                  4      '       g   \        \        V4      4      h/ p\        P                  P                   F)  pVP                  P                  P                  4       W4&   K+  	  V! VP                  4       VP                  \        R VR,          R7      .4       V! VP                   RR7       VP                  \        R VR,          R7      .4       \#        \        VR7      pV P$                  P'                  . VO\        R4      N4       V P)                  VP                   4       R# )	r$  r©   r"  FrP  r¨   r%  r]  N)r8   r9   r  r   rÒ  rè   r€   r­   r'  r(  rï   r+  r)  rN  rU  r   r-  r   r:   rp   r;   )ru   rH  r9   r&  rO   Údeque_update_instss   &     r?   Ú$_codegen_user_defined_deque_mutationr7    s"  € Ø	�‰€BØ
�'‰'€CÜ�cœ9×=Ñ=×>Ò>ÜœT #›YÓ'Ð'ð €KÜ$×-Ñ-×9Ô9ˆØŸE™EŸL™L×0Ñ0Ó2ˆÓñ :ñ €s‡z�z„NØ×Ñä˜|°KÀ
Õ4KÔLð	
ôñ €s‡|�| Õ'Ø×Ñä˜|°KÀÕ4MÔNð	
ôô 0Ü¨+ôÐð ‡L�L×Ñð	
Øð	
ä˜yÓ)ð	
ôð ‡G�GØ�‰örB   c                ó0   € V ^8„  d   QhR\         R\        /# r  rB  )r=   s   "r?   r@   r@   >  s   € ÷ ñ ¬ð ¼Tñ rB   c                 ó&  € \        V P                  \        4      '       d#   \        V \        P                  4      '       d   R # V P                  4       ;'       d¹    \        V P                  \        4      ;'       d—    \        V \        P                  4      ;'       du    \        V P                  \        P                  \        P                  \        P                  P                  P                  34      ;'       g    \        V P                  4      # r!  )r  r<  r'   r   r-   rç   r   râ   r`  ra  r  rb  rc  rd  re  r"   )r9   s   &r?   Ú_skip_attribute_mutation_replayr:  >  sÙ   € ô �#×#Ñ#Ô%9×:Ò:¼zØŒY×.Ñ.÷@ò @ñ ð
 	×ÑÓ ÷ 	
ð 	
Ü�s×(Ñ(Ô*>Ó?÷	
ð 	
ä�sœI×?Ñ?Ó@÷	
ð 	
ô Ø—	‘	ä—I‘IÜ×%Ñ%Ü—H‘H×'Ñ'×5Ñ5ðó÷ 2ð 2ô ' s§y¡yÓ1ðrB   Úattribute_mutationc                 óL   € V P                   P                  V P                  4      # r^   )r1   rO  r9   rï  s   &r?   ry   ry   \  s   € ˜×(Ñ(×>Ñ>¸s¿w¹wÔGrB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   _  s   € ÷ @ñ @Ô%<ð @Àñ @rB   c                 óª  a€ V P                   oV P                  pV P                  p\        V4      '       d   R # \	        V\
        P                  4      '       dN   VP                  VP                  4      '       d-   VP                  P                  4       '       d   \        V 4       M™\	        V\
        P                  4      '       d.   VP                  VP                  4      '       d   \        V 4       ML\	        V\
        P                  4      '       d-   VP                  VP                  4      '       d   \        V 4       Rp\        VP                   P#                  V/ 4      P%                  4       4       EF?  w  rEVP'                  W4      p\	        V\
        P(                  4      '       dš   SP*                  P,                  P/                  V4       S! V4       \	        VP0                  \2        4      '       g"   \5        R\7        VP0                  4       24      hV P8                  P;                  \=        RVR7      .4       RpKÐ  \	        V\
        P>                  4      '       Edv   \	        V\
        P@                  4      '       d°   V\B        PD                  J dœ   \G        \G        VRR 4      R/ 4      pWG9   d{   SPI                  V3R l4       S! VP0                  4       S! \
        PJ                  ! V4      4       V P8                  P;                  . \M        ^R4      O\=        R	4      N4       RpEK½  EKÀ  \	        VPN                  \P        4      '       d„   \S        \G        VRR 4      V4      '       dd   SP*                  P,                  P/                  V4       S! VP0                  4       V P8                  P;                  \=        R
VR7      .4       RpEK`  EKc  EKf  \	        V\
        P@                  4      '       d—   V\B        PD                  J dƒ   SPI                  V3R l4       S! VP0                  4       S! \
        PJ                  ! V4      4       S! V4       V P8                  P;                  . \M        ^R4      O\=        R	4      N4       RpEK  \	        V\
        P@                  4      '       d¦   VPU                  4       '       d�   SPW                  RR4       SPY                  R4       S! VP0                  4       S! \
        PJ                  ! V4      4       S! V4       V P8                  P;                  . \[        ^4      O\=        R	4      N4       RpEKá  SP*                  P,                  P/                  V4       S! V4       S! V4       V P8                  P;                  \=        RVR7      .4       RpEKB  	  V'       d   V P]                  V4       R # R # )NFz1Expected GlobalSource for NewGlobalVariable, got ÚSTORE_GLOBALr"  Trâ   Ú__dict__c                  óD   <€ S P                  \        P                  R 4      # )Ú object_delattr_ignore_descriptorrL  rN  s   €r?   ry   Ú-_codegen_attribute_mutation.<locals>.<lambda>Ÿ  s   ø€  × 3Ñ 3Ü!ŸN™NØ>ô!rB   r]  ÚDELETE_ATTRc                  óD   <€ S P                  \        P                  R 4      # )Ú object_setattr_ignore_descriptorrL  rN  s   €r?   ry   rC  ¼  s   ø€ ˜×+Ñ+Ü—N‘NÐ$FôrB   r[  r¼   r\  Ú
STORE_ATTR)/r8   r9   r1   r:  r  r   rÍ  r¢  r-  r  r/  rÑ  r3  rÒ  r7  rÒ  r²   rY  r›   rb  r  rï   r+  Úupdate_co_namesrN  r   rè   r€   r:   rp   r   rX  r   r(   rZ  rP  rg  rr  r   r<  r&   r}  Úneeds_slow_setattrrM  rq  r   r;   )	ru   r9   r1   Úside_effect_occurredrO   râ   rJ  Úoriginal_dictrH  s	   &       @r?   Ú_codegen_attribute_mutationrL  Z  sš  ø€ ð 
�‰€BØ
�'‰'€CØ×#Ñ#€LÜ& s×+Ò+Ùô 	�3œ	×9Ñ9×:Ò:Ø×$Ñ$Ø�L‰L÷
ò 
ð �L‰L×&Ñ&×(Ò(ä+¨CÕ0Ü	ØŒY×.Ñ.÷
ò 
à
×
"Ñ
"Ø�‰÷ò ô 	,¨CÕ0Ü	ØŒY×/Ñ/÷
ò 
à
×
"Ñ
"Ø�‰÷ò ô 	-¨SÔ1ð !ÐÜ × AÑ A× EÑ EÀcÈ2Ó N× TÑ TÓ V×W‰ˆØ$×;Ñ;¸CÓFˆÜ�cœ9×6Ñ6×7Ò7Ø�E‰E�L‰L×(Ñ(¨Ô.ÙˆuŒIÜ˜cŸj™j¬,×7Ò7Ü$ðÜ §
¡
Ó+Ð,ð.óð ð �L‰L×ÑÔ!3°NÈ4Ô!PÐ QÔRØ#'Ò Ü˜œy×8Ñ8×9Ó9ä˜3¤	× CÑ C×DÒDØ!Ô%5×%CÑ%CÓCä '¬°°W¸dÓ(CÀZÐQSÓ T�ð Ô(Ø×$Ñ$ôôñ �s—z‘z”NÙ”y×1Ò1°$Ó7Ô8Ø—L‘L×'Ñ'ðÜ1°!°UÓ;ðä.¨yÓ9ðôð ,0Ó(ò )ô& ˜C×-Ñ-Ô/H×IÒIÌgÜ˜˜W dÓ+¨T÷Oò Oð —‘—‘×,Ñ,¨TÔ2Ù�3—:‘:”Ø—‘×#Ñ#Ô%7¸ÈdÔ%SÐ$TÔUØ'+Ó$òOÒIô �sœI×?Ñ?×@Ò@ØÔ!1×!?Ñ!?Ó?à×Ñôôñ
 ˆs�z‰zŒNÙŒy×)Ò)¨$Ó/Ô0ÙˆuŒIØ�L‰L×ÑðÜ)¨!¨UÓ3ðä& yÓ1ðôð $(Ó ä�sœI×?Ñ?×@Ò@Ø×&Ñ&×(Ò(ð ×Ñ 
¨HÔ5Ø�N‰N˜=Ô)Ùˆs�z‰zŒNÙŒy×)Ò)¨$Ó/Ô0ÙˆuŒIØ�L‰L×ÑÐ WÔ"4°QÓ"7Ð WÔ9KÈIÓ9VÐ WÔXØ#'Ó à�E‰E�L‰L×(Ñ(¨Ô.ÙˆuŒIÙˆsŒGØ�L‰L×ÑÔ!3°LÈÔ!NÐ OÔPØ#'Ó ñg X÷j Ø�‰�Žñ rB   Úlist_iterator_mutationc                 óJ   € \        V P                  \        P                  4      # r^   )r  r9   r   ÚListIteratorVariablerï  s   &r?   ry   ry   ä  s   € œ
 3§7¡7¬I×,JÑ,JÔKrB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   ç  s   € ÷ 
ñ 
Ô)@ð 
ÀTñ 
rB   c                 óŒ  a€ V P                   oV P                  p\        V\        P                  4      '       g   \        \        V4      4      h\        VP                  4       FL  pSP                  V3R  l4       S! VP                  4       SP                  ^R4       SP                  4        KN  	  V P                  V4       R# )c                  óD   <€ S P                  \        P                  R 4      # ©Ú	iter_nextrL  rN  s   €r?   ry   Ú1_codegen_list_iterator_mutation.<locals>.<lambda>í  ó   ø€  ×!4Ñ!4´U·^±^À[Ô!QrB   FN)r8   r9   r  r   rO  rè   r€   Úranger*  rg  rN  r  Úpop_topr;   ©ru   r9   rû   rH  s   &  @r?   Ú_codegen_list_iterator_mutationrZ  â  sŒ   ø€ ð 
�‰€BØ
�'‰'€CÜ�cœ9×9Ñ9×:Ò:ÜœT #›YÓ'Ð'Ü�3—9‘9ÖˆØ
×ÑÔQÔRÙ
ˆ3�:‰:ŒØ
×Ñ˜˜EÔ"Ø
�
‰
Žñ	 ð
 ‡G�GˆC†LrB   Úcount_iterator_mutationc                 óJ   € \        V P                  \        P                  4      # r^   )r  r9   r   ÚCountIteratorVariablerï  s   &r?   ry   ry   ö  s   € œ
 3§7¡7¬I×,KÑ,KÔLrB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@   ù  s   € ÷ 
ñ 
Ô*Að 
Àdñ 
rB   c                 óŒ  a€ V P                   oV P                  p\        V\        P                  4      '       g   \        \        V4      4      h\        VP                  4       FL  pSP                  V3R  l4       S! VP                  4       SP                  ^R4       SP                  4        KN  	  V P                  V4       R# )c                  óD   <€ S P                  \        P                  R 4      # rS  rL  rN  s   €r?   ry   Ú2_codegen_count_iterator_mutation.<locals>.<lambda>ÿ  rV  rB   FN)r8   r9   r  r   r]  rè   r€   rW  Úadvance_countrg  rN  r  rX  r;   rY  s   &  @r?   Ú _codegen_count_iterator_mutationrc  ô  sŽ   ø€ ð 
�‰€BØ
�'‰'€CÜ�cœ9×:Ñ:×;Ò;ÜœT #›YÓ'Ð'Ü�3×$Ñ$Ö%ˆØ
×ÑÔQÔRÙ
ˆ3�:‰:ŒØ
×Ñ˜˜EÔ"Ø
�
‰
Žñ	 &ð
 ‡G�GˆC†LrB   Úrandom_mutationc                 óJ   € \        V P                  \        P                  4      # r^   )r  r9   r   ÚRandomVariablerï  s   &r?   ry   ry     s   € œ
 3§7¡7¬I×,DÑ,DÔErB   c                ó(   € V ^8„  d   QhR\         RR/# rt   rñ  )r=   s   "r?   r@   r@     s   € ÷ ñ Ô"9ð ¸dñ rB   c                 ó¼  aa€ V P                   oV P                  o\        S\        P                  4      '       g   \        \        S4      4      hR  VV3R llpSP                  V4       S! SP                  SP                  P                  4       4      4       V P                  P                  . \        ^R4      O\        R4      N4       V P                  S4       R# )c                ó   € V ^8„  d   QhRR/# rZ   rC   )r=   s   "r?   r@   Ú._codegen_random_mutation.<locals>.__annotate__  s   € ÷ !ñ !�Dñ !rB   c                  óN   <€ S ! SP                   4       S P                  R 4       R# )ÚsetstateN)rN  rk  rW  s   €€r?   r‹  Ú(_codegen_random_mutation.<locals>.gen_fn  s   ø€ Ù
ˆ3�:‰:ŒØ
�‰�ZÖ rB   Fr]  N)r8   r9   r  r   rf  rè   r€   rg  Ú
wrap_stateÚrandomÚgetstater:   rp   r   r   r;   )ru   r‹  rH  r9   s   & @@r?   Ú_codegen_random_mutationrq    s±   ù€ ð 
�‰€BØ
�'‰'€CÜ�cœ9×3Ñ3×4Ò4ÜœT #›YÓ'Ð'÷!ñ !ð ×Ñ�VÔÙ€s‡~�~�c—j‘j×)Ñ)Ó+Ó,Ô-à‡L�L×Ñð	
Ü! ! UÓ+ð	
ä˜yÓ)ð	
ôð ‡G�GˆC†LrB   c                ó6   € V ^8„  d   QhRRR\         R,          /# ©r6   rï   r/   r[   rÙ   rÚ   )r=   s   "r?   r@   r@   "  s&   € ÷ Fñ FØ#ðFäÐÕ ñFrB   c              #  ó   "  € V P                   P                  P                  p RV P                   P                  n        Rx € WP                   P                  n        R#   YP                   P                  n        i ; i5i)zÐContext manager to temporarily allow side effects with extra outputs.

This is used for special cases (like FSDP functions) that need to perform
side effects even when the general policy is to disallow them.
TN)r+  r,  r3  ©rï   Úorig_vals   & r?   r3  r3  !  sW   é € ð �y‰y×'Ñ'×AÑA€HðFØ=Aˆ�	‰	× Ñ Ô:Ûà=E�	‰	× Ñ Ö:ø¸X�	‰	× Ñ Õ:üó   ‚!A>¤A ÁA>ÁA;Á;A>c                ó6   € V ^8„  d   QhRRR\         R,          /# rs  rÚ   )r=   s   "r?   r@   r@   3  s&   € ÷ 	Yñ 	YØ#ð	YäÐÕ ñ	YrB   c              #   ó6  "  € V P                   P                  P                  p R V P                   P                  n        R V P                   P                  n        Rx € WP                   P                  n        R#   YP                   P                  n        i ; i5i©TN)r+  r,  r-  Ú+traced_with_externally_visible_side_effectsru  s   & r?   Ú2allow_externally_visible_side_effects_in_subtracerr|  2  sj   é € ð �y‰y×'Ñ'×TÑT€HðYØPTˆ�	‰	× Ñ ÔMØOSˆ�	‰	× Ñ ÔLÛàPX�	‰	× Ñ ÖMøÐPX�	‰	× Ñ ÕMüs   ‚!B¤:A: ÁBÁ:BÂBc                ó6   € V ^8„  d   QhRRR\         R,          /# rs  rÚ   )r=   s   "r?   r@   r@   @  s&   € ÷ Hñ HØ#ðHäÐÕ ñHrB   c              #   ó   "  € V P                   P                  P                  p R V P                   P                  n        Rx € WP                   P                  n        R#   YP                   P                  n        i ; i5irz  )r+  r,  r8  ru  s   & r?   Ú"disallow_side_effects_in_generatorr  ?  sW   é € ð �y‰y×'Ñ'×CÑC€HðHØ?Cˆ�	‰	× Ñ Ô<Ûà?G�	‰	× Ñ Ö<ø¸x�	‰	× Ñ Õ<ürw  )nrç  r«   rè  Údataclassesr`  r�  rÙ  r§  rº   rÁ   Úcollections.abcr   r   r   Útypesr   Útypingr   r   r  Útorch.nnrF  r	   Útorch._library.utilsr
   Útorch.utils._ordered_setr   Útorch.utils._pytreer   rh  r   r   r   r   Úbytecode_transformationr   r   r   r   r   r8   r   rï  r   r   r   rN  r   r   r   r   r   r    r!   r"   r#   r$   r’  r%   r&   r'   r(   r)   r*   r+   r,   rÅ  r-   Útorch._dynamo.output_graphr.   Útorch._dynamo.symbolic_convertr/   Útorch._dynamo.variables.listsr0   rÃ  ÚgetArtifactLoggerrD   rÁ  Ú	dataclassr4   rä   rS   rT   r‹   rM   rX   rˆ   r‰   r’   r    r¦   r­   r7   rø  r  r
  r  r  r/  r3  r7  r:  rL  rZ  rc  rq  ré  r3  r|  r  rC   rB   r?   Ú<module>rŽ     s&  ðñó. Û Û Û Û Û Û Û Û ß ?Ñ ?Ý ß %ã Û Ý HÝ 3Ý /Ý 2ç 9Ó 9÷õ õ ß NÑ Nß VÕ V÷õ ÷	÷ 	ó 	õ <÷ Ý6ÝHÝ:ð —>‘>×3Ñ3°H¸nÓMÐ ð ×Ò˜dÔ#÷+ð +ó $ð+ð #Ð$;Ð#<¸dÐ#BÕCÐ Ø"Ð$;Ð#<¸dÐ#BÕCÐ Ø#+ØÐÐ6Ð6õ$Ð  ð
 ×Ò˜dÔ#÷ð ó $ð÷ñ ñ>  9Ó:Ð õBðð ÷	õ,
.õ$õ
3÷N$ñ N$ñb* %Ø	ÙCØôô
óð
ñ& %Ø	ÙJØôô
%óð
%ñP %Ø	%ñð ôô%óð%ñP %Ø	-ñð ôôóðñ$ %Ø	ñ'àô	ôóðõ 4õn%õP%õPñ8 %Ø	ÙGØôô
@óð
@ñF %Ø	!ÙKØôô

óð

ñ %Ø	"ÙLØôô

óð

ñ %Ø	ÙEØôô
óð
ð, ×ÑôFó ðFð  ×Ñô	Yó ð	Yð ×ÑôHó òHrB   