§
    ŠŠtjæ�  ã                  óâ  — 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	m
Z
mZ d dlm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 d dlZd dlmZ d	d
lmZ d	dlmZ er d dl m!Z! d dlm"Z" d	dl#m$Z$ d	dl%m&Z& d	dlm'Z'm(Z( d¶d„Z) ej*        e+¦  «        Z,ej-         .                    e+d¦  «        Z/ e0d¦  «        Z1d·d„Z2 G d„ de3¦  «        Z4d¸d„Z5d¹d!„Z6dºd%„Z7 G d&„ d$e3¦  «        Z8 G d'„ d(e8¦  «        Z9 G d)„ d*e8¦  «        Z: G d+„ d,e8¦  «        Z; G d-„ d.e;¦  «        Z< G d/„ d0e;¦  «        Z= G d1„ d2e;¦  «        Z> G d3„ d4e;¦  «        Z? G d5„ d6e;¦  «        Z@ G d7„ d8e;¦  «        ZA G d9„ d:e8¦  «        ZB G d;„ d<e8¦  «        ZC G d=„ d>e8¦  «        ZD G d?„ d@e8¦  «        ZE G dA„ dBe8¦  «        ZF G dC„ dDeF¦  «        ZG G dE„ dFe8¦  «        ZH G dG„ dHe8¦  «        ZI G dI„ dJe8¦  «        ZJ G dK„ dLe8¦  «        ZK G dM„ dNe8¦  «        ZL G dO„ dPe¦  «        ZM G dQ„ dRe8¦  «        ZN G dS„ dTe8¦  «        ZO G dU„ dVe8¦  «        ZP G dW„ dXe8¦  «        ZQ G dY„ dZeR¦  «        ZS G d[„ d\e8¦  «        ZT G d]„ d^e8¦  «        ZU G d_„ d`eU¦  «        ZV G da„ dbeU¦  «        ZW G dc„ ddeW¦  «        ZX G de„ dfeW¦  «        ZY G dg„ dheU¦  «        ZZ G di„ djeU¦  «        Z[ G dk„ dleU¦  «        Z\ G dm„ dneU¦  «        Z] G do„ dpeU¦  «        Z^e_eVe`eWeaeXebeZeceYede[e3e\eee]efe^i	Zgd»ds„Zhdddtœd¼d{„Zid½d}„Zjd½d~„Zkd¾d�„Zlejm        jn        jo        ejm        jn        jp        ejm        jn        jq        ejm        jn        jr        ejm        jn        js        fZtd¿d‹„ZudÀdŒ„Zv ed	¬�¦  «        dÁdŽ„¦   «         ZwdÂd�„Zx ey¦   «         Zzezd‘d‘d’œdÃd—„Z{ G d˜„ d™¦  «        Z|dÄdš„Z}dÅdÆd�„Z~dÇd¡„ZdÈd£„Z€dÈd¤„Z�	 dÉdÊd¨„Z‚dËdª„ZƒdÌd¬„Z„dÍd®„Z…	 	 dÎdÏd°„Z†dÐd±„Z‡dÑd´„Zˆ	 	 dÎdÏdµ„Z‰dS )Òé    )ÚannotationsN)ÚautoÚEnum)Ú	lru_cache)ÚPath)Ú
format_excÚformat_listÚFrameSummaryÚStackSummary)ÚAnyÚNoReturnÚTYPE_CHECKING)Úget_file_path_2é   )Úconfig)Úcounters)ÚVariableTracker)Ú	CompileId)ÚDynamoTracerOutput)ÚInstructionTranslatorBase)ÚDynamoFrameTypeÚFrameExecStrategyÚ	case_nameÚstrÚreturnc                ó4   — d|                       dd¦  «        z   S )NzhFor more information about this error, see: https://pytorch.org/docs/main/generated/exportdb/index.html#Ú_ú-)Úreplace)r   s    úO/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/exc.pyÚexportdb_error_messager!   :   s%   € ð	Ià
×
Ò
˜C Ñ
%Ô
%ñ	&ðó    Úgraph_breaks)Ú_torch_dynamo_tracer_outputÚfirst_useful_frameÚframe_exec_strategyÚargsútuple[Any, ...]c                ó   — | S ©N© ©r'   s    r    Ú_safe_exception_argsr-   O   s   € Ø€Kr"   c                  ó,   ‡ — e Zd ZU ded<   dˆ fd„Zˆ xZS )	Ú_SerializedExceptionr   Ú_dynamo_original_exception_typeÚexcÚBaseExceptionr   ÚNonec                óÄ   •— t          ¦   «                              t          |¦  «        ¦  «         t          |¦  «        j        › dt          |¦  «        j        › �| _        d S )Nú.)ÚsuperÚ__init__r   ÚtypeÚ
__module__Ú__qualname__r0   )Úselfr1   Ú	__class__s     €r    r7   z_SerializedException.__init__V   sR   ø€ Ý‰Œ×Ò�˜S™œÑ"Ô"Ð"å�C‰yŒyÔ#Ð>Ð>¥d¨3¡i¤iÔ&<Ð>Ð>ð 	Ô,Ð,Ð,r"   )r1   r2   r   r3   ©Ú__name__r9   r:   Ú__annotations__r7   Ú__classcell__©r<   s   @r    r/   r/   S   sK   ø€ € € € € € Ø(Ð(Ð(Ñ(ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r"   r/   r1   r2   c                ó    — t          | ¦  «        S r*   )r/   )r1   s    r    Ú_safe_inner_exceptionrC   ]   s   € Ý Ñ$Ô$Ð$r"   Ústateúdict[str, Any]c                óö   — i }|                       ¦   «         D ]a\  }}|t          v st          |t          j        ¦  «        rd ||<   Œ.|dk    r(t          |t
          ¦  «        rt          |¦  «        ||<   Œ\|||<   Œb|S )NÚinner_exception)ÚitemsÚ_EXCEPTION_STATE_ATTRS_TO_DROPÚ
isinstanceÚtypesÚ	FrameTyper2   rC   )rD   ÚresultÚnameÚvalues       r    Ú_safe_exception_staterP   a   sˆ   € Ø€FØ—{’{‘}”}ð !ð !‰ˆˆeØÕ1Ð1Ð1µZÀÅuÄÑ5WÔ5WÐ1ØˆF�4‰LˆLØÐ&Ò&Ð&­:°e½]Ñ+KÔ+KÐ&Ý0°Ñ7Ô7ˆF�4‰LˆLà ˆF�4‰LˆLØ€Mr"   Úexc_typeútype[TorchDynamoException]ÚTorchDynamoExceptionc                óT   — |                       | ¦  «        }t          j        |g|¢R Ž  |S r*   )Ú__new__r2   r7   )rQ   r'   r1   s      r    Ú#_reconstruct_torch_dynamo_exceptionrV   m   s5   € ð ×
Ò
˜8Ñ
$Ô
$€CÝÔ˜3Ð& Ð&Ð&Ð&Ð&Ø€Jr"   c                  ó<   ‡ — e Zd ZdZdˆ fd„Zdd	„Zdd„Zdd„Zˆ xZS )rS   a6  Base exception class for all TorchDynamo-specific exceptions.

    Attributes:
        _torch_dynamo_tracer_output: Optional tracer output attached to the exception
        frame_exec_strategy: Optional frame execution strategy to control how convert_frame
            should handle this exception. When set, convert_frame will use this strategy
            instead of the default behavior. This allows exceptions to signal specific
            execution strategies (e.g., SKIP, RUN_ONLY) without requiring separate
            exception types for control flow.
    r'   r   Úkwargsr   r3   c                óV   •—  t          ¦   «         j        |i |¤Ž d | _        d | _        d S r*   )r6   r7   r$   r&   )r;   r'   rX   r<   s      €r    r7   zTorchDynamoException.__init__�   s5   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ØFJˆÔ(Ø=AˆÔ Ð Ð r"   r(   c                ó|   — t           t          | ¦  «        t          | j        ¦  «        f|                      ¦   «         fS r*   )rV   r8   r-   r'   Ú__getstate__©r;   s    r    Ú
__reduce__zTorchDynamoException.__reduce__†   s7   € å/Ý�$‰ZŒZÕ-¨d¬iÑ8Ô8Ð9Ø×ÒÑÔð
ð 	
r"   rE   c                ó*   — t          | j        ¦  «        S r*   )rP   Ú__dict__r\   s    r    r[   z!TorchDynamoException.__getstate__�   s   € Ý$ T¤]Ñ3Ô3Ð3r"   rD   údict[str, Any] | Nonec               óB   — |�| j                              |¦  «         d S d S r*   )r_   Úupdate)r;   rD   s     r    Ú__setstate__z!TorchDynamoException.__setstate__�   s,   € ØÐØŒM× Ò  Ñ'Ô'Ð'Ð'Ð'ð Ðr"   )r'   r   rX   r   r   r3   )r   r(   ©r   rE   )rD   r`   r   r3   )	r>   r9   r:   Ú__doc__r7   r]   r[   rc   r@   rA   s   @r    rS   rS   u   s‰   ø€ € € € € ð	ð 	ðBð Bð Bð Bð Bð Bð

ð 
ð 
ð 
ð4ð 4ð 4ð 4ð(ð (ð (ð (ð (ð (ð (ð (r"   c                  ó   — e Zd ZdS )ÚInternalTorchDynamoErrorN©r>   r9   r:   r+   r"   r    rg   rg   •   ó   € € € € € Ø€Dr"   rg   c                  ó   — e Zd ZdS )ÚResumePrologueTracingErrorNrh   r+   r"   r    rk   rk   ™   ri   r"   rk   c                  ó2   ‡ — e Zd ZU ded<   ddœd
ˆ fd	„Zˆ xZS )ÚRestartAnalysisú
str | NoneÚrestart_reasonN)ro   r'   r   r   r3   c               óB   •— || _          t          ¦   «         j        |Ž  d S r*   )ro   r6   r7   )r;   ro   r'   r<   s      €r    r7   zRestartAnalysis.__init__    s%   ø€ Ø,ˆÔØ�‰ŒÔ˜$ÐÐÐÐr"   )r'   r   ro   rn   r   r3   r=   rA   s   @r    rm   rm   �   sX   ø€ € € € € € ØÐÐÑà@Dð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  r"   rm   c                  ó   — e Zd ZdS )ÚSpeculationRestartAnalysisNrh   r+   r"   r    rr   rr   ¥   ri   r"   rr   c                  ó   — e Zd ZdZdS )ÚAutogradGradRestartAnalysiszŒRaised when autograd.grad consumed grad_fns that are returned.

    On restart, autograd.grad will graph break instead of being traced.
    N©r>   r9   r:   re   r+   r"   r    rt   rt   ©   s   € € € € € ðð ð ð r"   rt   c                  ó   — e Zd ZdZdS )ÚRequiresGradRestartAnalysisz×Raised when a source-less requires_grad_() intermediate leaks as output.

    On restart, requires_grad_() will graph break instead of being traced,
    preserving partial acceleration for code before the call.
    Nru   r+   r"   r    rw   rw   °   s   € € € € € ðð ð ð r"   rw   c                  ó   — e Zd ZdS )ÚUnspecializeRestartAnalysisNrh   r+   r"   r    ry   ry   ¸   ri   r"   ry   c                  ó   — e Zd ZdS )Ú CompileCollectiveRestartAnalysisNrh   r+   r"   r    r{   r{   ¼   ri   r"   r{   c                  ó   — e Zd ZdS )ÚTensorifyScalarRestartAnalysisNrh   r+   r"   r    r}   r}   À   ri   r"   r}   c                  ó   — e Zd ZdS )Ú	SkipFrameNrh   r+   r"   r    r   r   È   ri   r"   r   c                  ó"   ‡ — e Zd Zd	d
ˆ fd„Zˆ xZS )ÚTorchRuntimeErrorNÚmsgr   Ú
real_stackúStackSummary | Noner   r3   c                ó°   •— t          ¦   «                              |¦  «         || _        |�|n"t          j        j                             ¦   «         | _        d S r*   ©r6   r7   r‚   ÚtorchÚ_guardsÚTracingContextÚextract_stackrƒ   ©r;   r‚   rƒ   r<   s      €r    r7   zTorchRuntimeError.__init__Í   óP   ø€ Ý‰Œ×Ò˜ÑÔÐØˆŒð Ð%ð ˆJå”Ô-×;Ò;Ñ=Ô=ð 	Œˆˆr"   r*   ©r‚   r   rƒ   r„   r   r3   ©r>   r9   r:   r7   r@   rA   s   @r    r�   r�   Ì   óB   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r"   r�   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚInvalidBackendrN   r   r   r3   c                óR   •— t          ¦   «                              d|›d�¦  «         d S )NzInvalid backend: z=, see `torch._dynamo.list_backends()` for available backends.)r6   r7   )r;   rN   r<   s     €r    r7   zInvalidBackend.__init__Ø   s7   ø€ Ý‰Œ×ÒØe ÐeÐeÐeñ	
ô 	
ð 	
ð 	
ð 	
r"   )rN   r   r   r3   rŽ   rA   s   @r    r‘   r‘   ×   s=   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r"   r‘   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚResetRequiredr   r3   c                ón   •— t          ¦   «                              t          j        d¦  «        ¦  «         d S )NzÃ
                Must call `torch._dynamo.reset()` before changing backends.  Detected two calls to
                `torch.compile()` with a different backend compiler arguments.
                )r6   r7   ÚtextwrapÚdedent)r;   r<   s    €r    r7   zResetRequired.__init__ß   s=   ø€ Ý‰Œ×ÒÝŒOðñô ñ	
ô 	
ð 	
ð 	
ð 	
r"   ©r   r3   rŽ   rA   s   @r    r”   r”   Þ   s=   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r"   r”   c                  ó(   ‡ — e Zd Zdˆ fd„Zdd
„Zˆ xZS )ÚShortenTracebackr'   r   r%   útypes.FrameType | NonerX   r   r3   c               óH   •—  t          ¦   «         j        |i |¤Ž || _        d S r*   )r6   r7   r%   )r;   r%   r'   rX   r<   s       €r    r7   zShortenTraceback.__init__ë   s/   ø€ ð 	�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ø"4ˆÔÐÐr"   útyping.Selfc                óÐ   — | j         }| j        �|�t          j        r| S |j        | j        ur&|j        }|€t          d¦  «        ‚|j        | j        u°&|                      |¦  «        S )Nz#internal error, please report a bug)Ú__traceback__r%   r   ÚverboseÚtb_frameÚtb_nextÚAssertionErrorÚwith_traceback)r;   Útbs     r    Úremove_dynamo_framesz%ShortenTraceback.remove_dynamo_framesñ   su   € ØÔˆØÔ"Ð*¨b¨j½F¼N¨jØˆKØŒk Ô!8Ð8Ð8Ø”ˆBØˆzÝ$Ð%JÑKÔKÐKð Œk Ô!8Ð8Ð8ð ×"Ò" 2Ñ&Ô&Ð&r"   )r'   r   r%   r›   rX   r   r   r3   )r   r�   )r>   r9   r:   r7   r¦   r@   rA   s   @r    rš   rš   ê   sQ   ø€ € € € € ð5ð 5ð 5ð 5ð 5ð 5ð'ð 'ð 'ð 'ð 'ð 'ð 'ð 'r"   rš   c                  ó    ‡ — e Zd Zd
ˆ fd	„Zˆ xZS )ÚBackendCompilerFailedÚ
backend_fnr   rG   Ú	Exceptionr%   r›   r   r3   c                óÌ   •— t          |dd¦  «        | _        || _        d| j        ›dt          |¦  «        j        › d|› �}t          ¦   «                              ||¬¦  «         d S )Nr>   ú?zbackend=z	 raised:
z: )r%   )ÚgetattrÚbackend_namerG   r8   r>   r6   r7   )r;   r©   rG   r%   r‚   r<   s        €r    r7   zBackendCompilerFailed.__init__ý   sq   ø€ õ $ J°
¸CÑ@Ô@ˆÔØ.ˆÔØk˜Ô*ÐkÐk½¸_Ñ8MÔ8MÔ8VÐkÐkÐZiÐkÐkˆÝ‰Œ×Ò˜Ð1CÐÑDÔDÐDÐDÐDr"   )r©   r   rG   rª   r%   r›   r   r3   rŽ   rA   s   @r    r¨   r¨   ü   sG   ø€ € € € € ð	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Er"   r¨   c                  ó@   ‡ — e Zd Z	 	 ddddœdˆ fd„Zdd„Zddd„Zˆ xZS )ÚUnsupportedÚ FN)r   rƒ   r‚   r   Úgb_typeÚ
skip_frameÚboolr   rn   rƒ   r„   r   r3   c               ó  •— t          ¦   «                              |¦  «         |s#t          j        j                             ¦   «         }|| _        || _        || _        d | _	        |  
                    ¦   «          || _        d| _        d S ©NF)r6   r7   r‡   rˆ   r‰   rŠ   rƒ   r‚   r³   ÚcategoryÚadd_to_statsr²   Úlogged)r;   r‚   r²   r³   r   rƒ   r<   s         €r    r7   zUnsupported.__init__  s|   ø€ õ 	‰Œ×Ò˜ÑÔÐØð 	FÝœÔ5×CÒCÑEÔEˆJØ$ˆŒØˆŒØ$ˆŒØ$(ˆŒØ×ÒÑÔÐØ#*ˆŒØˆŒˆˆr"   c                óò   — | j         €t          d¦  «        ‚t          | j                  | j        xx         dz  cc<   t          | j                  | j                 dk    rt          | j                  | j        = d S d S )Nz/category must be set before removing from statsr   r   )r·   r£   r   r‚   r\   s    r    Úremove_from_statszUnsupported.remove_from_stats$  sv   € ØŒ=Ð Ý Ð!RÑSÔSÐSÝ�”Ô ¤Ð)Ð)Ô)¨QÑ.Ð)Ð)Ñ)Ý�D”MÔ" 4¤8Ô,°Ò1Ð1Ý˜œÔ'¨¬Ð1Ð1Ð1ð 2Ð1r"   Úunimplementedr·   c                óT   — || _         t          |         | j        xx         dz  cc<   d S )Nr   )r·   r   r‚   )r;   r·   s     r    r¸   zUnsupported.add_to_stats+  s2   € Ø ˆŒÝ�Ô˜4œ8Ð$Ð$Ô$¨Ñ)Ð$Ð$Ñ$Ð$Ð$r"   )r±   F)r‚   r   r²   r   r³   r´   r   rn   rƒ   r„   r   r3   r˜   )r¼   )r·   r   r   r3   )r>   r9   r:   r7   r»   r¸   r@   rA   s   @r    r°   r°     s‰   ø€ € € € € ð
 Ø ðð !%Ø*.ðð ð ð ð ð ð ð ð*2ð 2ð 2ð 2ð*ð *ð *ð *ð *ð *ð *ð *ð *r"   r°   c                  ó   — e Zd ZdS )Ú$UnknownPropertiesDuringBackwardTraceNrh   r+   r"   r    r¿   r¿   0  ri   r"   r¿   c                  ó   — e Zd ZdS )ÚRecompileErrorNrh   r+   r"   r    rÁ   rÁ   4  ri   r"   rÁ   c                  ó   — e Zd ZdS )ÚInfiniteGeneratorErrorNrh   r+   r"   r    rÃ   rÃ   8  ó   € € € € € à€Dr"   rÃ   c                  ó   — e Zd ZdZdS )ÚCondOpArgsMismatchErrorz?
    Internal error from cond() due to arguments mismatch.
    Nru   r+   r"   r    rÆ   rÆ   =  s   € € € € € ðð ð ð r"   rÆ   c                  ó®   — e Zd Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z	 e¦   «         Z
 e¦   «         ZdS )ÚUserErrorTypeN)r>   r9   r:   r   ÚDYNAMIC_CONTROL_FLOWÚANTI_PATTERNÚSTANDARD_LIBRARYÚCONSTRAINT_VIOLATIONÚDYNAMIC_DIMÚINVALID_INPUTÚINVALID_OUTPUTÚ*UNSUPPORTED_ALIASED_MUTATED_DYNAMIC_INPUTSr+   r"   r    rÈ   rÈ   C  sl   € € € € € Ø˜4™6œ6ÐØ�4‘6”6€LØ�t‘v”vÐØ˜4™6œ6ÐØ�$‘&”&€KØ�D‘F”F€MØ�T‘V”V€NØ15°±´Ð.Ð.Ð.r"   rÈ   c                  ó$   ‡ — e Zd Z	 ddˆ fd
„Zˆ xZS )Ú	UserErrorNÚ
error_typerÈ   r‚   r   r   rn   r   r3   c                ó°  •— |�ft          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|                     d¦  «        r|dz  }n|dz  }|t          |¦  «        z  }t          ¦   «                              |¦  «         t          j	        j
                             ¦   «         | _        d| _        d| _        || _        || _        || _        dS )aG  
        Type of errors that would be valid in Eager, but not supported in TorchDynamo.
        The error message should tell user about next actions.

        error_type: Type of user error
        msg: Actionable error message
        case_name: (Optional) Unique name (snake case) for the usage example in exportdb.
        Nzcase_name must be a str, got r5   ú ú
F)rJ   r   r£   r8   Úendswithr!   r6   r7   r‡   rˆ   r‰   rŠ   rƒ   r³   r¹   rÓ   r‚   Úmessage)r;   rÓ   r‚   r   r<   s       €r    r7   zUserError.__init__O  sÍ   ø€ ð Ð Ý˜i­Ñ-Ô-ð XÝ$Ð%VÅTÈ)Á_Ä_Ð%VÐ%VÑWÔWÐWØ�|Š|˜CÑ Ô ð Ø�s‘
��à�t‘�ØÕ)¨)Ñ4Ô4Ñ4ˆCÝ‰Œ×Ò˜ÑÔÐÝœ-Ô6×DÒDÑFÔFˆŒØˆŒØˆŒØ$ˆŒØˆŒØˆŒˆˆr"   r*   )rÓ   rÈ   r‚   r   r   rn   r   r3   rŽ   rA   s   @r    rÒ   rÒ   N  sE   ø€ € € € € àKOðð ð ð ð ð ð ð ð ð ð r"   rÒ   c                  ó"   ‡ — e Zd Zd	d
ˆ fd„Zˆ xZS )ÚStepUnsupportedNr‚   r   rƒ   r„   r   r3   c                ó¾   •— t          ¦   «                              |¦  «         || _        |s#t          j        j                             ¦   «         }|| _        d| _        d S r¶   )	r6   r7   r‚   r‡   rˆ   r‰   rŠ   rƒ   r¹   r‹   s      €r    r7   zStepUnsupported.__init__m  sS   ø€ Ý‰Œ×Ò˜ÑÔÐØˆŒØð 	FÝœÔ5×CÒCÑEÔEˆJØ$ˆŒØˆŒˆˆr"   r*   r�   rŽ   rA   s   @r    rÚ   rÚ   l  sB   ø€ € € € € ðð ð ð ð ð ð ð ð ð ð r"   rÚ   c                  ó   — e Zd ZdS )ÚUnsafeScriptObjectErrorNrh   r+   r"   r    rÝ   rÝ   v  ri   r"   rÝ   c                  ó"   ‡ — e Zd Zd	d
ˆ fd„Zˆ xZS )ÚUncapturedHigherOrderOpErrorNr‚   r   rƒ   r„   r   r3   c                ó°   •— t          ¦   «                              |¦  «         || _        |�|n"t          j        j                             ¦   «         | _        d S r*   r†   r‹   s      €r    r7   z%UncapturedHigherOrderOpError.__init__{  rŒ   r"   r*   r�   rŽ   rA   s   @r    rß   rß   z  r�   r"   rß   c                  ó   — e Zd ZdS )ÚFailOnRecompileLimitHitNrh   r+   r"   r    râ   râ   ˆ  ri   r"   râ   c                  ó   — e Zd ZdS )ÚPackageErrorNrh   r+   r"   r    rä   rä   Œ  ri   r"   rä   c                  ó&   ‡ — e Zd Zddœdˆ fd
„Zˆ xZS )ÚObservedExceptionN©rƒ   r'   r   rƒ   r„   rX   r   r3   c               ó’   •—  t          ¦   «         j        |i |¤Ž |�|n"t          j        j                             ¦   «         | _        d S r*   )r6   r7   r‡   rˆ   r‰   rŠ   rƒ   ©r;   rƒ   r'   rX   r<   s       €r    r7   zObservedException.__init__’  sO   ø€ ð 	�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ð Ð%ð ˆJå”Ô-×;Ò;Ñ=Ô=ð 	Œˆˆr"   ©r'   r   rƒ   r„   rX   r   r   r3   rŽ   rA   s   @r    ræ   ræ   �  sM   ø€ € € € € ð =Að
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r"   ræ   c                  ó2   ‡ — e Zd ZU ded<   ddœdˆ fd„Zˆ xZS )ÚObservedUserStopIterationz
Any | NonerO   Nrç   r'   r   rƒ   r„   rX   r   r3   c               ó    •— t          ¦   «                              d|¬¦  «         t          |¦  «        dk    r|d         | _        d S d | _        d S )Nzunhandled `raise StopIteration`rç   r   )r6   r7   ÚlenrO   ré   s       €r    r7   z"ObservedUserStopIteration.__init__£  sL   ø€ õ 	‰Œ×ÒÐ:ÀzÐÑRÔRÐRÝˆt‰9Œ9�qŠ=ˆ=Ø˜aœˆDŒJˆJˆJàˆDŒJˆJˆJr"   rê   r=   rA   s   @r    rì   rì   �  s[   ø€ € € € € € àÐÐÑð
 =Aðð ð ð ð ð ð ð ð ð ð ð r"   rì   c                  ó   — e Zd ZdS )ÚObservedLookupErrorNrh   r+   r"   r    rð   rð   ­  rÄ   r"   rð   c                  ó   — e Zd ZdS )ÚObservedIndexErrorNrh   r+   r"   r    rò   rò   ²  rÄ   r"   rò   c                  ó   — e Zd ZdS )ÚObservedKeyErrorNrh   r+   r"   r    rô   rô   ·  rÄ   r"   rô   c                  ó   — e Zd ZdS )ÚObservedGeneratorExitNrh   r+   r"   r    rö   rö   ¼  ri   r"   rö   c                  ó   — e Zd ZdS )ÚObservedAttributeErrorNrh   r+   r"   r    rø   rø   À  rÄ   r"   rø   c                  ó   — e Zd ZdS )ÚObservedRuntimeErrorNrh   r+   r"   r    rú   rú   Å  rÄ   r"   rú   c                  ó   — e Zd ZdS )ÚObservedNotImplementedErrorNrh   r+   r"   r    rü   rü   Ê  ri   r"   rü   c                  ó   — e Zd ZdS )ÚObservedTypeErrorNrh   r+   r"   r    rþ   rþ   Î  rÄ   r"   rþ   útype[Exception]útype[ObservedException]c                ó°   — | t           vrAt          | dt          | ¦  «        ¦  «        }t          d|› d�t          fi ¦  «        t           | <   t           |          S )Nr>   ÚObservedÚError)Úobserved_exception_mapr­   r   r8   ræ   )rQ   rN   s     r    Úget_dynamo_observed_exceptionr  à  s]   € ØÕ-Ð-Ð-Ý�x ­S°©]¬]Ñ;Ô;ˆÝ+/Ø"�tÐ"Ð"Ð"Õ%6Ð$8¸"ñ,
ô ,
Õ˜xÑ(õ " (Ô+Ð+r"   )r'   rX   Útxr   ú(list[VariableTracker] | list[str] | NonerX   ú!dict[str, VariableTracker] | Noner   c               óŒ  ‡‡— ddl m} ddlmŠ |rˆˆfd„|D ¦   «         }ng }‰                     ‰| ¦  «                             ‰||pi ¦  «        }t          ||¦  «        st          dt          |¦  «        › �¦  «        ‚‰ 	                    |¦  «         ‰j
                             |¦  «         t          | ¦  «        }|r ||Ž ‚|‚)Nr   )ÚExceptionVals)ÚSourcelessBuilderc                ój   •— g | ]/}t          |t          ¦  «        r‰                     ‰|¦  «        n|‘Œ0S r+   )rJ   r   Úcreate)Ú.0Úargr  r  s     €€r    ú
<listcomp>z,raise_observed_exception.<locals>.<listcomp>õ  sN   ø€ ð 
ð 
ð 
àõ 2<¸CÅÑ1EÔ1EÐNÐ×$Ò$ R¨Ñ-Ô-Ð-È3ð
ð 
ð 
r"   zexpected ExceptionVals, got )Úsymbolic_convertr
  Úvariables.builderr  r  Úcall_functionrJ   r£   r8   Ú_attach_traceback_to_exceptionÚexn_vt_stackÚset_current_exceptionr  )	rQ   r  r'   rX   r
  Úargs_Úexception_vtÚ
raised_excr  s	    `      @r    Úraise_observed_exceptionr  ê  s   øø€ ð 0Ð/Ð/Ð/Ð/Ð/Ø4Ð4Ð4Ð4Ð4Ð4àð *ð
ð 
ð 
ð 
ð 
àð
ñ 
ô 
ˆˆð
 (*ˆð %×+Ò+¨B°Ñ9Ô9×GÒGØ
ˆE�6�<˜Rñô €Lõ �l MÑ2Ô2ð RÝÐP½DÀÑ<NÔ<NÐPÐPÑQÔQÐQØ×%Ò% lÑ3Ô3Ð3Ø„O×)Ò)¨,Ñ7Ô7Ð7Ý.¨xÑ8Ô8€Jàð !Øˆj˜%Ð Ð Ø
Ðr"   r‚   c                ó6   — t          t          | |g¬¦  «         dS )z:Raise a TypeError as an observed exception during tracing.r,   N)r  Ú	TypeError©r  r‚   s     r    Úraise_type_errorr    s   € å�Y¨°#°Ð7Ñ7Ô7Ð7Ð7Ð7r"   c                ó6   — t          t          | |g¬¦  «         dS )z;Raise a ValueError as an observed exception during tracing.r,   N)r  Ú
ValueErrorr  s     r    Úraise_value_errorr!    s   € å�Z¨°3°%Ð8Ñ8Ô8Ð8Ð8Ð8r"   r   r3   c                ó8   — | j                              ¦   «          d S r*   )r  Úclear_current_exception)r  s    r    Úhandle_observed_exceptionr$    s   € ð2 „O×+Ò+Ñ-Ô-Ð-Ð-Ð-r"   Úerª   Úcodeútypes.CodeTyper²   ÚcontextÚexplanationÚhintsú	list[str]c               óÚ   ‡— t          | |¦  «        Št          j                             dd„ ˆfd„¬¦  «         t                               d‰¦  «         t          } |||||| d¬¦  «         d S )NÚartifactc                 ó   — dddœS )NÚdynamo_graph_break_reasonÚstring)rN   Úencodingr+   r+   r"   r    ú<lambda>z,unimplemented_with_warning.<locals>.<lambda>O  s   € Ø/Ø ð
ð 
€ r"   c                 ó   •— ‰ S r*   r+   )Úgraph_break_msgs   €r    r2  z,unimplemented_with_warning.<locals>.<lambda>S  s   ø€ ˜?€ r"   )Úmetadata_fnÚ
payload_fnz%sT)r²   r(  r)  r*  Úfrom_excÚlog_warning)Úformat_error_msg_verboser‡   Ú_loggingÚtrace_structuredÚgraph_breaks_logÚdebugr¼   )r%  r&  r²   r(  r)  r*  Ú_unimplementedr4  s          @r    Úunimplemented_with_warningr?  <  s    ø€ õ  /¨q°$Ñ7Ô7€OÝ	„N×#Ò#Øð
ð 
ð +Ð*Ð*Ð*ð $ñ ô ð õ ×Ò˜4 Ñ1Ô1Ð1Ý"€Nà€NØØØØØØðñ ô ð ð ð r"   c                ó,  — t          j        |d¦  «                             ¦   «         }d                     d„ |D ¦   «         ¦  «        }t          j        |d¦  «                             ¦   «         }| › d|› d|› d|› �}t	          | ¦  «        }|r|d|› �z  }|S )Nú    rÖ   c              3  ój   K  — | ].}d t          j        |d¦  «                             ¦   «         z   V — Œ/dS )z  Hint: rA  N)r–   ÚindentÚlstrip)r  Úhints     r    ú	<genexpr>z-format_graph_break_message.<locals>.<genexpr>i  sP   è è € ð ð Ø@Dˆ
•X”_ T¨6Ñ2Ô2×9Ò9Ñ;Ô;Ñ;ðð ð ð ð ð r"   z
  Explanation: z

  Developer debug context: z:

 For more details about this graph break, please visit: )r–   rC  rD  ÚjoinÚget_gbid_documentation_link)r²   r(  r)  r*  Ú	hints_strr‚   Údocumentation_links          r    Úformat_graph_break_messagerK  b  sÝ   € õ ”/ +¨vÑ6Ô6×=Ò=Ñ?Ô?€KØ—	’	ð ð ØHMðñ ô ñ ô €Iõ Œo˜g vÑ.Ô.×5Ò5Ñ7Ô7€Gð 	ð(ð (àð(ð (ð ð(ð (ð
 $ð(ð (€Cõ 5°WÑ=Ô=Ðàð cØÐbÐN`ÐbÐbÑbˆà€Jr"   )Úmaxsizec                 óÂ  — 	 t          t          ¦  «                             ¦   «         j        } t	          dt          | ¦  «        d¦  «        }t          |¦  «        5 }t          j        |¦  «        }ddd¦  «         n# 1 swxY w Y   n,# t          $ r t                               d¦  «         i }Y nw xY wi }|                     ¦   «         D ]\  }}|D ]}|||d         <   ŒŒ|S )zÑ
    Loads the gb_type to gb_id map from the graph break registry from JSON file with caching.

    Includes historical gb_type (mapping behavior of duplicate gb_types with different gb_ids is undefined).
    r±   zgraph_break_registry.jsonNz!Error accessing the registry fileÚGb_type)r   Ú__file__ÚresolveÚparentr   r   ÚopenÚjsonÚloadrª   ÚlogÚ	exceptionrH   )Ú
script_dirÚregistry_pathÚfÚregistryÚmappingÚkÚvÚentrys           r    Ú_load_gb_type_to_gb_id_mapr_  |  s6  € ð
Ý�(‘^”^×+Ò+Ñ-Ô-Ô4ˆ
Ý'Ø•�J‘”Ð!<ñ
ô 
ˆõ �-Ñ Ô ð 	$ AÝ”y ‘|”|ˆHð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$øøåð ð ð Ý�ŠÐ9Ñ:Ô:Ð:àˆˆˆðøøøð
 €GØ—’Ñ Ô ð *ð *‰ˆˆ1Øð 	*ð 	*ˆEØ()ˆG�E˜)Ô$Ñ%Ð%ð	*ð €Ns6   ‚AB ÁA;Á/B Á;A?Á?B ÂA?ÂB Â&B0Â/B0rn   c                óp   — d}t          ¦   «         }| |v r!|› d||                               d¦  «        › d�S dS )zä
    Retrieves the GBID documentation link for a given graph break type.

    Args:
        gb_type: The graph break type to look up.

    Returns:
        A string containing the documentation URL if found, otherwise None.
    z;https://meta-pytorch.github.io/compile-graph-break-site/gb/ÚgbÚGBz.htmlN)r_  rD  )r²   ÚGRAPH_BREAK_SITE_URLÚgb_type_to_gb_id_maps      r    rH  rH  —  s[   € ð 	Fð õ 6Ñ7Ô7ÐàÐ&Ð&Ð&à#ÐXÐXÐ';¸GÔ'D×'KÒ'KÈDÑ'QÔ'QÐXÐXÐXð	
ð ˆ4r"   F)r7  r8  r³   r7  r8  r´   r³   c                óT  — t          | |||¦  «        }|rt                               |¦  «         |t          urad}t	          |d¦  «        r|j        }t          |t          ¦  «        r|j        › d|› �}t          || ||¬¦  «        ‚t          || ||¬¦  «        |‚t          || |¦  «        ‚)a  
    Called within dynamo to cause a graph break.
    Args:
        gb_type: Context-free graph break type. It should be a short string without any
                 information specific to the tracing context (i.e. no dynamically-generated strings)
        context: Developer context for the graph break. It can contain tracing context/dynamic strings.
        explanation: User-facing context-dependent explanation for the graph break. Can be dynamic.
        hints: List of user-facing hints for the graph break.
    Nrƒ   zJ

*** While handling this graph break, another graph break occurred: ***

rç   )	rK  rU  ÚwarningÚ_NOTHINGÚhasattrrƒ   rJ   r°   r‚   )	r²   r(  r)  r*  r7  r8  r³   r‚   Úpast_real_stacks	            r    r¼   r¼   ²  sÒ   € õ( % W¨g°{ÀEÑ
JÔ
J€Càð Ý�Š�CÑÔÐØ•xÐÐØˆÝ�8˜\Ñ*Ô*ð 	2Ø&Ô1ˆOÝ�h¥Ñ,Ô,ð 	TØ”\ÐvÐvÐqtÐvÐvˆCå˜c 7¨JÀ?ÐSÑSÔSÐSåØ�˜*°ð
ñ 
ô 
àð	õ �c˜7 JÑ
/Ô
/Ð/r"   c                  ó&   — e Zd Zd
d„Zdd„Zdd„Zd	S )ÚKeyErrorMsgrO   r   r   r3   c                ó   — || _         d S r*   )rO   )r;   rO   s     r    r7   zKeyErrorMsg.__init__Ý  s   € ØˆŒ
ˆ
ˆ
r"   r   c                ó*   — t          | j        ¦  «        S r*   )r   rO   r\   s    r    Ú__str__zKeyErrorMsg.__str__à  s   € Ý�4”:‰ŒÐr"   c                ó*   — |                       ¦   «         S r*   )rn  r\   s    r    Ú__repr__zKeyErrorMsg.__repr__ã  s   € Ø�|Š|‰~Œ~Ðr"   N)rO   r   r   r3   )r   r   )r>   r9   r:   r7   rn  rp  r+   r"   r    rk  rk  Ü  sP   € € € € € ðð ð ð ðð ð ð ðð ð ð ð ð r"   rk  c                ó”   — t          | d¦  «        r7|                     d¦  «        }|d         › d| j        › |d         › |d         › �}|S )NÚ	_hop_namez
  Explanation:r   z
  Higher Order Operator: r   é   )rh  Ú	partitionrr  )r1   r‚   Úliness      r    Ú!augment_exc_message_with_hop_namerv  ç  s^   € õ ˆs�KÑ Ô ð 
Ø—’Ð0Ñ1Ô1ˆà�QŒxÐWÐW°C´MÐWÀ5ÈÄ8ÐWÈUÐSTÌXÐWÐWð 	ð €Jr"   rÖ   Úexportc                óœ  — dd l }d | _        t          | ¦  «        }|�Nt          |¦  «        dk    r;|d         | _        |dd                     |                     |¦  «        ¦  «        › �z  }t          j        r&t          | d¦  «        r|d| j	        › d| j	        › d�z  }t          j
        st          | d	¦  «        r|d
z  }t          | d¦  «        r^t          | j        d¦  «        rIt          | j        d¦  «        r!|d| j        j        › d| j        j        › d�z  }n|d| j        j        › d�z  }t          | j        ¦  «        dk    rdnt          | j        d         ¦  «        }t!          | |¦  «        }t#          | t$          ¦  «        r*t'          ||z   ¦  «        f| j        dd …         z   | _        d S ||z   }|f| j        dd …         z   | _        d S )Nr   éÿÿÿÿz
from user code:
 r±   Úrecord_filenamez!
Last frame execution written to zD. To run only this frame while debugging, run torch._dynamo.replay('z').
rƒ   z´
Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"
rG   Úminifier_pathÚbuck_commandz
Minifier script written to zW. Run this buck command to find the smallest traced graph which reproduces this error: rÖ   zQ. Run this script to find the smallest traced graph which reproduces this error.
r   )Ú	tracebackÚinnermost_user_frame_summaryÚget_real_stackrî   rG  r	   r   Úreplay_record_enabledrh  rz  r    rG   r{  r|  r'   r   rv  rJ   ÚKeyErrorrk  )r1   r‚   rw  r}  rƒ   Úold_msgÚnew_msgs          r    Úaugment_exc_messager„  ó  s;  € ØÐÐÐà'+€CÔ$å Ñ$Ô$€JØÐ¥# j¡/¤/°AÒ"5Ð"5Ø+5°b¬>ˆÔ(ØÐR b§g¢g¨i×.CÒ.CÀJÑ.OÔ.OÑ&PÔ&PÐRÐRÑRˆåÔ#ð 
­°Ð5FÑ(GÔ(Gð 
Øð3°Ô1Dð 3ð 3ØÔ+ð3ð 3ð 3ñ	
ˆõ
 Œ>ð 
�g c¨<Ñ8Ô8ð 
ØðJñ	
ˆõ ˆsÐ%Ñ&Ô&ð ­7ØÔ˜_ñ,ô ,ð õ �3Ô&¨Ñ7Ô7ð 
	ØðU°Ô0CÔ0Qð Uð Uà03Ô0CÔ0PðUð Uð UñˆCˆCð ð_°Ô0CÔ0Qð _ð _ð _ñˆCõ
 ˜œ‘M”M QÒ&Ð&ˆbˆb­C°´¸´Ñ,<Ô,<€Gå/°°WÑ=Ô=€Gå�#•xÑ Ô ð -Ý ¨#¡Ñ.Ô.Ð0°3´8¸A¸B¸B´<Ñ?ˆŒˆˆà˜C‘-ˆØ�: ¤¨¨¨¤Ñ,ˆŒˆˆr"   Ú
compile_idr   útuple[str | None, int | None]c                ó^   — d }d }| j         �| j         j        }| j         j        }|| _        ||fS r*   )r~  ÚfilenameÚlinenor…  )r%  r…  rˆ  r‰  s       r    Úget_exc_messagerŠ  $  s?   € ð €HØ€FØÔ%Ð1ØÔ1Ô:ˆØÔ/Ô6ˆØ€A„LØ�VÐÐr"   r   c                 óØ  — t          ¦   «         } t          j        d¦  «        }|�±|j        }i }t          j        dk    r\|j        dk    rQt          |                     ¦   «         ¦  «        }|j        dz  }|t          |¦  «        k     r||         \  }}|d<   |d<   |  	                    t          |j        |j        |j        fddi|¤Ž¦  «         |j        }|­±|                      ¦   «          | S )	Nr   )é   é   r   rs  ÚcolnoÚ	end_colnoÚlookup_lineF)r   ÚsysÚ	_getframeÚf_codeÚversion_infoÚf_lastiÚlistÚco_positionsrî   Úappendr
   Úco_filenameÚf_linenoÚco_nameÚf_backÚreverse)ÚstackÚframer&  rX   Ú	positionsÚidxr   s          r    Ú_extract_stack_with_positionsr¢  0  s
  € õ ‰NŒN€EÝŒM˜!ÑÔ€EØ
Ð
ØŒ|ˆà!#ˆÝÔ˜wÒ&Ð&¨5¬=¸AÒ+=Ð+=Ý˜T×.Ò.Ñ0Ô0Ñ1Ô1ˆIØ”- 1Ñ$ˆCØ•S˜‘^”^Ò#Ð#Ø=FÀs¼^Ñ:��1�f˜W‘o v¨kÑ':Ø�ŠÝØÔ Ø”Ø”ðð ð "ð	ð
 ðð ñ	
ô 	
ð 	
ð ”ˆð% Ð
ð& 
‡M‚M�O„O€OØ€Lr"   c                 ó8   — t          t          ¦   «         ¦  «        S r*   )Úfilter_stackr¢  r+   r"   r    Úget_stack_above_dynamor¥  O  s   € ÝÕ5Ñ7Ô7Ñ8Ô8Ð8r"   rŸ  úDynamoFrameType | Noner„   c                ó˜   — t          | dd ¦  «        }|€d S |�t          ¦   «         }nt          ¦   «         }t          j        ||z   ¦  «        S )Nrƒ   )r­   r¥  r   Ú	from_list)r1   rŸ  rƒ   Ústack_above_dynamos       r    r  r  S  sZ   € õ ˜˜l¨DÑ1Ô1€JØÐØˆtð Ðõ 4Ñ5Ô5ÐÐå)™^œ^ÐåÔ!Ð"4°zÑ"AÑBÔBÐBr"   rž  c                ó°   — t          ¦   «         }| D ]D}|j        €Œ
d|j        v r n0d|j        v s|j        r
d|j        v rŒ/|                     |¦  «         ŒE|S )NÚconvert_frameÚ
eval_frameztorch._dynamo.optimize()r   rˆ  Úliner˜  )rž  Ú
user_stackrŸ  s      r    r¤  r¤  t  s{   € Ý‘”€JØð 	!ð 	!ˆØŒ>Ð!ØØ˜eœnÐ,Ð,ØˆEØ˜5œ>Ð)Ð)ØŒJð *Ø4¸¼
ÐBÐBàØ×Ò˜%Ñ Ô Ð Ð àÐr"   rN   c                óp   — ddl m} t          j        |› d�| ¦  «        }|r|                     d¦  «        S | S )Nr   )ÚTORCH_DYNAMO_RESUME_IN_PREFIXz_(\w+)_at_\d+)Úresume_executionr°  ÚreÚmatchÚgroup)rN   r°  r³  s      r    Úremove_resume_prefixrµ  „  sL   € Ø?Ð?Ð?Ð?Ð?Ð?åŒHÐ5ÐFÐFÐFÈÑMÔM€EØð Ø�{Š{˜1‰~Œ~ÐØ€Kr"   ú!StackSummary | list[FrameSummary]c                óà   — t          ¦   «         }| D ]\}|j        €Œ
t          |j        ¦  «        }|r |r|d         j        |k    r||d<   ||_        Œ@||_        |                     |¦  «         Œ]|S )a1  
    When we graph break, we create a resume function and make a regular Python call
    to it, which gets intercepted by Dynamo. This behavior is normally shown in the
    traceback, which can be confusing to a user. So we can filter out resume frames
    for better traceback clarity.

    Example:
    File "..." line 3, in f
        <line 3>
    File "..." line 5, in torch_dynamo_resume_in_f_at_80
        <line 5>
    File "..." line 10, in torch_dynamo_resume_in_f_at_120
        <line 10>

    becomes
    File "..." line 10, in f
        <line 10>
    Nry  )r   rˆ  rµ  rN   r˜  )rž  Ú	new_stackrŸ  rN   s       r    Úcollapse_resume_framesr¹  �  sŒ   € õ( ‘”€IØð 	$ð 	$ˆØŒ>Ð!ØÝ# E¤JÑ/Ô/ˆØð 	$˜ð 	$ )¨B¤-Ô"4¸Ò"<Ð"<Ø!ˆI�b‰MØˆEŒJˆJàˆEŒJØ×Ò˜UÑ#Ô#Ð#Ð#àÐr"   rz  c                óô   — d|j         › d|j        › d|j        › d�}|dz  }|t          ¦   «         z  }t	          | |¦  «        }|�4|dz  }|d                     t          |¦  «        ¦  «        z  }|dz  }|dz  }|S )	NúWON'T CONVERT rÕ   ú line rÖ   z.========== TorchDynamo Stack Trace ==========
zY
========== The above exception occurred while processing the following code ==========

r±   z
==========)r›  r™  Úco_firstlinenor   r  rG  r	   )r1   r&  rz  rŸ  r‚   rƒ   s         r    r9  r9  °  s¦   € ð 	X˜œÐWÐW¨Ô(8ÐWÐWÀÔ@SÐWÐWÐWð ð ÐCÑC€CØ�:‰<Œ<Ñ€CÝ  UÑ+Ô+€JØÐØðñ	
ˆð 	ˆr�wŠw•{ :Ñ.Ô.Ñ/Ô/Ñ/ˆØˆt‰ˆØˆx‰ˆà€Jr"   c           	     ór   — t          | dd¦  «        › dt          | dd¦  «        › dt          | dd¦  «        › d�S )	Nr›  z	<unknown>z (r™  r¼  r½  r   ú))r­   )r&  s    r    Úformat_frame_inforÀ  Ë  sX   € å�4˜ KÑ0Ô0ð 	6ð 	6Ý�D˜-¨Ñ5Ô5ð	6ð 	6å˜Ð.°Ñ2Ô2ð	6ð 	6ð 	6ðr"   útypes.CodeType | NoneÚreasonc                ó>   — | �t          | ¦  «        }d|› d|› �S d|› �S )Nz6torch.compile intentionally decided to skip the frame z! and fall back to eager.
Reason: zVtorch.compile intentionally decided to skip the frame and fall back to eager.
Reason: )rÀ  )r&  rÂ  Ú
frame_infos      r    Úformat_skip_frame_messagerÅ  Ó  sO   € ØÐÝ& tÑ,Ô,ˆ
ð ÀZð  ð  Øð ð  ð	
ð Øð ð  ð	
r"   c           	     ó�   — t           j        rt          | |||¦  «        S d|j        › d|j        › d|j        › dt          ¦   «         › �S )Nr»  rÕ   r¼  z 
due to: 
)r   r    r9  r›  r™  r½  r   )r1   r&  rz  rŸ  s       r    Úformat_error_msgrÇ  á  sk   € õ „~ð KÝ'¨¨T°?ÀEÑJÔJÐJð8˜DœLð 8ð 8¨4Ô+;ð 8ð 8ØÔð8ð 8Ý)3©¬ð8ð 8ð 8r"   )r   r   r   r   )r'   r(   r   r(   )r1   r2   r   r/   )rD   rE   r   rE   )rQ   rR   r'   r(   r   rS   )rQ   rÿ   r   r   )
rQ   rÿ   r  r   r'   r  rX   r  r   r   )r  r   r‚   r   r   r   )r  r   r   r3   )r%  rª   r&  r'  r²   r   r(  r   r)  r   r*  r+  r   r   )
r²   r   r(  r   r)  r   r*  r+  r   r   rd   )r²   r   r   rn   )r²   r   r(  r   r)  r   r*  r+  r7  r   r8  r´   r³   r´   r   r   )r1   rª   r‚   r   r   r   )rÖ   F)r1   rª   r‚   r   rw  r´   r   r3   )r%  rª   r…  r   r   r†  )r   r   r*   )r1   rª   rŸ  r¦  r   r„   )rž  r   r   r   )rN   r   r   r   )rž  r¶  r   r   )NN)
r1   rª   r&  r'  rz  rn   rŸ  r¦  r   r   )r&  r'  r   r   )r&  rÁ  rÂ  r   r   r   )ŠÚ
__future__r   rS  Úloggingr²  r‘  r–   rK   ÚtypingÚenumr   r   Ú	functoolsr   Úpathlibr   r}  r   r	   r
   r   r   r   r   Útorch._guardsr‡   Útorch._utils_internalr   r±   r   Úutilsr   Útorch._dynamo.variablesr   r   Úoutput_graphr   r  r   r   r   r!   Ú	getLoggerr>   rU  r:  ÚgetArtifactLoggerr<  Ú	frozensetrI   r-   ÚRuntimeErrorr/   rC   rP   rV   rS   rg   rk   rm   rr   rt   rw   ry   r{   r}   r   r�   r‘   r”   rš   r¨   r°   r¿   rÁ   rÃ   rÆ   rÈ   rÒ   rÚ   rÝ   rß   rª   râ   rä   ræ   rì   rð   rò   rô   rö   rø   rú   rü   rþ   ÚStopIterationÚLookupErrorÚ
IndexErrorÚGeneratorExitr�  ÚAttributeErrorÚNotImplementedErrorr  r  r  r  r  r!  r$  Ú_subclassesÚfake_tensorÚDataDependentOutputExceptionÚDynamicOutputShapeExceptionÚUnsupportedOperatorExceptionÚUnsupportedFakeTensorExceptionÚ$UnsupportedMutationAliasingExceptionÚ!exceptions_allowed_to_be_fallbackr?  rK  r_  rH  Úobjectrg  r¼   rk  rv  r„  rŠ  r¢  r¥  r  r¤  rµ  r¹  r9  rÀ  rÅ  rÇ  r+   r"   r    ú<module>ræ     sÃ  ðØ "Ð "Ð "Ð "Ð "Ð "ðð2 €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð ð :Ø7Ð7Ð7Ð7Ð7Ð7Ø'Ð'Ð'Ð'Ð'Ð'à0Ð0Ð0Ð0Ð0Ð0Ø;Ð;Ð;Ð;Ð;Ð;Ø9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ðð ð ð ð €gÔ˜Ñ!Ô!€Ø”>×3Ò3°H¸nÑMÔMÐ ð "+ ðñ"ô "Ð ðð ð ð ð
ð 
ð 
ð 
ð 
˜<ñ 
ô 
ð 
ð%ð %ð %ð %ð	ð 	ð 	ð 	ðð ð ð ð(ð (ð (ð (ð (˜<ñ (ô (ð (ð@	ð 	ð 	ð 	ð 	Ð3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð!5ñ 	ô 	ð 	ð ð  ð  ð  ð  Ð*ñ  ô  ð  ð	ð 	ð 	ð 	ð 	 ñ 	ô 	ð 	ðð ð ð ð  /ñ ô ð ðð ð ð ð  /ñ ô ð ð	ð 	ð 	ð 	ð 	 /ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	 ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	 _ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð$ñ 	ô 	ð 	ð
ð 
ð 
ð 
ð 
Ð,ñ 
ô 
ð 
ð
ð 
ð 
ð 
ð 
Ð)ñ 
ô 
ð 
ð	
ð 	
ð 	
ð 	
ð 	
Ð(ñ 	
ô 	
ð 	
ð'ð 'ð 'ð 'ð 'Ð+ñ 'ô 'ð 'ð$
Eð 
Eð 
Eð 
Eð 
EÐ,ñ 
Eô 
Eð 
Eð$*ð *ð *ð *ð *Ð&ñ *ô *ð *ðD	ð 	ð 	ð 	ð 	Ð+?ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð)ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð1ñ 	ô 	ð 	ð
ð ð ð ð Ð2ñ ô ð ð8ð 8ð 8ð 8ð 8�Dñ 8ô 8ð 8ðð ð ð ð Ð$ñ ô ð ð<ð ð ð ð Ð*ñ ô ð ð	ð 	ð 	ð 	ð 	Ð2ñ 	ô 	ð 	ð
ð 
ð 
ð 
ð 
Ð#7ñ 
ô 
ð 
ð	ð 	ð 	ð 	ð 	˜iñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð'ñ 	ô 	ð 	ð

ð 

ð 

ð 

ð 

Ð,ñ 

ô 

ð 

ðð ð ð ð Ð 1ñ ô ð ð 	ð 	ð 	ð 	ð 	Ð+ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð,ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð*ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð-ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð.ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð,ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð 	Ð"3ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð)ñ 	ô 	ð 	ð Ð,ØÐ$ØÐ"ØÐ(ØÐØÐ*ØÐ&ØÐ4ØÐ ð
Ð ð,ð ,ð ,ð ,ð 6:Ø04ðð ð ð ð ð ðD8ð 8ð 8ð 8ð
9ð 9ð 9ð 9ð
.ð .ð .ð .ð< 
ÔÔ!Ô>Ø	ÔÔ!Ô=Ø	ÔÔ!Ô>Ø	ÔÔ!Ô@Ø	ÔÔ!ÔFð%Ð !ð#ð #ð #ð #ðLð ð ð ð4 €�1ÐÑÔðð ð ñ Ôðð4ð ð ð ð0 ˆ6‰8Œ8€ð ØØð%0ð %0ð %0ð %0ð %0ð %0ðTð ð ð ð ñ ô ð ð	ð 	ð 	ð 	ð.-ð .-ð .-ð .-ð .-ðb	ð 	ð 	ð 	ðð ð ð ð>9ð 9ð 9ð 9ð
 59ðCð Cð Cð Cð CðBð ð ð ð ð ð ð ð ð  ð  ð  ðL #'Ø$(ð	ð ð ð ð ð6ð ð ð ð
ð 
ð 
ð 
ð" #'Ø$(ð		8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8r"   