Ë
    $Æ%hv  ã                  ó  — d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZmZmZ ddlmZmZmZ ddlmZmZmZ ddlm Z  ee!eef   Z"e#e!e$f   Z%ee%e!f   Z&e#e'e%f   Z(e#e'e!f   Z) ed«      Z* G d„ d«      Z+ G d„ de«      Z, G d„ de«      Z- G d„ dee-«      Z. G d„ de.«      Z/ G d„ dee.   e-«      Z0 G d„ dee(   e-«      Z1 G d„ d ee'   e-«      Z2 G d!„ d"ee)   e-«      Z3 G d#„ d$ee'   e-«      Z4y)%é    )ÚannotationsN)Úabstractmethod)ÚCallableÚ
CollectionÚMapping)ÚAsyncExitStack)ÚIOBase)ÚIPv4AddressÚIPv6Address)ÚAddressFamily)ÚTracebackType)ÚAnyÚTypeVarÚUnioné   )ÚTypedAttributeProviderÚTypedAttributeSetÚtyped_attributeé   )Ú
ByteStreamÚListenerÚUnreliableObjectStream)Ú	TaskGroupÚT_Retvalc                  ó,   — e Zd Zdd„Z	 	 	 	 	 	 	 	 dd„Zy)Ú_NullAsyncContextManagerc              ƒ  ó   K  — y ­w©N© ©Úselfs    úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/anyio/abc/_sockets.pyÚ
__aenter__z#_NullAsyncContextManager.__aenter__   s	   è ø€ Øùó   ‚c              ƒ  ó   K  — y ­wr   r   )r!   Úexc_typeÚexc_valÚexc_tbs       r"   Ú	__aexit__z"_NullAsyncContextManager.__aexit__!   s   è ø€ ð ùr$   N)ÚreturnÚNone)r&   ztype[BaseException] | Noner'   zBaseException | Noner(   zTracebackType | Noner*   zbool | None)Ú__name__Ú
__module__Ú__qualname__r#   r)   r   ó    r"   r   r      s2   „ óðà,ðð &ðð %ð	ð
 
ôr/   r   c                  óž   — e Zd ZU  e«       Zded<    e«       Zded<    e«       Zded<    e«       Zded<    e«       Z	ded	<    e«       Z
ded
<   y)ÚSocketAttributer   ÚfamilyÚSockAddrTypeÚlocal_addressÚintÚ
local_portúsocket.socketÚ
raw_socketÚremote_addressÚremote_portN)r,   r-   r.   r   r2   Ú__annotations__r4   r6   r8   r9   r:   r   r/   r"   r1   r1   *   sP   … á+Ó-€FˆMÓ-á"1Ó"3€M�<Ó3á%Ó'€J�Ó'á /Ó 1€J�Ó1á#2Ó#4€N�LÓ4á&Ó(€K�Ô(r/   r1   c                  ó:   — e Zd Zedd„«       Zeedd„«       «       Zy)Ú_SocketProviderc                óø  ‡ ‡‡‡— ddl mŠ t        j                  ˆ fd„t        j                  ˆˆ fd„t        j
                  ˆ fd„i}	  ‰‰ j                  j                  «       «      Š‰�ˆfd„|t        j                  <   ‰ j                  j                  t        j                  t        j                  fv r3ˆ fd„|t        j                  <   ‰�‰d   Šˆfd	„|t        j                  <   |S # t        $ r d ŠY Œ�w xY w)
Nr   )Úconvert_ipv6_sockaddrc                 ó0   •— ‰ j                   j                  S r   )Ú_raw_socketr2   r    s   €r"   ú<lambda>z2_SocketProvider.extra_attributes.<locals>.<lambda>?   s   ø€ ¨D×,<Ñ,<×,CÑ,C€ r/   c                 óD   •—  ‰ ‰j                   j                  «       «      S r   ©rA   Úgetsockname)Úconvertr!   s   €€r"   rB   z2_SocketProvider.extra_attributes.<locals>.<lambda>@   s   ø€ ±7Ø× Ñ ×,Ñ,Ó.ó4€ r/   c                 ó   •— ‰ j                   S r   )rA   r    s   €r"   rB   z2_SocketProvider.extra_attributes.<locals>.<lambda>C   s   ø€ °×0@Ñ0@€ r/   c                 ó   •— ‰ S r   r   )Úpeernames   €r"   rB   z2_SocketProvider.extra_attributes.<locals>.<lambda>L   s   ø€ À€ r/   c                 ó>   •— ‰ j                   j                  «       d   S )Nr   rD   r    s   €r"   rB   z2_SocketProvider.extra_attributes.<locals>.<lambda>Q   s   ø€ ˜×(Ñ(×4Ñ4Ó6°qÑ9€ r/   r   c                 ó   •— ‰ S r   r   )r:   s   €r"   rB   z2_SocketProvider.extra_attributes.<locals>.<lambda>U   s   ø€ À+€ r/   )Ú_core._socketsr?   r1   r2   r4   r8   rA   ÚgetpeernameÚOSErrorr9   r   ÚAF_INETÚAF_INET6r6   r:   )r!   Ú
attributesrF   rI   r:   s   ` @@@r"   Úextra_attributesz _SocketProvider.extra_attributes:   sä   û€ åEô ×"Ñ"Ó$CÜ×)Ñ)ô ,ô ×&Ñ&Ó(@ð4
ˆ
ð	Ù/6°t×7GÑ7G×7SÑ7SÓ7UÓ/VˆHð
 ÐÛ9IˆJ”×5Ñ5Ñ6ð ×Ñ×"Ñ"¤}×'<Ñ'<¼m×>TÑ>TÐ&UÑUã9ð ”×1Ñ1Ñ2ð Ð#Ø& q™k�Û:M�
œ?×6Ñ6Ñ7àÐøô! ò 	ØŠHð	ús   Á C+ Ã+C9Ã8C9c                 ó   — y r   r   r    s    r"   rA   z_SocketProvider._raw_socketY   s   € ð 	r/   N)r*   zMapping[Any, Callable[[], Any]])r*   r7   )r,   r-   r.   ÚpropertyrR   r   rA   r   r/   r"   r=   r=   9   s0   „ Øòó ðð< Øòó ó ñr/   r=   c                  ó   — e Zd ZdZy)ÚSocketStreamzu
    Transports bytes over a socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    N©r,   r-   r.   Ú__doc__r   r/   r"   rV   rV   _   ó   „ òr/   rV   c                  ó0   — e Zd Zedd„«       Zedd„«       Zy)ÚUNIXSocketStreamc              ƒ  ó   K  — y­w)zð
        Send file descriptors along with a message to the peer.

        :param message: a non-empty bytestring
        :param fds: a collection of files (either numeric file descriptors or open file
            or socket objects)
        Nr   )r!   ÚmessageÚfdss      r"   Úsend_fdszUNIXSocketStream.send_fdsh   ó   è ø� ùr$   c              ƒ  ó   K  — y­w)a  
        Receive file descriptors along with a message from the peer.

        :param msglen: length of the message to expect from the peer
        :param maxfds: maximum number of file descriptors to expect from the peer
        :return: a tuple of (message, file descriptors)
        Nr   )r!   ÚmsglenÚmaxfdss      r"   Úreceive_fdszUNIXSocketStream.receive_fdsr   r`   r$   N)r]   Úbytesr^   zCollection[int | IOBase]r*   r+   )rb   r5   rc   r5   r*   ztuple[bytes, list[int]])r,   r-   r.   r   r_   rd   r   r/   r"   r[   r[   g   s(   „ Øòó ðð òó ñr/   r[   c                  ó8   — e Zd ZdZedd„«       Z	 d	 	 	 	 	 dd„Zy)ÚSocketListenerz}
    Listens to incoming socket connections.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    c              ƒ  ó   K  — y­w)zAccept an incoming connection.Nr   r    s    r"   ÚacceptzSocketListener.accept„   r`   r$   Nc              ƒ  ó
  K  — ddl m} t        «       4 ƒd {  –—† }|€|j                   |«       «      ƒ d {  –—† }	 | j	                  «       ƒ d {  –—† }|j                  ||«       Œ+7 ŒP7 Œ27 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   )Úcreate_task_group)Ú rk   r   Úenter_async_contextri   Ú
start_soon)r!   ÚhandlerÚ
task_grouprk   ÚstackÚstreams         r"   ÚservezSocketListener.serveˆ   s   è ø€ õ
 	)ä!Ó#÷ 	7ð 	7 uØÐ!Ø#(×#<Ñ#<Ñ=NÓ=PÓ#Q×Q�
àØ#Ÿ{™{›}×,�Ø×%Ñ% g¨vÔ6ð ð		7øàQøð -ø÷	7÷ 	7ñ 	7üsT   ‚B—A(˜B›A.·A*¸A.ÁA,ÁA.Á(BÁ*A.Á,A.Á.B Á4A7Á5B Á<B)r*   rV   r   )ro   zCallable[[SocketStream], Any]rp   zTaskGroup | Noner*   r+   )r,   r-   r.   rX   r   ri   rs   r   r/   r"   rg   rg   }   sA   „ ñð ò-ó ð-ð (,ð7à.ð7ð %ð7ð 
ô	7r/   rg   c                  ó   — e Zd ZdZdd„Zy)Ú	UDPSocketz{
    Represents an unconnected UDP socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    c              ƒ  óH   K  — | j                  |||ff«      ƒ d{  –—† S 7 Œ­w)z^
        Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, (host, port))).

        N©Úsend)r!   ÚdataÚhostÚports       r"   ÚsendtozUDPSocket.sendtoŸ   s&   è ø€ ð
 —Y‘Y  t¨T lÐ3Ó4×4Ð4Ð4ús   ‚"› œ"N)ry   re   rz   Ústrr{   r5   r*   r+   ©r,   r-   r.   rX   r|   r   r/   r"   ru   ru   ˜   s   „ ñô5r/   ru   c                  ó   — e Zd ZdZy)ÚConnectedUDPSocketzy
    Represents an connected UDP socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    NrW   r   r/   r"   r€   r€   §   rY   r/   r€   c                  ó   — e Zd ZdZdd„Zy)ÚUNIXDatagramSocketz…
    Represents an unconnected Unix datagram socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    c              ƒ  óD   K  — | j                  ||f«      ƒ d{  –—† S 7 Œ­w)zCAlias for :meth:`~.UnreliableObjectSendStream.send` ((data, path)).Nrw   )r!   ry   Úpaths      r"   r|   zUNIXDatagramSocket.sendto¸   s   è ø€ à—Y‘Y  d˜|Ó,×,Ð,Ð,ús   ‚ ™š N)ry   re   r„   r}   r*   r+   r~   r   r/   r"   r‚   r‚   ¯   s   „ ñô-r/   r‚   c                  ó   — e Zd ZdZy)ÚConnectedUNIXDatagramSocketz‚
    Represents a connected Unix datagram socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    NrW   r   r/   r"   r†   r†   ½   rY   r/   r†   )5Ú
__future__r   ÚsocketÚabcr   Úcollections.abcr   r   r   Ú
contextlibr   Úior	   Ú	ipaddressr
   r   r   Útypesr   Útypingr   r   r   Ú_core._typedattrr   r   r   Ú_streamsr   r   r   Ú_tasksr   r}   ÚIPAddressTypeÚtupler5   ÚIPSockAddrTyper3   re   ÚUDPPacketTypeÚUNIXDatagramPacketTyper   r   r1   r=   rV   r[   rg   ru   r€   r‚   r†   r   r/   r"   ú<module>r˜      s7  ðÝ "ã Ý ß 9Ñ 9Ý %Ý ß .Ý  Ý ß &Ñ &÷ñ ÷
 CÑ BÝ à�c˜;¨Ð3Ñ4€Ø�s˜C�x‘€Ø�^ SÐ(Ñ)€Ø�e˜^Ð+Ñ,€Ø˜u c˜zÑ*Ð Ù�:Ó€÷
ñ 
ô)Ð'ô )ô#Ð,ô #ôL�:˜ô ô�|ô ô,7�X˜lÑ+¨_ô 7ô65Ð& }Ñ5°ô 5ôÐ/°Ñ6¸ô ô-ØÐ1Ñ2°Oô-ôÐ"8¸Ñ"?Àõ r/   