
    Oj	                        d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z
mZ d dlmZmZmZmZ d dlmZ  ej&                  d      Zd
dZ	 	 	 	 ddZedd	       Zy)    )annotationsN)AsyncIterableAsyncIterator	GeneratorIterableIterator)AbstractAsyncContextManageraclosingcontextmanagernullcontext)AsyncGeneratorTypeTc                n   | dn| j                         }||dk  ryt        j                  dk(  st        t        dd      (t	        j                  |gg g d      \  }}}t        |      S t	        j                         }|j                  |t        j                         t        |j                  d            S )z
    Return whether a socket, as identified by its file descriptor, is readable.
    "A socket is readable" means that the read buffer isn't empty, i.e. that calling
    .recv() on it would immediately return some data.
    Nr   Twin32poll)	filenosysplatformgetattrselectboolr   registerPOLLIN)socksock_fdrready_ps        g/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/httpcore2/_utils.pyis_socket_readabler       s     ldG'A+ ||w'&&$"?"G}}gYB:1F|AJJw&q	?    c                   t        | t              r| n| j                         }t        |t              rt	        |      S t        |      S N)
isinstancer   	__aiter__r   r
   r   iterable_or_iteratoriterators     r   safe_async_iterater)   2   sF     !++? OUiUsUsUu  (./!!x  r!   c             #  X   K   t        | t              r| n| j                         }| y wr#   )r$   r   __iter__r&   s     r   safe_iterater,   =   s)      (22F'Q#WkWtWtWvH
Ns   (*)r   zsocket.socket | Nonereturnr   )r'   z#AsyncIterable[T] | AsyncIterator[T]r-   z-AbstractAsyncContextManager[AsyncIterator[T]])r'   zIterable[T] | Iterator[T]r-   z"Generator[Iterator[T], None, None])
__future__r   r   socketr   typingcollections.abcr   r   r   r   r   
contextlibr	   r
   r   r   typesr   TypeVarr   r    r)   r,    r!   r   <module>r6      sh    "   
   Z Y $FNN3<!=!2!  r!   