python (3.11.7)
    e&                         d Z ddlZddlZddlmZ ddlmZ ddlmZ  G d de          Z	 G d	 d
e          Z
 G d dej                  Z G d
 de          Z
 G d de          ZdS ))Queue
PriorityQueue	LifoQueue	QueueFull
QueueEmpty    N)GenericAlias   )locks)mixinsc                       e Zd ZdZdS )r   z;Raised when Queue.get_nowait() is called on an empty Queue.N__name__
__module____qualname____doc__     B/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/asyncio/queues.pyr   r      s        EEDr   r   c                       e Zd ZdZdS )r   zDRaised when the Queue.put_nowait() method is called on a full Queue.Nr
   r   r   r   r   r      s        NNDr   r   c                       e Zd ZdZddZd Zd Zd Zd Zd Z	d	 Z
 ee          Z
d
 Zd Zed             Zd
 Zd Zd Zd Zd Zd Zd Zd ZdS )r   a  A queue, useful for coordinating producer and consumer coroutines.
    If maxsize is less than or equal to zero, the queue size is infinite. If it
    is an integer greater than 0, then "await put()" will block when the
    queue reaches maxsize, until an item is removed by get().
    Unlike the standard library Queue, you can reliably know this Queue's size
    with qsize(), since your single-threaded asyncio application won't be
    interrupted between calling qsize() and doing an operation on the Queue.
    r   c                    || _         t          j                    | _        t          j                    | _        d| _        t
          j                    | _        | j        	                                 | 
                    |           d S )Nr   )_maxsizecollectionsdeque_getters_putters_unfinished_tasksr
   Event	_finishedset_initselfmaxsizes     r   __init__zQueue.__init__!   sl    
 $)++
#)++
!"
7r   c                 6    t          j                    | _        d S N)r   r   _queuer"