+
    –°³jMŠ  ã                  ó<  € ^ RI Ht  ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ RIHtHtHt ^ RIt^ RIHt ^R	IHt ^R
IHt ]'       d!   ^ RI H!t! ^ RIH"t" ^RI#H$t$ ^RI%H&t& ^RIH't'H(t( R R lt)]PT                  ! ]+4      t,]PZ                  P]                  ]+R4      t/]0! R¦4      t1R R lt2 ! R R]34      t4R R lt5R R lt6R R lt7 ! R R]34      t8 ! R R ]84      t9 ! R! R"]84      t: ! R# R$]84      t; ! R% R&];4      t< ! R' R(];4      t= ! R) R*];4      t> ! R+ R,];4      t? ! R- R.];4      t@ ! R/ R0];4      tA ! R1 R2]84      tB ! R3 R4]84      tC ! R5 R6]84      tD ! R7 R8]84      tE ! R9 R:]84      tF ! R; R<]F4      tG ! R= R>]84      tH ! R? R@]84      tI ! RA RB]84      tJ ! RC RD]84      tK ! RE RF]84      tL ! RG RH]4      tM ! RI RJ]84      tN ! RK RL]84      tO ! RM RN]84      tP ! RO RP]84      tQ ! RQ RR]R4      tS ! RS RT]84      tT ! RU RV]84      tU ! RW RX]U4      tV ! RY RZ]U4      tW ! R[ R\]W4      tX ! R] R^]W4      tY ! R_ R`]U4      tZ ! Ra Rb]U4      t[ ! Rc Rd]U4      t\ ! Re Rf]U4      t] ! Rg Rh]U4      t^ ! Ri Rj]U4      t_]`]V]a]W]b]X]c]Z]d]Y]e][]3]\]f]]]g]^/	th ! Rk Rl]f4      ti ! Rm Rn]34      tjRo Rp ltkRqRRrR/Rs Rt lltlRu Rv ltmRw Rx ltnRy Rz lto]Pà                  Pâ                  Pä                  ]Pà                  Pâ                  Pæ                  ]Pà                  Pâ                  Pè                  ]Pà                  Pâ                  Pê                  ]Pà                  Pâ                  Pì                  3twR{ R| ltxR} R~ lty]! ^R7      R€ R� l4       tzR‚ Rƒ lt{]|! 4       t}R„]}R…R†R‡R†/Rˆ R‰ llt~ ! RŠ R‹4      tRŒ R� lt€R§RŽ R� llt�R� R‘ lt‚R’ R“ ltƒR” R• lt„R¨R– R— llt…R˜ R™ lt†Rš R› lt‡Rœ R� ltˆR©Rž RŸ llt‰R  R¡ ltŠR¢ R£ lt‹R©R¤ R¥ lltŒR# )ªé    )Ú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ÚFrameExecStrategyc               ó    € V ^8„  d   QhRRRR/# )é   Ú	case_nameÚstrÚreturn© )Úformats   "ÚR/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/exc.pyÚ__annotate__r    T   s   € ÷ ñ  cð ¨cñ ó    c                ó4   € RV P                  RR4      ,           # )z,For more information about this error, see: Ú_Ú-zhFor more information about this error, see: https://pytorch.org/docs/main/generated/exportdb/index.html#)Úreplace)r   s   &r   Úexportdb_error_messager&   T   s"   € ð	Ià
×
Ñ
˜C Ó
%õ	&ðr!   Úgraph_breaksc               ó    € V ^8„  d   QhRRRR/# )r   Úargsútuple[Any, ...]r   r   )r   s   "r   r    r    i   s   € ÷ ñ ˜ð °?ñ r!   c                ó   € V # ©Nr   ©r)   s   &r   Ú_safe_exception_argsr.   i   s   € Ø€Kr!   c                  ó:   a € ] tR t^mt$ R]R&   R V 3R lltRtV ;t# )Ú_SerializedExceptionr   Ú_dynamo_original_exception_typec               ó    € V ^8„  d   QhRRRR/# )r   ÚexcÚBaseExceptionr   ÚNoner   )r   s   "r   r    Ú!_SerializedException.__annotate__p   s   € ÷ 
ñ 
˜Mð 
¨dñ 
r!   c                	óœ   <€ \         SV `  \        V4      4       \        V4      P                   R \        V4      P
                   2V n        R# )Ú.N)ÚsuperÚ__init__r   ÚtypeÚ
__module__Ú__qualname__r1   )Úselfr3   Ú	__class__s   &&€r   r:   Ú_SerializedException.__init__p   s@   ø€ Ü‰Ñœ˜S›Ô"ä�C‹y×#Ñ#Ð$ A¤d¨3£i×&<Ñ&<Ð%=Ð>ð 	Ö,r!   )r1   ©Ú__name__r<   r=   Ú__firstlineno__Ú__annotations__r:   Ú__static_attributes__Ú__classcell__©r?   s   @r   r0   r0   m   s   ø‡ Ø%(Ó(÷
ö 
r!   r0   c               ó    € V ^8„  d   QhRRRR/# )r   r3   r4   r   r0   r   )r   s   "r   r    r    w   s   € ÷ %ñ %˜}ð %Ð1Eñ %r!   c                ó   € \        V 4      # r,   )r0   )r3   s   &r   Ú_safe_inner_exceptionrJ   w   s   € Ü Ó$Ð$r!   c               ó    € V ^8„  d   QhRRRR/# )r   Ústateúdict[str, Any]r   r   )r   s   "r   r    r    {   s   € ÷ 	ñ 	 ð 	°Nñ 	r!   c                óþ   € / pV P                  4        Ff  w  r#V\        9   g!   \        V\        P                  4      '       d   R W&   K6  VR8X  d&   \        V\
        4      '       d   \        V4      W&   Kb  W1V&   Kh  	  V# )NÚinner_exception)ÚitemsÚ_EXCEPTION_STATE_ATTRS_TO_DROPÚ
isinstanceÚtypesÚ	FrameTyper4   rJ   )rL   ÚresultÚnameÚvalues   &   r   Ú_safe_exception_staterX   {   sh   € Ø€FØ—{‘{–}‰ˆØÔ1Ô1´ZÀÄuÇÁ×5WÒ5WØˆF‹LØÐ&Ô&¬:°e¼]×+KÒ+KÜ0°Ó7ˆF‹Là �4‹Lñ %ð €Mr!   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úexc_typeztype[TorchDynamoException]r)   r*   r   ÚTorchDynamoExceptionr   )r   s   "r   r    r    ‡   s$   € ÷ ñ Ø(ðØ0?ðàñr!   c                óX   € V P                  V 4      p\        P                  ! V.VO5!   V# r,   )Ú__new__r4   r:   )rZ   r)   r3   s   && r   Ú#_reconstruct_torch_dynamo_exceptionr^   ‡   s,   € ð ×
Ñ
˜8Ó
$€CÜ×Ò˜3Ð& Ô&Ø€Jr!   c                  óV   a € ] tR t^�tRtR V 3R lltR R ltR R ltR R	 ltR
t	V ;t
# )r[   a  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.
c               ó$   € V ^8„  d   QhRRRRRR/# )r   r)   r   Úkwargsr   r5   r   )r   s   "r   r    Ú!TorchDynamoException.__annotate__›   s&   € ÷ Bñ B˜cð B¨Sð B°Tñ Br!   c                	óD   <€ \         SV `  ! V/ VB  R V n        R V n        R # r,   )r9   r:   Ú_torch_dynamo_tracer_outputÚframe_exec_strategy)r>   r)   ra   r?   s   &*,€r   r:   ÚTorchDynamoException.__init__›   s%   ø€ Ü‰Ò˜$Ð) &Ò)ØFJˆÔ(Ø=AˆÖ r!   c               ó   € V ^8„  d   QhRR/# )r   r   r*   r   )r   s   "r   r    rb       s   € ÷ 
ñ 
˜Oñ 
r!   c                	ól   € \         \        V 4      \        V P                  4      3V P	                  4       3# r,   )r^   r;   r.   r)   Ú__getstate__©r>   s   &r   Ú
__reduce__ÚTorchDynamoException.__reduce__    s1   € ä/Ü�$‹ZÔ-¨d¯i©iÓ8Ð9Ø×ÑÓð
ð 	
r!   c               ó   € V ^8„  d   QhRR/# ©r   r   rM   r   )r   s   "r   r    rb   §   s   € ÷ 4ñ 4˜nñ 4r!   c                	ó,   € \        V P                  4      # r,   )rX   Ú__dict__rj   s   &r   ri   Ú!TorchDynamoException.__getstate__§   s   € Ü$ T§]¡]Ó3Ð3r!   c               ó    € V ^8„  d   QhRRRR/# )r   rL   zdict[str, Any] | Noner   r5   r   )r   s   "r   r    rb   ª   s   € ÷ (ñ (Ð"7ð (¸tñ (r!   c               	óH   € Ve   V P                   P                  V4       R # R # r,   )rp   Úupdate)r>   rL   s   ""r   Ú__setstate__Ú!TorchDynamoException.__setstate__ª   s   € ØÒØ�M‰M× Ñ  Ö'ñ r!   )rd   re   )rB   r<   r=   rC   Ú__doc__r:   rk   ri   ru   rE   rF   rG   s   @r   r[   r[   �   s(   ø† ñ	÷Bð Bõ

õ4÷(ó (r!   r[   c                  ó   € ] tR t^¯tRtR# )ÚInternalTorchDynamoErrorr   N©rB   r<   r=   rC   rE   r   r!   r   ry   ry   ¯   ó   † Ûr!   ry   c                  ó   € ] tR t^³tRtR# )ÚResumePrologueTracingErrorr   Nrz   r   r!   r   r}   r}   ³   r{   r!   r}   c                  óB   a € ] tR t^·t$ R]R&   RR/R V 3R llltRtV ;t# )ÚRestartAnalysisú
str | NoneÚrestart_reasonNc               ó$   € V ^8„  d   QhRRRRRR/# )r   r)   r   r�   r€   r   r5   r   )r   s   "r   r    ÚRestartAnalysis.__annotate__º   s!   € ÷  ñ  ˜cð  °:ð  Èñ  r!   c               	ó0   <€ Wn         \        SV `  ! V!   R # r,   )r�   r9   r:   )r>   r�   r)   r?   s   &$*€r   r:   ÚRestartAnalysis.__init__º   s   ø€ Ø,ÔÜ‰Ò˜$Ôr!   )r�   rA   rG   s   @r   r   r   ·   s   ø‡ ØÓð À÷  ÷  ð  r!   r   c                  ó   € ] tR t^¿tRtR# )ÚSpeculationRestartAnalysisr   Nrz   r   r!   r   r‡   r‡   ¿   r{   r!   r‡   c                  ó   € ] tR t^ÃtRtRtR# )ÚAutogradGradRestartAnalysisz„Raised when autograd.grad consumed grad_fns that are returned.

On restart, autograd.grad will graph break instead of being traced.
r   N©rB   r<   r=   rC   rw   rE   r   r!   r   r‰   r‰   Ã   s   † õr!   r‰   c                  ó   € ] tR t^ÊtRtRtR# )Ú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.
r   NrŠ   r   r!   r   rŒ   rŒ   Ê   s   † õr!   rŒ   c                  ó   € ] tR t^ÒtRtR# )ÚUnspecializeRestartAnalysisr   Nrz   r   r!   r   rŽ   rŽ   Ò   r{   r!   rŽ   c                  ó   € ] tR t^ÖtRtR# )Ú CompileCollectiveRestartAnalysisr   Nrz   r   r!   r   r�   r�   Ö   r{   r!   r�   c                  ó   € ] tR t^ÚtRtR# )ÚTensorifyScalarRestartAnalysisr   Nrz   r   r!   r   r’   r’   Ú   r{   r!   r’   c                  ó   € ] tR t^âtRtR# )Ú	SkipFramer   Nrz   r   r!   r   r”   r”   â   r{   r!   r”   c                  ó2   a € ] tR t^ætRR V 3R llltRtV ;t# )ÚTorchRuntimeErrorc               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úmsgr   Ú
real_stackúStackSummary | Noner   r5   r   )r   s   "r   r    ÚTorchRuntimeError.__annotate__ç   ó"   € ÷ 
ñ 
˜Cð 
Ð-@ð 
ÈDñ 
r!   c                	ó¦   <€ \         SV `  V4       Wn        Ve
   VV n        R # \        P                  P
                  P                  4       V n        R # r,   ©r9   r:   r™   ÚtorchÚ_guardsÚTracingContextÚextract_stackrš   ©r>   r™   rš   r?   s   &&&€r   r:   ÚTorchRuntimeError.__init__ç   óH   ø€ Ü‰Ñ˜ÔØŒð Ò%ð ð 	Žô —‘×-Ñ-×;Ñ;Ó=ð 	Žr!   ©r™   rš   r,   ©rB   r<   r=   rC   r:   rE   rF   rG   s   @r   r–   r–   æ   ó   ø† ÷
÷ 
ð 
r!   r–   c                  ó2   a € ] tR t^ñtRR V 3R llltRtV ;t# )ÚInvalidBackendc               ó$   € V ^8„  d   QhRRRRRR/# )r   rV   r   Úsuggestionszlist[str] | Noner   r5   r   )r   s   "r   r    ÚInvalidBackend.__annotate__ò   s"   € ÷ ñ ˜Sð Ð/?ð È4ñ r!   c                	ó¬   <€ R V: 2pTV'       d$   RRP                  \        \        V4      4       R2MR,          pVR,          p\        SV `  V4       R# )zInvalid backend: z, did you mean: z, Ú?r8   z< See `torch._dynamo.list_backends()` for available backends.N)ÚjoinÚmapÚreprr9   r:   )r>   rV   r­   r™   r?   s   &&& €r   r:   ÚInvalidBackend.__init__ò   sX   ø€ Ø! $¡Ð*ˆØçð ˜tŸy™y¬¬T°;Ó)?Ó@ÐAÀÑCàõ	
ˆð
 	ÐMÕMˆÜ‰Ñ˜Ör!   r   r,   r¨   rG   s   @r   r«   r«   ñ   s   ø† ÷÷ ð r!   r«   c                  ó.   a € ] tR t^ýtR V 3R lltRtV ;t# )ÚResetRequiredc               ó   € V ^8„  d   QhRR/# ©r   r   r5   r   )r   s   "r   r    ÚResetRequired.__annotate__þ   s   € ÷ 
ñ 
˜$ñ 
r!   c                	óN   <€ \         SV `  \        P                  ! R 4      4       R# )zÃ
                Must call `torch._dynamo.reset()` before changing backends.  Detected two calls to
                `torch.compile()` with a different backend compiler arguments.
                N)r9   r:   ÚtextwrapÚdedent)r>   r?   s   &€r   r:   ÚResetRequired.__init__þ   s!   ø€ Ü‰ÑÜ�OŠOðóö	
r!   r   r¨   rG   s   @r   r¶   r¶   ý   s   ø† ÷
ö 
r!   r¶   c                  ó:   a € ] tR tRtR V 3R lltR R ltRtV ;t# )ÚShortenTracebacki	  c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r)   r   Úfirst_useful_frameútypes.FrameType | Nonera   r   r5   r   )r   s   "r   r    ÚShortenTraceback.__annotate__
  s,   € ÷ 5ñ 5Øð5Ø.Dð5ØPSð5à	ñ5r!   c               	ó4   <€ \         SV `  ! V/ VB  Wn        R # r,   )r9   r:   rÁ   )r>   rÁ   r)   ra   r?   s   &$*,€r   r:   ÚShortenTraceback.__init__
  s   ø€ ô 	‰Ò˜$Ð) &Ò)Ø"4Ör!   c               ó   € V ^8„  d   QhRR/# )r   r   ztyping.Selfr   )r   s   "r   r    rÃ     s   € ÷ 'ñ ' kñ 'r!   c                	óþ   € V P                   pV P                  e   Ve   \        P                  '       d   V # VP                  V P                  Jd   VP
                  pVe   K,  \        R4      hV P                  V4      # )Nz#internal error, please report a bug)Ú__traceback__rÁ   r   ÚverboseÚtb_frameÚtb_nextÚAssertionErrorÚwith_traceback)r>   Útbs   & r   Úremove_dynamo_framesÚ%ShortenTraceback.remove_dynamo_frames  sg   € Ø×ÑˆØ×"Ñ"Ò*¨bªj¼F¿N¿N¸NØˆKØ�k‰k ×!8Ñ!8Ó8Ø—‘ˆBØŒzÜ$Ð%JÓKÐKØ×"Ñ" 2Ó&Ð&r!   ©rÁ   )rB   r<   r=   rC   r:   rÏ   rE   rF   rG   s   @r   r¿   r¿   	  s   ø† ÷5ð 5÷'ó 'r!   r¿   c                  ó.   a € ] tR tRtR V 3R lltRtV ;t# )ÚBackendCompilerFailedi  c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Ú
backend_fnr   rO   Ú	ExceptionrÁ   rÂ   r   r5   r   )r   s   "r   r    Ú"BackendCompilerFailed.__annotate__  s8   € ÷ 	Eñ 	Eàð	Eð #ð	Eð 3ð		Eð
 
ñ	Er!   c                	óª   <€ \        VR R4      V n        W n        RV P                  : R\        V4      P                   RV 2p\
        SV `  WCR7       R# )rB   r°   zbackend=z	 raised:
z: rÑ   N)ÚgetattrÚbackend_namerO   r;   rB   r9   r:   )r>   rÕ   rO   rÁ   r™   r?   s   &&&& €r   r:   ÚBackendCompilerFailed.__init__  sZ   ø€ ô $ J°
¸CÓ@ˆÔØ.ÔØ˜×*Ñ*Ñ-¨Z¼¸_Ó8M×8VÑ8VÐ7WÐWYÐZiÐYjÐkˆÜ‰Ñ˜ÐÖDr!   )rÚ   rO   r¨   rG   s   @r   rÓ   rÓ     s   ø† ÷	Eö 	Er!   rÓ   c                  óZ   a € ] tR tRtRRRRR/R V 3R lllltR R ltRR	 R
 lltRtV ;t# )ÚUnsupportedi-  r   Nrš   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r   r™   r   Úgb_typeÚ
skip_frameÚboolr   r€   rš   r›   r   r5   r   )r   s   "r   r    ÚUnsupported.__annotate__.  sF   € ÷ ñ àðð ð	ð
 ðð ðð (ðð 
ñr!   c               	óò   <€ \         SV `  V4       V'       g)   \        P                  P                  P                  4       pWPn        Wn        W0n        R V n	        V P                  4        W n        RV n        R # )NF)r9   r:   r    r¡   r¢   r£   rš   r™   rà   ÚcategoryÚadd_to_statsrß   Úlogged)r>   r™   rß   rà   r   rš   r?   s   &&&&$$€r   r:   ÚUnsupported.__init__.  s[   ø€ ô 	‰Ñ˜ÔßÜŸ™×5Ñ5×CÑCÓEˆJØ$ŒØŒØ$ŒØ$(ˆŒØ×ÑÔØ#*ŒØˆŽr!   c               ó   € V ^8„  d   QhRR/# r¸   r   )r   s   "r   r    râ   C  s   € ÷ 2ñ 2 4ñ 2r!   c                	óB  € V P                   f   \        R4      h\        V P                   ,          V P                  ;;,          ^,          uu&   \        V P                   ,          V P                  ,          ^ 8:  d%   \        V P                   ,          V P                   R # R # )Nz/category must be set before removing from stats)rä   rÌ   r   r™   rj   s   &r   Úremove_from_statsÚUnsupported.remove_from_statsC  si   € Ø�=‰=Ò Ü Ð!RÓSÐSÜ�—‘Õ §¡×)¨QÕ.Ó)Ü�D—M‘MÕ" 4§8¡8Õ,°Ô1Ü˜Ÿ™Õ'¨¯©Ò1ñ 2r!   c               ó    € V ^8„  d   QhRRRR/# )r   rä   r   r   r5   r   )r   s   "r   r    râ   J  s   € ÷ *ñ * Sð *¸tñ *r!   c                	óf   € Wn         \        V,          V P                  ;;,          ^,          uu&   R# )é   N)rä   r   r™   )r>   rä   s   &&r   rå   ÚUnsupported.add_to_statsJ  s    € Ø ŒÜ�Õ˜4Ÿ8™8×$¨Õ)Õ$r!   )rä   rß   ræ   r™   rš   rà   )Ú F)Úunimplemented)	rB   r<   r=   rC   r:   rê   rå   rE   rF   rG   s   @r   rÝ   rÝ   -  s0   ø† ñð !%ðð +/÷ó õ*2÷*õ *r!   rÝ   c                  ó   € ] tR tRtRtR# )Ú$UnknownPropertiesDuringBackwardTraceiO  r   Nrz   r   r!   r   ró   ró   O  r{   r!   ró   c                  ó   € ] tR tRtRtR# )ÚRecompileErroriS  r   Nrz   r   r!   r   rõ   rõ   S  r{   r!   rõ   c                  ó   € ] tR tRtRtR# )ÚInfiniteGeneratorErroriW  r   Nrz   r   r!   r   r÷   r÷   W  ó   † ãr!   r÷   c                  ó   € ] tR tRtRtRtR# )ÚCondOpArgsMismatchErrori\  z7
Internal error from cond() due to arguments mismatch.
r   NrŠ   r   r!   r   rú   rú   \  s   † õr!   rú   c                  ó†   € ] tR tRt]! 4       t]! 4       t]! 4       t]! 4       t]! 4       t	]! 4       t
]! 4       t]! 4       tRtR# )ÚUserErrorTypeib  r   N)rB   r<   r=   rC   r   ÚDYNAMIC_CONTROL_FLOWÚANTI_PATTERNÚSTANDARD_LIBRARYÚCONSTRAINT_VIOLATIONÚDYNAMIC_DIMÚINVALID_INPUTÚINVALID_OUTPUTÚ*UNSUPPORTED_ALIASED_MUTATED_DYNAMIC_INPUTSrE   r   r!   r   rü   rü   b  s>   † Ù›6ÐÙ“6€LÙ“vÐÙ›6ÐÙ“&€KÙ“F€MÙ“V€NÙ15³Ô.r!   rü   c                  ó2   a € ] tR tRtRR V 3R llltRtV ;t# )Ú	UserErrorim  c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Ú
error_typerü   r™   r   r   r€   r   r5   r   )r   s   "r   r    ÚUserError.__annotate__n  s,   € ÷ ñ Ø'ðØ.1ðØ>Hðà	ñr!   c                óš  <€ Vej   \        V\        4      '       g   \        R\        V4       24      hVP	                  R4      '       d   VR,          pM	VR,          pV\        V4      ,          p\        SV `  V4       \        P                  P                  P                  4       V n        RV n        RV n        Wn        W n        W n        R# )a  
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 r8   Ú Ú
F)rR   r   rÌ   r;   Úendswithr&   r9   r:   r    r¡   r¢   r£   rš   rà   ræ   r  r™   Úmessage)r>   r  r™   r   r?   s   &&&&€r   r:   ÚUserError.__init__n  s¥   ø€ ð Ò Ü˜i¬×-Ò-Ü$Ð'DÄTÈ)Ã_ÐDUÐ%VÓWÐWØ�|‰|˜C× Ò Ø�s•
‘à�t•�ØÔ)¨)Ó4Õ4ˆCÜ‰Ñ˜ÔÜŸ-™-×6Ñ6×DÑDÓFˆŒØˆŒØˆŒØ$ŒØŒØŽr!   )r  ræ   r  r™   rš   rà   r,   r¨   rG   s   @r   r  r  m  s   ø† ÷÷ ð r!   r  c                  ó2   a € ] tR tRtRR V 3R llltRtV ;t# )ÚStepUnsupportedi‹  c               ó$   € V ^8„  d   QhRRRRRR/# r˜   r   )r   s   "r   r    ÚStepUnsupported.__annotate__Œ  s"   € ÷ ñ ˜Cð Ð-@ð ÈDñ r!   c                	ó¬   <€ \         SV `  V4       Wn        V'       g)   \        P                  P
                  P                  4       pW n        R V n        R# )FN)	r9   r:   r™   r    r¡   r¢   r£   rš   ræ   r¤   s   &&&€r   r:   ÚStepUnsupported.__init__Œ  s<   ø€ Ü‰Ñ˜ÔØŒßÜŸ™×5Ñ5×CÑCÓEˆJØ$ŒØˆŽr!   )ræ   r™   rš   r,   r¨   rG   s   @r   r  r  ‹  s   ø† ÷÷ ð r!   r  c                  ó   € ] tR tRtRtR# )ÚUnsafeScriptObjectErrori•  r   Nrz   r   r!   r   r  r  •  r{   r!   r  c                  ó2   a € ] tR tRtRR V 3R llltRtV ;t# )ÚUncapturedHigherOrderOpErrori™  c               ó$   € V ^8„  d   QhRRRRRR/# r˜   r   )r   s   "r   r    Ú)UncapturedHigherOrderOpError.__annotate__š  r�   r!   c                	ó¦   <€ \         SV `  V4       Wn        Ve
   VV n        R # \        P                  P
                  P                  4       V n        R # r,   rŸ   r¤   s   &&&€r   r:   Ú%UncapturedHigherOrderOpError.__init__š  r¦   r!   r§   r,   r¨   rG   s   @r   r  r  ™  r©   r!   r  c                  ó   € ] tR tRtRtR# )ÚFailOnRecompileLimitHiti§  r   Nrz   r   r!   r   r  r  §  r{   r!   r  c                  ó   € ] tR tRtRtR# )ÚPackageErrori«  r   Nrz   r   r!   r   r!  r!  «  r{   r!   r!  c                  ó6   a € ] tR tRtRR/R V 3R llltRtV ;t# )ÚObservedExceptioni¯  rš   Nc               ó(   € V ^8„  d   QhRRRRRRRR/# ©r   r)   r   rš   r›   ra   r   r5   r   )r   s   "r   r    ÚObservedException.__annotate__±  s,   € ÷ 
ñ 
Øð
Ø&9ð
ØLOð
à	ñ
r!   c               	óœ   <€ \         SV `  ! V/ VB  Ve
   VV n        R # \        P                  P                  P                  4       V n        R # r,   )r9   r:   r    r¡   r¢   r£   rš   ©r>   rš   r)   ra   r?   s   &$*,€r   r:   ÚObservedException.__init__±  sJ   ø€ ô 	‰Ò˜$Ð) &Ò)ð Ò%ð ð 	Žô —‘×-Ñ-×;Ñ;Ó=ð 	Žr!   ©rš   r¨   rG   s   @r   r#  r#  ¯  s   ø† ð
Ø<@÷
÷ 
ð 
r!   r#  c                  óB   a € ] tR tRt$ R]R&   RR/R V 3R llltRtV ;t# )	ÚObservedUserStopIterationi¼  z
Any | NonerW   rš   Nc               ó(   € V ^8„  d   QhRRRRRRRR/# r%  r   )r   s   "r   r    Ú&ObservedUserStopIteration.__annotate__Â  s,   € ÷ ñ ØðØ&9ðØLOðà	ñr!   c               	óx   <€ \         SV `  R VR7       \        V4      ^ 8”  d   V^ ,          V n        R# RV n        R# )zunhandled `raise StopIteration`r*  N)r9   r:   ÚlenrW   r(  s   &$*,€r   r:   Ú"ObservedUserStopIteration.__init__Â  s5   ø€ ô 	‰ÑÐ:ÀzÐÔRÜˆt‹9�qŒ=Ø˜a�ˆDŽJàˆDŽJr!   ©rW   rA   rG   s   @r   r,  r,  ¼  s    ø‡ àÓðØ<@÷÷ ð r!   r,  c                  ó   € ] tR tRtRtR# )ÚObservedLookupErroriÌ  r   Nrz   r   r!   r   r4  r4  Ì  rø   r!   r4  c                  ó   € ] tR tRtRtR# )ÚObservedIndexErroriÑ  r   Nrz   r   r!   r   r6  r6  Ñ  rø   r!   r6  c                  ó   € ] tR tRtRtR# )ÚObservedKeyErroriÖ  r   Nrz   r   r!   r   r8  r8  Ö  rø   r!   r8  c                  ó   € ] tR tRtRtR# )ÚObservedGeneratorExitiÛ  r   Nrz   r   r!   r   r:  r:  Û  r{   r!   r:  c                  ó   € ] tR tRtRtR# )ÚObservedAttributeErroriß  r   Nrz   r   r!   r   r<  r<  ß  rø   r!   r<  c                  ó   € ] tR tRtRtR# )ÚObservedRuntimeErroriä  r   Nrz   r   r!   r   r>  r>  ä  rø   r!   r>  c                  ó   € ] tR tRtRtR# )ÚObservedNotImplementedErrorié  r   Nrz   r   r!   r   r@  r@  é  r{   r!   r@  c                  ó   € ] tR tRtRtR# )ÚObservedTypeErrorií  r   Nrz   r   r!   r   rB  rB  í  rø   r!   rB  c                  ó   € ] tR tRtRtR# )ÚFakeTensorObservedExceptioniò  r   Nrz   r   r!   r   rD  rD  ò  r{   r!   rD  c                  ó   € ] tR tRtRtRtR# )ÚUnhandledDescriptorErrori  ac  Raised by object_generic_getattr when a descriptor type is not
recognized by _resolve_descriptor_get.  Subclasses NotImplementedError
so callers that catch NotImplementedError (e.g., generic_getattr's
graph-break fallback) still work, but callers that want to
distinguish unhandled descriptors from other NotImplementedErrors can
catch this specifically.
r   NrŠ   r   r!   r   rF  rF    s   † õr!   rF  c                  ó   € ] tR tRtRtRtR# )ÚTritonUnavailableErrori  aŸ  
Raised by DeviceInterface.raise_if_triton_unavailable to signal that a
device cannot run Triton (e.g. no Triton backend was built for it).

Subclasses RuntimeError so existing callers that catch RuntimeError keep
working, while callers that only want to react to Triton unavailability -
such as has_triton() - can catch this specific type instead of swallowing
every RuntimeError, which would hide unrelated bugs.
r   NrŠ   r   r!   r   rH  rH    s   † õr!   rH  c               ó    € V ^8„  d   QhRRRR/# )r   rZ   útype[Exception]r   ztype[ObservedException]r   )r   s   "r   r    r      s   € ÷ ,ñ ,¨Oð ,Ð@Wñ ,r!   c                ó˜   € V \         9  d4   \        V R \        V 4      4      p\        RV R2\        3/ 4      \         V &   \         V ,          # )rB   ÚObservedÚError)Úobserved_exception_maprÙ   r   r;   r#  )rZ   rV   s   & r   Úget_dynamo_observed_exceptionrO    sN   € ØÔ-Ô-Ü�x ¬S°«]Ó;ˆÜ+/Ø�t�f˜EÐ"Ô%6Ð$8¸"ó,
Ô˜xÑ(ô " (Õ+Ð+r!   r)   ra   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r   rZ   rJ  Útxr   r)   z(list[VariableTracker] | list[str] | Nonera   z!dict[str, VariableTracker] | Noner   r   r   )r   s   "r   r    r    #  s:   € ÷ $ñ $Øð$à!ð$ð 3ð	$ð
 .ð$ð ñ$r!   c               ó  € ^RI Hp V'       d:   V Uu. uF,  p\        V\        4      '       d   VP	                  W4      MTNK.  	  ppM. pVP	                  W4      P                  YT;'       g    / 4      pVP                  VR4       R# u upi )rî   )ÚSourcelessBuilderN)Úvariables.builderrS  rR   r   ÚcreateÚcall_functionÚdo_raise)rZ   rQ  r)   ra   rS  ÚargÚargs_Úexception_vts   &&$$    r   Úraise_observed_exceptionr[  #  s�   € õ 5çñ ó
á�ô 2<¸CÄ×1EÒ1EÐ×$Ñ$ RÔ-È3ÒNÙð 	ð 
ˆð
 (*ˆð %×+Ñ+¨BÓ9×GÑGØ
�6—<�<˜Ró€Lð ‡K�K�˜dÖ#ùò
s   “2B	c               ó$   € V ^8„  d   QhRRRRRR/# ©r   rQ  r   r™   r   r   r   r   )r   s   "r   r    r    <  s"   € ÷ 8ñ 8Ð2ð 8¸ð 8Àñ 8r!   c                ó*   € \        \        W.R7       R# )z:Raise a TypeError as an observed exception during tracing.r-   N)r[  Ú	TypeError©rQ  r™   s   &&r   Úraise_type_errorra  <  s   € äœY¨°×7r!   c               ó$   € V ^8„  d   QhRRRRRR/# r]  r   )r   s   "r   r    r    A  s"   € ÷ 9ñ 9Ð3ð 9¸#ð 9À(ñ 9r!   c                ó*   € \        \        W.R7       R# )z;Raise a ValueError as an observed exception during tracing.r-   N)r[  Ú
ValueErrorr`  s   &&r   Úraise_value_errorre  A  s   € äœZ¨°%×8r!   c               ó    € V ^8„  d   QhRRRR/# )r   rQ  r   r   r5   r   )r   s   "r   r    r    F  s   € ÷ .ñ . #ð .¨$ñ .r!   c                ó:   € V P                   P                  4        R # r,   )Úexn_vt_stackÚclear_current_exception)rQ  s   &r   Úhandle_observed_exceptionrj  F  s   € ð2 ‡O�O×+Ñ+Ö-r!   c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )r   ÚerÖ   Úcodeútypes.CodeTyperß   r   ÚcontextÚexplanationÚhintsú	list[str]r   r   r   )r   s   "r   r    r    l  sN   € ÷ #ñ #Øð#à
ð#ð ð	#ð
 ð#ð ð#ð ð#ð ñ#r!   c          	     óÀ   a€ \        W4      o\        P                  P                  R R V3R lR7       \        P                  RS4       \        pV! VVVVV RR7       R# )Úartifactc                 ó   € R RRR/# )rV   Údynamo_graph_break_reasonÚencodingÚstringr   r   r!   r   Ú<lambda>Ú,unimplemented_with_warning.<locals>.<lambda>  s   € ØÐ/Ø˜ñ
r!   c                 ó   <€ S # r,   r   )Úgraph_break_msgs   €r   ry  rz  ƒ  s   ø€ ™?r!   )Úmetadata_fnÚ
payload_fnz%sT)rß   ro  rp  rq  Úfrom_excÚlog_warningN)Úformat_error_msg_verboser    Ú_loggingÚtrace_structuredÚgraph_breaks_logÚdebugrñ   )rl  rm  rß   ro  rp  rq  Ú_unimplementedr|  s   &&$$$$ @r   Úunimplemented_with_warningr‡  l  sd   ø€ ô  /¨qÓ7€OÜ	‡N�N×#Ñ#Øñ
ô +ð $ô ô ×Ñ˜4 Ô1Ü"€NáØØØØØØ÷r!   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )r   rß   r   ro  rp  rq  rr  r   r   )r   s   "r   r    r    ’  s:   € ÷ ñ Øðàðð ðð ð	ð
 	ñr!   c                ó"  € \         P                  ! VR 4      P                  4       pRP                  R V 4       4      p\         P                  ! VR 4      P                  4       pV  RV RV RV 2p\	        V 4      pV'       d   VRV 2,          pV# )ú    r  c              3  óz   "  € T F1  pR \         P                  ! VR4      P                  4       ,           x € K3  	  R# 5i)z  Hint: rŠ  N)r»   ÚindentÚlstrip)Ú.0Úhints   & r   Ú	<genexpr>Ú-format_graph_break_message.<locals>.<genexpr>™  s/   é € ð ÙHMÀˆ
”X—_’_ T¨6Ó2×9Ñ9Ó;×;Ò;Ëùs   ‚9;z
  Explanation: z

  Developer debug context: z:

 For more details about this graph break, please visit: )r»   rŒ  r�  r±   Úget_gbid_documentation_link)rß   ro  rp  rq  Ú	hints_strr™   Údocumentation_links   &&&&   r   Úformat_graph_break_messager•  ’  s¨   € ô —/’/ +¨vÓ6×=Ñ=Ó?€KØ—	‘	ñ ÙHMóó €Iô �oŠo˜g vÓ.×5Ñ5Ó7€Gð 	€	ð 
Øˆ}ð Ø
€ð à#˜9ð(€Cô 5°WÓ=ÐçØÐMÐN`ÐMaÐbÕbˆà€Jr!   )Úmaxsizec               ó   € V ^8„  d   QhRR/# rn   r   )r   s   "r   r    r    ­  s   € ÷ ñ  Nñ r!   c                 óº  €  \        \        4      P                  4       P                  p \	        R\        V 4      R4      p\        V4      ;_uu_ 4       p\        P                  ! V4      pRRR4       / pXP                  4        F  w  rVT F  pYTTR,          &   K  	  K  	  T#   + '       g   i     LA; i  \         d    \        P                  R4       / p Lhi ; i)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Ú	exceptionrP   )Ú
script_dirÚregistry_pathÚfÚregistryÚmappingÚkÚvÚentrys           r   Ú_load_gb_type_to_gb_id_maprª  ¬  s·   € ð
Üœ(“^×+Ñ+Ó-×4Ñ4ˆ
Ü'Ø”�J“Ð!<ó
ˆô �-× Ô  AÜ—y’y “|ˆH÷ !ð €GØ—‘Ö ‰ˆÛˆEØ()�E˜)Õ$Ó%ó ñ !ð €N÷ !× ûäô Ü�‰Ð9Ô:àŠðús0   ‚AB5 ÁB"Á)B5 Â"B2	Â-B5 Â2B5 Â5"CÃCc               ó    € V ^8„  d   QhRRRR/# )r   rß   r   r   r€   r   )r   s   "r   r    r    Ç  s   € ÷ ñ ¨ð °ñ r!   c                ód   € Rp\        4       pW9   d   V RW ,          P                  R4       R2# R# )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ª  r�  )rß   ÚGRAPH_BREAK_SITE_URLÚgb_type_to_gb_id_maps   &  r   r’  r’  Ç  sJ   € ð 	Fð ô 6Ó7ÐàÔ&à#Ð$ BÐ';Õ'D×'KÑ'KÈDÓ'QÐ&RÐRWÐXð	
ñ r!   r  r€  Frà   c               ó8   € V ^8„  d   QhRRRRRRRRRRR	R
RR
RR/# )r   rß   r   ro  rp  rq  rr  r  r   r€  rá   rà   r   r   r   )r   s   "r   r    r    â  sZ   € ÷ %0ñ %0àð%0ð ð%0ð ð	%0ð
 ð%0ð ð%0ð ð%0ð ð%0ð ñ%0r!   c                óD  € \        WW#4      pV'       d   \        P                  V4       V\        Jdc   Rp\	        VR4      '       d   VP
                  p\        V\        4      '       d   VP                   RV 2p\        WpWhR7      h\        WpWhR7      Vh\        WpV4      h)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*  )	r•  r   ÚwarningÚ_NOTHINGÚhasattrrš   rR   rÝ   r™   )	rß   ro  rp  rq  r  r€  rà   r™   Úpast_real_stacks	   $$$$$$$  r   rñ   rñ   â  s™   € ô( % W°{Ó
J€CçÜ�‰�CÔØ”xÓØˆÜ�8˜\×*Ò*Ø&×1Ñ1ˆOÜ�h¤×,Ò,Ø—\‘\�NÐ"pÐqtÐpuÐvˆCä˜c¨JÔSÐSäØ˜*ô
àð	ô �c JÓ
/Ð/r!   c                  ó:   € ] tR tRtR R ltR R ltR R ltRtR	# )
ÚKeyErrorMsgi  c               ó    € V ^8„  d   QhRRRR/# )r   rW   r   r   r5   r   )r   s   "r   r    ÚKeyErrorMsg.__annotate__  s   € ÷ ñ ˜cð  dñ r!   c                	ó   € Wn         R # r,   r2  )r>   rW   s   &&r   r:   ÚKeyErrorMsg.__init__  s   € ØŽ
r!   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r    rº    s   € ÷ ñ ˜ñ r!   c                	ó,   € \        V P                  4      # r,   )r   rW   rj   s   &r   Ú__str__ÚKeyErrorMsg.__str__  s   € Ü�4—:‘:‹Ðr!   c               ó   € V ^8„  d   QhRR/# r¾  r   )r   s   "r   r    rº    s   € ÷ ñ ˜#ñ r!   c                	ó"   € V P                  4       # r,   )rÀ  rj   s   &r   Ú__repr__ÚKeyErrorMsg.__repr__  s   € Ø�|‰|‹~Ðr!   r2  N)rB   r<   r=   rC   r:   rÀ  rÄ  rE   r   r!   r   r¸  r¸    s   † õõ÷ñ r!   r¸  c               ó$   € V ^8„  d   QhRRRRRR/# )r   r3   rÖ   r™   r   r   r   )r   s   "r   r    r      s!   € ÷ 	ñ 	¨9ð 	¸3ð 	À3ñ 	r!   c                ó    € \        V R 4      '       d<   VP                  R4      pV^ ,           RV P                   V^,           V^,           2pV# )Ú	_hop_namez
  Explanation:z
  Higher Order Operator: )rµ  Ú	partitionrÈ  )r3   r™   Úliness   && r   Ú!augment_exc_message_with_hop_namerË    sT   € ô ˆs�K× Ò Ø—‘Ð0Ó1ˆà�Q�xˆjÐ3°C·M±M°?À5ÈÅ8À*ÈUÐSTÍXÈJÐWð 	ð €Jr!   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r3   rÖ   r™   r   Úexportrá   r   r5   r   )r   s   "r   r    r    #  s)   € ÷ .-ñ .-˜Yð .-¨Sð .-Àð .-ÐRVñ .-r!   c                óp  € ^ RI pRV n        \        V 4      pVeI   \        V4      ^ 8”  d9   VR,          V n        VRRP	                  VP                  V4      4       2,          p\        P                  '       d7   \        V R4      '       d%   VRV P                   RV P                   R2,          p\        P                  '       g   \        V R4      '       d
   VR	,          p\        V R
4      '       d“   \        V P                  R4      '       dw   \        V P                  R4      '       d:   VRV P                  P                   RV P                  P                   R2,          pM!VRV P                  P                   R2,          p\        V P                  4      ^ 8X  d   RM\        V P                  ^ ,          4      p\!        W4      p\#        V \$        4      '       d2   \'        WQ,           4      3V P                  R,          ,           V n        R# WQ,           pV3V P                  R,          ,           V n        R# )r   Nz
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"
rO   Ú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î   NNéÿÿÿÿ)Ú	tracebackÚinnermost_user_frame_summaryÚget_real_stackr0  r±   r	   r   Úreplay_record_enabledrµ  rÏ  rÉ   rO   rÐ  rÑ  r)   r   rË  rR   ÚKeyErrorr¸  )r3   r™   rÍ  rÓ  rš   Úold_msgÚnew_msgs   &&&    r   Úaugment_exc_messagerÚ  #  së  € Ûà'+€CÔ$ä Ó$€JØÒ¤# j£/°AÔ"5Ø+5°b­>ˆÔ(ØÐ% b§g¡g¨i×.CÑ.CÀJÓ.OÓ&PÐ%QÐRÕRˆä×#×#Ð#¬°Ð5F×(GÒ(GØØ0°×1DÑ1DÐ0Eð FØ×+Ñ+Ð,¨Eð3õ	
ˆô
 �>�>ˆ>œg c¨<×8Ò8ØðJõ	
ˆô ˆsÐ%×&Ò&¬7Ø×Ñ˜_÷,ò ,ô �3×&Ñ&¨×7Ò7ØØ/°×0CÑ0C×0QÑ0QÐ/Rð S0à03×0CÑ0C×0PÑ0PÐ/QÐQSðUõ‰Cð Ø/°×0CÑ0C×0QÑ0QÐ/Rð S_ð _õˆCô
 ˜Ÿ™“M QÔ&‰b¬C°·±¸µÓ,<€Gä/°Ó=€Gä�#”x× Ò Ü ¥Ó.Ð0°3·8±8¸Bµ<Õ?ˆŽà•-ˆØ�: §¡¨¥Õ,ˆŽr!   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rl  rÖ   Ú
compile_idr   r   ztuple[str | None, int | None]r   )r   s   "r   r    r    T  s$   € ÷ 	ñ 	Øð	Ø'ð	à"ñ	r!   c                ó�   € R pR pV P                   e-   V P                   P                  pV P                   P                  pWn        W#3# r,   )rÔ  ÚfilenameÚlinenorÜ  )rl  rÜ  rÞ  rß  s   &&  r   Úget_exc_messagerà  T  sJ   € ð €HØ€FØ×%Ñ%Ò1Ø×1Ñ1×:Ñ:ˆØ×/Ñ/×6Ñ6ˆØ„LØÐÐr!   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r    r    `  s   € ÷ ñ  |ñ r!   c                 ó  € \        4       p \        P                  ! ^4      pVeÎ   VP                  p/ p\        P                  R8¼  d`   VP
                  ^ 8¼  dO   \        VP                  4       4      pVP
                  ^,          pV\        V4      8  d   WE,          w   qcR&   VR&   V P                  \        VP                  VP                  VP                  3RR/VB 4       VP                  pKÑ  V P                  4        V # )rî   ÚcolnoÚ	end_colnoÚlookup_lineF)é   é   )r   ÚsysÚ	_getframeÚf_codeÚversion_infoÚf_lastiÚlistÚco_positionsr0  Úappendr
   Úco_filenameÚf_linenoÚco_nameÚf_backÚreverse)ÚstackÚframerm  ra   Ú	positionsÚidxr#   s          r   Ú_extract_stack_with_positionsrú  `  sâ   € ô ‹N€EÜ�MŠM˜!Ó€EØ
Ò
Ø�|‰|ˆà!#ˆÜ×Ñ˜wÔ&¨5¯=©=¸AÔ+=Ü˜T×.Ñ.Ó0Ó1ˆIØ—-‘- 1Õ$ˆCØ”S˜“^Ô#Ø=F½^Ñ:��1˜W‘o v¨kÑ':Ø�‰ÜØ× Ñ Ø—‘Ø—‘ñð "ð	ð
 ñô	
ð —‘ŠØ	‡M�M„OØ€Lr!   c               ó   € V ^8„  d   QhRR/# râ  r   )r   s   "r   r    r      s   € ÷ 9ñ 9 ñ 9r!   c                 ó(   € \        \        4       4      # r,   )Úfilter_stackrú  r   r!   r   Úget_stack_above_dynamorþ    s   € ÜÔ5Ó7Ó8Ð8r!   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r3   rÖ   r÷  úDynamoFrameType | Noner   r›   r   )r   s   "r   r    r    ƒ  s)   € ÷ Cñ CØ	ðCØ1ðCàñCr!   c                ó’   € \        V R R4      pVf   R# Ve   \        4       pM
\        4       p\        P                  ! W2,           4      # )rš   N)rÙ   rþ  r   Ú	from_list)r3   r÷  rš   Ústack_above_dynamos   &&  r   rÕ  rÕ  ƒ  sK   € ô ˜˜l¨DÓ1€JØÒÙð Òô 4Ó5Ñä)›^Ðä×!Ò!Ð"4Õ"AÓBÐBr!   c               ó    € V ^8„  d   QhRRRR/# )r   rö  r   r   r   )r   s   "r   r    r    ¤  s   € ÷ ñ ˜ð ¨ñ r!   c                ó  € \        4       pV  Fn  pVP                  f   K  RVP                  9   d    V# RVP                  9   g$   VP                  '       d   RVP                  9   d   K]  VP                  V4       Kp  	  V# )NÚconvert_frameÚ
eval_frameztorch._dynamo.optimize()r   rÞ  Úlinerð  )rö  Ú
user_stackr÷  s   &  r   rý  rý  ¤  ss   € Ü“€JÛˆØ�>‰>Ò!ÙØ˜eŸn™nÔ,Øð Ðð ˜5Ÿ>™>Ô)Ø�J�JˆJÐ4¸¿
¹
ÔBáØ×Ñ˜%Ö ñ ð Ðr!   c               ó    € V ^8„  d   QhRRRR/# )r   rV   r   r   r   )r   s   "r   r    r    ´  s   € ÷ ñ ˜sð  sñ r!   c                óx   € ^RI Hp \        P                  ! V R2V 4      pV'       d   VP	                  ^4      # V # )rî   )ÚTORCH_DYNAMO_RESUME_IN_PREFIXz_(\w+)_at_\d+)Úresume_executionr  ÚreÚmatchÚgroup)rV   r  r  s   &  r   Úremove_resume_prefixr  ´  s4   € Ý?ä�HŠHÐ5Ð6°oÐFÈÓM€EßØ�{‰{˜1‹~ÐØ€Kr!   c               ó    € V ^8„  d   QhRRRR/# )r   rö  z!StackSummary | list[FrameSummary]r   r   r   )r   s   "r   r    r    ½  s   € ÷  ñ  Ð"Cð  Èñ  r!   c                ó  € \        4       pV  Fs  pVP                  f   K  \        VP                  4      pV'       d-   V'       d%   VR,          P                  V8X  d   W!R&   W2n        K\  W2n        VP	                  V4       Ku  	  V# )aõ  
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>
rÒ  )r   rÞ  r  rV   rð  )rö  Ú	new_stackr÷  rV   s   &   r   Úcollapse_resume_framesr  ½  sm   € ô( “€IÛˆØ�>‰>Ò!ÙÜ# E§J¡JÓ/ˆßŸ )¨B¥-×"4Ñ"4¸Ô"<Ø!�b‰MØŽJàŒJØ×Ñ˜UÖ#ñ ð Ðr!   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r   r3   rÖ   rm  rn  rÏ  r€   r÷  r   r   r   r   )r   s   "r   r    r    à  s:   € ÷ ñ Ø	ðà
ðð  ðð "ð	ð
 	ñr!   c                ó$  € R VP                    RVP                   RVP                   R2pVR,          pV\        4       ,          p\	        W4      pVe=   VR,          pVRP                  \        V4      4      ,          pVR,          pVR,          pV# )úWON'T CONVERT r  ú line r  rð   z
==========z.========== TorchDynamo Stack Trace ==========
zY
========== The above exception occurred while processing the following code ==========

)ró  rñ  Úco_firstlinenor   rÕ  r±   r	   )r3   rm  rÏ  r÷  r™   rš   s   &&&&  r   r�  r�  à  s�   € ð ˜Ÿ™˜ a¨×(8Ñ(8Ð'9¸À×@SÑ@SÐ?TÐTVÐWð ð ÐCÕC€CØŒ:‹<Õ€CÜ Ó+€JØÒØðõ	
ˆð 	ˆr�w‰w”{ :Ó.Ó/Õ/ˆØˆt�ˆØˆx�ˆà€Jr!   c               ó    € V ^8„  d   QhRRRR/# )r   rm  rn  r   r   r   )r   s   "r   r    r    û  s   € ÷ ñ ˜Nð ¨sñ r!   c           	     óZ   € \        V R R4       R\        V RR4       R\        V R^ 4       R2# )ró  z	<unknown>z (rñ  r  r  Ú))rÙ   )rm  s   &r   Úformat_frame_infor  û  sF   € ä�4˜ KÓ0Ð
1ð 2Ü�D˜-¨Ó5Ð6ð 7Ü˜Ð.°Ó2Ð3°1ð	6ðr!   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rm  ztypes.CodeType | NoneÚreasonr   r   r   )r   s   "r   r    r      s"   € ÷ 
ñ 
Ð$9ð 
À3ð 
È3ñ 
r!   c                ó:   € V e   \        V 4      pRV RV 2# RV 2# )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  )rm  r!  Ú
frame_infos   && r   Úformat_skip_frame_messager$    sB   € ØÒÜ& tÓ,ˆ
àDÀZÀLð QØ�hð ð	
ðØ�hð ð	
r!   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# r  r   )r   s   "r   r    r      s:   € ÷ 	8ñ 	8Ø	ð	8à
ð	8ð  ð	8ð "ð		8ð
 	ñ	8r!   c           	     ó®   € \         P                  '       d   \        WW#4      # R VP                   RVP                   RVP
                   R\        4        2# )r  r  r  z 
due to: 
)r   rÉ   r�  ró  rñ  r  r   )r3   rm  rÏ  r÷  s   &&&&r   Úformat_error_msgr'    sU   € ô ‡~‡~€~Ü'¨°?ÓJÐJØ˜DŸL™L˜>¨¨4×+;Ñ+;Ð*<ð =Ø×ÑÐ˜=¬«¨ð8ð 8r!   )rd   rÁ   re   )r  Fr,   )NN)�Ú
__future__r   rž  Úloggingr  ré  r»   rS   Ú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   Úsymbolic_convertr   r   r   r&   Ú	getLoggerrB   r   r‚  ÚgetArtifactLoggerr„  Ú	frozensetrQ   r.   ÚRuntimeErrorr0   rJ   rX   r^   r[   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,  r4  r6  r8  r:  r<  r>  r@  rB  rD  ÚStopIterationÚLookupErrorÚ
IndexErrorÚGeneratorExitr×  ÚAttributeErrorÚNotImplementedErrorr_  rN  rF  rH  rO  r[  ra  re  rj  Ú_subclassesÚfake_tensorÚDataDependentOutputExceptionÚDynamicOutputShapeExceptionÚUnsupportedOperatorExceptionÚUnsupportedFakeTensorExceptionÚ$UnsupportedMutationAliasingExceptionÚ!exceptions_allowed_to_be_fallbackr‡  r•  rª  r’  Úobjectr´  rñ   r¸  rË  rÚ  rà  rú  rþ  rÕ  rý  r  r  r�  r  r$  r'  r   r!   r   Ú<module>rG     sS  ðÝ "ð1óf Û Û 	Û 
Û Û Û ß Ý Ý ß IÓ Iß /Ñ /ã Ý 1å Ý ÷ Ý7Ý'å0Ý;ß9õð ×Ò˜Ó!€Ø—>‘>×3Ñ3°H¸nÓMÐ ñ "+ðó"Ð õô
˜<ô 
õ%õ	õô(˜<ô (ô@	Ð3ô 	ô	Ð!5ô 	ô Ð*ô  ô	 ô 	ô /ô ô /ô ô	 /ô 	ô	 ô 	ô	 _ô 	ô	Ð$ô 	ô
Ð,ô 
ô	Ð)ô 	ô	
Ð(ô 	
ô'Ð+ô 'ô$
EÐ,ô 
Eô$*Ð&ô *ôD	Ð+?ô 	ô	Ð)ô 	ô	Ð1ô 	ô
Ð2ô ô8�Dô 8ôÐ$ô ô<Ð*ô ô	Ð2ô 	ô
Ð#7ô 
ô	˜iô 	ô	Ð'ô 	ô

Ð,ô 

ôÐ 1ô ô 	Ð+ô 	ô
	Ð,ô 	ô
	Ð*ô 	ô
	Ð-ô 	ô	Ð.ô 	ô
	Ð,ô 	ô
	Ð"3ô 	ô	Ð)ô 	ô
	Ð"3ô 	ð
 Ð,ØÐ$ØÐ"ØÐ(ØÐØÐ*ØÐ&ØÐ4ØÐ ð
Ð ôÐ2ô ô	˜\ô 	õ,ð$ð 6:ð	$ð
 15÷$õ28õ
9õ
.ð< 
×Ñ×!Ñ!×>Ñ>Ø	×Ñ×!Ñ!×=Ñ=Ø	×Ñ×!Ñ!×>Ñ>Ø	×Ñ×!Ñ!×@Ñ@Ø	×Ñ×!Ñ!×FÑFð%Ð !õ#õLñ4 �1Ôôó ðõ4ñ0 ‹8€ð%0ð ð%0ð ð%0ð ÷%0÷Tñ õ	÷.-õb	õõ>9÷CõBõ õ ÷Fõ6õ
÷	8ñ 	8r!   