
    )i5                    ^   % S SK Jr  S SKrS SKJr  S SKJrJrJrJ	r	J
r
Jr  S SKJr  SSKJr  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S9 " S S5      5       5       rSS jr\" 5       rS\S'    " S S\R6                  5      r " S S\\   5      r " S S\\   5      rg)    )annotationsN)	dataclass)AnyGenericLiteralTypeVarfinaloverload)WeakKeyDictionary   )get_async_backend)AsyncBackend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     N/var/www/html/land-doc-ocr/venv/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      

5
5
777r   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   +   s      

8
8
:::r   TF)frozenreprc                  .    \ rS rSr% SrS\S'   S\S'   Srg)	EventLoopToken;   zU
An opaque object that holds a reference to an event loop.

.. versionadded:: 4.11.0
ztype[AsyncBackend]backend_classobjectnative_tokenr   N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r   r   r   r   r   ;   s     &%r   r   c                 L    [        5       n U R                  5       n[        X5      $ )z
Return a token object that can be used to call code in the current event loop from
another thread.

.. versionadded:: 4.11.0

)r   current_tokenr   )r    	raw_tokens     r   r+   r+   H   s%     &'M++-I-33r   z1WeakKeyDictionary[object, dict[RunVar[Any], Any]]	_run_varsc                  6    \ rS rSr\R
                  " 5       rSrg)_NoValueSetX   r   N)r#   r$   r%   r&   enumautoNO_VALUE_SETr)   r   r   r   r/   r/   X   s    99;Lr   r/   c                  "    \ rS rSrSrSS jrSrg)RunvarToken\   _var_value	_redeemedc                *    Xl         X l        SU l        g )NFr7   )selfvarvalues      r   __init__RunvarToken.__init___   s    	=Br   )r:   r9   r8   N)r=   z	RunVar[T]r>   %T | Literal[_NoValueSet.NO_VALUE_SET])r#   r$   r%   r&   	__slots__r?   r)   r   r   r   r5   r5   \   s    -Ir   r5   c                      \ rS rSr% SrSr\R                  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)RunVare   zS
Like a :class:`~contextvars.ContextVar`, except scoped to the running event loop.
_name_defaultz!Literal[_NoValueSet.NO_VALUE_SET]r3   c                    Xl         X l        g NrF   )r<   namedefaults      r   r?   RunVar.__init__n   s     
r   c                x    [        5       R                  n [        U   $ ! [         a    0 =n[        U'   Us $ f = frJ   )r+   r"   r-   KeyError)r<   r"   run_varss      r   _current_varsRunVar._current_varst   sB    $33	\** 	133Hy.O	s    99c                    g rJ   r   r<   rL   s     r   get
RunVar.get}   s    (+r   c                    g rJ   r   r<   s    r   rU   rV      s    r   c                     U R                   U    $ ! [         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)rQ   rO   rD   r3   rH   LookupErrorrG   rT   s     r   rU   rV      s{    	%%%d++ 	%f111f&9&99}}$ :	% TZZL(IJ
 	
s    A )A A c                x    U R                   n[        XR                  U [        R                  5      5      nXU '   U$ rJ   )rQ   r5   rU   rD   r3   )r<   r>   current_varstokens       r   set
RunVar.set   s7    ))D"2"249L9L"MN"Tr   c                (   UR                   U La  [        S5      eUR                  (       a  [        S5      eUR                  [        R
                  L a   U R                  U 	 OUR                  U R                  U '   SUl        g ! [         a     Nf = f)Nz)This token does not belong to this RunVarz This token has already been usedT)r8   
ValueErrorr:   r9   r/   r3   rQ   rO   )r<   r]   s     r   resetRunVar.reset   s    ::T!HII???@@<<;333&&t, (-||Dt$  s   B 
BBc                $    SU R                   < S3$ )Nz<RunVar name=>)rG   rX   s    r   __repr__RunVar.__repr__   s    tzznA..r   )rH   rG   N)rK   strrL   rA   )returnzdict[RunVar[T], T])rL   r   ri   T | D)ri   r   )rL   z%D | Literal[_NoValueSet.NO_VALUE_SET]ri   rj   )r>   r   ri   RunvarToken[T])r]   rk   ri   None)ri   rh   )r#   r$   r%   r&   r'   rB   r/   r3   r(   r?   propertyrQ   r
   rU   r^   rb   rf   r)   r   r   r   rD   rD   e   s     $I6A6N6NL3N KW  "G    + +  @L
<
	
"/r   rD   )ri   rl   )ri   r   )
__future__r   r1   dataclassesr   typingr   r   r   r   r	   r
   weakrefr   _core._eventloopr   abcr   r   r   r   r   r   r   r+   r-   r(   Enumr/   r5   rD   r   r   r   <module>ru      s    "  ! B B % / CLCL+ 	8;  
$U#  $ 
4 @Q?R	< R$)) '!* E/WQZ E/r   