
    1h'                       % S SK Jr  S SKrS SKrS SKJr  S SKJrJrJ	r	J
r
  S SKJr  SSKJr  \R                  S:  a  S S	KJr  OS S	KJr  \	" S
5      r\	" S5      rSS jrSS jrSS jrSS jr\" 5       rS\S'   0 rS\S'   \" SS9 " S S5      5       r " S S\R8                  5      r " S S\\   5      r " S S\\   5      rg)     )annotationsN)	dataclass)AnyGenericTypeVaroverload)WeakKeyDictionary   )get_asynclib)      )LiteralTDc                 P   #    [        5       R                  5       I Sh  vN   g N7f)z
Check for cancellation and allow the scheduler to switch to another task.

Equivalent to (but more efficient than)::

    await checkpoint_if_cancelled()
    await cancel_shielded_checkpoint()


.. versionadded:: 3.0

N)r   
checkpoint     F/var/www/auris/envauris/lib/python3.13/site-packages/anyio/lowlevel.pyr   r      s      .
#
#
%%%   &$&c                 P   #    [        5       R                  5       I Sh  vN   g N7f)z
Enter a checkpoint if the enclosing cancel scope has been cancelled.

This does not allow the scheduler to switch to a different task.

.. versionadded:: 3.0

N)r   checkpoint_if_cancelledr   r   r   r   r   $   s      .
0
0
222r   c                 P   #    [        5       R                  5       I Sh  vN   g N7f)z
Allow the scheduler to switch to another task but without checking for cancellation.

Equivalent to (but potentially more efficient than)::

    with CancelScope(shield=True):
        await checkpoint()


.. versionadded:: 3.0

N)r   cancel_shielded_checkpointr   r   r   r   r   0   s      .
3
3
555r   c                 2    [        5       R                  5       $ )zVReturn a backend specific token object that can be used to get back to the event loop.)r   current_tokenr   r   r   r   r   @   s    >''))r   z&WeakKeyDictionary[Any, dict[str, Any]]	_run_varszdict[Any, _TokenWrapper]_token_wrappersT)frozenc                  $    \ rS rSr% SrS\S'   Srg)_TokenWrapperI   )_token__weakref__objectr#   r   N)__name__
__module____qualname____firstlineno__	__slots____annotations____static_attributes__r   r   r   r!   r!   I   s    'INr   r!   c                  6    \ rS rSr\R
                  " 5       rSrg)_NoValueSetO   r   N)r&   r'   r(   r)   enumautoNO_VALUE_SETr,   r   r   r   r.   r.   O   s    99;Lr   r.   c                  "    \ rS rSrSrSS jrSrg)RunvarTokenS   _var_value	_redeemedc                *    Xl         X l        SU l        g )NFr6   )selfvarvalues      r   __init__RunvarToken.__init__V   s    	=Br   )r9   r8   r7   N)r<   z	RunVar[T]r=   %T | Literal[_NoValueSet.NO_VALUE_SET])r&   r'   r(   r)   r*   r>   r,   r   r   r   r4   r4   S   s    -Ir   r4   c                      \ rS rSr% SrSr\R                  rS\S'   \	" 5       r
S\S'   \4   SS jjr\SS	 j5       r\SS
 j5       r\SS j5       r\4   SS jjrSS jr	SS jrSS jrSrg)RunVar\   zS
Like a :class:`~contextvars.ContextVar`, except scoped to the running event loop.
_name_defaultz!Literal[_NoValueSet.NO_VALUE_SET]r2   zset[_TokenWrapper]r   c                    Xl         X l        g NrD   )r;   namedefaults      r   r>   RunVar.__init__g   s    
 
r   c                    [        5       n  [        U   $ ! [         a)    [        U5      nU R                  R                  U5         O[         a    0 =n[        U'   Us $ f = fMZ  rH   )r   r   	TypeErrorr!   r   addKeyError)r;   tokenrun_varss      r   _current_varsRunVar._current_varso   sl    
  '' 0 &e,$$((/  .009U+  s    0A!A! A!c                    g rH   r   r;   rJ   s     r   get
RunVar.get       r   c                    g rH   r   r;   s    r   rV   rW      rX   r   c                    U R                   U R                     $ ! [         aE    U[        R                  La  Us $ U R
                  [        R                  La  U R
                  s $  Of = f[        SU R                   S35      e)NzRun variable "z!" has no value and no default set)rR   rE   rO   rB   r2   rF   LookupErrorrU   s     r   rV   rW      s    	%%%djj11 	%f111f&9&99}}$ :	% TZZL(IJ
 	
s    A*)A*)A*c                    U R                   n[        XR                  U R                  [        R
                  5      5      nXU R                  '   U$ rH   )rR   r4   rV   rE   rB   r2   )r;   r=   current_varsrP   s       r   set
RunVar.set   s?    ))D"2"24::v?R?R"ST#(TZZ r   c                P   UR                   U La  [        S5      eUR                  (       a  [        S5      eUR                  [        R
                  L a   U R                  U R                  	 O#UR                  U R                  U R                  '   SUl        g ! [         a     Nf = f)Nz)This token does not belong to this RunVarz This token has already been usedT)	r7   
ValueErrorr9   r8   r.   r2   rR   rE   rO   )r;   rP   s     r   resetRunVar.reset   s    ::T!HII???@@<<;333&&tzz2 .3\\Dtzz*  s   B 
B%$B%c                $    SU R                   < S3$ )Nz<RunVar name=>)rE   rZ   s    r   __repr__RunVar.__repr__   s    tzznA..r   )rF   rE   N)rI   strrJ   r@   )returnzdict[str, T])rJ   r   rj   T | D)rj   r   )rJ   z%D | Literal[_NoValueSet.NO_VALUE_SET]rj   rk   )r=   r   rj   RunvarToken[T])rP   rl   rj   None)rj   ri   )r&   r'   r(   r)   __doc__r*   r.   r2   r+   r_   r   r>   propertyrR   r   rV   rc   rg   r,   r   r   r   rB   rB   \   s     $I6A6N6NL3N*-%O'/
 :F   7          @L
<
	
"/r   rB   )rj   rm   )rj   r%   ) 
__future__r   r0   sysdataclassesr   typingr   r   r   r   weakrefr	   _core._eventloopr   version_infor   typing_extensionsr   r   r   r   r   r   r   r+   r   r!   Enumr.   r4   rB   r   r   r   <module>ry      s    "  
 ! 2 2 % *v)CLCL& 	36 *
 5F4G	1 G,.) . $  
$)) '!* R/WQZ R/r   