§
    ¯õiÇ  ã                  ó  — 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m	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZmZmZ d dlZd dlmZ d dlmZ d d	lmZmZ d d
lmZmZmZm Z  	 d dl!Z!d dl"m#Z# n# e$$ rZ% ee%¦  «         Y dZ%[%ndZ%[%ww xY wd dlZddl&m'Z'mZ( ddl)m*Z* ddl'm+Z+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5 ddl6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z?m@Z@mAZAmBZB erd dlCmDZDmEZEmFZFmGZG d dlHmIZI d dlJmKZK ddlLmMZM  e!jN        ¦   «         ZOeO P                    d¦  «        ZQ ejR        ejS        jT        ¦  «        ZU eVed¦  «        reUxjW        ejX         z  c_W        eQ Y                    eU¦  «          ejZ        dddg¬ ¦  «        dud%„¦   «         Z[d&d'œdvd-„Z\e	dwdxd/„¦   «         Z]e		 dwdyd3„¦   «         Z^ G d4„ d5e*¦  «        Z_dzd6„Z`e
	 d{d|d:„¦   «         Zaddd;œd}dC„Zbeeef         ZcdDeddE<   	 	 d~ddH„Zeeeef         ZfdDeddI<   	 	 d~d€dK„Zgd�dL„Zhd�dM„Zid�dN„Zjd�dO„Zkd�dP„Zle.d‚dS„¦   «         Zmd�dT„ZndzdU„Zoejp         q                    ejr        dVk    o
ejs        dWk    dX¬Y¦  «        d�dZ„¦   «         Ztd�d[„Zuejp         v                    d\d&d]g¦  «        dƒd^„¦   «         Zwd�d_„Zxd�d`„Zyd�da„Zzd�db„Z{d�dc„Z|d�dd„Z}dzde„Z~d�df„Zd�dg„Z€d�dh„Z�d�di„Z‚d�dj„Zƒd�dk„Z„d�dl„Z…d�dm„Z†ejp         ‡                    dndo¦  «        d�dp„¦   «         Zˆd�dq„Z‰d�dr„ZŠd�ds„Z‹d�dt„ZŒdS )„é    )ÚannotationsN)ÚasynccontextmanagerÚcontextmanagerÚsuppress)Úpartial)Ú
SSLContext)ÚTYPE_CHECKINGÚAnyÚNoReturnÚ	TypeAlias)ÚStapledStream)Úskip_if_optional_else_raise)ÚReceiveStreamÚ
SendStream)ÚMatcherÚMemoryReceiveStreamÚMemorySendStreamÚRaisesGroup)ÚSSLé   )Ú_coreÚsocket)ÚStream)ÚBrokenResourceErrorÚClosedResourceError)Úslow)Úaclose_forcefully)Úopen_tcp_stream)ÚSocketListenerÚSocketStream)ÚNeedHandshakeErrorÚSSLListenerÚ	SSLStreamÚ_is_eof)ÚConflictDetector)Ú	SequencerÚassert_checkpointsÚcheck_two_way_streamÚlockstep_stream_pairÚmemory_stream_pair)ÚAsyncIteratorÚ	AwaitableÚCallableÚIterator)Ú	MockClock)ÚT_Stream)ÚCancelScopeútrio-test-1.example.orgÚOP_IGNORE_UNEXPECTED_EOFÚmoduleÚtls13Útls12)ÚscopeÚparamsÚrequestúpytest.FixtureRequestÚreturnússl.SSLContextc                ó4  — t          j        ¦   «         }t          t           d¦  «        r|xj        t           j         z  c_        t
                               |¦  «         | j        dv r|S | j        dk    rt           j        j	        |_
        |S t          ¦   «         ‚)Nr3   )Údefaultr5   r6   )ÚsslÚcreate_default_contextÚhasattrÚoptionsr3   ÚTRIO_TEST_CAÚconfigure_trustÚparamÚ
TLSVersionÚTLSv1_2Úmaximum_versionÚAssertionError)r9   Úctxs     ú`/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/trio/_tests/test_ssl.pyÚ
client_ctxrL   \   s‹   € å
Ô
$Ñ
&Ô
&€Cå�sÐ.Ñ/Ô/ð 5ØˆŒ�Ô4Ð4Ñ4ˆŒå× Ò  Ñ%Ô%Ð%Ø„}Ð,Ð,Ð,Øˆ
Ø	Œ˜'Ò	!Ð	!Ý!œnÔ4ˆÔØˆ
åÑÔÐó    F©Úexpect_failÚsockústdlib_socket.socketrO   ÚboolÚNonec               ó   — 	 t                                | dd¬¦  «        }|5  |                     ¦   «          	 |                     d¦  «        }|smt	          t
          t          j        ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   	 d d d ¦  «         |  	                    ¦   «          d S | 
                    |¦  «         Œš# 1 swxY w Y   	 |rt          d¦  «        ‚nb# t          t          f$ r Y |  	                    ¦   «          d S t          $ r.}|rt          d|¦  «         nt          d|¦  «         ‚ Y d }~nd }~ww xY w|  	                    ¦   «          d S # |  	                    ¦   «          w xY w)NTF)Úserver_sideÚsuppress_ragged_eofsi   zfailed to fail?z*ssl_echo_serve_sync got error as expected:z)ssl_echo_serve_sync got unexpected error:)Ú
SERVER_CTXÚwrap_socketÚdo_handshakeÚrecvr   ÚBrokenPipeErrorr?   ÚSSLZeroReturnErrorÚunwrapÚcloseÚsendallÚRuntimeErrorÚConnectionResetErrorÚConnectionAbortedErrorÚ	ExceptionÚprint)rP   rO   ÚwrappedÚdataÚexcs        rK   Ússl_echo_serve_syncrh   n   s8  € ð
,Ý×(Ò(ØØØ!&ð )ñ 
ô 
ˆð
 ð 	&ð 	&Ø× Ò Ñ"Ô"Ð"ð	&Ø—|’| DÑ)Ô)�Øð õ "¥/µ3Ô3IÑJÔJð )ð )ØŸšÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )àð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ðL 	�
Š
‰Œˆˆˆð7 —’ Ñ%Ô%Ð%ð	&ð	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ðF ð 	2ÝÐ0Ñ1Ô1Ð1ð	2øõ !Õ"8Ð9ð ð ð Øð 	�
Š
‰Œˆˆˆõ ð ð ð Øð 	ÝÐ>ÀÑDÔDÐDÐDåÐ=¸sÑCÔCÐCØð EÐDÐDÐDÐDøøøøðøøøð 	�
Š
‰Œˆˆˆøˆ�
Š
‰Œˆˆøøøs‰   ‚C/ ¡ACÁ-BÂCÂB	ÂCÂB	ÂCÂC/ Â;CÃCÃC/ ÃCÃC/ ÃE' Ã/EÄ E' Ä	EÄ $E	ÅE' Å	EÅE' Å'E=úAsyncIterator[SocketStream]c               óÖ  K  — t          j        ¦   «         \  }}t          j        ¦   «         4 ƒd {V —†}|5  |5  |                     t          j        j        t          t          || ¬¦  «        ¦  «         t          t          j        |¦  «        ¦  «        W V — d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )NrN   )Ústdlib_socketÚ
socketpairÚtrioÚopen_nurseryÚ
start_soonÚ	to_threadÚrun_syncr   rh   r    ÚtsocketÚfrom_stdlib_socket)rO   ÚaÚbÚnurserys       rK   Ússl_echo_server_rawrw   ¥   sð  è è € åÔ#Ñ%Ô%�D€A€qÝÔ Ñ"Ô"ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
> gð ð 	>ð 	>�ð 	>ð 	>Ø×ÒÝ”Ô'ÝÕ+¨Q¸KÐHÑHÔHñô ð õ
 �wÔ9¸!Ñ<Ô<Ñ=Ô=Ð=Ð=Ð=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð	
>ð 
>ð 
>ñ 
>ô 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>ð 
>øøøð 
>ð 
>ð 
>ð 
>ð 
>ð 
>sX   ²CµB:¸AB#ÂB:Â#B'Â'B:Â*B'Â+B:Â.CÂ:B>	Â>CÃB>	ÃCÃ
C"Ã%C"rL   r   ú AsyncIterator[SSLStream[Stream]]c               óª   K  — t          |¬¦  «        4 ƒd {V —†}t          || d¬¦  «        W V — d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )NrN   r2   ©Úserver_hostname)rw   r#   )rL   rO   rP   s      rK   Ússl_echo_serverr|   ·   s  è è € õ
 #¨{Ð;Ñ;Ô;ð Uð Uð Uð Uð Uð Uð U¸tÝ˜˜jÐ:SÐTÑTÔTÐTÐTÐTÐTðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð Uð Us   ™AÁ
AÁAc                  óL   — e Zd Z	 ddd„Zdd„Zdd	„Zdd
„Zdd„Zdd„Zddd„Z	dS )ÚPyOpenSSLEchoStreamNÚsleeperú'Callable[[str], Awaitable[None]] | Noner;   rS   c                ó>  — t          j        t           j        ¦  «        }ddlm}  |¦   «         }|                     |j        j        ¦  «         t          t           d¦  «        rJ ‚t           
                    |¦  «         t          j        |d ¦  «        | _        | j                             ¦   «          t          j        ¦   «         | _        t#          ¦   «         | _        t'          d¦  «        | _        t'          d¦  «        | _        |  |€dd
„}|| _        d S || _        d S )Nr   )ÚBindingÚOP_NO_TLSv1_4z2simultaneous calls to PyOpenSSLEchoStream.send_allz6simultaneous calls to PyOpenSSLEchoStream.receive_someÚ_Úobjectr;   rS   c              “  ó
   K  — d S ©N© )r„   s    rK   Úno_op_sleeperz3PyOpenSSLEchoStream.__init__.<locals>.no_op_sleeperì   s   è è € Ø�rM   ©r„   r…   r;   rS   )r   ÚContextÚSSLv23_METHODÚ,cryptography.hazmat.bindings.openssl.bindingr‚   Úset_optionsÚlibÚSSL_OP_NO_TLSv1_3rA   ÚTRIO_TEST_1_CERTÚconfigure_certÚ
ConnectionÚ_connÚset_accept_stater   Ú
ParkingLotÚ_lotÚ	bytearrayÚ_pending_cleartextr%   Ú_send_all_conflict_detectorÚ_receive_some_conflict_detectorr   )Úselfr   rJ   r‚   ru   r‰   s         rK   Ú__init__zPyOpenSSLEchoStream.__init__Æ   s"  € õ Œk�#Ô+Ñ,Ô,ˆð 	IÐHÐHÐHÐHÐHàˆG‰IŒIˆØ�Š˜œÔ/Ñ0Ô0Ð0õ �3 Ñ0Ô0Ð0Ð0Ð0Ý×'Ò'¨Ñ,Ô,Ð,Ý”^ C¨Ñ.Ô.ˆŒ
ØŒ
×#Ò#Ñ%Ô%Ð%ÝÔ$Ñ&Ô&ˆŒ	Ý"+¡+¤+ˆÔå+;Ø@ñ,
ô ,
ˆÔ(õ 0@ØDñ0
ô 0
ˆÔ,ð 	Ð6Øˆ?ðð ð ð ð )ˆDŒLˆLˆLà"ˆDŒLˆLˆLrM   c              ƒ  ó<   K  — | j                              ¦   «          d S r‡   )r”   Úbio_shutdown©rœ   s    rK   ÚaclosezPyOpenSSLEchoStream.acloseó   s    è è € ØŒ
×ÒÑ!Ô!Ð!Ð!Ð!rM   rR   c                ó4   — | j                              ¦   «         S r‡   )r”   Úrenegotiate_pendingr    s    rK   r£   z'PyOpenSSLEchoStream.renegotiate_pendingö   s   € ØŒz×-Ò-Ñ/Ô/Ð/rM   c                ó<   — | j                              ¦   «         sJ ‚d S r‡   )r”   Úrenegotiater    s    rK   r¥   zPyOpenSSLEchoStream.renegotiateù   s$   € ð Œz×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'rM   c              ƒ  óä   K  — | j         5  t          j        ¦   «         ƒ d {V —† t          j        ¦   «         ƒ d {V —† |                      d¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )NÚwait_send_all_might_not_block)rš   r   Ú
checkpointr   r    s    rK   r§   z1PyOpenSSLEchoStream.wait_send_all_might_not_blockþ   sî   è è € ØÔ-ð 	@ð 	@ÝÔ"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ÝÔ"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ø—,’,Ð>Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@s   ŠAA%Á%A)Á,A)rf   Úbytesc              ƒ  ó  K  — t          d¦  «         | j        5  t          j        ¦   «         ƒ d {V —† t          j        ¦   «         ƒ d {V —† |                      d¦  «        ƒ d {V —† | j                             |¦  «         	 |                      d¦  «        ƒ d {V —† 	 | j                             d¦  «        }| xj        |z  c_        ne# t          j
        $ rC | j                             ¦   «          t          d| j                             ¦   «         ¦  «         Y nt          j        $ r Y nw xY wŒ­| j                             ¦   «          |                      d¦  «        ƒ d {V —† t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz  --> transport_stream.send_allÚsend_allTé   zrenegotiations:z(  <-- transport_stream.send_all finished)rd   rš   r   r¨   r   r”   Ú	bio_writerZ   r™   r   ÚZeroReturnErrorÚshutdownÚtotal_renegotiationsÚWantReadErrorr—   Ú
unpark_all©rœ   rf   s     rK   r«   zPyOpenSSLEchoStream.send_all  s  è è € ÝÐ/Ñ0Ô0Ð0ØÔ-ð 	>ð 	>ÝÔ"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ÝÔ"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ø—,’,˜zÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ØŒJ× Ò  Ñ&Ô&Ð&ð4Ø—l’l :Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.ð	4Øœ:Ÿ?š?¨1Ñ-Ô-�Dð Ð+Ô+¨tÑ3Ð+Ô+Ð+øõ Ô*ð ð ð Ø”J×'Ò'Ñ)Ô)Ð)ÝÐ+¨T¬Z×-LÒ-LÑ-NÔ-NÑOÔOÐOØ�EÝÔ(ð ð ð Ø�Eðøøøð4ð ŒI× Ò Ñ"Ô"Ð"Ø—,’,˜zÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ÝÐ<Ñ=Ô=Ð=ð'	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>sD   ™BE?ÂC	Â8E?Ã	AD+ÄE?ÄD+Ä(E?Ä*D+Ä+AE?Å?FÆFÚnbytesú
int | Nonec              ƒ  ó˜  K  — t          d¦  «         |€d}| j        5  	 t          j        ¦   «         ƒ d {V —† t          j        ¦   «         ƒ d {V —† 	 |                      d¦  «        ƒ d {V —† 	 | j                             |¦  «        |                      d¦  «        ƒ d {V —† t          d¦  «         cd d d ¦  «         S # t          j        $ �r= | j	        �rt          d| j	        ¦  «         	 | j	        dd…         }| j         
                    t          |¦  «        ¦  «         | j	        dd…= nÛ# t          j        $ r› 	 | j                             |¦  «        cY cY |                      d¦  «        ƒ d {V —† t          d¦  «         cd d d ¦  «         S # t          j        $ r1 t          d	¦  «         | j                             ¦   «         ƒ d {V —† Y nw xY wY n2w xY wt          d
¦  «         | j                             ¦   «         ƒ d {V —† Y nw xY w�Œ¾# |                      d¦  «        ƒ d {V —† t          d¦  «         w xY w# 1 swxY w Y   d S )Nz#  --> transport_stream.receive_somei   TÚreceive_somez,  <-- transport_stream.receive_some finishedz
    tryingr   r¬   zparking (a)zparking (b))rd   r›   r   r¨   r   r”   Úbio_readr   r±   r™   Úsendr©   r—   Úpark)rœ   r´   Ú	next_bytes      rK   r·   z PyOpenSSLEchoStream.receive_some  sr  è è € ÝÐ3Ñ4Ô4Ð4Øˆ>ØˆFØÔ1ð 1	Fð 1	Fð0FÝÔ&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ÝÔ&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð*3ØŸ,š, ~Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6ð(3Ø#œz×2Ò2°6Ñ:Ô:ðR —l’l >Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ÝÐDÑEÔEÐEðc1	Fð 1	Fð 1	Fð 1	Fñ 1	Fô 1	Fð 1	Fð 1	Føõ Ô,ð &3ñ &3ð &3ð  Ô2ñ #3õ " ,°Ô0GÑHÔHÐHðAð -1Ô,CÀAÀaÀCÔ,H 	Ø $¤
§¢µ°iÑ0@Ô0@Ñ AÔ AÐ Að, %)Ô$;¸A¸a¸CÐ$@Ð$@øõ% $'Ô#4ð ;ð ;ð ;ð!;Ø+/¬:×+>Ò+>¸vÑ+FÔ+FÐ$FÐ$FÐ$FÐ$Fð" —l’l >Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ÝÐDÑEÔEÐEðc1	Fð 1	Fð 1	Fð 1	Fñ 1	Fô 1	Fð 1	Fð 1	Føõ@ (+Ô'8ð !;ð !;ð !;õ %*¨-Ñ$8Ô$8Ð$8Ø*.¬)¯.ª.Ñ*:Ô*:Ð$:Ð$:Ð$:Ð$:Ð$:Ð$:Ð$:Ð$:Ð$:ð!;øøøð
 %;Ð$:ð;øøøõ, " -Ñ0Ô0Ð0Ø"&¤)§.¢.Ñ"2Ô"2Ð2Ð2Ð2Ð2Ð2Ð2Ð2øøðM&3øøøñ	*3øðX —l’l >Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ÝÐDÑEÔEÐEÐEøøøðc1	Fð 1	Fð 1	Fð 1	Føøøð 1	Fð 1	Fð 1	Fð 1	Fð 1	Fð 1	Fs¡   �H?ŸAHÁ.B>Â*H?Â>-HÃ,6D-Ä"HÄ-GÄ=FÅGÅHÅHÅ*H?Æ=G	ÇGÇG	ÇGÇHÇGÇ1HÈHÈ
HÈHÈ,H<È<H?È?IÉIr‡   )r   r€   r;   rS   ©r;   rS   )r;   rR   )rf   r©   r;   rS   )r´   rµ   r;   r©   )
Ú__name__Ú
__module__Ú__qualname__r�   r¡   r£   r¥   r§   r«   r·   rˆ   rM   rK   r~   r~   Å   s¼   € € € € € ð <@ð+#ð +#ð +#ð +#ð +#ðZ"ð "ð "ð "ð0ð 0ð 0ð 0ð(ð (ð (ð (ð
@ð @ð @ð @ð>ð >ð >ð >ð.5Fð 5Fð 5Fð 5Fð 5Fð 5Fð 5FrM   r~   c               ƒ  ó²   K  — dd	„}  | d
dd
d¦  «        ƒ d {V —†  | d
ddd¦  «        ƒ d {V —†  | dddd¦  «        ƒ d {V —†  | dddd¦  «        ƒ d {V —† d S )NÚfunc1ÚstrÚargs1útuple[object, ...]Úfunc2Úargs2r;   rS   c              “  ó�  K  — t          ¦   «         }t          t          t          j        d¦  «        ¦  «        5  t          j        ¦   «         4 ƒd {V —†} |j        t          || ¦  «        g|¢R Ž   |j        t          ||¦  «        g|¢R Ž  d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NÚsimultaneous)r~   r   r   r   ÚBusyResourceErrorrn   ro   Úgetattr)rÁ   rÃ   rÅ   rÆ   Úsrv   s         rK   Údo_testzDtest_PyOpenSSLEchoStream_gives_resource_busy_errors.<locals>.do_testZ  s—  è è € õ  Ñ!Ô!ˆÝ�¥Ô!8¸.ÑIÔIÑJÔJð 	>ð 	>ÝÔ)Ñ+Ô+ð >ð >ð >ð >ð >ð >ð >¨wØ"�Ô"¥7¨1¨eÑ#4Ô#4Ð=°uÐ=Ð=Ð=Ð=Ø"�Ô"¥7¨1¨eÑ#4Ô#4Ð=°uÐ=Ð=Ð=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s5   ¸B;Á9BÂB;Â
B'	Â'B;Â*B'	Â+B;Â;B?ÃB?r«   )ó   xr§   rˆ   r·   )r¬   )
rÁ   rÂ   rÃ   rÄ   rÅ   rÂ   rÆ   rÄ   r;   rS   rˆ   )rÌ   s    rK   Ú3test_PyOpenSSLEchoStream_gives_resource_busy_errorsrÎ   S  sÛ   è è € ð
>ð 
>ð 
>ð 
>ð ˆ'�*˜g z°7Ñ
;Ô
;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø
ˆ'�*˜gÐ'FÈÑ
KÔ
KÐKÐKÐKÐKÐKÐKÐKØ
ˆ'Ø'Ø
Ø'Ø
ñ	ô ð ð ð ð ð ð ð ð ˆ'�. $¨¸Ñ
=Ô
=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=rM   r   r€   ú(Iterator[SSLStream[PyOpenSSLEchoStream]]c              #  óR   K  — t          |¬¦  «        }t          || d¬¦  «        V — d S )N©r   r2   rz   )r~   r#   )rL   r   Úfakesocks      rK   Úvirtual_ssl_echo_serverrÓ   q  s:   è è € õ
 #¨7Ð3Ñ3Ô3€HÝ
�H˜jÐ:SÐ
TÑ
TÔ
TÐTÐTÐTÐTÐTrM   ©Úclient_kwargsÚserver_kwargsÚclient_transportr0   Úserver_transportrÕ   údict[str, Any] | NonerÖ   ú/tuple[SSLStream[T_Stream], SSLStream[T_Stream]]c               ód   — |€i }|€i }t          || fddi|¤Ž}t          |t          fddi|¤Ž}||fS )Nr{   r2   rU   T)r#   rW   )rL   r×   rØ   rÕ   rÖ   Ú
client_sslÚ
server_ssls          rK   Ússl_wrap_pairrÞ   z  s…   € ð ÐØˆØÐØˆÝØØðð ð 2ðð ð	ð €Jõ ØÝðð ð ðð ð	ð €Jð �zÐ!Ð!rM   r   ÚMemoryStapledStreamú+dict[str, str | bytes | bool | None] | NoneúEtuple[SSLStream[MemoryStapledStream], SSLStream[MemoryStapledStream]]c                óL   — t          ¦   «         \  }}t          | ||||¬¦  «        S ©NrÔ   )r*   rÞ   ©rL   rÕ   rÖ   r×   rØ   s        rK   Ússl_memory_stream_pairrå   ˜  s<   € õ *<Ñ)=Ô)=Ñ&ÐÐ&ÝØØØØ#Ø#ðñ ô ð rM   ÚMyStapledStreamú=tuple[SSLStream[MyStapledStream], SSLStream[MyStapledStream]]c                óL   — t          ¦   «         \  }}t          | ||||¬¦  «        S rã   )r)   rÞ   rä   s        rK   Ússl_lockstep_stream_pairré   ­  s<   € õ *>Ñ)?Ô)?Ñ&ÐÐ&ÝØØØØ#Ø#ðñ ô ð rM   c              ƒ  ó‚  K  — t          | ¦  «        4 ƒd {V —†}|j        rJ ‚|                     d¦  «        ƒ d {V —† |                     d¦  «        ƒ d {V —†dk    sJ ‚|                     ¦   «         ƒ d {V —† d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          d¬¦  «        4 ƒd {V —†}t          j        ¦   «         }t          ||d¬¦  «        }|j        rJ ‚t          j
        t          ¦  «        5 }|                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          |j        j        t          j        ¦  «        sJ ‚	 d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          d¬¦  «        4 ƒd {V —†}t          || d¬¦  «        }|j        rJ ‚t          j
        t          ¦  «        5 }|                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          |j        j        t          j        ¦  «        sJ ‚	 d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )NrÍ   r¬   TrN   r2   rz   ztrio-test-2.example.org)r|   rU   r«   r·   r¡   rw   r?   r@   r#   ÚpytestÚraisesr   Ú
isinstanceÚvalueÚ	__cause__ÚSSLErrorÚCertificateError)rL   rË   rP   Úbad_client_ctxÚexcinfos        rK   Útest_ssl_client_basicsrô   Â  s¸  è è € å˜zÑ*Ô*ð ð ð ð ð ð ð ¨aØ”=Ð Ð Ð Ø�jŠj˜ÑÔÐÐÐÐÐÐÐØ—^’^ AÑ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&¨$Ò.Ð.Ð.Ð.Ø�hŠh‰jŒjÐÐÐÐÐÐÐð	ð ð ñ ô ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð øøøð ð ð ð õ #¨tÐ4Ñ4Ô4ð Að Að Að Að Að Að A¸ÝÔ3Ñ5Ô5ˆÝ�d˜NÐ<UÐVÑVÔVˆØ”=Ð Ð Ð ÝŒ]Õ.Ñ/Ô/ð 	#°7Ø—*’*˜TÑ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#å˜'œ-Ô1µ3´<Ñ@Ô@Ð@Ð@Ð@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Að Aøøøð Að Að Að Aõ #¨tÐ4Ñ4Ô4ð Ið Ið Ið Ið Ið Ið I¸Ý�d˜JÐ8QÐRÑRÔRˆØ”=Ð Ð Ð ÝŒ]Õ.Ñ/Ô/ð 	#°7Ø—*’*˜TÑ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#å˜'œ-Ô1µ3Ô3GÑHÔHÐHÐHÐHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið Ið Is   ˜A B
Â

BÂBÂ1AE%Ã9D!ÄE%Ä!D%	Ä%E%Ä(D%	Ä))E%Å%
E/Å2E/Æ5H.ÇG)ÇH.Ç)G-	Ç-H.Ç0G-	Ç1)H.È.
H8È;H8c              ƒ  óÞ  ‡ ‡K  — t          j        ¦   «         \  Š}‰5  |5  t          j        |¦  «        }t	          t          |¦  «        t          d¬¦  «        }|j        sJ ‚dˆˆ fd„}t          j	        |¬¦  «        }| 
                    ¦   «          |                     d¦  «        ƒ d {V —†dk    sJ ‚|                     d	¦  «        ƒ d {V —† |                     d¦  «        ƒ d {V —†d
k    sJ ‚|                     d¦  «        ƒ d {V —†dk    sJ ‚|                     ¦   «         ƒ d {V —† |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NT©rU   r;   rS   c                 ó  •— ‰                      ‰d¬¦  «        5 } |                      d¦  «         |                      d¦  «        dk    sJ ‚|                      d¦  «         |                      ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr2   rz   rÍ   r¬   ó   yó   z)rX   r_   rZ   r]   )Úclient_sockrt   rL   s    €€rK   Úclientz&test_ssl_server_basics.<locals>.clientç  sá   ø€ Ø×'Ò'ØØ 9ð (ñ ô ð %ð Ø×#Ò# DÑ)Ô)Ð)Ø"×'Ò'¨Ñ*Ô*¨dÒ2Ð2Ð2Ð2Ø×#Ò# DÑ)Ô)Ð)Ø×"Ò"Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   ™AB Â BÂB)Útargetr¬   rÍ   rø   rù   rM   r¼   )rk   rl   rr   rs   r#   r    rW   rU   Ú	threadingÚThreadÚstartr·   r«   r¡   Újoin)rL   ru   Úserver_sockrØ   rû   Útrt   s   `     @rK   Útest_ssl_server_basicsr  Ü  sT  øøè è € ÝÔ#Ñ%Ô%�D€A€qØ	
ð ð ˆAð ð ÝÔ0°Ñ3Ô3ˆÝ$Ý˜Ñ%Ô%ÝØð
ñ 
ô 
Ðð
  Ô+Ð+Ð+Ð+ð	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%õ Ô FÐ+Ñ+Ô+ˆØ	�Š‰	Œ	ˆ	à%×2Ò2°1Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5¸Ò=Ð=Ð=Ð=Ø×'Ò'¨Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø%×2Ò2°1Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5¸Ò=Ð=Ð=Ð=Ø%×2Ò2°1Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5¸Ò<Ð<Ð<Ð<Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'à	�Š‰Œˆð9ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s5   �E" DE
Ä>E"Å
E	ÅE"ÅE	ÅE"Å"E&Å)E&c              ƒ  óÒ  K  — t          d¬¦  «        4 ƒd {V —†}| }t          j        ¦   «         }t          ||d¬¦  «        }|j        |u sJ ‚|j        |u sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚t          j	        t          ¦  «        5  |j         d d d ¦  «         n# 1 swxY w Y   dt          |¦  «        v sJ ‚dt          |¦  «        v sJ ‚t          j	        t          ¦  «        5  d|_        d d d ¦  «         n# 1 swxY w Y   t          j	        t          ¦  «        5  d|_        d d d ¦  «         n# 1 swxY w Y   ||_        |j        |u sJ ‚t          j	        t          ¦  «        5 }|                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          |j        j        t          j        ¦  «        sJ ‚	 d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )	NTrN   r2   rz   FÚtransport_streamÚcontextÚasdf)rw   r?   r@   r#   r  r  rU   r{   rë   rì   ÚAttributeErrorÚ
asfdasdfsaÚdirr   rY   rí   rî   rï   rð   )rL   rP   Úgood_ctxÚbad_ctxrË   ró   s         rK   Útest_attributesr  ý  s©  è è € Ý"¨tÐ4Ñ4Ô4ð !Að !Að !Að !Að !Að !Að !A¸ØˆÝÔ,Ñ.Ô.ˆÝ�d˜HÐ6OÐPÑPÔPˆàÔ! TÐ)Ð)Ð)Ð)ð Œy˜HÐ$Ð$Ð$Ð$ØŒ} Ò%Ð%Ð%Ð%ØÔ Ð$=Ò=Ð=Ð=Ð=ÝŒ]�>Ñ*Ô*ð 	ð 	ØŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð "¥S¨¡V¤VÐ+Ð+Ð+Ð+Ø�C ™FœFÐ"Ð"Ð"Ð"õ
 Œ]�>Ñ*Ô*ð 	!ð 	!Ø ˆAŒMð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!åŒ]�>Ñ*Ô*ð 	'ð 	'Ø &ˆAÔð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð ˆŒ	ØŒy˜GÐ#Ð#Ð#Ð#ÝŒ]Õ.Ñ/Ô/ð 	#°7Ø—.’.Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#å˜'œ-Ô1µ3´<Ñ@Ô@Ð@Ð@Ð@Ð@ðC!Að !Að !Añ !Aô !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Að !Aøøøð !Að !Að !Að !Að !Að !As£   ™A1GÂ
BÂGÂB"	Â"GÂ%B"	Â&AGÃ(C<Ã0GÃ<D 	Ä GÄD 	ÄGÄ D4Ä(GÄ4D8	Ä8GÄ;D8	Ä<.GÅ*FÆGÆF	ÆGÆF	Æ)GÇ
G Ç#G c              ƒ  óÄ  ‡‡‡‡‡	K  — dŠdŠ‰‰z  Št          ¦   «         Š	t          ¦   «         Šd	ˆˆˆ	fd„}d	ˆˆˆfd„}t          | ¦  «        4 ƒd {V —†}t          j        ¦   «         4 ƒd {V —†}|                     ||¦  «         |                     ||¦  «         |                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |                     ¦   «         ƒ d {V —† d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          ‰	¦  «        t          ‰¦  «        cxk    r‰k    sn J ‚‰	‰k    sJ ‚d S )
Né   i €  rË   r   r;   rS   c              “  ó´   •K  — t          ‰¦  «        D ]D}t          |¦  «         t          |g‰z  ¦  «        }‰|z  Š|                      |¦  «        ƒ d {V —† ŒEd S r‡   )Úrangerd   r©   r«   )rË   ÚiÚchunkÚCHUNKSÚ
CHUNK_SIZEÚsents      €€€rK   Úsenderz'test_full_duplex_basics.<locals>.senderJ  su   øè è € å�v‘”ð 	$ð 	$ˆAÝ�!‰HŒHˆHÝ˜1˜# 
Ñ*Ñ+Ô+ˆEØ�E‰MˆDØ—*’*˜UÑ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð		$ð 	$rM   c              “  ó¢   •K  — t          ‰¦  «        ‰k     r8|                      ‰dz  ¦  «        ƒ d {V —†}‰|z  Št          ‰¦  «        ‰k     °6d S d S )Nr   )Úlenr·   )rË   r  r  ÚEXPECTEDÚreceiveds     €€€rK   Úreceiverz)test_full_duplex_basics.<locals>.receiverR  sh   øè è € å�(‰mŒm˜hÒ&Ð&ØŸ.š.¨°q©Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9ˆEØ˜ÑˆHõ �(‰mŒm˜hÒ&Ð&Ð&Ð&Ð&Ð&rM   )rË   r   r;   rS   )r˜   r|   r   rn   ro   rY   r¡   r  )
rL   r  r  rË   rv   r  r  r  r  r  s
        @@@@@rK   Útest_full_duplex_basicsr  B  s¾  øøøøøè è € Ø€FØ€JØ˜
Ñ"€Hå‰;Œ;€DÝ‰{Œ{€Hð$ð $ð $ð $ð $ð $ð $ð $ðð ð ð ð ð ð ð õ ˜zÑ*Ô*ð 	ð 	ð 	ð 	ð 	ð 	ð 	¨aÝÔ%Ñ'Ô'ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/¨7Ø×Ò˜v qÑ)Ô)Ð)Ø×Ò˜x¨Ñ+Ô+Ð+ð ×Ò˜qœ~Ñ.Ô.Ð.Ø×Ò˜qœ~Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð �hŠh‰jŒjÐÐÐÐÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ˆt‰9Œ9�˜H™œÐ1Ð1Ò1Ð1¨Ò1Ð1Ð1Ð1Ð1Ð1Ø�8ÒÐÐÐÐÐs7   ÁDÁ,A!CÃDÃ
C)	Ã)DÃ,C)	Ã-DÄ
D&Ä)D&c              ƒ  óä  K  — t          | ¦  «        5 }|                     ¦   «         ƒ d {V —† |j                             ¦   «          |                     d¦  «        ƒ d {V —† |                     d¦  «        ƒ d {V —†dk    sJ ‚|                     d¦  «        ƒ d {V —† |                     d¦  «        ƒ d {V —†dk    sJ ‚|                     ¦   «         ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )Nó   ar¬   ó   b)rÓ   rY   r  r¥   r«   r·   r¡   ©rL   rË   s     rK   Útest_renegotiation_simpler"  g  st  è è € Ý	  Ñ	,Ô	,ð °Ø�nŠnÑÔÐÐÐÐÐÐÐØ	Ô×&Ò&Ñ(Ô(Ð(Ø�jŠj˜ÑÔÐÐÐÐÐÐÐØ—^’^ AÑ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&¨$Ò.Ð.Ð.Ð.ð �jŠj˜ÑÔÐÐÐÐÐÐÐØ—^’^ AÑ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&¨$Ò.Ð.Ð.Ð.à�hŠh‰jŒjÐÐÐÐÐÐÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ’CC%Ã%C)Ã,C)Ú
mock_clockr/   c              ƒ  ó®	  ‡‡‡‡K  — d| _         dd l}|                     d¦  «        Šdˆfd„}dˆˆˆfd„}dˆfd
„Šdˆfd„Št          ||¬¦  «        5 Š‰                     ¦   «         ƒ d {V —†  ‰d¦  «        ƒ d {V —† ‰j                             ¦   «           ‰d¦  «        ƒ d {V —†  |¦   «         ƒ d {V —† t          d¦  «        D �]'}t          |dz  g¦  «        }t          d|z  dz  g¦  «        }‰j                             ¦   «          t          j
        ¦   «         4 ƒd {V —†}|                     ‰|¦  «         |                     ‰|¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          j
        ¦   «         4 ƒd {V —†}|                     ‰|¦  «         |                     ‰|¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y    |¦   «         ƒ d {V —† �Œ)t          d¦  «        D ]ß}t          |dz  g¦  «        }t          d|z  dz  g¦  «        } ‰|¦  «        ƒ d {V —† ‰j                             ¦   «           ‰|¦  «        ƒ d {V —† t          j
        ¦   «         4 ƒd {V —†}|                     ‰|¦  «         |                     ‰|¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y    |¦   «         ƒ d {V —† Œà	 d d d ¦  «         n# 1 swxY w Y   dd„}	dˆfd„}
t          ||	¬¦  «        5 Š ‰d¦  «        ƒ d {V —† ‰j                             ¦   «          t          j
        ¦   «         4 ƒd {V —†}|                     ‰d¦  «         |                     |
¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y    |¦   «         ƒ d {V —† ‰                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   dd„}t          ||¬¦  «        5 Š ‰d¦  «        ƒ d {V —† ‰j                             ¦   «          t          j
        ¦   «         4 ƒd {V —†}|                     ‰d¦  «         |                     ‰j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y    |¦   «         ƒ d {V —† ‰                     ¦   «         ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r„   r…   r;   rS   c              “  óh   •K  — t          j        ‰                     dd¦  «        ¦  «        ƒ d {V —† d S )Nr   é
   )rm   ÚsleepÚuniform)r„   Úrs    €rK   r   z.test_renegotiation_randomized.<locals>.sleeper…  s=   øè è € ÝŒj˜Ÿš 1 bÑ)Ô)Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*rM   c               “  ój  •K  — ‰j                              ¦   «         r‡t          ¦   «         5   ‰d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5   ‰ d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   ‰j                              ¦   «         °‡t          d¦  «         d S )Nó   -z-- clear --)r  r£   r'   rd   )ÚexpectrË   r¹   s   €€€rK   Úclearz,test_renegotiation_randomized.<locals>.clearˆ  sO  øè è € ØÔ ×4Ò4Ñ6Ô6ð 	#Ý#Ñ%Ô%ð !ð !Ø�d˜4‘j”jÐ Ð Ð Ð Ð Ð Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !å#Ñ%Ô%ð #ð #Ø�f˜T‘l”lÐ"Ð"Ð"Ð"Ð"Ð"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð Ô ×4Ò4Ñ6Ô6ð 	#õ
 	ˆmÑÔÐÐÐs#   «A	Á	AÁAÁ"B Â BÂBÚbyter©   c              “  óð   •K  — ‰j                              d¦  «        ƒ d {V —† t          d| ¦  «         t          ¦   «         5  ‰                     | ¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )Nz
outer sendzcalling SSLStream.send_all)r  r   rd   r'   r«   )r.  rË   s    €rK   r¹   z+test_renegotiation_randomized.<locals>.send�  sÕ   øè è € ØÔ ×(Ò(¨Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6ÝÐ*¨DÑ1Ô1Ð1ÝÑ!Ô!ð 	#ð 	#Ø—*’*˜TÑ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   ÁA+Á+A/Á2A/Úexpectedc              “  ó(  •K  — ‰j                              d¦  «        ƒ d {V —† t          d| ¦  «         t          | ¦  «        dk    sJ ‚t	          ¦   «         5  ‰                     d¦  «        ƒ d {V —†| k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr,  z)calling SSLStream.receive_some, expectingr¬   )r  r   rd   r  r'   r·   )r0  rË   s    €rK   r,  z-test_renegotiation_randomized.<locals>.expect–  sú   øè è € ØÔ ×(Ò(¨Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ÝÐ9¸8ÑDÔDÐDÝ�8‰}Œ} Ò!Ð!Ð!Ð!ÝÑ!Ô!ð 	7ð 	7ØŸš¨Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*¨hÒ6Ð6Ð6Ð6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   Á"BÂBÂBrÑ   r  éd   éÿ   r   ÚmethodrÂ   c              “  óN   K  — | dk    rt          j        d¦  «        ƒ d {V —† d S d S )Nr«   é † ©rm   r'  ©r4  s    rK   Úsleeper_with_slow_send_allzAtest_renegotiation_randomized.<locals>.sleeper_with_slow_send_allÄ  sA   è è € Ø�ZÒÐå”*˜VÑ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð  ÐrM   c               “  ót   •K  — t          j        d¦  «        ƒ d {V —† ‰                      ¦   «         ƒ d {V —† d S )Néè  )rm   r'  r§   ©rË   s   €rK   Úsleep_then_wait_writablez?test_renegotiation_randomized.<locals>.sleep_then_wait_writableË  sS   øè è € ÝŒj˜ÑÔÐÐÐÐÐÐÐØ×-Ò-Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/rM   rÍ   c              “  ó’   K  — | dk    rt          j        d¦  «        ƒ d {V —† d S | dk    rt          j        d¦  «        ƒ d {V —† d S d S )Nr§   r6  r,  r;  r7  r8  s    rK   Ú*sleeper_with_slow_wait_writable_and_expectzQtest_renegotiation_randomized.<locals>.sleeper_with_slow_wait_writable_and_expectÝ  su   è è € ØÐ4Ò4Ð4å”*˜VÑ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ø�xÒÐÝ”*˜TÑ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ð  ÐrM   rŠ   r¼   )r.  r©   r;   rS   )r0  r©   r;   rS   )r4  rÂ   r;   rS   )Úautojump_thresholdÚrandomÚRandomrÓ   rY   r  r¥   r  r©   r   rn   ro   r¡   r§   )r#  rL   rA  r   r-  r  Úb1Úb2rv   r9  r=  r?  r,  r)  rË   r¹   s               @@@@rK   Útest_renegotiation_randomizedrE  x  sw	  øøøøè è € ð %&€JÔ!à€M€M€Mà�Š�aÑÔ€Að+ð +ð +ð +ð +ð +ðð ð ð ð ð ð ð ð#ð #ð #ð #ð #ð #ð7ð 7ð 7ð 7ð 7ð 7õ 
! °WÐ	=Ñ	=Ô	=ð ÀØ�nŠnÑÔÐÐÐÐÐÐÐàˆd�4‰jŒjÐÐÐÐÐÐÐØ	Ô×&Ò&Ñ(Ô(Ð(Øˆf�T‰lŒlÐÐÐÐÐÐÐàˆe‰gŒgˆˆˆˆˆˆˆå�s‘”ð 
	ñ 
	ˆAÝ˜˜D™�zÑ"Ô"ˆBÝ˜˜Q™ $™Ð'Ñ(Ô(ˆBØÔ×*Ò*Ñ,Ô,Ð,ÝÔ)Ñ+Ô+ð /ð /ð /ð /ð /ð /ð /¨wØ×"Ò" 4¨Ñ,Ô,Ð,Ø×"Ò" 6¨2Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ Ô)Ñ+Ô+ð -ð -ð -ð -ð -ð -ð -¨wØ×"Ò" 6¨2Ñ.Ô.Ð.Ø×"Ò" 4¨Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð �%‘'”'ˆMˆMˆMˆMˆMˆMˆM‰Må�s‘”ð 		ð 		ˆAÝ˜˜D™�zÑ"Ô"ˆBÝ˜˜Q™ $™Ð'Ñ(Ô(ˆBØ�$�r‘(”(ˆNˆNˆNˆNˆNˆNˆNØÔ×*Ò*Ñ,Ô,Ð,Ø�&˜‘*”*ÐÐÐÐÐÐÐÝÔ)Ñ+Ô+ð -ð -ð -ð -ð -ð -ð -¨wØ×"Ò" 6¨2Ñ.Ô.Ð.Ø×"Ò" 4¨Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð �%‘'”'ˆMˆMˆMˆMˆMˆMˆMˆMð		ð+ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ðN%ð %ð %ð %ð0ð 0ð 0ð 0ð 0ð 0õ 
! Ð5OÐ	PÑ	PÔ	Pð 	ÐTUØˆd�4‰jŒjÐÐÐÐÐÐÐØ	Ô×&Ò&Ñ(Ô(Ð(ÝÔ%Ñ'Ô'ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9¨7Ø×Ò˜v tÑ,Ô,Ð,Ø×ÒÐ7Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð ˆe‰gŒgˆˆˆˆˆˆˆà�hŠh‰jŒjÐÐÐÐÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð#ð #ð #ð #õ 
!ØØ:ð
ñ 
ô 
ð ð 
Øˆd�4‰jŒjÐÐÐÐÐÐÐØ	Ô×&Ò&Ñ(Ô(Ð(ÝÔ%Ñ'Ô'ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@¨7Ø×Ò˜v tÑ,Ô,Ð,Ø×Ò˜qÔ>Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð ˆe‰gŒgˆˆˆˆˆˆˆà�hŠh‰jŒjÐÐÐÐÐÐÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sî   ÁCK,Ä%-E$ÅK,Å$
E.Å.K,Å1E.Å2K,Æ-GÆ;K,Ç
GÇK,ÇGÇB#K,É>-J=Ê+K,Ê=
KËK,Ë
KËK,Ë,K0Ë3K0ÌAOÍ,NÎOÎ
N	ÎOÎ!N	Î"-OÏOÏ"OÏ;AS
Ð?1RÑ0S
Ò
R	ÒS
ÒR	Ò-S
Ó
SÓSc              ƒ  óD  ‡ K  — t           j        t           j        t           j        j        t           j        j        f                  }dd„}dd„}dd„}dˆ fd„} |||¦  «        ƒ d {V —†  |||¦  «        ƒ d {V —†  |||¦  «        ƒ d {V —†  |||¦  «        ƒ d {V —† d S )NrË   ÚSr;   rS   c              “  óŽ   K  — t          ¦   «         5  |                      d¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )NrÍ   )r'   r«   r<  s    rK   Údo_send_allz.test_resource_busy_errors.<locals>.do_send_allø  sš   è è € ÝÑ!Ô!ð 	#ð 	#Ø—*’*˜TÑ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ó   ‘:º>Á>c              “  óŽ   K  — t          ¦   «         5  |                      d¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S ©Nr¬   )r'   r·   r<  s    rK   Údo_receive_somez2test_resource_busy_errors.<locals>.do_receive_someü  sš   è è € ÝÑ!Ô!ð 	$ð 	$Ø—.’. Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$rJ  c              “  óŒ   K  — t          ¦   «         5  |                      ¦   «         ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S r‡   )r'   r§   r<  s    rK   Ú do_wait_send_all_might_not_blockzCtest_resource_busy_errors.<locals>.do_wait_send_all_might_not_block   sš   è è € ÝÑ!Ô!ð 	4ð 	4Ø×1Ò1Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   ‘9¹=Á =rÁ   úCallable[[S], Awaitable[None]]rÅ   c              “  ó‚  •K  — t          ‰¦  «        \  }}t          t          t          j        d¦  «        ¦  «        5  t          j        ¦   «         4 ƒd {V —†}|                     | |¦  «         |                     ||¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nzanother task)ré   r   r   r   rÉ   rn   ro   )rÁ   rÅ   rË   r„   rv   rL   s        €rK   rÌ   z*test_resource_busy_errors.<locals>.do_test  s€  øè è € õ (¨
Ñ3Ô3‰ˆˆ1Ý�¥Ô!8¸.ÑIÔIÑJÔJð 	-ð 	-ÝÔ)Ñ+Ô+ð -ð -ð -ð -ð -ð -ð -¨wØ×"Ò" 5¨!Ñ,Ô,Ð,Ø×"Ò" 5¨!Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s5   ½B4Á-BÂB4Â
B 	Â B4Â#B 	Â$B4Â4B8Â;B8)rË   rG  r;   rS   )rÁ   rP  rÅ   rP  r;   rS   )rm   r#   r   Úabcr   r   )rL   rG  rI  rM  rO  rÌ   s   `     rK   Útest_resource_busy_errorsrS  ó  s"  øè è € Ý”>ÝÔ�4œ8Ô.µ´Ô0FÐFÔGô€Að#ð #ð #ð #ð$ð $ð $ð $ð4ð 4ð 4ð 4ð-ð -ð -ð -ð -ð -ð ˆ'�+˜{Ñ
+Ô
+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø
ˆ'�/ ?Ñ
3Ô
3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ø
ˆ'�+Ð?Ñ
@Ô
@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ø
ˆ'Ð2Ð4TÑ
UÔ
UÐUÐUÐUÐUÐUÐUÐUÐUÐUrM   c               ƒ  óÚ   ‡K  — g Š G ˆfd„dt           ¦  «        } t          j        ¦   «         }t           | ¦   «         |d¬¦  «        }|                     ¦   «         ƒ d {V —† ‰dgk    sJ ‚d S )Nc                  ó6   •— e Zd Zdˆ fd„Zdd„Zddd	„Zdd„ZdS )úEtest_wait_writable_calls_underlying_wait_writable.<locals>.NotAStreamr;   rS   c              “  ó6   •K  — ‰                      d¦  «         d S )NÚok)Úappend)rœ   Úrecords    €rK   r§   zctest_wait_writable_calls_underlying_wait_writable.<locals>.NotAStream.wait_send_all_might_not_block  s   øè è € Ø�MŠM˜$ÑÔÐÐÐrM   c              “  ó$   K  — t          d¦  «        ‚©NzShould not get called©rI   r    s    rK   r¡   zLtest_wait_writable_calls_underlying_wait_writable.<locals>.NotAStream.aclose  ó   è è € Ý Ð!8Ñ9Ô9Ð9rM   NÚ	max_bytesrµ   úbytes | bytearrayc              “  ó$   K  — t          d¦  «        ‚r\  r]  )rœ   r_  s     rK   r·   zRtest_wait_writable_calls_underlying_wait_writable.<locals>.NotAStream.receive_some  r^  rM   rf   úbytes | bytearray | memoryviewc              “  ó$   K  — t          d¦  «        ‚r\  r]  r³   s     rK   r«   zNtest_wait_writable_calls_underlying_wait_writable.<locals>.NotAStream.send_all"  r^  rM   r¼   r‡   )r_  rµ   r;   r`  )rf   rb  r;   rS   )r½   r¾   r¿   r§   r¡   r·   r«   )rZ  s   €rK   Ú
NotAStreamrV    st   ø€ € € € € ð	 ð 	 ð 	 ð 	 ð 	 ð 	 ð	:ð 	:ð 	:ð 	:ð	:ð 	:ð 	:ð 	:ð 	:ð	:ð 	:ð 	:ð 	:ð 	:ð 	:rM   rd  Úxrz   rX  )r   r?   r@   r#   r§   )rd  rJ   rË   rZ  s      @rK   Ú1test_wait_writable_calls_underlying_wait_writablerf    s§   øè è € Ø€Fð:ð :ð :ð :ð :ð :ð :•Vñ :ô :ð :õ Ô
$Ñ
&Ô
&€CÝ�*�*‘,”, °SÐ9Ñ9Ô9€AØ
×
)Ò
)Ñ
+Ô
+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø�d�VÒÐÐÐÐÐrM   Únt)é   r&  z)frequently fails on Windows + Python 3.10)Úreasonc              ƒ  ó¬  K  — t          | ¦  «        4 ƒd {V —†}t          ¦   «         5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          | ¦  «        4 ƒd {V —†}|                     ¦   «         ƒ d {V —† t          ¦   «         5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )Ns   xxxr¬   )r|   r'   rY   r§   r«   r·   r]   r¡   r!  s     rK   Útest_checkpointsrk  +  sR  è è € õ
 ˜zÑ*Ô*ð ð ð ð ð ð ð ¨aÝÑ!Ô!ð 	#ð 	#Ø—.’.Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#åÑ!Ô!ð 	#ð 	#Ø—.’.Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#åÑ!Ô!ð 	4ð 	4Ø×1Ò1Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4åÑ!Ô!ð 	%ð 	%Ø—*’*˜VÑ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%åÑ!Ô!ð 	$ð 	$Ø—.’. Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$õ  Ñ!Ô!ð 	$ð 	$Ø—.’. Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$åÑ!Ô!ð 	$ð 	$Ø—.’. Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$åÑ!Ô!ð 	ð 	Ø—(’(‘*”*ÐÐÐÐÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð'ð ð ñ ô ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð øøøð ð ð ð õ, ˜zÑ*Ô*ð ð ð ð ð ð ð ¨aØ�nŠnÑÔÐÐÐÐÐÐÐÝÑ!Ô!ð 	ð 	Ø—(’(‘*”*ÐÐÐÐÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð øøøð ð ð ð ð ð sf  ˜H/§AÁH/ÁA	ÁH/ÁA	ÁH/Á'BÂH/ÂB	ÂH/ÂB	ÂH/Â'CÃH/ÃC	ÃH/ÃC	ÃH/Ã'DÄH/ÄD	ÄH/ÄD	ÄH/Ä(EÅH/ÅE	ÅH/ÅE	ÅH/Å)FÆH/ÆF	ÆH/ÆF	ÆH/Æ*GÇH/ÇG	ÇH/ÇG	ÇH/Ç+HÈH/ÈH	ÈH/ÈH	ÈH/È/
H9È<H9É)KÉ>J%ÊKÊ%J)	Ê)KÊ,J)	Ê-KË
KËKc              ƒ  ób  K  — t          | ¦  «        4 ƒd {V —†}|                     ¦   «         ƒ d {V —† t          ¦   «         5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |                     d¦  «        ƒ d {V —† |                     d¦  «        ƒ d {V —†dk    sJ ‚|                     ¦   «         ƒ d {V —† d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )NrM   rÍ   r¬   )r|   rY   r'   r«   r·   r¡   r!  s     rK   Útest_send_all_empty_stringrm  L  sl  è è € Ý˜zÑ*Ô*ð ð ð ð ð ð ð ¨aØ�nŠnÑÔÐÐÐÐÐÐÐõ  Ñ!Ô!ð 	"ð 	"Ø—*’*˜S‘/”/Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"åÑ!Ô!ð 	"ð 	"Ø—*’*˜S‘/”/Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"à�jŠj˜ÑÔÐÐÐÐÐÐÐØ—^’^ AÑ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&¨$Ò.Ð.Ð.Ð.à�hŠh‰jŒjÐÐÐÐÐÐÐðð ð ñ ô ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð øøøð ð ð ð ð ð sZ   ˜)DÁA)ÁDÁ)A-	Á-DÁ0A-	Á1DÂB*ÂDÂ*B.	Â.DÂ1B.	Â2ADÄ
D(Ä+D(Úhttps_compatibleTc              ƒ  óT   ‡ ‡K  — dˆ ˆfd„}dˆ fd„}t          ||¦  «        ƒ d {V —† d S )Nr;   rá   c               “  ó4   •K  — t          ‰ d‰id‰i¬¦  «        S )Nrn  rÔ   )rå   )rL   rn  s   €€rK   Ústream_makerz,test_SSLStream_generic.<locals>.stream_makera  s5   øè è € õ &ØØ-Ð/?Ð@Ø-Ð/?Ð@ð
ñ 
ô 
ð 	
rM   rç   c               “  ó  •K  — t          ‰¦  «        \  } }t          j        ¦   «         4 ƒd {V —†}|                     | j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   | |fS r‡   )ré   r   rn   ro   rY   )rû   Úserverrv   rL   s      €rK   Úclogged_stream_makerz4test_SSLStream_generic.<locals>.clogged_stream_makerk  s  øè è € õ 2°*Ñ=Ô=‰ˆ�õ Ô%Ñ'Ô'ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4¨7Ø×Ò˜vÔ2Ñ3Ô3Ð3Ø×Ò˜vÔ2Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð �vˆ~Ðs   ¯5A6Á6
B ÂB )r;   rá   )r;   rç   )r(   )rL   rn  rq  rt  s   ``  rK   Útest_SSLStream_genericru  \  st   øøè è € ð

ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð õ  ˜|Ð-AÑ
BÔ
BÐBÐBÐBÐBÐBÐBÐBÐBÐBrM   c              ƒ  ó`  ‡‡‡‡‡K  — t          | ¦  «        \  ŠŠ‰j        Š‰j        Št          ¦   «         Šdˆˆˆfd„}dˆˆˆfd„}t          j        ¦   «         4 ƒd {V —†}|                     |¦  «         |                     |¦  «         d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )Nr;   rS   c               “  óÔ  •K  — ‰                      ¦   «         ƒ d {V —† ‰                     d¦  «        ƒ d {V —† ‰                     d¦  «        ƒ d {V —†dk    sJ ‚‰                     d¦  «        ƒ d {V —†  ‰d¦  «        4 ƒd {V —† ‰j        j        } d ‰j        _        d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   ‰                     d¦  «        ƒ d {V —†dk    sJ ‚‰j        ‰u sJ ‚‰                     ¦   «         ƒ d {V —†\  }}|‰u sJ ‚|dk    sJ ‚‰j        �J ‚|                     d¦  «        ƒ d {V —† | ‰j        _        ‰j                             ¦   «         ƒ d {V —† d S )NrÍ   r¬   rø   rù   r   rM   ó   trailing)rY   r«   r·   Úsend_streamÚsend_all_hookr  r]   )rz  ÚrawÚtrailingrÜ   r×   Úseqs      €€€rK   rû   ztest_unwrap.<locals>.client…  s{  øè è € Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø×!Ò! $Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø×,Ò,¨QÑ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/°4Ò7Ð7Ð7Ð7Ø×!Ò! $Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð
 �3�q‘6”6ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>Ø,Ô8ÔFˆMØ9=ÐÔ(Ô6ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð  ×,Ò,¨QÑ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/°3Ò6Ð6Ð6Ð6ØÔ*Ð.>Ð>Ð>Ð>Ð>à(×/Ò/Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1‰ˆˆXØÐ&Ð&Ð&Ð&Ð&Ø˜3ŠˆˆˆØÔ*Ð2Ð2Ð2Ø�lŠl˜;Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð 6CÐÔ$Ô2ØÔ*×8Ò8Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:s   ÂB1Â1
B;Â>B;c               “  óÌ  •K  — ‰                      ¦   «         ƒ d {V —† ‰                     d¦  «        ƒ d {V —†dk    sJ ‚‰                     d¦  «        ƒ d {V —† ‰                     d¦  «        ƒ d {V —†dk    sJ ‚ ‰d¦  «        4 ƒd {V —† ‰                     ¦   «         ƒ d {V —†\  } }d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   | ‰u sJ ‚|dk    sJ ‚‰j        �J ‚d S )Nr¬   rÍ   rø   rù   rx  )rY   r·   r«   r]   r  )r{  r|  r}  rÝ   rØ   s     €€€rK   rs  ztest_unwrap.<locals>.server   sÑ  øè è € Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø×,Ò,¨QÑ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/°4Ò7Ð7Ð7Ð7Ø×!Ò! $Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø×,Ò,¨QÑ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/°4Ò7Ð7Ð7Ð7ð
 �3�q‘6”6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6Ø",×"3Ò"3Ñ"5Ô"5Ð5Ð5Ð5Ð5Ð5Ð5‰MˆC�ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6àÐ&Ð&Ð&Ð&Ð&Ø˜;Ò&Ð&Ð&Ð&ØÔ*Ð2Ð2Ð2Ð2Ð2s   ÂB<Â<
CÃ	Cr¼   )rå   r  r&   r   rn   ro   )	rL   rû   rs  rv   rÜ   r×   r}  rÝ   rØ   s	       @@@@@rK   Útest_unwrapr  ~  s|  øøøøøè è € Ý3°JÑ?Ô?Ñ€J�
Ø!Ô2ÐØ!Ô2Ðå
‰+Œ+€Cð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð63ð 3ð 3ð 3ð 3ð 3ð 3ð 3õ Ô!Ñ#Ô#ð #ð #ð #ð #ð #ð #ð # wØ×Ò˜6Ñ"Ô"Ð"Ø×Ò˜6Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   Á+BÂ
B'Â*B'c              ƒ  ó2  ‡‡K  — t          | ¦  «        \  ŠŠ‰j        }d	ˆfd„}d	ˆfd„}t          j        ¦   «         4 ƒd {V —†}|                     |¦  «         |                     |¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          j        t          ¦  «        5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  ‰ 
                    ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  ‰ 
                    ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  ‰                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  ‰                     d¦  «        ƒ d {V —†dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  ‰                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  ‰                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          | ¦  «        \  ŠŠd	ˆfd„}t          j        ¦   «         4 ƒd {V —†}|                     ‰j
        ¦  «         |                     |¦  «         d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )
Nr;   rS   c               “  óŽ   •K  — t          ¦   «         5  ‰                      ¦   «         ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S r‡   )r'   r¡   )rÜ   s   €rK   Úclient_closerz-test_closing_nice_case.<locals>.client_closer¼  s›   øè è € ÝÑ!Ô!ð 	&ð 	&Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   ’:º>Á>c               “  ó  •K  — ‰                       d¦  «        ƒ d {V —†dk    sJ ‚‰                       d¦  «        ƒ d {V —†dk    sJ ‚t          ¦   «         5  ‰                      ¦   «         ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S ©Nr&  rM   )r·   r'   r¡   ©rÝ   s   €rK   Úserver_closerz-test_closing_nice_case.<locals>.server_closerÀ  sý   øè è € Ø×,Ò,¨RÑ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0°CÒ7Ð7Ð7Ð7Ø×,Ò,¨RÑ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0°CÒ7Ð7Ð7Ð7ÝÑ!Ô!ð 	&ð 	&Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   ÁA<Á<B ÂB s   123r&  rM   c               “  ó  •K  — t          ¦   «         5  ‰                      d¦  «        ƒ d {V —†dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  ‰                      ¦   «         ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S r„  )r'   r·   r¡   r…  s   €rK   Úexpect_eof_serverz1test_closing_nice_case.<locals>.expect_eof_serverç  s0  øè è € ÝÑ!Ô!ð 	<ð 	<Ø#×0Ò0°Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4¸Ò;Ð;Ð;Ð;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<åÑ!Ô!ð 	&ð 	&Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s#   ’"AÁAÁAÁBÂBÂ	Br¼   )rå   r  r   rn   ro   rë   rì   r   r«   r'   r¡   r·   r]   rY   )rL   r×   r‚  r†  rv   rˆ  rÜ   rÝ   s         @@rK   Útest_closing_nice_caser‰  ´  sL  øøè è € õ 4°JÑ?Ô?Ñ€J�
Ø!Ô2Ðð&ð &ð &ð &ð &ð &ð&ð &ð &ð &ð &ð &õ Ô!Ñ#Ô#ð *ð *ð *ð *ð *ð *ð * wØ×Ò˜=Ñ)Ô)Ð)Ø×Ò˜=Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ
 
ŒÕ*Ñ	+Ô	+ð 0ð 0Ø×'Ò'¨Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ 
Ñ	Ô	ð "ð "Ø×ÒÑ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "å	Ñ	Ô	ð "ð "Ø×ÒÑ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ 
ŒÕ*Ñ	+Ô	+ð *ð *Ø×!Ò! &Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ
 
ŒÕ*Ñ	+Ô	+ð 8ð 8Ø×,Ò,¨RÑ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0°CÒ7Ð7Ð7Ð7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ 
ŒÕ*Ñ	+Ô	+ð "ð "Ø×ÒÑ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ 
ŒÕ*Ñ	+Ô	+ð (ð (Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ
 4°JÑ?Ô?Ñ€J�
ð&ð &ð &ð &ð &ð &õ Ô!Ñ#Ô#ð .ð .ð .ð .ð .ð .ð . wØ×Ò˜:Ô,Ñ-Ô-Ð-Ø×ÒÐ,Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .s¢   Á+B Â 
B
ÂB
Â*CÃCÃCÃ+DÄDÄDÄ+EÅEÅEÅ6FÆF"Æ%F"Ç"G1Ç1G5Ç8G5ÈH<È<I ÉI É JÊJÊJË0LÌ
LÌLc              ƒ  ó  ‡K  — t          | ¦  «        \  }}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d	d„}||j        j        _        t          j	        t          ¦  «        5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          j	        t          ¦  «        5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   dŠd
ˆfd„}||j        j        _        ||j        j        _        |                     ¦   «         ƒ d {V —† ‰dk    sJ ‚d S )Nr;   r   c               “  ó   K  — t           ‚r‡   ©ÚKeyErrorrˆ   rM   rK   Úbad_hookz3test_send_all_fails_in_the_middle.<locals>.bad_hookù  ó   è è € ÝˆrM   rÍ   r   rS   c                 ó   •— ‰ dz  Š d S rL  rˆ   )Úcloseds   €rK   Ú
close_hookz5test_send_all_fails_in_the_middle.<locals>.close_hook  s   ø€ à�!‰ˆˆˆrM   r   ©r;   r   r¼   )rå   r   rn   ro   rY   r  ry  rz  rë   rì   r�  r«   r   r§   r’  Úreceive_streamr¡   )rL   rû   rs  rv   rŽ  r’  r‘  s         @rK   Ú!test_send_all_fails_in_the_middler•  ò  s°  øè è € Ý+¨JÑ7Ô7�N€FˆFåÔ!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ðð ð ð ð 9A€FÔÔ'Ô5å	Œ•xÑ	 Ô	 ð $ð $Ø�oŠo˜dÑ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ 
ŒÕ*Ñ	+Ô	+ð 5ð 5Ø×2Ò2Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð €Fðð ð ð ð ð ð 6@€FÔÔ'Ô2Ø8B€FÔÔ*Ô5Ø
�-Š-‰/Œ/ÐÐÐÐÐÐÐà�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;s5   ¯5A6Á6
B ÂB Â5CÃC!Ã$C!ÄD(Ä(D,Ä/D,c              ƒ  ó¼  ‡‡	K  — t          ¦   «         \  }}t          || d¬¦  «        }t          |t          d¬¦  «        }t          || d¬¦  «        Št          |t          d¬¦  «        Š	d	ˆfd„}d	ˆ	fd„}t          j        ¦   «         4 ƒd {V —†}|                     |¦  «         |                     |¦  «         d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )
Nr2   rz   Trö   r;   rS   c               “  ó„   •K  — ‰                       d¦  «        ƒ d {V —† ‰                      d¦  «        ƒ d {V —†dk    sJ ‚d S )Nó   hir&  ó   bye)r«   r·   )Úclient_2s   €rK   rû   z!test_ssl_over_ssl.<locals>.client"  sd   øè è € Ø×Ò Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ø×*Ò*¨2Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.°&Ò8Ð8Ð8Ð8Ð8Ð8rM   c               “  ó„   •K  — ‰                       d¦  «        ƒ d {V —†dk    sJ ‚‰                      d¦  «        ƒ d {V —† d S )Nr&  r˜  r™  )r·   r«   )Úserver_2s   €rK   rs  z!test_ssl_over_ssl.<locals>.server&  sd   øè è € Ø×*Ò*¨2Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.°%Ò7Ð7Ð7Ð7Ø×Ò Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'rM   r¼   )r*   r#   rW   r   rn   ro   )
rL   Úclient_0Úserver_0Úclient_1Úserver_1rû   rs  rv   rš  rœ  s
           @@rK   Útest_ssl_over_sslr¡    s®  øøè è € Ý+Ñ-Ô-Ñ€HˆhåØØØ1ðñ ô €Hõ
 ˜¥:¸4Ð@Ñ@Ô@€HåØØØ1ðñ ô €Hõ
 ˜¥:¸4Ð@Ñ@Ô@€Hð9ð 9ð 9ð 9ð 9ð 9ð(ð (ð (ð (ð (ð (õ Ô!Ñ#Ô#ð #ð #ð #ð #ð #ð #ð # wØ×Ò˜6Ñ"Ô"Ð"Ø×Ò˜6Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   Â+CÃ
CÃCc              ƒ  ó¨  K  — t          | ¦  «        \  }}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          j        |¦  «        ƒ d {V —† t          j        t          ¦  «        5  | 
                    d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         ƒ d {V —† d S )Nr&  ó
   xxxxxxxxxx)rå   r   rn   ro   rY   rm   r   rë   rì   r   r·   r«   r¡   ©rL   rû   rs  rv   s       rK   Útest_ssl_bad_shutdownr¥  /  sc  è è € Ý+¨JÑ7Ô7�N€FˆFåÔ!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ Ô
  Ñ
(Ô
(Ð(Ð(Ð(Ð(Ð(Ð(Ð(å	ŒÕ*Ñ	+Ô	+ð &ð &Ø×!Ò! "Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &å	ŒÕ*Ñ	+Ô	+ð )ð )Ø�oŠo˜iÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð �-Š-‰/Œ/ÐÐÐÐÐÐÐÐÐs5   ®5A5Á5
A?ÂA?Â9C!Ã!C%Ã(C%ÄD-Ä-D1Ä4D1c              ƒ  ó`  K  — t          | ddiddi¬¦  «        \  }}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          j        |¦  «        ƒ d {V —† |                     d¦  «        ƒ d {V —†dk    sJ ‚t          j	        t          ¦  «        5  |                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         ƒ d {V —† d S )Nrn  T©rÖ   rÕ   r&  rM   r£  )rå   r   rn   ro   rY   rm   r   r·   rë   rì   r   r«   r¡   r¤  s       rK   Ú test_ssl_bad_shutdown_but_its_okr¨  @  s$  è è € Ý+ØØ)¨4Ð0Ø)¨4Ð0ðñ ô �N€FˆFõ Ô!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ Ô
  Ñ
(Ô
(Ð(Ð(Ð(Ð(Ð(Ð(Ð(à×$Ò$ RÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(¨CÒ/Ð/Ð/Ð/Ý	ŒÕ*Ñ	+Ô	+ð )ð )Ø�oŠo˜iÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð �-Š-‰/Œ/ÐÐÐÐÐÐÐÐÐs#   µ5A<Á<
BÂ	BÃ!D	Ä	DÄDc               ƒ  ó`  K  — t          d¬¦  «        4 ƒd {V —†} t          j        ¦   «         }t          | |d¬¦  «        }t	          j        t          ¦  «        5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )NTrN   r2   rz   )rw   r?   r@   r#   rë   rì   r   r¡   )rP   rL   rË   s      rK   Ú(test_ssl_handshake_failure_during_acloserª  T  s  è è € õ
 #¨tÐ4Ñ4Ô4ð ð ð ð ð ð ð ¸åÔ/Ñ1Ô1ˆ
Ý�d˜JÐ8QÐRÑRÔRˆõ Œ]Õ.Ñ/Ô/ð 	ð 	Ø—(’(‘*”*ÐÐÐÐÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð øøøð ð ð ð ð ð s5   ™?BÁA?Á3BÁ?B	ÂBÂB	ÂBÂ
B'Â*B'c              ƒ  ó  ‡‡K  — t          | ¦  «        \  }}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |j        j        j        ŠdŠdˆˆfd„}||j        j        _        t          j	        t          ¦  «        5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   ‰dk    sJ ‚d S )Nr   r;   r   c                 ó8   •— ‰ €J ‚ ‰ ¦   «          ‰dz  Št           ‚rL  rŒ  )Úclient_orig_close_hookÚtransport_close_counts   €€rK   r’  z4test_ssl_only_closes_stream_once.<locals>.close_hooks  s.   ø€ à%Ð1Ð1Ð1ØÐÑ Ô Ð Ø Ñ"ÐÝˆrM   r¬   r“  )rå   r   rn   ro   rY   r  ry  r’  rë   rì   r�  r¡   )rL   rû   rs  rv   r’  r­  r®  s        @@rK   Ú test_ssl_only_closes_stream_oncer¯  g  së  øøè è € õ ,¨JÑ7Ô7�N€FˆFåÔ!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð $Ô4Ô@ÔKÐØÐðð ð ð ð ð ð ð 6@€FÔÔ'Ô2å	Œ•xÑ	 Ô	 ð ð Ø�mŠm‰oŒoÐÐÐÐÐÐÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à  AÒ%Ð%Ð%Ð%Ð%Ð%s#   °5A7Á7
BÂBÃC3Ã3C7Ã:C7c              ƒ  ó  ‡K  — t          | ddiddi¬¦  «        \  }Št          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     ‰j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   dˆfd„}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |¦  «         d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )	Nrn  FTr§  r;   rS   c               “  óÚ   •K  — t          j        t          ¦  «        5 } ‰                     d¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t	          | j        j        ¦  «        sJ ‚d S )Nr&  )rë   rì   r   r·   r$   rî   rï   )ró   rs  s    €rK   Úreceive_and_expect_errorzKtest_ssl_https_compatibility_disagreement.<locals>.receive_and_expect_errorŽ  s±   øè è € ÝŒ]Õ.Ñ/Ô/ð 	*°7Ø×%Ò% bÑ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*õ �w”}Ô.Ñ/Ô/Ð/Ð/Ð/Ð/Ð/s   �AÁA	ÁA	r¼   )rå   r   rn   ro   rY   r¡   )rL   rû   rv   r²  rs  s       @rK   Ú)test_ssl_https_compatibility_disagreementr³  �  s2  øè è € Ý+ØØ)¨5Ð1Ø)¨4Ð0ðñ ô �N€FˆFõ Ô!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð0ð 0ð 0ð 0ð 0ð 0õ Ô!Ñ#Ô#ð 5ð 5ð 5ð 5ð 5ð 5ð 5 wØ×Ò˜6œ=Ñ)Ô)Ð)Ø×ÒÐ3Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s#   ¶5A=Á=
BÂ
BÂ-0C0Ã0
C:Ã=C:c              ƒ  ó$  ‡K  — t          | ddiddi¬¦  «        \  }Šdˆfd„}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |¦  «         d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )Nrn  Tr§  r;   rS   c               “  óN   •K  — ‰                       d¦  «        ƒ d {V —†dk    sJ ‚d S r„  )r·   )rs  s   €rK   Úserver_expect_clean_eofzEtest_https_mode_eof_before_handshake.<locals>.server_expect_clean_eof   s>   øè è € Ø×(Ò(¨Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,°Ò3Ð3Ð3Ð3Ð3Ð3rM   r¼   )rå   r   rn   ro   r¡   )rL   rû   r¶  rv   rs  s       @rK   Ú$test_https_mode_eof_before_handshaker·  ™  sG  øè è € Ý+ØØ)¨4Ð0Ø)¨4Ð0ðñ ô �N€FˆFð4ð 4ð 4ð 4ð 4ð 4õ Ô!Ñ#Ô#ð 4ð 4ð 4ð 4ð 4ð 4ð 4 wØ×Ò˜6œ=Ñ)Ô)Ð)Ø×ÒÐ2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s   ¼0A?Á?
B	ÂB	c              ƒ  ó  K  — t          | ¦  «        \  }}dd„}||j        j        _        t	          j        t          ¦  «        5  t          ¦   «         5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t	          j        t          ¦  «        5  t          ¦   «         5  |                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr;   r   c               “  ó   K  — t           ‚r‡   rŒ  rˆ   rM   rK   rŽ  z2test_send_error_during_handshake.<locals>.bad_hook«  r�  rM   r“  )
rå   r  ry  rz  rë   rì   r�  r'   rY   r   )rL   rû   Ú_serverrŽ  s       rK   Ú test_send_error_during_handshaker»  ¨  s"  è è € Ý,¨ZÑ8Ô8�O€FˆGðð ð ð ð 9A€FÔÔ'Ô5å	Œ•xÑ	 Ô	 ð (ð (ÝÑ!Ô!ð 	(ð 	(Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 
ŒÕ*Ñ	+Ô	+ð (ð (ÝÑ!Ô!ð 	(ð 	(Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (sl   ÁBÁA9Á-BÁ9A=	Á=BÂ A=	ÂBÂBÂBÂ4DÃC*ÃDÃ*C.	Ã.DÃ1C.	Ã2DÄDÄ	Dc              ƒ  ó.  ‡K  — t          | ¦  «        \  Š}dd„}|‰j        j        _        d	ˆfd„}t	          j        ¦   «         4 ƒd {V —†}|                     ||j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   t          j
        t          ¦  «        5  t          ¦   «         5  ‰                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )
Nr;   r   c               “  ó   K  — t           ‚r‡   rŒ  rˆ   rM   rK   rŽ  z5test_receive_error_during_handshake.<locals>.bad_hook¼  r�  rM   Úcancel_scoper1   rS   c              “  ó  •K  — t          j        t          ¦  «        5  t          ¦   «         5  ‰                     ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                      ¦   «          d S r‡   )rë   rì   r�  r'   rY   Úcancel)r¾  rû   s    €rK   Úclient_sidez8test_receive_error_during_handshake.<locals>.client_sideÁ  s  øè è € ÝŒ]�8Ñ$Ô$ð 	,ð 	,Ý#Ñ%Ô%ð ,ð ,Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	×ÒÑÔÐÐÐs4   �A*¬AÁA*ÁA	ÁA*ÁA	ÁA*Á*A.Á1A.r“  )r¾  r1   r;   rS   )rå   r  r”  Úreceive_some_hookr   rn   ro   r¾  rY   rë   rì   r   r'   )rL   rs  rŽ  rÁ  rv   rû   s        @rK   Ú#test_receive_error_during_handshakerÃ  ¹  sE  øè è € Ý+¨JÑ7Ô7�N€FˆFðð ð ð ð @H€FÔÔ*Ô<ðð ð ð ð ð õ Ô!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜;¨Ô(<Ñ=Ô=Ð=Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ 
ŒÕ*Ñ	+Ô	+ð (ð (ÝÑ!Ô!ð 	(ð 	(Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (sH   Á
6BÂ
BÂBÂ<D
ÃC2Ã&D
Ã2C6	Ã6D
Ã9C6	Ã:D
Ä
DÄDc                ó@  — t          | ¦  «        \  }}t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S r‡   )rå   rë   rì   r!   Úselected_alpn_protocol©rL   rû   rs  s      rK   Ú,test_selected_alpn_protocol_before_handshakerÇ  Ð  s  € Ý+¨JÑ7Ô7�N€FˆFå	ŒÕ)Ñ	*Ô	*ð (ð (Ø×%Ò%Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 
ŒÕ)Ñ	*Ô	*ð (ð (Ø×%Ò%Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (ó#   ¬AÁAÁAÁ1BÂBÂBc              ƒ  óÀ  K  — t          | ¦  «        \  }}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |                     ¦   «         �J ‚|                     ¦   «         �J ‚|                     ¦   «         |                     ¦   «         k    sJ ‚d S r‡   )rå   r   rn   ro   rY   rÅ  r¤  s       rK   Ú(test_selected_alpn_protocol_when_not_setrÊ  Ú  sc  è è € õ ,¨JÑ7Ô7�N€FˆFåÔ!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð ×(Ò(Ñ*Ô*Ð2Ð2Ð2Ø×(Ò(Ñ*Ô*Ð2Ð2Ð2à×(Ò(Ñ*Ô*¨f×.KÒ.KÑ.MÔ.MÒMÐMÐMÐMÐMÐMó   ®5A5Á5
A?ÂA?c                ó@  — t          | ¦  «        \  }}t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S r‡   )rå   rë   rì   r!   Úselected_npn_protocolrÆ  s      rK   Ú+test_selected_npn_protocol_before_handshakerÎ  é  s  € Ý+¨JÑ7Ô7�N€FˆFå	ŒÕ)Ñ	*Ô	*ð 'ð 'Ø×$Ò$Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'õ 
ŒÕ)Ñ	*Ô	*ð 'ð 'Ø×$Ò$Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 'rÈ  zCignore: ssl module. NPN is deprecated, use ALPN instead:UserWarningzAignore:ssl NPN is deprecated, use ALPN instead:DeprecationWarningc              ƒ  óÀ  K  — t          | ¦  «        \  }}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |                     ¦   «         �J ‚|                     ¦   «         �J ‚|                     ¦   «         |                     ¦   «         k    sJ ‚d S r‡   )rå   r   rn   ro   rY   rÍ  r¤  s       rK   Ú'test_selected_npn_protocol_when_not_setrÐ  ó  sc  è è € õ ,¨JÑ7Ô7�N€FˆFåÔ!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð ×'Ò'Ñ)Ô)Ð1Ð1Ð1Ø×'Ò'Ñ)Ô)Ð1Ð1Ð1à×'Ò'Ñ)Ô)¨V×-IÒ-IÑ-KÔ-KÒKÐKÐKÐKÐKÐKrË  c                ó@  — t          | ¦  «        \  }}t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S r‡   )rå   rë   rì   r!   Úget_channel_bindingrÆ  s      rK   Ú)test_get_channel_binding_before_handshakerÓ    s  € Ý+¨JÑ7Ô7�N€FˆFå	ŒÕ)Ñ	*Ô	*ð %ð %Ø×"Ò"Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ 
ŒÕ)Ñ	*Ô	*ð %ð %Ø×"Ò"Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %rÈ  c              ƒ  óÀ  K  — t          | ¦  «        \  }}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |                     ¦   «         €J ‚|                     ¦   «         €J ‚|                     ¦   «         |                     ¦   «         k    sJ ‚d S r‡   )rå   r   rn   ro   rY   rÒ  r¤  s       rK   Ú(test_get_channel_binding_after_handshakerÕ    sa  è è € Ý+¨JÑ7Ô7�N€FˆFåÔ!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð ×%Ò%Ñ'Ô'Ð3Ð3Ð3Ø×%Ò%Ñ'Ô'Ð3Ð3Ð3à×%Ò%Ñ'Ô'¨6×+EÒ+EÑ+GÔ+GÒGÐGÐGÐGÐGÐGrË  c              ƒ  óº  K  — t          | ¦  «        \  }}t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |                     ¦   «         �J ‚t          |                     ¦   «         ¦  «         d|                     ¦   «         d         v sJ ‚d S )N)ÚDNSr2   ÚsubjectAltName)rå   r   rn   ro   rY   Úgetpeercertrd   r¤  s       rK   Útest_getpeercertrÚ    s]  è è € å+¨JÑ7Ô7�N€FˆFåÔ!Ñ#Ô#ð 0ð 0ð 0ð 0ð 0ð 0ð 0 wØ×Ò˜6Ô.Ñ/Ô/Ð/Ø×Ò˜6Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð ×ÒÑÔÐ'Ð'Ð'Ý	ˆ&×
Ò
Ñ
Ô
ÑÔÐØ-°×1CÒ1CÑ1EÔ1EÐFVÔ1WÐWÐWÐWÐWÐWÐWrË  c              ƒ  óv  ‡ K  — 	 d
dˆ fd„} |¦   «         ƒ d {V —†\  }}}|4 ƒd {V —† |                      ¦   «         ƒ d {V —†}|4 ƒd {V —† |j        rJ ‚t          j        ¦   «         4 ƒd {V —†}|                     |j        ¦  «         |                     |j        ¦  «         d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |                     ¦   «         ƒ d {V —† |                     ¦   «         dk    sJ ‚	 d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y    |d¬	¦  «        ƒ d {V —†\  }}}|                      ¦   «         ƒ d {V —†}|j        sJ ‚t          |¦  «        ƒ d {V —† t          |¦  «        ƒ d {V —† t          |¦  «        ƒ d {V —† d S )NFrn  rR   r;   úMtuple[tsocket.SocketType, SSLListener[SocketStream], SSLStream[SocketStream]]c              “  óJ  •K  — t          j        ¦   «         }|                     d¦  «        ƒ d {V —† |                     d¦  «         t	          |¦  «        }t          |t          | ¬¦  «        }t          |                     ¦   «         Ž ƒ d {V —†}t          |‰d¬¦  «        }|||fS )N)z	127.0.0.1r   r¬   ©rn  r2   rz   )
rr   r   ÚbindÚlistenr   r"   rW   r   Úgetsocknamer#   )rn  Úlisten_sockÚsocket_listenerÚssl_listenerÚtransport_clientÚ
ssl_clientrL   s         €rK   Úsetupztest_SSLListener.<locals>.setup+  sÒ   øè è € õ ”nÑ&Ô&ˆØ×ÒÐ/Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø×Ò˜1ÑÔÐÝ(¨Ñ5Ô5ˆÝ"ØÝØ-ð
ñ 
ô 
ˆõ "1°+×2IÒ2IÑ2KÔ2KÐ!LÐLÐLÐLÐLÐLÐLÐÝØØØ5ð
ñ 
ô 
ˆ
ð
 ˜L¨*Ð4Ð4rM   éÿÿÿÿTrÞ  ©F)rn  rR   r;   rÜ  )	ÚacceptÚ_https_compatibler   rn   ro   rY   r¡   Úfilenor   )rL   rç  râ  rä  ræ  Ú
ssl_serverrv   r„   s   `       rK   Útest_SSLListenerrî  *  sß  øè è € à!&ð5ð 5ð 5ð 5ð 5ð 5ð 5ð* 38°%±'´'¨M¨M¨M¨M¨M¨MÑ)€K�˜zàð *ð *ð *ð *ð *ð *ð *ð *Ø'×.Ò.Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0ˆ
àð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<Ø!Ô3Ð3Ð3Ð3õ Ô)Ñ+Ô+ð <ð <ð <ð <ð <ð <ð <¨wØ×"Ò" :Ô#:Ñ;Ô;Ð;Ø×"Ò" :Ô#:Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð		<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð ×!Ò!Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø×!Ò!Ñ#Ô# rÒ)Ð)Ð)Ð)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð$ ).¨¸tÐ(DÑ(DÔ(DÐ"DÐ"DÐ"DÐ"DÐ"DÐ"DÑ€A€|�Zà#×*Ò*Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,€JàÔ'Ð'Ð'Ð'å
˜LÑ
)Ô
)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ý
˜JÑ
'Ô
'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ý
˜JÑ
'Ô
'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'sY   ¨#D0Á#CÁ.5B5Â#CÂ5
B?Â?CÃB?ÃCÃD0Ã
C"	Ã"D0Ã%C"	Ã&7D0Ä0
D:Ä=D:)r9   r:   r;   r<   )rP   rQ   rO   rR   r;   rS   ré  )rO   rR   r;   ri   )rL   r   rO   rR   r;   rx   r¼   r‡   )rL   r   r   r€   r;   rÏ   )rL   r   r×   r0   rØ   r0   rÕ   rÙ   rÖ   rÙ   r;   rÚ   )NN)rL   r   rÕ   rà   rÖ   rà   r;   rá   )rL   r   rÕ   rà   rÖ   rà   r;   rç   )rL   r   r;   rS   )r#  r/   rL   r   r;   rS   )rL   r   rn  rR   r;   rS   )�Ú
__future__r   Úosr   rk   r?   Úsysrý   Ú
contextlibr   r   r   Ú	functoolsr   r   Útypingr	   r
   r   r   rë   rm   r   Útrio._tests.pytest_pluginr   Útrio.abcr   r   Útrio.testingr   r   r   r   ÚtrustmeÚOpenSSLr   ÚImportErrorÚerrorÚ r   rr   Ú_abcr   r   r   Ú_core._tests.tutilr   Ú_highlevel_genericr   Ú_highlevel_open_tcp_streamr   Ú_highlevel_socketr   r    Ú_sslr!   r"   r#   r$   Ú_utilr%   Útestingr&   r'   r(   r)   r*   Úcollections.abcr+   r,   r-   r.   Ú
trio._corer/   Ú	trio._sslr0   Ú
_core._runr1   ÚCArC   Úissue_server_certr‘   r@   ÚPurposeÚCLIENT_AUTHrW   rA   rB   r3   r’   ÚfixturerL   rh   rw   r|   r~   rÎ   rÓ   rÞ   rß   Ú__annotations__rå   ræ   ré   rô   r  r  r  r"  rE  rS  rf  ÚmarkÚskipifÚnameÚversion_infork  rm  Úparametrizeru  r  r‰  r•  r¡  r¥  r¨  rª  r¯  r³  r·  r»  rÃ  rÇ  rÊ  rÎ  ÚfilterwarningsrÐ  rÓ  rÕ  rÚ  rî  rˆ   rM   rK   ú<module>r     sŸ  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
Ø 
€
€
€
Ø Ð Ð Ð Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :à €€€à Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AØ .Ð .Ð .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð ð ð'Ø€N€N€NØÐÐÐÐÐÐøØð 'ð 'ð 'ØÐ Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&øøøøð'øøøð €€€à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø %Ð %Ð %Ð %Ð %Ð %Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ $Ð $Ð $Ð $Ð $Ð $ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )ØLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLà$Ð$Ð$Ð$Ð$Ð$Ø"Ð"Ð"Ð"Ð"Ð"à(Ð(Ð(Ð(Ð(Ð(ð( ˆwŒz‰|Œ|€Ø×1Ò1Ð2KÑLÔLÐ à'ˆSÔ'¨¬Ô(?Ñ@Ô@€
Ø
€7ˆ3Ð*Ñ+Ô+ð 8ØÐÔ˜3Ô7Ð7Ñ7ÐÔà × Ò  
Ñ +Ô +Ð +ð €„�h¨°Ð'9Ð:Ñ:Ô:ðð ð ñ ;Ô:ðð( ð1ð 1ð 1ð 1ð 1ð 1ðn ð>ð >ð >ð >ñ Ôð>ð" ð ðUð Uð Uð Uñ ÔðUðKFð KFð KFð KFð KF˜&ñ KFô KFð KFð\>ð >ð >ð >ð< ð 8<ðUð Uð Uð Uñ „ðUð ,0Ø+/ð"ð "ð "ð "ð "ð "ð6 "/Ð/?ÐATÐ/TÔ!UÐ Ð UÐ UÐ UÑ Uð
 BFØAEðð ð ð ð ð$ +¨:°}Ð+DÔE€Ð EÐ EÐ EÑ Eð
 BFØAEðð ð ð ð ð*Ið Ið Ið Ið4ð ð ð ðB"Að "Að "Að "AðJ"ð "ð "ð "ðJð ð ð ð" ðwð wð wñ „ðwðtVð Vð Vð VðBð ð ð ð. „×ÒØ„Gˆt‚OÐ3˜Ô(¨GÒ3Ø6ð ñ ô ðð ð ñ	ô ðð:ð ð ð ð  „×ÒÐ+¨e°T¨]Ñ;Ô;ðCð Cð Cñ <Ô;ðCðB3#ð 3#ð 3#ð 3#ðl;.ð ;.ð ;.ð ;.ð|ð ð ð ð>#ð #ð #ð #ð<ð ð ð ð"ð ð ð ð(ð ð ð ð&&ð &ð &ð &ð45ð 5ð 5ð 5ð04ð 4ð 4ð 4ð(ð (ð (ð (ð"(ð (ð (ð (ð.(ð (ð (ð (ðNð Nð Nð Nð'ð 'ð 'ð 'ð „×ÒØJØHñô ðLð Lð Lñ	ô ðLð%ð %ð %ð %ð
Hð 
Hð 
Hð 
Hð
Xð 
Xð 
Xð 
Xð2(ð 2(ð 2(ð 2(ð 2(ð 2(s   Á#
A. Á.BÁ3BÂB