Ë
    =²Xj‹  ã                   óÞ  — d dl Z d dlZd dlZd dlZd dlmZ ej                  dz  Z G d„ dej                  «      Z	de
defd„Zde
defd	„Zd
ej                  dej                  f   defd„Zej"                  e
eef   Zdedefd„Zdej                  dej                  f   defd„Zdej                  dej                  f   dej                  dej.                  ej                     f   fd„Zy)é    N)Ú	timedeltaé   c            
       óh   — e Zd ZdZdededej                  dej                  dej                  f
d„Zy)	ÚLoggerProtocolz}
    Protocol used by utils expecting a logger (eg: before_log).

    Compatible with logging, structlog, loguru, etc...
    ÚlevelÚmsgÚargsÚkwargsÚreturnc                 ó   — y ©N© )Úselfr   r   r	   r
   s        úU/var/www/html/content_generation/venv/lib/python3.12/site-packages/tenacity/_utils.pyÚlogzLoggerProtocol.log#   s   € àó    N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚintÚstrÚtypingÚAnyr   r   r   r   r   r      s@   „ ñðØðØ"ðØ.4¯j©jðØDJÇJÁJðà	�‰ôr   r   Úpos_numr   c                 óh   — | dk(  ry| dk(  ry| dk(  ry| dk(  ryd	| cxk  rd
k  ry t        | dz  «      S )Nr   Úthé   Ústr   Úndé   Úrdé   é   é
   ©Úfind_ordinal©r   s    r   r'   r'   (   sP   € à�!‚|ØØ	�AŠØØ	�AŠØØ	�AŠØØ	
ˆgÔ	˜Ò	Øð 
ô ˜G b™LÓ)Ð)r   c                 ó    — | › t        | «      › �S r   r&   r(   s    r   Ú
to_ordinalr*   8   s   € ØˆY”| GÓ,Ð-Ð.Ð.r   Úcb.c                 ó`  — g }	 |j                  | j                  «       |st	        | «      S 	 | j
                  r|j                  d| j
                  «       dj                  |«      S # t        $ r/ 	 |j                  | j                  «       n# t        $ r Y nw xY wY Œ~w xY w# t        $ r Y ŒWw xY w)znGet a callback fully-qualified name.

    If no name can be produced ``repr(cb)`` is called and returned.
    r   Ú.)Úappendr   ÚAttributeErrorr   Úreprr   ÚinsertÚjoin)r+   Úsegmentss     r   Úget_callback_namer4   <   s¦   € ð
 €HðØ�‰˜Ÿ™Ô(ñ Ü�B‹xˆð	à�}Š}Ø—‘  2§=¡=Ô1ð �x‰x˜Ó!Ð!øô ò ð	Ø�O‰O˜BŸK™KÕ(øÜò 	Ùð	üðûô ò 	Ùð	úsF   „A& ­(B! Á&	BÁ0BÂBÂ	BÂBÂBÂBÂBÂ!	B-Â,B-Ú	time_unitc                 ó`   — t        t        | t        «      r| j                  «       «      S | «      S r   )ÚfloatÚ
isinstancer   Útotal_seconds)r5   s    r   Ú
to_secondsr:   X   s1   € ÜÜ%/°	¼9Ô%Eˆ	×ÑÓ!óð ØKTóð r   Úcallc                 óö   — t        j                  | «      ryt        j                  | «      ryt        | t        j
                  «      xr | j                  }|xs t        | dd «      }t        j                  |«      S )NFTÚ__call__)ÚinspectÚisclassÚiscoroutinefunctionr8   Ú	functoolsÚpartialÚfuncÚgetattr)r;   Úpartial_callÚdunder_calls      r   Úis_coroutine_callablerG   ^   sa   € Ü‡��tÔØÜ×"Ñ" 4Ô(ØÜ˜d¤I×$5Ñ$5Ó6ÒD¸4¿9¹9€LØÒA¤'¨$°
¸DÓ"A€KÜ×&Ñ& {Ó3Ð3r   c                 óŽ   ‡ — t        ‰ «      r‰ S dt        j                  dt        j                  dt        j                  fˆ fd„}|S )Nr	   r
   r   c               Ÿ   ó   •K  —  ‰| i |¤ŽS ­wr   r   )r	   r
   r;   s     €r   Úinnerz!wrap_to_async_func.<locals>.innern   s   øè ø€ Ù�TÐ$˜VÑ$Ð$ùs   ƒ	)rG   r   r   )r;   rJ   s   ` r   Úwrap_to_async_funcrK   h   s?   ø€ ô ˜TÔ"Øˆð%œ6Ÿ:™:ð %´·±ð %ÄÇ
Á
õ %ð €Lr   )rA   r>   Úsysr   Údatetimer   ÚmaxsizeÚMAX_WAITÚProtocolr   r   r   r'   r*   ÚCallabler   r4   ÚUnionr7   Útime_unit_typer:   ÚboolrG   Ú	AwaitablerK   r   r   r   Ú<module>rV      s  ðó  Û Û 
Û Ý ð
 �;‰;˜‰?€ô	�V—_‘_ô 	ð*˜#ð * #ó *ð /˜ð / ó /ð"˜&Ÿ/™/¨#¨v¯z©z¨/Ñ:ð "¸só "ð2 —‘˜c 5¨)Ð3Ñ4€ð˜.ð ¨Uó ð4 §¡°°V·Z±Z°Ñ @ð 4ÀTó 4ð	Ø
�/‰/˜#˜vŸz™z˜/Ñ
*ð	à‡_�_�S˜&×*Ñ*¨6¯:©:Ñ6Ð6Ñ7ô	r   