Ë
    aQbjˆ±  ã                  óN  — 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jZ                  d«      Z.de+d<    ejZ                  d«      Z/de+d<   	 	 	 	 d6d„Z0	 	 	 	 d7d„Z1ejd                  Z3e3 e4edd «      z  Z3	 	 	 	 d8	 	 	 	 	 	 	 	 	 	 	 	 	 d9d„Z5	 	 	 	 	 	 d:d„Z6d;d„Z7d<d „Z8 eejr                  d!d!¬"«      ejt                  ejv                  d f	 	 	 	 	 	 	 	 	 d=d#„«       Z9ejx                  d$k(  ses% e=ed%«      r eej|                  d!d!¬"«      d>d&„«       Z>ejx                  d$k(  re?Z@de+d'<   e?ZAde+d(<   ejt                  ZBn(dZBd)e+d*<   e?e	z  dz  Z@de+d'<   ej                  e?z  ZAde+d(<    eej†                  d!d!¬"«      eBe
jv                  d f	 	 	 	 	 	 	 d?d+„«       ZC eej                  d!d!¬"«      ejt                  ejv                  d df	 	 	 	 	 	 	 	 	 d@d,„«       Z	 	 	 	 	 	 	 	 	 	 dAd-„ZD e4ed.d «       e4ed/d «      z   ZE	 dB	 	 	 	 	 	 	 dCd0„ZF	 	 	 	 	 	 	 	 	 	 	 	 	 	 dDd1„ZG G d2„ d«      ZHeHj’                  j•                  «       D ]m  \  ZKZLeKj›                  d3«      seLjœ                  rŒ$ej                  ej�                  fD ]  ZO e4eOeKd«      ZPePsŒePjœ                  sŒ n Œ]ePjœ                  eL_N        Œo  G d4„ d5eH«      ZQy)Eé    )Ú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                  óF   — e Zd Z	 d	 	 	 dd„Zdd„Zd	d„Z	 	 	 	 	 	 	 	 d
d„Zy)Ú	_try_syncNc                ó   — || _         y ©N)Ú_blocking_exc_override)ÚselfÚblocking_exc_overrides     ú?/var/www/html/venv/lib/python3.12/site-packages/trio/_socket.pyÚ__init__z_try_sync.__init__>   s   € ð '<ˆÕ#ó    c                ó\   — | j                   €t        |t        «      S | j                  |«      S r    )r!   Ú
isinstanceÚBlockingIOError)r"   Úexcs     r$   Ú_is_blocking_io_errorz_try_sync._is_blocking_io_errorD   s,   € Ø×&Ñ&Ð.Ü˜c¤?Ó3Ð3à×.Ñ.¨sÓ3Ð3r&   c              ƒ  ó\   K  — t         j                  j                  «       ƒ d {  –—†  y 7 Œ­wr    )ÚtrioÚlowlevelÚcheckpoint_if_cancelled©r"   s    r$   Ú
__aenter__z_try_sync.__aenter__J   s   è ø€ Ü�m‰m×3Ñ3Ó5×5Ò5ús   ‚",¤*¥,c              ƒ  ó„   K  — |�| j                  |«      ryt        j                  j                  «       ƒ d {  –—†  y7 Œ­w)NTF)r+   r-   r.   Úcancel_shielded_checkpoint©r"   Úexc_typeÚ	exc_valueÚ	tracebacks       r$   Ú	__aexit__z_try_sync.__aexit__M   s>   è ø€ ð Ð  T×%?Ñ%?À	Ô%Jð ä—-‘-×:Ñ:Ó<×<Ð<àð =ús   ‚6A ¸>¹A r    )r#   z&Callable[[BaseException], bool] | NoneÚreturnÚNone©r*   ÚBaseExceptionr9   Úbool©r9   r:   )r5   útype[BaseException] | Noner6   úBaseException | Noner7   úTracebackType | Noner9   r=   )Ú__name__Ú
__module__Ú__qualname__r%   r+   r1   r8   © r&   r$   r   r   =   sU   „ ð IMð<àEð<ð 
ó<ó4ó6ðà,ðð (ðð (ð	ð
 
ôr&   r   Úhostname_resolverz%_core.RunVar[HostnameResolver | None]Ú	_resolverÚsocket_factoryz"_core.RunVar[SocketFactory | None]Ú_socket_factoryc                óZ   — t         j                  d«      }t         j                  | «       |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)rG   ÚgetÚset)rF   Úolds     r$   Úset_custom_hostname_resolverrN   e   s$   € ô: �-‰-˜Ó
€CÜ‡M�MÐ#Ô$Ø€Jr&   c                óZ   — t         j                  d«      }t         j                  | «       |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)rI   rK   rL   )rH   rM   s     r$   Úset_custom_socket_factoryrP   ‡   s'   € ô0 ×
Ñ
˜dÓ
#€CÜ×Ñ˜Ô'Ø€Jr&   ÚAI_NUMERICSERVc           
   ƒ  óJ  K  — dd„}t        |«      4 ƒd{  –—†  t        j                  | |||||t        z  «      cddd«      ƒd{  –—†  S 7 Œ67 Œ# 1 ƒd{  –—†7  sw Y   nxY wt	        | t
        «      r9	 | j                  d«      } n&# t        $ r t        j                  | d¬«      } Y nw xY wt        j                  d«      }|�|j                  | |||||«      ƒ d{  –—†7  S t        j                  j                  t        j                  | |||||d¬«      ƒ d{  –—†7  S ­w)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`.

    c                ót   — t        | t        j                  «      xr | 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Ñ3Ó4ò 7Ø—	‘	œ^×6Ñ6Ñ6ð	
r&   NÚasciiT)Úuts46©Úabandon_on_cancelr;   )r   rT   ÚgetaddrinfoÚ_NUMERIC_ONLYr(   ÚstrÚencodeÚUnicodeEncodeErrorÚ_idnarG   rK   r-   Ú	to_threadÚrun_sync)ÚhostÚportÚfamilyÚtypeÚprotoÚflagsrX   Úhrs           r$   r]   r]   ¯   s$  è ø€ óH
ô Ð-Ó.÷ 
ñ 
Ü×)Ñ)ØØØØØØ”MÑ!ó
÷
÷ 
ò 
øð 
ø÷ 
÷ 
ñ 
úô" �$œÔð	2Ø—;‘;˜wÓ'‰DøÜ!ò 	2ô —<‘< ¨DÔ1ŠDð		2úô
 
�‰�tÓ	€BØ	€~Ø—^‘^ D¨$°¸¸eÀUÓK×KÐKÐKä—^‘^×,Ñ,Ü×&Ñ&ØØØØØØØ"ð -ó 	
÷ 	
ð 	
ð 		
ùs   ‚D#–A—D#š!A»D#ÁAÁD#ÁD#ÁA#ÁAÁA#ÁD#Á7B	 ÂD#Â	 B,Â)D#Â+B,Â,3D#ÃC"Ã =D#ÄD ÄD#c              ƒ  óæ   K  — t         j                  d«      }|�|j                  | |«      ƒ d{  –—† S t        j                  j                  t        j                  | |d¬«      ƒ d{  –—† S 7 Œ=7 Œ­w)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`.

    NTr[   )rG   rK   Úgetnameinfor-   rc   rd   rT   )Úsockaddrrj   rk   s      r$   rm   rm     sm   è ø€ ô 
�‰�tÓ	€BØ	€~Ø—^‘^ H¨eÓ4×4Ð4ä—^‘^×,Ñ,Ü×&Ñ&ØØØ"ð	 -ó 
÷ 
ð 	
ð 5øð
ús!   ‚-A1¯A-°8A1Á(A/Á)A1Á/A1c              ƒ  ó~   K  — t         j                  j                  t        j                  | d¬«      ƒ d{  –—† S 7 Œ­w)zkLook up a protocol number by name. (Rarely used.)

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

    Tr[   N)r-   rc   rd   rT   Úgetprotobyname)Únames    r$   rp   rp     s=   è ø€ ô —‘×(Ñ(Ü×%Ñ%ØØð )ó ÷ ð ð ús   ‚4=¶;·=Ú
SocketTypec                ó   — t        | «      S )z]Convert a standard library :class:`socket.socket` object into a Trio
    socket object.

    )Ú_SocketType)Úsocks    r$   Úfrom_stdlib_socketrv   0  s   € ô
 �tÓÐr&   rE   ©ÚassignedÚupdatedc                óz   — t        |||t        | «      «      \  }}}t        t        j                  | |||«      «      S )z=Like :func:`socket.fromfd`, but returns a Trio socket object.)Ú_sniff_sockopts_for_filenor   rv   rT   Úfromfd)Úfdrg   rh   ri   Útype_s        r$   r|   r|   8  s<   € ô 6°f¸dÀEÌ5ÐQSË9ÓUÑ€FˆE�5Üœn×3Ñ3°B¸ÀÀuÓMÓNÐNr&   Úwin32Ú	fromsharec                ó>   — t        t        j                  | «      «      S )z@Like :func:`socket.fromshare`, but returns a Trio socket object.)rv   rT   r€   )Úinfos    r$   r€   r€   H  s   € ô "¤.×":Ñ":¸4Ó"@ÓAÐAr&   ÚFamilyTÚTypeTr:   ÚFamilyDefaultc                ób   — t        j                  | ||«      \  }}t        |«      t        |«      fS )zTLike :func:`socket.socketpair`, but returns a pair of Trio socket
    objects.

    )rT   Ú
socketpairrv   )rg   rh   ri   ÚleftÚrights        r$   r‡   r‡   X  s2   € ô !×+Ñ+¨F°D¸%Ó@�K€Dˆ%Ü˜tÓ$Ô&8¸Ó&?Ð@Ð@r&   c                óÄ   — |€*t         j                  d«      }|�%|j                  | ||«      S 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)rI   rK   Úsocketr{   rT   rv   )rg   rh   ri   ÚfilenoÚsfÚstdlib_sockets         r$   r‹   r‹   f  sq   € ð €~Ü× Ñ  Ó&ˆØˆ>Ø—9‘9˜V T¨5Ó1Ð1ä8ØØØØó	
Ñˆ��eô #×)Ñ)¨&°$¸¸vÓF€MÜ˜mÓ,Ð,r&   c                ó>  — t         j                  dk7  r| ||fS ddlm}m}m}m} t        j                  | |||¬«      }	 |j                  ||«      } |j                  ||«      }|j                  ||«      }|j                  «        | ||fS # |j                  «        w xY w)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”   rT   Ú
getsockoptÚdetach)	rg   r~   ri   rŒ   r‘   r’   r“   r”   Úsockobjs	            r$   r{   r{   ‚  s¡   € ô ‡|�|�wÒØ�u˜eÐ#Ð#÷ó ô ×#Ñ# F¨E°5ÀÔH€GðØ×#Ñ# J°	Ó:ˆØ×"Ñ" :¨{Ó;ˆØ×"Ñ" :¨wÓ7ˆð 	�‰ÔØ�5˜%ÐÐøð 	�‰Õús   ¿6B
 Â
BÚSOCK_NONBLOCKÚSOCK_CLOEXECc                ó®   ‡ ‡— t        ‰ dd¬«      d	ˆ ˆfd„«       }d‰ j                  › d�|_        |r#|xj                  d‰ j                  › d�z  c_        |S )
N)rB   rE   rw   c              Ÿ  óN   •K  —  | j                   ‰‰g|¢­i |¤Žƒ d {  –—† S 7 Œ­wr    )Ú_nonblocking_helper)r"   ÚargsÚkwargsÚfnÚwait_fns      €€r$   Úwrapperz1_make_simple_sock_method_wrapper.<locals>.wrapper¶  s,   øè ø€ à-�T×-Ñ-¨g°rÐK¸DÒKÀFÑK×KÐKÐKús   ƒ%ž#Ÿ%zLike :meth:`socket.socket.z`, but async.

            z7Only available on platforms where :meth:`socket.socket.z` is available.)r"   rt   rŸ   úP.argsr    úP.kwargsr9   r   )Ú_wrapsrB   Ú__doc__)r¡   r¢   Úmaybe_availr£   s   ``  r$   Ú _make_simple_sock_method_wrapperr©   ±  sn   ù€ ô
 ˆB˜°Ô3õLó 4ðLð 5°R·[±[°Mð Bð €G„Oñ Ø�ŠØEÀbÇkÁkÀ]ð Sð ñ	
�ð €Nr&   c             ƒ  ó4  K  — |t         j                  k(  r)t        |t        «      rt	        |«      dk(  sºt        d«      ‚|t         j                  k(  r;t        |t        «      r dt	        |«      cxk  rdk  sxt        d«      ‚ t        d«      ‚t        t         d«      rO|t         j                  k(  r<t        |t        t        t        j                  f«      sJ ‚t        j                  |«      S |S |^}}}t        |t        «      r|�	 t        j                  ||«       |S |dk(  rd }|dk(  rd}d	}	|r|	t         j$                  z  }	|t         j                  k(  r|s|	t         j&                  z  }	t)        |||| ||	«      ƒ d {  –—† }
t	        |
«      d
k\  sJ ‚|
^�^ }}}|t         j                  k(  rRt+        |«      }t	        |«      dk(  sJ ‚t	        |«      dk\  r|d   |d<   t	        |«      dk\  r|d   |d<   t        |«      S |S # t         t"        f$ r Y Œôw xY w7 Œ—­w)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   é   )rT   ÚAF_INETr(   ÚtupleÚlenÚ
ValueErrorÚAF_INET6Úhasattrr­   r_   ÚbytesÚosÚPathLikeÚfspathÚintÚ	inet_ptonÚOSErrorÚ	TypeErrorÚ
AI_PASSIVEÚAI_V4MAPPEDr]   Úlist)r~   rg   ri   Úipv6_v6onlyÚaddressÚlocalre   rf   Ú_rj   Úgai_resÚnormedÚlist_normeds                r$   Ú_resolve_address_nocprÈ   Ø  s   è ø€ ð ”×'Ñ'Ò'Ü˜'¤5Ô)´°W³ÀÒ1BÜÐEÓFÐFØ	”>×*Ñ*Ò	*Ü˜'¤5Ô)°´c¸'³lÔ1GÀaÒ1GÜØOóð ð 2HÜØOóð ô 
” Ô	+°¼.×:PÑ:PÒ0Pä˜'¤C¬´·±Ð#<Ô=Ð=Ð=Ü�y‰y˜Ó!Ð!àˆð €N€Dˆ$�ô �$œÔ Ð!1ð	Ü×$Ñ$ V¨TÔ2ð ˆNàˆr‚zØˆØˆ}ÒØ ˆØ€EÙØ”×*Ñ*Ñ*ˆð ”×(Ñ(Ò(±Ø”×+Ñ+Ñ+ˆÜ  d¨F°E¸5À%ÓH×H€Gô ˆw‹<˜1ÒÐÐàÐ�L€aˆ�1ð ”×(Ñ(Ò(Ü˜6“lˆÜ�6‹{˜aÒÐÐÜˆw‹<˜1ÒØ$ Q™ZˆK˜‰NÜˆw‹<˜1ÒØ$ Q™ZˆK˜‰NÜ�[Ó!Ð!Ø€MøôK œÐ#ò 	Ùð	úð* Iús8   ‚DHÄH ÄA"HÅ>HÅ?BHÈHÈHÈHÈHc                  óB  ‡ — e Zd Zd2ˆ fd„Zd3d„Zd3d„Zd4d„Zd4d„Zed5d„«       Z	ed6d„«       Z		 d7	 	 	 	 	 	 	 d8d„Z	ed9d	„«       Z
e	 	 	 	 	 	 	 	 	 	 d:d
„«       Z
	 d7	 	 	 	 	 	 	 	 	 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	 	 	 	 	 	 	 	 dAd„ZedBd„«       ZedCd„«       Zed3d„«       Zed=d„«       ZdDd„ZdEd„Zd2d„Z dFd„Z!dGd„Z"d=d„Z#d2d„Z$dHd „Z%dFd!„Z&dIdJd"„Z'	 	 dK	 	 	 	 	 	 	 dLd#„Z(	 dI	 	 	 	 	 dMd$„Z)	 	 dK	 	 	 	 	 	 	 dNd%„Z*ej$                  dk7  ses! eej*                  d&«      r	 	 dK	 	 	 	 	 	 	 dOd'„Z+ej$                  dk7  ses! eej*                  d(«      r	 	 dK	 	 	 	 	 	 	 dPd)„Z,dIdQd*„Z-e	 	 	 	 	 	 dRd+„«       Z.e	 	 	 	 	 	 	 	 dSd,„«       Z.dTd-„Z.ej$                  dk7  sesN eej*                  d.«      r7 e/ej*                  j`                  d/d/¬0«      	 	 	 dU	 	 	 	 	 	 	 	 	 dVd1„«       Z0ˆ xZ1S ˆ xZ1S ˆ xZ1S )Wrr   c                óZ   •— t         ‰| �  «        t        | «      t        u rt	        d«      ‚y )Nz`SocketType is an abstract class; use trio.socket.socket if you want to construct a socket object)Úsuperr%   rh   rr   r½   )r"   Ú	__class__s    €r$   r%   zSocketType.__init__#  s1   ø€ ä‰ÑÔä�‹:œÑ#Üð4óð ð $r&   c                ó   — t         ‚r    ©ÚNotImplementedErrorr0   s    r$   r˜   zSocketType.detach-  ó   € Ü!Ð!r&   c                ó   — t         ‚r    rÎ   r0   s    r$   rŒ   zSocketType.fileno0  rÐ   r&   c                ó   — t         ‚r    rÎ   r0   s    r$   ÚgetpeernamezSocketType.getpeername3  rÐ   r&   c                ó   — t         ‚r    rÎ   r0   s    r$   ÚgetsocknamezSocketType.getsockname6  rÐ   r&   c                 ó   — y r    rE   ©r"   ÚlevelÚoptnames      r$   r—   zSocketType.getsockopt9  ó   € Ø;>r&   c                 ó   — y r    rE   ©r"   rØ   rÙ   Úbuflens       r$   r—   zSocketType.getsockopt<  ó   € ØJMr&   c                ó   — t         ‚r    rÎ   rÜ   s       r$   r—   zSocketType.getsockopt?  ó
   € ô "Ð!r&   c                 ó   — y r    rE   ©r"   rØ   rÙ   Úvalues       r$   Ú
setsockoptzSocketType.setsockoptG  ó   € ØQTr&   c                 ó   — y r    rE   ©r"   rØ   rÙ   rã   Úoptlens        r$   rä   zSocketType.setsockoptJ  ó   € ð r&   c                ó   — t         ‚r    rÎ   rç   s        r$   rä   zSocketType.setsockoptS  s
   € ô "Ð!r&   é€   c                ó   — t         ‚r    rÎ   ©r"   Úbacklogs     r$   ÚlistenzSocketType.listen\  rÐ   r&   c                ó   — t         ‚r    rÎ   r0   s    r$   Úget_inheritablezSocketType.get_inheritable_  rÐ   r&   c                ó   — t         ‚r    rÎ   ©r"   Úinheritables     r$   Úset_inheritablezSocketType.set_inheritableb  rÐ   r&   r   Úsharec                ó   — t         ‚r    rÎ   ©r"   Ú
process_ids     r$   rö   zSocketType.sharei  s   € Ü%Ð%r&   c                ó   — t         ‚r    rÎ   r0   s    r$   Ú	__enter__zSocketType.__enter__l  rÐ   r&   c                ó   — t         ‚r    rÎ   r4   s       r$   Ú__exit__zSocketType.__exit__o  rà   r&   c                ó   — t         ‚r    rÎ   r0   s    r$   rg   zSocketType.familyw  ó   € ä!Ð!r&   c                ó   — t         ‚r    rÎ   r0   s    r$   rh   zSocketType.type{  rÿ   r&   c                ó   — t         ‚r    rÎ   r0   s    r$   ri   zSocketType.proto  rÿ   r&   c                ó   — t         ‚)zBReturn True if the socket has been shut down with the SHUT_WR flagrÎ   r0   s    r$   Údid_shutdown_SHUT_WRzSocketType.did_shutdown_SHUT_WRƒ  s
   € ô "Ð!r&   c                ó   — t         ‚r    rÎ   r0   s    r$   Ú__repr__zSocketType.__repr__ˆ  rÐ   r&   c                ó   — t         ‚r    rÎ   r0   s    r$   ÚdupzSocketType.dup‹  rÐ   r&   c                ó   — t         ‚r    rÎ   r0   s    r$   ÚclosezSocketType.closeŽ  rÐ   r&   c              ƒ  ó   K  — t         ‚­wr    rÎ   ©r"   rÂ   s     r$   ÚbindzSocketType.bind‘  ó   è ø€ Ü!Ð!ùó   ‚	c                ó   — t         ‚r    rÎ   ©r"   Úflags     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Î   r0   s    r$   Úis_readablezSocketType.is_readable—  rÿ   r&   c              ƒ  ó   K  — t         ‚­w)zIConvenience method that calls trio.lowlevel.wait_writable for the object.rÎ   r0   s    r$   Úwait_writablezSocketType.wait_writable›  s   è ø€ ä!Ð!ùr  c              ƒ  ó   K  — t         ‚­wr    rÎ   r0   s    r$   ÚacceptzSocketType.acceptŸ  r  r  c              ƒ  ó   K  — t         ‚­wr    rÎ   r  s     r$   ÚconnectzSocketType.connect¢  r  r  c               ó   — t         ‚r    rÎ   ©r"   rÝ   rj   s      r$   ÚrecvzSocketType.recv¥  rÐ   r&   c                ó   — t         ‚r    rÎ   ©r"   ÚbufferÚnbytesrj   s       r$   Ú	recv_intozSocketType.recv_into¨  rà   r&   c               ó   — t         ‚r    rÎ   ©r"   Úbufsizerj   s      r$   ÚrecvfromzSocketType.recvfrom±  rà   r&   c                ó   — t         ‚r    rÎ   r  s       r$   Úrecvfrom_intozSocketType.recvfrom_intoº  rà   r&   Úrecvmsgc               ó   — t         ‚r    rÎ   ©r"   r%  Ú
ancbufsizerj   s       r$   r)  zSocketType.recvmsgÆ  ó
   € ô &Ð%r&   Úrecvmsg_intoc               ó   — t         ‚r    rÎ   ©r"   Úbuffersr,  rj   s       r$   r.  zSocketType.recvmsg_intoÓ  r-  r&   c               ó   — t         ‚r    rÎ   ©r"   r¶   rj   s      r$   ÚsendzSocketType.sendÜ  rÐ   r&   c             ƒ  ó   K  — y ­wr    rE   ©r"   ÚdatarÂ   s      r$   ÚsendtozSocketType.sendtoß  ó   è ø€ ð ùó   ‚c             ƒ  ó   K  — y ­wr    rE   ©r"   r7  rj   rÂ   s       r$   r8  zSocketType.sendtoç  ó   è ø€ ð ùr:  c              ‡  ó   K  — t         ‚­wr    rÎ   )r"   rŸ   s     r$   r8  zSocketType.sendtoð  r  r  ÚsendmsgrE   rw   c             ƒ  ó   K  — t         ‚­wr    rÎ   ©r"   r1  Úancdatarj   rÂ   s        r$   r?  zSocketType.sendmsg÷  s   è ø€ ô &Ð%ùr  r>   ©r9   rº   ©r9   r   ©rØ   rº   rÙ   rº   r9   rº   ©rØ   rº   rÙ   rº   rÝ   rº   r9   r¶   r    ©rØ   rº   rÙ   rº   rÝ   ú
int | Noner9   zint | bytes©rØ   rº   rÙ   rº   rã   zint | Bufferr9   r:   ©
rØ   rº   rÙ   rº   rã   r:   rè   rº   r9   r:   ©
rØ   rº   rÙ   rº   rã   zint | Buffer | Nonerè   rH  r9   r:   ©rî   rº   r9   r:   ©r9   r=   ©rô   r=   r9   r:   ©rù   rº   r9   r¶   ©r9   r   ©r5   r?   r6   r@   r7   rA   r9   r:   ©r9   r   ©r9   r   ©r9   r_   ©r9   rr   ©rÂ   r   r9   r:   ©r  rº   r9   r:   ©r9   z tuple[SocketType, AddressFormat]©r   ©rÝ   rº   rj   rº   r9   zAwaitable[bytes]©r   r   ©r   r   r!  rº   rj   rº   r9   úAwaitable[int]©r%  rº   rj   rº   r9   z&Awaitable[tuple[bytes, AddressFormat]]©r   r   r!  rº   rj   rº   r9   z$Awaitable[tuple[int, AddressFormat]]©r%  rº   r,  rº   rj   rº   r9   zBAwaitable[tuple[bytes, list[tuple[int, int, bytes]], int, object]]©r1  úIterable[Buffer]r,  rº   rj   rº   r9   z@Awaitable[tuple[int, list[tuple[int, int, bytes]], int, object]]©r¶   r   rj   rº   r9   r]  ©r7  r   rÂ   ú!tuple[object, ...] | str | Bufferr9   rº   ©r7  r   rj   rº   rÂ   re  r9   rº   ©rŸ   Úobjectr9   rº   ©rE   r   N©
r1  rb  rB  z!Iterable[tuple[int, int, Buffer]]rj   rº   rÂ   zAddressFormat | Noner9   rº   )2rB   rC   rD   r%   r˜   rŒ   rÓ   rÕ   r   r—   rä   ÚminrT   Ú	SOMAXCONNrï   rñ   rõ   r•   r–   r   rµ   r‹   rö   rû   rý   Úpropertyrg   rh   ri   r  r  r  r	  r  r  r  r  r  r  r  r"  r&  r(  r)  r.  r4  r8  r¦   r?  Ú__classcell__)rÌ   s   @r$   rr   rr   "  s#  ø„ õó"ó"ó"ó"ð Ú>ó Ø>àÚMó ØMð "ð	"àð"ð ð"ð ð	"ð
 
ó"ð ÚTó ØTàðàðð ðð ð	ð
 ðð 
òó ðð "ð"àð"ð ð"ð #ð	"ð
 ð"ð 
ó"ñ %(¨×(@Ñ(@À#Ó$Fô "ó"ó"ð ‡|�|�wÒÙ™g n×&;Ñ&;¸WÔEó	&ó"ð"à,ð"ð (ð"ð (ð	"ð
 
ó"ð ò"ó ð"ð ò"ó ð"ð ò"ó ð"ð ò"ó ð"ó"ó"ó"ó"ó"ó"ó"ó"ó"ô"ð Øð	"àð"ð ð"ð ð	"ð
 
ó"ð ð"àð"ð ð"ð
 
0ó"ð Øð	"àð"ð ð"ð ð	"ð
 
.ó"ð ‡|�|�wÒÙ™g n×&;Ñ&;¸YÔGð  Øð		&àð	&ð ð	&ð ð		&ð Pó	&ð ‡|�|�wÒÙ™g n×&;Ñ&;¸^ÔLð  Øð		&à%ð	&ð ð	&ð ð		&ð Nó	&ô"ð ðàðð 3ðð
 
òó ðð ðàðð ðð 3ð	ð 
òó ðó"ð ‡|�|�wÒÙ™g n×&;Ñ&;¸YÔGñ 
�×%Ñ%×-Ñ-¸ÀBÔ	Gð :<ØØ,0ð	&à%ð	&ð 7ð	&ð ð		&ð
 *ð	&ð ò	&ó 
Hô	&ó	 H‹Mr&   Ú__c                  ó2  — e Zd Zd7d„Zd8d„Zd8d„Zd9d„Zd9d„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dAd„ZdBd„ZdCd„Zej$                  dk(  ses eej*                  d«      rdDd„ZdEd„Z	 	 	 	 	 	 	 	 dFd„ZedGd„«       ZedHd„«       Zed8d„«       ZedBd„«       ZdId„ZdJd„ZdKd„Z dLd„Z!dMd„Z"dBd„Z#dKd „Z$	 	 	 	 	 	 dNd!„Z%	 	 	 	 	 	 	 	 	 	 dOd"„Z& e'ej*                  jP                  e)jT                  «      Z+dPd#„Z(dLd$„Z,erdQdRd%„Z- e'ej*                  jZ                  e)jT                  «      Z-er	 	 dS	 	 	 	 	 	 	 dTd&„Z. e'ej*                  j\                  e)jT                  «      Z.er	 dQ	 	 	 	 	 dUd'„Z/ e'ej*                  j^                  e)jT                  «      Z/er	 	 dS	 	 	 	 	 	 	 dVd(„Z0 e'ej*                  j`                  e)jT                  «      Z0ej$                  dk7  sesL eej*                  d)«      r9er	 	 dS	 	 	 	 	 	 	 dWd*„Z1 e'ej*                  jb                  e)jT                  d+¬,«      Z1ej$                  dk7  sesL eej*                  d-«      r9er	 	 dS	 	 	 	 	 	 	 dXd.„Z2 e'ej*                  jd                  e)jT                  d+¬,«      Z2erdQdYd/„Z3 e'ej*                  jf                  e)jH                  «      Z3e	 	 	 	 	 	 dZd0„«       Z4e	 	 	 	 	 	 	 	 d[d1„«       Z4 e5ej*                  jh                  d2d2¬3«      d\d4„«       Z4ej$                  dk7  sesH eej*                  d5«      r4 e5ej*                  jl                  d2d2¬3«      	 	 	 d]	 	 	 	 	 	 	 	 	 d^d6„«       Z6yyy)_rt   c                óÐ   — t        |«      t        j                  ur"t        dt        |«      j                  › d�«      ‚|| _        | j
                  j                  d«       d| _        y )Nz.expected object of type 'socket.socket', not 'ú'F)rh   rT   r‹   r½   rB   Ú_sockÚsetblockingÚ_did_shutdown_SHUT_WR)r"   ru   s     r$   r%   z_SocketType.__init__  s^   € Ü�‹:œ^×2Ñ2Ñ2ô Ø@ÄÀdÃ×ATÑATÐ@UÐUVÐWóð ð ˆŒ
Ø�
‰
×Ñ˜uÔ%Ø%*ˆÕ"r&   c                ó6   — | j                   j                  «       S r    )rs  r˜   r0   s    r$   r˜   z_SocketType.detach#  ó   € Ø�z‰z× Ñ Ó"Ð"r&   c                ó6   — | j                   j                  «       S r    )rs  rŒ   r0   s    r$   rŒ   z_SocketType.fileno&  rw  r&   c                ó6   — | j                   j                  «       S r    )rs  rÓ   r0   s    r$   rÓ   z_SocketType.getpeername)  ó   € Ø�z‰z×%Ñ%Ó'Ð'r&   c                ó6   — | j                   j                  «       S r    )rs  rÕ   r0   s    r$   rÕ   z_SocketType.getsockname,  rz  r&   c                 ó   — y r    rE   r×   s      r$   r—   z_SocketType.getsockopt/  rÚ   r&   c                 ó   — y r    rE   rÜ   s       r$   r—   z_SocketType.getsockopt2  rÞ   r&   Nc                óx   — |€| j                   j                  ||«      S | j                   j                  |||«      S r    )rs  r—   rÜ   s       r$   r—   z_SocketType.getsockopt5  s9   € ð ˆ>Ø—:‘:×(Ñ(¨°Ó8Ð8Ø�z‰z×$Ñ$ U¨G°VÓ<Ð<r&   c                 ó   — y r    rE   râ   s       r$   rä   z_SocketType.setsockopt?  rå   r&   c                 ó   — y r    rE   rç   s        r$   rä   z_SocketType.setsockoptB  ré   r&   c                ó¸   — |€*|€t        d«      ‚| j                  j                  |||«      S |�t        d|›d�«      ‚| j                  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½   rs  rä   rç   s        r$   rä   z_SocketType.setsockoptK  sv   € ð ˆ>Øˆ}ÜØaóð ð —:‘:×(Ñ(¨°¸Ó?Ð?ØÐÜØ6°u°iÐ?dÐeóð ð �z‰z×$Ñ$ U¨G°U¸FÓCÐCr&   rë   c                ó8   — | j                   j                  |«      S r    )rs  rï   rí   s     r$   rï   z_SocketType.listena  s   € Ø�z‰z× Ñ  Ó)Ð)r&   c                ó6   — | j                   j                  «       S r    )rs  rñ   r0   s    r$   rñ   z_SocketType.get_inheritabled  s   € Ø�z‰z×)Ñ)Ó+Ð+r&   c                ó8   — | j                   j                  |«      S r    )rs  rõ   ró   s     r$   rõ   z_SocketType.set_inheritableg  s   € Ø�z‰z×)Ñ)¨+Ó6Ð6r&   r   rö   c                ó8   — | j                   j                  |«      S r    )rs  rö   rø   s     r$   rö   z_SocketType.sharen  s   € Ø—:‘:×#Ñ# JÓ/Ð/r&   c                ó   — | S r    rE   r0   s    r$   rû   z_SocketType.__enter__q  s   € Øˆr&   c                ó<   — | j                   j                  |||«      S r    )rs  rý   r4   s       r$   rý   z_SocketType.__exit__t  s   € ð �z‰z×"Ñ" 8¨Y¸	ÓBÐBr&   c                ó.   — | j                   j                  S r    )rs  rg   r0   s    r$   rg   z_SocketType.family|  s   € à�z‰z× Ñ Ð r&   c                ó.   — | j                   j                  S r    )rs  rh   r0   s    r$   rh   z_SocketType.type€  s   € à�z‰z�‰Ðr&   c                ó.   — | j                   j                  S r    )rs  ri   r0   s    r$   ri   z_SocketType.proto„  s   € à�z‰z×ÑÐr&   c                ó   — | j                   S r    )ru  r0   s    r$   r  z _SocketType.did_shutdown_SHUT_WRˆ  s   € à×)Ñ)Ð)r&   c                óL   — t        | j                  «      j                  dd«      S )Nzsocket.socketztrio.socket.socket)Úreprrs  Úreplacer0   s    r$   r  z_SocketType.__repr__Œ  s   € Ü�D—J‘JÓ×'Ñ'¨Ð9MÓNÐNr&   c                óH   — t        | j                  j                  «       «      S )z"Same as :meth:`socket.socket.dup`.)rt   rs  r  r0   s    r$   r  z_SocketType.dup�  s   € ä˜4Ÿ:™:Ÿ>™>Ó+Ó,Ð,r&   c                óÆ   — | j                   j                  «       dk7  rDt        j                  j	                  | j                   «       | j                   j                  «        y y )Néÿÿÿÿ)rs  rŒ   r-   r.   Únotify_closingr	  r0   s    r$   r	  z_SocketType.close“  sB   € Ø�:‰:×ÑÓ "Ò$Ü�M‰M×(Ñ(¨¯©Ô4Ø�J‰J×ÑÕð %r&   c              ƒ  óª  K  — | j                  |d¬«      ƒ d {  –—† }t        t        d«      r^| j                  t        j                  k(  rA|d   r<t
        j                  j                  | j                  j                  |«      ƒ d {  –—† S t
        j                  j                  «       ƒ d {  –—†  | j                  j                  |«      S 7 Œ³7 ŒG7 Œ#­w)NT©rÃ   r­   r   )rÈ   rµ   rT   rg   r­   r-   rc   rd   rs  r  r.   Ú
checkpointr  s     r$   r  z_SocketType.bind˜  s£   è ø€ Ø×2Ñ2°7À$Ð2ÓG×Gˆä”N IÔ.Ø—‘œ~×5Ñ5Ò5Ø˜’
ô Ÿ™×0Ñ0°·±·±À'ÓJ×JÐJô —-‘-×*Ñ*Ó,×,Ð,Ø—:‘:—?‘? 7Ó+Ð+ð Høð Køð -ús4   ‚C™CšA-CÂCÂ%CÂ-CÂ. CÃCÃCc                óŽ   — | j                   j                  |«       |t        j                  t        j                  fv rd| _        y y )NT)rs  r  rT   ÚSHUT_WRÚ	SHUT_RDWRru  r  s     r$   r  z_SocketType.shutdownª  s;   € à�
‰
×Ñ˜DÔ!à”N×*Ñ*¬N×,DÑ,DÐEÑEØ)-ˆDÕ&ð Fr&   c                ó<  — t         j                  dk(  r2t        j                  | j                  gg g d«      \  }}}t	        |«      S t        j
                  «       }|j                  | j                  t        j                  «       t	        |j                  d«      «      S )Nr   r   )r•   r–   Úselectrs  r=   ÚpollÚregisterÚPOLLIN)r"   ÚrreadyrÄ   Úps       r$   r  z_SocketType.is_readable±  sk   € ä�<‰<˜7Ò"Ü!Ÿ=™=¨$¯*©*¨°r¸2¸qÓA‰LˆF�A�qÜ˜“<ÐÜ�K‰K‹MˆØ	�
‰
�4—:‘:œvŸ}™}Ô-Ü�A—F‘F˜1“I‹Ðr&   c              ƒ  ó^   K  — t        j                  | j                  «      ƒ d {  –—†  y 7 Œ­wr    )r   r  rs  r0   s    r$   r  z_SocketType.wait_writableº  s   è ø€ Ü×!Ñ! $§*¡*Ó-×-Ò-ús   ‚#-¥+¦-c             ƒ  ó,  K  — | j                   t        j                  k(  r9| j                  j	                  t        j
                  t        j                  «      }nd}t        | j                  | j                   | j                  |||¬«      ƒ d {  –—† S 7 Œ­w)NF)rÁ   rÂ   rÃ   )
rg   rT   r´   rs  r—   ÚIPPROTO_IPV6ÚIPV6_V6ONLYrÈ   rh   ri   )r"   rÂ   rÃ   rÁ   s       r$   rÈ   z!_SocketType._resolve_address_nocp½  s|   è ø€ ð �;‰;œ.×1Ñ1Ò1ØŸ*™*×/Ñ/Ü×+Ñ+Ü×*Ñ*ó‰Kð
  ˆKÜ*Ø�I‰IØ�K‰KØ�J‰JØ#ØØô
÷ 
ð 	
ð 
ús   ‚BBÂBÂBc              �  ó6  K  — t        «       4 ƒd {  –—†   || j                  g|¢­i |¤Žcd d d «      ƒd {  –—†  S 7 Œ+7 Œ# 1 ƒd {  –—†7  sw Y   nxY w	  || j                  «      ƒ d {  –—†7   	  || j                  g|¢­i |¤ŽS # t        $ r Y nw xY wŒB­wr    )r   rs  r)   )r"   r¢   r¡   rŸ   r    s        r$   rž   z_SocketType._nonblocking_helperÙ  sŸ   è ø€ ô8 “;÷ 	3ñ 	3Ù�d—j‘jÐ2 4Ò2¨6Ñ2÷	3÷ 	3ò 	3øð 	3ø÷ 	3÷ 	3ñ 	3úð Ù˜$Ÿ*™*Ó%×%Ñ%ðÙ˜$Ÿ*™*Ð6 tÒ6¨vÑ6Ð6øÜ"ò Ùðúð	 ùsn   ‚B‘=’B•A«B·?¸B¿BÁAÁA
ÁAÁBÁ,A/Á-BÁ3B	 ÂBÂ		BÂBÂBÂBc              ƒ  ó^   K  — | j                  «       ƒ d{  –—† \  }}t        |«      |fS 7 Œ­w)z-Like :meth:`socket.socket.accept`, but async.N)Ú_acceptrv   )r"   ru   Úaddrs      r$   r  z_SocketType.accept  s-   è ø€ àŸ<™<›>×)‰
ˆˆdÜ! $Ó'¨Ð-Ð-ð *ús   ‚-–+—-c           	   ƒ  ór  K  — 	 | j                  |d¬«      ƒ d {  –—† }t        «       4 ƒd {  –—†  | j                  j                  |«      cd d d «      ƒd {  –—†  S 7 ŒC7 Œ27 Œ	# 1 ƒd {  –—†7  sw Y   nxY wt	        j
                  | j                  «      ƒ d {  –—†7   n2# t        j                  $ r | j                  j                  «        ‚ w xY w| j                  j                  t        j                  t        j                  «      }|dk7  r%t        |d|›dt        j                  |«      › �«      ‚y ­w)NFr”  r   zError connecting to z: )rÈ   r   rs  r  r   r  r-   Ú	Cancelledr	  r—   rT   r”   ÚSO_ERRORr¼   r·   Ústrerror)r"   rÂ   Úerrs      r$   r  z_SocketType.connect  s  è ø€ ð
;	Ø ×6Ñ6°wÀeÐ6ÓL×LˆGÜ “{÷ 03ñ 03ð` —z‘z×)Ñ)¨'Ó2÷a03÷ 03ñ 03ð Møð03øð 03ø÷ 03÷ 03ñ 03úôf ×%Ñ% d§j¡jÓ1×1Ò1øÜ�~‰~ò 	ð �J‰J×ÑÔØð	úð �j‰j×#Ñ#¤N×$=Ñ$=¼~×?VÑ?VÓWˆØ�!Š8Ü˜#Ð!5°g°[ÀÄ2Ç;Á;ÈsÓCSÐBTÐUÓVÐVð ùs„   ‚D7„B" šA›B" ­A ®B" ±A$ÁB" ÁA"ÁB" ÁD7ÁB" Á B" Á"B" Á$A6Á*A-Á+A6Á2)B" ÂBÂB" Â!D7Â"/CÃA&D7c                ó   — y r    rE   r  s      r$   r  z_SocketType.recva  ó   � r&   c                ó   — y r    rE   r  s       r$   r"  z_SocketType.recv_inton  s   € ð !r&   c                ó   — y r    rE   r$  s      r$   r&  z_SocketType.recvfrom�  s   € ð
 69r&   c                ó   — y r    rE   r  s       r$   r(  z_SocketType.recvfrom_into“  s   € ð 47r&   r)  c                ó   — y r    rE   r+  s       r$   r)  z_SocketType.recvmsg©  s	   € ð VYr&   T)r¨   r.  c                ó   — y r    rE   r0  s       r$   r.  z_SocketType.recvmsg_intoÀ  s	   € ð TWr&   c                ó   — y r    rE   r3  s      r$   r4  z_SocketType.sendÔ  r®  r&   c             ƒ  ó   K  — y ­wr    rE   r6  s      r$   r8  z_SocketType.sendtoß  r9  r:  c             ƒ  ó   K  — y ­wr    rE   r<  s       r$   r8  z_SocketType.sendtoç  r=  r:  rE   rw   c              ‡  óî   K  — t        |«      }| j                  |d   d¬«      ƒ d{  –—† |d<    | j                  t        j                  t
        j                  j                  g|¢­Ž ƒ d{  –—† S 7 ŒI7 Œ­w)z3Similar to :meth:`socket.socket.sendto`, but async.r‘  Fr”  N)rÀ   rÈ   rž   r   r  rT   r‹   r8  )r"   rŸ   Ú	args_lists      r$   r8  z_SocketType.sendtoð  s{   è ø€ ô
 ˜“Jˆ	Ø"×8Ñ8¸¸b¹ÈÐ8ÓO×Oˆ	�"‰ð .�T×-Ñ-Ü×ÑÜ×!Ñ!×(Ñ(ð
ð ò
÷ 
ð 	
ð Pøð
ús"   ‚%A5§A1¨AA5Á,A3Á-A5Á3A5r?  c             ƒ  óÔ   K  — |�| j                  |d¬«      ƒ d{  –—† }| j                  t        j                  t        j
                  j                  ||||«      ƒ d{  –—† S 7 ŒH7 Œ­w)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  rT   r‹   r?  rA  s        r$   r?  z_SocketType.sendmsg  sn   è ø€ ð Ð"Ø $× :Ñ :¸7È%Ð :Ó P×P�Ø×1Ñ1Ü×#Ñ#Ü×%Ñ%×-Ñ-ØØØØó÷ ð ð Qøðús"   ‚A(›A$œAA(ÁA&Á A(Á&A()ru   ú_stdlib_socket.socketr9   r:   rC  rD  rE  rF  r    rG  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  r>   rV  rW  )rÂ   r   rÃ   r=   r9   r   )
r¢   ú2Callable[[_stdlib_socket.socket], Awaitable[None]]r¡   ú2Callable[Concatenate[_stdlib_socket.socket, P], T]rŸ   r¤   r    r¥   r9   r   rX  rY  rZ  r[  r\  r^  r_  r`  ra  rc  rd  rf  rg  ri  rj  )7rB   rC   rD   r%   r˜   rŒ   rÓ   rÕ   r   r—   rä   rk  rT   rl  rï   rñ   rõ   r•   r–   r   rµ   r‹   rö   rû   rý   rm  rg   rh   ri   r  r  r  r	  r  r  r  r  rÈ   rž   r©   r  r   Úwait_readabler¦  r  r  r"  r&  r(  r)  r.  r4  r8  r¦   r?  rE   r&   r$   rt   rt     sø  „ ó	+ó #ó#ó(ó(ð Ú>ó Ø>àÚMó ØMð "ð	=àð=ð ð=ð ð	=ð
 
ó=ð ÚTó ØTàðàðð ðð ð	ð
 ðð 
òó ðð "ðDàðDð ðDð #ð	Dð
 ðDð 
óDñ, %(¨×(@Ñ(@À#Ó$Fô *ó,ó7ð ‡|�|�wÒÙ™g n×&;Ñ&;¸WÔEó	0óðCà,ðCð (ðCð (ð	Cð
 
óCð ò!ó ð!ð òó ðð ò ó ð ð ò*ó ð*óOó-óó
,ó$.óó.ð
àð
ð ð	
ð
 
ó
ð8$àCð$ð ?ð$ð ð	$ð
 ð$ð 
ó$ñT /Ø×Ñ×$Ñ$Ø×Ñó€Gó
.óDWñ\ äOá+Ø×Ñ×"Ñ"Ø×Ñó€Dñ ð Øð	!ð ð	!ð ð		!ð
 ð	!ð ó	!ñ 1Ø×Ñ×'Ñ'Ø×Ñó€Iñ ð
 ð	9àð	9ð ð	9ð
 4ó	9ñ 0Ø×Ñ×&Ñ&Ø×Ñó€Hñ ð Øð	7ð ð	7ð ð		7ð
 ð	7ð 2ó	7ñ 5Ø×Ñ×+Ñ+Ø×Ñó€Mð ‡|�|�wÒÙ™g n×&;Ñ&;¸YÔGáð
 #$Øð	YàðYð  ðYð ð	Yð TóYñ 3Ø×!Ñ!×)Ñ)Ø×ÑØô
ˆð ‡|�|�wÒÙ™g n×&;Ñ&;¸^ÔLáð
 #$Øð	Wà)ðWð  ðWð ð	Wð RóWñ 8Ø×!Ñ!×.Ñ.Ø×ÑØô
ˆñ äOá+Ø×Ñ×"Ñ"Ø×Ñó€Dð ðàðð 3ðð
 
òó ðð ðàðð ðð 3ð	ð 
òó ðñ ˆN×!Ñ!×(Ñ(°2¸rÔBò
ó Cð
ð$ ‡|�|�wÒÙ™g n×&;Ñ&;¸YÔGñ 
�×%Ñ%×-Ñ-¸ÀBÔ	Gð :<ØØ,0ð	à%ð	ð 7ð	ð ð		ð
 *ð	ð ò	ó 
Hñ	ð	 HˆMr&   rt   )rF   úHostnameResolver | Noner9   r¾  )rH   úSocketFactory | Noner9   r¿  )r   r   r   r   )re   zbytes | str | Nonerf   zbytes | str | int | Nonerg   rº   rh   rº   ri   rº   rj   rº   r9   zqlist[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]])rn   z+tuple[str, int] | tuple[str, int, int, int]rj   rº   r9   ztuple[str, str])rq   r_   r9   rº   )ru   rº  r9   rr   )
r}   r
   rg   úAddressFamily | intrh   úSocketKind | intri   rº   r9   rr   )r‚   r¶   r9   rr   )rg   rƒ   rh   r„   ri   rº   r9   ztuple[SocketType, SocketType])
rg   rÀ  rh   rÁ  ri   rº   rŒ   rH  r9   rr   )
rg   rÀ  r~   rÁ  ri   rº   rŒ   rH  r9   z1tuple[AddressFamily | int, SocketKind | int, int])F)r¡   r¼  r¢   r»  r¨   r=   r9   z3Callable[Concatenate[_SocketType, P], Awaitable[T]])r~   rº   rg   r   ri   rº   rÁ   z
bool | intrÂ   r   rÃ   r=   r9   r   )RÚ
__future__r   r·   rš  r‹   rT   r•   Úoperatorr   r   r   Útypingr   r   r	   r
   r   r   r   Úidnarb   r-   Ú
trio._utilr   r¦   r®   r   Úcollections.abcr   r   r   Útypesr   Útyping_extensionsr   r   r   Ú_abcr   r   r   r   r   Ú__annotations__r   ÚRunVarrG   rI   rN   rP   ÚAI_NUMERICHOSTr^   Úgetattrr]   rm   rp   rv   r|   r°   ÚSOCK_STREAMr–   rµ   r€   rº   rƒ   r„   r…   r‡   r{   Ú_SOCK_TYPE_MASKr©   rÈ   rr   Ú__dict__Úitemsrq   ÚobjÚ
startswithr§   Ústdlib_typeÚ
stdlib_objrt   rE   r&   r$   ú<module>r×     sÊ  ðÞ "ã 	Û Û Û 
Ý ß ,÷÷ ñ ó ã Ý &å áß=Ñ=Ý#ç9Ñ9ç5á�#‹€Añ ˆCƒL€ð €ˆyÓ ÷ñ ðH 4@°5·<±<Ð@SÓ3T€	Ð0Ó TØ6B°e·l±lÐCSÓ6T€Ð3Ó TðØ.ðàóðDØ(ðàóðF ×-Ñ-€Ø ‘˜Ð)9¸1Ó=Ñ =€ð ØØØðP
Ø
ðP
à
"ðP
ð ðP
ð ð	P
ð
 ðP
ð ðP
ðóP
ðf
Ø9ð
àð
ð ó
ó2
ó*ñ ˆ×Ñ¨°BÔ7ð #1×"8Ñ"8Ø+×7Ñ7Øð	OØðOàðOð ðOð ð	Oð
 òOó 8ðOð ‡<�<�7ÒÙ™' .°+Ô>ñ ˆN×$Ñ$¨r¸2Ô>òBó ?ðBð
 ‡<�<�7ÒØ€GˆYÓØ€Eˆ9ÓØ"×*Ñ*�Mà€M�4ÓØ˜}Ñ,¨tÑ3€GˆYÓ3Ø%×,Ñ,¨sÑ2€Eˆ9Ó2ñ ˆ×!Ñ!¨B¸Ô;à#Ø×(Ñ(Øð
AØð
Aà
ð
Að ð
Að #ò	
Aó <ð
Añ ˆ×Ñ¨°BÔ7à"0×"8Ñ"8Ø+×7Ñ7ØØð	-Øð-à
ð-ð ð-ð ð	-ð
 ò-ó 8ð-ð6 Øð àð ð ð ð ð	 ð
 7ó ñT ˆN˜O¨QÓ/Ùˆn˜n¨aÓ0ñ1ð€ð ðØ:ðà?ðð ðð 9ó	ðNGØðGàðGð ðGð
 ðGð ðGð ðGð óG÷T^&ñ ^&ðD ×$Ñ$×*Ñ*Ó,ò %�I€Dˆ#à‡��tÔ §¢Øà%×,Ñ,¨n×.GÑ.GÐGò ˆÙ˜[¨$°Ó5ˆ
Ú˜*×,Ó,Ùðð
 	Ø×$Ñ$€C…Kð%ôM�*õ Mr&   