
    sh"                       % S SK Jr  S SKrS SKrS SKJrJr  S SKrS SKJ	r	  S SK
r
S SKr
S SKJr  S SKJr  S SKJrJr  S SKJrJr  \(       a  S SKrS	rS
\S'   Sr\
R6                  R9                  S\5      rS,S jr\R>                  S-S j5       r S-S jr!\ RD                  S.S j5       r#\ RD                  S/S j5       r$\ RD                  S0S j5       r%\ RD                  S1S j5       r&\ RD                  S2S j5       r'\ RD                  S3S j5       r(\ RD                  S4S j5       r)\ RD                  S5S j5       r*\ RD                  S6S j5       r+\ RD                  S7S j5       r,\ RD                  S8S j5       r-\ RD                  S9S j5       r.\ RD                  S:S j5       r/\ RD                  S;S j5       r0\ RD                  S<S j5       r1\ RD                  S=S  j5       r2\ RD                  S>S! j5       r3\ RD                  S?S" j5       r4\ RD                  S@S# j5       r5SAS$ jr6\Rn                  r7\Rp                  r8\Rr                  r9\Rt                  r:\Rv                  r;\Rx                   " S% S&\Rz                  5      5       r=\Rx                   " S' S(\R|                  \=   5      5       r>\R~                  " \R                  \=\!S)9r@\Rx                   " S* S+\=5      5       rAg)B    )annotationsN)AnyTYPE_CHECKING)graph_building)diagnostics)infra)	decorator	formatter)registration
type_utils
   int_CONTAINER_ITEM_LIMITonnx_diagnosticsz
torch.onnxc                 p    [         R                  R                  R                  R	                  [
        5      $ N)torch_logging	_internal	log_stateis_artifact_enabled&_ONNX_DIAGNOSTICS_ARTIFACT_LOGGER_NAME     w/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/onnx/_internal/fx/diagnostics.py(is_onnx_diagnostics_log_artifact_enabledr   .   s(    >>##--AA. r   c                .    [         R                  " U 5      $ r   )r
   format_argumentobjs    r   _format_argumentr!   4   s    $$S))r   c                N    [         R                  [        U 5      5      nU" U 5      $ r   )r!   dispatchtype)r    r
   s     r   r   r   9   s      ))$s)4IS>r   c                6    SU R                   R                   S3$ )Nztorch.nn.Module()	__class____name__r   s    r   _torch_nn_moduler*   G   s    cmm445Q77r   c                6    SU R                   R                   S3$ )Nztorch.fx.GraphModule(r&   r'   r   s    r   _torch_fx_graph_moduler,   L   s    "3==#9#9":!<<r   c                    SU R                    SU R                   S3nSU R                  ;  a  US-   $ U[        U R                  S   5      -   $ )Nzfx.Node(z)[z]:valNone)targetopmetar   )r    node_strings     r   _torch_fx_noder4   Q   sM    SZZL366("5KCHHV##%999r   c                    SU  S3$ )NzSymBool(r&   r   r   s    r   _torch_fx_symbolic_boolr6   Y   s    cU!r   c                    SU  S3$ )NzSymInt(r&   r   r   s    r   _torch_fx_symbolic_intr8   ^   s    SEr   c                    SU  S3$ )Nz	SymFloat(r&   r   r   s    r   _torch_fx_symbolic_floatr:   c   s    se1r   c                t    S[         R                  " U R                  5       [        U R                  5       S3$ )NzTensor(r&   fx_type_utilsfrom_torch_dtype_to_abbrdtype_stringify_shapeshaper   s    r   _torch_tensorrB   h   s4    ];;CIIFGHXY\YbYbHcGddeffr   c                    [        U 5      $ r   strr   s    r   _intrF   m       s8Or   c                    [        U 5      $ r   rD   r   s    r   _floatrI   r   rG   r   c                    [        U 5      $ r   rD   r   s    r   _boolrK   w   rG   r   c                    U $ r   r   r   s    r   _strrM   |   s    Jr   c                V    SU R                    SU R                   SU R                   S3$ )Nzregistration.ONNXFunction(z, is_custom=z, is_complex=r&   )op_full_name	is_custom
is_complexr   s    r   _registration_onnx_functionrR      s4     ((8(8'9cmm_Tabebpbpaqqrssr   c                    S[        U 5       S3nU (       d  US-   $ [        U 5       H+  u  p#U[        :  a  US-  n  US-   $ U[        U5       S3-  nM-     US-   $ )NzList[length=](
None)...,
,
r&   len	enumerater   r   )r    list_stringiitems       r   _listr^      sy     S
$/KW$$S>%%8#K 	/$/044 " r   c                    S[        U 5       S3nU (       d  US-   $ [        U 5       H+  u  p#U[        :  a  US-  n  US-   $ U[        U5       S3-  nM-     US-   $ )NzTuple[length=rT   rU   rV   rW   r&   rX   )r    tuple_stringr\   r]   s       r   _tuplera      sy    "3s8*D1Lg%%S>%%H$L# 	?40155 " #r   c                    S[        U 5       S3nU (       d  US-   $ [        U R                  5       5       H0  u  nu  p4U[        :  a  US-  n  US-   $ X S[	        U5       S3-  nM2     US-   $ )NzDict[length=rT   rU   z...
z: rW   r&   )rY   rZ   itemsr   r   )r    dict_stringr\   keyvalues        r   _dictrg      s     S
$/KW$$$SYY[1<C%%7"K 	b!7 8<< 2 r   c                4    S[        U R                  5       S3$ )Nz
Parameter(r&   )r   datar   s    r   _torch_nn_parameterrj      s    12!44r   c                t    S[         R                  " U R                  5       [        U R                  5       S3$ )Nz`TorchScriptTensor()`r<   r   s    r   _onnxscript_torch_script_tensorrm      s4     !G!G		!R STdehenenToSpprssr   c                "    SU R                    S3$ )Nz`OnnxFunction(rl   namer   s    r   _onnxscript_onnx_functionrq      s    CHH:R((r   c                "    SU R                    S3$ )Nz`TracedOnnxFunction(rl   ro   r   s    r    _onnxscript_traced_onnx_functionrs      s    !#((2..r   c                B    U c  gSSR                  S U  5       5       S3$ )N [z, c              3  8   #    U  H  n[        U5      v   M     g 7fr   rD   ).0xs     r   	<genexpr>#_stringify_shape.<locals>.<genexpr>   s     /AQs   ])join)rA   s    r   r@   r@      s)    }tyy///022r   c                  L    \ rS rSr% \R
                  " S\S9rS\S'   S	S jr	Sr
g)

Diagnostic   Finitdefaultlogging.Loggerloggerc                    U R                   R                  U5      (       aL  X#-  n[        5       (       a  U R                   R                  " X40 UD6  U R                  R                  U5        g g r   )r   isEnabledForr   logadditional_messagesappend)selflevelmessageargskwargsformatted_messages         r   r   Diagnostic.log   sY    ;;##E** '799 CFC$$++,=> +r   r   N)r   r   r   rE   returnr/   )r)   
__module____qualname____firstlineno__dataclassesfielddiagnostic_loggerr   __annotations__r   __static_attributes__r   r   r   r   r      s    (..ECTUFNU?r   r   c                     ^  \ rS rSr% \R
                  " S\S9rS\S'   \R
                  " S\	S9r
S\S'   U 4S jrS	rU =r$ )
DiagnosticContext   Fr   r   r   ztype[Diagnostic]_bound_diagnostic_typec                x   > U R                   R                  U l        [        5       (       d  [        TU ]  5       $ U $ r   )r   r   _previous_log_levelr   super	__enter__r   r(   s    r   r   DiagnosticContext.__enter__   s3    #';;#4#4  8997$&&Kr   )r   )r)   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__r(   s   @r   r   r      sC    (..ECTUFNU/:/@/@J0,  r   r   )diagnostic_typer   c                  <   ^  \ rS rSr% SrS\S'   SU 4S jjrSrU =r$ )UnsupportedFxNodeDiagnostic   Nztorch.fx.Node | Noneunsupported_fx_nodec                R   > [         TU ]  5         U R                  c  [        S5      eg )Nz&unsupported_fx_node must be specified.)r   __post_init__r   
ValueErrorr   s    r   r   )UnsupportedFxNodeDiagnostic.__post_init__   s-    
 ##+EFF ,r   r   )r   r/   )	r)   r   r   r   r   r   r   r   r   r   s   @r   r   r      s    04-4G Gr   r   )r   bool)r    r   r   rE   )r    ztorch.nn.Moduler   rE   )r    ztorch.fx.GraphModuler   rE   )r    ztorch.fx.Noder   rE   )r    ztorch.SymBoolr   rE   )r    ztorch.SymIntr   rE   )r    ztorch.SymFloatr   rE   )r    ztorch.Tensorr   rE   )r    r   r   rE   )r    floatr   rE   )r    r   r   rE   )r    rE   r   rE   )r    zregistration.ONNXFunctionr   rE   )r    listr   rE   )r    tupler   rE   )r    dictr   rE   )r    ztorch.nn.Parameterr   rE   )r    z graph_building.TorchScriptTensorr   rE   )r    zonnxscript.OnnxFunctionr   rE   )r    zonnxscript.TracedOnnxFunctionr   rE   )rA   ztorch.Size | Noner   rE   )B
__future__r   r   	functoolstypingr   r   
onnxscript"onnxscript.function_libs.torch_libr   r   torch.fxtorch.onnx._internalr    torch.onnx._internal.diagnosticsr   &torch.onnx._internal.diagnostics.infrar	   r
   torch.onnx._internal.fxr   r   r=   loggingr   r   r   r   getArtifactLoggerr   r   singledispatchr!   r   registerr*   r,   r4   r6   r8   r:   rB   rF   rI   rK   rM   rR   r^   ra   rg   rj   rm   rq   rs   r@   ruleslevelsRuntimeErrorWithDiagnostic
LazyStringDiagnosticOptions	dataclassr   r   partialdiagnose_callr   r   r   r   <module>r      sQ   "   %  =   , 2 G M    s  *< &NN448 
 * * 8 8 = = : :       g g         t t
 
 
 
 
 
 
 5 5 t t ) ) / /
3 				"== !!
++  ?!! ? ? //
;    !!# 
G* 
G 
Gr   