Ë
    bQbjˆ®  ã                  ó¢  — 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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 d dlZd dlZddlmZmZ ddlmZmZmZmZ dd	lmZmZmZmZm Z  dd
l!m"Z"m#Z# er\d dl$m%Z% ddl&m'Z' e(eee)e*e(e*e)f   e(e*e)e)e)f   z  e(e)e+f   z  f   Z,de-d<   e.e,   Z/de-d<   e(e*e+z  dz  e*e+z  e)z  dz  e)e)e)e)f   Z0de-d<   n	de-d<   e1Z/e1Z0 G d„ d«      Z2ejf                  dNd„«       Z4dOd„Z5dOd„Z6dPd„Z7dOd„Z8dOd„Z9dOd„Z:dOd„Z;ejx                  j{                   e>ed«       d¬«      dOd„«       Z?dOd „Z@edOd!„«       ZAejx                  j{                  ej„                  d"k7  d#¬«      dOd$„«       ZCdOd%„ZDdOd&„ZEdQd'„ZFdOd(„ZGdOd)„ZHejx                  j“                  d*d+ej”                  f ej–                  d,ej˜                  e¬-«      g«      	 	 	 	 	 	 dRd.„«       ZMdOd/„ZNdSd0„ZO ej                   d1¬2«       G d3„ d4«      «       ZQejx                  j“                  d5ej”                   eQd6d+d7d8¬9«      f ej–                  ej˜                   eQd:d,d;d<¬9«      e¬-«      g«      dTd=„«       ZRdOd>„ZSdOd?„ZTedOd@„«       ZUedOdA„«       ZVdOdB„ZWdOdC„ZXdPdD„ZYdOdE„ZZdPdF„Z[dOdG„Z\dOdH„Z]ejx                  j{                   e>edI«       dJ¬«      dOdK„«       Z^dOdL„Z_dOdM„Z`y)Ué    )ÚannotationsN)ÚPath)ÚAddressFamilyÚ
SocketKind)ÚTYPE_CHECKINGÚ	TypeAliasÚcasté   )Ú_coreÚsocket)Ú
binds_ipv6Úcan_create_ipv6Úcreates_ipv6Úslow)Ú_NUMERIC_ONLYÚAddressFormatÚ
SocketTypeÚ_SocketTypeÚ	_try_sync)Úassert_checkpointsÚwait_all_tasks_blocked)ÚCallable)ÚSocketStreamr   ÚGaiTupleÚGetAddrInfoResponseÚGetAddrInfoArgsÚobjectc                  ó¨   — e Zd ZdZ	 	 	 	 dd„Z	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 d	d„Z	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d
d„Z	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zy)ÚMonkeypatchedGAI©Ú_orig_getaddrinfoÚ
_responsesÚrecordc                ó.   — || _         i | _        g | _        y ©Nr    )ÚselfÚorig_getaddrinfos     úJ/var/www/html/venv/lib/python3.12/site-packages/trio/_tests/test_socket.pyÚ__init__zMonkeypatchedGAI.__init__7   s!   € ð "2ˆÔð ð 	Œð .0ˆ�ó    c                óÆ   — t        j                  | j                  «      }|j                  ||||||¬«      }|j	                  «        |j
                  }	|j                  rJ ‚|	S ©N©ÚfamilyÚtypeÚprotoÚflags)ÚinspectÚ	signaturer!   ÚbindÚapply_defaultsÚargsÚkwargs)
r&   ÚhostÚportr.   r/   r0   r1   ÚsigÚboundÚfrozenbounds
             r(   Ú_frozenbindzMonkeypatchedGAI._frozenbindF   s]   € ô ×Ñ × 6Ñ 6Ó7ˆØ—‘˜˜t¨F¸ÀUÐRW�ÓXˆØ×ÑÔØ—j‘jˆØ—<’<ÐÐØÐr*   c           
     óL   — || j                   | j                  ||||||¬«      <   y r,   )r"   r=   )r&   Úresponser8   r9   r.   r/   r0   r1   s           r(   ÚsetzMonkeypatchedGAI.setV   s:   € ð& ð 	�‰Ø×ÑØØØØØØð ó ò		
r*   c                ó  — | j                  ||||||«      }| j                  j                  |«       || j                  v r| j                  |   S |t        j
                  z  r| j                  ||||||«      S t        d|› �«      ‚)Nz%gai called with unexpected arguments )r=   r#   Úappendr"   Ústdlib_socketÚAI_NUMERICHOSTr!   ÚRuntimeError)r&   r8   r9   r.   r/   r0   r1   r;   s           r(   ÚgetaddrinfozMonkeypatchedGAI.getaddrinfok   s‡   € ð × Ñ   t¨V°T¸5À%ÓHˆØ�‰×Ñ˜5Ô!Ø�D—O‘OÑ#Ø—?‘? 5Ñ)Ð)Ø”]×1Ñ1Ò1Ø×)Ñ)¨$°°f¸dÀEÈ5ÓQÐQäÐ!FÀuÀgÐNÓOÐOr*   N)r'   zaCallable[[str | bytes | None, str | bytes | int | None, int, int, int, int], GetAddrInfoResponse]ÚreturnÚNone)r   r   r   r   )r8   ústr | bytes | Noner9   ústr | bytes | int | Noner.   Úintr/   rK   r0   rK   r1   rK   rG   r   )r?   úGetAddrInfoResponse | strr8   rI   r9   rJ   r.   rK   r/   rK   r0   rK   r1   rK   rG   rH   )r8   rI   r9   rJ   r.   rK   r/   rK   r0   rK   r1   rK   rG   rL   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r)   r=   r@   rF   © r*   r(   r   r   4   s7  „ Ø=€Ið0ð
ð0ð 
ó0ð& ØØØðà ðð 'ðð ð	ð
 ðð ðð ðð 
óð* ØØØðà+ðð !ðð 'ð	ð
 ðð ðð ðð ðð 
óð2 ØØØðPà ðPð 'ðPð ð	Pð
 ðPð ðPð ðPð 
#ôPr*   r   c                óz   — t        t        j                  «      }| j                  t        d|j                  «       |S )NrF   )r   rC   rF   Úsetattr)ÚmonkeypatchÚ
controllers     r(   Ú	monkeygairV   ~   s0   € ä!¤-×";Ñ";Ó<€JØ×Ñœ }°j×6LÑ6LÔMØÐr*   c            	   ƒ  óˆ  K  — t        «       5  t        «       4 ƒd {  –—†  	 d d d «      ƒd {  –—†  d d d «       t        «       5  t        j                  t        «      5  t        «       4 ƒd {  –—†  t        ‚7 Œ[7 ŒL# 1 ƒd {  –—†7  sw Y   Œ\xY w# 1 sw Y   Œ`xY w7 Œ/# 1 ƒd {  –—†7  sw Y   nxY w	 d d d «       n# 1 sw Y   nxY wd d d «       n# 1 sw Y   nxY wt        «       4 ƒd {  –—†7   t
        ‚# 1 ƒd {  –—†7  sw Y   nxY wdd„} t        | «      4 ƒd {  –—†7   t        ‚# 1 ƒd {  –—†7  sw Y   nxY wt        «       5  t        j                  t
        «      5  t        | «      4 ƒd {  –—†7   t
        ‚# 1 ƒd {  –—†7  sw Y   nxY w	 d d d «       n# 1 sw Y   nxY wd d d «       y # 1 sw Y   y xY w­w)Nc                ó"   — t        | t        «      S r%   )Ú
isinstanceÚ
ValueError)Úexcs    r(   Ú_is_ValueErrorz&test__try_sync.<locals>._is_ValueError’   s   € Ü˜#œzÓ*Ð*r*   )r[   ÚBaseExceptionrG   Úbool)r   r   ÚpytestÚraisesÚKeyErrorÚBlockingIOErrorrZ   )r\   s    r(   Útest__try_syncrc   …   s†  è ø€ Ü	Ó	ñ Ü“;÷ 	ñ 	Ø÷	÷ 	÷ô 
Ó	ñ Ü�]‰]œ8Ó$ñ 	Ü “{÷ ñ Ü�ð	øð 	ø÷ 	÷ 	ñ 	ú÷ð úðø÷ ÷ ñ úð ÷	÷ 	ñ 	ú÷÷ ñ úô
 ‹{÷ ò ÜÐ÷÷ ñ úó+ô ˜Ó(÷ ò ÜÐ÷÷ ñ úô 
Ó	ñ &Ü�]‰]œ?Ó+ñ 	&Ü  Ó0÷ &ò &Ü%Ð%÷&÷ &ñ &úð &÷	&÷ 	&ñ 	&ú÷&÷ &ñ &üsk  ‚G�BœA8�B A<¢B­A:®B²GÁCÁB>Á-B
Á.B>Á1BÁ8BÁ:BÁ<B	ÂBÂB	Â
BÂBÂGÂB>ÂB1Â%B(Â&B1Â-B>Â5	CÂ>C	ÃCÃ
	GÃCÃGÃ-C0Ã.GÃ2C9Ã9DÃ?DÄ DÄGÄ!D$Ä"GÄ&D-Ä-D?Ä3D6Ä4D?Ä;GÅF6Å&F!Å6E9
Å7F!Å;FÆFÆFÆ	FÆF!Æ	F6Æ!F*	Æ&F6Æ-	GÆ6F?Æ;Gc                 ó  — t         j                  t        j                  k(  sJ ‚t         j                  t        j                  k(  sJ ‚t         j                  t        j                  k(  sJ ‚t         j
                  t        j
                  k(  sJ ‚y r%   )ÚtsocketÚ
SOL_SOCKETrC   ÚTCP_NODELAYÚgaierrorÚntohsrQ   r*   r(   Útest_socket_has_some_reexportsrj   £   sh   € Ü×Ñ¤×!9Ñ!9Ò9Ð9Ð9Ü×Ñ¤-×";Ñ";Ò;Ð;Ð;Ü×Ñœ}×5Ñ5Ò5Ð5Ð5Ü�=‰=œM×/Ñ/Ò/Ð/Ñ/r*   c           	   ƒ  óè  K  — dd„}t        «       5  t        j                  ddt        j                  ¬«      ƒ d {  –—† }d d d «        |t        j                  t        j                  t        j
                  ddfg«       t        «       5  t        j                  ddt        j                  ¬«      ƒ d {  –—† }d d d «        ||t        j                  t        j                  t        j                  ddfg«       | j                  d	d
ddddd¬«       t        «       5  t        j                  dd«      ƒ d {  –—† }d d d «       |d	k(  sJ ‚| j                  d   dk(  sJ ‚t        «       5  t        j                  t        j                  «      5 }t        j                  ddd¬«      ƒ d {  –—†  d d d «       d d d «       t        j                  h}|j                  t        j                   «       t#        t        d«      r|j                  t        j$                  «       j&                  j(                  |v sJ ‚t        «       5  t        j                  t*        «      5  t        j                  dd«      ƒ d {  –—†  d d d «       d d d «       y 7 �ŒP# 1 sw Y   �ŒPxY w7 �Œæ# 1 sw Y   �ŒæxY w7 �Œt# 1 sw Y   �ŒtxY w7 �Œ# 1 sw Y   �ŒxY w# 1 sw Y   �ŒxY w7 Œb# 1 sw Y   ŒaxY w# 1 sw Y   y xY w­w)Nc                óP   ‡— 	 	 	 	 dd„Š	 	 	 	 dˆfd„} || «       ||«      k(  sJ ‚y )Nc                ó   — | \  }}}}}|||fS r%   rQ   )Úgai_tupr.   Útype_Ú_protoÚ
_canonnameÚsockaddrs         r(   Úinteresting_fieldsz;test_getaddrinfo.<locals>.check.<locals>.interesting_fields¶   s"   € ð ;BÑ7ˆF�E˜6 :¨xØ˜E 8Ð,Ð,r*   c                ó:   •— | D �cg c]
  } ‰|«      ‘Œ c}S c c}w r%   rQ   )Úgai_listrn   rs   s     €r(   Úfilteredz1test_getaddrinfo.<locals>.check.<locals>.filteredÁ   s!   ø€ ð @HÖH°GÑ& wÕ/ÒHÐHùÒHs   †)rn   r   rG   zatuple[AddressFamily, SocketKind, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]])ru   r   rG   zglist[tuple[AddressFamily, SocketKind, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]]rQ   )ÚgotÚexpectedrv   rs   s      @r(   Úcheckztest_getaddrinfo.<locals>.check°   sM   ø€ ð		-Øð		-ð
ó		-ð		IØ)ð		Ið
õ		Iñ ˜‹}¡¨Ó 2Ò2Ð2Ñ2r*   ú	127.0.0.1Ú12345©r/   Ú )rz   é90  ú::1)r   r~   r   r   Úxó   hostr9   r   r-   r8   éÿÿÿÿ)r�   r9   r   r   r   r   ÚEAI_BADHINTSÚasdf)rw   r   rx   r   rG   rH   )r   re   rF   ÚSOCK_STREAMÚAF_INETÚIPPROTO_TCPÚ
SOCK_DGRAMÚAF_INET6ÚIPPROTO_UDPr@   r#   r_   r`   rh   ÚEAI_SOCKTYPEÚaddÚEAI_SERVICEÚhasattrrƒ   ÚvalueÚerrnorE   )rV   ry   ÚresÚexcinfoÚexpected_errnoss        r(   Útest_getaddrinfor”   ¯   sš  è ø€ ó3ô> 
Ó	ñ XÜ×'Ñ'¨°WÄ7×CVÑCVÔW×Wˆ÷Xñ 
Øô —‘Ü×#Ñ#Ü×#Ñ#ØØ$ðð	
ôô 
Ó	ñ QÜ×'Ñ'¨¨w¼W×=OÑ=OÔP×Pˆ÷Qá	Øô × Ñ Ü×"Ñ"Ü×#Ñ#ØØ$ðð	
ôð ‡M�M�#�w ¨q°qÀÈ€MÔKÜ	Ó	ñ 8Ü×'Ñ'¨°Ó7×7ˆ÷8à�#Š:Ðˆ:Ø×Ñ˜BÑÐ#@Ò@Ð@Ð@ô 
Ó	ñ ?Ü�]‰]œ7×+Ñ+Ó,ð 	?°Ü×%Ñ% e¨W¸2Ô>×>Ð>÷	?÷?ô ×+Ñ+Ð,€Oà×Ñœ×+Ñ+Ô,äŒw˜Ô'Ø×ÑœG×0Ñ0Ô1Ø�=‰=×Ñ /Ñ1Ð1Ð1ô
 
Ó	ñ 7Ü�]‰]œ<Ó(ñ 	7Ü×%Ñ% f¨gÓ6×6Ð6÷	7÷7ð 7ði Xù÷Xñ Xúð" Qù÷Qñ Qúð" 8ù÷8ñ 8úð ?ù÷	?ñ 	?ú÷?ñ ?úð" 7ø÷	7ð 	7ú÷7ð 7üs  ‚K2‘*J»J¼JÁ AK2Â*JÂ5JÂ6JÂ:A#K2ÄJ.Ä7J+Ä8J.Ä<-K2Å)$KÆJ>Æ)J;Æ*J>Æ.KÆ6BK2ÉK&ÉKÉ5KÉ6KÉ:K&Ê	K2ÊJÊJÊK2ÊJÊJ(Ê#K2Ê+J.Ê.J8Ê3K2Ê;J>Ê>K	ËKËKËK2ËKËK#	ËK&Ë&K/Ë+K2c               ƒ  ó   K  — t         j                  t         j                  z  } t        «       5  t	        j
                  d| «      ƒ d {  –—† }d d d «       dk(  sJ ‚t        «       5  t        j                  t        j                  «      5  t	        j
                  dd«      ƒ d {  –—†  d d d «       d d d «       t        «       5  t        j                  t        j                  «      5  t	        j
                  dd«      ƒ d {  –—†  d d d «       d d d «       t        j
                  dd«      \  }}t	        j
                  dd«      ƒ d {  –—† }|||fk(  sJ ‚t	        j
                  dt        j                  «      ƒ d {  –—† }|d|fk(  sJ ‚t	        j
                  dt        j                  «      ƒ d {  –—† }||dfk(  sJ ‚y 7 �Œy# 1 sw Y   �ŒyxY w7 �Œ-# 1 sw Y   �Œ-xY w# 1 sw Y   �Œ2xY w7 Œì# 1 sw Y   ŒëxY w# 1 sw Y   ŒïxY w7 Œ¿7 ŒŒ7 ŒY­w)	N)rz   iÒ  )rz   Ú1234)z
google.coméP   r   )Ú	localhostr—   ©rz   r—   rz   Ú80)	rC   ÚNI_NUMERICHOSTÚNI_NUMERICSERVr   re   Úgetnameinfor_   r`   rh   )Ú
ni_numericrw   r8   Úservices       r(   Útest_getnameinfor    	  sÜ  è ø€ ä×-Ñ-´×0LÑ0LÑL€JÜ	Ó	ñ IÜ×'Ñ'Ð(;¸ZÓH×Hˆ÷IàÐ'Ò'Ð'Ð'ô 
Ó	ñ =Ü�]‰]œ7×+Ñ+Ó,ñ 	=Ü×%Ñ%Ð&8¸!Ó<×<Ð<÷	=÷=ô 
Ó	ñ <Ü�]‰]œ7×+Ñ+Ó,ñ 	<Ü×%Ñ%Ð&7¸Ó;×;Ð;÷	<÷<ô
 "×-Ñ-Ð.?ÀÓC�M€Dˆ'ô ×#Ñ#Ð$5°qÓ9×
9€CØ�4˜�/Ò!Ð!Ð!ä×#Ñ#Ð$5´w×7MÑ7MÓN×
N€CØ�; Ð(Ò(Ð(Ð(ä×#Ñ#Ð$5´w×7MÑ7MÓN×
N€CØ�4˜�,ÒÐÑð/ Iù÷Iñ Iúð =ù÷	=ñ 	=ú÷=ñ =úð <ø÷	<ð 	<ú÷<ð <úð :øð Oøð Oúsâ   ‚,H®GÁGÁ	GÁHÁ&$G!Â
GÂ$GÂ%GÂ)G!Â1HÃ$G<Ã'G0ÄG.ÄG0ÄG<Ä:HÅHÅ	4HÅ=H
Å>4HÆ2HÆ3HÇGÇGÇ	HÇGÇG	ÇG!Ç!G+Ç&HÇ.G0Ç0G9	Ç5G<Ç<HÈHÈ
HÈHc               ƒ  óP  K  — t        j                  «       \  } }t        | t        j                  «      rJ ‚| 5  |5  t        j
                  | «      }t        |t        j                  «      sJ ‚| j                  «       |j                  «       k(  sJ ‚|j                  d«      ƒ d {  –—†  |j                  d«      dk(  sJ ‚	 d d d «       d d d «       t        j                  t        «      5  t        j
                  d«       d d d «        G d„ dt         j                  «      } |«       5 }t        j                  t        «      5  t        j
                  |«       d d d «       d d d «       y 7 ŒÃ# 1 sw Y   Œ«xY w# 1 sw Y   Œ¯xY w# 1 sw Y   Œ„xY w# 1 sw Y   Œ8xY w# 1 sw Y   y xY w­w)Nó   xé   c                  ó   — e Zd Zy)ú)test_from_stdlib_socket.<locals>.MySocketN)rM   rN   rO   rQ   r*   r(   ÚMySocketr¥   :  s   „ Ør*   r¦   )rC   Ú
socketpairrY   re   r   Úfrom_stdlib_socketÚfilenoÚsendÚrecvr_   r`   Ú	TypeErrorr   )ÚsaÚsbÚtar¦   Úmysocks        r(   Útest_from_stdlib_socketr±   ,  s^  è ø€ Ü×%Ñ%Ó'�F€BˆÜ˜"œg×0Ñ0Ô1Ð1Ð1Ø	ñ "ˆRñ "Ü×'Ñ'¨Ó+ˆÜ˜"œg×0Ñ0Ô1Ð1Ð1Ø�y‰y‹{˜bŸi™i›kÒ)Ð)Ð)Ø�g‰g�d‹m×ÐØ�w‰w�q‹z˜TÒ!Ð!Ñ!÷"÷ "ô 
�‰”yÓ	!ñ &Ü×"Ñ" 1Ô%÷&ô”=×'Ñ'ô ñ 
‹ð /�vÜ�]‰]œ9Ó%ñ 	/Ü×&Ñ& vÔ.÷	/÷/ð /ð 	ø÷	"ð "ú÷ "ð "ú÷&ð &ú÷	/ð 	/ú÷/ð /üsŽ   ‚6F&¸E6»A)E*Â$E(Â%E*Ã E6Ã!F&Ã)FÃ?(F&Ä'FÅFÅFÅ	F&Å(E*Å*E3	Å/E6Å6E?Å;F&ÆFÆF&ÆF	ÆFÆF#ÆF&c               ƒ  óö  K  — t        j                  «       \  } }t        j                  | j	                  «       | j
                  | j                  | j                  «      }| 5  |5  |5  |j	                  «       | j	                  «       k7  sJ ‚|j                  d«      ƒ d {  –—†  |j                  d«      dk(  sJ ‚	 d d d «       d d d «       d d d «       y 7 Œ4# 1 sw Y   ŒxY w# 1 sw Y   Œ xY w# 1 sw Y   y xY w­w)Nr¢   é   )
rC   r§   re   Úfromfdr©   r.   r/   r0   rª   r«   )r­   r®   r¯   s      r(   Útest_from_fdrµ   B  sÍ   è ø€ Ü×%Ñ%Ó'�F€BˆÜ	�‰˜Ÿ	™	› R§Y¡Y°·±¸¿¹Ó	B€BØ	ñ "ˆRñ "�ñ "Ø�y‰y‹{˜bŸi™i›kÒ)Ð)Ð)Ø�g‰g�d‹m×ÐØ�w‰w�q‹z˜TÒ!Ð!Ñ!÷"÷ "÷ "ð "àø÷"ð "ú÷ "ð "ú÷ "ð "üs`   ‚AC9Á C-Á#C!Á&8CÂC
ÂCÂ:C!ÃC-Ã
	C9ÃCÃCÃC!Ã!C*	Ã&C-Ã-C6Ã2C9c            	   ƒ  ór  K  — dd„} t        j                  «       \  }}|5  |5  t        j                  «       4 ƒd {  –—† }|j	                  | |«       |j	                  | |«       d d d «      ƒd {  –—†  d d d «       d d d «       y 7 ŒI7 Œ# 1 ƒd {  –—†7  sw Y   Œ'xY w# 1 sw Y   Œ+xY w# 1 sw Y   y xY w­w)Nc              “  ó˜   K  — t        d«       | j                  d«      ƒ d {  –—†  | j                  d«      ƒ d {  –—† dk(  sJ ‚y 7 Œ#7 Œ­w)Nzsending helloó   hr£   )Úprintrª   r«   )Úsocks    r(   Úchildz%test_socketpair_simple.<locals>.childL  sA   è ø€ ÜˆoÔØ�i‰i˜‹o×ÐØ—Y‘Y˜q“\×! TÒ)Ð)Ñ)ð 	øØ!ús   ‚ A
¢A£A
»A¼A
ÁA
)rº   r   rG   rH   )re   r§   r   Úopen_nurseryÚ
start_soon)r»   ÚaÚbÚnurserys       r(   Útest_socketpair_simplerÁ   K  s°   è ø€ ó*ô
 ×ÑÓ�D€A€qØ	
ñ )ˆAñ )Ü×%Ñ%Ó'÷ 	)ð 	)¨7Ø×Ñ˜u aÔ(Ø×Ñ˜u aÔ(÷	)÷ 	)÷)÷ )ð )ð	)øð 	)ø÷ 	)÷ 	)ñ 	)ú÷)ð )ú÷ )ð )üsy   ‚B7 B+£B¼B
½BÁ %B
Á%BÁ0BÁ1BÁ5B+Á=	B7ÂBÂBÂ
BÂBÂBÂBÂB(	Â$B+Â+B4Â0B7Ú	fromsharezwindows only)Úreasonc               ƒ  ó&  K  — t         rt        j                  dk7  ry t        j                  «       \  } }| 5  |5  | j                  t        j                  «       «      }t        j                  |«      }|5  | j                  «       |j                  «       k7  sJ ‚|j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       d d d «       d d d «       y 7 Œ<7 Œ%# 1 sw Y   ŒxY w# 1 sw Y   Œ"xY w# 1 sw Y   y xY w­w)NÚwin32r¢   r£   )r   ÚsysÚplatformre   r§   ÚshareÚosÚgetpidrÂ   r©   rª   r«   )r¾   r¿   ÚsharedÚa2s       r(   Útest_fromsharerÍ   X  så   è ø€ åœŸ™¨Ò0ØÜ×ÑÓ�D€A€qØ	
ñ +ˆAñ +à—‘œŸ™›Ó%ˆÜ×Ñ˜vÓ&ˆØñ 	+Ø—8‘8“: §¡£Ò,Ð,Ð,Ø—'‘'˜$“-×ÐØŸ™ ›—? dÒ*Ð*Ñ*÷	+÷	+÷ +ð +ð  øØ"ø÷	+ð 	+ú÷	+ð +ú÷ +ð +üso   ‚4D¶D¹;C9Á48C-Â,C)
Â-C-ÃC+
Ã	C-ÃC9ÃDÃ 	DÃ)C-Ã+C-Ã-C6Ã2C9Ã9D	Ã>DÄDÄ
Dc               ƒ  óÖ   K  — t        j                  «       5 } t        | t         j                  «      sJ ‚| j                  t         j
                  k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w­wr%   )re   r   rY   r   r.   r†   ©Úss    r(   Útest_socketrÑ   g  sR   è ø€ Ü	�‰Ó	ð +˜QÜ˜!œW×/Ñ/Ô0Ð0Ð0Ø�x‰xœ7Ÿ?™?Ò*Ð*Ñ*÷+÷ +ñ +üs   ‚A)—<AÁ	A)ÁA&Á"A)c               ƒ  ó  K  — t        j                  t         j                  t         j                  «      5 } t	        | t         j
                  «      sJ ‚| j                  t         j                  k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w­wr%   )re   r   r‰   rˆ   rY   r   r.   rÏ   s    r(   Útest_socket_v6rÓ   m  sd   è ø€ ä	�‰œ×(Ñ(¬'×*<Ñ*<Ó	=ð ,ÀÜ˜!œW×/Ñ/Ô0Ð0Ð0Ø�x‰xœ7×+Ñ+Ò+Ð+Ñ+÷,÷ ,ñ ,üs   ‚3Bµ<A;Á2	BÁ;BÂ BÚlinuxz
linux onlyc            	   ƒ  ó~  K  — ddl m} m}m}m} t
        r| |fn| f}|D ��cg c]!  }||fD ]  }t        j                   ||«      ‘Œ Œ# }}}|D ]ç  }t        j                   |j                  «       ¬«      }	|	j                  |j                  k(  sJ ‚|	j                  |j                  k(  sJ ‚|	j                  «        t        j                  |j                  «       | |«      }
|
j                  |j                  k(  sJ ‚|
j                  |j                  k(  sJ ‚|
j                  «        |j                  «        Œé y c c}}w ­w)Nr   )r†   r‰   rˆ   r…   ©r©   )r   r†   r‰   rˆ   r…   r   rC   re   r©   r.   r/   Údetachr´   Úclose)r†   r‰   rˆ   r…   Úfamiliesr.   ro   Úsocketsr   Útsocket_socketÚtsocket_from_fds              r(   Útest_sniff_sockoptsrÝ   t  s)  è ø€ çAÓAõ '6�˜Ñ"¸G¸:€Hð ÷àØ  +Ð.òð ô 	×Ñ˜V UÕ+ðØ+ð€Gñ ð
 ò ˆä Ÿ™¨v¯}©}«Ô?ˆà×$Ñ$¨¯©Ò5Ð5Ð5Ø×"Ñ" f§k¡kÒ1Ð1Ð1Ø×ÑÔô "Ÿ.™.¨¯©«¸'À;ÓOˆà×%Ñ%¨¯©Ò6Ð6Ð6Ø×#Ñ# v§{¡{Ò2Ð2Ð2Ø×ÑÔà�‰�ñùóùs   ‚D=¡&D7ÁC6D=c               ƒ  ó   K  — t        j                  «       } | 5 }|| u sJ ‚t        | j                  «       t        «      sJ ‚| j                  «       rJ ‚| j                  d«       | j                  «       sJ ‚| j                  t         j                  t         j                  d«       | j                  t         j                  t         j                  «      rJ ‚| j                  t         j                  t         j                  d«       | j                  t         j                  t         j                  «      sJ ‚	 d d d «       | j                  «       dk(  sJ ‚t        | «       t        j                  «       5 } | j                  «       }| j                  «       |k(  sJ ‚| j                  «       dk(  sJ ‚	 d d d «       t        j                  «       } | j                  «       dk\  sJ ‚| j                  «        | j                  «       dk(  sJ ‚dt        | «      v sJ ‚dt        | «      v sJ ‚dt        | «      v sJ ‚t        j                   t"        «      5  | j$                   d d d «       t'        j                  «       }t        j(                  |«      } | j*                  |j*                  k(  sJ ‚| j,                  |j,                  k(  sJ ‚| j.                  |j.                  k(  sJ ‚| j                  «        y # 1 sw Y   �Œ¶xY w# 1 sw Y   �ŒKxY w# 1 sw Y   Œ®xY w­w)NTFr‚   r   r.   r«   Ú
setsockopt)re   r   rY   r©   rK   Úget_inheritableÚset_inheritablerß   r‡   rg   Ú
getsockoptÚreprr×   rØ   Údirr_   r`   ÚAttributeErrorr„   rC   r¨   r/   r.   r0   )rº   Úcm_enter_valueÚfdÚstdlib_socks       r(   Útest_SocketType_basicsré   –  s…  è ø€ Ü�>‰>Ó€DØ	ð 
I�Ø Ñ%Ð%Ð%Ü˜$Ÿ+™+›-¬Ô-Ð-Ð-Ø×'Ñ'Ô)Ð)Ð)Ø×Ñ˜TÔ"Ø×#Ñ#Ô%Ð%Ð%à�‰œ×+Ñ+¬W×-@Ñ-@À%ÔHØ—?‘?¤7×#6Ñ#6¼×8KÑ8KÔLÐLÐLØ�‰œ×+Ñ+¬W×-@Ñ-@À$ÔGØ�‰œw×2Ñ2´G×4GÑ4GÔHÐHÑH÷
Ið �;‰;‹=˜BÒÐÐô 	ˆ„Jô 
�‰Ó	ð #˜TØ�[‰[‹]ˆØ�{‰{‹} Ò"Ð"Ð"Ø�{‰{‹} Ò"Ð"Ñ"÷#ô �>‰>Ó€DØ�;‰;‹=˜AÒÐÐØ‡J�J„LØ�;‰;‹=˜BÒÐÐð
 ”s˜4“yÑ Ð Ð Ø”S˜“YÑÐÐØœ3˜t›9Ñ$Ð$Ð$ô 
�‰”~Ó	&ñ Ø�	Š	÷ô  ×&Ñ&Ó(€KÜ×%Ñ% kÓ2€DØ�9‰9˜×(Ñ(Ò(Ð(Ð(Ø�;‰;˜+×,Ñ,Ò,Ð,Ð,Ø�:‰:˜×*Ñ*Ò*Ð*Ð*Ø‡J�J…L÷]
Iñ 
Iú÷$#ñ #ú÷&ð üsO   ‚L™DK(Ä4<LÅ0;K5Æ,BLÉLÉBLË(K2Ë-LË5K?Ë:LÌLÌLc               ƒ  óx   K  — t        j                  «       } | 5 }t        | «       d d d «       y # 1 sw Y   y xY w­wr%   )re   r   Úsetsockopt_tests)rº   Ú_s     r(   Útest_SocketType_setsockoptrí   É  s3   è ø€ Ü�>‰>Ó€DØ	ð �Ü˜Ô÷÷ ñ üs   ‚:™.¥	:®7³:c                óÐ  — t        t        d«      r1	 | j                  t        j                  t        j                  dd«       | j                  t        j                  t        j                  d«       t        j                  t        d¬«      5  | j                  t        j                  t        j                  dd«       ddd«       t        j                  t        d¬«      5  | j                  t        j                  t        j                  d«       ddd«       y# t
        $ r+}|j                  dt        j                  fv sJ ‚Y d}~�Œd}~ww xY w# 1 sw Y   Œ”xY w# 1 sw Y   yxY w)	z6Extract these out, to be reused for SocketStream also.ÚSO_BINDTODEVICENr   é*   Fz"invalid value for argument 'value'©Úmatché   )rŽ   re   rß   rf   rï   ÚOSErrorr�   ÚEPERMr‡   rg   r_   r`   r¬   )rº   Úes     r(   rë   rë   Ï  s!  € ô ŒwÐ)Ô*ð	Ø�O‰OœG×.Ñ.´×0GÑ0GÈÈqÔQð$ 	‡O�O”G×'Ñ'¬×)<Ñ)<¸eÔDô 
�‰”yÐ(LÔ	Mñ LØ�‰œ×+Ñ+¬W×-@Ñ-@À%ÈÔK÷Lô 
�‰”yÐ(LÔ	Mñ HØ�‰œ×+Ñ+¬W×-@Ñ-@À$ÔG÷Hð Høô/ ò	ð —7‘7ð ô —‘ðñ ð ö ûð	ú÷(Lð Lú÷Hð Hús/   ’0D Â1EÃ 0EÄ	EÄ" EÅEÅEÅE%c               ƒ  óú  K  — t        j                  «       \  } }| 5  |5  | j                  «       }|5  t        |t         j                  «      sJ ‚|j                  «       | j                  «       k7  sJ ‚| j                  «        |j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       d d d «       d d d «       y 7 Œ<7 Œ%# 1 sw Y   ŒxY w# 1 sw Y   Œ"xY w# 1 sw Y   y xY w­w©Nr¢   r£   )	re   r§   ÚduprY   r   r©   rØ   rª   r«   )r¾   r¿   rÌ   s      r(   Útest_SocketType_duprú   ò  sÚ   è ø€ Ü×ÑÓ�D€A€qØ	
ñ +ˆAñ +Ø�U‰U‹WˆØñ 	+Ü˜b¤'×"4Ñ"4Ô5Ð5Ð5Ø—9‘9“; !§(¡(£*Ò,Ð,Ð,Ø�G‰GŒIØ—'‘'˜$“-×ÐØŸ™ ›—? dÒ*Ð*Ñ*÷	+÷+÷ +ð +ð  øØ"ø÷	+ð 	+ú÷+ð +ú÷ +ð +üso   ‚C;œC/ŸC#²A$CÂC
ÂCÂ/C
Â0	CÂ:C#ÃC/Ã
	C;ÃCÃCÃC ÃC#Ã#C,	Ã(C/Ã/C8Ã4C;c               ƒ  ó~  K  — t        j                  «       \  } }| 5  |5  | j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—† dk(  sJ ‚| j                  rJ ‚|j                  rJ ‚| j                  t         j                  «       | j                  sJ ‚|j                  rJ ‚|j                  d«      ƒ d {  –—† dk(  sJ ‚|j                  d«      ƒ d {  –—†  | j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       d d d «       t        j                  «       \  } }| 5  |5  | j                  rJ ‚| j                  t         j                  «       | j                  rJ ‚	 d d d «       d d d «       t        j                  «       \  } }| 5  |5  | j                  rJ ‚| j                  t         j                  «       | j                  sJ ‚	 d d d «       d d d «       y 7 �Œ³7 �Œ�7 �Œ+7 �Œ7 Œù# 1 sw Y   ŒòxY w# 1 sw Y   ŒöxY w# 1 sw Y   Œ¡xY w# 1 sw Y   Œ¥xY w# 1 sw Y   ŒPxY w# 1 sw Y   y xY w­w)Nr¢   r£   r*   ó   y)	re   r§   rª   r«   Údid_shutdown_SHUT_WRÚshutdownÚSHUT_WRÚSHUT_RDÚ	SHUT_RDWR©r¾   r¿   s     r(   Útest_SocketType_shutdownr  þ  s   è ø€ Ü×ÑÓ�D€A€qØ	
ñ 
'ˆAñ 
'Ø�f‰f�T‹l×ÐØ—V‘V˜A“Y� $Ò&Ð&Ð&Ø×)Ò)Ð)Ð)Ø×)Ò)Ð)Ð)Ø	�
‰
”7—?‘?Ô#Ø×%Ò%Ð%Ð%Ø×)Ò)Ð)Ð)Ø—V‘V˜A“Y� #Ò%Ð%Ð%Ø�f‰f�T‹l×ÐØ—V‘V˜A“Y� $Ò&Ð&Ñ&÷
'÷ 
'ô ×ÑÓ�D€A€qØ	
ñ *ˆAñ *Ø×)Ò)Ð)Ð)Ø	�
‰
”7—?‘?Ô#Ø×)Ò)Ð)Ð)Ð)÷*÷ *ô
 ×ÑÓ�D€A€qØ	
ñ &ˆAñ &Ø×)Ò)Ð)Ð)Ø	�
‰
”7×$Ñ$Ô%Ø×%Ò%Ð%Ñ%÷&÷ &ð &ð% 	ùØùð ùØùØø÷
'ð 
'ú÷ 
'ð 
'ú÷*ð *ú÷ *ð *ú÷&ð &ú÷ &ð &üsì   ‚H=œHŸG5´G'µG5ÁG*ÁA4G5ÃG-ÃG5Ã G0Ã!G5Ã9G3Ã:	G5ÄHÄ!H=Ä-HÄ0<HÅ-HÅ5!H=ÆH1Æ<H%ÇH1Ç	H=Ç'G5Ç*G5Ç-G5Ç0G5Ç3G5Ç5G>	Ç:HÈH
ÈH=ÈH	ÈHÈH"ÈH=È%H.	È*H1È1H:È6H=)ÚaddressÚsocket_typerz   r   )Úmarksc           	   ƒ  ó<  K  — t        j                  |«      }t        j                  |«      }|5  |5  |j                  | df«      ƒ d {  –—†  |j                  d«       |j	                  «       d d }t        j                  «       4 ƒd {  –—† }|j                  |j                  |«       |j                  «       ƒ d {  –—† \  }}d d d «      ƒd {  –—†  5  |j                  «       cxk(  r|j	                  «       k(  sJ ‚ J ‚|j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       d d d «       d d d «       y 7 �Œ7 ŒÎ7 Œœ7 Œ‹# 1 ƒd {  –—†7  sw Y   Œ›xY w7 ŒZ7 ŒC# 1 sw Y   Œ<xY w# 1 sw Y   Œ@xY w# 1 sw Y   y xY w­w)Nr   é   r
   r¢   r£   )re   r   r4   ÚlistenÚgetsocknamer   r¼   r½   ÚconnectÚacceptÚgetpeernamerª   r«   )r  r  ÚlistenerÚclientÚaddrrÀ   ÚserverÚclient_addrs           r(   Útest_SocketType_simple_serverr    sv  è ø€ ô �~‰~˜kÓ*€HÜ�^‰^˜KÓ(€FØ	ñ 
0�6ñ 
0Ø�m‰m˜W a˜LÓ)×)Ð)Ø�‰˜ÔØ×#Ñ#Ó% b qÐ)ˆÜ×%Ñ%Ó'÷ 	:ð 	:¨7Ø×Ñ˜vŸ~™~¨tÔ4Ø(0¯©Ó(9×"9ÑˆF�K÷	:÷ 	:ð ñ 	0Ø &×"4Ñ"4Ó"6ÔN¸&×:LÑ:LÓ:NÒNÐNÑNÐNÐNØ—+‘+˜dÓ#×#Ð#ØŸ™ Q›×'¨4Ò/Ð/Ñ/÷	0÷
0÷ 
0ð 
0Ø)ùð	:øà"9øð	:ø÷ 	:÷ 	:ñ 	:úð
 $øØ'ø÷	0ð 	0ú÷
0ð 
0ú÷ 
0ð 
0üsÝ   ‚-F¯F²FÁ	EÁ
A FÂ
E
ÂFÂ0EÂ>E
Â?EÃFÃEÃFÃAE8ÄE4
ÄE8Ä2E6
Ä3	E8Ä=FÅFÅ	FÅFÅFÅEÅFÅE1Å%E(Å&E1Å-FÅ4E8Å6E8Å8FÅ=FÆF	Æ	FÆFÆFc               ƒ  ó¸  K  — t        j                  «       \  } }| 5  |5  | j                  «       rJ ‚|j                  d«      ƒ d {  –—†  t	        j
                  | «      ƒ d {  –—†  | j                  «       sJ ‚| j                  d«      ƒ d {  –—† dk(  sJ ‚| j                  «       rJ ‚	 d d d «       d d d «       y 7 Œu7 ŒZ7 Œ1# 1 sw Y   ŒxY w# 1 sw Y   y xY w­wrø   )re   r§   Úis_readablerª   r   Úwait_readabler«   r  s     r(   Útest_SocketType_is_readabler  4  sÂ   è ø€ Ü×ÑÓ�D€A€qØ	
ñ #ˆAñ #Ø—=‘=”?Ð"Ð"Ø�f‰f�T‹l×ÐÜ×!Ñ! !Ó$×$Ð$Ø�}‰}ŒÐˆØ—V‘V˜A“Y� $Ò&Ð&Ð&Ø—=‘=”?Ð"Ð"�?÷#÷ #ð #àøØ$øàø÷#ð #ú÷ #ð #üsi   ‚CœCŸ'CÁB<ÁCÁ#B>Á$*CÂC ÂCÂ+CÂ3	CÂ<CÂ>CÃ CÃC	ÃCÃCÃCc                 ó„   — 	 t        j                  ddt         j                  ¬«       y# t         j                  $ r Y yw xY w)Nú1.2.3.4r   ©r.   TF)rC   rF   r‰   rh   rQ   r*   r(   Úgai_without_v4mapped_is_buggyr  B  s>   € ðÜ×!Ñ! )¨Q´}×7MÑ7MÕNð øô ×!Ñ!ò Ùðús   ‚&) ©?¾?F)Úslotsc                  ó6   — e Zd ZU ded<   ded<   ded<   ded<   y)Ú	AddressesÚstrÚbind_allr˜   Ú	arbitraryÚ	broadcastN)rM   rN   rO   Ú__annotations__rQ   r*   r(   r  r  K  s   … àƒMØƒNØƒNØ„Nr*   r  )r  Úaddrsz0.0.0.0r  z255.255.255.255)r   r˜   r!  r"  z::ú1::2z::ffff:255.255.255.255c              ƒ  óN
  ‡
‡‡‡K  — | t         j                  k(  Šd%ˆfd„Š	 	 	 	 	 	 d&ˆfd„}t        j                  | ¬«      5 Št        ‰t        «      sJ ‚dD ]–  }‰j                  |dfd¬«      ƒ d {  –—† }t        |t        t        f«      rJ ‚ |||j                  df«       ‰j                  |dfd¬«      ƒ d {  –—† }t        |t        t        f«      rJ ‚ |||j                  df«       Œ˜ d	D �]–  Š
	 	 	 	 d'ˆ
ˆfd
„} | ||j                  df«      ƒ d {  –—† |j                  df«       ‰�r, | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† d«       ‰j                  t         j                  t         j                  d«        | |d«      ƒ d {  –—† d«        | |d«      ƒ d {  –—† |j                  df«       ‰rÞt        «       sÔ‰j                  t         j                  t         j                  d«       t!        j"                  t         j$                  «      5 } |d«      ƒ d {  –—†  d d d «       t         j&                  t         j(                  h}t+        t         d«      r|j-                  t         j.                  «       j0                  j2                  |v sJ ‚	 t        j                  t         j4                  t         j6                  ¬«      }t        |t        «      sJ ‚|j                  d‰
¬«      ƒ d {  –—† dk(  sJ ‚|j9                  «        d}	t!        j"                  t>        |	¬ «      5   |d!«      ƒ d {  –—†  d d d «       t!        j"                  t>        |	¬ «      5   |d"«      ƒ d {  –—†  d d d «       t!        j"                  t>        |	¬ «      5  ‰r |d#«      ƒ d {  –—†  n |d$«      ƒ d {  –—†  d d d «       �Œ™ 	 d d d «       y 7 �Œ$7 �ŒÝ7 �Œ‚7 �Œ_7 �ŒK7 �Œ77 �Œ#7 �Œ7 �Œû7 �Œç7 �ŒÓ7 �Œ¿7 �Œ«7 �Œh7 �ŒT7 �Œ×# 1 sw Y   �Œ×xY w7 �Œ# t:        t<        f$ r Y �Œw xY w7 Œê# 1 sw Y   ŒéxY w7 ŒÄ# 1 sw Y   ŒÃxY w7 Œœ7 Œ�# 1 sw Y   �Œ$xY w# 1 sw Y   y xY w­w)(Nc                óP   •— ‰r"t        | «      dk  r| dz  } t        | «      dk  rŒ| S )Né   )r   )Úlen)r  Úv6s    €r(   Úpadz$test_SocketType_resolve.<locals>.pado  s,   ø€ ÙÜ�d“)˜a’-Ø˜‘�ô �d“)˜a“-àˆr*   c                ó,   •—  ‰|«       ‰| «      k(  sJ ‚y r%   rQ   )Úactualrx   r+  s     €r(   Ú	assert_eqz*test_SocketType_resolve.<locals>.assert_equ  s   ø€ ñ �8‹}¡ F£Ò+Ð+Ñ+r*   r  ©Nr}   r—   T©ÚlocalF)FTc              “  ó‚   •K  — ‰j                  | ‰¬«      ƒ d {  –—† }t        |t        «      sJ ‚t        d|«      S 7 Œ"­w)Nr0  útuple[str | int, ...])Ú_resolve_address_nocprY   Útupler	   )r6   r�   r1  rº   s     €€r(   r‘   z$test_SocketType_resolve.<locals>.res�  sN   øè ø€ ð #×8Ñ8ØØð 9ó ÷ �ô " %¬Ô/Ð/Ð/ÜÐ3°UÓ;Ð;ðús   ƒ?š=›#?Úhttp)r%  r—   )r%  r—   r   r   )r%  r—   r   )r%  r—   r£   )r%  r—   r£   r   )r%  r—   r£   r
   )r%  rš   )r%  rš   r   )r%  rš   r   r   )r%  rš   r£   )r%  rš   r£   r
   )r  r6  )z::ffff:1.2.3.4r—   )z<broadcast>é{   r7  )r  r—   ÚEAI_ADDRFAMILY)r.   r/   r„   úH^address should be a \(host, port(, \[flowinfo, \[scopeid\]\])*\) tuple$rñ   r  )r  )r  r—   r   r   r   )r  r—   r   r   )r  r3  rG   r3  )r-  r3  rx   r3  rG   rH   )r6   z‡tuple[str, int] | tuple[str, int, int] | tuple[str, int, int, int] | tuple[str, str] | tuple[str, str, int] | tuple[str, str, int, int]rG   r3  ) re   r‰   r   rY   r   r4  r  Úbytesr   r˜   r!  rß   ÚIPPROTO_IPV6ÚIPV6_V6ONLYr"  r  r_   r`   rh   Ú
EAI_NONAMEÚ
EAI_NODATArŽ   rŒ   r8  r�   r�   Ú
AF_NETLINKrˆ   rØ   rå   rô   rZ   )r  r$  r.  Únullrw   r‘   r’   r“   Únetlink_sockr  r1  r+  rº   r*  s             @@@@r(   Útest_SocketType_resolverB  T  sÙ  ûè ø€ ð2 
œ×(Ñ(Ñ	(€Bõð,Ø%ð,à'ð,ð 
õ,ô 
�‰˜{Ô	+ð k5¨tä˜$¤Ô,Ð,Ð,ð ò 	2ˆDØ×2Ñ2°D¸"°:ÀTÐ2ÓJ×JˆCÜ! #¬¬U |Ô4Ð4Ð4Ù�c˜EŸN™N¨BÐ/Ô0Ø×2Ñ2°D¸"°:ÀUÐ2ÓK×KˆCÜ! #¬¬U |Ô4Ð4Ð4Ù�c˜EŸO™O¨RÐ0Õ1ð	2ð #ó Y	5ˆEð<ð0ð<ð 'ö<ñ" ™C §¡°&Ð 9Ó:×:¸U¿_¹_ÈbÐ<QÔRÚá¡ LÓ 1×1Ð3EÔFÙ¡ OÓ 4×4Ð6HÔIÙ¡Ð$6Ó 7×7Ð9KÔLá¡ OÓ 4×4Ð6HÔIÙ¡Ð$6Ó 7×7Ð9KÔLñ
 ¡ NÓ 3×3Ð5GÔHÙ¡Ð$5Ó 6×6Ð8JÔKÙ¡Ð$8Ó 9×9Ð;MÔNÙ¡Ð$5Ó 6×6Ð8JÔKÙ¡Ð$8Ó 9×9Ð;MÔNð —‘¤× 4Ñ 4´g×6IÑ6IÈ5ÔQÙ¡Ð$7Ó 8×8Ð:PÔQñ ™CÐ 4Ó5×5¸¿¹ÈÐ7MÔNñ Ô7Ô9Ø—‘¤× 4Ñ 4´g×6IÑ6IÈ4ÔPÜ—]‘]¤7×#3Ñ#3Ó4ð /¸Ù˜oÓ.×.Ð.÷/ô $+×#5Ñ#5´w×7IÑ7IÐ"J�äœ7Ð$4Ô5Ø#×'Ñ'¬×(>Ñ(>Ô?Ø—}‘}×*Ñ*¨oÑ=Ð=Ð=ð
%Ü&Ÿ~™~Ü"×-Ñ-Ü ×+Ñ+ô �ô " ,´Ô<Ð<Ð<à&×<Ñ<¸VÈ5Ð<ÓQ×QØòððð ×"Ñ"Ô$àaˆGÜ—‘œz°Ô9ñ %Ù˜)“n×$Ð$÷%ä—‘œz°Ô9ñ (Ù˜,Ó'×'Ð'÷(ä—‘ÜØôñ 5ñ ÙÐ6Ó7×7Ñ7ñ Ð3Ó4×4Ð4÷5ñ 5ñcY	5÷%k5ð k5ð Kùð Lùð2 ;ùð 2ùØ4ùØ7ùà4ùØ7ùð
 4ùØ6ùØ9ùØ6ùØ9ùð 9ùð 6ùð /ù÷/ñ /úð, Rúô #¤GÐ,ò Úðúð %ø÷%ð %úð (ø÷(ð (úð 8øð 5ø÷5ñ 5ú÷Gk5ð k5üs  †<T%Á0TÁ2RÁ3A	TÂ<RÂ=ATÄRÄ%TÅ RÅTÅR"ÅTÅ.R%Å/TÆR(ÆTÆR+ÆTÆ3R.Æ4TÇ
R1ÇTÇ!R4Ç"TÇ8R7Ç9TÈR:ÈATÉR=ÉTÉ,S É-A3TË SË,S
Ë-SË1A1TÍ#3SÎ(TÎ>SÎ?6TÏ5S.ÐS,
ÐS.Ð#TÐ)S<Ð5S:
Ð6S<Ð:#TÑTÑ+T
Ñ,TÑ<T

Ñ=TÒTÒ	T%ÒTÒTÒTÒTÒ"TÒ%TÒ(TÒ+TÒ.TÒ1TÒ4TÒ7TÒ:TÒ=TÓ TÓSÓSÓ	TÓS)Ó%TÓ(S)Ó)TÓ,S.Ó.S7Ó3TÓ:S<Ó<TÔTÔTÔ
TÔTÔTÔT"ÔT%c               ƒ  óÖ  K  — t        j                  «       5 } | j                  d«      ƒ d {  –—†  | j                  «       d   dk(  sJ ‚| j	                  d«       t        j                  «       5 }|j                  d| j                  «       d   f«      ƒ d {  –—†  |j                  «       | j                  «       k(  sJ ‚	 d d d «       d d d «       t        j                  «       5 } t        j                  t         j                  «      5  | j                  d«      ƒ d {  –—†  d d d «       d d d «       y 7 �Œ7 Œž# 1 sw Y   ŒyxY w# 1 sw Y   Œ}xY w7 Œ2# 1 sw Y   Œ1xY w# 1 sw Y   y xY w­w)N)r˜   r   r   rz   é
   r˜   r£   )z1.2:3r‚   )
re   r   r4   r
  r	  r  r  r_   r`   rh   )rº   Úsock2s     r(   Ú test_SocketType_unresolved_namesrF  é  s:  è ø€ Ü	�‰Ó	ð =˜TØ�i‰iÐ(Ó)×)Ð)Ø×ÑÓ! !Ñ$¨Ò3Ð3Ð3Ø�‰�BŒä�^‰^Óð 	= Ø—-‘- ¨d×.>Ñ.>Ó.@ÀÑ.CÐ DÓE×EÐEØ×$Ñ$Ó&¨$×*:Ñ*:Ó*<Ò<Ð<Ñ<÷	=÷=ô 
�‰Ó	ð +˜TÜ�]‰]œ7×+Ñ+Ó,ñ 	+à—)‘)˜MÓ*×*Ð*÷	+÷+ð +ð 	*ùð
 Fø÷	=ð 	=ú÷=ð =úð +ø÷	+ð 	+ú÷+ð +üs™   ‚E)—E¬D2­AEÁ.(D7ÂD5Â'D7Â?EÃE)Ã#$EÄEÄEÄEÄ!EÄ)	E)Ä2EÄ5D7Ä7E 	Ä<EÅEÅE)ÅEÅE	ÅEÅE&Å"E)c            
   ƒ  óÜ  ‡‡	K  — t        j                  «       \  } }| 5  |5  t        j                  | «      Š|j	                  d«       |j                  d«       t        j                  «       5 }|j                  «        t        «       5  t        j                  t        j                  «      5  ‰j                  d«      ƒ d {  –—†  d d d «       d d d «       d d d «       t        «       5  ‰j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       t        «       5  t        j                  t        «      5  ‰j                  d«      ƒ d {  –—†  d d d «       d d d «       dˆfd„}t        j                  «       4 ƒd {  –—† }|j!                  |«       t#        «       ƒ d {  –—†  |j                  d«       d d d «      ƒd {  –—†  dˆfd„}t        j                  «       4 ƒd {  –—† }|j!                  |«       t#        «       ƒ d {  –—†  |j$                  j                  «        d d d «      ƒd {  –—†  t        j                  |«      Š	dˆˆ	fd„}dˆˆ	fd	„}t        j                  «       4 ƒd {  –—† }|j!                  |«       |j!                  |«       t#        «       ƒ d {  –—†  | j                  d
«       |j                  d«       t#        «       ƒ d {  –—†  | j                  d
«       |j                  d«       d d d «      ƒd {  –—†  d d d «       d d d «       y 7 �Œ_# 1 sw Y   �Œ_xY w# 1 sw Y   �ŒdxY w# 1 sw Y   �ŒixY w7 �ŒM# 1 sw Y   �ŒGxY w7 �Œ# 1 sw Y   �ŒxY w# 1 sw Y   �ŒxY w7 �Œû7 �ŒÛ7 �Œ½# 1 ƒd {  –—†7  sw Y   �ŒÎxY w7 �Œ³7 �Œ“7 �Œl# 1 ƒd {  –—†7  sw Y   �Œ}xY w7 �ŒE7 �Œ7 Œâ7 Œ²# 1 ƒd {  –—†7  sw Y   ŒÂxY w# 1 sw Y   ŒÆxY w# 1 sw Y   y xY w­w)NFó   1rD  Úhahac               “  óŽ   •K  — t        «       5  ‰ j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       y 7 Œ# 1 sw Y   y xY w­w)NrD  ó   2©r   r«   ©r¯   s   €r(   Údo_successful_blocking_recvzGtest_SocketType_non_blocking_paths.<locals>.do_successful_blocking_recv  sC   øè ø€ Ü#Ó%ñ 1ØŸW™W R›[×(¨DÒ0Ð0Ñ0÷1ð 1Ø(ø÷1ð 1üs$   ƒAŽ9£7¤	9®	A·9¹A¾ArK  c               “  óò   •K  — t        «       5  t        j                  t        j                  «      5  ‰ j                  d«      ƒ d {  –—†  d d d «       d d d «       y 7 Œ# 1 sw Y   ŒxY w# 1 sw Y   y xY w­w)NrD  )r   r_   r`   r   Ú	Cancelledr«   rM  s   €r(   Údo_cancelled_blocking_recvzFtest_SocketType_non_blocking_paths.<locals>.do_cancelled_blocking_recv  s`   øè ø€ Ü#Ó%ñ &Ü—]‘]¤5§?¡?Ó3ñ &ØŸ'™' "›+×%Ð%÷&÷&ð &à%ø÷&ð &ú÷&ð &üsE   ƒA7Ž$A+²AÁAÁAÁA+Á	A7ÁAÁA(	Á$A+Á+A4Á0A7c               “  ó  •K  — t        «       5  ‰ j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       t        «       5  ‰j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       y 7 ŒE# 1 sw Y   Œ>xY w7 Œ!# 1 sw Y   y xY w­w)Nr£   ó   aó   brL  ©r¯   Útbs   €€r(   Út1z.test_SocketType_non_blocking_paths.<locals>.t1/  ó   øè ø€ Ü#Ó%ñ 0ØŸW™W Q›Z×'¨4Ò/Ð/Ñ/÷0ä#Ó%ñ 0ØŸW™W Q›Z×'¨4Ò/Ð/Ñ/÷0ð 0ð (ø÷0ð 0úð (ø÷0ð 0üóU   ƒBŽA+£A)¤	A+®BÁ A9ÁA7Á	A9Á 	BÁ)A+Á+A4Á0BÁ7A9Á9BÁ>Bc               “  ó  •K  — t        «       5  ‰j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       t        «       5  ‰ j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       y 7 ŒE# 1 sw Y   Œ>xY w7 Œ!# 1 sw Y   y xY w­w)Nr£   rT  rS  rL  rU  s   €€r(   Út2z.test_SocketType_non_blocking_paths.<locals>.t25  rX  rY  rT  rS  ©rG   rH   )rC   r§   re   r¨   Úsetblockingrª   r   ÚCancelScopeÚcancelr   r_   r`   rP  r«   r¬   r¼   r½   r   Úcancel_scope)
r¾   r¿   ÚcscoperN  rÀ   rQ  rW  r[  r¯   rV  s
           @@r(   Ú"test_SocketType_non_blocking_pathsrb  ü  sA  ùè ø€ Ü×#Ñ#Ó%�D€A€qØ	
ñ EˆAñ EÜ×'Ñ'¨Ó*ˆØ	�‰�eÔð 	
�‰ˆtŒÜ×ÑÓ ð 	& FØ�M‰MŒOÜ#Ó%ñ &Ü—]‘]¤5§?¡?Ó3ñ &ØŸ'™' "›+×%Ð%÷&÷&÷	&ô  Ó!ñ 	-ØŸ™ ›×$¨Ò,Ð,Ñ,÷	-ô  Ó!ñ 	&Ü—‘œyÓ)ñ &Ø—g‘g˜f“o×%Ð%÷&÷	&õ
	1ô ×%Ñ%Ó'÷ 	ð 	¨7Ø×ÑÐ:Ô;Ü(Ó*×*Ð*Ø�F‰F�4ŒL÷	÷ 	õ	&ô
 ×%Ñ%Ó'÷ 	*ð 	*¨7Ø×ÑÐ9Ô:Ü(Ó*×*Ð*Ø× Ñ ×'Ñ'Ô)÷	*÷ 	*ô ×'Ñ'¨Ó*ˆö	0ö	0ô ×%Ñ%Ó'÷ 	ð 	¨7Ø×Ñ˜rÔ"Ø×Ñ˜rÔ"Ü(Ó*×*Ð*Ø�F‰F�4ŒLØ�F‰F�4ŒLÜ(Ó*×*Ð*Ø�F‰F�4ŒLØ�F‰F�4ŒL÷	÷ 	÷{E÷ Eð Eð &ù÷&ñ &ú÷&ñ &ú÷	&ñ 	&úð %ù÷	-ñ 	-úð
 &ù÷&ñ &ú÷	&ñ 	&úð	ùà*ùð	ù÷ 	÷ 	ò 	úð	*ùà*ùð	*ù÷ 	*÷ 	*ò 	*úð2	ùð +ùð +øð	ø÷ 	÷ 	ñ 	ú÷{Eð Eú÷ Eð Eüs  „O,žO ¡AOÁ-L=Â$L0	Â,L#ÃL ÃL#ÃL0	ÃL=ÃOÃ(MÃ=M

Ã>	MÄOÄM*Ä4M	Å	MÅ
M	ÅM*Å&OÅ<M7
Å=OÆ N ÆM:
Æ N Æ5OÇ M=Ç"OÇ#N
Ç$OÇ'NÈN
ÈNÈ%OÈ0NÈ1?OÉ0N5
É1OÉ40N?Ê$N8
Ê%3N?ËN;
Ë&N?Ë?OÌ
N=ÌOÌO Ì	O,Ì L#Ì#L-Ì(L0	Ì0L:Ì5L=Ì=MÍOÍ
MÍMÍOÍM	ÍM'Í"M*Í*M4Í/	OÍ:N Í=OÎ NÎN	ÎNÎ	OÎNÎOÎN2Î%N(Î&N2Î-	OÎ8N?Î;N?Î=OÎ?OÏOÏOÏOÏO	ÏO Ï O)Ï%O,c            
   ƒ  óz  ‡‡K  — t        j                  «       5 Št        j                  t        d¬«      5  ‰j                  d«      ƒ d {  –—†  d d d «       d d d «       t        j                  «       5 Št        j                  «       5 Š‰j                  «        t        j                  t        j                  «      5  ‰j                  d«      ƒ d {  –—†  d d d «       d d d «       d d d «       t        j                  «       5 Št        j                  «       5 Št        j                  «       5 } | j                  d«      ƒ d {  –—†  | j                  «         G ˆˆfd„dt        j                  «      }t        ‰t        «      sJ ‚‰j                  j!                  «         |«       ‰_        t#        «       5  t        j                  t        j                  «      5  ‰j                  | j%                  «       «      ƒ d {  –—†  d d d «       d d d «       ‰j'                  «       dk(  sJ ‚	 d d d «       d d d «       d d d «       t        j                  «       5 Št        j                  t(        d	¬«      5  ‰j                  d
«      ƒ d {  –—†  d d d «       d d d «       y 7 �ŒO# 1 sw Y   �ŒOxY w# 1 sw Y   �ŒTxY w7 �Œå# 1 sw Y   �ŒåxY w# 1 sw Y   �ŒêxY w# 1 sw Y   �ŒïxY w7 �ŒŸ7 Œç# 1 sw Y   ŒæxY w# 1 sw Y   ŒêxY w# 1 sw Y   ŒØxY w# 1 sw Y   ŒÜxY w# 1 sw Y   ŒàxY w7 Œ�# 1 sw Y   ŒœxY w# 1 sw Y   y xY w­w)Nr9  rñ   r˜   r™   ©rz   r   c                  ó$   •— e Zd Z	 	 	 	 dˆ ˆfd„Zy)ú3test_SocketType_connect_paths.<locals>.CancelSocketc                ó  •— t        ‰t        «      sJ ‚‰j                  «        t        j                  | j                  «       | j                  | j                  «      ‰_        ‰j                  j                  |«       t        ‚r%   )rY   r   r_  rC   r´   r×   r.   r/   Ú_sockr  rb   )r&   r  r`  rº   s     €€r(   r  z;test_SocketType_connect_paths.<locals>.CancelSocket.connectb  sd   ø€ ô
 & d¬KÔ8Ð8Ð8à ×'Ñ'Ô)Ü!.×!5Ñ!5ØŸ™›ØŸ™ØŸ	™	ó"�D”Jð
 —J‘J×&Ñ& wÔ/ä)Ð)r*   N)r  r   rG   rH   )rM   rN   rO   r  )r`  rº   s   €€r(   ÚCancelSocketrf  a  s   ø„ ð*à*ð*ð ÷*r*   ri  r‚   z^^\[\w+ \d+\] Error connecting to \('127\.0\.0\.\d', \d+\): (Connection refused|Unknown error)$)rz   r
   )re   r   r_   r`   rZ   r  r   r^  r_  rP  r4   r	  rC   rY   r   rh  rØ   r   r
  r©   rô   )r  ri  r`  rº   s     @@r(   Útest_SocketType_connect_pathsrj  G  s£  ùè ø€ ä	�‰Ó	ð ,˜TÜ�]‰]ÜØ]ô
ñ 	,ð
 —,‘,˜{Ó+×+Ð+÷	,÷,ô 
�‰Ó	ð 6˜TÜ×ÑÓ ð 	6 LØ×ÑÔ!Ü—‘œuŸ™Ó/ñ 6Ø—l‘lÐ#4Ó5×5Ð5÷6÷	6÷6ô 
×	Ñ	Ó	ð "' Ü�^‰^Óð !	' ¤w§~¡~Ó'7ð !	'¸8Ø—-‘-Ð 0Ó1×1Ð1Ø�O‰OÔ÷
*œ}×3Ñ3ô *ô& ˜d¤KÔ0Ð0Ð0Ø�J‰J×ÑÔÙ%›ˆDŒJä#Ó%ñ ?Ü—]‘]¤5§?¡?Ó3ñ ?ØŸ,™, x×';Ñ';Ó'=Ó>×>Ð>÷?÷?ð —;‘;“= BÒ&Ð&Ñ&÷C!	'÷ !	'÷"'ôJ 
�‰Ó	ð 1˜TÜ�]‰]ÜØsô
ñ 	1ð —,‘,Ð/Ó0×0Ð0÷	1÷1ð 1ð_ ,ù÷	,ñ 	,ú÷,ñ ,úð 6ù÷6ñ 6ú÷	6ñ 	6ú÷6ñ 6úð 2ùð> ?ø÷?ð ?ú÷?ð ?ú÷=!	'ð !	'ú÷ !	'ð !	'ú÷"'ð "'úðh 1ø÷	1ð 	1ú÷1ð 1üs~  „L;™J)µJÁ
JÁJÁJ)ÁL;Á3KÂ4KÂ<J9ÃJ6
ÃJ9ÃKÃKÃ&L;ÄLÄL	Ä,K=ÅK 
ÅA2K=Æ4$K1	Ç#K%Ç;K#Ç<K%È K1	ÈK=È&L	È.LÈ6L;ÉL/É.L#ÊL!ÊL#ÊL/Ê	L;ÊJÊJ&	Ê!J)Ê)J3Ê.L;Ê6J9Ê9KÊ>KËK	ËKËKËL;Ë K=Ë#K%Ë%K.Ë*K1	Ë1K:Ë6K=Ë=LÌL	Ì	L	ÌLÌLÌL;Ì!L#Ì#L,	Ì(L/Ì/L8Ì4L;c               ƒ  ó  K  — d} t        j                  «       5 }t        j                  t        d| ›d�¬«      5  |j                  | df«      ƒ d {  –—†  d d d «       d d d «       y 7 Œ# 1 sw Y   ŒxY w# 1 sw Y   y xY w­w)Nrz   z#^\[\w+ \d+\] Error connecting to \(z*, 2\): (Connection refused|Unknown error)$rñ   r
   )re   r   r_   r`   rô   r  )r  rº   s     r(   Útest_address_in_socket_errorrl  ‘  s   è ø€ à€GÜ	�‰Ó	ð -˜TÜ�]‰]ÜØ8¸¸ÐCmÐnô
ñ 	-ð —,‘, ¨˜|Ó,×,Ð,÷	-÷-ð -ð -ø÷	-ð 	-ú÷-ð -üsE   ‚B ™ A4¹A(ÁA&ÁA(ÁA4Á	B Á&A(Á(A1	Á-A4Á4A=Á9B c            	   ƒ  ó  ‡K  — t        j                  «       5 Št        j                  «       5 } 	 	 	 	 	 	 dˆfd„}t	        | t
        «      sJ ‚|| _        t        «       5  t        j                  t         j                  «      5  | j                  d«      ƒ d {  –—†  d d d «       d d d «       | j                  «       dk(  sJ ‚	 d d d «       d d d «       y 7 Œ;# 1 sw Y   Œ:xY w# 1 sw Y   Œ>xY w# 1 sw Y   Œ,xY w# 1 sw Y   y xY w­w)Nc             “  ó€   •K  — | dk(  sJ ‚|rJ ‚‰j                  «        t        j                  «       ƒ d {  –—†  y 7 Œ­wr/  )r_  r   Ú
checkpoint)r  r1  r`  s     €r(   r4  zVtest_resolve_address_exception_in_connect_closes_socket.<locals>._resolve_address_nocp£  s;   øè ø€ ð
  "’}Ð$�}Ù Ð �yØ×#Ñ#Ô%Ü×&Ñ&Ó(×(Ò(ús   ƒ3>¶<·>r}   r‚   )r  r   r1  r^   rG   rH   )r   r^  re   r   rY   r   r4  r   r_   r`   rP  r  r©   )rº   r4  r`  s     @r(   Ú7test_resolve_address_exception_in_connect_closes_socketrp  ž  sø   øè ø€ ä	×	Ñ	Ó	ð ' Ü�^‰^Óð 	' ð)Ø&ð)ð ð)ð õ	)ô ˜d¤KÔ0Ð0Ð0Ø)>ˆDÔ&Ü#Ó%ñ +Ü—]‘]¤5§?¡?Ó3ñ +ØŸ,™, rÓ*×*Ð*÷+÷+ð —;‘;“= BÒ&Ð&Ñ&÷#	'÷'ð 'ð" +ø÷+ð +ú÷+ð +ú÷	'ð 	'ú÷'ð 'üsu   ƒD˜C8­0C,Á$C ÂC	ÂCÂC	ÂC Â#C,ÃC8Ã		DÃC	ÃCÃC Ã C)Ã%C,Ã,C5	Ã1C8Ã8DÃ=Dc            	   ƒ  ó˜  K  — t        j                  «       \  } }| 5  |5  | j                  d«      ƒ d {  –—† dk(  sJ ‚|j                  dt         j                  «      ƒ d {  –—† dk(  sJ ‚|j                  d«      ƒ d {  –—† dk(  sJ ‚| j                  d«      ƒ d {  –—†  t        d«      }|j                  |«      ƒ d {  –—†  |dk(  sJ ‚t        | d«      r>| j                  dgg «      ƒ d {  –—† dk(  sJ ‚|j                  d«      ƒ d {  –—† dk(  sJ ‚d d d «       d d d «       t        j                  t         j                  ¬«      } t        j                  t         j                  ¬«      }| 5  |5  | j                  d	«      ƒ d {  –—†  |j                  d	«      ƒ d {  –—†  |j                  «       d
|j                  «       d   fg}|D ]Y  }| j                  d|«      ƒ d {  –—† dk(  sJ ‚|j                  d«      ƒ d {  –—† \  }}|dk(  sJ ‚|| j                  «       k(  rŒYJ ‚ t        t         d«      rÎ| j                  dt         j                  |j                  «       «      ƒ d {  –—†  | j                  dt         j                  |j                  «       «      ƒ d {  –—†  | j                  d|j                  «       «      ƒ d {  –—†  |j                  d«      ƒ d {  –—† \  }}|dk(  sJ ‚|| j                  «       k(  sJ ‚| j                  d|j                  «       «      ƒ d {  –—† dk(  sJ ‚t        d«      }|j!                  |«      ƒ d {  –—† \  }}|dk(  sJ ‚|dk(  sJ ‚|| j                  «       k(  sJ ‚t        |d«      ru| j                  d|j                  «       «      ƒ d {  –—† dk(  sJ ‚|j#                  d«      ƒ d {  –—† \  }}}	}|dk(  sJ ‚|g k(  sJ ‚|	dk(  sJ ‚|| j                  «       k(  sJ ‚t        |d«      r�| j                  d|j                  «       «      ƒ d {  –—† dk(  sJ ‚t        d«      }
t        d«      }|j%                  |
|g«      ƒ d {  –—† }|\  }}}	}|dk(  sJ ‚|
dk(  sJ ‚|dk(  sJ ‚|g k(  sJ ‚|	dk(  sJ ‚|| j                  «       k(  sJ ‚t        | d«      rX|D ]S  }| j                  ddgg d|«      ƒ d {  –—† dk(  sJ ‚|j                  d«      ƒ d {  –—† d| j                  «       fk(  rŒSJ ‚ d d d «       d d d «       t        j                  t         j                  ¬«      } t        j                  t         j                  ¬«      }| 5  |5  |j                  d	«      ƒ d {  –—†  | j'                  |j                  «       «      ƒ d {  –—†  | j                  d«      ƒ d {  –—†  | j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—† dk(  sJ ‚|j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       d d d «       y 7 �Œ÷7 �ŒÍ7 �Œ²7 �Œ—7 �Œv7 �ŒK7 �Œ0# 1 sw Y   �Œ+xY w# 1 sw Y   �Œ0xY w7 �ŒÑ7 �Œ»7 �Œz7 �Œ_7 �Œú7 �ŒÆ7 �Œ¡7 �Œ‹7 �ŒG7 �Œ!7 �ŒÊ7 �Œ¯7 �ŒO7 �Œ7 �Œ±7 �Œ–# 1 sw Y   �ŒxY w# 1 sw Y   �Œ„xY w7 �Œ%7 �Œ7 Œê7 ŒÓ7 Œ¼7 Œ # 1 sw Y   Œ™xY w# 1 sw Y   y xY w­w)Nr¢   r£   rD  s
   x         Úsendmsgs   xxxr³   r|   rd  r˜   ÚMSG_MOREs   yyys   zzzs	   xxxyyyzzzs
   xxx       Úrecvmsgr   Úrecvmsg_intos   xyzwr(  r
   s   xys   zw s   yzs   xyz)re   r§   rª   r«   ÚMSG_PEEKÚ	bytearrayÚ	recv_intorŽ   rr  r   rˆ   r4   r
  ÚsendtoÚrecvfromrs  Úrecvfrom_intort  ru  r  )r¾   r¿   ÚbufÚtargetsÚtargetÚdatar  ÚnbytesÚancdataÚ	msg_flagsÚbuf1Úbuf2Úrets                r(   Útest_send_recv_variantsr†  µ  s8  è ø€ Ü×ÑÓ�D€A€qØ	
ñ .ˆAñ .à—V‘V˜D“\×! QÒ&Ð&Ð&Ø—V‘V˜B¤× 0Ñ 0Ó1×1°TÒ9Ð9Ð9Ø—V‘V˜B“Z× 4Ò'Ð'Ð'ð �f‰f�T‹l×ÐÜ˜‹mˆØ�k‰k˜#Ó×ÐØÐ(Ò(Ð(Ð(ä�1�iÔ ØŸ™ F 8¨RÓ0×0°AÒ5Ð5Ð5ØŸ™ ›×# vÒ-Ð-Ð-÷.÷ .ô  	�‰œG×.Ñ.Ô/€AÜ�‰œG×.Ñ.Ô/€AØ	
ñ =IˆAñ =IØ�f‰fÐ%Ó&×&Ð&Ø�f‰fÐ%Ó&×&Ð&à—=‘=“? [°!·-±-³/À!Ñ2DÐ$EÐFˆð ò 	+ˆFØŸ™ &¨&Ó1×1°QÒ6Ð6Ð6Ø Ÿz™z¨"›~×-‰JˆD�$Ø˜6’>Ð!�>Ø˜1Ÿ=™=›?Ó*Ð*Ð*ð		+ô ”7˜JÔ'Ø—(‘(˜6¤7×#3Ñ#3°Q·]±]³_ÓE×EÐEØ—(‘(˜6¤7×#3Ñ#3°Q·]±]³_ÓE×EÐEØ—(‘(˜6 1§=¡=£?Ó3×3Ð3Ø Ÿz™z¨"›~×-‰JˆD�$Ø˜<Ò'Ð'Ð'Ø˜1Ÿ=™=›?Ò*Ð*Ð*ð —X‘X˜f a§m¡m£oÓ6×6¸!Ò;Ð;Ð;Ü˜‹mˆØŸ_™_¨SÓ1×1‰ˆ�Ø˜Š{Ðˆ{ØÐ*Ò*Ð*Ð*Ø�q—}‘}“Ò&Ð&Ð&ä�1�iÔ ØŸ™ &¨!¯-©-«/Ó:×:¸aÒ?Ð?Ð?Ø34·9±9¸R³=×-@Ñ*ˆD�'˜9 dØ˜6’>Ð!�>Ø˜b’=Ð �=Ø ’>Ð!�>Ø˜1Ÿ=™=›?Ò*Ð*Ð*ä�1�nÔ%ØŸ™ '¨1¯=©=«?Ó;×;¸qÒ@Ð@Ð@Ü˜Q“<ˆDÜ˜Q“<ˆDØŸ™¨¨d |Ó4×4ˆCØ/2Ñ,ˆF�G˜Y¨Ø˜Q’;Ð�;Ø˜5’=Ð �=Ø˜?Ò*Ð*Ð*Ø˜b’=Ð �=Ø ’>Ð!�>Ø˜1Ÿ=™=›?Ò*Ð*Ð*ä�1�iÔ Ø!ò I�ØŸY™Y¨¨e }°b¸!¸VÓD×DÈÒIÐIÐIØŸZ™Z¨›^×+°¸¿¹»Ð/HÓHÐHÐHðI÷w=I÷ =Iô~ 	�‰œG×.Ñ.Ô/€AÜ�‰œG×.Ñ.Ô/€AØ	
ñ *ˆAñ *Ø�f‰fÐ%Ó&×&Ð&Ø�i‰i˜Ÿ™›Ó(×(Ð(ð �f‰f�V‹n×ÐØ�f‰f�V‹n×ÐØ—V‘V˜B“Z× 6Ò)Ð)Ð)Ø—V‘V˜B“Z× 6Ò)Ð)Ñ)÷*÷ *ð *ðc "ùØ1ùØùð 	ùàùð 1ùØ#ù÷.ñ .ú÷ .ñ .úð& 	'ùØ&ùð 2ùØ-ùð FùØEùØ3ùØ-ùð
 7ùà1ùð ;ùØ-@ùð <ùð 5ùð EùØ+ù÷{=Iñ =Iú÷ =Iñ =IúðD 	'ùØ(ùð 	øØøØøØø÷*ð *ú÷ *ð *üs¯  ‚[
œYŸY ´X+µ,Y Á!X.Á"Y Á?X1Â Y ÂX4Â#Y ÃX7Ã-Y Ã/X:Ã0Y ÄX=Ä	Y ÄYÄA[
Å1ZÅ4Z
Æ	YÆ
Z
Æ"YÆ#AZ
Ç&Y 
Ç'Z
ÈY#
È!Z
È'AZ
É,Y&É-6Z
Ê#Y)Ê$'Z
ËY,ËZ
Ë$Y/Ë%AZ
Ì+Y2Ì,(Z
ÍY5ÍAZ
Î.Y8Î/Z
ÏY;ÏA"Z
Ð/Y>Ð05Z
Ñ%ZÑ&A-Z
ÓZ
ÓZ
Ó1Z
Ó2Z
Ô
Z
ÔZÔA[
Õ'Z>Õ*Z2Õ?Z$Ö &Z2Ö&Z'Ö'Z2Ö?Z*× Z2×Z,×Z2×1Z.×2Z2ØZ0Ø	Z2ØZ>Ø"	[
Ø+Y Ø.Y Ø1Y Ø4Y Ø7Y Ø:Y Ø=Y Ù Y
	ÙYÙYÙ[
ÙZ
ÙZ
Ù Z
Ù#Z
Ù&Z
Ù)Z
Ù,Z
Ù/Z
Ù2Z
Ù5Z
Ù8Z
Ù;Z
Ù>Z
ÚZ
ÚZ
ÚZ
Ú
Z	ÚZÚZ!Ú[
Ú$Z2Ú'Z2Ú*Z2Ú,Z2Ú.Z2Ú0Z2Ú2Z;	Ú7Z>Ú>[Û[
c              ƒ  óT  K  — | j                  ddd«       | j                  dddt        ¬«       | j                  dddt        ¬«       | j                  dd	d«       | j                  dd
d«       t        j                  dd«      ƒ d {  –—† dk(  sJ ‚t        j                  dd«      ƒ d {  –—† dk(  sJ ‚t        j                  dd«      ƒ d {  –—† dk(  sJ ‚t        j                  d
d«      ƒ d {  –—† dk(  sJ ‚t        j                  dd«      ƒ d {  –—† dk(  sJ ‚y 7 Œ–7 Œu7 ŒT7 Œ37 Œ­w)Nu
   ok faÃŸ.des   xn--fa-hia.der—   zok ::1r   )r1   s   ::1Úbadzfass.dezxn--fa-hia.deu   faÃŸ.de)r@   r   re   rF   )rV   s    r(   Ú	test_idnar‰    s  è ø€ ð ‡M�M�,Ð 0°"Ô5Ø‡M�M�(˜E 2¬]€MÔ;Ø‡M�M�(˜F B¬m€MÔ<à‡M�M�%˜ BÔ'à‡M�M�%˜¨"Ô-ä×$Ñ$ U¨BÓ/×/°8Ò;Ð;Ð;Ü×$Ñ$ V¨RÓ0×0°HÒ<Ð<Ð<Ü×$Ñ$ Y°Ó3×3°|ÒCÐCÐCÜ×$Ñ$ _°bÓ9×9¸\ÒIÐIÐIÜ×$Ñ$Ð%5°rÓ:×:¸lÒJÐJÑJð	 0øØ0øØ3øØ9øØ:úsZ   ‚BD(ÂDÂ"D(Â*D Â+"D(ÃD"Ã"D(Ã0D$Ã1"D(ÄD&ÄD(Ä D(Ä"D(Ä$D(Ä&D(c               ƒ  óœ   K  — t        j                  d«      ƒ d {  –—† dk(  sJ ‚t        j                  d«      ƒ d {  –—† dk(  sJ ‚y 7 Œ,7 Œ­w)NÚudpé   Útcpé   )re   ÚgetprotobynamerQ   r*   r(   Útest_getprotobynamer�  '  sI   è ø€ ô ×'Ñ'¨Ó.×.°"Ò4Ð4Ð4Ü×'Ñ'¨Ó.×.°!Ò3Ð3Ñ3ð /øØ.ús   ‚A›Aœ!A½A
¾AÁ
Ac           	   ƒ  ó¢  K  —  G d„ d«      } |«       }t        j                  |«      �J ‚t         j                  dddfdt         j                  ddfddt         j                  dfdddt         j
                  ffD ],  }t        j                  ddg|¢­Ž ƒ d {  –—† dddg|¢­k(  rŒ,J ‚ t        j                  dd«      ƒ d {  –—† }d	}||k(  sJ ‚t        j                  d
d«      ƒ d {  –—† dk(  sJ ‚t        j                  d «      |u sJ ‚| j                  ddddddd¬«       t        j                  dd«      ƒ d {  –—† dk(  sJ ‚y 7 Œ°7 Œ‡7 Œb7 Œ­w)Nc                  óD   — e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Zy)ú5test_custom_hostname_resolver.<locals>.CustomResolverc              “  ó   K  — d||||||fS ­w)NÚ
custom_gairQ   )r&   r8   r9   r.   r/   r0   r1   s          r(   rF   zAtest_custom_hostname_resolver.<locals>.CustomResolver.getaddrinfo1  s   è ø€ ð ! $¨¨f°d¸EÀ5ÐIÐIùs   ‚
c              “  ó   K  — d||fS ­w)NÚ
custom_gnirQ   )r&   rr   r1   s      r(   r�   zAtest_custom_hostname_resolver.<locals>.CustomResolver.getnameinfo<  s   è ø€ ð
 ! (¨EÐ2Ð2ùs   ‚N)r8   r  r9   r  r.   rK   r/   rK   r0   rK   r1   rK   rG   z(tuple[str, str, str, int, int, int, int])rr   z+tuple[str, int] | tuple[str, int, int, int]r1   rK   rG   z<tuple[str, tuple[str, int] | tuple[str, int, int, int], int])rM   rN   rO   rF   r�   rQ   r*   r(   ÚCustomResolverr“  0  su   „ ð		Jàð		Jð ð		Jð ð			Jð
 ð		Jð ð		Jð ð		Jð 6ó		Jð	3àAð	3ð ð	3ð Jô		3r*   r˜  r   r˜   Úfoor•  s	   localhostu   fÃ¶Ã¶)r•  s
   xn--f-1gaar™  r   r   r   r   r¾   )r—  r¾   r   r€   r�   r9   r-   r8   )	re   Úset_custom_hostname_resolverr†   r…   r‡   ÚAI_CANONNAMErF   r�   r@   )rV   r˜  ÚcrÚvalsrw   rx   s         r(   Útest_custom_hostname_resolverrž  .  s‰  è ø€ ÷3ñ 3ñ& 
Ó	€Bä×/Ñ/°Ó3Ð;Ð;Ð;ô 
�‰˜!˜Q Ð"Ø	
ŒG×Ñ  AÐ&Ø	
ˆAŒw×"Ñ" AÐ&Ø	
ˆAˆq”'×&Ñ&Ð'ð	ò 
ˆô ×(Ñ(¨°eÐC¸dÒC×CØØØðH
ð ñ	H
ó 
ð 	
ð 
ð
ô ×#Ñ# G¨UÓ3×
3€CØ?€HØ�(Š?Ðˆ?ä×$Ñ$ S¨!Ó,×,ð 1ò ð ð ô ×/Ñ/°Ó5¸Ñ;Ð;Ð;ð ‡M�M�#�w ¨q°qÀÈ€MÔKÜ×$Ñ$ V¨VÓ4×4¸Ò;Ð;Ñ;ð1 Døð 4øð -øð 5úsO   ‚BEÂEÂEÂ%EÃE	Ã&EÃ(EÃ)AEÄ<EÄ=EÅ	EÅEÅEc               ƒ  ó¨  K  —  G d„ d«      }  | «       }t        j                  |«      �J ‚t        j                  «       dt         j                  t         j                  dfk(  sJ ‚t        j                  ddd«      dk(  sJ ‚t        j                  «       j                  «       }t        j                  |¬	«      }t        |d
«      sJ ‚|j                  «        t        j                  «       \  }}|5  |5  t        |d
«      sJ ‚t        |d
«      sJ ‚	 d d d «       d d d «       t        j                  d «      |u sJ ‚y # 1 sw Y   Œ+xY w# 1 sw Y   Œ/xY w­w)Nc                  ó$   — e Zd Z	 	 	 	 	 	 	 	 dd„Zy)ú7test_custom_socket_factory.<locals>.CustomSocketFactoryc                ó   — d|||fS )NÚhirQ   )r&   r.   r/   r0   s       r(   r   z>test_custom_socket_factory.<locals>.CustomSocketFactory.socketm  s   € ð ˜& $¨Ð.Ð.r*   N)r.   r   r/   r   r0   rK   rG   z*tuple[str, AddressFamily, SocketKind, int])rM   rN   rO   r   rQ   r*   r(   ÚCustomSocketFactoryr¡  l  s-   „ ð	/à!ð	/ð ð	/ð ð		/ð
 8ô	/r*   r¤  r£  r   r£   r
   r³   )r£  r£   r
   r³   rÖ   r4   )
re   Úset_custom_socket_factoryr   r†   r…   rC   r×   rŽ   rØ   r§   )r¤  Úcsfrç   Úwrappedr¾   r¿   s         r(   Útest_custom_socket_factoryr¨  k  s1  è ø€ ÷/ñ /ñ Ó
€Cä×,Ñ,¨SÓ1Ð9Ð9Ð9ä�>‰>Ó ¤g§o¡o´w×7JÑ7JÈAÐNÒNÐNÐNÜ�>‰>˜!˜Q Ó" oÒ5Ð5Ð5ô 
×	Ñ	Ó	×	&Ñ	&Ó	(€BÜ�n‰n BÔ'€GÜ�7˜FÔ#Ð#Ð#Ø‡M�M„Oô ×ÑÓ�D€A€qØ	
ñ "ˆAñ "Ü�q˜&Ô!Ð!Ð!Ü�q˜&Ô!Ð!Ñ!÷"÷ "ô ×,Ñ,¨TÓ2°cÑ9Ð9Ñ9÷	"ð "ú÷ "ð "üs6   ‚C-EÃ/EÃ2D:ÄEÄ"EÄ:E	Ä?EÅEÅEc                 óˆ   — t        j                  t        «      5  t        j                  «        d d d «       y # 1 sw Y   y xY wr%   )r_   r`   r¬   re   r   rQ   r*   r(   Útest_SocketType_is_abstractrª  ‹  s/   € Ü	�‰”yÓ	!ñ Ü×ÑÔ÷÷ ñ ús	   š8¸AÚAF_UNIXzno unix domain socketsc               ƒ  óÊ  K  — dd„} t        j                  «       5 } | |› d�«      ƒ d {  –—†   | t        |› d�«      «      ƒ d {  –—†   | t        j                  |› d�«      «      ƒ d {  –—†  d d d «       	 t        j
                  d«      j                  «       j                  d«      } | d|z   «      ƒ d {  –—†  y 7 Œ•7 Œ{7 ŒW# 1 sw Y   ŒVxY w7 Œ# t        $ r Y y w xY w­w)	Nc              “  ó^  K  — t        j                  t         j                  ¬«      5 }|j                  | «      ƒ d {  –—†  |j	                  d«       t        j                  t         j                  ¬«      5 }|j                  | «      ƒ d {  –—†  |j                  «       ƒ d {  –—† \  }}|5  |j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       d d d «       d d d «       y 7 ŒÂ7 Œu7 Œ_7 ŒB7 Œ+# 1 sw Y   Œ$xY w# 1 sw Y   Œ(xY w# 1 sw Y   y xY w­w)Nr  rD  r¢   r£   )	re   r   r«  r4   r	  r  r  rª   r«   )ÚpathÚlsockÚcsockÚssockrì   s        r(   Úcheck_AF_UNIXz.test_unix_domain_socket.<locals>.check_AF_UNIX•  só   è ø€ Ü�^‰^¤7§?¡?Ô3ð 	7°uØ—*‘*˜TÓ"×"Ð"Ø�L‰L˜ÔÜ—‘¤w§¡Ô7ð 7¸5Ø—m‘m DÓ)×)Ð)Ø!&§¡£×/‘��qØñ 7ØŸ*™* TÓ*×*Ð*Ø!&§¡¨A£×.°$Ò6Ð6Ñ6÷7÷7÷	7ð 	7Ø"øð *øØ/øà*øØ.ø÷7ð 7ú÷7ð 7ú÷	7ð 	7üs¤   ‚%D-§D!¼C?½9D!Á6DÂDÂDÂ#DÂ$	DÂ-D	ÃD
ÃD	ÃD
Ã	D	Ã&DÃ.D!Ã6	D-Ã?D!ÄDÄDÄD	ÄD	Ä	DÄDÄD	ÄD!Ä!D*Ä&D-z/sockz/sock1z/sock2r  Úasciis    trio-test-)r®  zstr | bytes | os.PathLike[str]rG   rH   )	ÚtempfileÚTemporaryDirectoryr   rÉ   ÚfsencodeÚurandomÚhexÚencodeÚFileNotFoundError)r²  ÚtmpdirÚcookies      r(   Útest_unix_domain_socketr½  �  sÝ   è ø€ ó
	7ô 
×	$Ñ	$Ó	&ð <¨&ñ ˜v˜h eÐ,Ó-×-Ð-ÙœD F 8¨6Ð!2Ó3Ó4×4Ð4ÙœBŸK™K¨6¨(°&Ð(9Ó:Ó;×;Ð;÷<ðÜ—‘˜B“×#Ñ#Ó%×,Ñ,¨WÓ5ˆÙÐ-°Ñ6Ó7×7Ñ7ð 	.øØ4øØ;ø÷<ð <úð 	8ùÜò áðüs‡   ‚C#›CªC «CÁCÁ%CÁ,CÁ-CÁ1C#Á:A C Â:CÂ;C Â?C#Ã CÃCÃCÃCÃC#ÃC Ã	C ÃC#ÃC Ã C#c            	   ƒ  óf  ‡‡K  — t        j                  «       \  } }| 5  |5  | j                  d«       ddz  Š	 	 | j                  ‰«       Œ# t        $ r Y nw xY wt        j                  | «      Šdˆˆfd„}dˆfd„}t        j                  «       4 ƒd {  –—†7  }|j                  |«       |j                  |«       t        «       ƒ d {  –—†7   ‰j                  «        d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       n# 1 sw Y   nxY wd d d «       y # 1 sw Y   y xY w­w)NFr¢   iŸ† c               “  ó´   •K  — t        j                  t        j                  «      5  ‰ j	                  ‰«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wr%   )r_   r`   r   ÚClosedResourceErrorrª   )r¾   r  s   €€r(   Úsenderz)test_interrupted_by_close.<locals>.senderÀ  sG   øè ø€ Ü—‘œu×8Ñ8Ó9ñ #Ø—f‘f˜T“l×"Ð"÷#ð #Ø"ø÷#ð #üó,   ƒ$A§A¼A
½AÁ	AÁ
AÁAÁAc               “  ó´   •K  — t        j                  t        j                  «      5  ‰ j	                  d«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­w)Nr£   )r_   r`   r   rÀ  r«   )r¾   s   €r(   Úreceiverz+test_interrupted_by_close.<locals>.receiverÄ  sE   øè ø€ Ü—‘œu×8Ñ8Ó9ñ  Ø—f‘f˜Q“i—�÷ ð  Øø÷ ð  ürÂ  r\  )rC   r§   r]  rª   rb   re   r¨   r   r¼   r½   r   rØ   )Úa_stdlibÚb_stdlibrÁ  rÄ  rÀ   r¾   r  s        @@r(   Útest_interrupted_by_closerÇ  ±  s  ùè ø€ Ü&×1Ñ1Ó3Ñ€HˆhØ	ñ �8ñ Ø×Ñ˜UÔ#à�e‰|ˆð	ØØ—‘˜dÔ#ð øäò 	Ùð	úô ×&Ñ& xÓ0ˆö	#õ	 ô ×%Ñ%Ó'÷ 	ñ 	¨7Ø×Ñ˜vÔ&Ø×Ñ˜xÔ(Ü(Ó*×*Ñ*Ø�G‰GŒI÷		÷ 	÷ 	÷ 	ó 	ú÷+÷ ñ ú÷ ÷ ñ üs˜   „D1žD%¡D¹AÁ	AÁDÁAÁ=DÂB
ÂDÂ0C2Ã
C
ÃC2Ã DÃ+C.Ã,DÃ2DÃ8C;Ã9DÄ DÄ	D%ÄD	ÄD%Ä	D1Ä%D.Ä*D1c               ƒ  ó–  K  — d} g }t        d| d«      D ]!  }	 t        j                  «       \  }}|||gz  }Œ# t        j                  «       4 ƒd {  –—† }|D ]"  }|j                  t        j                  |«       Œ$ t        j                  «       ƒ d {  –—†  |j                  j                  «        d d d «      ƒd {  –—†  |D ]  }|j                  «        Œ y # t        $ rH}|j                  t        j
                  t        j                  fv sJ ‚t        d|› d�«       Y d }~ Œîd }~ww xY w7 ŒÝ7 Œœ7 Œt# 1 ƒd {  –—†7  sw Y   Œ„xY w­w)Niè  r   r
   zUnable to open more than z	 sockets.)ÚrangerC   r§   rô   r�   ÚEMFILEÚENFILEr¹   r   r¼   r½   r  r   r`  r_  rØ   )ÚtotalrÚ   Úopenedr¾   r¿   r[   rÀ   r   s           r(   Útest_many_socketsrÎ  Ï  s?  è ø€ Ø€EØ€Gä˜˜5 !Ó$ò ˆð		Ü ×+Ñ+Ó-‰DˆAˆqð 	�A�q�6Ñ‰ðô ×!Ñ!Ó#÷ &ð & wØò 	<ˆFØ×Ñœu×2Ñ2°FÕ;ð	<ä×*Ñ*Ó,×,Ð,Ø×Ñ×#Ñ#Ô%÷	&÷ &ð
 ò ˆØ�‰�ñøô ò 	ð —9‘9¤§¡¬u¯|©|Ð <Ñ<Ð<Ð<ÜÐ-¨f¨X°YÐ?Ô@åûð	úð&øð 	-øð&ø÷ &÷ &ñ &üs�   ‚E	˜C¯!E	ÁD.ÁE	Á?D4ÂD0ÂD4Â2E	Â=D2Â>E	Ã	D+Ã#=D&Ä E	Ä&D+Ä+E	Ä0D4Ä2E	Ä4EÄ:D=Ä;EÅE	)rT   zpytest.MonkeyPatchrG   r   r\  )rV   r   rG   rH   )rº   zSocketType | SocketStreamrG   rH   )r  r  r  r   rG   rH   )rG   r^   )r  r   r$  r  rG   rH   )aÚ
__future__r   r�   r2   rÉ   r   rC   rÆ   r´  Úpathlibr   r   r   Útypingr   r   r	   Úattrsr_   r}   r   re   Ú_core._tests.tutilr   r   r   r   Ú_socketr   r   r   r   r   Útestingr   r   Úcollections.abcr   Ú_highlevel_socketr   r5  rK   r  r:  r   r#  Úlistr   r   r   r   ÚfixturerV   rc   rj   r”   r    r±   rµ   rÁ   ÚmarkÚskipifrŽ   rÍ   rÑ   rÓ   rÇ   rÝ   ré   rí   rë   rú   r  Úparametrizer†   Úparamr‰   r  r  r  Údefiner  rB  rF  rb  rj  rl  rp  r†  r‰  r�  rž  r¨  rª  r½  rÇ  rÎ  rQ   r*   r(   ú<module>rß     s˜  ðÞ "ã Û Û 	Û Û 
Û Ý ß ,ß 1Ñ 1ã Û ç 'ß PÓ Pß VÕ Vß @áÝ(å0àØØØØØˆc�3ˆh‰˜%  S¨#¨sÐ 2Ñ3Ñ3°e¸CÀ¸JÑ6GÑGð		Iñ€Hˆió ð &*¨(¡^Ð˜Ó3Ø!&Øˆe‰�dÑØˆe‰�cÑ˜DÑ ØØØØð	ñ"€O�Yô ð ÓØ ÐØ€O÷GPñ GPðT ‡�òó ðó&ó<0óW7ótóF/ó,"ó
)ð ‡�×Ñ™ ¨Ó5Ð5¸nÐÓMò+ó Nð+ó+ð ò,ó ð,ð ‡�×Ñ�C—L‘L GÑ+°LÐÓAòó BðóB0ófó HóF	+ó&ð6 ‡�×ÑØà	�g—o‘oÐ&Øˆ�‰�U˜G×,Ñ,°JÔ?ðóð0Øð0àð0ð 
ò0óð0ó(#óð €‡��EÔ÷ð ó ðð ‡�×ÑØð �O‰OÙØ"Ø%Ø#Ø+ô	ð	
ð 	ˆ�‰Ø×ÑÙØØØ Ø2ô	ð ô		
ðóò0z5ó1ð0z5óz+ó&GðV òE1ó ðE1ðR ò	-ó ð	-ó'ó.]*ó@Kó$4ó:<óz:ó@ð
 ‡�×Ñ™ ¨Ó3Ð3Ð<TÐÓUòó Vðó@ô<r*   