
    z%iFm                         	 d Z ddlZddlmZ dZi ad Z G d de      Z G d d	e      Z	 G d
 de      Z
d Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Zd Zy)z#Guido van Rossum <guido@python.org>    N)StringIOic                     t         sDddlm} |j                  j	                         D ]!  \  }}t        |      t        k(  s|t         |<   # t         j                  | |       S )N   )python_symbols)_type_reprspygramr   __dict__itemstypeint
setdefault)type_numr   namevals       B/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/lib2to3/pytree.py	type_reprr      sT    * (00668 	9ID#CyCDS!1	9!!(H55    c                       e Zd Z	 dZdZdZdZdZd Zd Z	dZ
d Zd Zd Zd	 Zd
 Zd Zd Zd Zed        Zed        Zd Zd Zd Zej4                  dk  rd Zyy)BaseN Fc                 .    	 t         j                  |       S Nobject__new__clsargskwdss      r   r   zBase.__new__1   s    E~~c""r   c                 b    	 | j                   |j                   urt        S | j                  |      S r   )	__class__NotImplemented_eqselfothers     r   __eq__zBase.__eq__6   s-    	
 >>0!!xxr   c                     	 t         r   NotImplementedErrorr$   s     r   r#   zBase._eqB   s    	 "!r   c                     	 t         r   r)   r%   s    r   clonez
Base.cloneM       	
 "!r   c                     	 t         r   r)   r,   s    r   
post_orderzBase.post_orderU   r.   r   c                     	 t         r   r)   r,   s    r   	pre_orderzBase.pre_order]   r.   r   c                 T   	 t        |t              s|g}g }d}| j                  j                  D ]-  }|| u r||j	                  |       d}|j                  |       / | j                  j                          || j                  _        |D ]  }| j                  |_         d | _        y NFT)
isinstancelistparentchildrenextendappendchanged)r%   new
l_childrenfoundchxs         r   replacezBase.replacee   s    = #t$%C
++&& 	&BTz?%%c*!!"%	& 	) 	#A{{AH	#r   c                     	 | }t        |t              s-|j                  sy |j                  d   }t        |t              s-|j                  S Nr   )r5   Leafr8   linenor%   nodes     r   
get_linenozBase.get_lineno|   sD    GT4(====#D T4( {{r   c                 ^    | j                   r| j                   j                          d| _        y NT)r7   r;   was_changedr,   s    r   r;   zBase.changed   s!    ;;KK!r   c                     	 | j                   rht        | j                   j                        D ]E  \  }}|| u s| j                   j                          | j                   j                  |= d | _         |c S  y y r   )r7   	enumerater8   r;   )r%   irG   s      r   removezBase.remove   sl    	 ;;$T[[%9%9: 44<KK''),,Q/"&DKH r   c                     	 | j                   y t        | j                   j                        D ](  \  }}|| u s	 | j                   j                  |dz      c S  y # t        $ r Y  y w xY w)Nr   )r7   rM   r8   
IndexErrorr%   rN   childs      r   next_siblingzBase.next_sibling   ss    	 ;; "$++"6"67 	 HAu} ;;//!44	  "   s   A	A'&A'c                     	 | j                   y t        | j                   j                        D ].  \  }}|| u s|dk(  r y | j                   j                  |dz
     c S  y Nr   r   )r7   rM   r8   rR   s      r   prev_siblingzBase.prev_sibling   sd    	 ;; "$++"6"67 	1HAu}6{{++AaC00		1r   c              #   b   K   | j                   D ]  }|j                         E d {     y 7 wr   )r8   leavesr%   rS   s     r   rY   zBase.leaves   s+     ]] 	&E||~%%	&%s   #/-/c                 V    | j                   yd| j                   j                         z   S rV   )r7   depthr,   s    r   r\   z
Base.depth   s'    ;;4;;$$&&&r   c                 :    	 | j                   }|y|j                  S N )rT   prefix)r%   next_sibs     r   
get_suffixzBase.get_suffix   s'    	 $$r      r   c                 6    t        |       j                  d      S )Nascii)strencoder,   s    r   __str__zBase.__str__   s    t9##G,,r   )__name__
__module____qualname__r   r7   r8   rK   was_checkedr   r'   __hash__r#   r-   r0   r2   rA   rH   r;   rO   propertyrT   rW   rY   r\   rb   sysversion_infori   r   r   r   r   r      s     DFHKK#
 H	"""". 
      1 1&'
 & 	- !r   r   c                       e Zd Z	 	 	 	 ddZd Zd Zej                  dkD  reZd Z	d Z
d Zd	 Zed
        Zej                  d        Zd Zd Zd Zy)NodeNc                     	 || _         t        |      | _        | j                  D ]	  }| |_         ||| _        |r|d d  | _        y d | _        y r   )r   r6   r8   r7   r`   fixers_applied)r%   r   r8   contextr`   ru   r?   s          r   __init__zNode.__init__   s\    	 	X-- 	BBI	  DK"0"3D"&Dr   c                 |    	 | j                   j                  dt        | j                        d| j                  dS N(, ))r!   rj   r   r   r8   r,   s    r   __repr__zNode.__repr__   s/    7#~~66(3#}}. 	.r   c                 V    	 dj                  t        t        | j                              S r^   )joinmaprg   r8   r,   s    r   __unicode__zNode.__unicode__   s#    	
 wws3.//r   rc   c                 f    	 | j                   | j                  f|j                   |j                  fk(  S r   )r   r8   r$   s     r   r#   zNode._eq   s*    -		4==)ejj%..-IIIr   c                     	 t        | j                  | j                  D cg c]  }|j                          c}| j                        S c c}w N)ru   )rs   r   r8   r-   ru   )r%   r?   s     r   r-   z
Node.clone  s;    2DIIT]]Cr
C#'#6#68 	8Cs   A

c              #   l   K   	 | j                   D ]  }|j                         E d {     |  y 7 wr   )r8   r0   rZ   s     r   r0   zNode.post_order  s8     8]] 	*E'')))	*
 *s   $424c              #   l   K   	 |  | j                   D ]  }|j                         E d {     y 7 wr   )r8   r2   rZ   s     r   r2   zNode.pre_order  s4     7
]] 	)E(((	)(s   (424c                 P    	 | j                   sy| j                   d   j                  S )Nr_   r   r8   r`   r,   s    r   r`   zNode.prefix  s(    	 }}}}Q&&&r   c                 F    | j                   r|| j                   d   _        y y rC   r   r%   r`   s     r   r`   zNode.prefix  s    ==&,DMM!# r   c                 z    	 | |_         d | j                  |   _         || j                  |<   | j                          y r   )r7   r8   r;   rR   s      r   	set_childzNode.set_child   s8    	 "&a ar   c                 l    	 | |_         | j                  j                  ||       | j                          y r   )r7   r8   insertr;   rR   s      r   insert_childzNode.insert_child*  s-    	 Q&r   c                 j    	 | |_         | j                  j                  |       | j                          y r   )r7   r8   r:   r;   rZ   s     r   append_childzNode.append_child3  s+    	 U#r   NNN)rj   rk   rl   rw   r}   r   rp   rq   ri   r#   r-   r0   r2   ro   r`   setterr   r   r   r   r   r   rs   rs      s    5  $'2.0 & J8
) ' ' ]]- -r   rs   c                       e Zd Z	 dZdZdZddg fdZd Zd Ze	j                  dkD  reZd Zd	 Zd
 Zd Zd Zed        Zej&                  d        Zy)rD   r_   r   Nc                 z    	 ||\  | _         \  | _        | _        || _        || _        ||| _         |d d  | _        y r   )_prefixrE   columnr   valueru   )r%   r   r   rv   r`   ru   s         r   rw   zLeaf.__init__F  sL    	 7>4DL44;	
!DL,Q/r   c                 j    	 | j                   j                  d| j                  d| j                  dS ry   )r!   rj   r   r   r,   s    r   r}   zLeaf.__repr__Y  s*    7#~~66#yy#zz+ 	+r   c                 H    	 | j                   t        | j                        z   S r   )r`   rg   r   r,   s    r   r   zLeaf.__unicode___  s     	
 {{S_,,r   rc   c                 f    	 | j                   | j                  f|j                   |j                  fk(  S r   )r   r   r$   s     r   r#   zLeaf._eqj  s*    -		4::&5::u{{*CCCr   c                     	 t        | j                  | j                  | j                  | j                  | j
                  ff| j                        S r   )rD   r   r   r`   rE   r   ru   r,   s    r   r-   z
Leaf.clonen  s@    2DIItzz[[4;;"<=#'#6#68 	8r   c              #      K   |  y wr   r   r,   s    r   rY   zLeaf.leavest  s     
s   c              #      K   	 |  y wr   r   r,   s    r   r0   zLeaf.post_orderw  s     8
   	c              #      K   	 |  y wr   r   r,   s    r   r2   zLeaf.pre_order{  s     7
r   c                     	 | j                   S r   )r   r,   s    r   r`   zLeaf.prefix  s    	 ||r   c                 2    | j                          || _        y r   )r;   r   r   s     r   r`   zLeaf.prefix  s    r   )rj   rk   rl   r   rE   r   rw   r}   r   rp   rq   ri   r#   r-   rY   r0   r2   ro   r`   r   r   r   r   rD   rD   =  s    1 GFF  "0&+- & D8   ]] r   rD   c                     	 |\  }}}}|s|| j                   v r!t        |      dk(  r|d   S t        |||      S t        |||      S )Nr   r   )rv   )number2symbollenrs   rD   )grraw_noder   r   rv   r8   s         r   convertr     s]     &."D%(42+++ x=AA;D(G44D%11r   c                   B    e Zd Z	 dZdZdZd Zd Zd ZddZ	ddZ
d Zy)	BasePatternNc                 .    	 t         j                  |       S r   r   r   s      r   r   zBasePattern.__new__  s    L~~c""r   c                     t        | j                        | j                  | j                  g}|r|d   |d= |r|d   | j                  j
                  ddj                  t        t        |            dS )Nrz   r{   r|   )	r   r   contentr   r!   rj   r   r   repr)r%   r   s     r   r}   zBasePattern.__repr__  sd    $))$dllDII>tBx'R tBx'>>22DIIc$o4NOOr   c                     	 | S r   r   r,   s    r   optimizezBasePattern.optimize  s    	
 r   c                     	 | j                   |j                   | j                   k7  ry| j                  ,d }|i }| j                  ||      sy|r|j                  |       || j                  r||| j                  <   yr4   )r   r   	_submatchupdater   )r%   rG   resultsrs       r   matchzBasePattern.match  s|    		 99 TYY$))%;<<#A">>$*q!499!%GDIIr   c                 L    	 t        |      dk7  ry| j                  |d   |      S )Nr   Fr   )r   r   )r%   nodesr   s      r   	match_seqzBasePattern.match_seq  s,    	
 u:?zz%(G,,r   c              #   P   K   	 i }|r| j                  |d   |      rd|f y y y wrV   )r   )r%   r   r   s      r   generate_matcheszBasePattern.generate_matches  s6     	
 TZZa!,Q$J -5s   $&r   )rj   rk   rl   r   r   r   r   r}   r   r   r   r   r   r   r   r   r     s7     DGD#
P2-r   r   c                   $    e Zd ZddZddZddZy)LeafPatternNc                 8    	 | | || _         || _        || _        y r   )r   r   r   )r%   r   r   r   s       r   rw   zLeafPattern.__init__  s*    
	 		r   c                 T    	 t        |t              syt        j                  | ||      S NF)r5   rD   r   r   r%   rG   r   s      r   r   zLeafPattern.match
  s'    8$%  tW55r   c                 6    	 | j                   |j                  k(  S r   )r   r   r   s      r   r   zLeafPattern._submatch  s    	 ||tzz))r   r   r   )rj   rk   rl   rw   r   r   r   r   r   r   r     s    (6*r   r   c                        e Zd ZdZddZddZy)NodePatternFNc                     	 | |6t        |      }t        |      D ]  \  }}t        |t              sd| _         || _        || _        || _        y rJ   )r6   rM   r5   WildcardPattern	wildcardsr   r   r   )r%   r   r   r   rN   items         r   rw   zNodePattern.__init__$  s^    	 7mG$W- *4dO4%)DN* 		r   c                    	 | j                   rVt        | j                  |j                        D ]2  \  }}|t	        |j                        k(  s||j                  |        y yt	        | j                        t	        |j                        k7  ryt        | j                  |j                        D ]  \  }}|j                  ||      r y yNTF)r   r   r   r8   r   r   zipr   )r%   rG   r   cr   
subpatternrS   s          r   r   zNodePattern._submatchA  s    	 >>(t}}E  1DMM***q)	 
 t||DMM 22!$T\\4==!A 	J##E73	 r   r   r   )rj   rk   rl   r   rw   r   r   r   r   r   r      s    I:r   r   c                   L    e Zd Z	 ddedfdZd ZddZddZd Zd Z	d	 Z
d
 Zy)r   Nr   c                     	 | t        t        t         |            }|D ]  } || _        || _        || _        || _        y r   )tupler   r   minmaxr   )r%   r   r   r   r   alts         r   rw   zWildcardPattern.__init__k  sM    	. Cw/0G  + +	r   c                    	 d }| j                   Et        | j                         dk(  r-t        | j                   d         dk(  r| j                   d   d   }| j                  dk(  r\| j                  dk(  rM| j                   t	        | j
                        S |)| j
                  |j
                  k(  r|j                         S | j                  dk  rt        |t              rx|j                  dk  ri| j
                  |j
                  k(  rPt        |j                   | j                  |j                  z  | j                  |j                  z  |j
                        S | S )Nr   r   )r   )	r   r   r   r   r   r   r   r5   r   )r%   r   s     r   r   zWildcardPattern.optimize  s   9
LL$"s4<<?';q'@a+J88q=TXX]||#"		22%499
+G!**,,HHMj_ENNaDII$@":#5#5#'88JNN#:#'88JNN#:#-??4 4 r   c                 *    	 | j                  |g|      S r   )r   r   s      r   r   zWildcardPattern.match  s    5~~tfg..r   c                     	 | j                  |      D ]L  \  }}|t        |      k(  s|5|j                  |       | j                  rt	        |      || j                  <    y yr   )r   r   r   r   r6   )r%   r   r   r   r   s        r   r   zWildcardPattern.match_seq  sa    B))%0 	DAqCJ&NN1%yy-1%[		*	 r   c           	   #   (  K   	 | j                   bt        | j                  dt        t        |      | j                        z         D ](  }i }| j
                  r|d | || j
                  <   ||f * y | j
                  dk(  r| j                  |       y t        t        d      r#t        j                  }t               t        _	        	 | j                  |d      D ])  \  }}| j
                  r|d | || j
                  <   ||f + 	 t        t        d      rt        _	        y y # t        $ r@ | j                  |      D ])  \  }}| j
                  r|d | || j
                  <   ||f + Y ew xY w# t        t        d      rt        _	        w w xY ww)Nr   	bare_namegetrefcountr   )r   ranger   r   r   r   _bare_name_matcheshasattrrp   stderrr   _recursive_matchesRuntimeError_iterative_matches)r%   r   countr   save_stderrs        r   r   z WildcardPattern.generate_matches  sv    
	 <<txxSUTXX-F)FG 99#(%=AdiiLQh	
 YY+%))%00 sM*!jj%Z
- $ 7 7q A #HE1yy',Ve}$))(N# 3.!,CJ /   # !% 7 7 > #HE1yy',Ve}$))(N## 3.!,CJ /s=   CF	>D% E1 F%AE.+E1 -E..E1 1FFc              #     K   	 t        |      }d| j                  k\  rdi f g }| j                  D ]/  }t        ||      D ]  \  }}||f |j	                  ||f         1 |rg }|D ]  \  }}	||k  s|| j
                  k  s| j                  D ]b  }t        |||d        D ]N  \  }
}|
dkD  si }|j                  |	       |j                  |       ||
z   |f |j	                  ||
z   |f       P d  |}|ry y wrC   )r   r   r   r   r:   r   r   )r%   r   nodelenr   r   r   r   new_resultsc0r0c1r1s               r   r   z"WildcardPattern._iterative_matches  s*    6e*=R%K<< 	'C(e4 '1d
1v&'	' K! 
AB<B$((N#|| A&6sE"#J&G AFB!Av$& ! !&(2gqj 0 + 2 2BGQ< @AA
A "G s   A3D 6D )D 0AD >D c                     	 d}i }d}t        |      }|sA||k  r<d}| j                  D ]#  }|d   j                  ||   |      s|dz  }d} n |s||k  r<|d | || j                  <   ||fS )Nr   FTr   )r   r   r   r   )r%   r   r   r   doner   leafs          r   r   z"WildcardPattern._bare_name_matches  s    6%j53;D 7==uq1QJE D	 53; Ve}$))axr   c              #   <  K   	 || j                   k\  rdi f || j                  k  rs| j                  D ]c  }t        ||      D ]R  \  }}| j	                  ||d  |dz         D ]2  \  }}i }|j                  |       |j                  |       ||z   |f 4 T e y y wrV   )r   r   r   r   r   r   )	r%   r   r   r   r   r   r   r   r   s	            r   r   z"WildcardPattern._recursive_matches
  s     6DHHR%K488|| ).sE: )FB"&"9"9%*eAg"N )B 2gqj(	))) s   BBr   )rj   rk   rl   HUGErw   r   r   r   r   r   r   r   r   r   r   r   r   ]  s<    
  $4 !F&/	+-Z": )r   r   c                   &    e Zd ZddZd Zd Zd Zy)NegatedPatternNc                     	 | || _         y r   )r   )r%   r   s     r   rw   zNegatedPattern.__init__  s    	 r   c                      yr   r   rF   s     r   r   zNegatedPattern.match(  s    r   c                     t        |      dk(  S rC   )r   )r%   r   s     r   r   zNegatedPattern.match_seq,  s    5zQr   c              #      K   | j                   t        |      dk(  rdi f y y | j                   j                  |      D ]  \  }} y  di f y wrC   )r   r   r   )r%   r   r   r   s       r   r   zNegatedPattern.generate_matches0  sY     <<5zQe  55e< 1R%Ks   AAr   )rj   rk   rl   rw   r   r   r   r   r   r   r   r     s    	r   r   c              #      K   	 | sdi f y | d   | dd  }}|j                  |      D ]R  \  }}|s||f t        |||d        D ]2  \  }}i }|j                  |       |j                  |       ||z   |f 4 T y wrV   )r   r   )	patternsr   prestr   r   r   r   r   s	            r   r   r   <  s      e1+x|4((/ 	%FB"f.tU23Z@ %FBAHHRLHHRLr'1*$	%		%s   A<A>)
__author__rp   ior   r   r   r   r   r   rs   rD   r   r   r   r   r   r   r   r   r   r   <module>r      s    3
 
 6n-6 n-`k4 k\L4 L\2&S& Sl)*+ )*X:+ :zy)k y)x [  F%r   