a
     d                     @   s   d dl Z d dlmZ d dlmZmZ d dlZddlmZm	Z	 G dd dZ
G dd	 d	ZG d
d dZG dd dZG dd dZG dd dZdS )    N)TracebackType)OptionalType   )PoolTimeoutmap_exceptionsc                   @   sN   e Zd ZddddZd dddZd
eee  ee ee dddd	Z	dS )	AsyncLockNreturnc                 C   s   t  | _d S N)anyioLock_lockself r   b/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/httpcore/_synchronization.py__init__   s    zAsyncLock.__init__c                    s   | j  I d H  | S r   r   acquirer   r   r   r   
__aenter__   s    zAsyncLock.__aenter__exc_type	exc_value	tracebackr
   c                    s   | j   d S r   r   releaser   r   r   r   r   r   r   	__aexit__   s    zAsyncLock.__aexit__)NNN)
__name__
__module____qualname__r   r   r   r   BaseExceptionr   r   r   r   r   r   r   
   s      
r   c                   @   s>   e Zd ZddddZddddZd
ee dddd	ZdS )
AsyncEventNr	   c                 C   s   t  | _d S r   )r   Event_eventr   r   r   r   r      s    zAsyncEvent.__init__c                 C   s   | j   d S r   r%   setr   r   r   r   r'      s    zAsyncEvent.settimeoutr
   c              	      sn   t ti}t|J t|  | j I d H  W d    n1 sB0    Y  W d    n1 s`0    Y  d S r   )TimeoutErrorr   r   r   Z
fail_afterr%   wait)r   r)   Zexc_mapr   r   r   r+   "   s    
zAsyncEvent.wait)Nr   r    r!   r   r'   r   floatr+   r   r   r   r   r#      s   r#   c                   @   s8   e Zd ZeddddZddddZdddd	ZdS )
AsyncSemaphoreNboundr
   c                 C   s   t j||d| _d S )N)initial_valueZ	max_value)r   	Semaphore
_semaphorer   r0   r   r   r   r   *   s    zAsyncSemaphore.__init__r	   c                    s   | j  I d H  d S r   r3   r   r   r   r   r   r   -   s    zAsyncSemaphore.acquirec                    s   | j   d S r   r3   r   r   r   r   r   r   0   s    zAsyncSemaphore.releaser   r    r!   intr   r   r   r   r   r   r   r.   )   s   r.   c                   @   sN   e Zd ZddddZd dddZd
eee  ee ee dddd	Z	dS )r   Nr	   c                 C   s   t  | _d S r   )	threadingr   r   r   r   r   r   r   5   s    zLock.__init__c                 C   s   | j   | S r   r   r   r   r   r   	__enter__8   s    
zLock.__enter__r   c                 C   s   | j   d S r   r   r   r   r   r   __exit__<   s    zLock.__exit__)NNN)
r   r    r!   r   r:   r   r   r"   r   r;   r   r   r   r   r   4   s      
r   c                   @   s>   e Zd ZddddZddddZd
ee dddd	ZdS )r$   Nr	   c                 C   s   t  | _d S r   )r9   r$   r%   r   r   r   r   r   F   s    zEvent.__init__c                 C   s   | j   d S r   r&   r   r   r   r   r'   I   s    z	Event.setr(   c                 C   s   | j j|dst d S )N)r)   )r%   r+   r   )r   r)   r   r   r   r+   L   s    z
Event.wait)Nr,   r   r   r   r   r$   E   s   r$   c                   @   s8   e Zd ZeddddZddddZdddd	ZdS )
r2   Nr/   c                 C   s   t j|d| _d S )N)value)r9   r2   r3   r4   r   r   r   r   R   s    zSemaphore.__init__r	   c                 C   s   | j   d S r   r5   r   r   r   r   r   U   s    zSemaphore.acquirec                 C   s   | j   d S r   r6   r   r   r   r   r   X   s    zSemaphore.releaser7   r   r   r   r   r2   Q   s   r2   )r9   typesr   typingr   r   r   _exceptionsr   r   r   r#   r.   r   r$   r2   r   r   r   r   <module>   s   