
    '}hY                        U d dl Z d dlmZ d dlmZmZmZ ddlmZ g dZ	i a
eeef   ed<   da ed	      ed
               Z ed	      dee   fd       Z ed	      d        Z ed	      d        Z ed	      dee   fd       Z ed	      defd       Z ed	      ed               Z ed	      deeef   fd       Zy)    N)contextmanager)ListAnyDict   )compatibility)preserve_node_metahas_preserved_node_metaset_stack_traceset_grad_fn_seq_nrreset_grad_fn_seq_nrformat_stackset_current_metaget_current_metacurrent_metaF)is_backward_compatiblec               #   8   K   t         } 	 da d  | a y # | a w xY ww)NTshould_preserve_node_meta)saved_should_preserve_node_metas    Q/var/www/html/test/engine/venv/lib/python3.12/site-packages/torch/fx/traceback.pyr	   r	      s+     
 '@#D$(!$C!$C!s    stackc                 H    t         r| rdj                  |       t        d<   y y y )N stack_trace)r   joinr   )r   s    r   r   r      s#     !U&(ggen]# &+     c                     t         rBt        j                  dg       | gz   t        d<   t        j                  dd      dz   t        d<   y y )Ngrad_fn_seq_nr
in_grad_fnr   r   )r   r   get)seq_nrs    r   r   r   #   sJ     !)5)9)9:JB)OSYRZ)Z%&%1%5%5lA%F%J\" !r   c                      t         rUt        j                  dd      } | dkD  sJ | dk(  rt        d= t        d= y | dz
  t        d<   t        d   j                          y y )Nr    r   r   r   )r   r   r!   pop)current_levels    r   r   r   -   sf    
 !$((q9q   A\*-.)6):L&)*..0 !r   returnc                      t         rt        j                  dd      gS t        j                  t        j
                         d d       S )Nr   r   )r   r   r!   	tracebackformat_listextract_stack r   r   r   r   =   s>       344 $$Y%<%<%>s%CDDr   c                      t         S Nr   r,   r   r   r
   r
   F   s    $$r   c              #   |  K   t         r| j                  rt        }	 | j                  j                         adt        vr!| j                  | j
                  fgt        d<   nJt        d   d   d   | j                  k7  r.t        d   j                  | j                  | j
                  f       d  |ay d  y # |aw xY ww)N	from_noder(   r   )r   metar   copynametargetappend)node
saved_metas     r   r   r   K   s      !TYY!
	&99>>+L ,..2ii-E,F[)k*2.q1TYY>[)00$))T[[1IJ%L &Ls   B<BB5 -B<5B99B<c                      t         S r.   )r   r,   r   r   r   r   a   s    r   )r)   
contextlibr   typingr   r   r   _compatibilityr   __all__r   str__annotations__r   r	   r   r   r   r   boolr
   r   r   r,   r   r   <module>r@      sA    % " " )C  "d38n !!  e,D  -D e,5DI 5 -5 e,K -K e,1 -1 e,Ed3i E -E e,% % -% e,  -( e,$sCx.  -r   