
    `f<#                        d Z ddlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZmZmZmZmZmZmZmZmZ d	d
lmZ dZ edd          Z edd          Z edd          Z edd          Zee fZ!e
fZ"e#e$fZ% eddd	          Z& eddd          Z' eddd          Z( eddd	          Z) eddd          Z* eddd          Z+ eddd	          Z, eddd          Z- eddd	          Z. eddd          Z/ eddd          Z0d4d Z1e'e+fd!Z2e+fd"Z3d# Z4d$ Z5d5d&Z6d' Z7d( Z8d) Z9d* Z:d4d+Z;d, Z<ddde=fd-ed.ee         d/e>d0e>d1ed2ee         fd3Z?dS )6a  Streaming, truncating, non-recursive version of :func:`repr`.

Differences from regular :func:`repr`:

- Sets are represented the Python 3 way: ``{1, 2}`` vs ``set([1, 2])``.
- Unicode strings does not have the ``u'`` prefix, even on Python 2.
- Empty set formatted as ``set()`` (Python 3), not ``set([])`` (Python 2).
- Longs don't have the ``L`` suffix.

Very slow with no limits, super quick with limits.
    N)deque
namedtuple)Decimal)chain)Number)
_recursion)
AnyAnyStrCallableDictIteratorListOptionalSequenceSetTuple   )truncate)saferepr
reprstream_literal)valuer   	direction_key)r   _quoted_dirty)objid{F: T}[]z, ()z,)   c                 N    d                     t          | |||                    S )zSafe version of :func:`repr`.

    Warning:
        Make sure you set the maxlen argument, or it will be very slow
        for recursive objects.  With the maxlen set, it's often faster
        than built-in repr.
     )maxlen	maxlevelsseen)join	_saferepr)or)   r*   r+   s       G/var/www/html/env/lib/python3.11/site-packages/celery/utils/saferepr.pyr   r   B   s4     779	&ID         c              #      K   t          |           }t          |                                           D ].\  }\  }}t          |          V  |V  |V  ||dz
  k     r|V  /d S Nr   )len	enumerateitemsr   )mappingLIT_DICT_KVSEPLIT_LIST_SEPsizeikvs          r/   
_chaindictr=   P   s       w<<Dw}}//  	6Aq1ggq>> r0   c              #   t   K   t          |           }t          |           D ]\  }}|V  ||dz
  k     r|V  d S r2   )r3   r4   )itr8   r9   r:   r<   s        r/   
_chainlistr@   ]   sW      r77D"  1q>> r0   c                 0    t          |           j         dS )Nz())type__name__ss    r/   _repr_empty_setrF   f   s    1gg""""r0   c                     t          | t                    r>	 |                     d           n'# t          $ r |                     dd          cY S w xY w| S )Nutf-8backslashreplace)errors)
isinstancebytesencodeUnicodeDecodeErrordecodevals    r/   	_safetextrR   k   su    #u B	BJJw! 	B 	B 	B ::g.@:AAAAA	B Js   - !AA...c                    |r^t          |           |k    rKt          |           d |                                         }t          dt	          |           | d          S t          dt	          |            d          S )N')r3   
memoryviewtobytes_bytes_prefix_repr_binary_bytes)rQ   r)   ellipsischunks       r/   _format_binary_bytesr\   w   s     I#c((V##3(0022G!3E!:!:GHGGGHHH7/44777888r0   c                     d| z   S )Nb rD   s    r/   rX   rX      s    7Nr0   c                 v    	 |                      d          S # t          $ r |                                 cY S w xY w)NrH   )rO   rN   hexrP   s    r/   rY   rY      sH    zz'"""   wwyys    88c                     t          | t                    rt          | |          S d                    t	          | |                              dd                    S )Nz'{}'rU   z\')rK   rL   r\   formatr   replace)rQ   r)   s     r/   _format_charsre      sQ    #u H#C000}}Xc622::3FFGGGr0   c           	          	 t          |           S # t          $ rY}d                    t          j                              }dt          |           t          |           dd|d|dcY d }~S d }~ww xY w)N
z<Unrepresentable z#xr    >)repr	Exceptionr,   	tracebackformat_stackrB   id)objexcstacks      r/   _reprrr      s    QCyy Q Q Q		)02233P499P3PPPcPPePPPPPPPPPQs    
A4AA/)A4/A4c              #   l  K   t          t          | g          g          }t          |||          D ]\  }}|!|dk    rdV  |                    |            nt	          |t
                    r|j        }ntt	          |t                    rt          |j        ||          }nHt	          |t                    rt          |j        |          }nt          t          ||                    }|V  ||t          |          z  }|D ],}|D ]'}	t	          |	t
                    r|	j        s	|	j        V  (-d S )N)r+   r*   r   z, ...)r   iterr   appendrK   r   r   r   r   r   re   rR   r   r3   )
r.   r)   r*   r+   rq   tokenr?   rQ   rest1rest2s
             r/   r-   r-      sd     499+EDIFFF  	r&A++MMM LLEeX&& 	5+CCt$$ 	55;	::CCw'' 	5V44CCHUF3344C			c#hhF " " 	" 	"E%** "5> "k!!!	"" "r0   c                     t          |           |u r|| ||           fS t          t          |           j         d|j         dd          t          |j         ddd           ||           fS )Nr$   Fr   r%   r!   )rB   r   rC   r   )rQ   	lit_startlit_endbuiltin_typechainers        r/   _reprseqr~      s    CyyL  '773<<//DII&::::E2FFGM$$$eR00 r0   rq   r+   r*   levelrK   returnc           
   #     K   |pt                      }| j        }| j        }|j        }|j        }|j        }	| rdx}
} |            }|D ]}|} ||t                    r ||j                   ' ||t                    r||j	        z  }||fV  I ||t                    r||fV  a ||t                    rt          |          |fV   ||t                    rt          |          |fV   ||t                    rt!          |          |fV   ||t"                    rt          |          |fV   ||t$                    rC|st'          |          |fV  t)          |t*          t,          t           t.                    \  }
}}n ||t0                    r8t2          t5          |          dk    rt6          nt8          t/          |          }}}
ns ||t:                    rt<          t>          tA          |          }}}
nD ||tB                    rtD          tF          t/          |          }}}
nt          |          |fV  |r||k    r|
j$         d|j$         |fV  $tK          |          } ||          rtM          |          |fV  S |	|            |tO          |
g|t          |          |g|                      | dS dS )z Streaming repr, yielding tokens.Nr   rS   )(setru   popleft__contains__discardaddr   r   r   r   r   r   rr   safe_tstrchars_tr   rangeset_trF   r~   LIT_SET_STARTLIT_SET_ENDr@   tupleLIT_TUPLE_STARTr3   LIT_TUPLE_END_SVLIT_TUPLE_ENDdictLIT_DICT_STARTLIT_DICT_ENDr=   listLIT_LIST_STARTLIT_LIST_ENDr   rn   r   r   )rq   r+   r*   r   rK   ru   r   
is_in_seendiscard_from_seenadd_to_seenrz   r{   r?   rQ   origr   s                   r/   r   r      s      =355D\FmG"J(K
 ;""	GWYY 8	 8	CDz#v&& 6!!#),,,C** 3&2gC&& 02gC)) .Cjj"n$$$$C(( ,#hhl""""C)) *cllB&&&&&C'' (Cjj"n$$$$:c5))  !-c22B6666 .6]Kj/ /+Iw  ZU++ ',/HHMM((}"3 ),wII  ZT** 	&joo ),wIIZT** &joo ),wII  **b.((( )!3!3&_@@@@"DDDD4:e$$ $T**B....E"""
 ui[#uw/GLLMMMw  ; ; ; ; ;r0   )Nr&   N)rS   )@__doc__rl   collectionsr   r   decimalr   	itertoolsr   numbersr   pprintr   typingr	   r
   r   r   r   r   r   r   r   r   textr   __all__r   r   r   r   rL   r   r   r   	frozensetr   r   r   r7   r   r   r   r8   r   r   r   r   r   r   r=   r@   rF   rR   r\   rX   rY   re   rr   r-   r~   rK   intr   r_   r0   r/   <module>r      sv  
 
     ) ) ) ) ) ) ) )                         ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^      
$ :j"DEE z&*%% *Y

+
+ 
Hj	)	) #,  
C#ub))$a((xUB''#ub))xUB''xdA&&eR((hsE2&&(3r**eR((8D%,,     -(
 
 
 
 !-    # # #
	 	 	9 9 9 9    H H HQ Q Q" " " "8   &* !&0	H He Hc]HH H $	H 6>c]	H H H H H Hr0   