
    Ph)                        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    ]C:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\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         rMt        j                  dd       t        d<   t        j                  dd       t        d<   | t        d<   dt        d<   y y )Ngrad_fn_seq_nrprev_grad_fn_seq_nr
in_grad_fnprev_in_grad_fnT)r   r   get)seq_nrs    r   r   r   #   sS     !.:.>.>?OQU.V*+*6*:*:<*N&')/%&%)\" !r   c                      t         rCt        d   t        d   J t        d= t        d= t        d   t        d<   t        d   t        d<   y y )Nr    r"   r   r!   )r   r    r   r   r   r   /   s\     !-.6 12:::-.\*)56K)L%&%12C%D\" !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_stackr&   r   r   r   r   >   s>       344 $$Y%<%<%>s%CDDr   c                      t         S Nr   r&   r   r   r
   r
   G   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   L   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   b   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,* -* e,E -E e,Ed3i E -E e,% % -% e,  -( e,$sCx.  -r   