
    -hh                         S SK r S SKJr  S SKJrJrJr  SSKJr  SSKJ	r	  SSKJ
r
  Sr " S	 S
\ R                  5      r\ " S S5      5       rS\\   S\4S jrS\\   S\4S jrg)    N)TracebackType)finalOptionalType   )events)
exceptions)tasks)Timeouttimeout
timeout_atc                   (    \ rS rSrSrSrSrSrSrSr	g)	_State   createdactiveexpiringexpiredfinished N)
__name__
__module____qualname____firstlineno__CREATEDENTEREDEXPIRINGEXPIREDEXITED__static_attributes__r       9/opt/python-3.13.8/usr/lib/python3.13/asyncio/timeouts.pyr   r      s    GGHGFr!   r   c            	           \ rS rSrS\\   SS4S jrS\\   4S jrS\\   SS4S jrS\	4S jr
S\4S	 jrSS
 jrS\\\      S\\   S\\   S\\	   4S jrSS jr\S\SS4S j5       rSrg)r      whenreturnNc                 V    [         R                  U l        S U l        S U l        Xl        g N)r   r   _state_timeout_handler_task_when)selfr%   s     r"   __init__Timeout.__init__!   s#     nn>B+/

r!   c                     U R                   $ r(   )r,   r-   s    r"   r%   Timeout.when.   s    zzr!   c                    U R                   [        R                  LaK  U R                   [        R                  L a  [	        S5      e[	        SU R                   R
                   S35      eXl        U R                  b  U R                  R                  5         Uc  S U l        g [        R                  " 5       nXR                  5       ::  a!  UR                  U R                  5      U l        g UR                  XR                  5      U l        g )NzTimeout has not been enteredzCannot change state of z Timeout)r)   r   r   r   RuntimeErrorvaluer,   r*   cancelr   get_running_looptime	call_soon_on_timeoutcall_at)r-   r%   loops      r"   
rescheduleTimeout.reschedule2   s    ;;fnn,{{fnn,"#ABB)$++*;*;)<HE  
  ,!!((*<$(D!**,Dyy{"(,t7G7G(H%(,T;K;K(L%r!   c                 \    U R                   [        R                  [        R                  4;   $ r(   )r)   r   r   r   r1   s    r"   r   Timeout.expiredI   s    {{v???r!   c                    S/nU R                   [        R                  L a9  U R                  b  [	        U R                  S5      OS nUR                  SU 35        SR                  U5      nSU R                   R                   SU S3$ )N    zwhen= z
<Timeout []>)r)   r   r   r,   roundappendjoinr5   )r-   infor%   info_strs       r"   __repr__Timeout.__repr__M   ss    t;;&..(+/::+A5Q'tDKK%v'88D>DKK--.az;;r!   c                 N  #    U R                   [        R                  La  [        S5      e[        R
                  " 5       nUc  [        S5      e[        R                  U l         Xl        U R                  R                  5       U l	        U R                  U R                  5        U $ 7f)Nz Timeout has already been enteredz$Timeout should be used inside a task)r)   r   r   r4   r
   current_taskr   r+   
cancelling_cancellingr=   r,   )r-   tasks     r"   
__aenter__Timeout.__aenter__U   sz     ;;fnn,ABB!!#<EFFnn
::002

#s   B#B%exc_typeexc_valexc_tbc                 n  #    U R                   b!  U R                   R                  5         S U l         U R                  [        R                  L a  [        R
                  U l        U R                  R                  5       U R                  ::  av  Ubs  [        U[        R                  5      (       a  [        UeUbJ  U R                  U5        [        U[        5      (       a$  UR                   H  nU R                  U5        M     g U R                  [        R                   L a  [        R"                  U l        g 7fr(   )r*   r6   r)   r   r   r   r+   uncancelrQ   
issubclassr	   CancelledErrorTimeoutError_insert_timeout_error
isinstanceExceptionGroupr   r   )r-   rU   rV   rW   excs        r"   	__aexit__Timeout.__aexit__a   s        ,!!((*$(D!;;&//) ..DKzz""$(8(88X=Q h
(A(ABB&G3(..w7!'>::#*#5#5C 66s; $6
  [[FNN* --DKs   D3D5c                 p    U R                   R                  5         [        R                  U l        S U l        g r(   )r+   r6   r   r   r)   r*   r1   s    r"   r:   Timeout._on_timeout   s%    

oo $r!   c                     U R                   bn  [        U R                   [        R                  5      (       a)  [	        5       nU R                   =Ul         Ul        Xl         g U R                   n U R                   b  Mm  g g r(   )__context__r^   r	   r[   r\   	__cause__)rV   tes     r"   r]   Timeout._insert_timeout_error   sd    !!-'--z/H/HII!^070C0CC&(#))G !!-r!   )rQ   r)   r+   r*   r,   )r&   r   )r&   N)r   r   r   r   r   floatr.   r%   r=   boolr   strrL   rS   r   BaseExceptionr   ra   r:   staticmethodr]   r    r   r!   r"   r   r      s    Xe_  huo Mx M4 M.@ @<# <
4./ -( '	
 
$<% *} * * *r!   r   delayr&   c                 v    [         R                  " 5       n[        U b  UR                  5       U -   5      $ S 5      $ r(   )r   r7   r   r8   )ro   r<   s     r"   r   r      s5      ""$D%*;499;&FFFFr!   r%   c                     [        U 5      $ r(   )r   )r%   s    r"   r   r      s    & 4=r!   )enumtypesr   typingr   r   r   rB   r   r	   r
   __all__Enumr   r   rj   r   r   r   r!   r"   <module>rw      s      ( (   TYY  s* s* s*lG8E? Gw G(Xe_  r!   