ó
    &ÝNj6#  ã                  óò   • S SK Jr  S SKrS SKrS SKJrJrJrJr  S SK	J
r
  S SKJr  \\/\\   4   r " S S5      r " S S	\5      rSS
 jr " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)é    )ÚannotationsN)ÚAnyÚ	AwaitableÚCallableÚIterable)Úwarn)ÚClientResponsec                  ót   • \ rS rSr      S             SS jjr\R                  SS	S jj5       rSrg)
ÚRetryOptionsBaseé   Nc                óÖ   • Xl         Uc
  [        5       nX l        Uc
  [        5       nX0l        Uc  1 SknU Vs1 s H  owR	                  5       iM     snU l        XPl        X`l        g s  snf )N>	   ÚGETÚPUTÚHEADÚPOSTÚPATCHÚTRACEÚDELETEÚCONNECTÚOPTIONS)ÚattemptsÚsetÚstatusesÚ
exceptionsÚupperÚmethodsÚretry_all_server_errorsÚevaluate_response_callback)Úselfr   r   r   r   r   r   Úmethods           ÚX/home/mande/repo/quber/.venv/lib/python3.13/site-packages/aiohttp_retry/retry_options.pyÚ__init__ÚRetryOptionsBase.__init__   sc   € ð &ŒØÑÜ“uˆHØ'/ŒàÑÜ›ˆJØ5?Œà‰?ÚfˆGÙDKÓ&LÂG¸&§|¡|¦~ÁGÑ&LˆŒà'>Ô$Ø*DÕ'ùò 'Ms   ¸A&c                ó   • [         e©N)ÚNotImplementedError©r   ÚattemptÚresponses      r!   Úget_timeoutÚRetryOptionsBase.get_timeout(   s   € ä!Ð!ó    )r   r   r   r   r   r   )é   NNNTN)r   Úintr   úIterable[int] | Noner   ú Iterable[type[Exception]] | Noner   úIterable[str] | Noner   Úboolr   ú#EvaluateResponseCallbackType | NoneÚreturnÚNoner%   ©r(   r.   r)   zClientResponse | Noner4   Úfloat)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   ÚabcÚabstractmethodr*   Ú__static_attributes__© r,   r!   r   r      s‚   † ð Ø)-Ø7;Ø(,Ø(,àJNðEàðEð 'ðEð 5ð	Eð
 &ðEð "&ðEð %HðEð 
õEð4 	×Ñõ"ó ó"r,   r   c                  ó‚   ^ • \ rS rSr         S                   SU 4S jjjr S     SS jjrSrU =r$ )	ÚExponentialRetryé-   c
           	     óN   >• [         T
U ]  UUUUUU	S9  X l        X0l        X@l        g ©N©r   r   r   r   r   r   )Úsuperr"   Ú_start_timeoutÚ_max_timeoutÚ_factor)r   r   Ústart_timeoutÚmax_timeoutÚfactorr   r   r   r   r   Ú	__class__s             €r!   r"   ÚExponentialRetry.__init__.   s<   ø€ ô 	‰ÑØØØ!ØØ$;Ø'Að 	ñ 	
ð &3ÔØ#.ÔØ$�r,   c                ód   • U R                   U R                  U-  -  n[        X0R                  5      $ )z(Return timeout with exponential backoff.)rG   rI   ÚminrH   )r   r(   r)   Útimeouts       r!   r*   ÚExponentialRetry.get_timeoutG   s.   € ð ×%Ñ%¨¯©°wÑ)>Ñ?ˆÜ�7×-Ñ-Ó.Ð.r,   )rI   rH   rG   )	r-   çš™™™™™¹?ç      >@ç       @NNNTN)r   r.   rJ   r7   rK   r7   rL   r7   r   úset[int] | Noner   úset[type[Exception]] | Noner   úset[str] | Noner   r2   r   r3   r4   r5   r%   r6   ©r8   r9   r:   r;   r"   r*   r>   Ú__classcell__©rM   s   @r!   rA   rA   -   s¸   ø† ð Ø"Ø!ØØ$(Ø26Ø#'Ø(,ØJNð%àð%ð ð%ð ð	%ð
 ð%ð "ð%ð 0ð%ð !ð%ð "&ð%ð %Hð%ð 
÷%ð %ð8 +/ð/àð/ð (ð/ð 
÷	/ó /r,   rA   c                 ó,   • [        SSS9  [        U 0 UD6$ )Nz0RetryOptions is deprecated, use ExponentialRetryé   )Ú
stacklevel)r   rA   )ÚargsÚkwargss     r!   ÚRetryOptionsra   Q   s   € ÜÐ	;ÈÒJÜ˜TÐ, VÑ,Ð,r,   c            	      ó–   ^ • \ rS rSrSSSSSS\R                  SS4	                   S
U 4S jjjr S     SS jjrS	rU =r$ )ÚRandomRetryéV   r-   NrS   ç      @Tc
           	     óZ   >• [         T
U ]  UUUUUU	S9  Xl        XPl        X`l        Xpl        g rD   )rF   r"   r   Úmin_timeoutrK   Úrandom)r   r   r   r   r   rg   rK   Úrandom_funcr   r   rM   s             €r!   r"   ÚRandomRetry.__init__W   sA   ø€ ô 	‰ÑØØØ!ØØ$;Ø'Að 	ñ 	
ð &ŒØ"-ÔØ"-ÔØ!�r,   c                óp   • U R                   U R                  5       U R                  U R                   -
  -  -   $ )zGenerate random timeouts.)rg   rh   rK   r'   s      r!   r*   ÚRandomRetry.get_timeoutq   s1   € ð ×Ñ $§+¡+£-°4×3CÑ3CÀd×FVÑFVÑ3VÑ"WÑWÐWr,   )r   rK   rg   rh   )r   r.   r   r/   r   r0   r   r1   rg   r7   rK   r7   ri   zCallable[[], float]r   r2   r   r3   r4   r5   r%   r6   )	r8   r9   r:   r;   rh   r"   r*   r>   rZ   r[   s   @r!   rc   rc   V   sÁ   ø† ð Ø)-Ø7;Ø(,Ø Ø Ø+1¯=©=Ø(,ØJNð"àð"ð 'ð"ð 5ð	"ð
 &ð"ð ð"ð ð"ð )ð"ð "&ð"ð %Hð"ð 
÷"ð "ð: +/ðXàðXð (ðXð 
÷	Xó Xr,   rc   c                  ón   ^ • \ rS rSr     S             SU 4S jjjr S     SS jjrSrU =r$ )	Ú	ListRetryéz   c           	     óH   >• [         TU ]  [        U5      UUUUUS9  Xl        g rD   )rF   r"   ÚlenÚtimeouts)r   rr   r   r   r   r   r   rM   s          €r!   r"   ÚListRetry.__init__{   s4   ø€ ô 	‰ÑÜ˜“]ØØ!ØØ$;Ø'Að 	ñ 	
ð !�r,   c                ó    • U R                   U   $ )zTimeouts from a defined list.©rr   r'   s      r!   r*   ÚListRetry.get_timeoutŽ   s   € ð �}‰}˜WÑ%Ð%r,   ru   )NNNTN)rr   zlist[float]r   r/   r   r0   r   r1   r   r2   r   r3   r4   r5   r%   r6   rY   r[   s   @r!   rn   rn   z   sŽ   ø† ð *.Ø7;Ø(,Ø(,ØJNð!àð!ð 'ð!ð 5ð	!ð
 &ð!ð "&ð!ð %Hð!ð 
÷!ð !ð, +/ð&àð&ð (ð&ð 
÷	&ó &r,   rn   c                  ó|   ^ • \ rS rSr        S                 SU 4S jjjr S     SS jjrSrU =r$ )	ÚFibonacciRetryé—   c	           	     ó^   >• [         T	U ]  UUUUUUS9  X`l        X l        SU l        SU l        g )NrE   ç      ð?)rF   r"   rK   Ú
multiplierÚ	prev_stepÚcurrent_step)
r   r   r|   r   r   r   rK   r   r   rM   s
            €r!   r"   ÚFibonacciRetry.__init__˜   sE   ø€ ô 	‰ÑØØØ!ØØ$;Ø'Að 	ñ 	
ð 'ÔØ$ŒØˆŒØˆÕr,   c                ó¨   • U R                   U R                  -   nU R                  U l         X0l        [        U R                  U-  U R                  5      $ r%   )r}   r~   rP   r|   rK   )r   r(   r)   Únew_current_steps       r!   r*   ÚFibonacciRetry.get_timeout±   sI   € ð
  Ÿ>™>¨D×,=Ñ,=Ñ=ÐØ×*Ñ*ˆŒØ,Ôä�4—?‘?Ð%5Ñ5°t×7GÑ7GÓHÐHr,   )r~   rK   r|   r}   )r-   r{   NNNre   TN)r   r.   r|   r7   r   r/   r   r0   r   r1   rK   r7   r   r2   r   r3   r4   r5   r%   r6   rY   r[   s   @r!   rx   rx   —   s°   ø† ð ØØ)-Ø7;Ø(,Ø Ø(,ØJNð àð ð ð ð 'ð	 ð
 5ð ð &ð ð ð ð "&ð ð %Hð ð 
÷ ð  ð8 +/ð	Iàð	Ið (ð	Ið 
÷		Ió 	Ir,   rx   c                  ó’   ^ • \ rS rSrSr          S                     SU 4S jjjr S     S	U 4S jjjrSrU =r$ )
ÚJitterRetryé½   z3https://github.com/inyutin/aiohttp_retry/issues/44.c                ó`   >• [         TU ]  UUUUUUUU	U
S9	  X l        X0l        X@l        X€l        g )N)	r   rJ   rK   rL   r   r   r   r   r   )rF   r"   rG   rH   rI   Ú_random_interval_size)r   r   rJ   rK   rL   r   r   r   Úrandom_interval_sizer   r   rM   s              €r!   r"   ÚJitterRetry.__init__À   sK   ø€ ô 	‰ÑØØ'Ø#ØØØ!ØØ$;Ø'Að 	ñ 
	
ð &3ÔØ#.ÔØ$ŒØ%9Õ"r,   c                ó„   >• [         TU ]  U5      [        R                  " SU R                  5      U R
                  -  -   nU$ )Nr   )rF   r*   rh   Úuniformr‡   rI   )r   r(   r)   rQ   rM   s       €r!   r*   ÚJitterRetry.get_timeoutÞ   s;   ø€ ô
 ™Ñ,¨WÓ5¼¿ºÀqÈ$×JdÑJdÓ8eÐim×iuÑiuÑ8uÑuˆØˆr,   )rI   rH   r‡   rG   )
r-   rS   rT   rU   NNNrU   TN)r   r.   rJ   r7   rK   r7   rL   r7   r   rV   r   rW   r   rX   rˆ   r7   r   r2   r   r3   r4   r5   r%   r6   )	r8   r9   r:   r;   Ú__doc__r"   r*   r>   rZ   r[   s   @r!   r„   r„   ½   sÉ   ø† Ù=ð Ø"Ø!ØØ$(Ø26Ø#'Ø&)Ø(,ØJNð:àð:ð ð:ð ð	:ð
 ð:ð "ð:ð 0ð:ð !ð:ð $ð:ð "&ð:ð %Hð:ð 
÷:ð :ðB +/ðàðð (ðð 
÷	ö r,   r„   )r_   r   r`   r   r4   rA   )Ú
__future__r   r<   rh   Útypingr   r   r   r   Úwarningsr   Úaiohttpr	   r2   ÚEvaluateResponseCallbackTyper   rA   ra   rc   rn   rx   r„   r?   r,   r!   Ú<module>r“      s‰   ðÝ "ã 
Û ß 5Ó 5Ý å "à'¨Ð(8¸)ÀD¹/Ð(IÑJÐ ÷"ñ "ô@!/Ð'ô !/ôH-ô
!XÐ"ô !XôH&Ð ô &ô:#IÐ%ô #IôL'Ð"õ 'r,   