403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/test_asyncio/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/test_asyncio/__pycache__/test_ssl.cpython-315.opt-1.pyc
R
>lqjY�c��]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s]PH0s]PH,s]PH6s
]QH<Gs]QHDGs\O(Q6Hs\%fQL]@s\O.sQsQQ\O42sQQ	\O82s\O<\
PIQ
2QQ\O>22s Q
Q2s!QQ\OD2s#QQ\#2s$QQ\#2s%P!\cPs
K�h9h)�)�support)�utils�darwin�c�F�[OOP2P!�N)�asyncio�events�_set_event_loop_policy���/C:\Python315\\Lib\test\test_asyncio\test_ssl.py�tearDownModuler!s���N�N�)�)�$�/rc�L`�\sQs]%snPsPsQQksQsQsQs	Qs
QsUsP!)�MyBaseProtoc��PUmQUm]UmUd;[OUQ5Um[OUQ5UmP!P!)N�INITIAL��loop)�	transport�state�nbytesr�Future�	connected�done��selfrs&&r
�__init__�MyBaseProto.__init__)sB�������
������$�^�^��6�D�N����D�1�D�I�rc��VmQUmUO%cUOOP2P!P!)�	CONNECTED)rrr�
set_result�rrs&&r
�connection_made�MyBaseProto.connection_made1s.��"�� ��
��>�>�>��N�N�%�%�d�+�rc�L�U9O[U2*
tmP!r)r�len�r�datas&&r
�
data_received�MyBaseProto.data_received8s�����s�4�y� �rc��QUmP!)�EOF)r�rs&r
�eof_received�MyBaseProto.eof_received<s	����
rc�t�QUmUO%cUOOP2P!P!)�CLOSED)rrr!�r�excs&&r
�connection_lost�MyBaseProto.connection_lost@s)����
��9�9�9��I�I� � ��&�r)rrrrrr)
�__name__�
__module__�__qualname__�__firstlineno__rrrr#r)r.r4�__static_attributes__�__classdictcell__��
__classdict__s@r
rr%s-�����I��D�2�,�!��'�'rrc�.`�\sQs]GsnQsQsQsUsP!)�MessageOutFilterc��VmP!r��msg)rrBs&&r
r�MessageOutFilter.__init__Hs���rc�B�UOUO7cP
!P	!�FrA)r�records&&r
�filter�MessageOutFilter.filterKs���8�8�v�z�z�!��rrA)r6r7r8r9rrGr:r;r<s@r
r?r?Gs������rr?z
No ssl modulec
�&``�\sQs]QsnQ-s\OsU1QksU1Qks	Q\
OQPQ\OQ]Q]
-Qks
\
O\O1Q	ksQ
sQsQ.QksQ
P	-Qks\O(Q2sQsQsQsQs\O4]Q/P
Q5Q2sQsQsQsQsQs Qs!Q0Qks"Qs#Qs$Qs%Q s&Q!s'Q"s(\O4]Q/P
Q5Q#2s)Q$s*Q%s+Q&s,Q's-Q(s.Q)s/Q*s0Q+s1Q,s2Us3U9s4!)1�TestSSLc��:�[RU_2[O2UmUOUO2UO
UOO2P!r)�super�setUpr�new_event_loopr�set_event_loop�
addCleanup�close�r�	__class__s&�r
rM�
TestSSL.setUpWsB���
��
���*�*�,��	����D�I�I�&�����	�	���(rc��:�UOO2%f![OUO2UO	2[
O2[RU_!2P!r)	r�	is_closed�
test_utils�run_briefly�
doCleanupsr�
gc_collectrL�tearDownrRs&�r
r[�TestSSL.tearDown]sI����y�y�"�"�$�$��"�"�4�9�9�-���������
���r�family�addr�timeout�backlog�max_clientsc� �UeLU[[QP26Xc4[O29^tt^2oUOoPPP2LQo[OU[O
2oUe[
Q2gU]6:c[
Q2gUOU2UOU2UOU2[VVU2!)%fhK�9h[co	SO2S	gPo	=	hh9h)N�AF_UNIX�timeout is required�#only blocking sockets are supported��	127.0.0.1r)
�getattr�socket�tempfile�NamedTemporaryFile�name�SOCK_STREAM�RuntimeError�
settimeout�bind�listen�OSErrorrQ�TestThreadedServer)
r�server_progr]r^r_r`ra�tmp�sock�exs
&&$$$$$   r
�
tcp_server�TestSSL.tcp_serverfs����<�����D�9�9��0�0�2�2�c��8�8�D�3�2�(���}�}�V�V�%7�%7�8���?��4�5�5��a�<��D�E�E����� �	��I�I�d�O��K�K�� �
"���k�;�	;�)3�2�� �	��J�J�L��H��	�s/�
C�)"C+�C(	�!C(	�+	D
�5D
�6D�D
c���[OU[O2oUe[Q2gU]6:c[Q2gUOU2[	VV2!)Nrdre)rirmrnro�TestThreadedClient)r�client_progr]r_rvs&&&& r
�
tcp_client�TestSSL.tcp_client�s\���}�}�V�V�%7�%7�8���?��4�5�5��a�<��D�E�E����� �!���.�	.rc�J�UOUQ[O-U@!�r])rxrirc�r�args�kwargss&*,r
�unix_server�TestSSL.unix_server��������F�V�^�^�F�v�F�Frc�J�UOUQ[O-U@!r�)r}rircr�s&*,r
�unix_client�TestSSL.unix_client�r�rc��[O[O2oU9O[O*tmUOV2U!r)�ssl�
SSLContext�PROTOCOL_TLS_SERVER�options�OP_NO_SSLv2�load_cert_chain)r�certfile�keyfile�
sslcontexts&&& r
�_create_server_ssl_context�"TestSSL._create_server_ssl_context�s?���^�^�C�$;�$;�<�
����c�o�o�-���"�"�8�5��r�disable_verifyc�z�[O2oP
UmU%c[OUmU!rE)r��create_default_context�check_hostname�	CERT_NONE�verify_mode)rr�r�s&$ r
�_create_client_ssl_context�"TestSSL._create_client_ssl_context�s-���/�/�1�
�$)�
�!��%(�]�]�J�"��rc#�� �[OQ2o[Q2oUOU2Pw�UO	U2P!SO	S2h9h3h)rzhas no effect when using ssl)�logging�	getLoggerr?�	addFilter�removeFilter)r�loggerrGs&  r
�_silence_eof_received_warning�%TestSSL._silence_eof_received_warning�sT����"�"�9�-��!�"@�A������ �	(������'��F����'�s�4A%�A�A%�A"�"A%c��UOO2UOU2P!SOS2h9hr)r�stop�fail�rrws&&r
�_abort_socket_test�TestSSL._abort_socket_test�s,��	��I�I�N�N���I�I�b�M��D�I�I�b�M�s	�0�Ac�.�[O2!r)rrNr-s&r
�new_loop�TestSSL.new_loop�s���%�%�'�'rc�.�[O2!r)r�DefaultEventLoopPolicyr-s&r
�
new_policy�TestSSL.new_policy�s���-�-�/�/rc�� �[U[O2%fP!UO2EPiw�K
P!K[[
1cP!h9h3hr)�
isinstancer�StreamWriter�wait_closed�BrokenPipeError�ConnectionError)r�objs&&r
r��TestSSL.wait_closed�sF����#�w�3�3�4�4��	��/�/�#�#�#����1�	��	�sC�!A�A�A�A�A�A�A�A�A�A�A�A)�size�memuse�dry_runc�6```````	`
```
�]nUn[OnQ[*nQ[*nRO[O
[O2nRO2n	,n
UUUU1QknUUU	U
U1Qkn
UUUUUU
1QkoRO29^tt^2ROOU22PPP2RORR2R
FDoUO2J	P!)%fhK>9h)rc���: �UO[R22EPiw�K
oROUR2UOQ2UO[R22EPiw�K
oROUR2UO	Q[Q2[
Q2,2UO2EPiw�K
UO2R]*
nP!K�KsK#3h�N�OKsSP�A�M�	�readexactlyr&�assertEqual�write�
writelines�	bytearray�
memoryview�drainrQ��reader�writerr(�A_DATA�B_DATA�CNTrs&& ����r
�
handle_client�7TestSSL.test_create_server_ssl_1.<locals>.handle_client������ �+�+�C��K�8�8�8�D����T�6�*��L�L����+�+�C��K�8�8�8�D����T�6�*����u�i��o�z�$�7G�H�I��,�,�.� � ��L�L�N��1�H�C�9�9�
!��5� C#�C�AC#�*C�+AC#�<C!�=!C#�C#�!C#c���:`` �[O2nUUUUUU1QkoROU2oUO2RO	U2REPiw�K
P!K3h)c�
:�UOR2UOR2UOR2UO]2oRO	UQ2UOR2UO]2oRO	UQ2UO2ROOROP2P![c2oROOROS2Po=P!Po=hh9h)�r��SPAM)�starttls�connect�send�recv_allr�rQr�call_soon_threadsafer!�	Exception�
set_exception)	rvr(rwr�r�r^�
client_sslctx�futrs	&  ������r
�prog�CTestSSL.test_create_server_ssl_1.<locals>.test_client.<locals>.prog�s����I��M�M�-�0��L�L��&��I�I�f�%��=�=��+�D��$�$�T�5�1��I�I�f�%��=�=��+�D��$�$�T�7�3��J�J�L�
�I�I�2�2�3�>�>�4�H��!�J��I�I�2�2�3�3D�3D�b�I�I��J�s�BC�	D�D�&C=�=D�rrr}�start�append)	r^r��clientr�r�r�r��clientsrs	f  @�����r
�test_client�5TestSSL.test_create_server_ssl_1.<locals>.test_client�sJ�����.�.�"�C�
I�
I�(�_�_�T�*�F��L�L�N��N�N�6�"��I�I�s�AA)�A'� A)c	��: �[ORQ][OR	[Q5EPiw�K
oUO
oRO
U2U]*O2o,o[R2FDoUOR
U22J	[O[OUR2EPiw�K
ROOUO2UO2EPiw�K
P!K�KGK
ROOSO2SO2EPiw�K
h9h3h)rg)r]r��ssl_handshake_timeout)r�start_serverri�AF_INET�HANDSHAKE_TIMEOUT�sockets�
assertTrue�getsockname�ranger��wait_for�gatherr�	call_soonrQr�)�srv�	srv_socksr^�tasks�_�TIMEOUT�	TOTAL_CNTr�r�sslctxr�s     ������r
r��6TestSSL.test_create_server_ssl_1.<locals>.start_servers�����,�,���Q��~�~��&7�9�9�9�C�
(��K�K�	����	�*� ��|�/�/�1�����y�)�A��L�L��T�!2�3�*��&�&�w�~�~�u�'=�w�G�G�G��	�	�#�#�C�I�I�.��o�o�'�'�'�+9�"H�(���	�	�#�#�C�I�I�.��o�o�'�'�'��W�4E�D�E�BD�D�
D�9E�D�E�D�E�:E�E
�E�E�AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA�BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB)
r�LONG_TIMEOUT�BUF_MULTIPLIERr�rW�ONLYCERT�ONLYKEYr�r�r�run_until_completer�r�)rr�r�r�r�r�r�r�r�r�r�r�r�r�sf&  @@@@@@@@@@r
�test_create_server_ssl_1� TestSSL.test_create_server_ssl_1�s��������	��&�&���~�-���~�-���0�0�����!3�!3�
���7�7�9�
���	�	� 	�	�:	(�	(�0�
/�
/�
1�
1��I�I�(�(���8�2�	
����i�(��F��K�K�M��2�
1�s�1!D�D	�D	c�D```````	`
�ROOP2]n]nQ[*nQ[*nRO[O
[O2n
RO2nUUUU
1Qkn	UUUUU1QkoUUUUU1QkoUUUU	1QkoRO29^tt^2UU2PPP2RO29^tt^2UU2PPP2P!)%fhK;9h)%fhP!9h)Nc�D:�UORP	Q5UO[R22oROUR2UO	Q2UO[R22oROUR2UO	Q2UO2P!)T��server_sider�r�)r�r�r&r�r�rQ)rvr(r�r�rr�s& ����r
�server�4TestSSL.test_create_connection_ssl_1.<locals>.server3s�����M�M�� �
�
"��=�=��V��-�D����T�6�*��I�I�e���=�=��V��-�D����T�6�*��I�I�g���J�J�Lrc	���: �[OUQRQPQ[-EPiw�K
vqUOR2RO	UO]2EPiw�K
Q2UOR2RO	UO]2EPiw�K
Q2R]*
nUO
2ROU2EPiw�K
P!K�K}KCK3h)r��server_hostnamer�r�r�)r�open_connectionr�r�r�r�rQr�)r^r�r�r�r�r�r�rs&  �����r
r��4TestSSL.test_create_connection_ssl_1.<locals>.clientBs�����#*�#:�#:��$9�!�$9�!#�$9�'8�	$9�9�9�N�F�
�L�L�� ����6�#5�#5�a�#8�8�8�%�@��L�L�� ����6�#5�#5�a�#8�8�8�'�B�
�1�H�C��L�L�N��"�"�6�*�*�*�!9�9�9�
+�sE�%C&�C�8C&�!C 
�";C&�C"
�8C&�C$�C&� C&�"C&�$C&c��:: �[O2oUOU2[OURP[Q5EPiw�K
vq#UOR2RO
UO]2EPiw�K
Q2UOR2RO
UO]2EPiw�K
Q2R]*
nUO2ROU2EPiw�K
UO2P!K�K�KSK3h)�)rvr�rr�r�r�)
rir�rrr�r�r�r�rQr�)	r^rvr�r�r�r�r�r�rs	&   �����r
�client_sock�9TestSSL.test_create_connection_ssl_1.<locals>.client_sockUs������=�=�?�D��L�L���#*�#:�#:��!� "�&7�	$9�9�9�N�F�
�L�L�� ����6�#5�#5�a�#8�8�8�%�@��L�L�� ����6�#5�#5�a�#8�8�8�'�B�
�1�H�C��L�L�N��"�"�6�*�*�*��J�J�L�#9�9�9�
+�sH�A
D�
D�8D�D
�;D�D
�8D�;D�<D�D�D�Dc	�T:�]nQoRORRRQ59^tt^2o,o[R2FD$oUOUUO22J&	ROOUU2PPP2RO
RR2P!)%fhK$9h)rc��N �[OUEPiw�K
!K3hr�rr��r�s*r
�_gather�BTestSSL.test_create_connection_ssl_1.<locals>.run.<locals>._gatheros���$�^�^�U�3�3�3�3�3���%�#�%�rar`�rxr�r�r^rrr��	�cororr�r�r�r�r�rrs	&    ����r
�run�1TestSSL.test_create_connection_ssl_1.<locals>.runks�����C�
4�����-6�)2�!�4�4�7:����y�)�A��L�L��c�h�h��0�*��	�	�,�,�W�e�_�=�4�
���S�)�,�4�4���AB�B'	� B'	rr)	r�set_exception_handlerrr�rWrrr�r�)rr�rr#r�r�r�r�r�rr�sf   @@@@@@@r
�test_create_connection_ssl_1�$TestSSL.test_create_connection_ssl_1$s�����	�	�'�'��-����	��~�-���~�-���0�0�������
���7�7�9�
�
	�
	�	+�	+�&	�	�,	-�	-�&�
/�
/�
1�
1���K�2��
/�
/�
1�
1����2�
1�2�
1��2�
1�
1�s$�?	C;�(	D�;D	�D	�D	�D	c	�``�RO2nROOQ2QoUU1QkoROU]]Q59^tt^2oRO	[
Q29^tt^2ROO
UUO22PPP2PPP2P!)%fhK9h)%fhP!9h)c��P!rr�r�s*r
�<lambda>�CTestSSL.test_create_connection_ssl_slow_handshake.<locals>.<lambda>����drc��UOQ2UO2P![cKh9hSO2h9h�r��r��ConnectionAbortedErrorrQ�rvs&r
r�ATestSSL.test_create_connection_ssl_slow_handshake.<locals>.server�s>��
��
�
�k�*��
�
���*�
��
���
�
��s�&�	4�4�7�4�7�A	c	��: �[OUQRQPQQ-EPiw�K
vqUO2ROU2EPiw�K
P!K3K3h)r�rr�g�?)rrrQr��r^r�r�r�rs&  ��r
r��ATestSSL.test_create_connection_ssl_slow_handshake.<locals>.client�sj����#*�#:�#:��$+�!�$+�!#�$+�'*�	$+�+�+�N�F�

�L�L�N��"�"�6�*�*�*�
+�
+�s!�!A�A�,A�A�A�ArzSSL handshake.*is taking longer)r�rr&rx�assertRaisesRegexr3rr^)rrr�r�r�sf   @r
�)test_create_connection_ssl_slow_handshake�1TestSSL.test_create_connection_ssl_slow_handshake�s�����7�7�9�
�	
�	�	�'�'�(:�;�	�	+��_�_�V�)*�%&��(�(�+.��'�'�*�6�8�8��	�	�,�,�V�C�H�H�-=�>�	8�	(�(�8�8��	(�(�(�s0�C�5,B3	�!C�3C
�<C
�>C�C	�C	c	�.```�ROOQ2RO[O[O
2nRO
P
Q5nU1QkoUU1QkoROU]]Q59^tt^2oRO[O29^tt^2ROOUUO22PPP2PPP2P!)%fhK9h)%fhP!9h)c��P!rrr+s*r
r,�GTestSSL.test_create_connection_ssl_failed_certificate.<locals>.<lambda>�r.r)r�c��:�UORP	Q5UO2UO2P![O[1cK/h9hSO2h9h�Tr)r�r�r��SSLErrorrrrQ)rvr�s&�r
r�ETestSSL.test_create_connection_ssl_failed_certificate.<locals>.server�s^���
��
�
�� $��&������
�
����L�L�'�*�
��
���
�
��s'�#9�A�A�A�A�A�A,c	���: �[OUQRQPQ[-EPiw�K
vqUO2RO	U2EPiw�K
P!K3K3h)r�rr�)rrr�rQr�r7s&  ��r
r��ETestSSL.test_create_connection_ssl_failed_certificate.<locals>.client�sj����#*�#:�#:��$9�!�$9�!#�$9�'8�	$9�9�9�N�F�

�L�L�N��"�"�6�*�*�*�
9�
+�s!�%A!�A�,A!�A�A!�A!r)
rr&r�rWrrr�rx�assertRaisesr��SSLCertVerificationErrorrr^)rrr�r�r�r�sf   @@r
�-test_create_connection_ssl_failed_certificate�5TestSSL.test_create_connection_ssl_failed_certificate�s�����	�	�'�'�(:�;��0�0�������
���7�7�u�7�M�
�		�	+��_�_�V�)*�%&��(�(�+.��"�"�3�#?�#?�@�@��	�	�,�,�V�C�H�H�-=�>�A�	(�(�A�@��	(�(�(�s0�
(D�2,C0	�D�0D
�9D
�;D�D	�D	c	�,````�[O2n,nROOU1Qk2P
nU1QkoUU1QkoRO	U]]Q59^tt^2oRO[O29^tt^2ROOUUO22PPP2PPP2ROR2ROR,2P!)%fhK=9h)%fhKH9h)c�(:�ROU2!r)r�)r�ctx�messagess&&�r
r,�4TestSSL.test_ssl_handshake_timeout.<locals>.<lambda>�s���(�/�/�#�:Nrc�:�UOQ2UO2P![cP	nK!h9hSO2h9hr0r2)rv�server_side_aborteds&�r
r�2TestSSL.test_ssl_handshake_timeout.<locals>.server�sB���
��
�
�k�*��
�
���*�
+�&*�#�
+���
�
��s�'�	7�7�:�7�:�Ac��: �[OROO[O,UN3QRQPQQ-Q2EPiw�K
P!K3h)r�rr�g$@��?)rr�r�create_connection�Protocol)r^r�rs&��r
r��2TestSSL.test_ssl_handshake_timeout.<locals>.client�sd�����"�"��	�	�+�+��$�$�0��0�&�0�%'�	0�
+/�0���
�
�s�AA�A�Ar)rW�simple_client_sslcontextrr&rxrEr�TimeoutErrorrr^r�r�)rrr�r�r�rLrOsf   @@@r
�test_ssl_handshake_timeout�"TestSSL.test_ssl_handshake_timeout�s����#�;�;�=�
����	�	�'�'�(N�O�#��	�	��_�_�V�)*�%&��(�(�+.��"�"�7�#7�#7�8�8��	�	�,�,�V�C�H�H�-=�>�9�	(�	
���+�,�	
����2�&�9�8��	(�(�s0�'(D�,C0	�;D�0D
�9D
�;D�D	�D	c	�`````�[O2nROOQ2P
nP
nQoUU1QkQ[O
2nUUU1QkoRO
U]]Q59^tt^2oRO[29^tt^2ROOUUO22PPP2PPP2R%c/R%cROQ2P!ROQ2P!R%cROQ2P!P!)%fhKk9h)%fhKv9h)	c��P!rr�rrKs&&r
r,�<TestSSL.test_ssl_handshake_connection_lost.<locals>.<lambda>����$rc�J�UOQ2UO2P!)r)�recvrQr4s&r
r�:TestSSL.test_ssl_handshake_connection_lost.<locals>.servers���I�I�d�O��J�J�Lrc�<:`�\sQsQsnU1QksU1QksQsUsP!)�?TestSSL.test_ssl_handshake_connection_lost.<locals>.ClientProto�c�:�P	nP!�Tr)rr�connection_made_calleds&&�r
r#�OTestSSL.test_ssl_handshake_connection_lost.<locals>.ClientProto.connection_made�	���)-�&rc�:�P	nP!rfr)rr3�connection_lost_calleds&&�r
r4�OTestSSL.test_ssl_handshake_connection_lost.<locals>.ClientProto.connection_lostrirr)r6r7r8r9r#r4r:r;)r=rkrgs@��r
�ClientProtorcs����
.�
.�
.rrmc��r: �ROOR,UN3QRQP-EPiw�K
1P!K3h)r�r)rrS)r^rmr�rs&���r
r��:TestSSL.test_ssl_handshake_connection_lost.<locals>.clientsK�����)�)�-�-��$��$�"�$�!#�	$�
$�
$�
%�
$�s�)7�5�	7rz$unexpected call to connection_lost()zEunexpected call to connection_lost() withoutcalling connection_made()z$unexpected call to connection_made())rWrVrr&rrTrxrE�ConnectionResetErrorrr^r�)rrr�r�rmr�rkrgsf   @@@@r
�"test_ssl_handshake_connection_lost�*TestSSL.test_ssl_handshake_connection_lost�s����#�;�;�=�
�	
�	�	�'�'�(>�?�!&��!&��	�
	.�	.�'�*�*�	.�	%��_�_�V�)*�%&��(�(�+.��"�"�#7�8�8��	�	�,�,�V�C�H�H�-=�>�9�	(�"�%��	�	�@�A��	�	�6�7�
#��I�I�<�=�$�9�8��	(�(�s0�E�,D-	�
E�-D=
�6D=
�8E�E	�	E	c��[Oo[OU2oUO[O
[O2[UQ2%cP
Um[OUm
[OU2o[UQ2%cP
Um[OUm
P!)r�)r�r�r�r�rWrr�hasattrr�r�r�)r�proto�server_context�client_contexts&   r
� test_ssl_connect_accepted_socket�(TestSSL.test_ssl_connect_accepted_socket&s����'�'������.���&�&�z�':�':�J�<N�<N�O��>�#3�4�4�,1�N�)�%(�]�]��"�����.���>�#3�4�4�,1�N�)�%(�]�]��"rc�```
````�UOnU
U1QkQ[2o[O[O2oUO	Q
2UO]2UO
2nQnPnQn
UUUU1Qko[OUP	Q5oUO2UO2vqxURQ5nRRm-o	U%c[[Q5o	ROROU1QkU1Q	U-U	@2o
RO2UO!2UO!2UO#]2UO%UO'22UO)RO*Q
2UO)RO,[/R22UO)RR
2U
O12vq�U%c'UO3QUO4O62UO!2UOO9[:O<Q22P!)c�F:``�\sQsQsnUU1QksUU1QksQsUsU9s!)�5TestSSL.test_connect_accepted_socket.<locals>.MyProto�6c�^:�[RU_U2RORO2P!r)rLr4r�r�)rr3rSrs&&��r
r4�ETestSSL.test_connect_accepted_socket.<locals>.MyProto.connection_lost8s �����'��,����t�y�y�)rc�^:�[RU_U2UOOR2P!r)rLr)rr�)rr(rS�expected_responses&&��r
r)�CTestSSL.test_connect_accepted_socket.<locals>.MyProto.data_received<s#�����%�d�+����$�$�%6�7rr)	r6r7r8r9r4r)r:r;�
__classcell__)rSr=r�rs@@��r
�MyProtor|6s����
*�
8�
8rr�s	test datasrogerc�N:�[O[O2oRdROU2oUOR2UO	R2UO]c2nUO
2P![co[QS2Po=P!Po=hh9h)Nz8Failure in client thread in test_connect_accepted_socket)	rir��wrap_socketr��sendallr`rQr��print)�csockr3r^�
client_ssl�message�responses  ����r
r��4TestSSL.test_connect_accepted_socket.<locals>.clientIs����
��
�
�f�n�n�5���)�&�2�2�5�9�E��
�
�d�#��
�
�g�&� �:�:�b�>�����
���
��N�����
�s#�'B�AB�	B$�B$�
B�B$)�target�daemonr)r�c�
:�R!rr�rus�r
r,�6TestSSL.test_connect_accepted_socket.<locals>.<lambda>es���rr�r1�SSL皙�����?rf)rrrir�rprqr��	threading�Threadr��accept�dictr��create_task�connect_accepted_socket�run_foreverrQ�join�assertFalse�is_aliver�rrr&�result�assertInrSr6rr�sleep)r�
server_sslr�r��lsockr��thread�connr��extras�f�trr^r�rr�rur�s&&f         @@@@@@r
�test_connect_accepted_socket�$TestSSL.test_connect_accepted_socket3s�����y�y��	8�	8�k�	8��
�
�f�n�n�-��
�
�
�#�$�
���Q��� � �"������$��
	�
	��!�!���=�������,�,�.����T�"����
�����0A�B�F�����(�(���
�+5�
��
�
��	
�����
�
��
���
����A��������*�+�������h�/�������s�7�|�4�����#4�5����
�����M�M�%����!6�!6�7�
���
��	�	�$�$�W�]�]�3�%7�8rc�```�ROOQ2[O2n[O2nU1QkoUU1QkoROU]]Q59^tt^2oROO
UUO22oPPP2ROWQ2P!)%fhK$9h)c��P!rrr\s&&r
r,�=TestSSL.test_start_tls_client_corrupted_ssl.<locals>.<lambda>zr^rc�x:�UO2oUORP	Q5UOQ2UO]2UO	Q2UO2UO2P![
OcK9h9hSO2SO2h9h)Tr�A
s!please corrupt the SSL connection)�dupr�r�r�r�r�rArQ)rv�	orig_sockr�s& �r
r�;TestSSL.test_start_tls_client_corrupted_ssl.<locals>.servers�������
�I�
"��
�
�� $��&����V�$��
�
�a� ����C�D��
�
�����!��	�<�<�
��
���
�
�����!�s*�AA<�<B�B�B�B�B�"B9c	��8: �[OUQRQPQ[-EPiw�K
vqROUO	2EPiw�K
Q2UOQ2RO
[O29^tt^2UO	2EPiw�K
PPP2UO2ROU2EPiw�K
Q!K�K�K>)%fhKD9hK[OcQ!h9h3h)r�rr�r��B�OK)rrr�r��readliner�rEr�rArQr�r7s&  ��r
r��;TestSSL.test_start_tls_client_corrupted_ssl.<locals>.client�s�����#*�#:�#:��$9�!�$9�!#�$9�'8�	$9�9�9�N�F�
���6�?�?�#4�4�4�f�=��L�L����"�"�3�<�<�0�0��o�o�'�'�'�1��L�L�N�
��&�&�v�.�.�.��9�5�(�1�0��/���<�<�
���
�s��%D�C#�&D�C%
�AD�C)�'C'
�(C)�-D�C>�C<�C>�!D�%D�'C)�)C9	�2C9	�4D�<C>�>D�D�D�D�Drr�)	rr&rW�simple_server_sslcontextrVrxrr^r�)rrr�r��resr�r�sf    @@r
�#test_start_tls_client_corrupted_ssl�+TestSSL.test_start_tls_client_corrupted_sslys�����	�	�'�'�(>�?��4�4�6��"�;�;�=�
�
	"�	�$�_�_�V�)*�%&��(�(�+.��)�)�.�.�v�c�h�h�/?�@�C�	(�	
����d�#�
(�(�s�4,B<�<C	�C	c	�`````�QRO*n[O2n[O2nUUU1QkoU1QkQ[O
2nUUUU1QkoRO
UROQ59^tt^2oROO[OUUO2[OQ52PPP2P!)%fhP!9h)�1c�:�UORO2UO[R22oRO	[U2[R22UORP	Q5UO
Q2UO[R22oRO	[U2[R22UO2UO2P!�Tr�O�	ror�r�r&r�r�r��unwraprQ�rvr(�	HELLO_MSGrrvs& ���r
�serve�8TestSSL.test_start_tls_client_reg_proto_1.<locals>.serve�s�����O�O�D�L�L�)��=�=��Y��0�D����S��Y��I��7��M�M�.�d�M�;��L�L����=�=��Y��0�D����S��Y��I��7��K�K�M��J�J�Lrc�B:`�\sQsQsnQsU1QksQsQsQsUs	P!)�>TestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto�c�.�VmV m]UmP!�r��on_data�on_eof�con_made_cnt�rr�r�s&&&r
r�GTestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto.__init__����&��$��$%��!rc�t:�U9O]*
tmROUO]2P!���r�r��rur�rs&&�r
r#�NTestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto.connection_made��*����"�"�a�'�"�� � ��!3�!3�Q�7rc�>�UOOU2P!r�r�r!r's&&r
r)�LTestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto.data_received�������'�'��-rc�>�UOOP	2P!rf�r�r!r-s&r
r.�KTestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto.eof_received�������&�&�t�,r�r�r�r��
r6r7r8r9rr#r)r.r:r;�r=rs@�r
rmr�������
&�

8�

.�
-�
-rrmc��4:`` �[OQ2EPiw�K
R	OO2nR	OO2nR	OOUUU1Qk,UN3EPiw�K
vqUOR2R	OO
VR2EPiw�K
oR	OREPiw�K
Q2UOR2REPiw�K
UO2P!K�K�KSK>K3h)rRc�:�RRR2!rr�rmr�r�s���r
r,�KTestSSL.test_start_tls_client_reg_proto_1.<locals>.client.<locals>.<lambda>������G�V�4rr�)	rr�r�
create_futurerSr��	start_tlsr�rQ)
r^r�ru�new_trr�r�rmr�rwrs
&   @@����r
r��9TestSSL.test_start_tls_client_reg_proto_1.<locals>.client�s������-�-��$�$�$��i�i�-�-�/�G��Y�Y�,�,�.�F�"�i�i�9�9�4�=�7;�=�=�=�I�B�
�H�H�Y���9�9�.�.�r�.�I�I�I�F����7�]�]�D�1��L�L��#��L�L��L�L�N�
%�
=�J�*��sX�D�D�A"D�D�8D�=D�>D�D
�!D�6D�7D�D�D�D�D�r_)�PAYLOAD_SIZErWr�rVrrTrxr�rrr�r^r�
SHORT_TIMEOUT�rr�r�r�rmr�rwrvsf   @@@@r
�!test_start_tls_client_reg_proto_1�)TestSSL.test_start_tls_client_reg_proto_1�s�����4�,�,�,�	�#�<�<�>��#�<�<�>��
	�	-�'�*�*�	-�"	�	�$�_�_�U�D�L�L�_�
9�
9�S��I�I�(�(�� � �����!1�)0�)>�)>�@�
A�:�
9�
9�
9�s�AC0�0D	�9D	c	�`````�QRO*nRO[O[O2nRO2nUUU1QkoU1QkQ[O2nUUUU1QkoROUROQ59^tt^2oROO[OUUO2[OQ52PPP2[ O"R2nRO%R22P!)%fhK>9h)r�c�D:�UORO2UORP	Q5UOQ2UO	[R22oRO
[U2[R22UO2UO2P!r�)	ror�r�r�r�r&r�r�rQr�s& ���r
r��9TestSSL.test_create_connection_memory_leak.<locals>.serve�sk����O�O�D�L�L�)��M�M�.�d�M�;��L�L����=�=��Y��0�D����S��Y��I��7��K�K�M��J�J�Lrc�B:`�\sQsQsnQsU1QksQsQsQsUs	P!)�?TestSSL.test_create_connection_memory_leak.<locals>.ClientProto�c�.�VmV m]UmP!r�r�r�s&&&r
r�HTestSSL.test_create_connection_memory_leak.<locals>.ClientProto.__init__�r�rc�:�VmU9O]*
tmROUO]2P!r�)r�r�r�r�s&&�r
r#�OTestSSL.test_create_connection_memory_leak.<locals>.ClientProto.connection_made�s/������"�"�a�'�"�� � ��!3�!3�Q�7rc�>�UOOU2P!rr�r's&&r
r)�MTestSSL.test_create_connection_memory_leak.<locals>.ClientProto.data_receivedr�rc�>�UOOP	2P!rfr�r-s&r
r.�LTestSSL.test_create_connection_memory_leak.<locals>.ClientProto.eof_receivedr�rr�r�r�s@�r
rmr��s����
&�

8�
.�
-�
-rrmc���:`` �[OQ2EPiw�K
ROO2nROO2nROOUUU1Qk,UN3QR-EPiw�K
vqROREPiw�K
Q2UO
R2REPiw�K
UO2P!K�KSK<K3h)rRc�:�RRR2!rrr�s���r
r,�LTestSSL.test_create_connection_memory_leak.<locals>.client.<locals>.<lambda>r�rr�r�)rr�rr�rSr�r�rQ)	r^r�rur�r�rmr�rwrs	&  @@����r
r��:TestSSL.test_create_connection_memory_leak.<locals>.clients������-�-��$�$�$��i�i�-�-�/�G��Y�Y�,�,�.�F�"�i�i�9�9�4�$�7;�$�"�$�$�$�I�B�
���7�]�]�D�1��H�H�Y���L�L��H�H�J�
%�
$�+��sF�C!�C�A$C!�C�C!�C
� !C!�C�C!�C!�C!�C!r�)r�r�rWrrr�rrTrxr�rrr�r^rr��weakref�ref�assertIsNoner�sf   @@@@r
�"test_create_connection_memory_leak�*TestSSL.test_create_connection_memory_leak�s�����4�,�,�,�	��8�8�����!3�!3�5���8�8�:��
	�	-�'�*�*�	-�&	�	� �_�_�U�D�L�L�_�
9�
9�S��I�I�(�(�� � �����!1�)0�)>�)>�@�
A�:�!���^�4�����.�*�+�:�
9�s�*AD0�0E	�9E	c	�D```````	�QRO*n[O2n	[O2n]nUUU	1QkoU1QkQ[O
2nU1QkQ[O2nUUUUUU1QkoROUROQ59^tt^2oROO[OUUO2ROQ52PPP2P!)%fhP!9h)r�c�^:�UORO2UO[R22oRO	[U2[R22UORP	Q5UO
Q2UO[R22oRO	[U2[R22UO
Q2UO[R22oRO	[U2[R22UO2UO2P!)Trr��2r�r�s& ���r
r��8TestSSL.test_start_tls_client_buf_proto_1.<locals>.serve-s�����O�O�D�L�L�)��=�=��Y��0�D����S��Y��I��7��M�M�.�d�M�;��L�L����=�=��Y��0�D����S��Y��I��7��L�L����=�=��Y��0�D����S��Y��I��7��K�K�M��J�J�Lrc�H:`�\sQsQsnQsU1QksQsQsQsQs	Us
P!)�CTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst�@c�4�Vm[]2UmP!r�)r�r��buf)rr�s&&r
r�LTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.__init__As��&��$�Q�<��rc�:�R]*
nP!r�r�rr��client_con_made_callss&&�r
r#�STestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.connection_madeE����%��*�%rc��UO!r)r)r�sizehints&&r
�
get_buffer�NTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.get_bufferIs���x�x�rc�j�UOO[UOPU22P!r)r�r!�bytesr)r�nsizes&&r
�buffer_updated�RTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.buffer_updatedLs$�����'�'��d�h�h�v��.>�(?�@rc��P!rrr-s&r
r.�PTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.eof_receivedPs��r)rr�)r6r7r8r9rr#rr"r.r:r;�r=rs@�r
�ClientProtoFirstr@s$����
(�
+�
 �
A�
�
rr'c�B:`�\sQsQsnQsU1QksQsQsQsUs	P!)�DTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond�Sc�.�VmV m]UmP!r�r�r�s&&&r
r�MTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.__init__Tr�rc�:�R]*
nP!r�rrs&&�r
r#�TTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.connection_madeYrrc�>�UOOU2P!rr�r's&&r
r)�RTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.data_received]r�rc�>�UOOP	2P!rfr�r-s&r
r.�QTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.eof_received`r�rr�r�r&s@�r
�ClientProtoSecondr)Ss����
&�

+�
.�
-�
-rr3c��:` �[OQ2EPiw�K
ROO2nROO2oROO2oROOUU1Qk,UN3EPiw�K
vq4UOR	2ROO
V4R2EPiw�K
oROREPiw�K
Q2UOR	2UORV22ROUEPiw�K
Q2UOR	2UEPiw�K
UO2ROR
]2P!CK[K�K�K�KSK33h)rRc�:�RR2!rr)r'�on_data1s��r
r,�KTestSSL.test_start_tls_client_buf_proto_1.<locals>.client.<locals>.<lambda>ks���(��2rr�r)
rr�rr�rSr�r�r��set_protocolrQ)
r^�on_data2r�r�rur�r6r'r3r�rrwrs
&     @������r
r��9TestSSL.test_start_tls_client_buf_proto_1.<locals>.clientcs5�����-�-��$�$�$��y�y�.�.�0�H��y�y�.�.�0�H��Y�Y�,�,�.�F�"�i�i�9�9�2�;�59�;�;�;�I�B�
�H�H�Y���9�9�.�.�r�.�I�I�I�F����8�^�^�T�2��L�L��#���� 1�(� C�D����8�^�^�T�2��L�L��#��L�L��L�L�N�

���2�A�6�3
%�;�J�+�,��sk�F	�E<�A;F	�E?�8F	�F�F	�,F
�-AF	�0F
�1!F	�F�*F	�?F	�F	�F	�F	�F	r�)
r�rWr�rVr�BufferedProtocolrTrxr�rrr�r^)
rr�r�r�r'r3r�rrwrvs
f   @@@@@@r
�!test_start_tls_client_buf_proto_1�)TestSSL.test_start_tls_client_buf_proto_1%s�����4�,�,�,�	�#�<�<�>��#�<�<�>�� !��	�&	�w�7�7�	�&	-�� 0� 0�	-� 	7�	7�8�_�_�U�D�L�L�_�
9�
9�S��I�I�(�(�� � �����!1�)-���7�
8�:�
9�
9�
9�s�8AD�D	�D	c	�`````�QRO*n[O2nROO	2nUUU1QkoU1QkQ[
O2nUUUUU1QkoROUROQ59^tt^2oROO[
OUUO2[OQ52PPP2P!)%fhP!9h)r�c�:�UORO2UO[R22oRO	[U2[R22RO
O
ROP2UOQ2oUO2P![cKh9hSO2h9h)Nr1)
ror�r�r&r�rr�r!r3rQ)rvr(r�r�server_waits_on_handshakes& ���r
r��8TestSSL.test_start_tls_slow_client_cancel.<locals>.serve�s�����O�O�D�L�L�)��=�=��Y��0�D����S��Y��I��7�
��	�	�.�.�-�8�8�$�@��}�}�[�1���
�
���*�
��
���
�
��s*�7B&�&	B4�0B4�1B7�3B4�4B7�7C	c�B:`�\sQsQsnQsU1QksQsQsQsUs	P!)�>TestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto�c�.�VmV m]UmP!r�r�r�s&&&r
r�GTestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto.__init__�r�rc�t:�U9O]*
tmROUO]2P!r�r�r�s&&�r
r#�NTestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto.connection_made�r�rc�>�UOOU2P!rr�r's&&r
r)�LTestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto.data_received�r�rc�>�UOOP	2P!rfr�r-s&r
r.�KTestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto.eof_received�r�rr�r�r�s@�r
rmrC�r�rrmc	��h:`` �[OQ2EPiw�K
ROO2nROO2nROOUUU1Qk,UN3EPiw�K
vqUOR2R	EPiw�K
RO
[O29^tt^2[OROOVR2Q2EPiw�K
PPP2P!K�K�KuK)%fhP!9h3h)rRc�:�RRR2!rrr�s���r
r,�KTestSSL.test_start_tls_slow_client_cancel.<locals>.client.<locals>.<lambda>�r�r)
rr�rr�rSr�rErWr�r�)
r^r�rur�r�rmr�rwrr@s
&  @@�����r
r��9TestSSL.test_start_tls_slow_client_cancel.<locals>.client�s������-�-��$�$�$��i�i�-�-�/�G��Y�Y�,�,�.�F�"�i�i�9�9�4�=�7;�=�=�=�I�B�
�H�H�Y��+�+�+��"�"�7�#7�#7�8�8��&�&��I�I�'�'��>�B�����9�8�
%�
=�

,��9�8�8�sd�D2�D�A"D2�D�D2�#D�$,D2�6D�D
�D�D2�D2�D2�D�D/	�'D/	�)	D2r�)r�rWrVrr�rrTrxr�rr�r^rr�)rr�r�r�rmr�rwr@sf   @@@@r
�!test_start_tls_slow_client_cancel�)TestSSL.test_start_tls_slow_client_cancel�s�����4�,�,�,�	�#�<�<�>��$(�I�I�$;�$;�$=�!�
	�	-�'�*�*�	-�"	�	�$�_�_�U�D�L�L�_�
9�
9�S��I�I�(�(�� � �����!1�)0�)>�)>�@�
A�:�
9�
9�
9�s�AC6�6D	�?D	c�4```````�QRO*n[O2n[O2nUUU1QknQQ[O
2nUUU1QknUUUU1QkoROOU22P!)r�c�b:�UORO2UOU2UO[	R22oRO[	U2[	R22UO
R2UOR2UO2UO2P!r)
ror�r�r�r&r�r�r�r�rQ)rvr^r(r�rwrs&& ���r
r��/TestSSL.test_start_tls_server_1.<locals>.client�ss����O�O�D�L�L�)��L�L����=�=��Y��0�D����S��Y��I��7��M�M�.�)��L�L��#��K�K�M��J�J�Lrc�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�4TestSSL.test_start_tls_server_1.<locals>.ServerProto��c�:�VmV mV0mQUmP!�r)�on_conr��on_con_lostr()rr[r�r\s&&&&r
r�=TestSSL.test_start_tls_server_1.<locals>.ServerProto.__init__�s��$��$��#.� ���	rc�>�UOOU2P!r)r[r!)rr�s&&r
r#�DTestSSL.test_start_tls_server_1.<locals>.ServerProto.connection_made�s�����&�&�r�*rc�:�U9OU*
tmP!r)r(r's&&r
r)�BTestSSL.test_start_tls_server_1.<locals>.ServerProto.data_received�s���	�	�T�!�	rc�>�UOO]2P!r�r�r-s&r
r.�ATestSSL.test_start_tls_server_1.<locals>.ServerProto.eof_received�s�����&�&�q�)rc��UeUOOP2P!UOOU2P!r)r\r!r�r2s&&r
r4�DTestSSL.test_start_tls_server_1.<locals>.ServerProto.connection_lost�s/���;��$�$�/�/��5��$�$�2�2�3�7r)r(r[r\r�)r6r7r8r9rr#r)r.r4r:r;r<s@r
�ServerProtorW�s#����
 �
+�
"�
*�
8�
8rrfc��: �UEPiw�K
oUOR2ROUOQ2ROO	V@RP	RO
Q5EPiw�K
oUEPiw�K
UEPiw�K
ROUOR2UO
2P!K�KLKBK83h)Nr)r
r�)r�r�r(rr�r�rQ)	rur[r�r\r�r�r�rrvs	&&&&  ���r
�main�-TestSSL.test_start_tls_server_1.<locals>.main�s��������B��H�H�Y�����U�Z�Z��-��9�9�.�.��>� �&*�l�l�/�4�4�4�F�
�L�L�������U�Z�Z��3��L�L�N��
4�

��sF�B?�B7�AB?�+B9�,B?�7B;�8B?�B=�4B?�9B?�;B?�=B?c
��:`` �R	OO2oR	OO2oR	OO2oRVU2nR	OOU1QkQ]2EPiw�K
oUO]*O	2nR	OUU1QkR	OQ59^tt^2[ORRVU2R	OQ5EPiw�K
PPP2UO2UO2EPiw�K
P!K�K:)%fhK@9hK3h)c�
:�R!rrr�s�r
r,�CTestSSL.test_start_tls_server_1.<locals>.run_main.<locals>.<lambda>s���rrgc�:�RUR2!rr)rvr^r�s&��r
r,rls���f�T�4�.@rr�)rr��
create_serverr�r�r}r�rr�rQr�)
r[r�r\rr^rurfr�rhrs
    @@����r
�run_main�1TestSSL.test_start_tls_server_1.<locals>.run_main�s�����Y�Y�,�,�.�F��Y�Y�,�,�.�F��)�)�1�1�3�K����<�E��9�9�2�2��{�A�/�/�/�F��>�>�!�$�0�0�2�D����!@�)-���!�7�7��&�&�����<� �L�L�*�*�*�7�
�L�L�N��$�$�&�&�&�/�*�7�7��
'�sO�A>E�D=�AE�/E�D?
�E�	,E�5E�6E�?E�E	�
E	�	E)r�rWr�rVrrTrr)rror�rfr�rwrhrvsf @@@@@@r
�test_start_tls_server_1�TestSSL.test_start_tls_server_1�sk����4�,�,�,�	�#�<�<�>��#�<�<�>��	�	8�'�*�*�	8�,	� 	'�	'�&	
�	�	�$�$�X�Z�0rc�```````	`
```
````�]nUn	[OnQ[*nQ[*nRO[O
[O2nRO2n
RO[O
[O2nRO2n,nUUUU1Qkn
U1QkQ[O2nUU
1QknUUU
UUU1QknUU	UUUU1QkoRO29^tt^2ROOU22PPP2RORR	2RFDoUO2J	P!)%fhK>9h)	rc���: �UO[R22EPiw�K
oROUR2UOQ2UO[R22EPiw�K
oROUR2UO	Q[Q2[
Q2,2UO2EPiw�K
UO2R]*
nP!K�KsK#3hr�r�r�s&& ����r
r��>TestSSL.test_create_server_ssl_over_ssl.<locals>.handle_client!r�r�c�8:``�\sQsQsnUU1QksQsUsU9s!)�?TestSSL.test_create_server_ssl_over_ssl.<locals>.ServerProtocoli1c	��:``�[2nUO2UOOUOO	VRP	Q52nUU1QkoROU2P!)Trc�:�RO2oROU2P![coROS2Po=P!Po=hh9hr)r�r#r�r4)r�r�rwr��super_s&  ��r
�cb�[TestSSL.test_create_server_ssl_over_ssl.<locals>.ServerProtocol.connection_made.<locals>.cb8sF���3� �Z�Z�\���.�.�r�2��%�3��.�.�r�2�2��3�s�'�	A�A�A	�	A)rL�
pause_reading�_loopr�r��add_done_callback)rrr{r�rzrS�sslctx_2s&& @@��r
r#�OTestSSL.test_create_server_ssl_over_ssl.<locals>.ServerProtocol.connection_made2s_�������'�'�)��j�j�,�,�T�Z�Z�-A�-A��X�4�.B�.A�B��3��%�%�b�)rr)r6r7r8r9r#r:r;r�)rSr=r�s@@�r
�ServerProtocolrw1s����

*�

*rr�c�F:�[O2oRUR2oU!r)r�StreamReader)r��protocolr�r�s  ��r
�server_protocol_factory�HTestSSL.test_create_server_ssl_over_ssl.<locals>.server_protocol_factoryAs"����)�)�+�F�%�f�m�<�H��Orc���:`` �[O2nUUUUUUU	1QkoR	OU2oUO2RO	U2REPiw�K
P!K3h)c�<:```�ROR
2ROR2[O2n[O2nRO	RR2oUUU1QkoUUO
2UUOR2UUO]2oROUQ2UUOR	2QoUUO]2oU%fL
V4*
oJ'ROUQ2UUO2RO2ROOR
OP2P![cBoROOR
OS2RO2Po=P!Po=hh9h)c�Z:�UUoRO%c RORO	22U![OcVRO%c RORO	22RORO
Q22J�h9h)Ti)r��SSLWantReadError�pendingr��readr�r`)�funcr��rv�incoming�outgoingrvs&* ���r
�do�VTestSSL.test_create_server_ssl_over_ssl.<locals>.test_client.<locals>.prog.<locals>.doTs����"�A�%)�4�[�� %�
$�+�+�+� �I�I�h�m�m�o�6�!�	��
$'�#7�#7�A�#+�#3�#3�#3�$(�I�I�h�m�m�o�$>� (���t�y�y��/?� @�A�s�A�B*�B*�'?B*�)B*r�rr�)r�r�r��	MemoryBIO�wrap_bio�do_handshaker�r�r�r�rQrr�r!r�r�)rv�sslobjr�r(�chunkrwr�r�r�r�r^�client_sslctx_1�client_sslctx_2r�rsf     @@�������r
r��JTestSSL.test_create_server_ssl_over_ssl.<locals>.test_client.<locals>.progIs7���-I��L�L��&��M�M�/�2� #�}�}��H�"�}�}��H�,�5�5�h��I�F�"��v�*�*�+��v�|�|�V�,��f�k�k�1�-�D��$�$�T�5�1��v�|�|�V�,��D�� "�6�;�;�� 2��$�!��
���$�$�T�7�3��v�}�}�%��J�J�L��I�I�2�2�3�>�>�4�H��	!�!��I�I�2�2�3�3D�3D�b�I��J�J�L�L��!�s$�C E�(?E�	F�F�6F�Fr�)
r^r�r�r�r�r�r�r�r�rs
f  @������r
r��<TestSSL.test_create_server_ssl_over_ssl.<locals>.test_clientFsK�����.�.�"�C�.
I�.
I�`�_�_�T�*�F��L�L�N��N�N�6�"��I�I�s�AA*� A(�!A*c��: �ROORQ][OR	Q5EPiw�K
oUOoROU2U]*O
2o,o[R2FDoUOR
U22J	[O[OUR2EPiw�K
ROOUO2UO2EPiw�K
P!K�KGK
ROOSO2SO2EPiw�K
h9h3h)rg)r]r�)rrnrir�r�r�r�r�r�rr�r�r�rQr�)r�r�r^r�r�r�r�rr��sslctx_1r�s     ������r
r��=TestSSL.test_create_server_ssl_over_ssl.<locals>.start_servers�����	�	�/�/�'��Q��~�~��	0����C�
(��K�K�	����	�*� ��|�/�/�1�����y�)�A��L�L��T�!2�3�*��&�&�w�~�~�u�'=�w�G�G�G��	�	�#�#�C�I�I�.��o�o�'�'�'�)� H�(���	�	�#�#�C�I�I�.��o�o�'�'�'�rrr)rrrr�rWrrr�r�StreamReaderProtocolr�rrr�r�)rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�sf&  @@@@@@@@@@@@@@r
�test_create_server_ssl_over_ssl�'TestSSL.test_create_server_ssl_over_ssls�������	��&�&���~�-���~�-���2�2�����!3�!3�5���9�9�;���2�2�����!3�!3�5���9�9�;����	�	� 	*�W�9�9�	*� 	�
7	�7	�r	(�	(�.�
/�
/�
1�
1��I�I�(�(���8�2�	
����i�(��F��K�K�M��2�
1�s�!E.�.E>	�7E>	c�b```````�]n]nQ[*nRO[O[O2nRO2nUUU1QknUUUU1QkoUUUU1QkoRO
29^tt^2UU2PPP2P!)%fhP!9h)rc��:�UORP	Q5UO[R22oROUR2UO	Q2UO2UO
2P!)Trr�)r�r�r&r�r�r�rQ)rvr(r�rr�s& ���r
r�-TestSSL.test_shutdown_cleanly.<locals>.server�s\����M�M�� �
�
"��=�=��V��-�D����T�6�*��I�I�e���K�K�M��J�J�Lrc	��: �[OUQRQPQ[-EPiw�K
vqUOR2RO	UO]2EPiw�K
Q2RO	UO
2EPiw�K
Q2R]*
nUO2ROU2EPiw�K
P!K�KkKCK3h)r�rr�r�r)	rrr�r�r�r�r�rQr�)r^r�r�r�r�r�rs&  ����r
r��-TestSSL.test_shutdown_cleanly.<locals>.client�s�����#*�#:�#:��$9�!�$9�!#�$9�'8�	$9�9�9�N�F�
�L�L�� ����6�#5�#5�a�#8�8�8�%�@����6�;�;�=�0�0�#�6�
�1�H�C��L�L�N��"�"�6�*�*�*�9�9�0�
+�sE�%C�C�8C�!C
�")C�C
�8C�C�C�C�C�Cc	�T:�]nQoRORRRQ59^tt^2o,o[R2FD$oUOUUO22J&	ROOUU2PPP2RO
RR2P!)%fhK$9h)rc��N �[OUEPiw�K
!K3hrrrs*r
r�;TestSSL.test_shutdown_cleanly.<locals>.run.<locals>._gather�s���$�^�^�U�3�3�3�3�3�rrr r!s	&    ����r
r#�*TestSSL.test_shutdown_cleanly.<locals>.run�s�����C�
4�����-6�)2�!�4�4�7:����y�)�A��L�L��c�h�h��0�*��	�	�,�,��U�O�%�4�
���S�)�,�4�4�r%r)rr�rWrrr�r�)	rr�r#r�r�r�r�rr�s	f  @@@@@@r
�test_shutdown_cleanly�TestSSL.test_shutdown_cleanly�s�������	��~�-���0�0�����!3�!3�5���7�7�9�
�	�	+�	+�$	-�	-�&�
/�
/�
1�
1���K�2�
1�
1�
1�s�
	B�B.	�&B.	c�``````	�Qn] nRO[O[O2n	RO	2nPnUUUU	1QkoUU1QkoUUUUU1QkoROUU229^tt^2oROOUUO22PPP2P!)%fhP!9h)rc�T:�UORP	Q5ROUO]2Q2UOQ2[O
Q2UORR*2oRO[
U2RR*2UO2P!)Tr�ping�pongrR)r�r�r�r��timer�r&rQ�rvr(�CHUNK�SIZErr�s& ����r
r�2TestSSL.test_flush_before_shutdown.<locals>.server�sv����M�M�&�d�M�3����T�]�]�1�-�w�7��I�I�g���J�J�s�O��=�=����.�D����S��Y����5��J�J�Lrc�:`�UUU1QkoU!)c��:�RU2ROOROP2P![c2oROOROS2Po=P!Po=hh9hr�rr�r!r�r��rvrw�future�methrs& ���r
�wrapper�@TestSSL.test_flush_before_shutdown.<locals>.run.<locals>.wrapper��]���L���J��I�I�2�2�6�3D�3D�d�K��!�M��I�I�2�2�6�3G�3G��L�L��M���4�	A0�A0�&A+�+A0r�r�r�r�rsf ��r
r#�/TestSSL.test_flush_before_shutdown.<locals>.run�����
L��Nrc	���: �R
OO2n	[OUQRQPQ[-EPiw�K
vqUO
OoUOQ2UO]2EPiw�K
oR
OUQ2UO2[R2FDoUOQR*2J	UO2UO2R
OU2EPiw�K
UO2EPiw�K
oR
OUQ2R	EPiw�K
P!CKK�KDK+[ cK$h9hK 3h�r�rr�r�r��xr)rr�rrr�r�
_ssl_protocolr�r�r��
pause_writingr�rQ�resume_writingr�r�rp)r^r�r��sslprotocolr(r�r�r�r�r�rs&     �����r
r��2TestSSL.test_flush_before_shutdown.<locals>.client�sC�����Y�Y�,�,�.�F�#*�#:�#:��$9�!�$9�!#�$9�'8�	$9�9�9�N�F�
!�*�*�8�8�K��L�L��!��+�+�A�.�.�.�D����T�7�+��%�%�'��4�[�����T�E�\�*�!�
�L�L�N��&�&�(��"�"�6�*�*�*�
�#�[�[�]�*�*��� � ��s�+��L�L�/9�/�
+�*��'�
��
���s�?E+�E�AE+�E�BE+�E�E+�E�)E�*E�E+�E)�E+�E+�E+�E�	E&�"E&�#E+�%E&�&E+��	r�rWrrr�rxrrr^)
rrr#r�r�r�r�r�r�r�s
f    @@@@@r
�test_flush_before_shutdown�"TestSSL.test_flush_before_shutdown�s���������0�0�����!3�!3�5���7�7�9�
���	�	�	�	�	�8�_�_�S��[�
)�
)�S��I�I�(�(�����)9�:�*�
)�
)�
)�s�,B;�;C	�C	c�|`````	`
�Qn] nRO[O[O2n
RO	2nPn	UUUU
1QkoUUUU
1QkoUUUU	U1QkoU	U1QkoROUU229^tt^2oROOUUO22PPP2ROUU229^tt^2oROOUUO22PPP2P!)%fhKe9h)%fhP!9h)rc�:�[O2o[O2oR
OVP	Q5oUO2UO%c UOUO
22UO
]2oR	OUQ2UOQ2UOUO
22[OQ2R	O29^tt^2UO2PPP2UOUO
22]o[UO
Q22oVV*
oJ&[OcWSO%c SOSO
22SOSOQ22CJ�h9h[Oc&SOSOQ22CJ�h9h)%fhCK9h[Oc&SOSOQ22CJ[O cLh9hR	OSRR*2SO2SO#2P!�Tri@r�r�皙�����?�r�r�r�r�r�r�r�r�r�r`r�r�r�rEr�r&�SSLZeroReturnErrorrQ�rvr�r�r�r(�data_lenr�r�r�rr�s&      ����r
r�CTestSSL.test_remote_shutdown_receives_trailing_data.<locals>.server$s	����}�}��H��}�}��H��_�_�X�T�_�J�F��	��'�'�)� �'�'�'��	�	�(�-�-�/�2����!�;�;�q�>�D�����T�7�+��L�L��!��I�I�h�m�m�o�&��J�J�s�O��"�"�3�#7�#7�8�8��
�
��9��I�I�h�m�m�o�&��H�������E� 2�3�E��%�H��C�+�+�5��'�'�'��	�	�(�-�-�/�2��N�N�4�9�9�U�#3�4�4�5���+�+�5��N�N�4�9�9�U�#3�4�4�5��9�8�8���+�+�5��N�N�4�9�9�U�#3�4�4��-�-�����
���X�u�t�|�4�
�M�M�O��J�J�L�l�E7�G%�H"�"H6�7G"�G"�?G"�!G"�%H�9!H�H�"H3	�+H3	�6J�
!J�/J�J�Jc�:�UORP	Q5ROUO]2Q2UOQ2[O
Q2UO
[O2UORR*2oRO[U2RR*2UO2P!�Trr�r�r��r�r�r�r�r�r��shutdownri�SHUT_WRr&rQr�s& ����r
�
eof_server�GTestSSL.test_remote_shutdown_receives_trailing_data.<locals>.eof_serverZ�����M�M�&�d�M�3����T�]�]�1�-�w�7��I�I�g���J�J�s�O�
�M�M�&�.�.�)��=�=����.�D����S��Y����5��J�J�Lrc	��: �R	OO2n[OUQRQPQ[-EPiw�K
vqUOQ2UO
]2EPiw�K
oR	OUQ2[R2FD%oUOOQR*2J'	UO2EPiw�K
oR	OUQ2REPiw�K
UO2R	OU2EPiw�K
P!K�K�KS[[1cKRh9hKNK%3hr�)rr�rrr�r�r�r�r�r�_test__append_write_backlogr�r�rprQr�)
r^r�r�r(r�r�r�r�r�rs
&    �����r
r��CTestSSL.test_remote_shutdown_receives_trailing_data.<locals>.clientjs,�����Y�Y�,�,�.�F�#*�#:�#:��$9�!�$9�!#�$9�'8�	$9�9�9�N�F�

�L�L��!��+�+�A�.�.�.�D����T�7�+��4�[��� � �<�<�T�E�\�J�!�
�#�[�[�]�*�*��� � ��s�+��L�L��L�L�N��"�"�6�*�*�*�-9�/�+��#�%9�:�
��
��
�
+�s~�?E�D#�-E�0D%�1AE�>D)�D'�D)�*E�0E�1*E�E�E�%E�'D)�)D=�9D=�:E�<D=�=E�Ec�:`�UUU1QkoU!)c��:�RU2ROOROP2P![c2oROOROS2Po=P!Po=hh9hrr�r�s& ���r
r��QTestSSL.test_remote_shutdown_receives_trailing_data.<locals>.run.<locals>.wrapper�r�r�rr�sf ��r
r#�@TestSSL.test_remote_shutdown_receives_trailing_data.<locals>.run�r�rr�r��rrr�r�r#r�r�r�r�r�r�sf     @@@@@r
�+test_remote_shutdown_receives_trailing_data�3TestSSL.test_remote_shutdown_receives_trailing_datas���������0�0�������
���7�7�9�
���4	�4	�l	�	� 	+�	+�8	��_�_�S��[�
)�
)�S��I�I�(�(�����)9�:�*��_�_�S��_�
-�
-���I�I�(�(�����)9�:�.�
-�*�
)��.�
-�
-��$�,D�!,D*�D'	� D'	�*D;	�3D;	c�|`````	`
�Qn] nRO[O[O2n
RO	2nPn	UUUU
1QkoUUUU
1QkoUUUU	U1QkoU	U1QkoROUU229^tt^2oROOUUO22PPP2ROUU229^tt^2oROOUUO22PPP2P!)%fhKe9h)%fhP!9h)rc�:�[O2o[O2oR
OVP	Q5oUO2UO%c UOUO
22UO
]2oR	OUQ2UOQ2UOUO
22[OQ2R	O29^tt^2UO2PPP2UOUO
22]o[UO
Q22oVV*
oJ&[OcWSO%c SOSO
22SOSOQ22CJ�h9h[Oc&SOSOQ22CJ�h9h)%fhCK9h[Oc&SOSOQ22CJ[O cLh9hR	OSRR*]*2SO2SO#2P!r�r�r�s&      ����r
r�RTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.server�s
����}�}��H��}�}��H��_�_�X�T�_�J�F��	��'�'�)� �'�'�'��	�	�(�-�-�/�2����!�;�;�q�>�D�����T�7�+��L�L��!��I�I�h�m�m�o�&��J�J�s�O��"�"�3�#7�#7�8�8��
�
��9��I�I�h�m�m�o�&��H�������E� 2�3�E��%�H��C�+�+�5��'�'�'��	�	�(�-�-�/�2��N�N�4�9�9�U�#3�4�4�5���+�+�5��N�N�4�9�9�U�#3�4�4�5��9�8�8���+�+�5��N�N�4�9�9�U�#3�4�4��-�-�����
���X�u�t�|�A�~�6�
�M�M�O��J�J�Lr�c�:�UORP	Q5ROUO]2Q2UOQ2[O
Q2UO
[O2UORR*2oRO[U2RR*2UO2P!r�r�r�s& ����r
r��VTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.eof_server�r�rc	���:`` �ROO2n[OUQR
QPQ[-EPiw�K
vqUOQ2UO
]2EPiw�K
oROUQ2[R	]*2FD%oUOOQR*2J'	UO2EPiw�K
oROUQ2UOOOnReP!QQ2nUU1Q	ko[ O"O$O'RQ
RO
UQ59^tt^2REPiw�K
UO)2RO+U2EPiw�K
PPP2P!CKfCK;K�[[1cK�h9hKXK/)%fhP!9h3h)r�rr�r�r�r�rc�@`�\sQsQsnU1QkQksQsQsQsUsP!)�iTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapperic� :�U]6�cPgQP-!)r��returnr)�formatr=s"�r
�__annotate__�TestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapper.__init__.__annotate__s���%�%�D�%rc��VmP!rr4�rrvs&&r
r�rTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapper.__init__s�� $�Irc�0�[UOU2!r)rhrv�rrls&&r
�__getattr__�uTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapper.__getattr__s��"�4�9�9�d�3�3rc�d�[U2]*oUOOUPU2!)r�)r&rvr�)rr(�to_sends&& r
r��nTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapper.sends(��!�$�i��l�G��9�9�>�>�$�x��.�9�9rr4)	r6r7r8r9rr�r�r:r;r<s@r
�
SocketWrapperr�s����%�%�4�:�:rrc�:�ROe4[ROR2%fRRO2Rm[OO
!r)�_read_ready_cbr��_sock�unittest�mock�DEFAULT)r(r�socket_transports&��r
�_fake_full_write_buffer�sTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>._fake_full_write_buffersH���#�2�2�:�:�N^�Nd�Nd�fs�Ct�Ct�-:�;K�;Q�;Q�-R�$�*��}�}�,�,�,rr�)�wraps�side_effect)rr�rrr�r�r�r�r�rr�r�r�rpr��
_transportrr	�patch�objectrQr�)
r^r�r�r(r�rrrr�r�r�r�rs
&     @@�����r
r��RTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client�s������Y�Y�,�,�.�F�#*�#:�#:��$9�!�$9�!#�$9�'8�	$9�9�9�N�F�

�L�L��!��+�+�A�.�.�.�D����T�7�+��4��6�]��� � �<�<�T�E�\�J�#�
�#�[�[�]�*�*��� � ��s�+� &�/�/�=�=�H�H���'��

:�

:�
-�
���$�$�+�+� �'�&�,�,�3�,���
��������&�&�v�.�.�.���]9�/�+��#�%9�:�
��
��F�/����s��?G"�F+�-G"�2F.�3AG"�F3�F1�F3�3#G"�AG"�)G�0G

�1*G�G
�G�!G"�.G"�1F3�3G�G�G"�G�G"�
G�G�G	�G	�	G"c�:`�UUU1QkoU!)c��:�RU2ROOROP2P![c2oROOROS2Po=P!Po=hh9hrr�r�s& ���r
r��`TestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.run.<locals>.wrapper+r�r�rr�sf ��r
r#�OTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.run*r�rr�r�r�sf     @@@@@r
�:test_remote_shutdown_receives_trailing_data_on_slow_socket�BTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket�s���������0�0�������
���7�7�9�
���4	�4	�l	�	� :	/�:	/�x	��_�_�S��[�
)�
)�S��I�I�(�(�����)9�:�*��_�_�S��_�
-�
-���I�I�(�(�����)9�:�.�
-�*�
)��.�
-�
-�r�c	��``�[O[O2oUOQ2UO2nUU1QkoS9^tt^2RO	[
29^tt^2oROOU22[O2[O2[O2PPP2ROQOWO22PPP2P!)%fhKD9h[c&oRO[S2Q2Po=KHPo=hh9h)%fhP!9h)rgc��: �[OROO[O,RN3QP	-Q2EPiw�K
ROQ2P!K[[O1cP!h9h3h�r�r�zTimeoutError is not raised�rr�rrSrTr��ConnectionRefusedErrorrW)r^rs��r
�test�2TestSSL.test_connect_timeout_warning.<locals>.test?s�����
8��&�&��I�I�/�/��0@�0@�A�15�A�;?�A������	�	�6�7���+�G�,@�,@�A�
��
��A�B�AA)�A'�A)�B�'A)�)B�B�B�B�BzUnexpected ResourceWarning: {}zResourceWarning not triggeredrf)rir�rpr��assertWarns�ResourceWarningrr�gc�collectr�r��warning�AssertionErrorr��str)r�sr�cm�er^sf    @r
�test_connect_timeout_warning�$TestSSL.test_connect_timeout_warning:s�����M�M�&�.�.�)��	���� ��}�}���		8��Q�	
O��%�%�o�6�6�"��I�I�0�0���8��J�J�L��J�J�L��J�J�L�	7��	�	�:�A�A�"�*�*�M�N��Q�6�6��
"�
J�� � ��Q��)H�I�I��
J���Q�Q�sa�E�D(�9A D	�D(�!*E�D%
�D%
� D(�(	E�2E�3E�E�E�E�E,	�$E,	c��``�[O[O2oUOQ2UO]2UO	2nUU1QkoU9^tt^2[
O2oROOUU22[OU2oPPP2ROW22P!)%fhK(9h)rgc��: �[OROO[O,RN3QU-Q2EPiw�K
ROQ2P!K[[O1cP!h9h3hrr)rKr^rs&��r
r�9TestSSL.test_handshake_timeout_handler_leak.<locals>.test\s�����
8��&�&��I�I�/�/��0@�0@�9�4�9�47�9������	�	�6�7���+�G�,@�,@�A�
��
�r!rf)rir�rprqr�r�r�rrrrr	)rr)rrKr^sf   @r
�#test_handshake_timeout_handler_leak�+TestSSL.test_handshake_timeout_handler_leakVs�����M�M�&�.�.�)��	���� �	������}�}���		8��Q��,�,�.�C��I�I�(�(��c��3��+�+�c�"�C��	
���#�%� �
�Q�s�+A
C�C(	�!C(	c�```�ROnU1QkoU1QkQ[O2nUU1QkoROU29^tt^2oRO	2oROUUOU22[OU2oPPP2[O2[O2[O2ROW22P!)%fhKg9h)c��:�RO[O[O2oUO	UP	Q5oUO] 2UO
2P!r@)r�rWrrr�r`rQ)rvr�rs& �r
r�:TestSSL.test_shutdown_timeout_handler_leak.<locals>.serverrsP����4�4��#�#��"�"��F��%�%�d��%�=�D��I�I�b�M��J�J�Lrc�6:`�\sQsQsnU1QksQsQsUsP!)�<TestSSL.test_shutdown_timeout_handler_leak.<locals>.Protocoli{c�B:�[ORQ5UmP!�r)rrr�rs&�r
r�ETestSSL.test_shutdown_timeout_handler_leak.<locals>.Protocol.__init__|s���"�>�>�t�4��rc�>�UOOP2P!r)r�r!r2s&&r
r4�LTestSSL.test_shutdown_timeout_handler_leak.<locals>.Protocol.connection_losts�����#�#�D�)r)r�)r6r7r8r9rr4r:r;)r=rs@�r
rTr7{s����
5�
*�
*rrTc��: �ROR,UN3QU-EPiw�K
vq#UO2UOEPiw�K
P!K.K3h�r�)rSrQr�)r^rKr��prrTrs&&  ��r
r��:TestSSL.test_shutdown_timeout_handler_leak.<locals>.client�sE�����1�1�(�K�T�K�s�K�K�K�F�B��H�H�J��&�&�L�L�L��s!�A�A�'A�A�	A�A)rrrTrxr�rr^rrr$r%r	)rrr�r�rKrTrsf    @@r
�"test_shutdown_timeout_handler_leak�*TestSSL.test_shutdown_timeout_handler_leakos�����y�y��	�	*�w�'�'�	*�	�
�_�_�V�
$�
$���1�1�3�C��#�#�F�3�8�8�S�$9�:��+�+�c�"�C�%�	�
�
��
�
�
��
�
�
��	
���#�%� �%�
$�s�A	C;�;D	�D	c�d`````�ROn[O2nPnUUU1QkoUU1QkQ[O2nUUUUU1QkoRO	U29^tt^2oROUUO22PPP2P!)%fhP!9h)Nc�d:�RO[O[O2oUO	UP	Q5oUOQ2UOQ2UO
[O2RORO2UO2P!)Tr�hellosextra bytes)r�rWrrr�r�r�rir�r��setrQ)rvr��eofrrs& ���r
r�=TestSSL.test_shutdown_timeout_handler_not_set.<locals>.server�s�����4�4��#�#��"�"��F��%�%�d��%�=�D��I�I�h���I�I�n�%��M�M�&�.�.�)��%�%�c�g�g�.�
�J�J�Lrc�H:`�\sQsQsnU1QksQsU1QksQsQsUs	P!)�?TestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocoli�c�P:�[ORQ5UmPUmP!r9)rrr�rrs&�r
r�HTestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocol.__init__�s���"�>�>�t�4���!%��rc��VmP!r)rr"s&&r
r#�OTestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocol.connection_made�s��!*�rc�:�UQ6Xc8UOOQ2UOO2P!UnP!)rEsworld)rr�r})rr(�extras&&�r
r)�MTestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocol.data_received�s4����8�#��N�N�(�(��2��N�N�0�0�2�!�Erc��UeUOOP2P!UOOU2P!r)r�r!r�r2s&&r
r4�OTestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocol.connection_lost�s+���;��H�H�'�'��-��H�H�*�*�3�/r)r�r)
r6r7r8r9rr#r)r4r:r;)r=rPrs@��r
rTrJ�s����
&�
+�
!�
0�
0rrTc��$: �RO2oROR,UN3QU-EPiw�K
vq#RO2EPiw�K
UO2UOEPiw�K
UO2P!KXK>K3hr>)r�rS�wait�resume_readingr�rQ)	r^rKr�r?rTrGrPrrs	&   �����r
r��=TestSSL.test_shutdown_timeout_handler_not_set.<locals>.client�sq�����1�1�3�C��1�1�(�K�T�K�s�K�K�K�F�B��(�(�*��������&�&�L�L��H�H�J�	L���s3�-B�B
�B�B�
%B�2B�3B�B�B)rr�EventrTrxrr^)rrr�r�rTrGrPrsf   @@@@r
�%test_shutdown_timeout_handler_not_set�-TestSSL.test_shutdown_timeout_handler_not_set�s{����y�y���m�m�o����	� 	0�	0�w�'�'�	0�.	+�	+��_�_�V�
$�
$���#�#�F�3�8�8�$4�5�%�
$�
$�
$�s�2"B�B/	�'B/	ri�ri�)NN)5r6r7r8r9r�rrr�rMr[rir�r�rxr}r�r�r�r��
contextlib�contextmanagerr�r�r�r�r��
bigmemtestrr'r:rGrXrqrxr�r�r�r
r<rQrqr�r�r�r�rr,r1rArYr:r;r��rSr=s@@r
rJrJQs������L��"�"�G�)��;� �.�.�;��;�#�0�0�;��	;�
 "�;�B!�.�.�"�0�0�
.�G�G���4�����(��(��(�0��
���R��%�@�Z�A�Z�x^�@?�B#?�J)'�V/>�b3�D9�L-$�^;A�z>,�@]8�~;A�zL1�\
���R��%�@�L�A�L�\=�~:;�x{;�zb;�HO�8!�2%!�N66�66rrJc�P`�\sQsQsnQsQsQP
QPQP	-QksQsQ	sQ
s	Us
P!)�TestSocketWrapperi�c��VmP!r)�_TestSocketWrapper__sockr�s&&r
r�TestSocketWrapper.__init__�s���rc��Qo[U2U6c9UOU[U2*
2oUQ6Xc[gV#*
oJHU!rZ)r&r`r3)r�nrr(s&&  r
r��TestSocketWrapper.recv_all�sA�����#�h��l��9�9�Q��S��\�*�D��s�{�,�,��K�C��
rr
r�do_handshake_on_connectc��UOUOUUUQ5oU%cUO2UOO2VPmP!))r
rrg)r�rbr�rQ)r�ssl_contextr
rrg�ssl_socks&&$$$ r
r��TestSocketWrapper.starttls�sN���*�*��K�K�[�+�$;�+�=��
��!�!�#��������rc�0�[UOU2!r)rhrbr�s&&r
r��TestSocketWrapper.__getattr__�s���t�{�{�D�)�)rc�b�QO[U2OUO2!)z	<{} {!r}>)r��typer6rbr-s&r
�__repr__�TestSocketWrapper.__repr__�s#���!�!�$�t�*�"5�"5�t�{�{�C�Cr)�__sock)r6r7r8r9rr�r�r�rpr:r;r<s@r
r`r`�s?�������"��!%��*.��$*�D�Drr`c�4`�\sQsQsnQsQsQsQsUsP!)�SocketThreadi�c�6�P
UmUO2P!rE)�_activer�r-s&r
r��SocketThread.stop�s������	�	�rc�(�UO2U!r)r�r-s&r
�	__enter__�SocketThread.__enter__s���
�
���rc�(�UO2P!r)r�r2s&*r
�__exit__�SocketThread.__exit__s���	�	�r)rv)	r6r7r8r9r�ryr|r:r;r<s@r
rtrt�s�������rrtc�.`�\sQsQsnQsQsQsUsP!)r{i	c��[OOUPPQ2P	UmV@mV mP	UmV0mVmP!)Nztest-client)	r�r�rr��_timeoutrrv�_prog�_test)rrrvr�r_s&&&&&r
r�TestThreadedClient.__init__s>�����!�!�$��d�M�B�����
��
�����
��
rc���UO[UO22P![[1cg[
c'oSOOS2Po=P!Po=hh9hr)r�r`r�KeyboardInterrupt�
SystemExit�
BaseExceptionr�r�r�s& r
r#�TestThreadedClient.runsR��	.��J�J�(����4�5��!�:�.�	���	.��J�J�)�)�"�-�-��	.�s �$)�A+�
A+�A+�A&�&A+)rvr�rr�r�r�)r6r7r8r9rr#r:r;r<s@r
r{r{	s�����.�.rr{c�\``�\sQsQsnQsU1QksQsQsQs\	Q2s
QsUsU9s
!)	rsic�:�[OOUPPQ2P	Um]Um]UmVPmV@mV mP	Um	V0m
[O2vUm
UmUOOP
2VmP!)Nztest-server)r�r�rr��_clients�_finished_clients�_max_clientsr�rrvr�ri�
socketpair�_s1�_s2�setblockingr�)rrrvr�r_ras&&&&&&r
r�TestThreadedServer.__init__ s|�����!�!�$��d�M�B������
�!"���'���
��
�����
�#�.�.�0����$�(������U�#��
rc�B:�UO%c<UOO2P6wcUOOQ2[RU_2UOO2UOO2UOO2P![cKkh9h[RS_2SOO2SOO2SOO2h9h)r�sstop)	r��filenor�rrrLr�rrQr�rRs&�r
r��TestThreadedServer.stop2s����
	��x�x�x�D�H�H�O�O�-��3���H�H�M�M�'�*�
�G�L�N��J�J�����H�H�N�N���H�H�N�N���
�����
�G�L�N��J�J�����H�H�N�N���H�H�N�N��s4�C�C�B/�/	B=�9B=�:C�<B=�=C�ADc�^�UOOP
2UO2P!rE)rr��_runr-s&r
r#�TestThreadedServer.run?s���
�
���u�%��	�	�rc�Z�UO%c�UOUO6�cP![OUOUO
,,,UO2vqoUO
U7cP!UOU7fJ�UOO2vqEU9O]*
tmUOUO2U9^tt^2UOU2PPP2CJ
P!)%fhCJ9h[[1cg[c/oP
SmgSOOS2h9hPo=hh9h[cCJ}[ O"cSO%fP!gh9hr)rvr�r��selectrr�r�r�ro�_handle_clientr�r�r�r�r��BlockingIOErrorrir_)r�r�w�xr�r^rws&      r
r��TestThreadedServer._runCs=���l�l�l��}�}�� 1� 1�1���m�m����T�X�X�&��B��
�
�?�G�A�!��x�x�1�}���z�z�Q��>�!%���!2�!2�!4�J�D��M�M�Q�&�M��O�O�D�M�M�2�
>�!�T� �/�/��5�"�T�1�0"�T�T��-�z�:���(�>�',���>�!�� �J�J�9�9�"�=��>��'����~�~���<�<�<���	�s~�E0�%
D#�/D�D#�D 	�D 	�D#� D#�#E-�3
E-�>E-�?E(�E�E%�%E(�(E-�0	F*�:F*�?F*�F*�(F*c�<�UO[U22P!r)r�r`r�s&&r
r��!TestThreadedServer._handle_clientgs���
�
�$�T�*�+rc�8�UOO2!r)rr�r-s&r
r^�TestThreadedServer.addrjs���z�z�%�%�'�'r)rvr�r�r�r�r�r�rr�r�r�)r6r7r8r9rr�r#r�r��propertyr^r:r;r�r^s@@r
rsrss8�����$��">�H,��(��(�(rrs)&rr[r$r�r�ri�sysrjr�r��
unittest.mockrrr��ImportErrorrr�test.test_asynciorrW�platform�MACOSrrr�rrTr�Filterr?�skipIf�TestCaserJr`r�rtr{rsrrr
�<module>r�s��
��	��
�
�
����������1�

����	!��"�����(�(��0�'�'�"�"�'�D�w�~�~��
������o�.�z6�j�!�!�z6�/�z6�D4$D�$D�N�9�#�#��.��.�*N(��N(��S8��
�C��s�C?�?D�D�
D

Youez - 2016 - github.com/yon3zu
LinuXploit