Ë
    g^(hÔ  ã                  óR  — U d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZ ddlmZmZmZmZ ddlmZmZmZmZm Z  ddl!m"Z" ddlm#Z# ddl$Z$ddl%Z$dd	l&m'Z' dd
l(m)Z) ddl*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0 ddl%m1Z1 ddl2m3Z3m4Z4m5Z5m6Z6 ddl7m8Z8 ddl9m:Z:m;Z; ddl<m=Z> ddl?m@Z@ ddlAmBZB ddlCmDZDmEZE ddlFmGZGmHZH ddlImJZJmKZKmLZLmMZM ddlNmOZOmPZP ddlQmRZRmSZSmTZTmUZUmVZV ddlWmXZXmYZYmZZZm[Z[ ddl\m]Z]m^Z^m_Z_m`Z` ddlKmaZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZl ddlmmnZnmoZompZp ddlqmrZr ddlsmtZt dd lumvZv dd!lwmxZx dd"lymzZzm{Z{m|Z|m}Z}m~Z~ dd#lMmZ dd$lm€Z€m�Z�m‚Z‚mƒZƒ dd%l„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒm�Z�mŽZŽm�Z�m�Z�m‘Z‘m’Z’m“Z“m”Z”m•Z•m–Z– dd&l—m˜Z˜ d'e™d(<   	 ddlšZ›e�j:                  rdd)lžmŸZŸ dd*l m¡Z¡ dd+lm¢Z¢m£Z£m¤Z¤ dd,l¥m¦Z¦  e
�jN                  e¨«      Z©e$�jT                  �jW                  e¨d-«      Z¬e$�jT                  �jW                  e¨d.«      Z­ e�j\                  «       Z¯ ed/«      Z° e"d0«      Z± G d1„ d2«      Z² G d3„ d4«      Z³ e³«       Z´ e³«       Zµda¶d5e™d6<    e�jn                  e>«      	 dT	 	 	 	 	 	 	 dUd7„«       Z¸dVd8„Z¹e`�jt                  dWd9„«       Z»	 	 dX	 	 	 	 	 	 	 	 	 dYd:„Z¼da½ e�j|                  «       Z¿d;e™d<<   dZd=„ZÀdZd>„ZÁ G d?„ d@«      ZÂ	 	 	 d[	 	 	 	 	 	 	 	 	 d\dA„ZÃddBlmÄZÄ ddClÅmÆZÆ e�j:                  rddDlÇmÈZÈ  eÄ«       ZÉdEe™dF<   d]dG„ZÊ	 	 d^ddHœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d_dI„ZË G dJ„ dK«      ZÌd`dL„ZÍdadM„ZÎdbdN„ZÏ G dO„ dPe�j                   «      ZÑ G dQ„ dR«      ZÒ	 	 	 	 	 	 dcdS„ZÓy# eœ$ r dZ›Y �Œïw xY w)daÒ  
This module implements TorchDynamo's core frame conversion functionality, transforming Python
frames into FX graphs. It handles:

- Frame analysis and bytecode transformation
- Guard creation and management for dynamic behaviors
- Cache management for recompilation
- Error handling and fallback mechanisms

Key classes:
- ConvertFrame: Main entry point for frame conversion with error handling
- ConvertFrameAssert: Implements core frame to graph conversion logic
- Tracker: Tracks input/output code objects during conversion
- CatchErrorsWrapper: Provides error handling and suppression logic

The conversion process preserves program semantics while enabling optimizations
through torch.compile() and related systems.
é    )ÚannotationsN)ÚPath)ÚCellTypeÚCodeTypeÚFunctionTypeÚ
ModuleType)ÚAnyÚCallableÚOptionalÚTypeVarÚUnion)Ú	ParamSpec)ÚReferenceType)ÚGlobalStateGuard)Úget_compile_pg)ÚTensorifyState)Úcompile_contextÚCompileContextÚ	CompileIdÚtracing)Ú
structured)Úcompile_time_strobelight_metaÚjustknobs_checkÚ#maybe_upload_prof_stats_to_manifoldÚsignpost_event)Ú_use_lazy_graph_module)ÚConstraintViolationErrorÚGuardOnDataDependentSymNode)Ú_forward_from_src)Ú_WaitCounter)ÚDistributedDataParallel)Ú_disable_current_modesÚis_in_torch_dispatch_mode)ÚCapturedTracebackÚformat_traceback_shorté   )ÚconfigÚexcÚgraph_break_hintsÚtrace_rules)Úremove_dead_codeÚremove_pointless_jumps)Ú check_inst_exn_tab_entries_validÚInstructionÚis_generatorÚ propagate_inst_exn_table_entriesÚtransform_code_object)ÚCacheSizeRelevantForFrameÚcompute_cache_sizeÚexceeds_recompile_limitÚis_recompilation)Úalways_optimize_code_objectsÚ
dynamo_tlsÚ	skip_codeÚTorchPatcher)Úaugment_exc_messageÚBackendCompilerFailedÚFailOnRecompileLimitHitÚformat_error_msgÚInternalTorchDynamoErrorÚRecompileLimitExceededÚShortenTracebackÚSkipCodeRecursiveExceptionÚTorchRuntimeErrorÚUncapturedHigherOrderOpErrorÚunimplemented_v2ÚUnsupported)ÚCheckFunctionManagerÚ'get_and_maybe_log_recompilation_reasonsÚGuardedCode)ÚHooks)Úput_code_state)ÚExecutionRecord)ÚTORCH_DYNAMO_RESUME_IN_PREFIX)ÚDistributedStateÚExceptionStackÚInstructionTranslatorÚ
LocalStateÚSpeculationLog)Úis_numpy)ÚConvertFrameReturnÚFrameActionÚFrameExecStrategyÚwrap_guarded_code)Úchromium_event_timedÚCleanupManagerÚCompileTimeInstructionCounterÚcountersÚdynamo_timedÚformat_bytecodeÚgen_record_file_nameÚget_metrics_contextÚincrement_frameÚis_namedtupleÚistypeÚ
LazyStringÚorig_code_mapÚreset_graph_break_dup_checkerÚsetup_compile_debugÚ	to_int_usÚtroubleshooting_urlÚwrite_record_to_file)Ú#torch_function_mode_stack_state_mgrzOptional[ModuleType]Únp)Ú
CompilerFn)ÚWrapBackendDebug)ÚBytecodeHookÚ
CacheEntryÚDynamoFrameType)ÚFrameStateSizeEntryÚbytecodeÚgraph_breaksÚ_TÚ_Pc                  ó   — e Zd Zy)ÚTODO_UNKNOWNN)Ú__name__Ú
__module__Ú__qualname__© ó    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_dynamo/convert_frame.pyrv   rv   °   s   „ Ør{   rv   c                  ó,   — e Zd Zdd„Zdd„Zdd„Zdd„Zy)	ÚTrackerc                ó0   — g | _         t        «       | _        y ©N)ÚseenÚsetÚseen_ids©Úselfs    r|   Ú__init__zTracker.__init__µ   s   € Ø35ˆŒ	Ü"%£%ˆ�r{   c                óÜ   ‡ ‡— t        |«      Š‰‰ j                  vrQt        j                  |ˆˆ fd„«      }‰ j                  j                  |«       ‰ j                  j                  ‰«       y y )Nc                ó:   •— ‰j                   j                  ‰«      S r€   )rƒ   Úremove)Ú_Úidxr…   s    €€r|   ú<lambda>zTracker.add.<locals>.<lambda>¼   s   ø€ °D·M±M×4HÑ4HÈÓ4M€ r{   )Úidrƒ   ÚweakrefÚrefr�   ÚappendÚadd)r…   Ú
strong_objÚobjr‹   s   `  @r|   r‘   zTracker.add¹   sR   ù€ Ü�‹nˆØ�d—m‘mÑ#Ü—+‘+˜jÔ*MÓNˆCØ�I‰I×Ñ˜SÔ!Ø�M‰M×Ñ˜cÕ"ð $r{   c                ó0   — t        |«      | j                  v S r€   )r�   rƒ   )r…   Úitems     r|   Ú__contains__zTracker.__contains__À   s   € Ü�$‹x˜4Ÿ=™=Ð(Ð(r{   c                ól   — | j                   j                  «        | j                  j                  «        y r€   )r�   Úclearrƒ   r„   s    r|   r˜   zTracker.clearÃ   s    € Ø�	‰	�‰ÔØ�‰×ÑÕr{   N)ÚreturnÚNone)r’   r   r™   rš   )r•   r   r™   Úbool)rw   rx   ry   r†   r‘   r–   r˜   rz   r{   r|   r~   r~   ´   s   „ ó(ó#ó)ôr{   r~   zOptional[GlobalStateGuard]Úinitial_global_statec                óJ   — t        | ||«      }t        |j                  «       |S r€   )Úoriginal_forward_from_srcr8   Ú__code__)ÚsrcÚglobalsÚ	co_fieldsÚresults       r|   Úfx_forward_from_src_skip_resultr¤   Î   s#   € ô ' s¨G°YÓ?€FÜˆf�o‰oÔØ€Mr{   c                óR   ‡ — t        j                  ‰ «      dˆ fd„«       }‰ |_        |S )zê
    Context manager to:
        1) Save/restore torch.is_grad_enabled() state
        2) Save/restore python random state
        3) Save/restore torch random state
        4) Monkey patch torch.fx.graph_module._forward_from_src
    c                 ó  •— t        «       }t        j                  «       }t        j                  j	                  «       5  t        j
                  «       }t        j                  «       }t        j                  «       }t        j                  j                  «       }t        j                  «       }t        j                  «       }	t        j                  j                  «       }
d }t        j                  j                  «       rt        j                  j                  «       }t        j                  j                  «       }t        j                   j"                  j$                  }t&        t        j                   j"                  _        t)        «       }t+        j,                  «       }|j/                  t        j                   j0                  j3                  «       «       |j/                  t4        «       	  ‰| i |¤Ž|j7                  «        t        j                  j9                  «       dk(  sJ d«       ‚|j7                  «        t        j                  j;                  |«       t        j<                  j>                  jA                  |«       t        jB                  ||¬«       t        jD                  |«       t        j                  jG                  |
«       t        jH                  |	«       t        j                  j                  «       }||k7  rt        j                  jK                  «        |�t        j                  jG                  |«       t        j                  jM                  |«       |t        j                   j"                  _        |jO                  «       sJ d|jQ                  «       › d�«       ‚cd d d «       S # |j7                  «        t        j                  j9                  «       dk(  sJ d«       ‚|j7                  «        t        j                  j;                  |«       t        j<                  j>                  jA                  |«       t        jB                  ||¬«       t        jD                  |«       t        j                  jG                  |
«       t        jH                  |	«       t        j                  j                  «       }||k7  rt        j                  jK                  «        |�t        j                  jG                  |«       t        j                  jM                  |«       |t        j                   j"                  _        |jO                  «       sJ d|jQ                  «       › d�«       ‚w xY w# 1 sw Y   y xY w)Nr   zQTorch function mode stack state changed while dynamo tracing, please report a bug)Ú	warn_onlyzGlobal z7state changed while dynamo tracing, please report a bug))r   ÚtorchÚis_grad_enabledÚ_CÚ_PreserveDispatchKeyGuardÚis_inference_mode_enabledÚ$are_deterministic_algorithms_enabledÚ-is_deterministic_algorithms_warn_only_enabledÚ$_is_default_mobile_cpu_allocator_setÚrandomÚgetstateÚget_default_dtypeÚget_rng_stateÚcudaÚis_availableÚ_get_cublas_allow_tf32ÚfxÚgraph_moduler   r¤   re   Ú
contextlibÚ	ExitStackÚenter_contextÚ_symbolic_traceÚ_maybe_revert_all_patchesri   ÚcloseÚ_len_torch_function_stackÚ_set_grad_enabledÚautogradÚ	grad_modeÚ_enter_inference_modeÚuse_deterministic_algorithmsÚsetstateÚset_rng_stateÚset_default_dtypeÚ#_unset_default_mobile_cpu_allocatorÚ_set_cublas_allow_tf32ÚcheckÚreason)ÚargsÚkwargsÚguardsÚprior_grad_modeÚprior_inference_modeÚprior_deterministicÚprior_warn_onlyÚprior_mobile_allocator_stateÚpy_rng_stateÚprior_dtypeÚtorch_rng_stateÚcuda_rng_stateÚ
allow_tf32Úprior_fwd_from_srcÚcleanupÚ
exit_stackÚcurr_mobile_allocator_stateÚfns                    €r|   Ú_fnz"preserve_global_state.<locals>._fnâ   sò  ø€ ä!Ó#ˆÜ×/Ñ/Ó1ˆô
 �X‰X×/Ñ/Ó1ñ 1	Ü#(×#BÑ#BÓ#DÐ Ü"'×"LÑ"LÓ"NÐÜ#×QÑQÓSˆOä—‘×=Ñ=Ó?ð )ô "Ÿ?™?Ó,ˆLÜ×1Ñ1Ó3ˆKÜ#Ÿl™l×8Ñ8Ó:ˆOØ!ˆNÜ�z‰z×&Ñ&Ô(Ü!&§¡×!9Ñ!9Ó!;�ÜŸ™×8Ñ8Ó:ˆJÜ!&§¡×!6Ñ!6×!HÑ!HÐÜ6UŒE�H‰H×!Ñ!Ô3Ü)Ó+ˆGÜ#×-Ñ-Ó/ˆJØ×$Ñ$Ü—‘×(Ñ(×BÑBÓDôð ×$Ñ$Ô%HÔIðÙ˜4Ð* 6Ñ*à—‘”Ü—x‘x×9Ñ9Ó;¸qÒ@ð ØgóÐ@ð × Ñ Ô"Ü—‘×*Ñ*¨?Ô;Ü—‘×(Ñ(×>Ñ>Ð?SÔTÜ×2Ñ2Ø'°?õô —‘ Ô-Ü—‘×*Ñ*¨?Ô;Ü×'Ñ'¨Ô4ä—H‘H×AÑAÓCð ,ð 0Ð3NÒNÜ—H‘H×@Ñ@ÔBØ!Ð-Ü—J‘J×,Ñ,¨^Ô<Ü—‘×/Ñ/°
Ô;Ø:L”—‘×%Ñ%Ô7Ø—|‘|”~ð Ø˜fŸm™m›oÐ.Ð.eÐfó�~÷_1	ñ 1	øð2 —‘”Ü—x‘x×9Ñ9Ó;¸qÒ@ð ØgóÐ@ð × Ñ Ô"Ü—‘×*Ñ*¨?Ô;Ü—‘×(Ñ(×>Ñ>Ð?SÔTÜ×2Ñ2Ø'°?õô —‘ Ô-Ü—‘×*Ñ*¨?Ô;Ü×'Ñ'¨Ô4ä—H‘H×AÑAÓCð ,ð 0Ð3NÒNÜ—H‘H×@Ñ@ÔBØ!Ð-Ü—J‘J×,Ñ,¨^Ô<Ü—‘×/Ñ/°
Ô;Ø:L”—‘×%Ñ%Ô7Ø—|‘|”~ð Ø˜fŸm™m›oÐ.Ð.eÐfó‘~ú÷_1	ð 1	ús&   ¾F.U5Ç-N7Ç4F9U5Î7F;U2Õ2U5Õ5U>©rÌ   z_P.argsrÍ   z	_P.kwargsr™   rs   )Ú	functoolsÚwrapsÚ_torchdynamo_orig_callable)rÝ   rÞ   s   ` r|   Úpreserve_global_staterã   Ù   s0   ø€ ô ‡_�_�RÓô8ó ð8ðt &(€CÔ"Ø€Jr{   c                óp  ‡‡— | j                   t        v ry| j                   j                  D ]‚  }|| j                  v sŒ| j                  |   }t	        |t
        «      r%|j                  j                  d«      s|t        u r yt        sŒ]t        j                  sŒn|t        u st        |«      sŒ‚ y i Šdˆˆfd„Š| j                  j                  «       D ]  } ‰|«      sŒ y t        j!                  d| j                   j"                  | j                   j$                  | j                   j&                  «       y)z+Check if the frame has torch.* related bitsTztorch.c           	     ó˜  •‡ — t        ‰ «      }|‰v r‰|   S d‰|<   t        ‰ t        j                  t        j                  j
                  f«      s4t        ‰ t        «      r.t        ‰ t        j                  j
                  «      r
d‰|<   ‰|   S t        j                  rDt        r>t        ‰ t        j                  «      st        ‰ t        j                  «      r
d‰|<   ‰|   S t        ‰ t        t        f«      rt!        ˆfd„‰ D «       «      ‰|<   ‰|   S t        ‰ t"        «      r5t        ‰ j%                  «       «      }t!        ˆfd„|D «       «      ‰|<   ‰|   S t        ‰ t&        t(        t*        t        d«      t,        f«      r
d‰|<   ‰|   S t/        ‰ «      r3t1        ‰ d«      r't!        ˆˆ fd„‰ j2                  D «       «      ‰|<   ‰|   S y)z)Recursively check if the obj has a tensorFTc              3  ó.   •K  — | ]  } ‰|«      –— Œ y ­wr€   rz   ©Ú.0ÚvÚ
has_tensors     €r|   ú	<genexpr>z:has_tensor_in_frame.<locals>.has_tensor.<locals>.<genexpr>J  s   øè ø€ Ò">°Q¡:¨a§=Ñ">ùó   ƒc              3  ó.   •K  — | ]  } ‰|«      –— Œ y ­wr€   rz   rç   s     €r|   rë   z:has_tensor_in_frame.<locals>.has_tensor.<locals>.<genexpr>Q  s   øè ø€ Ò"A°Q¡:¨a§=Ñ"Aùrì   NÚ_fieldsc              3  óB   •K  — | ]  } ‰t        ‰|«      «      –— Œ y ­wr€   )Úgetattr)rè   ré   rê   r“   s     €€r|   rë   z:has_tensor_in_frame.<locals>.has_tensor.<locals>.<genexpr>W  s   øè ø€ Ò"TÀ1¡:¬g°c¸1«o×#>Ñ"Tùs   ƒ)r�   Ú
isinstancer¨   ÚTensorÚnnÚModulera   ÚtypeÚ
issubclassr'   Útrace_numpyrj   ÚndarrayÚgenericÚlistÚtupleÚanyÚdictÚvaluesÚstrÚintÚfloatr›   r`   Úhasattrrî   )r“   Úobj_idrþ   rê   rƒ   s   `  €€r|   rê   z'has_tensor_in_frame.<locals>.has_tensor6  s‚  ù€ ä�C“ˆØ�XÑØ˜FÑ#Ð#Ø ˆ�Ñä�cœEŸL™L¬%¯(©(¯/©/Ð:Ô;Ü�3œÔ¤*¨S´%·(±(·/±/Ô"Bà#ˆH�VÑØ˜FÑ#Ð#ä×ÒÝÜ˜œRŸZ™ZÔ(¬J°s¼B¿J¹JÔ,Gà#ˆH�VÑØ˜FÑ#Ð#Ü�Cœ$¤˜Ô'Ü"Ó">¸#Ô">Ó>ˆH�VÑØ˜FÑ#Ð#Ü�CœÔô ˜#Ÿ*™*›,Ó'ˆFÜ"Ó"A¸&Ô"AÓAˆH�VÑØ˜FÑ#Ð#Ü�Cœ#œs¤E¬4°«:´tÐ<Ô=Ø$ˆH�VÑØ˜FÑ#Ð#Ü˜3Ô¤G¨C°Ô$;Ü"Ô"TÈÏÉÔ"TÓTˆH�VÑØ˜FÑ#Ð#ð r{   z0skipping because no torch.* %s             %s %sF)r“   Úobjectr™   r›   )Úf_coder6   Úco_namesÚ	f_globalsrñ   r   rw   Ú
startswithr¨   rj   r'   r÷   rR   Úf_localsrþ   ÚlogÚdebugÚco_nameÚco_filenameÚco_firstlineno)Úframer  r“   Úvaluerê   rƒ   s       @@r|   Úhas_tensor_in_framer  !  sþ   ù€ ð ‡|�|Ô3Ñ3Øð —<‘<×(Ñ(ò 	ˆØ�e—o‘oÒ%Ø—/‘/ 'Ñ*ˆCÜ˜#œzÔ*Ø—‘×'Ñ'¨Ô1°S¼E±\áæ”f×(Ó(¨c´R©i¼8ÀC½=Ùð	ð !#€Hö(ðV —‘×&Ñ&Ó(ò ˆÙ�eÕÙðô ‡I�Ið	à�‰×ÑØ�‰× Ñ Ø�‰×#Ñ#ôð r{   c                óŒ   — d }t        | d«      r)t        | |«      }t        || j                  «       || _        t        | |¬«       y )NÚexec_record©Úexport)r  r]   rh   r  Úrecord_filenamer:   )ÚeÚcoder  r  r  s        r|   Úexception_handlerr  p  s?   € ð €OÜˆq�-Ô Ü.¨q°$Ó7ˆÜ˜_¨a¯m©mÔ<Ø+ˆÔä˜ &Ö)r{   z/typing.Counter[Union[int, FrameStateSizeEntry]]ÚFRAME_COMPILE_COUNTERc                ó<   — t         j                  rt        | «      S | S r€   )r'   ÚcprofileÚcprofile_wrapper)Úfuncs    r|   Úmaybe_cprofiler  …  s   € Ü‡‚Ü Ó%Ð%Ø€Kr{   c                óD   ‡ — t        j                  ‰ «      dˆ fd„«       }|S )Nc                 óP  •‡— t        j                  «       }|sJ d«       ‚t        d‰j                  › dt	        |«      j                  dd«      › d�«      }t        j                  «       }|j                  «        t        j                  «       } |j                  ‰g| ¢­i |¤Ž}t        j                  «       |z
  }|j                  «        t        j                  d‰j                  ||«       t        j                  |«      }	 |j!                  |«       t        j                  d|«       |j'                  d	«      }		 t)        j*                  d
dddddt	        |«      gt(        j,                  ¬«      }
t)        j.                  dddt	        |	«      g|
j0                  ¬«       t        j                  d|	«       t?        t	        |«      «      xŠr#t@        jB                  jE                  dˆfd„«       |S # t"        $ r t        j%                  d|«       Y Œýw xY w# t2        $ rˆ t        j                  d«       |j5                  t        j6                  j8                  «      j;                  d«       |j5                  t        j6                  j<                  «      j;                  d«       Y Œðw xY w)NzTrace id is Nonez/tmp/rŠ   ú/z.profilez7### Cprofile for %s trace id [%s] took %.3f seconds ###zCannot write to %szRaw profile at %sz.svgÚ	gprof2dotz-fÚpstatsz"--node-label=total-time-percentagez!--node-label=self-time-percentagez--node-label=total-time)ÚstdoutÚdotz-Tsvgz-o)Ústdinz Generated SVG from profile at %szxFailed to generate SVG from profile -- dumping stats instead.Try installing gprof2dot and dot for a better visualizationé   Úlinkc                 ó   •— d‰ dœS )NÚcprofile_manifold_url)ÚnameÚurlrz   )Úmanifold_links   €r|   rŒ   z;cprofile_wrapper.<locals>.profile_wrapper.<locals>.<lambda>Å  s   ø€ Ð!8ÀÑO€ r{   )#r   Úcurrent_trace_idr   rw   rÿ   ÚreplaceÚcProfileÚProfileÚenableÚtimeÚruncallÚdisabler
  Úwarningr$  ÚStatsÚ
dump_statsÚPermissionErrorÚ	exceptionÚwith_suffixÚ
subprocessÚPopenÚPIPEÚ
check_callr%  ÚFileNotFoundErrorÚ
sort_statsÚSortKeyÚTIMEÚprint_statsÚ
CUMULATIVEr   r¨   Ú_loggingÚtrace_structured)rÌ   rÍ   Útrace_idÚprofile_pathÚprofÚstart_tsÚretvalÚprofile_latencyÚpsÚsvg_pathÚgprof2dot_processr.  r  s              @€r|   Úprofile_wrapperz)cprofile_wrapper.<locals>.profile_wrapperŒ  sH  ù€ ä!×2Ñ2Ó4ˆÙÐ+Ð+Ó+ˆxÜØ�D—M‘M�? !¤C¨£M×$9Ñ$9¸#¸sÓ$CÐ#DÀHÐMó
ˆô ×ÑÓ!ˆØ�‰ŒÜ—9‘9“;ˆØ�—‘˜dÐ4 TÒ4¨VÑ4ˆÜŸ)™)›+¨Ñ0ˆØ�‰ŒÜ�‰ØEØ�M‰MØØô		
ô �\‰\˜$Óˆð	>Ø�O‰O˜LÔ)ô 	�‰Ð'¨Ô6Ø×+Ñ+¨FÓ3ˆð	EÜ *× 0Ñ 0àØØØ8Ø7Ø-Ü˜Ó%ðô "—‘ô!Ðô ×!Ñ!Ø˜ ¤s¨8£}Ð5Ø'×.Ñ.õô �K‰KÐ:¸HÔEô @Ü�Óó
ð 
ˆ=ð 
ô �N‰N×+Ñ+ØÛOôð ˆøôK ò 	>Ü�M‰MÐ.°Ö=ð	>ûô, !ò 	EÜ�K‰KðNôð �M‰Mœ&Ÿ.™.×-Ñ-Ó.×:Ñ:¸2Ô>Ø�M‰Mœ&Ÿ.™.×3Ñ3Ó4×@Ñ@ÀÖDð	Eús&   ÄG/ Ä;A9H Ç/HÈHÈBJ%Ê$J%rß   )rà   rá   )r  rR  s   ` r|   r  r  ‹  s'   ø€ Ü‡_�_�TÓô:ó ð:ðx Ðr{   c                  ód   — e Zd Z	 	 	 d	 	 	 	 	 	 	 	 	 dd„Zed	d„«       Zddœ	 	 	 	 	 	 	 	 	 	 	 d
d„Zy)ÚConvertFrameAssertNc                óP   — t        «        || _        || _        || _        || _        y r€   )rd   râ   Ú
_one_graphÚ_exportÚ_export_constraints)r…   Úcompiler_fnÚ	one_graphr  Úexport_constraintss        r|   r†   zConvertFrameAssert.__init__Í  s(   € ô 	&Ô'Ø*5ˆÔ'Ø#ˆŒØˆŒØ#5ˆÕ r{   c                ó   ‡ — ˆ fd„S )Nc                ó\   •— t        | ‰j                  ‰j                  ‰j                  «      S r€   )Úconvert_frame_assertrV  rW  rX  ©Úbackendr…   s    €r|   rŒ   z8ConvertFrameAssert._clone_with_backend.<locals>.<lambda>Ý  s'   ø€ Ô3ØØ�O‰OØ�L‰LØ×$Ñ$ó	 
€ r{   rz   r„   s   `r|   Ú_clone_with_backendz&ConvertFrameAssert._clone_with_backendÛ  s   ø€ ó
ð 	
r{   r   ©Úskipc               óª  — t        «        |j                  }t        ||«      }t        j	                  |«       |t
        v r
t        «       S t        j                  j                  d«      r6t        j                  j                  d«      |j                  k7  r
t        «       S |j                  dk(  r%|j                  j                  d«      r
t        «       S |j                  dk(  r
t        «       S |j                  dk(  rZ|j                  j                  t        j                  j                  t         j"                  j$                  «      «      r
t        «       S |j                  dk(  r|j                  dk(  r
t        «       S |j                  dk(  r.|j                  dk(  rt'        |j(                  «      s
t        «       S t+        |«      r t-        d	d
ddgt.        j0                  ¢¬«       t3        |«      s
t        «       S t5        «       ad|vrt8        |d<   t8        dz  a|d   }t;        |t<        «      sJ ‚t>        |   }	t>        |xx   dz  cc<   d }
tA        jB                  «       x}r|jD                  }
tG        |
||	¬«      }tI        dd|j                  |tK        |«      |j                  |jL                  |jN                  |jP                  dœ«       |j                  j                  tR        «      sG|j                  › d|j                  › d|jL                  › �}tT        jV                  jY                  |«       t[        tA        |«      «      5  t]        |j                  |j^                  |j`                  |j(                  |jb                  | jd                  | jf                  | jh                  | jj                  |||||||dz   ¬«      cd d d «       S # 1 sw Y   y xY w)NÚTORCHDYNAMO_DEBUG_FUNCTIONz	<genexpr>)ztransformers/file_utils.pyztransformers/utils/generic.pyzdiffusers/utils/outputs.pyÚ__setattr__r†   z<module>ú<string>z<lambda>zAttempt to trace generatorÚ z<Generators cannot be compiled directly with `torch.compile`.zbCall a generator from inside of a non-generator Python function and compile that function instead.©Úgb_typeÚcontextÚexplanationÚhintsÚ_idr&   )Úcompiled_autograd_idÚframe_idÚframe_compile_idÚdynamoz_convert_frame_assert._compile)r  rp  Ú
compile_idr  r  Ú
cache_sizeÚaccumulated_cache_sizeú ú:)Úframe_staters  rc  )6r_   r  r3   Úinput_codesr‘   Úoutput_codesrS   ÚosÚenvironÚgetr  r  Úendswithr  ÚpathÚdirnamer¨   ÚoptimÚ__file__r›   Ú
f_builtinsr/   rD   r)   ÚFUNDAMENTALr  r   rœ   ÚFRAME_COUNTERrñ   r   r  r   Úcurrent_compile_idro  r   r   rÿ   r  Ú+num_cache_entries_with_same_id_matched_objsÚnum_cache_entriesrL   r7   Útraced_frame_infosr�   r   Ú_compiler  r	  Úclosurerâ   rV  rW  rX  )r…   r  Úcache_entryÚhooksrx  rc  r  rt  rp  rq  ro  Úpriorrs  Úinfos                 r|   Ú__call__zConvertFrameAssert.__call__ä  sS  € ô 	Ôà�|‰|ˆä'¨¨{Ó;ˆ
Ü�‰˜ÔØ”<ÑÜ%Ó'Ð'ä�J‰J�N‰NÐ7Ô8Ü—
‘
—‘Ð;Ó<ÀÇÁÒLä%Ó'Ð'Ø�<‰<˜;Ò&¨4×+;Ñ+;×+DÑ+Dðô,
ô &Ó'Ð'Ø�<‰<˜=Ò(ô &Ó'Ð'Ø�<‰<˜:Ò%¨$×*:Ñ*:×*EÑ*EÜ�G‰G�O‰OœEŸK™K×0Ñ0Ó1ô+
ô
 &Ó'Ð'ð
 �<‰<˜:Ò%¨$×*:Ñ*:¸jÒ*HÜ%Ó'Ð'ð �L‰L˜JÒ&Ø× Ñ  JÒ.Ü˜×)Ñ)Ô*ô &Ó'Ð'ä˜ÔÜØ4ØØZð5ðô '×2Ñ2ðõ		ô # 5Ô)Ü%Ó'Ð'ô  0Ó1Ðð ˜Ñ#Ü!.ˆK˜ÑÜ˜QÑˆMØ˜uÑ%ˆÜ˜(¤CÔ(Ð(Ð(ä0°Ñ:ÐÜ˜hÓ'¨1Ñ,Ó'à#ÐÜ"×5Ñ5Ó7Ð7ˆ5Ð7Ø#(×#=Ñ#=Ð ÜØ!5ØØ-ô
ˆ
ô 	ØØ,àŸ<™<Ø$Ü! *›oØ#×/Ñ/Ø"&×"5Ñ"5Ø(×TÑTØ*4×*FÑ*Fñô	
ð �|‰|×&Ñ&Ô'DÔEØ—l‘l�^ 1 T×%5Ñ%5Ð$6°a¸×8KÑ8KÐ7LÐMˆDÜ×)Ñ)×0Ñ0°Ô6äœ^¨JÓ7Ó8ñ 	ÜØ—‘Ø—‘Ø—‘Ø× Ñ Ø—‘Ø×/Ñ/Ø—‘Ø—‘Ø×(Ñ(ØØØØØ'Ø%Ø˜A‘Xô!÷	÷ 	ò 	ús   ÍA8O	Ï	O©TFN)
rY  rk   rZ  r›   r  r›   r[  úOptional[typing.Never]r™   rš   )r™   z*Callable[[CompilerFn], ConvertFrameAssert]©r  ro   rŒ  úOptional[CacheEntry]r�  rI   rx  ú*dict[str, Union[int, FrameStateSizeEntry]]rc  r   r™   rS   ©rw   rx   ry   r†   Úpropertyra  r�  rz   r{   r|   rT  rT  Ì  s¢   „ ð ØØ59ð6àð6ð ð6ð ð	6ð
 3ð6ð 
ó6ð ò
ó ð
ð ñCàðCð *ðCð ð	Cð
 @ðCð ðCð 
ôCr{   rT  c                ó   — t        | |||«      S )z&Fully convert a frame into an FX graph)rT  )rY  rZ  r  r[  s       r|   r^  r^  j  s   € ô ˜k¨9°fÐ>PÓQÐQr{   )ÚOrderedDict)ÚRemovableHandle)ÚOutputGraphzdict[int, BytecodeHook]Ú_bytecode_hooksc                óJ   — t        t        «      }| t        |j                  <   |S )zÂRegister hooks for bytecode generated by Dynamo. The hook can do some
    logging, as well as return a new code object to be used. Please refer
    to `BytecodeHook` for the hook signature.
    )rš  rœ  r�   )ÚhookÚhandles     r|   Úregister_bytecode_hookr   €  s!   € ô
 œ_Ó-€FØ!%„O�F—I‘IÑØ€Mr{   rb  c               óZ  ‡ ‡‡‡‡‡‡‡‡‡
‡‡‡‡-‡.‡/‡0‡1‡2‡3‡4‡5‡6‡7— ddl mŠ.m}mŠ7m} dŠ1d Š2d Š6t
        j                  j                  «       Š5t        	 	 	 	 	 	 d>ˆ.ˆˆˆ ˆˆ0ˆˆˆˆˆˆˆ2ˆ4ˆ5ˆ6ˆ7fd„«       }t        d¬«      	 	 	 	 	 	 	 	 	 	 d?ˆ-fd„«       }t        	 	 	 	 	 	 	 	 	 	 d?ˆ
ˆˆ0ˆ1ˆ2ˆ3fd„«       Š-t        «       }t        t        j                  «      5  t        t!        ‰«      «      5  t#        d	d
d
¬«      5  |5  t%        «       Š3t'        «       Š4t)        «       x}rt+        |t-        «       «      Š0nd Š0d }t/        |«      r|rt1        ‰
|«      }|sdn|d   }|j3                  d|i«       t5        |‰«      \  }}|r“d@d„}t6        j9                  d|t;        t        |«       |‰ «      |t<        «       t        j>                  rtA        |› d�«      ‚‰rtA        |› d�«      ‚tC        d«      rtE        |› d�«      ‚tG        dd|› �d|› d�g ¬«       t6        jI                  d‰ jJ                  ‰ jL                  ‰ jN                  ‰dz   djQ                  tS        jT                  d‰z   ¬«      jW                  «       «      «       tY        jZ                  t\        «      Š/t
        j^                  ja                  dˆ ˆ/ˆfd„«       tc        jd                  «       }d }d }d }d }t
        jf                  jh                  jj                  jm                  «        d } 	  |‰ ‰|	|«      } to        «        | t
        jf                  j                  jp                  r@ts        dd ¬!«      5  t6        ju                  d"«       tw        jx                  d#«       d d d «       ‰6ri ‰6jz                  _>        d#d$l4m?}! t�        |!«      }"|€ó‰2�ñtƒ        ‰2j„                  «      }#tƒ        ‰2j†                  j„                  «      }$‰2j‰                  «       }%tƒ        ‰2jŠ                  jŒ                  «      }&tƒ        ‰2jŽ                  «      }'‰2j�                  D �(ch c]  }(|(j’                  ’Œ })}(‰2j”                  D �(ch c]  }(|(j’                  ’Œ }*}(t
        jf                  jh                  jj                  j7                  «        nDd }#d }$d }%d }&d }'t%        i «      })t%        i «      }*t%        «       Š3tc        jd                  «       |z
  d%z  Š1i d&|"“d'‰ jJ                  “d(‰ jL                  “d)‰ jN                  “d*|j–                  “d+|j˜                  “d,|#“d-|$“d.|%“d/|&“d0|'“d1|“d2|“d3|“d4|“d5|)“d6|*“‰3‰1| d ut        jš                  t        jœ                  t        jž                  d
t¡        ‰1«      d7œ¥}+|j3                  |+«       cd d d «       cd d d «       cd d d «       cd d d «       S # 1 sw Y   �ŒDxY wc c}(w c c}(w # t¢        $ rî},t¥        |,«      j’                  }t�        |,«      }t§        |,‰ |‰¬8«       t
        j^                  ja                  d9d:„ d;„ ¬<«       t©        jª                  |,‰«      \  }}t­        |,t®        t°        t²        t´        t¶        t¸        |tº        |t¼        f
«      r‚ t¿        t¥        |,«      j’                  › d=t�        |,«      › �«      jÁ                  |,jÂ                  «      d ‚d },~,ww xY w# t
        jf                  j                  jp                  rMts        dd ¬!«      5  t6        ju                  d"«       tw        jx                  d#«       d d d «       n# 1 sw Y   nxY w‰6ri ‰6jz                  _>        d#d$l4m?}! t�        |!«      }"|€ÿ‰2�ýtƒ        ‰2j„                  «      }#tƒ        ‰2j†                  j„                  «      }$‰2j‰                  «       }%tƒ        ‰2jŠ                  jŒ                  «      }&tƒ        ‰2jŽ                  «      }'‰2j�                  D �(ch c]  }(|(j’                  ’Œ nc c}(w })}(‰2j”                  D �(ch c]  }(|(j’                  ’Œ nc c}(w }*}(t
        jf                  jh                  jj                  j7                  «        nDd }#d }$d }%d }&d }'t%        i «      })t%        i «      }*t%        «       Š3tc        jd                  «       |z
  d%z  Š1i d&|"“d'‰ jJ                  “d(‰ jL                  “d)‰ jN                  “d*|j–                  “d+|j˜                  “d,|#“d-|$“d.|%“d/|&“d0|'“d1|“d2|“d3|“d4|“d5|)“d6|*“‰3‰1| d ut        jš                  t        jœ                  t        jž                  d
t¡        ‰1«      d7œ¥}+|j3                  |+«       w xY w# 1 sw Y   nxY wd d d «       n# 1 sw Y   nxY wd d d «       n# 1 sw Y   nxY wd d d «       y # 1 sw Y   y xY w)ANr   )ÚbisectÚBisectValidationExceptionÚtranslation_validation_enabledÚValidationExceptiong        c                ó¬  •— ‰j                  «        t        «       }t        | ‰‰‰‰‰‰|‰‰‰	‰
‰‰|‰¬«      Š	 t        ‰j                  j
                  «      5  ‰j                  «       5  ‰j                  «        d d d «       d d d «       ‰j                  j!                  «        ‰j                  Š‰€J ‚‰j"                  sJ ‚‰j"                  | d d  |j%                  ‰j&                  «       t)        | «       t+        | «       t-        t/        | «      «      | d d  y # 1 sw Y   Œ¡xY w# 1 sw Y   Œ¥xY w# t        j                  $ r ‰j                  «        ‚ t        j                  t        j                  t        j                  f$ r ‚ t        $ r%  ‰«       r ‰‰j                  j                  «       ‚ w xY w# ‰j                  j!                  «        w xY w)N)rx  Úspeculation_logÚexn_vt_stackÚdistributed_state)ÚrestartrN   rO   r   ÚoutputÚtracing_contextÚset_current_txÚrunr(   ÚUnspecializeRestartAnalysisr˜   ÚSpeculationRestartAnalysisÚTensorifyScalarRestartAnalysisÚ	SkipFrameÚ	ExceptionÚ	shape_envÚcall_cleanup_hooksÚoutput_instructionsÚupdateÚcode_optionsr0   r-   r,   r+   )Úinstructionsr¸  r¨  r¢  Úbuiltinsr‹  r  rY  r©  r  r[  rx  r¡   ÚlocalsrZ  r«  r§  Útf_mode_stackÚtracerr¤  s      €€€€€€€€€€€€€€€€€r|   Ú	transformz_compile.<locals>.transform®  s¦  ø€ ð 	×ÑÔ!Ü%Ó'ˆÜ&ØØØØØØØØØØØØØ#Ø+Ø%Ø/ô!
ˆð&	/Ü˜Ÿ™×6Ñ6Ó7ñ ¸×9NÑ9NÓ9Pñ Ø—
‘
”÷÷ ð  �M‰M×,Ñ,Ô.à—‘ˆØÐ!Ð!Ð!Ø×)Ò)Ð)Ð)Ø ×4Ñ4ˆ‘QˆØ×Ñ˜F×/Ñ/Ô0Ü(¨Ô6Ü(¨Ô6Ü0Ô1AÀ,Ó1OÓPˆ‘Q‰÷3ð ú÷ ð ûä×.Ñ.ò 	Ø×!Ñ!Ô#Øä×*Ñ*Ü×.Ñ.Ü�M‰Mð
ò 	ð
 Üò 	Ù-Ô/Ù�v—}‘}×.Ñ.Ô/Øð	ûð
 �M‰M×,Ñ,Õ.úsH   ¸D1 ÁD%Á(DÁ9D%ÂD1 ÄD"	ÄD%Ä%D.Ä*D1 Ä1BF4Æ4F7 Æ7GÚcompile_inner)Ú
phase_namec                ó¾  •— t        j                  «       5 }|j                  t        ddd¬«      «       |j                  t	        d«      j                  «       «       |j                  t        j                  j                  j                  «       «       |j                  t        j                  «       «        ‰| |||«      cd d d «       S # 1 sw Y   t        «       S xY w)Nz_compile.compile_innerÚentire_frame_compileÚ!dynamo_cumulative_compile_time_us)rÀ  Údynamo_compile_column_usz#pytorch.wait_counter.dynamo_compile)r¹   rº   r»   r[   r    Úguardr¨   Ú_dynamoÚcallback_handlerÚinstall_callbacksrY   ÚrecordrS   )r  rZ  r�  r¾  ÚstackÚ_compile_inners        €r|   r¿  z_compile.<locals>.compile_innerå  sÃ   ø€ ô ×!Ñ!Ó#ð 	E uØ×ÑÜØ,Ø5Ø-Pôôð ×ÑÜÐBÓC×IÑIÓKôð ×Ñ¤§¡× >Ñ >× PÑ PÓ RÔSØ×ÑÔ =× DÑ DÓ FÔGÙ! $¨	°5¸)ÓD÷	E÷ 	Eñ 	Eô  Ó ð	
ús   –B*C
Ã
Cc           	     óä  •— t        j                   «       x}}	 	 	 	 	 	 	 	 	 	 	 	 dd„} |d| j                  | j                  | j                  | «       d }t	        j
                  «       D ])  }|t        j                  «       _        	 t        | |«      } n ‰�‰j:                  €J d«       ‚|€J ‚ |d| j                  | j                  | j                  |«       t<        j?                  «       D ]  }
 |
| |«      }|€Œ|}Œ | t@        |<   tB        j+                  |«       ||z
  Š‰€J ‚dd„}|€J ‚ || «      } ||«      }d}|d| jD                  d | › d�z  }|d|jD                  d | › �z  }| jD                  d | |jD                  d | k(  sJ |«       ‚d}|d| jF                  › d�z  }|d|jF                  › �z  }| jF                  |jF                  k(  sJ |«       ‚d}|d| jH                  › d�z  }|d|jH                  › �z  }| jH                  |jH                  k(  sJ |«       ‚‰jJ                  r‰jM                  «       r
t9        «       S ‰jN                  €J ‚‰jP                  tR        jT                  |<   tW        | ‰‰|r|jX                  nd «      }‰�t/        ‰«      nd}d|z   }t[        ||j\                  ‰|«      }‰jM                  «       s'|j^                  �|j_                  ‰jN                  «       ta        |«      S # t        j                  $ rÀ}	t        |	t        j                  «      st        j                  «        t         j#                  dt%        t&        |	j(                  «      «       ‰j+                  |	j,                  xs t/        t1        |	«      «      «       t        j                   «       }|dkD  rt3        dddg ¬«       Y d }	~	�Œ_d }	~	wt        j4                  $ r’}	t        |	t        j                  «      st        j                  «        t         j7                  d	|	| j                  | j                  | j                  «       |rt         j7                  d
«       t9        «       cY d }	~	c S d }	~	ww xY w)Nc           	     ó�   — t         j                  t        j                  «      r#t         j	                  t        | ||||«      «       y y r€   )Úbytecode_logÚisEnabledForÚloggingÚDEBUGr  r\   )Úprefixr,  ÚfilenameÚline_nor  s        r|   Úlog_bytecodez6_compile.<locals>._compile_inner.<locals>.log_bytecode	  s9   € ô ×(Ñ(¬¯©Ô7Ü×"Ñ"Ü# F¨D°(¸GÀTÓJõð 8r{   zORIGINAL BYTECODEzRestarting analysis due to %séd   z!Excessive RestartAnalysis() callsrh  z’Dynamo attempted to trace the same frame 100+ times. Giving up on compiling as the compile time tradeoff is likely not worth the performance gain.ri  z.Skipping frame %s %s                     %s %sz%No graph captured with one_graph=Truez;compiler collective wasn't run before compilation completedzMODIFIED BYTECODEc                óÈ   — dd l }| j                  | j                  z   t        | j                  |j
                  z  «      z   t        | j                  |j                  z  «      z   S )Nr   )ÚinspectÚco_argcountÚco_kwonlyargcountr›   Úco_flagsÚ
CO_VARARGSÚCO_VARKEYWORDS)r  rØ  s     r|   Ú
count_argsz4_compile.<locals>._compile_inner.<locals>.count_args^  s]   € Ûð × Ñ Ø×(Ñ(ñ)ä�t—}‘} w×'9Ñ'9Ñ9Ó:ñ;ô �t—}‘} w×'=Ñ'=Ñ=Ó>ñ?ðr{   zarg mismatch: zold code object has args z, znew code object has args zfree var mismatch: zold code object has free var znew code object has free var zcell var mismatch: zold code object has cell var znew code object has cell var ÚUnknownzTorch-Compiled Region: )rÒ  rÿ   r,  rÿ   rÓ  rÿ   rÔ  r   r  r   r™   rš   ©r  r   r™   r   )1r4  r  r  r  Ú	itertoolsÚcountr   r}  Úattemptr1   r(   ÚRestartAnalysisrñ   r±  r   r˜   r
  r�  rb   r%   Ú__traceback__r‘   Úrestart_reasonrÿ   rõ   rD   r²  r  rS   Ú
all_statesrœ  rþ   rc   rz  Úco_varnamesÚco_freevarsÚco_cellvarsr  Úis_empty_graphrÎ   ÚcleanupsrX   ÚinstancerF   Úguard_fail_fnrH   Úguard_managerÚguard_export_fnrV   )r  rZ  r�  r¾  Úlast_attempt_start_timeÚ
start_timerÕ  Úout_coderã  r  rž  Úhook_outputrÞ  Útotal_argcount_oldÚtotal_argcount_newÚmsgÚcheck_fnÚcompile_id_strÚannotation_strÚguarded_coderŒ  rs  r©  Údynamo_time_before_restartr«  Úrestart_reasonss                       €€€€€€r|   rË  z _compile.<locals>._compile_innerÿ  s¼  ø€ ô 04¯y©y«{Ð:Ð *ð	Øð	Ø"ð	Ø.1ð	Ø<?ð	ØGOð	àó	ñ 	ØØ�L‰LØ×ÑØ×ÑØô	
ð ˆÜ —‘Ó(ò &	,ˆGØ+2ŒN×ÑÓ Ô(ð$,Ü0°°yÓA�Ùð	&	,ðP !Ð(Ð,=×,HÑ,HÐ,Tð 	
ØIó	
ÐTð Ð#Ð#Ð#ÙØØ�L‰LØ×ÑØ×ÑØô	
ô $×*Ñ*Ó,ò 	'ˆDÙ˜t XÓ.ˆKØÑ&Ø&‘ð	'ð
 #'Œ�hÑÜ×Ñ˜Ô"Ø%<¸zÑ%IÐ"ØÐ!Ð!Ð!ó	ð Ð#Ð#Ð#á'¨Ó-ÐÙ'¨Ó1ÐØˆØÐ*¨4×+;Ñ+;Ð<OÐ=OÐ+PÐ*QÐQSÐTÑTˆØÐ*¨8×+?Ñ+?Ð@SÐASÐ+TÐ*UÐVÑVˆà×ÑÐ0Ð0Ð1Ø×#Ñ#Ð$7Ð%7Ð8ò9ð	ð ó	ð9ð $ˆØÐ.¨t×/?Ñ/?Ð.@ÀÐCÑCˆØÐ.¨x×/CÑ/CÐ.DÐEÑEˆØ×Ñ 8×#7Ñ#7Ò7Ð<¸Ó<Ð7à#ˆØÐ.¨t×/?Ñ/?Ð.@ÀÐCÑCˆØÐ.¨x×/CÑ/CÐ.DÐEÑEˆØ×Ñ 8×#7Ñ#7Ò7Ð<¸Ó<Ð7ð �=Š=˜V×2Ñ2Ô4Ü%Ó'Ð'à�}‰}Ð(Ð(Ð(Ø,2¯O©OŒ×Ñ Ñ)ä'ØØØÙ#(ˆE×Ò¨dó	
ˆð -7Ð,Bœ˜ZœÈ	ˆØ2°^ÑCˆÜ"ØØ×"Ñ"ØØó	
ˆð ×$Ñ$Ô&¨5×+@Ñ+@Ð+Lð ×!Ñ! &§-¡-Ô0ä  Ó.Ð.øôG ×&Ñ&ò Ü! !¤S×%GÑ%GÔHÜ"×(Ñ(Ô*Ü—‘Ø3ÜÔ5°q·±ÓGôð
  ×#Ñ# A×$4Ñ$4Ò$D¼¼DÀ»G»ÔEä*.¯)©)«+Ð'Ø˜S’=Ü$Ø CØ "ð%6ð !õÿùô —=‘=ò ,Ü! !¤S×%GÑ%GÔHÜ"×(Ñ(Ô*Ü—	‘	ðàØ—L‘LØ×$Ñ$Ø×'Ñ'ôñ Ü—I‘IÐEÔFÜ)Ó+×+ûð,ús,   ÂK9Ë9Q/ÌB5OÏQ/ÏBQ*Ñ"Q/Ñ*Q/rr  T)Úreset_event_log_on_exitÚlog_pt2_compile_eventz$Unable to find recompilation reasonsÚrecompile_reasonc                óV   — d| j                   › d| j                  › d| j                  › d�S )Nú'z' (rw  ú))r  r  r  )r  s    r|   Úformat_func_infoz"_compile.<locals>.format_func_infoÁ  s0   € Ø˜4Ÿ<™<˜.¨¨D×,<Ñ,<Ð+=¸Q¸t×?RÑ?RÐ>SÐSTÐUÐUr{   z¬torch._dynamo hit config.%s (%s)
   function: %s
   last reason: %s
To log all recompilation reasons, use TORCH_LOGS="recompiles".
To diagnose recompilation issues, see %s.zK reached, because fail_on_recompile_limit_hit = True this is a HARD failurea1   reached with one_graph=True. Excessive recompilations can degrade performance due to the compilation overhead of each recompilation. To monitor recompilations, enable TORCH_LOGS=recompiles. If recompilations are expected, consider increasing torch._dynamo.config.cache_size_limit to an appropriate value.z;pytorch/compiler:skip_code_recursive_on_recompile_limit_hitz reachedzDynamo cache limit exceededzLimit type: zLDynamo attempted to recompile the code object too many times, exceeding the zo cache size limit.Giving up on compiling as the compile time tradeoff is likely not worth the performance gain.ri  zBtorchdynamo start compiling %s %s:%s, stack (elided %s frames):
%sé   rh  rb  Údynamo_startc                 ó.  •— dt        t        j                  ˆfd„t        j                  t        j                  d‰z   ¬«      j                  «       «      «      «      ‰ j                  ‰ j                  t        j                  ‰ j                  «      dœgz   iS )NrÊ  c                ó   •— | d   ‰k7  S )NrÓ  rz   )ÚfÚconvert_frame_interns    €r|   rŒ   z,_compile.<locals>.<lambda>.<locals>.<lambda>  s   ø€  ! J¡-Ð3GÑ"G€ r{   é   rb  )Úliner,  rÓ  )rú   rá  Ú	takewhiler   Úfrom_tracebackr$   ÚextractÚsummaryr  r  Úintern_stringr  )r  r
  rc  s   €€€r|   rŒ   z_compile.<locals>.<lambda>	  sƒ   ø€ ØœÜ×'Ñ'ÛGÜ"×1Ñ1Ü-×5Ñ5¸1¸t¹8ÔD×LÑLÓNóóóð !%× 3Ñ 3Ø $§¡Ü$.×$<Ñ$<¸T×=MÑ=MÓ$Nñðñð€ r{   ÚgcÚ
gc_time_us)rÄ  z run_gc_after_compile: running gcr&   )Ú
curr_frameg    eÍÍAÚ	frame_keyr  r  r  rt  ru  Úguard_countÚshape_env_guard_countÚgraph_op_countÚgraph_node_countÚgraph_input_countÚ	fail_typeÚfail_reasonÚfail_user_frame_filenameÚfail_user_frame_linenoÚnon_compliant_opsÚcompliant_custom_ops)rý  Údynamo_time_before_restart_sÚhas_guarded_codeÚconfig_suppress_errorsÚ config_inline_inbuilt_nn_modulesÚspecialize_floatÚ
is_forwardÚ%dynamo_compile_time_before_restart_usr  Úartifactc                 ó   — dddœS )NÚdynamo_errorÚstring©r,  Úencodingrz   rz   r{   r|   rŒ   z_compile.<locals>.<lambda>;  s   € Ø*Ø (ñ%€ r{   c                 ó*   — t        j                  «       S r€   ©Ú	tracebackÚ
format_excrz   r{   r|   rŒ   z_compile.<locals>.<lambda>?  s   € ¤9×#7Ñ#7Ó#9€ r{   ©Úmetadata_fnÚ
payload_fnz: )r¹  zlist[Instruction]r¸  údict[str, object]r™   rš   )
r  r   rZ  r›   r�  rI   r¾  z2Callable[[list[Instruction], dict[str, Any]], Any]r™   rS   )r  r   r™   rÿ   )bÚtorch.fx.experimental.validatorr¢  r£  r¤  r¥  r¨   Ú	overridesÚ _get_current_function_mode_stackrã   r   r  r^   r   r'   Úuse_lazy_graph_moduler   r   rW   r‚   rQ   r   rM   rP   r5   rG   Úupdate_outerr4   r
  r7  rð   rg   Úfail_on_recompile_limit_hitr<   r   r?   rD   r  r  r  r  Újoinr$   r  Úformatr   r  r‚  rG  rH  r4  Útime_nsrÆ  ÚutilsÚReinplaceCountersr˜   rJ   Úrun_gc_after_compiler[   r�  r  Úcollectr«  Úlocal_scoper  rÿ   ÚlenrÎ   r´  Úcount_callsÚgraphÚnodesÚplaceholdersr  ry   r   r‡  rˆ  Úsuppress_errorsÚinline_inbuilt_nn_modulesr%  rf   r³  rõ   r  r(   Úget_exc_messagerñ   rE   rB   r;   ÚAssertionErrorr   r   rC   r@   r>   Úwith_tracebackrå  )8r  r¡   r»  rº  r‹  rY  rZ  r  r[  r�  rŒ  rt  r  rx  rs  rc  r£  r¥  r¾  r¿  Úmetrics_contextÚ
compile_pgr   ÚreasonsÚexceededÚ
limit_typer  Ústart_time_nsr  r  r  r  rû  r  r  r  r  r  r  r  Úopr  r   Úmetricsr  rË  r¢  r
  r©  rü  r«  rý  r§  r¼  r½  r¤  s8   ````````` `  ```                             @@@@@@@@@@@r|   rŠ  rŠ  Š  sŽ
  ÿÿÿ€ ÷&ó ð ),ÐØ$(€FØ.2€Fô 	�‰×8Ñ8Ó:ð ô ð4QØ'ð4QØ7Hð4Qà	÷4Q÷ 4Qô 4Qó ð4Qôl #¨oÔ>ð
Øð
àð
ð ð
ð Fð	
ð
 
ô
ó ?ð
ô2 ðb/Øðb/àðb/ð ðb/ð Fð	b/ð
 
÷b/ñ b/ó ðb/ôH *Ó+€Oäœv×;Ñ;Ó<ñ|2äœ zÓ2Ó3ñ|2ô 	Ø¨dÈ$ô	
ñ|2ð 	ñ|2ô %(£Eˆä(Ó*ˆÜ'Ó)Ð)ˆ:Ð)Ü 0°¼Z»\Ó JÑà $Ðð +/ÐÜ˜JÔ'©EÜ=¸kÈ5ÓQˆGá>EÑ6È7ÐSTÉ:ð ð 	×$Ñ$Ð&8Ð:JÐ%KÔLä6°zÀ:ÓNÑˆ�*ÙóVô �K‰Kð<ð
 Üœ 
Ó+Ù  Ó&Ø Ü#ôô ×1Ò1Ü-Ø!�lÐ"mÐnóð ñ Ü-Ø!�lð #`ð `óð ô !ØMôô -°
¨|¸8Ð-DÓEÐEô !Ø9Ø*¨:¨,Ð7ð!%Ø%/ Lð 12ð!2ð õô 	�	‰	ØQØ�L‰LØ×ÑØ×ÑØ�1‰Hà�G‰GÔ%×-Ñ-°1°t±8Ô<×CÑCÓEÓFô	
ô4  *×7Ñ7¼ÓAÐä�‰×'Ñ'Øõô	
ô( Ÿ™›ˆØ#'ˆ	Ø%)ˆØ26Ð Ø04ÐÜ�‰×Ñ×-Ñ-×3Ñ3Ô5Øˆð	2Ù(¨¨y¸%ÀÓKˆLô Ôàô^ �}‰}×#Ñ#×8Ò8Ü! $ÀÔNñ "Ü—H‘HÐ?Ô@Ü—J‘J˜q”M÷"ñ Ø,.�—‘Ô)å)ä˜J›ˆIØÐ" vÐ'9Ü! &§-¡-Ó0�Ü(+¨F×,<Ñ,<×,CÑ,CÓ(DÐ%Ø!'×!3Ñ!3Ó!5�Ü#& v§|¡|×'9Ñ'9Ó#:Ð Ü$'¨×(;Ñ(;Ó$<Ð!Ø?E×?WÑ?WÖ$X¸ R§_£_Ð$XÐ!Ð$Xà.4×.IÑ.Iö(Ø(*�B—O“Oð(Ð$ð (ô —‘×#Ñ#×5Ñ5×9Ñ9Õ;à"�Ø(,Ð%Ø!%�Ø#'Ð Ø$(Ð!Ü$'¨£GÐ!Ü'*¨2£wÐ$Ü"%£%�ä.2¯l©l«n¸}Ñ.LÐPSÑ-SÐ*ðØ˜Yðà˜4Ÿ<™<ðð ˜t×/Ñ/ðð ! $×"5Ñ"5ð	ð
 ˜j×TÑTðð )¨*×*FÑ*Fðð ˜{ðð (Ð)>ðð ! .ðð #Ð$4ðð $Ð%6ðð ˜Yðð ˜{ðð +Ð,Dðð )Ð*@ðð  $Ð%6ð!ð" 'Ð(<ð#ð$ $3Ø0JØ$0¸Ð$<Ü*0×*@Ñ*@Ü4:×4TÑ4TÜ$*×$;Ñ$;Ø"Ü9BØ.ó:ò3ˆGð@ ×(Ñ(¨Ô1÷y|2÷ |2÷ |2÷ |2ô |2÷v"ñ "üò  %Yùò(øôA ò '	<ô ˜Q›×,Ñ,ˆIÜ˜a›&ˆKÜ˜a  u°VÕ<ä�N‰N×+Ñ+Øññ :ð ,ô ô @C×?RÑ?RØ�:ó@Ñ<Ð$Ð&<ô ØäÜ%Ü)Ü"Ü,Ü/Ø'Ü0Ø-Ü$ðôð ô /Ü˜A“w×+Ñ+Ð,¨B¬s°1«v¨hÐ7óç ‘. §¡Ó1°tð<ûðK'	<ûô\ �}‰}×#Ñ#×8Ò8Ü! $ÀÔNñ "Ü—H‘HÐ?Ô@Ü—J‘J˜q”M÷"÷ "ñ "úñ Ø,.�—‘Ô)å)ä˜J›ˆIØÐ" vÐ'9Ü! &§-¡-Ó0�Ü(+¨F×,<Ñ,<×,CÑ,CÓ(DÐ%Ø!'×!3Ñ!3Ó!5�Ü#& v§|¡|×'9Ñ'9Ó#:Ð Ü$'¨×(;Ñ(;Ó$<Ð!Ø?E×?WÑ?WÖ$X¸ R§_£_Ñ$XùÒ$XÐ!Ð$Xà.4×.IÑ.Iö(Ø(*�B—O“Oñ(ùò (Ð$ð (ô —‘×#Ñ#×5Ñ5×9Ñ9Õ;à"�Ø(,Ð%Ø!%�Ø#'Ð Ø$(Ð!Ü$'¨£GÐ!Ü'*¨2£wÐ$Ü"%£%�ä.2¯l©l«n¸}Ñ.LÐPSÑ-SÐ*ðØ˜Yðà˜4Ÿ<™<ðð ˜t×/Ñ/ðð ! $×"5Ñ"5ð	ð
 ˜j×TÑTðð )¨*×*FÑ*Fðð ˜{ðð (Ð)>ðð ! .ðð #Ð$4ðð $Ð%6ðð ˜Yðð ˜{ðð +Ð,Dðð )Ð*@ðð  $Ð%6ð!ð" 'Ð(<ð#ð$ $3Ø0JØ$0¸Ð$<Ü*0×*@Ñ*@Ü4:×4TÑ4TÜ$*×$;Ñ$;Ø"Ü9BØ.ó:ò3ˆGð@ ×(Ñ(¨Õ1ú÷y|2ð |2ú÷ |2÷ |2ñ |2ú÷ |2÷ |2ñ |2ú÷ |2÷ |2ñ |2úsö   Ãf!Ã#fÃ2e7Ã5He"	ÌWÌ1e"	Í+V:Í8B6e"	Ð.WÑe"	ÑWÑ$D1e"	Ö	e7Ö	fÖ'	f!Ö:WÖ?e"	×	[×C)[Û[Û[Û2eÛ=+\1Ü(	eÜ1\:Ü6B5eß+_?ß>eà`(à'D8eåe"	å"e+å'e7å.	få7f å<fæ	f!æf	æf!æ!f*c                  óT   — e Zd Z	 	 	 	 	 	 dd„Zedd„«       Z	 d	 	 	 	 	 	 	 	 	 	 	 dd„Zy)	ÚConvertFramec                óD   — || _         t        |d¬«      | _        || _        y )NF)rZ  )râ   r^  Ú_inner_convertÚ_hooks)r…   rY  r�  s      r|   r†   zConvertFrame.__init__¦  s"   € ð
 +6ˆÔ'Ü2°;È%ÔPˆÔØˆ�r{   c                ó   ‡ — ˆ fd„S )Nc                ó0   •— t        | ‰j                  «      S r€   )Úconvert_framerZ  r_  s    €r|   rŒ   z2ConvertFrame._clone_with_backend.<locals>.<lambda>±  s   ø€ œ}¨W°d·k±kÓB€ r{   rz   r„   s   `r|   ra  z ConvertFrame._clone_with_backend¯  s	   ø€ ãBÐBr{   c                óÆ  ‡— t         d   dxx   dz  cc<   	 | j                  |||||dz   ¬«      }t         d   dxx   dz  cc<   |S # t        $ �r}t        |t        «      r‚ t        |t
        «      }|rát        j                  t        j                  «      r¾t        |d«      r²t        |d«      r¦t        t        |j                  «      «      5  |j                  }	dj                  t!        j"                  |	«      «      }
d	|
› �Št$        j&                  j)                  d
d„ ˆfd„¬«       t        j+                  ‰d¬«       d d d «       n# 1 sw Y   nxY wt,        j.                  s|s‚ t1        |dd «      }|j2                  }t5        ||||«      }|rt6        j9                  |d¬«       nt6        j;                  |d¬«       t        |t<        «      r7t?        tA        tB        jD                  tB        jD                  «      ¬«      cY d }~S t        |tF        «      r7t?        tA        tB        jH                  tB        jH                  «      ¬«      cY d }~S Y d }~t?        «       S d }~ww xY w)NÚframesÚtotalr&   rb  Úokrs  Ú
real_stackrh  z&Graph break: skip: from user code at:
r(  c                 ó   — dddœS )NÚdynamo_graph_break_reasonr+  r,  rz   rz   r{   r|   rŒ   z'ConvertFrame.__call__.<locals>.<lambda>ç  s   € Ø(CØ,4ñ1€ r{   c                 ó6   •— ‰ › dt        j                  «       › �S )Nú
r/  )Úuser_stack_traces   €r|   rŒ   z'ConvertFrame.__call__.<locals>.<lambda>ë  s   ø€ Ð2BÐ1CÀ2Äi×FZÑFZÓF\ÐE]Ð/^€ r{   r2  T)Úexc_infor  )Úframe_exec_strategy)%rZ   rY  r³  rñ   rC   rE   Úgraph_break_logrÏ  rÐ  rÑ  r  r   r   rs  rb  r<  r0  Úformat_listr¨   rG  rH  r  r'   rI  rð   r  r=   r
  r�  r7  rA   rS   rU   rT   ÚSKIPr?   ÚRUN_ONLY)r…   r  rŒ  r�  rx  rc  r£   r  Ú	soft_failÚ
user_stackÚuser_stack_formattedr  r  Ú	error_msgrg  s                 @r|   r�  zConvertFrame.__call__³  s)  ø€ ô 	�Ñ˜7Ó# qÑ(Ó#ðQ	Ø×(Ñ(Ø�{ E¨;¸TÀA¹Xð )ó ˆFô �XÑ˜tÓ$¨Ñ)Ó$ØˆMøÜó K	ô ˜!Ô9Ô:Øä" 1¤kÓ2ˆIñ œ_×9Ñ9¼'¿-¹-ÔHô ˜1˜lÔ+´¸¸<Ô0HÜ(¬¸¿¹Ó)EÓFñ Ø%&§\¡\˜
Ø/1¯w©wÜ%×1Ñ1°*Ó=ó0Ð,ð .UÐUiÐTjÐ+kÐ(ÜŸ™×7Ñ7Ø&ñ)ó (_ð 8ô ô (×-Ñ-Ø,Ø%)ð .ô ÷÷ ñ úô& ×)Ò)±)Øô & aÐ):¸DÓAˆOØ—<‘<ˆDÜ(¨¨D°/À5ÓIˆIáÜ—‘˜¨T�Õ2ä—‘˜I°�Ô5ä˜!Ô7Ô8Ü)Ü(9Ü#×(Ñ(¬+×*:Ñ*:ó)ôõ ô
 ˜AÔ5Ô6Ü)Ü(9Ü#×,Ñ,¬k×.BÑ.Bó)ôõ ó 7ô "Ó#Ð#ûð[K	úsE   —.A Á
I ÁA<IÃA3EÄ?	IÅE	ÅB3IÈ I ÈAIÉI ÉI N)rY  rk   r�  rI   r™   rš   )r™   z*Callable[[WrapBackendDebug], ConvertFrame])r   r“  r–  rz   r{   r|   rW  rW  ¥  s…   „ ðàðð ðð 
ó	ð òCó ðCð ð\$àð\$ð *ð\$ð ð	\$ð
 @ð\$ð ð\$ð 
ô\$r{   rW  c                ó   — t        | |«      S )zHTry to convert a frame into an FX graph, if error leave frame unmodified)rW  )rY  r�  s     r|   r]  r]    s   € ä˜ UÓ+Ð+r{   c                ó`  — ddl m} t        j                  }dt        _        t	        | d«      5 }t        j                  |«      }d d d «       t        t        j                  j                  j                  «       t        «       j                  «       «      «      |_
        	 t        |j                  |j                  |j                  |j                  |j                   |ddd t#        «       t%        dd«      d d i t'        dd¬«      ¬	«       |t        _        y # 1 sw Y   ŒÑxY w# |t        _        w xY w)
Nr&   )ÚeagerFÚrbr   é*   iç  )rp  rq  )
rY  rZ  r  r[  r�  rt  rŒ  r  rx  rs  )Úbackends.debuggingrt  r'   Úreplay_record_enabledÚopenrK   Úloadrý   rá  Úchainr¡   ÚitemsrŠ  r  r»  rº  r‹  rI   r2   r   )rÓ  rt  Úoriginal_replay_valÚin_filerÉ  s        r|   Úreplayr    sê   € Ý)ä ×6Ñ6ÐØ#(„FÔ Ü	ˆh˜Ó	ð / Ü ×%Ñ% gÓ.ˆ÷/äœ)Ÿ/™/¨&¯.©.×*>Ñ*>Ó*@Ä'Ã)Ç/Á/ÓBSÓTÓU€F„Nð;ÜØ�K‰KØ�N‰NØ�M‰MØ�O‰OØ�N‰NØØØØ#Ü“'Ü0°°AÓ6ØØØÜ ¨"¸sÔCõ	
ð$ (;ŒÕ$÷//ð /ûð. (;ŒÕ$ús   ®DÂA)D  ÄDÄ D-c                ó´   — t         j                  dk  ryt        j                  | «      D ]"  }|j                  dk(  sŒ|j
                  dz  c S  t        d«      ‚)N)é   é   r   ÚRESUMEr  z$RESUME instruction not found in code)ÚsysÚversion_infoÚdisÚget_instructionsÚopnameÚoffsetÚRuntimeError)r  Úinsts     r|   Úfirst_real_inst_idxrŒ  7  sV   € Ü
×Ñ˜'Ò!ØÜ×$Ñ$ TÓ*ò $ˆØ�;‰;˜(Ó"Ø—;‘; !Ñ#Ò#ð$ô Ð=Ó
>Ð>r{   c                  ó0   — e Zd Zddœ	 	 	 	 	 	 	 	 	 	 	 dd„Zy)ÚConvertFrameProtocolr   rb  c                ó   — y r€   rz   )r…   r  rŒ  r�  rx  rc  s         r|   r�  zConvertFrameProtocol.__call__A  s   € ð !r{   Nr“  )rw   rx   ry   r�  rz   r{   r|   rŽ  rŽ  @  sG   „ ð ñ!àð!ð *ð!ð ð	!ð
 @ð!ð ð!ð 
ô!r{   rŽ  c                  ó,   — e Zd Zdd„Z	 	 	 	 	 	 	 	 dd„Zy)ÚCatchErrorsWrapperc                óV   —  t        j                  |«      | «       || _        || _        y r€   )rà   rá   râ   r�  )r…   Úcallbackr�  s      r|   r†   zCatchErrorsWrapper.__init__M  s$   € Ø!Œ	�‰˜Ó! $Ô'Ø*2ˆÔ'Øˆ�
r{   c           	     ó¶  — |€J ‚t        j                  |j                  «      }t        j                  dk\  r#|j
                  t        |j                  «      kD  }n"|j
                  t        |j                  «      k\  }|s5|s3t        j                  s#t        d¬«      r¼t        | j                  dd«      s¥t        j                  t        j                  «      rx|rd}n3t        j                  |j                  «      rd}nt        d¬«      rd}nd}t        j!                  d	|j                  j"                  ||j                  j$                  «       t'        «       S |j                  j$                  d
k(  r#|j                  j"                  dk(  r
t'        «       S t(        j*                  j,                  j/                  «       dk(  r«t1        j2                  «       }|r•t4        5  ddlm}  ||j:                  | j                  j                  ¬«      }	t=        | j                  d«      sJ d«       ‚| j                  j?                  |	j@                  «      }
 |
||| jB                  |«      cd d d «       S t4        5  tE        «       5  | j                  ||| jB                  |d¬«      cd d d «       cd d d «       S # 1 sw Y   ŒMxY w# 1 sw Y   nxY wd d d «       y # 1 sw Y   y xY w)N)r�  é   F)Úinclude_infra_modesrW  ztraced frame alreadyzin skipfileszSnon-infra torch dispatch mode present, this is not supported today in torch.compilezdynamo tracing is disabledz#skipping: %s (reason: %s, file: %s)rg  Ú__new__Úddp_optimizerr   )ÚDDPOptimizer)Úbucket_bytes_capÚbackend_compile_fnra  zJDDPOptimizer only supports callback fns that know how to clone themselves.r&   rb  )#r*   rÊ   r  r„  r…  Úf_lastirŒ  r'   r6  r#   rð   râ   r
  rÏ  rÐ  rÑ  r  r  r  rS   r¨   rÆ  r?  Úget_optimize_ddp_moder!   Ú_get_active_ddp_moduleÚcompile_lockÚ"torch._dynamo.backends.distributedr™  rš  r  ra  Ú
compile_fnr�  r"   )r…   r  rŒ  rx  Úis_skipfileÚhas_started_executionÚskip_reasonÚ
ddp_moduler™  r˜  Úhijacked_callbacks              r|   r�  zCatchErrorsWrapper.__call__R  sj  € ð Ð&Ð&Ð&ä!×'Ñ'¨¯©Ó5ˆÜ×Ñ˜wÒ&Ø$)§M¡MÔ4GÈÏÉÓ4UÑ$UÑ!à$)§M¡MÔ5HÈÏÉÓ5VÑ$VÐ!ñ "ÙÜ�~Š~ä)¸eÕDÜ × ?Ñ ?ÀÈEÔRô ×Ñ¤§¡Ô.Ù(Ø"8‘KÜ ×&Ñ& u§|¡|Ô4Ø"0‘KÜ.À5ÕIØ"w‘Kà">�Kä—	‘	Ø9Ø—L‘L×(Ñ(ØØ—L‘L×,Ñ,ô	ô &Ó'Ð'à�<‰<×#Ñ# zÒ1°e·l±l×6JÑ6JÈiÒ6Wä%Ó'Ð'Ü�=‰=×Ñ×4Ñ4Ó6¸/ÒIÜ0×GÑGÓIˆJÙÜ!ñ ÝOá$0Ø)3×)DÑ)DØ+/×+JÑ+J×+eÑ+eô%�Mô #Ø×7Ñ7Ð9Nôð ð eóð ð ×7Ñ7×KÑKØ)×4Ñ4óð &ñ
 -Ø˜{¨D¯J©J¸ó÷#ñ ô* ñ 	Ô1Ó3ñ 	à×2Ñ2Ø�{ D§J¡J°À!ð 3ó ÷	÷ 	ò 	÷+ð ú÷*	ð 	ú÷ 	÷ 	ñ 	ús1   ÇBJ.É0KÉ; J:Ê	KÊ.J7Ê:K	Ê?KËKN)r“  rŽ  r�  rI   r™   rš   )r  ro   rŒ  r”  rx  r•  r™   rS   )rw   rx   ry   r†   r�  rz   r{   r|   r‘  r‘  L  s8   „ óð
HàðHð *ðHð @ð	Hð
 
ôHr{   r‘  c                ó   — t        | |«      S r€   )r‘  )r“  r�  s     r|   Úcatch_errors_wrapperr¨  �  s   € ô ˜h¨Ó.Ð.r{   r€   )r    rÿ   r¡   zdict[str, Any]r¢   zOptional[dict[str, str]]r™   r   )rÝ   úCallable[_P, _T]r™   r©  )r  ro   r™   r›   )NF)
r  r³  r  r   r  úOptional[DynamoFrameType]r  r›   r™   rš   )r  r©  r™   r©  r‘  )
rY  rk   rZ  r›   r  r›   r[  r’  r™   rT  )rž  rm   r™   rš  )NN)"r  r   r¡   r5  r»  r5  rº  r5  r‹  ztuple[CellType]rY  rk   rZ  r›   r  r›   r[  r’  r�  rI   rŒ  r”  rt  r2   r  rª  rx  z4Optional[dict[str, Union[int, FrameStateSizeEntry]]]rs  r   rc  r   r™   rS   )rY  rk   r�  rI   r™   rW  )rÓ  rÿ   r™   rš   rà  )r“  rŽ  r�  rI   r™   r‘  )ÔÚ__doc__Ú
__future__r   Úcollectionsr¹   r1  r†  rà   r  rá  rÐ  r{  r$  r°   r=  r„  Ú	threadingr4  r0  ÚtypingrŽ   Úpathlibr   Útypesr   r   r   r   r	   r
   r   r   r   Útyping_extensionsr   r   r¨   Útorch._loggingÚtorch._C._dynamo.guardsr   Útorch._dynamo.distributedr   Útorch._dynamo.symbolic_convertr   Útorch._guardsr   r   r   r   r   Útorch._utils_internalr   r   r   r   Útorch.fx._lazy_graph_moduler   Ú%torch.fx.experimental.symbolic_shapesr   r   Útorch.fx.graph_moduler   rž   Útorch.monitorr    Útorch.nn.parallel.distributedr!   Útorch.utils._python_dispatchr"   r#   Útorch.utils._tracebackr$   r%   rh  r'   r(   r)   r*   Úbytecode_analysisr+   r,   Úbytecode_transformationr-   r.   r/   r0   r1   rt  r2   r3   r4   r5   Ú
eval_framer6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rÎ   rF   rG   rH   r�  rI   ÚpgorJ   Úreplay_recordrK   Úresume_executionrL   Úsymbolic_convertrM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   r?  rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   Úvariables.torch_functionri   Ú__annotations__Únumpyrj   ÚModuleNotFoundErrorÚTYPE_CHECKINGÚbackends.registryrk   Úrepro.after_dynamorl   rm   rn   ro   Úvariables.builderrp   Ú	getLoggerrw   r
  rG  ÚgetArtifactLoggerrÎ  rj  ÚRLockrŸ  rs   rt   rv   r~   ry  rz  rœ   rá   r¤   rã   Ú#suppress_torch_distributed_warningsr  r  r…  ÚCounterr  r  r  rT  r^  r™  Útorch.utils.hooksrš  Úoutput_graphr›  rœ  r   rŠ  rW  r]  r  rŒ  ÚProtocolrŽ  r‘  r¨  rz   r{   r|   ú<module>r×     si  ðòõ& #ã Û Û Û 
Û Û 	Û Û Û 	Û Û Û Û 
Û Û Û Û Û Ý ß >Ó >ß :Õ :Ý 'Ý !ã Û Ý 4Ý 4Ý 9ß MÓ MÝ %÷ó õ ?÷õ QÝ &Ý A÷÷ Mç 9Ó 9ß G÷õ ÷ó ÷ó ÷÷ ÷ ó ÷ñ õ
 Ý Ý *Ý ;÷õ õ "ß XÓ X÷÷ ÷ ÷ ÷ õ( Jð Ó ðÛð
 
×ÓÝ-Ý4ß@Ñ@Ý6ð €g×Ò˜Ó!€Ø�~Š~×/Ò/°¸*ÓE€Ø—.’.×2Ò2°8¸^ÓL€ð ˆy�ŠÓ €áˆTƒ]€Ùˆtƒ_€÷	ñ 	÷ñ ñ( ‹i€Ù‹y€à37Ð Ð0Ó 7ð €‡‚Ð*Ó+àMQðØ	ðØ%ðØ2Jðàòó ,ðóEðP ×1Ò1òKó 2ðKðb (,Øð	*Øð*à
ð*ð %ð*ð ð	*ð
 
ó*ð €à€K×ÒÓð ÐFó ó
ó>÷B[ñ [ð@ ØØ15ð	RØðRàðRð ðRð /ð	Rð
 óRõ $å -ð 
×ÓÝ)ñ ,7«=€Ð(Ó 8óð. (,ØHLðW2ð" ñ#W2Ø
ðW2àðW2ð ðW2ð  ð	W2ð
 ðW2ð ðW2ð ðW2ð ðW2ð /ðW2ð ðW2ð &ðW2ð *ðW2ð %ðW2ð FðW2ð  ð!W2ð" ð#W2ð$ ó%W2÷vj$ñ j$óZ,ó;ó>?ô	!˜6Ÿ?š?ô 	!÷Nñ Nðb/Ø"ð/Ø+0ð/àô/øðG( ò Ø	ƒBðús   Æ2N ÎN&Î%N&