
    Lg~                        d dl Z d dlZd dlZej        rd dlmZ  G d de j                  Z G d de          Z e            Z	 G d de          Z
 e
            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 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 G d de          ZdS )    N)RetryCallStatec                   L    e Zd ZdZej        dddefd            ZddZdd
Z	dS )
retry_basez)Abstract base class for retry strategies.retry_stater   returnc                     d S N selfr   s     V/var/www/html/4nations/venv/lib/python3.11/site-packages/pip/_vendor/tenacity/retry.py__call__zretry_base.__call__   s        other	retry_allc                 "    t          | |          S r	   )r   r   r   s     r   __and__zretry_base.__and__        u%%%r   	retry_anyc                 "    t          | |          S r	   )r   r   s     r   __or__zretry_base.__or__#   r   r   N)r   r   r   r   )r   r   r   r   )
__name__
__module____qualname____doc__abcabstractmethodboolr   r   r   r
   r   r   r   r      ss        33$4     & & & && & & & & &r   r   c                   "    e Zd ZdZdddefdZdS )_retry_neverz-Retry strategy that never rejects any result.r   r   r   c                     dS NFr
   r   s     r   r   z_retry_never.__call__*   s    ur   Nr   r   r   r   r   r   r
   r   r   r!   r!   '   s=        77$4       r   r!   c                   "    e Zd ZdZdddefdZdS )_retry_alwaysz.Retry strategy that always rejects any result.r   r   r   c                     dS NTr
   r   s     r   r   z_retry_always.__call__4   s    tr   Nr$   r
   r   r   r&   r&   1   s=        88$4       r   r&   c                   N    e Zd ZdZdej        egef         ddfdZdddefdZ	dS )	retry_if_exceptionzARetry strategy that retries if an exception verifies a predicate.	predicater   Nc                     || _         d S r	   r+   r   r+   s     r   __init__zretry_if_exception.__init__>       "r   r   r   c                 v    |j         j        r,|                     |j                                                   S dS r#   outcomefailedr+   	exceptionr   s     r   r   zretry_if_exception.__call__A   s6    % 	>>+"5"?"?"A"ABBB5r   )
r   r   r   r   typingCallableBaseExceptionr   r/   r   r
   r   r   r*   r*   ;   sm        KK#&/=/42G"H #T # # # #$4       r   r*   c                        e Zd ZdZefdej        ej        e         ej	        ej        e         df         f         ddf fdZ
 xZS )retry_if_exception_typez=Retries if an exception has been raised of one or more types.exception_types.r   Nc                 `    | _         t                                          fd           d S )Nc                 $    t          |           S r	   
isinstanceer;   s    r   <lambda>z2retry_if_exception_type.__init__.<locals>.<lambda>S   s    :a#A#A r   r;   superr/   r   r;   	__class__s    `r   r/   z retry_if_exception_type.__init__K   s6      /AAAABBBBBr   r   r   r   r   	Exceptionr6   UnionTyper8   Tupler/   __classcell__rF   s   @r   r:   r:   H   s        GG C CK&L]3S89;
C 
C C C C C C C C C Cr   r:   c                        e Zd ZdZefdej        ej        e         ej	        ej        e         df         f         ddf fdZ
 xZS )retry_if_not_exception_typezARetries except an exception has been raised of one or more types.r;   .r   Nc                 `    | _         t                                          fd           d S )Nc                 &    t          |            S r	   r>   r@   s    r   rB   z6retry_if_not_exception_type.__init__.<locals>.<lambda>a       z!_'E'E#E r   rC   rE   s    `r   r/   z$retry_if_not_exception_type.__init__Y   6      /EEEEFFFFFr   rG   rM   s   @r   rO   rO   V   s        KK G GK&L]3S89;
G 
G G G G G G G G G Gr   rO   c                        e Zd ZdZefdej        ej        e         ej	        ej        e         df         f         ddf fdZ
dddefd	Z xZS )
retry_unless_exception_typez:Retries until an exception is raised of one or more types.r;   .r   Nc                 `    | _         t                                          fd           d S )Nc                 &    t          |            S r	   r>   r@   s    r   rB   z6retry_unless_exception_type.__init__.<locals>.<lambda>o   rR   r   rC   rE   s    `r   r/   z$retry_unless_exception_type.__init__g   rS   r   r   r   c                 v    |j         j        sdS |                     |j                                                   S r(   r2   r   s     r   r   z$retry_unless_exception_type.__call__q   s6    ") 	4~~k1;;==>>>r   )r   r   r   r   rH   r6   rI   rJ   r8   rK   r/   r   r   rL   rM   s   @r   rU   rU   d   s        DD G GK&L]3S89;
G 
G G G G G G?$4 ? ? ? ? ? ? ? ? ?r   rU   c                       e Zd ZdZefdej        ej        e         ej	        ej        e         df         f         ddfdZ
dddefd	ZdS )
retry_if_exception_cause_typezRetries if any of the causes of the raised exception is of one or more types.

    The check on the type of the cause of the exception is done recursively (until finding
    an exception in the chain that has no `__cause__`)
    r;   .r   Nc                     || _         d S r	   )exception_cause_types)r   r;   s     r   r/   z&retry_if_exception_cause_type.__init__   s     &5"""r   r   r   c                     |j         j        r@|j                                         }|%t          |j        | j                  rdS |j        }|%dS )NTF)r3   r4   r5   r?   	__cause__r\   )r   r   excs      r   r   z&retry_if_exception_cause_type.__call__   sZ    % 	$%//11C/cmT-GHH  4m /
 ur   )r   r   r   r   rH   r6   rI   rJ   r8   rK   r/   r   r   r
   r   r   rZ   rZ   x   s          5 5K&L]3S89;
5 
5 5 5 5$4       r   rZ   c                   X    e Zd ZdZdej        ej        gef         ddfdZdddefdZ	dS )	retry_if_resultz+Retries if the result verifies a predicate.r+   r   Nc                     || _         d S r	   r-   r.   s     r   r/   zretry_if_result.__init__   r0   r   r   r   c                 v    |j         j        s,|                     |j                                                   S dS r#   r3   r4   r+   resultr   s     r   r   zretry_if_result.__call__   s6    ") 	>>+"5"<"<">">???5r   
r   r   r   r   r6   r7   Anyr   r/   r   r
   r   r   ra   ra      so        55#&/6:,2D"E #$ # # # #$4       r   ra   c                   X    e Zd ZdZdej        ej        gef         ddfdZdddefdZ	dS )	retry_if_not_resultz*Retries if the result refutes a predicate.r+   r   Nc                     || _         d S r	   r-   r.   s     r   r/   zretry_if_not_result.__init__   r0   r   r   r   c                 x    |j         j        s-|                     |j                                                    S dS r#   rd   r   s     r   r   zretry_if_not_result.__call__   s9    ") 	~~k&9&@&@&B&BCCCC5r   rf   r
   r   r   ri   ri      so        44#&/6:,2D"E #$ # # # #$4       r   ri   c                   b     e Zd ZdZ	 	 ddej        e         dej        e         ddf fdZ xZS )retry_if_exception_messagez2Retries if an exception message equals or matches.Nmessagematchr   c                 R   r|rt          | j        j         d          rdt          dt          ffd}|}nI|r+t          j        |          dt          dt          ffd}|}nt          | j        j         d          t                                          |           d S )Nz.() takes either 'message' or 'match', not bothr5   r   c                 *    t          |           k    S r	   )str)r5   rn   s    r   message_fncz8retry_if_exception_message.__init__.<locals>.message_fnc   s    #i..00r   c                 b    t                              t          |                               S r	   )r   ro   rr   )r5   progs    r   	match_fncz6retry_if_exception_message.__init__.<locals>.match_fnc   s#    DJJs9~~66777r   z3() missing 1 required argument 'message' or 'match')		TypeErrorrF   r   r8   r   recompilerD   r/   )r   rn   ro   rs   r+   rv   ru   rF   s    `    @r   r/   z#retry_if_exception_message.__init__   s    
  	hu 	ht~6fffggg  	m1} 1 1 1 1 1 1 1 $II 	m:e$$D8] 8t 8 8 8 8 8 8 "IIt~6kkklll#####r   NN)	r   r   r   r   r6   Optionalrr   r/   rL   rM   s   @r   rm   rm      sz        << )-&*$ $%$ s#$ 
	$ $ $ $ $ $ $ $ $ $r   rm   c                   r     e Zd ZdZ	 	 d
dej        e         dej        e         ddf fdZdddefd	Z	 xZ
S )retry_if_not_exception_messagez5Retries until an exception message equals or matches.Nrn   ro   r   c                 p    t                                          ||           | j        fd| _        d S )Nc                       | i | S r	   r
   )args_kwargs_if_predicates     r   rB   z9retry_if_not_exception_message.__init__.<locals>.<lambda>   s    ||U7Vg7V7V3V r   )rD   r/   r+   )r   rn   ro   r   rF   s      @r   r/   z'retry_if_not_exception_message.__init__   s;    
 	%(((~VVVVr   r   r   c                 v    |j         j        sdS |                     |j                                                   S r(   r2   r   s     r   r   z'retry_if_not_exception_message.__call__   s6    ") 	4~~k1;;==>>>r   rz   )r   r   r   r   r6   r{   rr   r/   r   r   rL   rM   s   @r   r}   r}      s        ?? )-&*W W%W s#W 
	W W W W W W?$4 ? ? ? ? ? ? ? ? ?r   r}   c                   2    e Zd ZdZdeddfdZdddefdZdS )	r   z1Retries if any of the retries condition is valid.retriesr   Nc                     || _         d S r	   r   r   r   s     r   r/   zretry_any.__init__       r   r   r   c                 D    t          fd| j        D                       S )Nc              3   .   K   | ]} |          V  d S r	   r
   .0rr   s     r   	<genexpr>z%retry_any.__call__.<locals>.<genexpr>   +      88a11[>>888888r   )anyr   r   s    `r   r   zretry_any.__call__   (    88884<888888r   r   r   r   r   r   r/   r   r   r
   r   r   r   r      s_        ;;     9$4 9 9 9 9 9 9 9r   r   c                   2    e Zd ZdZdeddfdZdddefdZdS )	r   z/Retries if all the retries condition are valid.r   r   Nc                     || _         d S r	   r   r   s     r   r/   zretry_all.__init__   r   r   r   r   c                 D    t          fd| j        D                       S )Nc              3   .   K   | ]} |          V  d S r	   r
   r   s     r   r   z%retry_all.__call__.<locals>.<genexpr>   r   r   )allr   r   s    `r   r   zretry_all.__call__   r   r   r   r
   r   r   r   r      s_        99     9$4 9 9 9 9 9 9 9r   r   )r   rx   r6   TYPE_CHECKINGpip._vendor.tenacityr   ABCr   r!   retry_neverr&   retry_alwaysr*   r:   rO   rU   rZ   ra   ri   rm   r}   r   r   r
   r   r   <module>r      s  " 


 				 	 4333333& & & & & & & &    :    lnn    J    }
 
 
 
 
 
 
 
C C C C C0 C C CG G G G G"4 G G G? ? ? ? ?"4 ? ? ?(    J   6
 
 
 
 
j 
 
 

 
 
 
 
* 
 
 
$ $ $ $ $!3 $ $ $>? ? ? ? ?%? ? ? ?&9 9 9 9 9
 9 9 99 9 9 9 9
 9 9 9 9 9r   