
    daf                        	 d dl Zd dlZd dlZd dlZd dlZd dlmZ g dZd8dZ	d Z
d9dZd8dZd8dZd	Zd
Z G d d      Z e       Zd ZeedddfdZeeddfdZefdZd ZefdZd:dZd;dZd:dZd<dZd9dZd9dZd Z G d d      Z d Z!d Z"d Z#d  Z$d!Z% G d" d#e&      Z'd$ Z( ejR                  d%g d&d'd(g)      Z*d* Z+d+Z,d, Z- G d- d.      Z. G d/ d0      Z/d1Z0d2Z1d3Z2d4Z3d5 Z4d6 Z5d7 Z6y)=    N)suppress)extract_stack
extract_tbformat_exceptionformat_exception_onlyformat_listformat_stack	format_tb	print_exc
format_excprint_exception
print_lastprint_stackprint_tbclear_framesFrameSummaryStackSummaryTracebackException
walk_stackwalk_tbc                     	 |t         j                  }t        j                  |       j	                         D ]  }t        ||d        y )N fileend)sysstderrr   	from_listformatprint)extracted_listr   items      $/root/Python-3.12.4/Lib/traceback.py
print_listr$      sE    E|zz&&~6==? 'd2&'    c                 J    	 t         j                  |       j                         S N)r   r   r   )r!   s    r#   r   r      s#    
 !!.188::r%   c                 6    	 t        t        | |      |       y Nlimit)r   )r$   r   )tbr+   r   s      r#   r   r   /   s     z"E*6r%   c                 :    	 t        | |      j                         S Nr*   )r   r   r,   r+   s     r#   r
   r
   9   s    ?b&--//r%   c                 D    	 t         j                  t        |       |      S r.   )r    _extract_from_extended_frame_gen_walk_tb_with_full_positionsr/   s     r#   r   r   =   s+     88$R( 9 7 7r%   zG
The above exception was the direct cause of the following exception:

zF
During handling of the above exception, another exception occurred:

c                       e Zd Zd Zy)	_Sentinelc                      y)Nz
<implicit> selfs    r#   __repr__z_Sentinel.__repr__[   s    r%   N)__name__
__module____qualname__r9   r6   r%   r#   r4   r4   Z   s    r%   r4   c                     |t         u |t         u k7  rt        d      ||cxu rt         u rIn ||fS | @t        | t              r| | j                  fS t        dt        |       j                   d      y||fS )Nz-Both or neither of value and tb must be givenzException expected for value, z foundNN)	_sentinel
ValueError
isinstanceBaseException__traceback__	TypeErrortyper:   )excvaluer,   s      r#   _parse_value_tbrH   `   s    i0HIIi "9 ?#}-C----<#Cy112&: ; ; "9r%   Tc                ~    	 t        | ||      \  }}t        t        |      |||d      }|j                  ||       y )NTr+   compactr   chain)rH   r   rE   r    )rF   rG   r,   r+   r   rM   tes          r#   r   r   o   sA    	  UB/IE2	DK%	NBHH$eH$r%   c                    	 t        | ||      \  }}t        t        |      |||d      }t        |j	                  |            S )NTrJ   rM   )rH   r   rE   listr   )rF   rG   r,   r+   rM   rN   s         r#   r   r      sG      UB/IE2	DK%	NB			&''r%   c                z    	 |t         u r| }t        t        |      |d d      }t        |j	                               S )NT)rK   )r?   r   rE   rQ   r   )rF   rG   rN   s      r#   r   r      s>    	 		DKd	CB((*++r%   c                 D    t        |d      }||sd| z  }|S | d|d}|S )N	exceptionz%s
z: 
)_safe_string)etyperG   valuestrlines       r#   _format_final_exc_linerZ      s6    E;/H}H~ K #H-Kr%   c                 H    	  ||       S #  d| d|j                    dcY S xY w)N< z
() failed>)r:   )rG   whatfuncs      r#   rV   rV      s1    4E{44&$--
33s   
 !c                 H    	 t        t        j                         | ||       y )Nr+   r   rM   )r   r   rT   ra   s      r#   r   r      s    OCMMO5t5Ir%   c                 b    	 dj                  t        t        j                         | |            S )Nr   r+   rM   )joinr   r   rT   rc   s     r#   r   r      s$    /77#CMMO5NOOr%   c                 *   	 t        t        d      st        t        d      st        d      t        t        d      rt        t        j                  | ||       y t        t        j
                  t        j                  t        j                  | ||       y )Nlast_exc	last_typezno last exception)hasattrr   r@   r   rf   rg   
last_valuelast_tracebackra   s      r#   r   r      sc    V3
#GC,E,--sJeT59s~~s7I7ItU	,r%   c                 v    	 | t        j                         j                  } t        t	        | |      |       y r)   )r   	_getframef_backr$   r   )fr+   r   s      r#   r   r      s0     	yMMO""}Qe,48r%   c                 p    	 | t        j                         j                  } t        t	        | |            S r.   )r   rl   rm   r   r   )rn   r+   s     r#   r	   r	      s-    ?yMMO""}Qe455r%   c                     	 | t        j                         j                  } t        j	                  t        |       |      }|j                          |S r.   )r   rl   rm   r   extractr   reverse)rn   r+   stacks      r#   r   r      sF     	yMMO""  Ae <E	MMOLr%   c                 ~    	 | +	 | j                   j                          | j                  } | *y y # t        $ r Y w xY wr'   )tb_frameclearRuntimeErrortb_nextr,   s    r#   r   r      sE    K
.	KK ZZ .  		s   0 	<<c                   f    e Zd Z	 dZddddddddZd Zd Zd Zd	 Zd
 Z	e
d        Ze
d        Zy)r   )filenamelineno
end_linenocolno	end_colnoname_linelocalsTN)lookup_liner   rY   r}   r~   r   c          
      
   	 || _         || _        || _        || _        |r| j                   |r4|j                         D 
ci c]  \  }
}|
t        |dt               c}}
nd | _        || _	        || _
        |	| _        y c c}}
w )Nlocalr_   )r{   r|   r   r   rY   itemsrV   reprr   r}   r~   r   )r8   r{   r|   r   r   r   rY   r}   r~   r   kvs               r#   __init__zFrameSummary.__init__	  s    	 !	
II+1(1 ,q'== (7; 	$
"	(s   A?c                    t        |t              rj| j                  |j                  k(  xrO | j                  |j                  k(  xr4 | j                  |j                  k(  xr | j
                  |j
                  k(  S t        |t              r1| j                  | j                  | j                  | j                  f|k(  S t        S r'   )	rA   r   r{   r|   r   r   tuplerY   NotImplementedr8   others     r#   __eq__zFrameSummary.__eq__!  s    e\*MMU^^3 0KK5<</0II+0 KK5<</1 eU#MM4;;		499ENNr%   c                 d    | j                   | j                  | j                  | j                  f|   S r'   )r{   r|   r   rY   )r8   poss     r#   __getitem__zFrameSummary.__getitem__+  s&    t{{DIItyyA#FFr%   c                 p    t        | j                  | j                  | j                  | j                  g      S r'   )iterr{   r|   r   rY   r7   s    r#   __iter__zFrameSummary.__iter__.  s&    T]]DKKDIIFGGr%   c                 f    dj                  | j                  | j                  | j                        S )Nz7<FrameSummary file {filename}, line {lineno} in {name}>)r{   r|   r   )r   r{   r|   r   r7   s    r#   r9   zFrameSummary.__repr__1  s0    HOO]]4;;TYY P H 	Hr%   c                      y)N   r6   r7   s    r#   __len__zFrameSummary.__len__5  s    r%   c                 2    | j                    | j                  S r'   )rY   r   r7   s    r#   _original_linezFrameSummary._original_line8  s     			zzr%   c                     | j                   <| j                  y t        j                  | j                  | j                        | _         | j                   j                         S r'   )r   r|   	linecachegetliner{   stripr7   s    r#   rY   zFrameSummary.line>  sH    ::{{""**4==$++FDJzz!!r%   )r:   r;   r<   	__slots__r   r   r   r   r9   r   propertyr   rY   r6   r%   r#   r   r      si    ,I ?Cd44#0GHH  
 " "r%   r   c              #      K   	 | <t        j                         j                  j                  j                  j                  } |  | | j                  f | j                  } | y y wr'   )r   rl   rm   f_lineno)rn   s    r#   r   r   G  sX     
 	yMMO""))0077
-mHH -s   A A%#A%c              #   f   K   	 | *| j                   | j                  f | j                  } | )y y wr'   )ru   	tb_linenorx   ry   s    r#   r   r   T  s5     
 .kk2<<''ZZ .s   ,11c              #      K   | qt        | j                  j                  | j                        }|d   "| j                  | j                  f|dd  z   f n| j                  |f | j
                  } | py y wNr      )_get_code_positionru   f_codetb_lastir   rx   )r,   	positionss     r#   r2   r2   _  ss      .&r{{'9'92;;G	 Q<++/)AB-???++y((ZZ .s   A2A75A7c                 t    |dk  ry| j                         }t        t        j                  ||dz  d             S )Nr   )NNNN   )co_positionsnext	itertoolsislice)codeinstruction_indexpositions_gens      r#   r   r   m  s;    1'%%'M	  0AQ0FMNNr%      c                   ^    e Zd Z	 eddddd       Zeddddd       Zed        Zd Zd	 Zy)
r   NTFr+   lookup_linescapture_localsc                D    	 fd}| j                   |       |||      S )Nc               3   6   K   D ]  \  } }| |d d d ff  y wr'   r6   )rn   r|   	frame_gens     r#   extended_frame_genz0StackSummary.extract.<locals>.extended_frame_gen  s.     & 4	6&$d3334s   r   )r1   )klassr   r+   r   r   r   s    `    r#   rq   zStackSummary.extracty  s4    
		4 55 L) 6 + 	+r%   c                \   |t        t        dd       }||dk  rd}|4|dk\  rt        j                  ||      }nt	        j
                  ||       } |        }t               }|D ]  \  }\  }}	}
}|j                  }|j                  }|j                  }|j                  |       t        j                  ||j                         |r|j                  }nd }|j                  t!        |||d||	|
|              |D ]  }t        j"                  |        |r|D ]  }|j$                    |S )Ntracebacklimitr   )maxlenF)r   r   r}   r~   r   )getattrr   r   r   collectionsdequesetr   co_filenameco_nameaddr   	lazycache	f_globalsf_localsappendr   
checkcacherY   )r   r   r+   r   r   resultfnamesrn   r|   r}   r~   r   cor{   r   r   s                   r#   r1   z-StackSummary._extract_from_extended_frame_gen  s;    =C!148E UQYz%,,Y>	'--iG	9B 	J5A5
E9B~~H::DJJx !++6::MM,&$E(%UiI J	J  	+H  *	+  r%   c           	          	 t               }|D ]I  }t        |t              r|j                  |       %|\  }}}}|j                  t        ||||             K |S )NrY   )r   rA   r   r   )r   a_listr   framer{   r|   r   rY   s           r#   r   zStackSummary.from_list  sc    	  	OE%.e$/4,&$l8VTMN	O r%   c                 *   	 g }|j                  dj                  |j                  |j                  |j                               |j
                  rM|j
                  j                         }|j                  dj                  |             |j                  }t        |      }t        |j
                  j                               }||z
  }|j                  |j                  t        ||j                        }t        ||j                        }	|||	 }
d }|j                  |j                  k(  r$t        t              5  t!        |
      }d d d        nt        |j#                               }	|	|z
  t        |      k  s |r|j$                  |j&                  z
  dkD  r t)        ||      dz   }t)        ||	      dz   }|j                  d       |j                  d||z
  z         |rt)        |
|j&                        }t)        |
|j$                        }|j                  |j*                  |z         |j                  |j,                  ||z
  z         |j                  |j*                  ||z
  |z
  z         n|j                  d||z
  z         |j                  d       |j.                  rMt1        |j.                  j3                               D ]'  \  }}|j                  d	j                  ||
             ) dj5                  |      S # 1 sw Y   xY w)Nz  File "{}", line {}, in {}
    {}
r   r   z    r]   ^rU   z    {name} = {value}
)r   rG   r   )r   r   r{   r|   r   rY   r   r   lenlstripr~   r    _byte_offset_to_character_offsetr}   r   	Exception(_extract_caret_anchors_from_line_segmentrstripright_start_offsetleft_end_offset_display_widthprimary_charsecondary_charr   sortedr   rd   )r8   frame_summaryrowstripped_linerY   orig_line_lenframe_line_lenstripped_charactersstart_offset
end_offsetcode_segmentanchorsdp_start_offsetdp_end_offsetdp_left_end_offsetdp_right_start_offsetr   rG   s                     r#   format_frame_summaryz!StackSummary.format_frame_summary  s   	
 

299""M$8$8-:L:LN 	O)..446MJJz((78 //DIM !3!3!:!:!<=N"/."@##/!++7?--- /=-113
#L< ''=+C+CC!), Y"J<"XY Y
 "%T[[]!3J ,s=/AAG$>$>AXAX$X[\$\ '5T<&H1&LO$24$Dq$HMJJv&JJso8K&KLM-;L'JaJa-b*0>|WMgMg0h-

7#7#7:L#LM

7#9#9=RUg=g#hi

7#7#7=?;Z]r;r#st

3-/*I#JKJJt$%m&:&:&@&@&BC Te

3::E:RST wws|EY Ys   ?LLc                    	 g }d }d }d }d}| D ]  }| j                  |      }||1||j                  k7  s"| ||j                  k7  s|||j                  k7  rW|t        kD  r(|t        z  }|j                  d| d|dkD  rdnd d       |j                  }|j                  }|j                  }d}|dz  }|t        kD  r|j                  |        |t        kD  r(|t        z  }|j                  d| d|dkD  rdnd d       |S )Nr   z  [Previous line repeated z
 more timer   sr   z]
)r   r{   r|   r   _RECURSIVE_CUTOFFr   )r8   r   	last_file	last_line	last_namecountr   formatted_frames           r#   r   zStackSummary.format  sW   
	 			! 	+M"77FO&!Y-2H2H%H!Y-2F2F%F!Y-2D2D%D,,..EMM4UG <&+aisR8= *22	)00	)..	QJE((MM/*)	+, $$&&EMM,UG 4#aisR05 r%   )	r:   r;   r<   classmethodrq   r1   r   r   r   r6   r%   r#   r   r   v  s[    I+/d + +* DHe' 'R  $?B-r%   r   c                 b    | j                  d      }t        |d | j                  dd            S )Nzutf-8replace)errors)encoder   decode)stroffsetas_utf8s      r#   r   r   =  s2    jj!Gww&&wy&ABBr%   _Anchors)r   r   r   r   ~r   )defaultsc                 t    dd l }	 |j                         }t        |j                        dk7  ry  fd}|j                  d   }||j
                  dxS\  }|x|j                  d x!\     ||j                  j                        } ||j                  j                        } || }t        |      t        |j                               z
  }	|j                  j                  |	z   }
|
dz   }|	dz   t        |      k  r||	dz      j                         s|dz  }|
t               k  rL |
   x}j                         s|dv r3|
dz  }
|dz  }|
t               k  r |
   x}j                         r.|dv r3t         ||
       ||            S  |j                  d x
\    ||j                  j                        }
 ||j                   j                  dz         }|
t               k  rI |
   x}j                         s|dk7  r/|
dz  }
|
t               k  r |
   x}j                         r)|dk7  r/|t               k  rI |   x}j                         s|dk7  r/|dz  }|t               k  r |   x}j                         r)|dk7  r/|t               k  r|dz  }t        |
|      S  y  y # t        $ r Y y w xY w)Nr   r   c                     t        |       S r'   )r   )r  segments    r#   <lambda>z:_extract_caret_anchors_from_line_segment.<locals>.<lambda>X  s    ?P r%   r6   z)#[])astparseSyntaxErrorr   bodyExprBinOpleftend_col_offsetright
col_offsetr   isspacer  	SubscriptrG   slice)r  r  tree	normalize	statementexproperator_startoperator_endoperator_stroperator_offsetleft_anchorright_anchorchs   `            r#   r   r   M  s   yy! 499~PI		!I
XX^ SYY[%.tyy/G/G%HN#,TZZ-B-B#CL#*>,#GL&),&7#l>Q>Q>S:T&TO"&))":":_"LK#.?L'!+c,.?? ,_q-@ A I I K$)%G4AU;U2:^:^:`dfjndn#q($) &G4AU;U2:^:^:`dfjndn $Ik$:Il<STT# !$ ]]_"+DJJ,E,E"FK#,TZZ-F-F-J#KL%G4AU;U2:^:^:`dfjmdm#q( &G4AU;U2:^:^:`dfjmdm&W5',BW<WB;`;`;bfhlofo$) 'W5',BW<WB;`;`;bfhlofo#c'l2$)#K>> % ? > Q  s   J+ +	J76J7WFc                 `    	 | j                         r|S dd lt        fd| d | D              S )Nr   c              3   T   K   | ]  }j                  |      t        v rd nd ! yw)r   r   N)east_asian_width_WIDE_CHAR_SPECIFIERS).0charunicodedatas     r#   	<genexpr>z!_display_width.<locals>.<genexpr>  s1       ))$/3HHaOs   %()isasciir/  sum)rY   r  r/  s     @r#   r   r   ~  s<    I
 ||~ &M  r%   c                        e Zd Zd Zd ZddZy)_ExceptionPrintContextc                 >    t               | _        d| _        d| _        y )Nr   F)r   seenexception_group_depth
need_closer7   s    r#   r   z_ExceptionPrintContext.__init__  s    E	%&"r%   c                 &    dd| j                   z  z  S )Nr]   r   )r7  r7   s    r#   indentz_ExceptionPrintContext.indent  s    a$44455r%   Nc              #      K   |d}| j                         }| j                  r||dz   z  }t        |t              rt	        j                   ||d        y |D ]  }t	        j                   ||d         y w)N|r]   c                      yNTr6   r   s    r#   r  z-_ExceptionPrintContext.emit.<locals>.<lambda>      r%   c                      yr>  r6   r   s    r#   r  z-_ExceptionPrintContext.emit.<locals>.<lambda>  r?  r%   )r:  r7  rA   r  textwrap)r8   text_genmargin_char
indent_strtexts        r#   emitz_ExceptionPrintContext.emit  sw     K[[]
%%+++Jh$//(J8IJJ  KoodJ8IJJKs   A6A8r'   )r:   r;   r<   r   r:  rF  r6   r%   r#   r4  r4    s     
6Kr%   r4  c                   p    e Zd Z	 dddddddddZed        Zd	 Zd
 Zd Zd Z	d Z
ddddZddddZy)r   NTF   
   )r+   r   r   rK   max_group_widthmax_group_depth_seenc                p	   |
d u}|

t               }
|
j                  t        |             || _        |	| _        t
        j                  t        |      |||      | _        || _	        t        |d      | _        	 t        |dd       | _        |rt!        |t"              r|j$                  | _        |j&                  }|t)        |      nd | _        |j*                  }|t)        |      nd | _        |j,                  | _        |j.                  | _        |j0                  | _        |j2                  | _        n|rSt!        |t4              rCt        |dd       6t        |dd       }t7        |||      }|r| xj                  d| dz  c_        n|rt!        |t8        t:        f      rt        |dd       t        |dd       }t7        |||      }|r| xj                  d| dz  c_        t!        |t8              rVt        |dd       }|G|t<        j>                  v r5|r| xj                  d	| d
z  c_        n| xj                  d| d
z  c_        |r| jA                          ||jB                  nd| _!        |s| |fg}|r
|jE                         \  }}|ri|jF                  ]t        |jF                        |
vrFtI        tK        |jF                        |jF                  |jF                  jL                  |||||	|
	      }nd }|r|d u xr |d uxr |jB                   }nd}|rk|jN                  _|r]t        |jN                        |
vrFtI        tK        |jN                        |jN                  |jN                  jL                  |||||	|
	      }nd }|r\tQ        |tR              rLg }|jT                  D ]:  }tI        tK        |      ||jL                  |||||	|
	      }|jW                  |       < nd }||_#        ||_'        ||_*        |r'|jW                  |jF                  |jF                  f       |r'|jW                  |jN                  |jN                  f       |r/|jY                  t[        |jT                  |jT                               |r	y y y # t        $ r%}dt        |dt               g| _        Y d }~%d }~ww xY w)Nr   rT   	__notes__z!Ignored error getting __notes__: 	name_fromz. Did you mean: 'z'?r   z Or did you forget to import ''z. Did you forget to import 'F)r+   r   r   rJ  rK  rL  T).r   r   idrJ  rK  r   r1   r2   rs   exc_typerV   _strr   rN  r   r   
issubclassr  r{   r|   r  r}   rE  r  r   msgImportError_compute_suggestion_error	NameErrorAttributeErrorr   stdlib_module_names_load_lines__suppress_context__pop	__cause__r   rE   rC   __context__rA   BaseExceptionGroup
exceptionsr   extendzip)r8   rR  	exc_valueexc_tracebackr+   r   r   rK   rJ  rK  rL  is_recursive_callelnoend_lno
wrong_name
suggestionqueuerN   causeneed_contextcontextra  rF   texcs                            r#   r   zTracebackException.__init__  st    "-=EE		"Y- ..!BB(7l) C +
 ! !K8		Z$YTBDN
 
8[9%..DM""C&)o#c(4DK**G.5.Ac'ltDO!DI#**DK'22DO }}DH*X{;	;5A K>J29mZXJ		0B??	*X	>/JK	640< FD9J29mZXJ		0B??	(I.$Y=
)jC<S<S.S!		'Ej\QR%SS			'CJ<q%QQ	.7.CI** 	!
 !I&'E		A!++11;;u4.Q[[)11#%1'5(7(7#	%E !E$)TM %?$%TM%?()(>(>$> ! $(L!--3$AMM):%)G0Q]]+33#%1'5(7(7#	%G #GA'9:!#J || 01 I--"')5+9,;,;"'	 ) #))$/0 "&J$!( *LL",,!<=LL"..!--!@ALLR]]ALL!AB  !S  	Z3LKQU4V3WXZDNN	Zs   9R 	R5R00R5c                 F    	  | t        |      ||j                  g|i |S r'   )rE   rC   )clsrF   argskwargss       r#   from_exceptionz!TracebackException.from_exceptionS  s(    <49c3#4#4FtFvFFr%   c                 @    	 | j                   D ]  }|j                    y r'   )rs   rY   )r8   r   s     r#   r[  zTracebackException._load_linesX  s    EZZ 	EJJ	r%   c                 `    t        |t              r| j                  |j                  k(  S t        S r'   )rA   r   __dict__r   r   s     r#   r   zTracebackException.__eq__]  s&    e/0==ENN22r%   c                     | j                   S r'   )rS  r7   s    r#   __str__zTracebackException.__str__b  s    yyr%   c              #   6  K   	 | j                   t        d | j                         y | j                   j                  }| j                   j                  }|dvrt        |t              sd}|dz   |z   }t        | j                   t              st        || j                         n| j                  |      E d {    t        | j                  t        j                  j                        rht        | j                  t        t        f      sH| j                  D ]8  }t        |d      }|j!                  d      D cg c]  }|dz   	 c}E d {    : y | j                  .dj#                  t        | j                  dt$                     y y 7 c c}w 7 Iw)	N)__main__builtinsz	<unknown>.noterU   z{}
rN  r   )rR  rZ   rS  r<   r;   rA   r  rT  r  _format_syntax_errorrN  r   abcSequencebytesrV   splitr   r   )r8   stypesmodr  ls        r#   r   z(TracebackException.format_exception_onlye  sK    	 == (tyy99**}}''//dC("3J&E$--5(		::00777 t~~{'?'?@t~~U|< @#D&1.2jj.>?AH???@ ^^'--T^^[t TUU ( 8 @?s2   B8F:F;B F;FFFAFFc              #     K   	 d}| j                   -dj                  | j                  xs d| j                          n'| j                  dj                  | j                        }| j                  }||j	                  d      }|j                  d      }t        |      t        |      z
  }dj                  |       | j                  | j                  }| j                  dvr| j                  n|}||k(  s|d	k(  r|d
z   }|d
z
  |z
  }	|d
z
  |z
  }
|	dk\  r8d |d |	 D        }dj                  dj                  |      d|
|	z
  z  dz          | j                  xs d}dj                  |||       y w)Nr   z  File "{}", line {}
z<string>z ({})rU   z 
r   >   Nr   r   r   c              3   D   K   | ]  }|j                         r|nd   yw)r]   N)r  )r-  cs     r#   r0  z:TracebackException._format_syntax_error.<locals>.<genexpr>  s     !U!		1#<!Us    z    {}{}r   z<no detail available>z	{}: {}{}
)r|   r   r{   rE  r   r   r   r  r   rd   rU  )r8   r  filename_suffixrE  rtextltextspacesr  r   r~   r   
caretspacerU  s                r#   r  z'TracebackException._format_syntax_error  sq    >;;"*11+T[[: :]]&%nnT]];Oyy KK%ELL)EZ#e*,F##E**{{&04y0PT__V\
Z':+;!'!J 
V+&NV3	A:!UuVe}!UJ$++BGGJ,?#UZIZB[^bBbddhh11!!%o>>s   E4E6rM   _ctxc          	   #     K   	 |
t               }g }| }|ri|rz|j                  t        }|j                  }n/|j                  |j                  st
        }|j                  }nd }d }|j                  ||f       |}|rfn|j                  d |f       t        |      D ]  \  }}||j                  |      E d {    |j                  ~|j                  rJ|j                  d      E d {    |j                  |j                  j                               E d {    |j                  |j                               E d {    |j                  | j                  kD  r(|j                  d| j                   d      E d {    |j                  dk(  }|r|xj                  dz  c_        |j                  rP|j                  d|rdnd       E d {    |j                  |j                  j                               E d {    |j                  |j                               E d {    t        |j                        }	|	| j                   k  r|	}
n| j                   dz   }
d	|_        t%        |
      D ]  }||
dz
  k(  }|rd
|_        | j                   || j                   k\  }nd	}|s|dz    nd}|j'                         |dk(  rdndz   d| dz    |xj                  dz  c_        |s)|j                  |   j                  ||      E d {    n8|	| j                   z
  }|dkD  rdnd}|j                  d| d| d      E d {    |r(|j"                  r|j'                         dz    d	|_        |xj                  dz  c_         |sd|_         y 7 7 7 7 j7 ,7 7 7 7 7 ow)Nz#Traceback (most recent call last):
z... (max_group_depth is z)
r   r   z3Exception Group Traceback (most recent call last):
+)rC  FTz...z+-z  z+---------------- z ----------------
r  r   r   zand z more exceptionrU   z&+------------------------------------
)r4  r^  _cause_messager_  r\  _context_messager   reversedrF  ra  rs   r   r   r7  rK  r   rJ  r8  ranger:  )r8   rM   r  outputrF   chained_msgchained_excrU  is_toplevelnum_excsnirf   	truncatedtitle	remainingplurals                    r#   r   zTracebackException.format  s    
	 <)+D==,"0K"%--Koo222"2K"%//K"&K"&K{C01!  MM4+& ( >	3HC99S>))~~%99#yy)OPPP#yy)9)9);<<<99S%>%>%@AAA++d.B.BB99.t/C/C.DCHJ J J  $99Q>..!3.99#yyN-8cd  )  D D D  $yy)9)9);<<<99S%>%>%@AAAs~~.t333 A,,q0A"'q 4A !QqSH*.++7%&$*>*>%>	$)	,5qse5E;;=$%qDDd4/w6IJK L ..!3.$#&>>!#4#;#;%d#;#SSS$,t/C/C$C	(1A2#'99"9+_VHBG$I I I  DOO#{{}H I J*/..!3.74: 12D.}>	3) Q<AJD =A. TIs   A;O ><O :N$;0O +N',0O N*&O N-A O N0AO N30O N6&O .N9/C&O N<8O N>AO O 'O *O -O 0O 3O 6O 9O <O >O rL   c                t    	 |t         j                  }| j                  |      D ]  }t        ||d        y )NrP   r   r   )r   r   r   r    )r8   r   rM   rY   s       r#   r    zTracebackException.print  s9    E<::DKKeK, 	+D$Tr*	+r%   )r:   r;   r<   r   r   ru  r[  r   rz  r   r  r   r    r6   r%   r#   r   r     sq    $L EIeU$CCJ G G

%VN"?H # b3J ! +r%   r   i  (   r   r   c                 h    | |k(  ry| j                         |j                         k(  rt        S t        S )Nr   )lower
_CASE_COST
_MOVE_COST)ch_ach_bs     r#   _substitution_costr  #  s,    t|zz|tzz|#r%   c                 h   |t        |t              sy t        | t              r| j                  }	 t	        |      }nt        | t              r"	 t        | j                        }t	        |      }n|y |j                  |j                  }|j                  |j                  }t        |j                        t        |j                        z   t        |j                        z   }d|j                  v r |j                  d   }t        ||      rd| S t!        |      t"        kD  ry t!        |      }|t$        kD  ry |}	d }
|D ]Q  }||k(  r	t!        |      |z   dz   t&        z  dz  }t)        ||	dz
        }t+        |||      }||kD  rF|
r||	k  sN|}
|}	S |
S # t
        $ r Y y w xY w# t
        $ r Y y w xY w)Nr8   zself.r      r   )rA   r  rY  objdirr   rV  
__import__r   rx   ru   rQ   r   r   
f_builtinsrh   r   _MAX_CANDIDATE_ITEMS_MAX_STRING_SIZEr  min_levenshtein_distance)rd  r,   rj  r  dmodr   r8   wrong_name_lenbest_distancerk  possible_namemax_distancecurrent_distances                 r#   rW  rW  +  s   J!<)^,mm	CA 
I{	+	Y^^,CCA :jj$B jj$ 5??#$5##$% 	
 U^^#>>&)DtZ(zl++ 1v$$_N(("MJ -J&M*^;a?:MQRR<):;0]LYl*-=&J,M- i  		  		s#   F  F% 	F"!F"%	F10F1c           	      
   | |k(  ryd}| |d  r+||d  r&| |   ||   k(  r|dz  }| |d  r||d  r| |   ||   k(  r| |d  } ||d  }d}| d |xs d  rC|d |xs d  r:| |dz
     ||dz
     k(  r)|dz  }| d |xs d  r|d |xs d  r| |dz
     ||dz
     k(  r)| d |xs d  } |d |xs d  }| r|st         t        |       t        |      z   z  S t        |       t        kD  st        |      t        kD  r|dz   S t        |      t        |       k  r|| }} t        |      t        |       z
  t         z  |kD  r|dz   S t        t	        t         t         t        |       dz   z  t                     }d}t	        t        |            D ]  }||   }|t         z  x}	}t
        j                  }
t	        t        |             D ]E  }|	t        || |         z   }||   }	t        ||	      t         z   }t        ||      }|||<   ||
k  sD|}
G |
|kD  s|dz   c S  |S r   )	r  r   r  rQ   r  r   maxsizer  r  )abmax_costprepostr   r   bindexbchardistanceminimumindex
substituteinsert_deletes                 r#   r  r  i  so    	Av C
CD'ag!C&AcF"2q CD'ag!C&AcF"2	#$A	#$AD
MT\T
q$,$/Ad1fI464J	 MT\T
q$,$/Ad1fI464J	-4<4A	-4<4AASVc!f_--
1v  CF-=$=!| 1vA!1 	AQ:%0!|
 uZs1vz!:JG
HCFA-  &	"Z//6++3q6] 	!E!$6uah$GGJ5zH  1J>M
3F  CJ 	! Xa<) * Mr%   r'   r>   )NNTr>  )NNN)7collections.abcr   r   r   r   rA  
contextlibr   __all__r$   r   r   r
   r   r  r  r4   r?   rH   r   r   r   rZ   r  rV   r   r   r   r   r	   r   r   r   r   r   r2   r   r   rQ   r   r   
namedtupler  r   r,  r   r4  r   r  r  r  r  r  rW  r  r6   r%   r#   <module>r     s   F    
  $';$707*& 
& 
  K	 #,	T%" $-$( )2 ,& $' 4JP	, 	96 L" L"^
O  D4 DNC
 ";!! 3Z	-^  $K K.s+ s+l   

;|:r%   