§
    ¯õiˆ±  ã                  óP  — U 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 d dlm	Z	m
Z
 d dlmZmZmZmZmZmZmZ d dlZd dlZd dlmZ ddlmZ er-d d	lmZmZmZ d d
lm Z  d dl!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z'  e#d¦  «        Z( ed¦  «        Z)eZ*de+d<    G d„ d¦  «        Z, ej-        d¦  «        Z.de+d<    ej-        d¦  «        Z/de+d<   dbd„Z0dcd„Z1ej2        Z3e3 e4edd ¦  «        z  Z3	 	 	 	 ddded)„Z5dfd-„Z6dgd0„Z7dhd4„Z8 eej9        d5d5¬6¦  «        ej:        ej;        d fdid;„¦   «         Z9ej<        d<k    ses) e=ed=¦  «        r eej>        d5d5¬6¦  «        djd@„¦   «         Z>ej<        d<k    re?Z@de+dA<   e?ZAde+dB<   ej:        ZBn#dZBdCe+dD<   e?e	z  dz  Z@de+dA<   ej        e?z  ZAde+dB<    eejC        d5d5¬6¦  «        eBe
j;        d fdkdF„¦   «         ZC eej        d5d5¬6¦  «        ej:        ej;        d dfdldI„¦   «         ZdmdL„ZD e4edMd ¦  «         e4edNd ¦  «        z   ZE	 dndodW„ZFdpd]„ZG G d^„ d3¦  «        ZHeHjI         J                    ¦   «         D ]X\  ZKZLeK M                    d_¦  «        seLjN        rŒ"ej        ejH        fD ]ZO e4eOeKd¦  «        ZPePr	ePjN        r nŒŒLePjN        eL_N        ŒY G d`„ daeH¦  «        ZQdS )qé    )ÚannotationsN)Úindex)ÚAddressFamilyÚ
SocketKind)ÚTYPE_CHECKINGÚAnyÚConcatenateÚSupportsIndexÚ	TypeAliasÚTypeVarÚoverload)Úwrapsé   )Ú_core)Ú	AwaitableÚCallableÚIterable)ÚTracebackType)ÚBufferÚ	ParamSpecÚSelf)ÚHostnameResolverÚSocketFactoryÚPÚTr   ÚAddressFormatc                  ó2   — e Zd Z	 ddd„Zdd
„Zdd„Zdd„ZdS )Ú	_try_syncNÚblocking_exc_overrideú&Callable[[BaseException], bool] | NoneÚreturnÚNonec                ó   — || _         d S ©N)Ú_blocking_exc_override)Úselfr   s     úX/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/trio/_socket.pyÚ__init__z_try_sync.__init__>   s   € ð '<ˆÔ#Ð#Ð#ó    ÚexcÚBaseExceptionÚboolc                ód   — | j         €t          |t          ¦  «        S |                       |¦  «        S r$   )r%   Ú
isinstanceÚBlockingIOError)r&   r*   s     r'   Ú_is_blocking_io_errorz_try_sync._is_blocking_io_errorD   s/   € ØÔ&Ð.Ý˜c¥?Ñ3Ô3Ð3à×.Ò.¨sÑ3Ô3Ð3r)   c              ƒ  óR   K  — t           j                             ¦   «         ƒ d {V —† d S r$   )ÚtrioÚlowlevelÚcheckpoint_if_cancelled©r&   s    r'   Ú
__aenter__z_try_sync.__aenter__J   s2   è è € ÝŒm×3Ò3Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5r)   Úexc_typeútype[BaseException] | NoneÚ	exc_valueúBaseException | NoneÚ	tracebackúTracebackType | Nonec              ƒ  ó„   K  — |�|                       |¦  «        rdS t          j                             ¦   «         ƒ d {V —† dS )NTF)r0   r2   r3   Úcancel_shielded_checkpoint©r&   r7   r9   r;   s       r'   Ú	__aexit__z_try_sync.__aexit__M   sS   è è € ð Ð  T×%?Ò%?À	Ñ%JÔ%JÐ ð �4å”-×:Ò:Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<à�5r)   r$   )r   r    r!   r"   ©r*   r+   r!   r,   ©r!   r"   )r7   r8   r9   r:   r;   r<   r!   r,   )Ú__name__Ú
__module__Ú__qualname__r(   r0   r6   r@   © r)   r'   r   r   =   sp   € € € € € ð IMð<ð <ð <ð <ð <ð4ð 4ð 4ð 4ð6ð 6ð 6ð 6ðð ð ð ð ð r)   r   Úhostname_resolverz%_core.RunVar[HostnameResolver | None]Ú	_resolverÚsocket_factoryz"_core.RunVar[SocketFactory | None]Ú_socket_factoryúHostnameResolver | Noner!   c                ón   — t                                d¦  «        }t                                | ¦  «         |S )a\  Set a custom hostname resolver.

    By default, Trio's :func:`getaddrinfo` and :func:`getnameinfo` functions
    use the standard system resolver functions. This function allows you to
    customize that behavior. The main intended use case is for testing, but it
    might also be useful for using third-party resolvers like `c-ares
    <https://c-ares.haxx.se/>`__ (though be warned that these rarely make
    perfect drop-in replacements for the system resolver). See
    :class:`trio.abc.HostnameResolver` for more details.

    Setting a custom hostname resolver affects all future calls to
    :func:`getaddrinfo` and :func:`getnameinfo` within the enclosing call to
    :func:`trio.run`. All other hostname resolution in Trio is implemented in
    terms of these functions.

    Generally you should call this function just once, right at the beginning
    of your program.

    Args:
      hostname_resolver (trio.abc.HostnameResolver or None): The new custom
          hostname resolver, or None to restore the default behavior.

    Returns:
      The previous hostname resolver (which may be None).

    N)rH   ÚgetÚset)rG   Úolds     r'   Úset_custom_hostname_resolverrP   e   s-   € õ: �-Š-˜Ñ
Ô
€CÝ‡M‚MÐ#Ñ$Ô$Ð$Ø€Jr)   úSocketFactory | Nonec                ón   — t                                d¦  «        }t                                | ¦  «         |S )aÛ  Set a custom socket object factory.

    This function allows you to replace Trio's normal socket class with a
    custom class. This is very useful for testing, and probably a bad idea in
    any other circumstance. See :class:`trio.abc.HostnameResolver` for more
    details.

    Setting a custom socket factory affects all future calls to :func:`socket`
    within the enclosing call to :func:`trio.run`.

    Generally you should call this function just once, right at the beginning
    of your program.

    Args:
      socket_factory (trio.abc.SocketFactory or None): The new custom
          socket factory, or None to restore the default behavior.

    Returns:
      The previous socket factory (which may be None).

    N)rJ   rM   rN   )rI   rO   s     r'   Úset_custom_socket_factoryrS   ‡   s0   € õ0 ×
Ò
˜dÑ
#Ô
#€CÝ×Ò˜Ñ'Ô'Ð'Ø€Jr)   ÚAI_NUMERICSERVÚhostúbytes | str | NoneÚportúbytes | str | int | NoneÚfamilyÚintÚtypeÚprotoÚflagsúqlist[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]]c           
   ƒ  óL  K  — dd„}t          |¦  «        4 ƒd{V —† t          j        | |||||t          z  ¦  «        cddd¦  «        ƒd{V —† S # 1 ƒd{V —†swxY w Y   t	          | t
          ¦  «        r=	 |                      d¦  «        } n&# t          $ r t          j        | d¬	¦  «        } Y nw xY wt           
                    d¦  «        }|� |                     | |||||¦  «        ƒ d{V —†S t          j                             t          j        | |||||d¬
¦  «        ƒ d{V —†S )aT  Look up a numeric address given a name.

    Arguments and return values are identical to :func:`socket.getaddrinfo`,
    except that this version is async.

    Also, :func:`trio.socket.getaddrinfo` correctly uses IDNA 2008 to process
    non-ASCII domain names. (:func:`socket.getaddrinfo` uses IDNA 2003, which
    can give the wrong result in some cases and cause you to connect to a
    different host than the one you intended; see `bpo-17305
    <https://bugs.python.org/issue17305>`__.)

    This function's behavior can be customized using
    :func:`set_custom_hostname_resolver`.

    r*   r+   r!   r,   c                ó`   — t          | t          j        ¦  «        o| j        t          j        k    S r$   )r.   Ú_stdlib_socketÚgaierrorÚerrnoÚ
EAI_NONAME)r*   s    r'   Únumeric_only_failurez)getaddrinfo.<locals>.numeric_only_failureÓ   s)   € å�s�NÔ3Ñ4Ô4ð 7Ø”	�^Ô6Ò6ð	
r)   NÚasciiT)Úuts46©Úabandon_on_cancelrA   )r   ra   ÚgetaddrinfoÚ_NUMERIC_ONLYr.   ÚstrÚencodeÚUnicodeEncodeErrorÚ_idnarH   rM   r2   Ú	to_threadÚrun_sync)rU   rW   rY   r[   r\   r]   re   Úhrs           r'   rj   rj   ¯   s  è è € ðH
ð 
ð 
ð 
õ Ð-Ñ.Ô.ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ÝÔ)ØØØØØØ•MÑ!ñ
ô 
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ" �$�ÑÔð 2ð	2Ø—;’;˜wÑ'Ô'ˆDˆDøÝ!ð 	2ð 	2ð 	2õ ”< ¨DÐ1Ñ1Ô1ˆDˆDˆDð		2øøøõ
 
�Š�tÑ	Ô	€BØ	€~Ø—^’^ D¨$°¸¸eÀUÑKÔKÐKÐKÐKÐKÐKÐKÐKå”^×,Ò,ÝÔ&ØØØØØØØ"ð -ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 		
s#   œ!AÁ
AÁAÁ7B Â B0Â/B0Úsockaddrú+tuple[str, int] | tuple[str, int, int, int]útuple[str, str]c              ƒ  óÜ   K  — t                                d¦  «        }|�|                     | |¦  «        ƒ d{V —†S t          j                             t          j        | |d¬¦  «        ƒ d{V —†S )a  Look up a name given a numeric address.

    Arguments and return values are identical to :func:`socket.getnameinfo`,
    except that this version is async.

    This function's behavior can be customized using
    :func:`set_custom_hostname_resolver`.

    NTrh   )rH   rM   Úgetnameinfor2   rp   rq   ra   )rs   r]   rr   s      r'   rw   rw     s�   è è € õ 
�Š�tÑ	Ô	€BØ	€~Ø—^’^ H¨eÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4å”^×,Ò,ÝÔ&ØØØ"ð	 -ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r)   Únamerl   c              ƒ  ój   K  — t           j                             t          j        | d¬¦  «        ƒ d{V —†S )zkLook up a protocol number by name. (Rarely used.)

    Like :func:`socket.getprotobyname`, but async.

    Trh   N)r2   rp   rq   ra   Úgetprotobyname)rx   s    r'   rz   rz     sQ   è è € õ ”×(Ò(ÝÔ%ØØð )ñ ô ð ð ð ð ð ð ð r)   Úsockú_stdlib_socket.socketÚ
SocketTypec                ó    — t          | ¦  «        S )z]Convert a standard library :class:`socket.socket` object into a Trio
    socket object.

    )Ú_SocketType)r{   s    r'   Úfrom_stdlib_socketr€   0  s   € õ
 �tÑÔÐr)   rF   ©ÚassignedÚupdatedÚfdr
   úAddressFamily | intúSocketKind | intc                ó�   — t          |||t          | ¦  «        ¦  «        \  }}}t          t          j        | |||¦  «        ¦  «        S )z=Like :func:`socket.fromfd`, but returns a Trio socket object.)Ú_sniff_sockopts_for_filenor   r€   ra   Úfromfd)r„   rY   r[   r\   Útype_s        r'   r‰   r‰   8  sD   € õ 6°f¸dÀEÍ5ÐQSÉ9Ì9ÑUÔUÑ€FˆE�5Ý�nÔ3°B¸ÀÀuÑMÔMÑNÔNÐNr)   Úwin32Ú	fromshareÚinfoÚbytesc                óD   — t          t          j        | ¦  «        ¦  «        S )z@Like :func:`socket.fromshare`, but returns a Trio socket object.)r€   ra   rŒ   )r�   s    r'   rŒ   rŒ   H  s   € õ "¥.Ô":¸4Ñ"@Ô"@ÑAÔAÐAr)   ÚFamilyTÚTypeTr"   ÚFamilyDefaultútuple[SocketType, SocketType]c                óp   — t          j        | ||¦  «        \  }}t          |¦  «        t          |¦  «        fS )zTLike :func:`socket.socketpair`, but returns a pair of Trio socket
    objects.

    )ra   Ú
socketpairr€   )rY   r[   r\   ÚleftÚrights        r'   r•   r•   X  s8   € õ !Ô+¨F°D¸%Ñ@Ô@�K€Dˆ%Ý˜tÑ$Ô$Õ&8¸Ñ&?Ô&?Ð@Ð@r)   Úfilenoú
int | Nonec                óæ   — |€4t                                d¦  «        }|�|                     | ||¦  «        S nt          | |||¦  «        \  } }}t	          j        | |||¦  «        }t          |¦  «        S )z™Create a new Trio socket, like :class:`socket.socket`.

    This function's behavior can be customized using
    :func:`set_custom_socket_factory`.

    N)rJ   rM   Úsocketrˆ   ra   r€   )rY   r[   r\   r˜   ÚsfÚstdlib_sockets         r'   r›   r›   f  s†   € ð €~Ý× Ò  Ñ&Ô&ˆØˆ>Ø—9’9˜V T¨5Ñ1Ô1Ð1ð õ 9ØØØØñ	
ô 
Ñˆ��eõ #Ô)¨&°$¸¸vÑFÔF€MÝ˜mÑ,Ô,Ð,r)   rŠ   ú1tuple[AddressFamily | int, SocketKind | int, int]c                ó`  — t           j        dk    r| ||fS ddlm}m}m}m} t          j        | |||¬¦  «        }	 |                     ||¦  «        } |                     ||¦  «        }|                     ||¦  «        }| 	                    ¦   «          n# | 	                    ¦   «          w xY w| ||fS )zCCorrect SOCKOPTS for given fileno, falling back to provided values.Úlinuxr   )Ú	SO_DOMAINÚSO_PROTOCOLÚSO_TYPEÚ
SOL_SOCKET)r˜   )
ÚsysÚplatformr›   r¡   r¢   r£   r¤   ra   Ú
getsockoptÚdetach)	rY   rŠ   r\   r˜   r¡   r¢   r£   r¤   Úsockobjs	            r'   rˆ   rˆ   ‚  sñ   € õ „|�wÒÐØ�u˜eÐ#Ð#ðð ð ð ð ð ð ð ð ð ð ð õ Ô# F¨E°5ÀÐHÑHÔH€GðØ×#Ò# J°	Ñ:Ô:ˆØ×"Ò" :¨{Ñ;Ô;ˆØ×"Ò" :¨wÑ7Ô7ˆð 	�ŠÑÔÐÐøˆ�ŠÑÔÐÐøøøØ�5˜%ÐÐs   »AB ÂB(ÚSOCK_NONBLOCKÚSOCK_CLOEXECFÚfnú2Callable[Concatenate[_stdlib_socket.socket, P], T]Úwait_fnú2Callable[[_stdlib_socket.socket], Awaitable[None]]Úmaybe_availr,   ú3Callable[Concatenate[_SocketType, P], Awaitable[T]]c                óž   ‡ ‡— t          ‰ dd¬¦  «        dˆ ˆfd„¦   «         }d‰ j        › d�|_        |r|xj        d‰ j        › d�z  c_        |S )N)rC   rF   r�   r&   r   ÚargsúP.argsÚkwargsúP.kwargsr!   r   c              Ÿ  ó8   •K  —  | j         ‰‰g|¢R i |¤Žƒ d {V —†S r$   )Ú_nonblocking_helper)r&   r³   rµ   r¬   r®   s      €€r'   Úwrapperz1_make_simple_sock_method_wrapper.<locals>.wrapper¶  s>   øè è € à-�TÔ-¨g°rÐK¸DÐKÐKÐKÀFÐKÐKÐKÐKÐKÐKÐKÐKÐKr)   zLike :meth:`socket.socket.z`, but async.

            z7Only available on platforms where :meth:`socket.socket.z` is available.)r&   r   r³   r´   rµ   r¶   r!   r   )Ú_wrapsrC   Ú__doc__)r¬   r®   r°   r¹   s   ``  r'   Ú _make_simple_sock_method_wrapperr¼   ±  sŸ   øø€ õ
 ˆB˜°Ð3Ñ3Ô3ðLð Lð Lð Lð Lð Lñ 4Ô3ðLð°R´[ð ð ð €G„Oð ð 
ØˆŒðÀbÄkð ð ð ñ	
ˆŒð €Nr)   r   Úipv6_v6onlyú
bool | intÚaddressÚlocalc             ƒ  óŒ  K  — |t           j        k    r8t          |t          ¦  «        rt	          |¦  «        dk    st          d¦  «        ‚nµ|t           j        k    rAt          |t          ¦  «        rdt	          |¦  «        cxk    rdk    sn t          d¦  «        ‚ndt          t           d¦  «        rM|t           j        k    r=t          |t          t          t          j        f¦  «        sJ ‚t          j        |¦  «        S |S |^}}}t          |t          ¦  «        r1|�/	 t          j        ||¦  «         |S # t           t"          f$ r Y nw xY w|dk    rd }|dk    rd}d	}	|r|	t           j        z  }	|t           j        k    r|s|	t           j        z  }	t)          |||| ||	¦  «        ƒ d {V —†}
t	          |
¦  «        d
k    sJ ‚|
^�^ }}}|t           j        k    rot+          |¦  «        }t	          |¦  «        dk    sJ ‚t	          |¦  «        dk    r|d         |d<   t	          |¦  «        dk    r|d         |d<   t          |¦  «        S |S )Né   z&address should be a (host, port) tupleé   z=address should be a (host, port, [flowinfo, [scopeid]]) tupleÚAF_UNIXÚ z<broadcast>z255.255.255.255r   r   é   )ra   ÚAF_INETr.   ÚtupleÚlenÚ
ValueErrorÚAF_INET6ÚhasattrrÄ   rl   rŽ   ÚosÚPathLikeÚfspathrZ   Ú	inet_ptonÚOSErrorÚ	TypeErrorÚ
AI_PASSIVEÚAI_V4MAPPEDrj   Úlist)rŠ   rY   r\   r½   r¿   rÀ   rU   rW   Ú_r]   Úgai_resÚnormedÚlist_normeds                r'   Ú_resolve_address_nocprÚ   Ø  s›  è è € ð •Ô'Ò'Ð'Ý˜'¥5Ñ)Ô)ð 	Gµ°W±´ÀÒ1BÐ1BÝÐEÑFÔFÐFð 2Cà	•>Ô*Ò	*Ð	*Ý˜'¥5Ñ)Ô)ð 	°µc¸'±l´lÐ1GÐ1GÒ1GÐ1GÀaÒ1GÐ1GÐ1GÐ1GÝØOñô ð ð 2Hõ 
• Ñ	+Ô	+ð °½.Ô:PÒ0PÐ0På˜'¥C­µ´Ð#<Ñ=Ô=Ð=Ð=Ð=ÝŒy˜Ñ!Ô!Ð!àˆð €N€Dˆ$�õ �$�ÑÔð  Ð!1ð	ÝÔ$ V¨TÑ2Ô2Ð2ð ˆNøõ �Ð#ð 	ð 	ð 	ØˆDð	øøøð
 ˆr‚z€zØˆØˆ}ÒÐØ ˆØ€EØð +Ø•Ô*Ñ*ˆð •Ô(Ò(Ð(°Ð(Ø•Ô+Ñ+ˆÝ  d¨F°E¸5À%ÑHÔHÐHÐHÐHÐHÐHÐH€Gõ ˆw‰<Œ<˜1ÒÐÐÐàÐ�L€aˆ�1ð •Ô(Ò(Ð(Ý˜6‘l”lˆÝ�6‰{Œ{˜aÒÐÐÐÝˆw‰<Œ<˜1ÒÐØ$ QœZˆK˜‰NÝˆw‰<Œ<˜1ÒÐØ$ QœZˆK˜‰NÝ�[Ñ!Ô!Ð!Ø€Ms   ÄD4 Ä4EÅEc                  óŽ  ‡ — e Zd Zdhˆ fd„Zdid„Zdid„Zdjd„Zdjd	„Zedkd„¦   «         Z	edld„¦   «         Z		 dmdnd„Z	edod„¦   «         Z
edpd„¦   «         Z
	 dmdqd„Z
 eej        d¦  «        fdrd„Zdsd„Zdtd!„Zej        d"k    ses eej        d#¦  «        rdud%„Zdvd'„Zdwd.„Zedxd0„¦   «         Zedyd2„¦   «         Zedid3„¦   «         Zedsd4„¦   «         Zdzd6„Zd{d7„Zdhd8„Z d|d:„Z!d}d<„Z"dsd=„Z#dhd>„Z$d~d@„Z%d|dA„Z&dd€dE„Z'	 	 d�d‚dJ„Z(	 ddƒdM„Z)	 	 d�d„dO„Z*ej        d"k    ses eej        dP¦  «        r	 	 d�d…dS„Z+ej        d"k    ses eej        dT¦  «        r	 	 d�d†dX„Z,dd‡dY„Z-edˆd\„¦   «         Z.ed‰d]„¦   «         Z.dŠd`„Z.ej        d"k    ses; eej        da¦  «        r. e/ej        j0        dbdb¬c¦  «        	 	 	 d‹dŒdg„¦   «         Z0ˆ xZ1S ˆ xZ1S ˆ xZ1S )�r}   r!   r"   c                ó’   •— t          ¦   «                              ¦   «          t          | ¦  «        t          u rt	          d¦  «        ‚d S )Nz`SocketType is an abstract class; use trio.socket.socket if you want to construct a socket object)Úsuperr(   r[   r}   rÒ   )r&   Ú	__class__s    €r'   r(   zSocketType.__init__#  sI   ø€ å‰Œ×ÒÑÔÐå�‰:Œ:�Ð#Ð#Ýð4ñô ð ð $Ð#r)   rZ   c                ó   — t           ‚r$   ©ÚNotImplementedErrorr5   s    r'   r¨   zSocketType.detach-  ó   € Ý!Ð!r)   c                ó   — t           ‚r$   rà   r5   s    r'   r˜   zSocketType.fileno0  râ   r)   r   c                ó   — t           ‚r$   rà   r5   s    r'   ÚgetpeernamezSocketType.getpeername3  râ   r)   c                ó   — t           ‚r$   rà   r5   s    r'   ÚgetsocknamezSocketType.getsockname6  râ   r)   ÚlevelÚoptnamec                ó   — d S r$   rF   ©r&   rè   ré   s      r'   r§   zSocketType.getsockopt9  ó   € Ø;>¸3r)   ÚbuflenrŽ   c                ó   — d S r$   rF   ©r&   rè   ré   rí   s       r'   r§   zSocketType.getsockopt<  ó   € ØJMÈ#r)   Nr™   úint | bytesc                ó   — t           ‚r$   rà   rï   s       r'   r§   zSocketType.getsockopt?  ó
   € õ "Ð!r)   Úvalueúint | Bufferc                ó   — d S r$   rF   ©r&   rè   ré   rô   s       r'   Ú
setsockoptzSocketType.setsockoptG  ó   € ØQTÐQTr)   Úoptlenc                ó   — d S r$   rF   ©r&   rè   ré   rô   rú   s        r'   rø   zSocketType.setsockoptJ  ó	   € ð ˆsr)   úint | Buffer | Nonec                ó   — t           ‚r$   rà   rü   s        r'   rø   zSocketType.setsockoptS  s
   € õ "Ð!r)   é€   Úbacklogc                ó   — t           ‚r$   rà   ©r&   r  s     r'   ÚlistenzSocketType.listen\  râ   r)   r,   c                ó   — t           ‚r$   rà   r5   s    r'   Úget_inheritablezSocketType.get_inheritable_  râ   r)   Úinheritablec                ó   — t           ‚r$   rà   ©r&   r  s     r'   Úset_inheritablezSocketType.set_inheritableb  râ   r)   r‹   ÚshareÚ
process_idc                ó   — t           ‚r$   rà   ©r&   r  s     r'   r  zSocketType.sharei  s   € Ý%Ð%r)   r   c                ó   — t           ‚r$   rà   r5   s    r'   Ú	__enter__zSocketType.__enter__l  râ   r)   r7   r8   r9   r:   r;   r<   c                ó   — t           ‚r$   rà   r?   s       r'   Ú__exit__zSocketType.__exit__o  ró   r)   r   c                ó   — t           ‚r$   rà   r5   s    r'   rY   zSocketType.familyw  ó   € å!Ð!r)   r   c                ó   — t           ‚r$   rà   r5   s    r'   r[   zSocketType.type{  r  r)   c                ó   — t           ‚r$   rà   r5   s    r'   r\   zSocketType.proto  r  r)   c                ó   — t           ‚)zBReturn True if the socket has been shut down with the SHUT_WR flagrà   r5   s    r'   Údid_shutdown_SHUT_WRzSocketType.did_shutdown_SHUT_WRƒ  s
   € õ "Ð!r)   rl   c                ó   — t           ‚r$   rà   r5   s    r'   Ú__repr__zSocketType.__repr__ˆ  râ   r)   c                ó   — t           ‚r$   rà   r5   s    r'   ÚdupzSocketType.dup‹  râ   r)   c                ó   — t           ‚r$   rà   r5   s    r'   ÚclosezSocketType.closeŽ  râ   r)   r¿   c              ƒ  ó   K  — t           ‚r$   rà   ©r&   r¿   s     r'   ÚbindzSocketType.bind‘  ó   è è € Ý!Ð!r)   Úflagc                ó   — t           ‚r$   rà   ©r&   r#  s     r'   ÚshutdownzSocketType.shutdown”  râ   r)   c                ó   — t           ‚)zpReturn True if the socket is readable. This is checked with `select.select` on Windows, otherwise `select.poll`.rà   r5   s    r'   Úis_readablezSocketType.is_readable—  r  r)   c              ƒ  ó   K  — t           ‚)zIConvenience method that calls trio.lowlevel.wait_writable for the object.rà   r5   s    r'   Úwait_writablezSocketType.wait_writable›  s   è è € å!Ð!r)   ú tuple[SocketType, AddressFormat]c              ƒ  ó   K  — t           ‚r$   rà   r5   s    r'   ÚacceptzSocketType.acceptŸ  r"  r)   c              ƒ  ó   K  — t           ‚r$   rà   r   s     r'   ÚconnectzSocketType.connect¢  r"  r)   r   r]   úAwaitable[bytes]c               ó   — t           ‚r$   rà   ©r&   rí   r]   s      r'   ÚrecvzSocketType.recv¥  râ   r)   Úbufferr   ÚnbytesúAwaitable[int]c                ó   — t           ‚r$   rà   ©r&   r4  r5  r]   s       r'   Ú	recv_intozSocketType.recv_into¨  ró   r)   Úbufsizeú&Awaitable[tuple[bytes, AddressFormat]]c               ó   — t           ‚r$   rà   ©r&   r:  r]   s      r'   ÚrecvfromzSocketType.recvfrom±  ró   r)   ú$Awaitable[tuple[int, AddressFormat]]c                ó   — t           ‚r$   rà   r8  s       r'   Úrecvfrom_intozSocketType.recvfrom_intoº  ró   r)   ÚrecvmsgÚ
ancbufsizeúBAwaitable[tuple[bytes, list[tuple[int, int, bytes]], int, object]]c               ó   — t           ‚r$   rà   ©r&   r:  rC  r]   s       r'   rB  zSocketType.recvmsgÆ  ó
   € õ &Ð%r)   Úrecvmsg_intoÚbuffersúIterable[Buffer]ú@Awaitable[tuple[int, list[tuple[int, int, bytes]], int, object]]c               ó   — t           ‚r$   rà   ©r&   rI  rC  r]   s       r'   rH  zSocketType.recvmsg_intoÓ  rG  r)   c               ó   — t           ‚r$   rà   ©r&   rŽ   r]   s      r'   ÚsendzSocketType.sendÜ  râ   r)   Údataú!tuple[object, ...] | str | Bufferc             ƒ  ó
   K  — d S r$   rF   ©r&   rQ  r¿   s      r'   ÚsendtozSocketType.sendtoß  ó   è è € ð ˆcr)   c             ƒ  ó
   K  — d S r$   rF   ©r&   rQ  r]   r¿   s       r'   rU  zSocketType.sendtoç  ó   è è € ð ˆcr)   r³   Úobjectc              ‡  ó   K  — t           ‚r$   rà   )r&   r³   s     r'   rU  zSocketType.sendtoð  r"  r)   ÚsendmsgrF   r�   Úancdataú!Iterable[tuple[int, int, Buffer]]úAddressFormat | Nonec             ƒ  ó   K  — t           ‚r$   rà   ©r&   rI  r]  r]   r¿   s        r'   r\  zSocketType.sendmsg÷  s   è è € õ &Ð%r)   rB   ©r!   rZ   ©r!   r   ©rè   rZ   ré   rZ   r!   rZ   ©rè   rZ   ré   rZ   rí   rZ   r!   rŽ   r$   ©rè   rZ   ré   rZ   rí   r™   r!   rñ   ©rè   rZ   ré   rZ   rô   rõ   r!   r"   ©
rè   rZ   ré   rZ   rô   r"   rú   rZ   r!   r"   ©
rè   rZ   ré   rZ   rô   rþ   rú   r™   r!   r"   ©r  rZ   r!   r"   ©r!   r,   ©r  r,   r!   r"   ©r  rZ   r!   rŽ   ©r!   r   ©r7   r8   r9   r:   r;   r<   r!   r"   ©r!   r   ©r!   r   ©r!   rl   ©r!   r}   ©r¿   r   r!   r"   ©r#  rZ   r!   r"   ©r!   r+  ©r   ©rí   rZ   r]   rZ   r!   r0  ©r   r   ©r4  r   r5  rZ   r]   rZ   r!   r6  ©r:  rZ   r]   rZ   r!   r;  ©r4  r   r5  rZ   r]   rZ   r!   r?  ©r:  rZ   rC  rZ   r]   rZ   r!   rD  ©rI  rJ  rC  rZ   r]   rZ   r!   rK  ©rŽ   r   r]   rZ   r!   r6  ©rQ  r   r¿   rR  r!   rZ   ©rQ  r   r]   rZ   r¿   rR  r!   rZ   ©r³   rZ  r!   rZ   ©rF   r   N©
rI  rJ  r]  r^  r]   rZ   r¿   r_  r!   rZ   )2rC   rD   rE   r(   r¨   r˜   rå   rç   r   r§   rø   Úminra   Ú	SOMAXCONNr  r  r
  r¥   r¦   r   rÌ   r›   r  r  r  ÚpropertyrY   r[   r\   r  r  r  r  r!  r&  r(  r*  r-  r/  r3  r9  r>  rA  rB  rH  rP  rU  rº   r\  Ú__classcell__)rÞ   s   @r'   r}   r}   "  s5  ø€ € € € € ðð ð ð ð ð ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð Ø>Ð>Ð>ñ „XØ>àØMÐMÐMñ „XØMð "ð	"ð "ð "ð "ð "ð ØTÐTÐTñ „XØTàðð ð ñ „Xðð "ð"ð "ð "ð "ð "ð %( C¨Ô(@À#Ñ$FÔ$Fð "ð "ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð „|�wÒÐØð Ø%˜g nÔ&;¸WÑEÔEð ð	&ð 	&ð 	&ð 	&ð"ð "ð "ð "ð"ð "ð "ð "ð ð"ð "ð "ñ „Xð"ð ð"ð "ð "ñ „Xð"ð ð"ð "ð "ñ „Xð"ð ð"ð "ð "ñ „Xð"ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð"ð "ð "ð "ð "ð Øð	"ð "ð "ð "ð "ð ð"ð "ð "ð "ð "ð Øð	"ð "ð "ð "ð "ð „|�wÒÐØð Ø%˜g nÔ&;¸YÑGÔGð ð  Øð		&ð 	&ð 	&ð 	&ð 	&ð „|�wÒÐØð Ø%˜g nÔ&;¸^ÑLÔLð ð  Øð		&ð 	&ð 	&ð 	&ð 	&ð"ð "ð "ð "ð "ð ðð ð ñ „Xðð ðð ð ñ „Xðð"ð "ð "ð "ð „|�wÒÐØð Ø%˜g nÔ&;¸YÑGÔGð ð 
ˆ�Ô%Ô-¸ÀBÐ	GÑ	GÔ	Gð :<ØØ,0ð	&ð 	&ð 	&ð 	&ñ 
HÔ	Gð	&ð 	&ð 	&ð 	&ð 	&ð ÐÐÐÐÐÐÐr)   Ú__c                  óœ  — e Zd Zdxd„Zdyd„Zdyd„Zdzd
„Zdzd„Zed{d„¦   «         Z	ed|d„¦   «         Z		 d}d~d„Z	edd„¦   «         Z
ed€d„¦   «         Z
	 d}d�d„Z
 eej        d¦  «        fd‚d„Zdƒd!„Zd„d#„Zej        d$k    ses eej        d%¦  «        rd…d'„Zd†d)„Zd‡d0„Zedˆd2„¦   «         Zed‰d4„¦   «         Zedyd5„¦   «         Zedƒd6„¦   «         ZdŠd8„Zd‹d:„ZdŒd;„Z d�d=„Z!dŽd?„Z"dƒd@„Z#dŒdA„Z$d�dC„Z%d�dM„Z& e'ej        j(        e)j*        ¦  «        Z+d‘dO„Z(d�dP„Z,erd’d“dT„Z- e'ej        j-        e)j*        ¦  «        Z-er	 	 d”d•dY„Z. e'ej        j.        e)j*        ¦  «        Z.er	 d’d–d\„Z/ e'ej        j/        e)j*        ¦  «        Z/er	 	 d”d—d^„Z0 e'ej        j0        e)j*        ¦  «        Z0ej        d$k    ses7 eej        d_¦  «        r&er	 	 d”d˜db„Z1 e'ej        j1        e)j*        dc¬d¦  «        Z1ej        d$k    ses7 eej        de¦  «        r&er	 	 d”d™di„Z2 e'ej        j2        e)j*        dc¬d¦  «        Z2erd’dšdj„Z3 e'ej        j3        e)j$        ¦  «        Z3ed›dm„¦   «         Z4edœdn„¦   «         Z4 e5ej        j4        dodo¬p¦  «        d�dr„¦   «         Z4ej        d$k    ses9 eej        ds¦  «        r* e5ej        j6        dodo¬p¦  «        	 	 	 dždŸdw„¦   «         Z6dS dS dS ) r   r{   r|   r!   r"   c                óÖ   — t          |¦  «        t          j        ur%t          dt          |¦  «        j        › d�¦  «        ‚|| _        | j                             d¦  «         d| _        d S )Nz.expected object of type 'socket.socket', not 'ú'F)r[   ra   r›   rÒ   rC   Ú_sockÚsetblockingÚ_did_shutdown_SHUT_WR)r&   r{   s     r'   r(   z_SocketType.__init__  sn   € Ý�‰:Œ:�^Ô2Ð2Ð2õ ØWÅÀdÁÄÔATÐWÐWÐWñô ð ð ˆŒ
ØŒ
×Ò˜uÑ%Ô%Ð%Ø%*ˆÔ"Ð"Ð"r)   rZ   c                ó4   — | j                              ¦   «         S r$   )r�  r¨   r5   s    r'   r¨   z_SocketType.detach#  ó   € ØŒz× Ò Ñ"Ô"Ð"r)   c                ó4   — | j                              ¦   «         S r$   )r�  r˜   r5   s    r'   r˜   z_SocketType.fileno&  r‘  r)   r   c                ó4   — | j                              ¦   «         S r$   )r�  rå   r5   s    r'   rå   z_SocketType.getpeername)  ó   € ØŒz×%Ò%Ñ'Ô'Ð'r)   c                ó4   — | j                              ¦   «         S r$   )r�  rç   r5   s    r'   rç   z_SocketType.getsockname,  r”  r)   rè   ré   c                ó   — d S r$   rF   rë   s      r'   r§   z_SocketType.getsockopt/  rì   r)   rí   rŽ   c                ó   — d S r$   rF   rï   s       r'   r§   z_SocketType.getsockopt2  rð   r)   Nr™   rñ   c                ót   — |€| j                              ||¦  «        S | j                              |||¦  «        S r$   )r�  r§   rï   s       r'   r§   z_SocketType.getsockopt5  s;   € ð ˆ>Ø”:×(Ò(¨°Ñ8Ô8Ð8ØŒz×$Ò$ U¨G°VÑ<Ô<Ð<r)   rô   rõ   c                ó   — d S r$   rF   r÷   s       r'   rø   z_SocketType.setsockopt?  rù   r)   rú   c                ó   — d S r$   rF   rü   s        r'   rø   z_SocketType.setsockoptB  rý   r)   rþ   c                óÄ   — |€-|€t          d¦  «        ‚| j                             |||¦  «        S |�t          d|›d�¦  «        ‚| j                             ||||¦  «        S )NzKinvalid value for argument 'value', must not be None when specifying optlenz$invalid value for argument 'value': z%, must be None when specifying optlen)rÒ   r�  rø   rü   s        r'   rø   z_SocketType.setsockoptK  sƒ   € ð ˆ>Øˆ}ÝØañô ð ð ”:×(Ò(¨°¸Ñ?Ô?Ð?ØÐÝØe°uÐeÐeÐeñô ð ð Œz×$Ò$ U¨G°U¸FÑCÔCÐCr)   r   r  c                ó6   — | j                              |¦  «        S r$   )r�  r  r  s     r'   r  z_SocketType.listena  s   € ØŒz× Ò  Ñ)Ô)Ð)r)   r,   c                ó4   — | j                              ¦   «         S r$   )r�  r  r5   s    r'   r  z_SocketType.get_inheritabled  s   € ØŒz×)Ò)Ñ+Ô+Ð+r)   r  c                ó6   — | j                              |¦  «        S r$   )r�  r
  r	  s     r'   r
  z_SocketType.set_inheritableg  s   € ØŒz×)Ò)¨+Ñ6Ô6Ð6r)   r‹   r  r  c                ó6   — | j                              |¦  «        S r$   )r�  r  r  s     r'   r  z_SocketType.sharen  s   € Ø”:×#Ò# JÑ/Ô/Ð/r)   r   c                ó   — | S r$   rF   r5   s    r'   r  z_SocketType.__enter__q  s   € Øˆr)   r7   r8   r9   r:   r;   r<   c                ó:   — | j                              |||¦  «        S r$   )r�  r  r?   s       r'   r  z_SocketType.__exit__t  s   € ð Œz×"Ò" 8¨Y¸	ÑBÔBÐBr)   r   c                ó   — | j         j        S r$   )r�  rY   r5   s    r'   rY   z_SocketType.family|  s   € àŒzÔ Ð r)   r   c                ó   — | j         j        S r$   )r�  r[   r5   s    r'   r[   z_SocketType.type€  s   € àŒzŒÐr)   c                ó   — | j         j        S r$   )r�  r\   r5   s    r'   r\   z_SocketType.proto„  s   € àŒzÔÐr)   c                ó   — | j         S r$   )r�  r5   s    r'   r  z _SocketType.did_shutdown_SHUT_WRˆ  s   € àÔ)Ð)r)   rl   c                óR   — t          | j        ¦  «                             dd¦  «        S )Nzsocket.socketztrio.socket.socket)Úreprr�  Úreplacer5   s    r'   r  z_SocketType.__repr__Œ  s#   € Ý�D”JÑÔ×'Ò'¨Ð9MÑNÔNÐNr)   r}   c                óN   — t          | j                             ¦   «         ¦  «        S )z"Same as :meth:`socket.socket.dup`.)r   r�  r  r5   s    r'   r  z_SocketType.dup�  s   € å˜4œ:Ÿ>š>Ñ+Ô+Ñ,Ô,Ð,r)   c                ó¾   — | j                              ¦   «         dk    r?t          j                             | j         ¦  «         | j                              ¦   «          d S d S )Néÿÿÿÿ)r�  r˜   r2   r3   Únotify_closingr  r5   s    r'   r  z_SocketType.close“  sU   € ØŒ:×ÒÑÔ "Ò$Ð$ÝŒM×(Ò(¨¬Ñ4Ô4Ð4ØŒJ×ÒÑÔÐÐÐð %Ð$r)   r¿   c              ƒ  ó€  K  — |                       |d¬¦  «        ƒ d {V —†}t          t          d¦  «        rM| j        t          j        k    r8|d         r0t
          j                             | j        j	        |¦  «        ƒ d {V —†S t
          j
                             ¦   «         ƒ d {V —† | j         	                    |¦  «        S )NT©rÀ   rÄ   r   )rÚ   rÌ   ra   rY   rÄ   r2   rp   rq   r�  r!  r3   Ú
checkpointr   s     r'   r!  z_SocketType.bind˜  sÊ   è è € Ø×2Ò2°7À$Ð2ÑGÔGÐGÐGÐGÐGÐGÐGˆå•N IÑ.Ô.ð	,à”�~Ô5Ò5Ð5Ø˜”
ð 6õ
 œ×0Ò0°´´À'ÑJÔJÐJÐJÐJÐJÐJÐJÐJõ ”-×*Ò*Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ø”:—?’? 7Ñ+Ô+Ð+r)   r#  c                ó€   — | j                              |¦  «         |t          j        t          j        fv r	d| _        d S d S )NT)r�  r&  ra   ÚSHUT_WRÚ	SHUT_RDWRr�  r%  s     r'   r&  z_SocketType.shutdownª  sE   € àŒ
×Ò˜DÑ!Ô!Ð!à•NÔ*­NÔ,DÐEÐEÐEØ)-ˆDÔ&Ð&Ð&ð FÐEr)   c                ó6  — t           j        dk    r0t          j        | j        gg g d¦  «        \  }}}t	          |¦  «        S t          j        ¦   «         }|                     | j        t          j        ¦  «         t	          |                     d¦  «        ¦  «        S )Nr‹   r   )r¥   r¦   Úselectr�  r,   ÚpollÚregisterÚPOLLIN)r&   ÚrreadyrÖ   Úps       r'   r(  z_SocketType.is_readable±  ss   € åŒ<˜7Ò"Ð"Ý!œ=¨$¬*¨°r¸2¸qÑAÔA‰LˆF�A�qÝ˜‘<”<ÐÝŒK‰MŒMˆØ	�
Š
�4”:�vœ}Ñ-Ô-Ð-Ý�A—F’F˜1‘I”I‰ŒÐr)   c              ƒ  óH   K  — t          j        | j        ¦  «        ƒ d {V —† d S r$   )r   r*  r�  r5   s    r'   r*  z_SocketType.wait_writableº  s1   è è € ÝÔ! $¤*Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-r)   rÀ   c             ƒ  óè   K  — | j         t          j        k    r0| j                             t          j        t          j        ¦  «        }nd}t          | j        | j         | j	        |||¬¦  «        ƒ d {V —†S )NF)r½   r¿   rÀ   )
rY   ra   rË   r�  r§   ÚIPPROTO_IPV6ÚIPV6_V6ONLYrÚ   r[   r\   )r&   r¿   rÀ   r½   s       r'   rÚ   z!_SocketType._resolve_address_nocp½  s‘   è è € ð Œ;�.Ô1Ò1Ð1Øœ*×/Ò/ÝÔ+ÝÔ*ñô ˆKˆKð
  ˆKÝ*ØŒIØŒKØŒJØ#ØØð
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r)   r®   r¯   r¬   r­   r³   r´   rµ   r¶   r   c              �  ó  K  — t          ¦   «         4 ƒd {V —†  || j        g|¢R i |¤Žcd d d ¦  «        ƒd {V —† S # 1 ƒd {V —†swxY w Y   	  || j        ¦  «        ƒ d {V —† 	  || j        g|¢R i |¤ŽS # t          $ r Y nw xY wŒ9r$   )r   r�  r/   )r&   r®   r¬   r³   rµ   s        r'   r¸   z_SocketType._nonblocking_helperÙ  sZ  è è € õ8 ‘;”;ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3Ø�2�d”jÐ2 4Ð2Ð2Ð2¨6Ð2Ð2ð	3ð 	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð	Ø�'˜$œ*Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ðØ�r˜$œ*Ð6 tÐ6Ð6Ð6¨vÐ6Ð6Ð6øÝ"ð ð ð Ø�ðøøøð		s!   —;»
AÁAÁ$A5 Á5
BÂBr+  c              ƒ  ób   K  — |                       ¦   «         ƒ d{V —†\  }}t          |¦  «        |fS )z-Like :meth:`socket.socket.accept`, but async.N)Ú_acceptr€   )r&   r{   Úaddrs      r'   r-  z_SocketType.accept  s<   è è € àŸ<š<™>œ>Ð)Ð)Ð)Ð)Ð)Ð)‰
ˆˆdÝ! $Ñ'Ô'¨Ð-Ð-r)   c           	   ƒ  ó>  K  — 	 |                       |d¬¦  «        ƒ d {V —†}t          ¦   «         4 ƒd {V —† | j                             |¦  «        cd d d ¦  «        ƒd {V —† S # 1 ƒd {V —†swxY w Y   t	          j        | j        ¦  «        ƒ d {V —† n-# t          j        $ r | j                             ¦   «          ‚ w xY w| j         	                    t          j        t          j        ¦  «        }|dk    r(t          |d|›dt          j        |¦  «        › �¦  «        ‚d S )NFr®  r   zError connecting to z: )rÚ   r   r�  r/  r   r*  r2   Ú	Cancelledr  r§   ra   r¤   ÚSO_ERRORrÑ   rÍ   Ústrerror)r&   r¿   Úerrs      r'   r/  z_SocketType.connect  sÅ  è è € ð
;	Ø ×6Ò6°wÀeÐ6ÑLÔLÐLÐLÐLÐLÐLÐLˆGÝ ‘{”{ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð` ”z×)Ò)¨'Ñ2Ô2ða03ð 03ð 03ð 03ñ 03ô 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03ð 03øøøð 03ð 03ð 03ð 03õf Ô% d¤jÑ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1øÝŒ~ð 	ð 	ð 	ð ŒJ×ÒÑÔÐØð	øøøð Œj×#Ò#¥NÔ$=½~Ô?VÑWÔWˆØ�!Š8ˆ8Ý˜#ÐU°gÐUÐUÅ2Ä;ÈsÑCSÔCSÐUÐUÑVÔVÐVð ˆ8s.   „1B µA"ÁB Á"
A,Á,B Á/A,Á0"B Â*B=r   r]   r0  c               ó   — d S r$   rF   r2  s      r'   r3  z_SocketType.recva  ó   € € € r)   r4  r   r5  r6  c               ó   — d S r$   rF   r8  s       r'   r9  z_SocketType.recv_inton  s	   € ð !˜Sr)   r:  r;  c               ó   — d S r$   rF   r=  s      r'   r>  z_SocketType.recvfrom�  s	   € ð
 69°Sr)   r?  c               ó   — d S r$   rF   r8  s       r'   rA  z_SocketType.recvfrom_into“  s	   € ð 47°3r)   rB  rC  rD  c               ó   — d S r$   rF   rF  s       r'   rB  z_SocketType.recvmsg©  s   € ð VYÐUXr)   T)r°   rH  rI  rJ  rK  c               ó   — d S r$   rF   rM  s       r'   rH  z_SocketType.recvmsg_intoÀ  s   € ð TWÐSVr)   c               ó   — d S r$   rF   rO  s      r'   rP  z_SocketType.sendÔ  rÈ  r)   rQ  rR  c             ƒ  ó
   K  — d S r$   rF   rT  s      r'   rU  z_SocketType.sendtoß  rV  r)   c             ƒ  ó
   K  — d S r$   rF   rX  s       r'   rU  z_SocketType.sendtoç  rY  r)   rF   r�   rZ  c              ‡  óÌ   K  — t          |¦  «        }|                      |d         d¬¦  «        ƒ d{V —†|d<    | j        t          j        t
          j        j        g|¢R Ž ƒ d{V —†S )z3Similar to :meth:`socket.socket.sendto`, but async.r«  Fr®  N)rÕ   rÚ   r¸   r   r*  ra   r›   rU  )r&   r³   Ú	args_lists      r'   rU  z_SocketType.sendtoð  sš   è è € õ
 ˜‘J”Jˆ	Ø"×8Ò8¸¸b¼ÈÐ8ÑOÔOÐOÐOÐOÐOÐOÐOˆ	�"‰ð .�TÔ-ÝÔÝÔ!Ô(ð
ð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r)   r\  r]  r^  r_  c             ƒ  ó¶   K  — |�|                       |d¬¦  «        ƒ d{V —†}|                      t          j        t          j        j        ||||¦  «        ƒ d{V —†S )z©Similar to :meth:`socket.socket.sendmsg`, but async.

            Only available on platforms where :meth:`socket.socket.sendmsg` is
            available.

            NFr®  )rÚ   r¸   r   r*  ra   r›   r\  ra  s        r'   r\  z_SocketType.sendmsg  s‰   è è € ð Ð"Ø $× :Ò :¸7È%Ð :Ñ PÔ PÐPÐPÐPÐPÐPÐP�Ø×1Ò1ÝÔ#ÝÔ%Ô-ØØØØñô ð ð ð ð ð ð ð r)   )r{   r|   r!   r"   rb  rc  rd  re  r$   rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rB   rt  ru  )r¿   r   rÀ   r,   r!   r   )
r®   r¯   r¬   r­   r³   r´   rµ   r¶   r!   r   rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r€  r�  r‚  rƒ  r„  )7rC   rD   rE   r(   r¨   r˜   rå   rç   r   r§   rø   r…  ra   r†  r  r  r
  r¥   r¦   r   rÌ   r›   r  r  r  r‡  rY   r[   r\   r  r  r  r  r!  r&  r(  r*  rÚ   r¸   r¼   r-  r   Úwait_readablerÀ  r/  r3  r9  r>  rA  rB  rH  rP  rU  rº   r\  rF   r)   r'   r   r     sÜ  € € € € € ð	+ð 	+ð 	+ð 	+ð #ð #ð #ð #ð#ð #ð #ð #ð(ð (ð (ð (ð(ð (ð (ð (ð Ø>Ð>Ð>ñ „XØ>àØMÐMÐMñ „XØMð "ð	=ð =ð =ð =ð =ð ØTÐTÐTñ „XØTàðð ð ñ „Xðð "ðDð Dð Dð Dð Dð, %( C¨Ô(@À#Ñ$FÔ$Fð *ð *ð *ð *ð *ð,ð ,ð ,ð ,ð7ð 7ð 7ð 7ð „|�wÒÐØð Ø%˜g nÔ&;¸WÑEÔEð ð	0ð 	0ð 	0ð 	0ðð ð ð ðCð Cð Cð Cð ð!ð !ð !ñ „Xð!ð ðð ð ñ „Xðð ð ð  ð  ñ „Xð ð ð*ð *ð *ñ „Xð*ðOð Oð Oð Oð-ð -ð -ð -ðð ð ð ð
,ð ,ð ,ð ,ð$.ð .ð .ð .ðð ð ð ð.ð .ð .ð .ð
ð 
ð 
ð 
ð8$ð $ð $ð $ðT /Ð.ØÔÔ$ØÔñô €Gð
.ð .ð .ð .ðDWð DWð DWð DWð\ ð PàOÐOÐOÐOÐOà+Ð+ØÔÔ"ØÔñô €Dð ð !ð Øð	!ð 	!ð 	!ð 	!ð 	!ð 1Ð0ØÔÔ'ØÔñô €Ið ð 9ð
 ð	9ð 	9ð 	9ð 	9ð 	9ð 0Ð/ØÔÔ&ØÔñô €Hð ð 7ð Øð	7ð 	7ð 	7ð 	7ð 	7ð 5Ð4ØÔÔ+ØÔñô €Mð „|�wÒÐØð Ø%˜g nÔ&;¸YÑGÔGð ð ð 	Yð
 #$Øð	Yð Yð Yð Yð Yð 3Ð2ØÔ!Ô)ØÔØð
ñ 
ô 
ˆð „|�wÒÐØð Ø%˜g nÔ&;¸^ÑLÔLð ð ð 	Wð
 #$Øð	Wð Wð Wð Wð Wð 8Ð7ØÔ!Ô.ØÔØð
ñ 
ô 
ˆð ð PàOÐOÐOÐOÐOà+Ð+ØÔÔ"ØÔñô €Dð ðð ð ñ „Xðð ðð ð ñ „Xðð €VˆNÔ!Ô(°2¸rÐBÑBÔBð
ð 
ð 
ñ CÔBð
ð$ „|�wÒÐØð Ø%˜g nÔ&;¸YÑGÔGð ð 
ˆ�Ô%Ô-¸ÀBÐ	GÑ	GÔ	Gð :<ØØ,0ð	ð 	ð 	ð 	ñ 
HÔ	Gð	ð 	ð 	ð ÐÐÐr)   r   )rG   rK   r!   rK   )rI   rQ   r!   rQ   )r   r   r   r   )rU   rV   rW   rX   rY   rZ   r[   rZ   r\   rZ   r]   rZ   r!   r^   )rs   rt   r]   rZ   r!   ru   )rx   rl   r!   rZ   )r{   r|   r!   r}   )
r„   r
   rY   r…   r[   r†   r\   rZ   r!   r}   )r�   rŽ   r!   r}   )rY   r�   r[   r‘   r\   rZ   r!   r“   )
rY   r…   r[   r†   r\   rZ   r˜   r™   r!   r}   )
rY   r…   rŠ   r†   r\   rZ   r˜   r™   r!   rž   )F)r¬   r­   r®   r¯   r°   r,   r!   r±   )rŠ   rZ   rY   r   r\   rZ   r½   r¾   r¿   r   rÀ   r,   r!   r   )RÚ
__future__r   rÍ   r´  r›   ra   r¥   Úoperatorr   r   r   Útypingr   r   r	   r
   r   r   r   Úidnaro   r2   Ú
trio._utilr   rº   rÅ   r   Úcollections.abcr   r   r   Útypesr   Útyping_extensionsr   r   r   Ú_abcr   r   r   r   r   Ú__annotations__r   ÚRunVarrH   rJ   rP   rS   ÚAI_NUMERICHOSTrk   Úgetattrrj   rw   rz   r€   r‰   rÇ   ÚSOCK_STREAMr¦   rÌ   rŒ   rZ   r�   r‘   r’   r•   rˆ   Ú_SOCK_TYPE_MASKr¼   rÚ   r}   Ú__dict__Úitemsrx   ÚobjÚ
startswithr»   Ústdlib_typeÚ
stdlib_objr   rF   r)   r'   ú<module>rê     s
  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð à €€€Ø &Ð &Ð &Ð &Ð &Ð &à Ð Ð Ð Ð Ð àð Ø=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø#Ð#Ð#Ð#Ð#Ð#à9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9à5Ð5Ð5Ð5Ð5Ð5Ð5Ð5àˆ	�#‰Œ€Að €GˆC�L„L€ð €Ð Ð Ð Ñ ðð ð ð ð ñ ô ð ðH 4@°5´<Ð@SÑ3TÔ3T€	Ð TÐ TÐ TÑ TØ6B°e´lÐCSÑ6TÔ6T€Ð TÐ TÐ TÑ Tðð ð ð ðDð ð ð ðF Ô-€Ø ��˜Ð)9¸1Ñ=Ô=Ñ =€ð ØØØðP
ð P
ð P
ð P
ð P
ðf
ð 
ð 
ð 
ð2
ð 
ð 
ð 
ð*ð ð ð ð €ˆÔ¨°BÐ7Ñ7Ô7ð #1Ô"8Ø+Ô7Øð	Oð Oð Oð Oñ 8Ô7ðOð „<�7ÒÐØð Ø!˜' .°+Ñ>Ô>ð ð €VˆNÔ$¨r¸2Ð>Ñ>Ô>ðBð Bð Bñ ?Ô>ðBð
 „<�7ÒÐØ€GÐÐÐÑØ€EÐÐÐÑØ"Ô*€M€Mà€MÐÐÐÑØ˜}Ñ,¨tÑ3€GÐ3Ð3Ð3Ñ3Ø%Ô,¨sÑ2€EÐ2Ð2Ð2Ñ2ð €ˆÔ!¨B¸Ð;Ñ;Ô;à#ØÔ(Øð
Að 
Að 
Að 
Añ <Ô;ð
Að €ˆÔ¨°BÐ7Ñ7Ô7à"0Ô"8Ø+Ô7ØØð	-ð -ð -ð -ñ 8Ô7ð-ð6 ð  ð  ð  ðT €GˆN˜O¨QÑ/Ô/Ø€gˆn˜n¨aÑ0Ô0ñ1ð€ð ðð ð ð ð ðNGð Gð Gð GðT^&ð ^&ð ^&ð ^&ð ^&ñ ^&ô ^&ð ^&ðD Ô$×*Ò*Ñ,Ô,ð %ð %�I€Dˆ#à‡‚�tÑÔð  ¤ð Øà%Ô,¨nÔ.GÐGð ð ˆØ�W˜[¨$°Ñ5Ô5ˆ
Øð 	˜*Ô,ð 	ØˆEøàØÔ$€C„K€KðMð Mð Mð Mð M�*ñ Mô Mð Mð Mð Mr)   