o
    K+g                     @   s\   d Z g dZddlZddlmZ ddlmZ dddZG d	d
 d
Zdd Z	e Z
e
jZdS )zGRedo the builtin repr() (representation) but with limits on most sizes.)Reprreprrecursive_repr    N)islice)	get_ident...c                    s    fdd}|S )zGDecorator to make a repr function return fillvalue for a recursive callc                    sX   t    fdd}td|_td|_td|_td|_tdi |_|S )Nc              	      sJ   t | t f}|v r S | z| }W | |S | w N)idr   adddiscard)selfkeyresult)	fillvaluerepr_runninguser_function 9/var/www/html/squashfs-root/usr/lib/python3.10/reprlib.pywrapper   s   


z<recursive_repr.<locals>.decorating_function.<locals>.wrapper
__module____doc____name____qualname____annotations__)setgetattrr   r   r   r   r   )r   r   r   )r   r   r   decorating_function   s   z+recursive_repr.<locals>.decorating_functionr   )r   r   r   r   r   r   	   s   r   c                   @   s~   e Zd Zdd Zdd Zdd Zddd	Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd ZdS ) r   c                 C   sF   d| _ d| _d| _d| _d| _d| _d| _d| _d| _d| _	d| _
d S )N            (   )maxlevelmaxtuplemaxlistmaxarraymaxdictmaxsetmaxfrozensetmaxdeque	maxstringmaxlongmaxother)r   r   r   r   __init__&   s   
zRepr.__init__c                 C   s   |  || jS r   )repr1r#   )r   xr   r   r   r   3   s   z	Repr.reprc                 C   sR   t |j}d|v r| }d|}t| d| r#t| d| ||S | ||S )N _Zrepr_)typer   splitjoinhasattrr   repr_instance)r   r0   leveltypenameZpartsr   r   r   r/   6   s   

z
Repr.repr1 c           
         s   t |}|dkr|rd}n,|d  | j fddt||D }	||kr*|	d d|	}|dkr9|r9|| }d|||f S )Nr   r      c                    s   g | ]}| qS r   r   ).0elemnewlevelr/   r   r   
<listcomp>G   s    z'Repr._repr_iterable.<locals>.<listcomp>, z%s%s%s)lenr/   r   appendr5   )
r   r0   r8   leftrightZmaxiterZtrailnspiecesr   r>   r   _repr_iterable@   s   
zRepr._repr_iterablec                 C   s   |  ||dd| jdS )N(),)rI   r$   r   r0   r8   r   r   r   
repr_tupleM   s   zRepr.repr_tuplec                 C      |  ||dd| jS )N[])rI   r%   rM   r   r   r   	repr_listP      zRepr.repr_listc                 C   s,   |sd|j  S d|j  }| |||d| jS )Nzarray('%s')zarray('%s', []))ZtypecoderI   r&   )r   r0   r8   Zheaderr   r   r   
repr_arrayS   s   

zRepr.repr_arrayc                 C   $   |sdS t |}| ||dd| jS )Nzset(){})_possibly_sortedrI   r(   rM   r   r   r   repr_setY   s   zRepr.repr_setc                 C   rV   )Nzfrozenset()zfrozenset({z}))rY   rI   r)   rM   r   r   r   repr_frozenset_   s   zRepr.repr_frozensetc                 C   rO   )Nzdeque([rT   )rI   r*   rM   r   r   r   
repr_dequef   rS   zRepr.repr_dequec                 C   s   t |}|dkr
dS |dkrdS |d }| j}g }tt|| jD ]}|||}||| |}	|d||	f  q!|| jkrC|d d|}
d|
f S )	Nr   z{}z{...}r;   z%s: %sr   rA   z{%s})rB   r/   r   rY   r'   rC   r5   )r   r0   r8   rF   r?   r/   rH   r   ZkeyreprZvalreprrG   r   r   r   	repr_dicti   s   


zRepr.repr_dictc                 C   s   t |d | j }t|| jkrJtd| jd d }td| jd | }t |d | |t|| d   }|d | d |t|| d   }|S Nr         r   )builtinsr   r+   rB   maxr   r0   r8   rG   ijr   r   r   repr_strx   s   &$zRepr.repr_strc                 C   sh   t |}t|| jkr2td| jd d }td| jd | }|d | d |t|| d   }|S r^   )ra   r   rB   r,   rb   rc   r   r   r   repr_int   s   
$zRepr.repr_intc                 C   s   zt |}W n ty   d|jjt|f  Y S w t|| jkrHtd| jd d }td| jd | }|d | d |t|| d   }|S )Nz<%s instance at %#x>r   r_   r`   r   )	ra   r   	Exception	__class__r   r	   rB   r-   rb   rc   r   r   r   r7      s   $zRepr.repr_instanceN)r:   )r   r   r   r.   r   r/   rI   rN   rR   rU   rZ   r[   r\   r]   rf   rg   r7   r   r   r   r   r   $   s    

	r   c                 C   s&   zt | W S  ty   t|  Y S w r   )sortedrh   list)r0   r   r   r   rY      s
   
rY   )r   )r   __all__ra   	itertoolsr   _threadr   r   r   rY   ZaReprr   r   r   r   r   <module>   s    
s	
