Ë
    +Œ:j'  ã                  óŠ  — U d dl mZ d dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
 d dlmZ ddlmZ ej                  dk\  rd d	lmZ nd d	lmZ  e	d
«      Z e	d«      Zdd„Zdd„Zdd„Zdd„Z e«       Zded<   i Zded<    ed¬«       G d„ d«      «       Z G d„ dej8                  «      Z G d„ dee   «      Z G d„ dee   «      Zy) é    )ÚannotationsN)Ú	dataclass)ÚAnyÚGenericÚTypeVarÚoverload)ÚWeakKeyDictionaryé   )Úget_asynclib)é   é   )ÚLiteralÚTÚDc               ƒ  óP   K  — t        «       j                  «       ƒ d{  –—†  y7 Œ­w)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© ó    úP/var/www/html/tokenscope/api/venv/lib/python3.12/site-packages/anyio/lowlevel.pyr   r      s   è ø€ ô ‹.×
#Ñ
#Ó
%×%Ò%úó   ‚&ž$Ÿ&c               ƒ  óP   K  — t        «       j                  «       ƒ d{  –—†  y7 Œ­w)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Ò2úr   c               ƒ  óP   K  — t        «       j                  «       ƒ d{  –—†  y7 Œ­w)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Ò5úr   c                 ó2   — t        «       j                  «       S )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                  ó   — e Zd ZU dZded<   y)Ú_TokenWrapper)Ú_tokenÚ__weakref__Úobjectr"   N)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Ú__annotations__r   r   r   r!   r!   I   s   … à'€IØ„Nr   r!   c                  ó.   — e Zd Z ej                  «       Zy)Ú_NoValueSetN)r%   r&   r'   ÚenumÚautoÚNO_VALUE_SETr   r   r   r+   r+   O   s   „ Ø�4—9‘9“;�Lr   r+   c                  ó   — e Zd ZdZdd„Zy)ÚRunvarToken©Ú_varÚ_valueÚ	_redeemedc                ó.   — || _         || _        d| _        y )NFr1   )ÚselfÚvarÚvalues      r   Ú__init__zRunvarToken.__init__V   s   € ØˆŒ	Ø=BˆŒØˆ�r   N)r7   z	RunVar[T]r8   ú%T | Literal[_NoValueSet.NO_VALUE_SET])r%   r&   r'   r(   r9   r   r   r   r0   r0   S   s   „ Ø-€Iôr   r0   c                  óÂ   — e Zd ZU dZdZej                  Zded<    e«       Z	ded<   ef	 	 	 dd„Z
edd„«       Zedd	„«       Zedd
„«       Zef	 	 	 dd„Zdd„Zdd„Zdd„Zy)ÚRunVarz[
    Like a :class:`~contextvars.ContextVar`, except scoped to the running event loop.
    ©Ú_nameÚ_defaultz!Literal[_NoValueSet.NO_VALUE_SET]r.   zset[_TokenWrapper]r   c                ó    — || _         || _        y ©Nr=   )r6   ÚnameÚdefaults      r   r9   zRunVar.__init__g   s   € ð
 ˆŒ
Øˆ�r   c                óÆ   — t        «       }	 	 t        |   S # t        $ r) t        |«      }| j                  j                  |«       Y nt        $ r i x}t        |<   |cY S w xY wŒWrA   )r   r   Ú	TypeErrorr!   r   ÚaddÚKeyError)r6   ÚtokenÚrun_varss      r   Ú_current_varszRunVar._current_varso   sl   € ä“ˆØð
 Ü  Ñ'Ð'øÜò 0ô & eÓ,�Ø×$Ñ$×(Ñ(¨Ö/Üò  Ø.0Ð0�œ9 UÑ+Ø’ð úð s   � –/AÁAÁAc                 ó   — y rA   r   ©r6   rC   s     r   Úgetz
RunVar.get   ó   € àr   c                 ó   — y rA   r   ©r6   s    r   rM   z
RunVar.getƒ   rN   r   c                ó  — 	 | j                   | j                     S # t        $ rC |t        j                  ur|cY S | j
                  t        j                  ur| j
                  cY S Y nw xY wt        d| j                  › d�«      ‚)NzRun variable "z!" has no value and no default set)rJ   r>   rG   r<   r.   r?   ÚLookupErrorrL   s     r   rM   z
RunVar.get‡   s   € ð	%Ø×%Ñ% d§j¡jÑ1Ð1øÜò 	%Øœf×1Ñ1Ñ1Ø’Ø—‘¤f×&9Ñ&9Ñ9Ø—}‘}Ò$ñ :ð	%úô Ø˜TŸZ™Z˜LÐ(IÐJó
ð 	
s   ‚ ›A'º(A'Á&A'c                ó¤   — | j                   }t        | |j                  | j                  t        j
                  «      «      }||| j                  <   |S rA   )rJ   r0   rM   r>   r<   r.   )r6   r8   Úcurrent_varsrH   s       r   Úsetz
RunVar.set–   sC   € Ø×)Ñ)ˆÜ˜D ,×"2Ñ"2°4·:±:¼v×?RÑ?RÓ"SÓTˆØ#(ˆ�T—Z‘ZÑ Øˆr   c                ó\  — |j                   | urt        d«      ‚|j                  rt        d«      ‚|j                  t        j
                  u r 	 | j                  | j                  = d|_        y |j                  | j                  | j                  <   d|_        y # t        $ r
 Y d|_        y w xY w)Nz)This token does not belong to this RunVarz This token has already been usedT)	r2   Ú
ValueErrorr4   r3   r+   r.   rJ   r>   rG   )r6   rH   s     r   ÚresetzRunVar.resetœ   s�   € Ø�:‰:˜TÑ!ÜÐHÓIÐIà�?Š?ÜÐ?Ó@Ð@à�<‰<œ;×3Ñ3Ñ3ðØ×&Ñ& t§z¡zÐ2ð ˆ�ð .3¯\©\ˆD×Ñ˜tŸz™zÑ*àˆ�øô ò Øð ˆ�ðús   ÁB Â	B+Â*B+c                ó"   — d| j                   ›d�S )Nz<RunVar name=ú>)r>   rP   s    r   Ú__repr__zRunVar.__repr__­   s   € Ø˜tŸz™z˜n¨AÐ.Ð.r   N)rB   ÚstrrC   r:   )Úreturnzdict[str, T])rC   r   r]   úT | D)r]   r   )rC   z%D | Literal[_NoValueSet.NO_VALUE_SET]r]   r^   )r8   r   r]   úRunvarToken[T])rH   r_   r]   ÚNone)r]   r\   )r%   r&   r'   Ú__doc__r(   r+   r.   r)   rU   r   r9   ÚpropertyrJ   r   rM   rX   r[   r   r   r   r<   r<   \   s°   … ñð $€Ià6A×6NÑ6N€LÐ3ÓNá*-«%€OÐ'Ó/ð
 :Fð àð ð 7ó ð ò ó ð ð òó ðð òó ðð @Lð
Ø<ð
à	ó
óóô"/r   r<   )r]   r`   )r]   r$   ) Ú
__future__r   r,   ÚsysÚdataclassesr   Útypingr   r   r   r   Úweakrefr	   Ú_core._eventloopr   Úversion_infor   Útyping_extensionsr   r   r   r   r   r   r   r)   r   r!   ÚEnumr+   r0   r<   r   r   r   ú<module>rl      sÃ   ðÞ "ã Û 
Ý !ß 2Ó 2Ý %å *à×Ñ�vÒÞå)áˆCƒL€ÙˆCƒL€ó&ó 	3ó6ó *ñ
 5FÓ4G€	Ð1Ó GØ,.€Ð)Ó .ñ �$Ô÷ð ó ðô
�$—)‘)ô ô�'˜!‘*ô ôR/ˆW�Q‰Zõ R/r   