Ë
    _§1hV  ã                  ó˜  — 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 d dl	Z	erd dl
mZ ddœdd„Zddœ	 	 	 	 	 dd	„Zdd
„Zdd„Zdd„Z G d„ de«      Zeddœ	 	 	 	 	 dd„«       Zeddœ	 	 	 	 	 dd„«       Zdej*                  v rHd dlZeefD ]<  Zej0                  j3                  e«      j5                  e	j6                  ¬«      e_        Œ> yy)é    )ÚannotationsN)Úcontextmanager)ÚTYPE_CHECKINGÚNoReturn)Ú	GeneratorF©Úshieldc               ó0   — t        j                  | |¬«      S )a>  Use as a context manager to create a cancel scope with the given
    absolute deadline.

    Args:
      deadline (float): The deadline.
      shield (bool): Initial value for the `~trio.CancelScope.shield` attribute
          of the newly created cancel scope.

    Raises:
      ValueError: if deadline is NaN.

    ©Údeadliner	   )ÚtrioÚCancelScoper   s     úL/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/_timeouts.pyÚ
move_on_atr      s   € ô ×Ñ X°fÔ=Ð=ó    c               ó�   — | dk  rt        d«      ‚t        j                  | «      rt        d«      ‚t        j                  || ¬«      S )aœ  Use as a context manager to create a cancel scope whose deadline is
    set to now + *seconds*.

    The deadline of the cancel scope is calculated upon entering.

    Args:
      seconds (float): The timeout.
      shield (bool): Initial value for the `~trio.CancelScope.shield` attribute
          of the newly created cancel scope.

    Raises:
      ValueError: if ``seconds`` is less than zero or NaN.

    r   ú`seconds` must be non-negativez`seconds` must not be NaN)r	   Úrelative_deadline)Ú
ValueErrorÚmathÚisnanr   r   )Úsecondsr	   s     r   Úmove_on_afterr      sH   € ð( �‚{ÜÐ9Ó:Ð:Ü‡z�z�'ÔÜÐ4Ó5Ð5Ü×ÑØØ!ôð r   c               ƒ  ót   K  — t         j                  j                  d„ «      ƒ d{  –—†  t        d«      ‚7 Œ­w)z÷Pause execution of the current task forever (or until cancelled).

    Equivalent to calling ``await sleep(math.inf)``, except that if manually
    rescheduled this will raise a `RuntimeError`.

    Raises:
      RuntimeError: if rescheduled

    c                óJ   — t         j                  j                  j                  S )N)r   ÚlowlevelÚAbortÚ	SUCCEEDED)Ú_s    r   ú<lambda>zsleep_forever.<locals>.<lambda>G   s   € ¼¿¹×8KÑ8K×8UÑ8U€ r   Nz#Should never have been rescheduled!)r   r   Úwait_task_rescheduledÚRuntimeError© r   r   Úsleep_foreverr$   =   s3   è ø€ ô �-‰-×
-Ñ
-Ñ.UÓ
V×VÐVÜ
Ð<Ó
=Ð=ð Wús   ‚$8¦6§8c              ƒ  ót   K  — t        | «      5  t        «       ƒ d{  –—†  ddd«       y7 Œ# 1 sw Y   yxY w­w)a  Pause execution of the current task until the given time.

    The difference between :func:`sleep` and :func:`sleep_until` is that the
    former takes a relative time and the latter takes an absolute time
    according to Trio's internal clock (as returned by :func:`current_time`).

    Args:
        deadline (float): The time at which we should wake up again. May be in
            the past, in which case this function executes a checkpoint but
            does not block.

    Raises:
      ValueError: if deadline is NaN.

    N)r   r$   )r   s    r   Úsleep_untilr&   K   s8   è ø€ ô  
�HÓ	ñ Ü‹o×Ð÷ð Øø÷ð üs    ‚8Ž,œ*�,¡	8ª,¬5±8c              ƒ  óÜ   K  — | dk  rt        d«      ‚| dk(  r't        j                  j                  «       ƒ d{  –—†  yt	        t        j
                  «       | z   «      ƒ d{  –—†  y7 Œ.7 Œ­w)a  Pause execution of the current task for the given number of seconds.

    Args:
        seconds (float): The number of seconds to sleep. May be zero to
            insert a checkpoint without actually blocking.

    Raises:
        ValueError: if *seconds* is negative or NaN.

    r   r   N)r   r   r   Ú
checkpointr&   Úcurrent_time)r   s    r   Úsleepr*   _   s]   è ø€ ð �‚{ÜÐ9Ó:Ð:Ø�!‚|Ü�m‰m×&Ñ&Ó(×(Ñ(äœ$×+Ñ+Ó-°Ñ7Ó8×8Ñ8ð 	)øà8ús!   ‚7A,¹A(º(A,Á"A*Á#A,Á*A,c                  ó   — e Zd ZdZy)ÚTooSlowErrorzRRaised by :func:`fail_after` and :func:`fail_at` if the timeout
    expires.

    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r#   r   r   r,   r,   r   s   „ òr   r,   c             #  ó|   K  — t        | |¬«      5 }|–— ddd«       j                  rt        ‚y# 1 sw Y   ŒxY w­w)aˆ  Creates a cancel scope with the given deadline, and raises an error if it
    is actually cancelled.

    This function and :func:`move_on_at` are similar in that both create a
    cancel scope with a given absolute deadline, and if the deadline expires
    then both will cause :exc:`Cancelled` to be raised within the scope. The
    difference is that when the :exc:`Cancelled` exception reaches
    :func:`move_on_at`, it's caught and discarded. When it reaches
    :func:`fail_at`, then it's caught and :exc:`TooSlowError` is raised in its
    place.

    Args:
      deadline (float): The deadline.
      shield (bool): Initial value for the `~trio.CancelScope.shield` attribute
          of the newly created cancel scope.

    Raises:
      TooSlowError: if a :exc:`Cancelled` exception is raised in this scope
        and caught by the context manager.
      ValueError: if deadline is NaN.

    r   N)r   Úcancelled_caughtr,   )r   r	   Úscopes      r   Úfail_atr4   y   sA   è ø€ ô8 
�H VÔ	,ð °ØŠ÷à×ÒÜÐð ÷ð üó   ‚<�0•<°9µ<c             #  ó|   K  — t        | |¬«      5 }|–— ddd«       j                  rt        ‚y# 1 sw Y   ŒxY w­w)aÕ  Creates a cancel scope with the given timeout, and raises an error if
    it is actually cancelled.

    This function and :func:`move_on_after` are similar in that both create a
    cancel scope with a given timeout, and if the timeout expires then both
    will cause :exc:`Cancelled` to be raised within the scope. The difference
    is that when the :exc:`Cancelled` exception reaches :func:`move_on_after`,
    it's caught and discarded. When it reaches :func:`fail_after`, then it's
    caught and :exc:`TooSlowError` is raised in its place.

    The deadline of the cancel scope is calculated upon entering.

    Args:
      seconds (float): The timeout.
      shield (bool): Initial value for the `~trio.CancelScope.shield` attribute
          of the newly created cancel scope.

    Raises:
      TooSlowError: if a :exc:`Cancelled` exception is raised in this scope
        and caught by the context manager.
      ValueError: if *seconds* is less than zero or NaN.

    r   N)r   r2   r,   )r   r	   r3   s      r   Ú
fail_afterr7   ›   sA   è ø€ ô: 
�w vÔ	.ð °%ØŠ÷à×ÒÜÐð ÷ð ür5   Úsphinx)Úreturn_annotation)r   Úfloatr	   ÚboolÚreturnútrio.CancelScope)r   r:   r	   r;   r<   r=   )r<   r   )r   r:   r<   ÚNone)r   r:   r<   r>   )r   r:   r	   r;   r<   ú'Generator[trio.CancelScope, None, None])r   r:   r	   r;   r<   r?   )Ú
__future__r   r   ÚsysÚ
contextlibr   Útypingr   r   r   Úcollections.abcr   r   r   r$   r&   r*   Ú	Exceptionr,   r4   r7   ÚmodulesÚinspectÚcÚ	SignatureÚfrom_callableÚreplacer   Ú__signature__r#   r   r   ú<module>rM      s-  ðÝ "ã Û 
Ý %ß *ã áÝ)ð 38õ >ð( ñØðð ðð ó	ó<>óó(9ô&�9ô ð ð ñØðð ðð -ò	ó ððB ð ñØðð ðð -ò	ó ððJ ˆs�{‰{ÑÛà�zÐ"ò iˆØ!×+Ñ+×9Ñ9¸!Ó<×DÑDÐW[×WgÑWgÐDÓhˆ�ñið r   