
    IЦi:              	          S SK r S SKrS SKJrJr  S SKJrJrJrJ	r	  S SK
JrJrJrJrJrJr  S SKrSSKJr  SSKJr  \(       a  S SKJr  S	 rS SKr\R4                  " \5      r\R:                  R=                  \S
5      r " S S\ 5      r! " S S\!5      r" " S S\!5      r# " S S\#5      r$ " S S\#5      r% " S S\#5      r& " S S\#5      r' " S S\!5      r( " S S\!5      r) " S S\!5      r* " S S \!5      r+ " S! S"\!5      r, " S# S$\!5      r- " S% S&\!5      r. " S' S(\-5      r/ " S) S*\-5      r0 " S+ S,\/5      r1 " S- S.\5      r2 " S/ S0\-5      r3 " S1 S2\!5      r4 " S3 S4\-5      r5 " S5 S6\!5      r6 " S7 S8\!5      r7 " S9 S:\85      r9 " S; S<\85      r: " S= S>\!5      r; " S? S@\;5      r< " SA SB\;5      r= " SC SD\;5      r>\?\<\@\=\A\>0rBSE rCSF rD\R                  R                  R                  \R                  R                  R                  \R                  R                  R                  \R                  R                  R                  4rKSG\8SH\LSI\4SJ jrM\N" 5       rO\OSSK.SH\LSL\SM\\L   SI\4SN jjrPSH\LSIS4SO jrQ " SP SQ5      rRS\SR\8SH\LSS\SSIS4ST jjrTSG\8SUSVSI\\\L   \\U   4   4SW jrVS]SR\8SI\\	   4SX jjrWSY rX S^SR\8SI\L4SZ jjrYS^SR\8SI\L4S[ jjrZg)_    N)autoEnum)extract_stack
format_excformat_listStackSummary)AnycastNoReturnOptionalTupleTYPE_CHECKING   )config)counters)	CompileIdc                 ,    SU R                  SS5      -   $ )NzhFor more information about this error, see: https://pytorch.org/docs/main/generated/exportdb/index.html#_-)replace	case_names    P/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/_dynamo/exc.pyexportdb_error_messager      s"    	I


C
%	&    graph_breaksc                       \ rS rSrSrg)TorchDynamoException!    N__name__
__module____qualname____firstlineno____static_attributes__r    r   r   r   r   !       r   r   c                       \ rS rSrSrg)InternalTorchDynamoError%   r    Nr!   r    r   r   r)   r)   %   r'   r   r)   c                   @   ^  \ rS rSr% \\S'   SS.SU 4S jjjrSrU =r$ )RestartAnalysis)   restart_reasonN)r.   c                ,   > Xl         [        TU ]  " U6   g N)r.   super__init__)selfr.   args	__class__s      r   r2   RestartAnalysis.__init__,   s    ,$r   returnN)	r"   r#   r$   r%   str__annotations__r2   r&   __classcell__r5   s   @r   r,   r,   )   s    -1      r   r,   c                       \ rS rSrSrg)SpeculationRestartAnalysis1   r    Nr!   r    r   r   r>   r>   1   r'   r   r>   c                       \ rS rSrSrg)UnspecializeRestartAnalysis5   r    Nr!   r    r   r   rA   rA   5   r'   r   rA   c                       \ rS rSrSrg) CompileCollectiveRestartAnalysis9   r    Nr!   r    r   r   rD   rD   9   r'   r   rD   c                       \ rS rSrSrg)TensorifyScalarRestartAnalysis=   r    Nr!   r    r   r   rG   rG   =   r'   r   rG   c                       \ rS rSrSrg)	SkipFrameA   r    Nr!   r    r   r   rJ   rJ   A   r'   r   rJ   c                       \ rS rSrSrg)TorchRuntimeErrorE   r    Nr!   r    r   r   rM   rM   E   r'   r   rM   c                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )InvalidBackendI   c                 .   > [         TU ]  SU< S35        g )NzInvalid backend: z=, see `torch._dynamo.list_backends()` for available backends.r1   r2   )r3   namer5   s     r   r2   InvalidBackend.__init__J   s    x'de	
r   r    r7   r"   r#   r$   r%   r2   r&   r;   r<   s   @r   rP   rP   I   s    
 
r   rP   c                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )ResetRequiredP   c                 L   > [         TU ]  [        R                  " S5      5        g )Nz
                Must call `torch._dynamo.reset()` before changing backends.  Detected two calls to
                `torch.compile()` with a different backend compiler arguments.
                )r1   r2   textwrapdedent)r3   r5   s    r   r2   ResetRequired.__init__Q   s!    OO	
r   r    r7   rV   r<   s   @r   rX   rX   P   s    
 
r   rX   c                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )BackendCompilerFailed\   c                    > [        USS5      U l        X l        SU R                  < S[        U5      R                   SU 3n[
        TU ]  U5        g )Nr"   ?zbackend=z	 raised:
z: )getattrbackend_nameinner_exceptiontyper"   r1   r2   )r3   
backend_fnre   msgr5   s       r   r2   BackendCompilerFailed.__init__]   sU    #J
C@.**-Z_8M8V8V7WWYZiYjkr   )rd   re   r7   rV   r<   s   @r   r_   r_   \   s     r   r_   c                   D   ^  \ rS rSrSS.SU 4S jjjrS rS	S jrSrU =r$ )
Unsupportedd   Nr   c                   > [         TU ]  U5        [        R                  R                  R                  5       U l        Xl        S U l        U R                  5         X l
        g r0   )r1   r2   torch_guardsTracingContextr   
real_stackrh   categoryadd_to_statsr   )r3   rh   r   r5   s      r   r2   Unsupported.__init__e   sG    --66DDF'+(1r   c                     U R                   c   e[        U R                      U R                  ==   S-  ss'   [        U R                      U R                     S::  a  [        U R                      U R                  	 g g )Nr   r   rr   r   rh   r3   s    r   remove_from_statsUnsupported.remove_from_statsm   sc    }}((()Q.)DMM"488,1'1 2r   c                 L    Xl         [        U   U R                  ==   S-  ss'   g )Nr   rv   )r3   rr   s     r   rs   Unsupported.add_to_statss   s      488$)$r   )r   rr   rh   rq   r7   )unimplemented)	r"   r#   r$   r%   r2   rx   rs   r&   r;   r<   s   @r   rk   rk   d   s    )- 2 22* *r   rk   c                       \ rS rSrSrg)RecompileErrorx   r    Nr!   r    r   r   r~   r~   x   r'   r   r~   c                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )ArgsMismatchError|   c                 $   > [         TU ]  U5        g r0   rS   r3   rh   r5   s     r   r2   ArgsMismatchError.__init__}       r   r    r7   rV   r<   s   @r   r   r   |        r   r   c                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )AttributeMutationError   c                 $   > [         TU ]  U5        g r0   rS   r   s     r   r2   AttributeMutationError.__init__   r   r   r    r7   rV   r<   s   @r   r   r      r   r   r   c                   0   ^  \ rS rSrSrSU 4S jjrSrU =r$ )CondOpArgsMismatchError   z7
Internal error from cond() due to arguments mismatch.
c                 $   > [         TU ]  U5        g r0   rS   r   s     r   r2    CondOpArgsMismatchError.__init__   r   r   r    r7   )r"   r#   r$   r%   __doc__r2   r&   r;   r<   s   @r   r   r      s     r   r   c                       \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       rSrg)UserErrorType   r    N)r"   r#   r$   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   r      s>    66Lv6&KFMVN15.r   r   c                   8   ^  \ rS rSrSS\SS4U 4S jjjrSrU =r$ )	UserError   N
error_typer8   c                    > UbF  [        U[        5      (       d   eUR                  S5      (       a  US-  nOUS-  nU[        U5      -  n[        TU ]  U5        Xl        X l        g)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.
N. 
)
isinstancer9   endswithr   r1   r2   r   message)r3   r   rh   r   r5   s       r   r2   UserError.__init__   sf      i----||C  s
t))44C$r   )r   r   r0   )r"   r#   r$   r%   r   r2   r&   r;   r<   s   @r   r   r      s    = $  r   r   c                       \ rS rSrSrg)SkipCodeRecursiveException   r    Nr!   r    r   r   r   r      r'   r   r   c                       \ rS rSrSrg)RecompileLimitExceeded   r    Nr!   r    r   r   r   r      r'   r   r   c                       \ rS rSrSrg)UnsafeScriptObjectError   r    Nr!   r    r   r   r   r      r'   r   r   c                       \ rS rSrSrg)UncapturedHigherOrderOpError   r    Nr!   r    r   r   r   r      r'   r   r   c                       \ rS rSrSrg)IncorrectUsage   r    Nr!   r    r   r   r   r      r'   r   r   c                       \ rS rSrSrg)FailOnRecompileLimitHit   r    Nr!   r    r   r   r   r      r'   r   r   c                       \ rS rSrSrg)ObservedException   r    Nr!   r    r   r   r   r          r   r   c                   >   ^  \ rS rSr% \\   \S'   SU 4S jjrSrU =r	$ )ObservedUserStopIteration   valuec                 f   > [         TU ]  S5        [        U5      S:  a  US   U l        g S U l        g )Nzunhandled `raise StopIteration`r   )r1   r2   lenr   )r3   r4   kwargsr5   s      r   r2   "ObservedUserStopIteration.__init__   s.    :;t9q=aDJDJr   r   r7   )
r"   r#   r$   r%   r   r	   r:   r2   r&   r;   r<   s   @r   r   r      s    C= r   r   c                       \ rS rSrSrg)ObservedKeyError   r    Nr!   r    r   r   r   r      r   r   r   c                       \ rS rSrSrg)ObservedAttributeError   r    Nr!   r    r   r   r   r      r   r   r   c                     SSK Jn  U" U 5      R                  U/ 0 5      nUR                  R	                  U5        [
        U    e)Nr   )BuiltinVariable)	variablesr   call_functionexn_vt_stackappendobserved_exception_map)etxr   exception_vts       r   raise_observed_exceptionr      s=    * #1%33BB?LOO<(
 
##r   c                 8    U R                   R                  5         g r0   )r   pop)r   s    r   handle_observed_exceptionr      s    2 OOr   r   rh   r8   c                    ^ [        X5      m[        R                  R                  SS U4S jS9  [        R                  ST5        [        R                  U5        [        X S9  g )Nartifactc                      SSS.$ )Ndynamo_graph_break_reasonstring)rT   encodingr    r    r   r   <lambda>,unimplemented_with_warning.<locals>.<lambda>)  s    / 
r   c                     > T $ r0   r    )graph_break_msgs   r   r   r   -  s    ?r   )metadata_fn
payload_fnz%s)from_exc)	format_error_msg_verbosern   _loggingtrace_structuredgraph_breaks_logdebuglogwarningr|   )r   coderh   r   s      @r   unimplemented_with_warningr     sY     /q7O	NN##
 + $  41KK#"r   )r   r   r   r   c                    U [         R                  R                  SS5      :w  d   eU[        La
  [	        XS9Ue[	        XS9e)NBREAKFr   )osenvironget_NOTHINGrk   )rh   r   r   s      r   r|   r|   7  sA     "**..%0000x#3A
c
//r   c                 x    [         S   U ==   S-  ss'   U [        R                  R                  SS5      :w  d   eg )Nwarningsr   r   F)r   r   r   r   )rh   s    r   r   r   @  s4    Z""**..%0000r   c                   :    \ rS rSrSS jrS\4S jrS\4S jrSrg)	KeyErrorMsgiG  r8   Nc                     Xl         g r0   r   )r3   r   s     r   r2   KeyErrorMsg.__init__H  s    
r   c                 ,    [        U R                  5      $ r0   )r9   r   rw   s    r   __str__KeyErrorMsg.__str__K  s    4::r   c                 "    U R                  5       $ r0   )r   rw   s    r   __repr__KeyErrorMsg.__repr__N  s    ||~r   r   r7   )	r"   r#   r$   r%   r2   r9   r   r  r&   r    r   r   r   r   G  s     # r   r   excexportc                    SS K nS U l        [        U 5      nUb?  [        U5      S:  a0  US   U l        USSR	                  UR                  U5      5       3-  n[        R                  (       a1  [        U S5      (       a   USU R                   SU R                   S3-  n[        R                  (       d  [        U S	5      (       a  US
-  n[        U S5      (       a  [        U R                  S5      (       am  [        U R                  S5      (       a5  USU R                  R                   SU R                  R                   S3-  nOUSU R                  R                   S3-  n[        R                  (       d  U(       d  US-  n[        U R                  5      S:X  a  SO[!        U R                  S   5      n[#        U [$        5      (       a$  ['        XQ-   5      4U R                  SS  -   U l        g XQ-   nU4U R                  SS  -   U l        g )Nr   z
from user code:
  record_filenamez!
Last frame execution written to zD. To run only this frame while debugging, run torch._dynamo.replay('z').
rq   zI
Set TORCH_LOGS="+dynamo" and TORCHDYNAMO_VERBOSE=1 for more information
re   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.
z

You can suppress this exception and fall back to eager by setting:
    import torch._dynamo
    torch._dynamo.config.suppress_errors = True
r   )	tracebackinnermost_user_frame_summaryget_real_stackr   joinr   r   replay_record_enabledhasattrr
  verbosere   r  r  suppress_errorsr4   r9   r   KeyErrorr   )r  rh   r  r  rq   old_msgnew_msgs          r   augment_exc_messager  R  s   '+C$$J#j/A"5+5b>(%bggi.C.CJ.O&P%QRR##5F(G(G3C4G4G3H I++,E3 	3 >>gc<88\\s%&&7_, , 3&&77/0C0C0Q0Q/R S0030C0C0P0P/QQSUC /0C0C0Q0Q/R S_ _C
 !!&@	
 MQ&bC,<G#x  .0388AB<?-:,r   
compile_idr   c                     S nS nU R                   b,  U R                   R                  nU R                   R                  nXl        X#4$ r0   )r  filenamelinenor  )r   r  r  r  s       r   get_exc_messager    sJ     HF%%111:://66Lr   c                 x    [        U SS 5      nUc  g / nUb  [        [        5       5      n[        [        X2-   5      $ )Nrq   )rc   filter_stackr   r
   r   )r  framerq   stack_above_dynamos       r   r  r    sG    lD1J  *-/:0=>>r   c                     / nU  HI  nSUR                   ;   a    U$ SUR                   ;   d  SUR                  ;   a  M8  UR                  U5        MK     U$ )Nconvert_frame
eval_frameztorch._dynamo.optimize()r  liner   )stack
user_stackr   s      r   r  r    s[    Jenn,
 	 5>>)-F%**-T%   r   c                     SUR                    SUR                   SUR                   S3nUS-  nU[        5       -  n[	        X5      nUb,  US-  nUSR                  [        U5      5      -  nUS-  nUS-  nU$ )	NWON'T CONVERT r    line r   z.========== TorchDynamo Stack Trace ==========
zY
========== The above exception occurred while processing the following code ==========

r	  z
==========)co_nameco_filenameco_firstlinenor   r  r  r   )r  r   r
  r   rh   rq   s         r   r   r     s     a(8(8'9@S@S?TTVW  CCC:<C+J	
 	rww{:.//txJr   c           	          [         R                  S-  n[        R                  (       a  [	        XX#5      nU$ SUR
                   SUR                   SUR                   S[        5        3nU$ )N   r)  r   r*  z 
due to: 
)	r   linesepr   r  r   r+  r,  r-  r   )r  r   r
  r   rh   s        r   format_error_msgr1    sk    
**q.C~~&s/I
 J t||nAd.>.>-? @=8 Jr   )r   Fr0   )NN)[r   r[   enumr   r   r  r   r   r   r   typingr	   r
   r   r   r   r   torch._guardsrn   r	  r   utilsr   r   r   logging	getLoggerr"   r   r   getArtifactLoggerr   RuntimeErrorr   r)   r,   r>   rA   rD   rG   rJ   rM   rP   rX   r_   rk   r~   r   r   r   r   r   r   r   r   r   	Exceptionr   r   r   r   r   r   StopIterationr  AttributeErrorr   r   r   _subclassesfake_tensorDataDependentOutputExceptionDynamicOutputShapeExceptionUnsupportedOperatorExceptionUnsupportedFakeTensorException!exceptions_allowed_to_be_fallbackr9   r   objectr   r|   r   r   boolr  intr  r  r  r   r1  r    r   r   <module>rG     s\   	   J J F F    '  !>>33HnM 	< 		3 	 *  	 		/ 		 		_ 		$ 		, 	
) 
	
( 	
0 *& *(	) 	 
[ 
/ 8D 8 ,	!5 		[ 		2 		#7 		Y 		i 		, 	
 1 	( 	
	. 	 ,* $< 
!!>>	!!==	!!>>	!!@@	% !#) # # #, 8 "*d0	006>sm001 1 1 .-Y .-S .- .-RV .-b		)	
8C=(3-'(	?	 ?(<2H ?<	 7;	0	) 	PS 	r   