
    -Ph                       U d Z ddlmZ ddlZddlmZmZ erddlmZ i ej        dej	        dej
        dej        d	ej        d
ej        dej        dej        dej        dej        dej        dej        dej        dej        dej        dej        dej        dej        dej        diZded<   ed'd(d            Zed'd)d!            Zd'd*d$Z G d% d&ej                  ZdS )+z'Helpers for AST (Abstract Syntax Tree).    )annotationsN)TYPE_CHECKINGoverload)NoReturn+and&|^/z//~z<<@*%not**orz>>-zdict[type[ast.AST], str]	OPERATORS nodeNonecodestrreturnc                    d S N r   r   s     Q/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/pycode/ast.pyunparser!   "   s    14    ast.ASTc                    d S r   r   r   s     r    r!   r!   &   s    363r"   ast.AST | None
str | Nonec                |    | dS t          | t                    r| S t          |                              |           S )zUnparse an AST to string.N)
isinstancer   _UnparseVisitorvisitr   s     r    r!   r!   *   s?    |t	D#		 4  &&t,,,r"   c                      e Zd Zd2d3dZd4d	ZeD ]Ze e            d
ej          <   d5dZd6dZ	d7dZ
d8dZd9dZd:dZd;dZd<dZd=dZd>d Zd?d"Zd@d$ZdAd&ZdBd(ZdCd*ZdDd,ZdEd.ZdFd0Zd1S )Gr)   r   r   r   r   r   c                    || _         d S r   )r   )selfr   s     r    __init__z_UnparseVisitor.__init__5   s    			r"   r   r#   c                &    t           |j                 S r   )r   	__class__r-   r   s     r    	_visit_opz_UnparseVisitor._visit_op8   s    ((r"   visit_ast.argc                f    |j         r$|j         d|                     |j                    S |j        S )N: )
annotationargr*   r1   s     r    	visit_argz_UnparseVisitor.visit_arg>   s7    ? 	h??$**T_"="=???8Or"   r8   defaultr%   c                    |                      |          }|r>|j        r|d|                      |          z  z  }n|d|                      |          z  z  }|S )z&Unparse a single argument to a string.z = %sz=%s)r*   r7   )r-   r8   r:   names       r    _visit_arg_with_defaultz'_UnparseVisitor._visit_arg_with_defaultD   s`    zz# 	4~ 4$**W"5"555

7 3 333r"   ast.argumentsc           	        	 t          |j                  	t          |j                  }t          |j                  }||z  }t          t          	          |          D ]}	                    dd            t          |j                  }t          t          |          t          |j                            D ]}|                    dd            	 fdt          |j                  D             }|j        r|
                    d           t          |j                  D ]7\  }}|
                                         |	||z                                 8|j        r0|
                    d                     |j                  z              |j        r|j        s|
                    d           t          |j                  D ]4\  }}|
                                         |||                              5|j        r0|
                    d                     |j                  z              d                    |          S )Nr   c                N    g | ]!\  }}                     ||                   "S r   )r=   ).0ir8   defaultsr-   s      r    
<listcomp>z3_UnparseVisitor.visit_arguments.<locals>.<listcomp>Z   sA     
 
 
3 ((hqk::
 
 
r"   r   r   r   , )listrC   lenargsposonlyargsrangeinsertkw_defaults
kwonlyargs	enumerateappendr=   varargr*   kwargjoin)
r-   r   positionalsrI   _rL   rH   rB   r8   rC   s
   `        @r    visit_argumentsz_UnparseVisitor.visit_argumentsN   sC   *.t}*=*=$)nn$*++{"s8}}k22 	% 	%AOOAt$$$$-1$2B-C-Cs;''T_)=)=>> 	( 	(Aq$''''
 
 
 
 
#D$455
 
 

  	KK	** 	V 	VFAsKK44S(1{?:STTUUUU; 	7KKdjj555666? 	4; 	KK00 	K 	KFAsKK44S+a.IIJJJJ: 	7KKtzz$*555666yyr"   ast.Attributec                J    |                      |j                   d|j         S )N.)r*   valueattrr1   s     r    visit_Attributez_UnparseVisitor.visit_Attributer   s&    **TZ((6649666r"   	ast.BinOpc                (   t          |j        t          j                  r:d                    t          | j        |j        |j        |j        f                    S d                    t          | j        |j        |j        |j        f                    S )Nr    )	r(   opastPowrR   mapr*   leftrightr1   s     r    visit_BinOpz_UnparseVisitor.visit_BinOpu   so    dgsw'' 	N773tzDItw
+KLLMMMxxDJDGTZ(HIIJJJr"   
ast.BoolOpc                     d                      |j                  z  }|                     fd|j        D                       S )Nz %s c              3  B   K   | ]}                     |          V  d S r   r*   rA   er-   s     r    	<genexpr>z/_UnparseVisitor.visit_BoolOp.<locals>.<genexpr>}   s-      ::tzz!}}::::::r"   )r*   r_   rR   values)r-   r   r_   s   `  r    visit_BoolOpz_UnparseVisitor.visit_BoolOp{   sD    djj)))ww::::dk::::::r"   ast.Callc                     d                      fd|j        D              fd|j        D             z             }                     |j                   d| dS )NrE   c                :    g | ]}                     |          S r   ri   rj   s     r    rD   z._UnparseVisitor.visit_Call.<locals>.<listcomp>   s#    ...qTZZ]]...r"   c                X    g | ]&}|j          d                     |j                   'S )=)r8   r*   rY   rA   kr-   s     r    rD   z._UnparseVisitor.visit_Call.<locals>.<listcomp>   s7    GGGA!%//$**QW--//GGGr"   ())rR   rH   keywordsr*   func)r-   r   rH   s   `  r    
visit_Callz_UnparseVisitor.visit_Call   su    yy....DI...GGGGGGGH
 
 **TY''11$1111r"   ast.Constantc                0   |j         t          u rdS t          |j         t          t          z  t
          z            rI| j        r.t          j        | j        |          pt          |j                   S t          |j                   S t          |j                   S )Nz...)
rY   Ellipsisr(   intfloatcomplexr   r`   get_source_segmentreprr1   s     r    visit_Constantz_UnparseVisitor.visit_Constant   s    :!!5
C%K'$9:: 	$y (-di>>R$tzBRBRRDJ'''
###r"   ast.Dictc                      fd|j         D             } fd|j        D             }d t          ||d          D             }dd                    |          z   dz   S )	Nc              3  F   K   | ]}|                     |          V  d S r   ri   rt   s     r    rl   z-_UnparseVisitor.visit_Dict.<locals>.<genexpr>   s-      BB!AM

1MMMMBBr"   c              3  B   K   | ]}                     |          V  d S r   ri   )rA   vr-   s     r    rl   z-_UnparseVisitor.visit_Dict.<locals>.<genexpr>   s-      55A$**Q--555555r"   c              3  ,   K   | ]\  }}|d z   |z   V  dS )r6   Nr   )rA   ru   r   s      r    rl   z-_UnparseVisitor.visit_Dict.<locals>.<genexpr>   s.      II$!QTAIIIIIIr"   T)strict{rE   })keysrm   ziprR   )r-   r   r   rm   itemss   `    r    
visit_Dictz_UnparseVisitor.visit_Dict   sw    BBBBtyBBB5555555II#dF4*H*H*HIIITYYu%%%++r"   
ast.Lambdac                <    d|                      |j                  z  S )Nzlambda %s: ...)r*   rH   r1   s     r    visit_Lambdaz_UnparseVisitor.visit_Lambda   s    $**TY"7"777r"   ast.Listc                \     dd                      fd|j        D                       z   dz   S )N[rE   c              3  B   K   | ]}                     |          V  d S r   ri   rj   s     r    rl   z-_UnparseVisitor.visit_List.<locals>.<genexpr>   -      @@tzz!}}@@@@@@r"   ]rR   eltsr1   s   ` r    
visit_Listz_UnparseVisitor.visit_List   6    TYY@@@@di@@@@@@3FFr"   ast.Namec                    |j         S r   )idr1   s     r    
visit_Namez_UnparseVisitor.visit_Name   s	    wr"   ast.Setc                \     dd                      fd|j        D                       z   dz   S )Nr   rE   c              3  B   K   | ]}                     |          V  d S r   ri   rj   s     r    rl   z,_UnparseVisitor.visit_Set.<locals>.<genexpr>   r   r"   r   r   r1   s   ` r    	visit_Setz_UnparseVisitor.visit_Set   r   r"   	ast.Slicec                2   |j         s|j        s	|j        sdS |j         r|                     |j                   nd}|j        r|                     |j                  nd}|j        s| d| S |j        r|                     |j                  nd}| d| d| S )N:r   )lowerupperstepr*   )r-   r   startstopr   s        r    visit_Slicez_UnparseVisitor.visit_Slice   s    z 	$* 	TY 	3*.*<

4:&&&")-;tzz$*%%%y 	%$$d$$$(,	9tzz$)$$$r''$'''''r"   ast.Subscriptc                2    d
d} ||j                   rKd                     fd|j         j        D                       }                     |j                   d| d	S                      |j                   d                     |j                    d	S )NrY   ast.exprr   boolc                    t          | t          j                  o2t          | j                  ot          d | j        D                        S )Nc              3  J   K   | ]}t          |t          j                  V  d S r   )r(   r`   Starred)rA   elts     r    rl   zK_UnparseVisitor.visit_Subscript.<locals>.is_simple_tuple.<locals>.<genexpr>   s.      OOSJsCK88OOOOOOr"   )r(   r`   Tupler   r   any)rY   s    r    is_simple_tuplez8_UnparseVisitor.visit_Subscript.<locals>.is_simple_tuple   sN    5#),, P$$POOEJOOOOOOr"   rE   c              3  B   K   | ]}                     |          V  d S r   ri   rj   s     r    rl   z2_UnparseVisitor.visit_Subscript.<locals>.<genexpr>   s-      DDqTZZ]]DDDDDDr"   r   r   )rY   r   r   r   )slicerR   r   r*   rY   )r-   r   r   r   s   `   r    visit_Subscriptz_UnparseVisitor.visit_Subscript   s    	 	 	 	 ?4:&& 	799DDDDDJODDDDDDjj,,66t6666**TZ((DD4::dj+A+ADDDDr"   ast.UnaryOpc                   t          |j        t          j                  r7|                     |j                   d|                     |j                   S |                     |j                   |                     |j                   S )Nr^   )r(   r_   r`   Notr*   operandr1   s     r    visit_UnaryOpz_UnparseVisitor.visit_UnaryOp   sx     dgsw'' 	Gjj))FFDJJt|,D,DFFF**TW%%Atzz$,'?'?AAAr"   	ast.Tuplec                    t          |j                  dk    rdS t          |j                  dk    r#d                     |j        d                   z  S dd                     fd|j        D                       z   dz   S )	Nr   z()   z(%s,)rv   rE   c              3  B   K   | ]}                     |          V  d S r   ri   rj   s     r    rl   z._UnparseVisitor.visit_Tuple.<locals>.<genexpr>   s-      "D"DQ4::a=="D"D"D"D"D"Dr"   rw   )rG   r   r*   rR   r1   s   ` r    visit_Tuplez_UnparseVisitor.visit_Tuple   s~    ty>>Q4^^q  TZZ	!5555"D"D"D"D$)"D"D"DDDDsJJr"   r   c                J    t          dt          |          j        z            )NzUnable to parse %s object)NotImplementedErrortype__name__r1   s     r    generic_visitz_UnparseVisitor.generic_visit   s    !"=T

@S"STTTr"   Nr   )r   r   r   r   )r   r#   r   r   )r   r4   r   r   )r8   r4   r:   r%   r   r   )r   r>   r   r   )r   rV   r   r   )r   r\   r   r   )r   rf   r   r   )r   ro   r   r   )r   r{   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r#   r   r   )r   
__module____qualname__r.   r2   r   _oplocalsr9   r=   rU   r[   re   rn   rz   r   r   r   r   r   r   r   r   r   r   r   r   r"   r    r)   r)   4   s           ) ) ) )  6 6,5(#,(())      " " " "H7 7 7 7K K K K; ; ; ;2 2 2 2	$ 	$ 	$ 	$, , , ,8 8 8 8G G G G   G G G G( ( ( (E E E EB B B BK K K KU U U U U Ur"   r)   r   )r   r   r   r   r   r   )r   r#   r   r   r   r   )r   r%   r   r   r   r&   ) __doc__
__future__r   r`   typingr   r   r   AddAndBitAndBitOrBitXorDivFloorDivInvertLShiftMatMultMultModr   ra   OrRShiftSubUAddUSubr   __annotations__r!   NodeVisitorr)   r   r"   r    <module>r      s   - - - " " " " " " 



 * * * * * * * *  'GS'GU' J' Is	'
 J' GS' L$' J' J' K' Hc' GS' GU' GT' FD'  J!'" GS#'$ HcHc'' '	    . 
 4 4 4 4 
 4 
 6 6 6 6 
 6- - - - -ZU ZU ZU ZU ZUco ZU ZU ZU ZU ZUr"   