403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
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:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_sys_settrace.cpython-313.opt-1.pyc
�

��iFg��X�SSKJr SSKrSSKrSSKrSSKrSSKJr SSKrSSK	J
r
Jr SSKrSSK
r
SSKrSSKrSSKrSSKrSSKr\R("SS9 "SS5r"S	S
5rSrSrS
r/SQ\lSr/SQ\lSr/SQ\lSr/SQ\lSr/SQ\lSr/SQ\lSr /SQ\ lSr!Sr"/SQ\"lSr#Sr$/SQ\$lS r%S!r&S"/\&lS#r'S$r(/S%Q\(lS&r)/S'Q\)lS(r*/S)Q\*lS*r+/S+Q\+lS,r,S-r-/S.QS/S0/S1--S/S2/-\-lS3r."S4S55r/"S6S7\R`5r1/S8Qr2"S9S:\15r3\Rh"S;S<\155r5"S=S>\R`5r6"S?S@5r7SAr8SBr9"SCSD\R`5r:"SESF\R`5r;"SGSH\R`5r<"SISJ\15r="SKSL\15r>\?SM:Xa\R�"5 gg!\a SrGN�f=f)N�)�supportN��wraps)�
import_helper�requires_subprocessT)�modulec�*�\rSrSrSrSrSrSrSrg)�tracecontext�z/Context manager that traces its enter and exit.c��XlX lg�N��output�value��selfrrs   �+C:\Python313\\Lib\test\test_sys_settrace.py�__init__�tracecontext.__init__������
�c�N�URRUR5 gr
�r�appendr�rs r�	__enter__�tracecontext.__enter__s�������4�:�:�&rc�P�URRUR*5 gr
r�r�exc_infos  r�__exit__�tracecontext.__exit__!s�������D�J�J�;�'rrN)	�__name__�
__module__�__qualname__�__firstlineno__�__doc__rrr!�__static_attributes__�rrr
r
s��9��'�(rr
c�*�\rSrSrSrSrSrSrSrg)�asynctracecontext�$z>Asynchronous context manager that traces its aenter and aexit.c��XlX lgr
rrs   rr�asynctracecontext.__init__&rrc��V# �URRUR5 g7fr
rrs r�
__aenter__�asynctracecontext.__aenter__*s��������4�:�:�&�s�')c��X# �URRUR*5 g7fr
rrs  r�	__aexit__�asynctracecontext.__aexit__-s��������D�J�J�;�'�s�(*rN)	r#r$r%r&r'rr0r3r(r)rrr+r+$s��H��'�(rr+c�(# �UHnU7v� M
 g7f)z0Convert an iterable to an asynchronous iterator.Nr))�iterable�xs  r�	asynciterr80s���
�����s�c�0^�[T5U4Sj5nU$)Nc��>^# �/mU4SjnT"U0UDSU0D6IShv�NT(a'TR5"5IShv�N T(aM&$$N2N!T(a(TR5"5IShv�N T(aM'ff=f7f)Nc�T>�[U5nTRUR5 U$r
)r8r�aclose)r6�it�cleanupss  �r�wrapped_asynciter�;clean_asynciter.<locals>.wrapper.<locals>.wrapped_asynciter9s"����8�$�B��O�O�B�I�I�&��Irr8��pop)�args�kwargsr?r>�tests   @�r�wrapper� clean_asynciter.<locals>.wrapper6sq������	�	'��t�K�v�K�9J�K�K���l�l�n�&�&�&��(�L�'����l�l�n�&�&�&��(�sU�	B�A�A�A�B�A�B�B�A�B� B�4A7�5B�B�Br)rErFs` r�clean_asynciterrH5s ���
�4�[�
'��
'��Nrc��g�N�r)r)rr�basicrLEs��r)�r�call�rK�line�rK�returnc��SnASngrJr)�r7s r�arigo_example0rUTs��	�A�	�
�	�Ar)rMrO��rP��rP��rP�r[rRc��SnASngrJr)rTs r�arigo_example1r^bs��	�A�	��	�Arc��SnASngrJr)rTs r�arigo_example2r`ps��	�A�	��
��r)rMrOrVrX��rP��rP�rdrRc��SnASngrJr)rTs r�one_instr_linerg�s��	�A�	�	�Ar�rMrOrVrX�rYrRc�F�Sn[S5HnU(aSnMSnM g�NrKrW��range)r7�as  r�no_pop_topsro�s"��	�A�
�1�X����A��A�	r)
rMrOrVrX��rPrVrXrarV�rWrRc�8�SnU(d[ U(dMSngrJ)�bla)�yr7s  r�
no_pop_blocksrv�s��	�A����a�	�Ar�rMrOrVra�rbrRc��SngrJr)rTs r�calledrz�s��	�Arc��[5 gr
)rzr)rrrNrN�s��
�Hr�rMrO����rN����rP�r�rRrQc��[er
��	Exceptionr)rr�raisesr��s��
�Orc�:�[5 g![a gf=fr
)r�r�r)rr�
test_raiser��s��
�����
��
�s�

�
�)rMrOrVr}r�r��	exceptionr��rWr�rXrarxc�x�[R"U5 U[R"5Rlgr
)�sys�settrace�	_getframe�f_back�f_trace��	tracefuncs r�_settrace_and_returnr��s"���L�L���%.�C�M�M�O���"rc��[U5 gr
)r�r�s r�settrace_and_returnr��s
����#rrQc��[R"U5 U[R"5Rl[
er
)r�r�r�r�r��RuntimeErrorr�s r�_settrace_and_raiser��s(���L�L���%.�C�M�M�O���"�
�rc�<�[U5 g![a gf=fr
)r�r�r�s r�settrace_and_raiser��s!��
��I�&���
��
�s��
�)r�rXrarxc�"�SnSnX:XaUS-ngg)Nr[rKr))rn�bs  r�ireturn_exampler��s��	�A�	�A��v�
�a�C��r�rMrOrVrXrarxc�V�[SS5nSnXo!S-
nM
![a gf=f)NrrYrK�rm�
IndexError)�items�ir�s   r�tightloop_exampler��s>���!�Q�K�E�
�
�����A�Q�$�!����
��
�s�
�
(�()rMrOrVrXrarZrarZrarZrarZ)r[r�rprcrec�L�[SS5nSnXnM![a gf=f)NrKrbrr�)r�r�s  r�tighterloop_exampler�s2���!�Q�K�E�
�
���X��a���
��
�s��
#�#)rMrOrVrXrararara)rbr�rZrp�rqrRc#�"# �Sv� g!f=f7f�NTr)r)rr�generator_functionr�-s�����
����	�s��
���c�R�[[55n[S5HnUnM g)N�
)�anyr�rm)r7rus  r�generator_exampler�3s%���� �!�A��2�Y��
��r)
rMrV����rN����rP����rP�r�rR)r�rN�r�r�����rP�r�rRrZrpr�r\c��SnURR5H$up#nX Rs=::aU:dMO M"UnM& XR:H$r
)�f_code�co_lines�f_lasti�f_lineno)�frame�	last_line�start�endrPs     r�lineno_matches_lastir�IsI���I�!�L�L�1�1�3���D��M�M�'�C�'�'��I�4����&�&rc�0�\rSrSrSSjrSrSrSrSrg)	�TraceriPNc�*�XlX l/Ulgr
)�trace_line_events�trace_opcode_events�events)rr�r�s   rr�Tracer.__init__Qs��!2��#6� ���rc�~�URbURUlURbURUlggr
)r��
f_trace_linesr��f_trace_opcodes)rr�s  r�_reconfigure_frame�Tracer._reconfigure_frameVs;���!�!�-�"&�"8�"8�E���#�#�/�$(�$<�$<�E�!�0rc��URU5 URRURU45 UR$r
�r�r�rr��trace�rr��event�args    rr��Tracer.trace\s5������&������E�N�N�E�2�3��z�z�rc��URU5 SS5 URRURU45 UR$)Nc3�$# �UHov� M g7fr
r))�.0�os  r�	<genexpr>�)Tracer.traceWithGenexp.<locals>.<genexpr>ds����C�q��C�s��rKr�r�s    r�traceWithGenexp�Tracer.traceWithGenexpbs=������&��C�������E�N�N�E�2�3��z�z�r)r�r�r�)NN)	r#r$r%r&rr�r�r�r(r)rrr�r�Ps���
=��rr�c��\rSrSrSrSr\S5rSrSr	Sr
SrS	rS
r
SrSrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"S r#S!r$S"r%S#r&S$r'S%r(S&r)S'r*S(r+S)r,S*r-S+r.S,r/S-r0S.r1S/r2S0r3S1r4S2r5S3r6S4r7S5r8S6r9S7r:S8r;S9r<S:r=S;r>S<r?S=r@S>rAS?rBS@rCSArDSBrESCrFSDrGSErHSFrI\JR�SG5rLSHrMSIrN\JR�SJ5rOSKrPSLrQgM)N�
TraceTestCaseiic���[R"5Ul[R"5 UR	[
R[
R"55 gr
)�gc�	isenabled�using_gc�disable�
addCleanupr�r��gettracers r�setUp�TraceTestCase.setUpms0�������
�
�
�
��������c�l�l�n�5rc�R�UR(a[R"5 ggr
)r�r��enablers r�tearDown�TraceTestCase.tearDownrs���=�=��I�I�K�rc��[5$)z@Helper to allow test subclasses to configure tracers differently�r�r)rr�make_tracer�TraceTestCase.make_tracervs���x�rc�F�UVVs/sHupEUbXA-
OSU4PM nnnX#:wamURSSR[R"UVs/sHn[	U5PM snUVs/sHn[	U5PM sn55-5 ggs snnfs snfs snf)Nz"events did not match expectation:
�
)�fail�join�difflib�ndiff�str)r�line_offsetr��expected_events�l�er7s       r�compare_events�TraceTestCase.compare_events{s���PV�W�PV�f�q�a�m�1�?��q�A�PV��W��$��I�I�5��	�	�'�-�-��(I��A��Q���(I�9?�(@��A��Q���(@�B�C�C�
D�%��X��)J��(@s�B�B�+Bc��UR5n[R"UR5 U"5 [R"S5 UR	UR
RURU5 gr
)r�r�r�r�r��__code__�co_firstlinenor�)r�funcr��tracers    r�run_and_compare�TraceTestCase.run_and_compare�sT���!�!�#�����V�\�\�"������T�����D�M�M�8�8�"�M�M�6�	3rc�:�URXR5 gr
)rr��rrs  r�run_test�TraceTestCase.run_test�s�����T�;�;�/rc���UR5nU"UR5 [R"S5 UR	UR
RURUR5 gr
)r�r�r�r�r�rrr�)rrrs   r�	run_test2�TraceTestCase.run_test2�sO���!�!�#���V�\�\�����T�����D�M�M�8�8�"�M�M�4�;�;�	8rc�0�[R"S5 gr
�r�r�rs r�test_set_and_retrieve_none�(TraceTestCase.test_set_and_retrieve_none�s�����T�rc��Sn[R"U5 [R"S5 g![R"S5 f=f)Nc��gr
r)�rCs r�fn�4TraceTestCase.test_set_and_retrieve_func.<locals>.fn����rr)rrs  r�test_set_and_retrieve_func�(TraceTestCase.test_set_and_retrieve_func�s5��	�	���R��	�
�L�L����C�L�L���s�A
c�.�UR[5 gr
)r	rLrs r�
test_01_basic�TraceTestCase.test_01_basic�s���
�
�e�rc�.�UR[5 gr
)r	rUrs r�test_02_arigo0�TraceTestCase.test_02_arigo0�����
�
�n�%rc�.�UR[5 gr
)r	r^rs r�test_02_arigo1�TraceTestCase.test_02_arigo1�r rc�.�UR[5 gr
)r	r`rs r�test_02_arigo2�TraceTestCase.test_02_arigo2�r rc�.�UR[5 gr
)r	rgrs r�test_03_one_instr�TraceTestCase.test_03_one_instr�r rc�.�UR[5 gr
)r	rvrs r�test_04_no_pop_blocks�#TraceTestCase.test_04_no_pop_blocks�s���
�
�m�$rc�.�UR[5 gr
)r	rors r�test_05_no_pop_tops�!TraceTestCase.test_05_no_pop_tops�s���
�
�k�"rc�.�UR[5 gr
)r	rNrs r�test_06_call�TraceTestCase.test_06_call�s���
�
�d�rc�.�UR[5 gr
)r	r�rs r�
test_07_raise�TraceTestCase.test_07_raise�s���
�
�j�!rc�.�UR[5 gr
)rr�rs r�test_08_settrace_and_return�)TraceTestCase.test_08_settrace_and_return�s�����*�+rc�.�UR[5 gr
)rr�rs r�test_09_settrace_and_raise�(TraceTestCase.test_09_settrace_and_raise�s�����)�*rc�.�UR[5 gr
)r	r�rs r�test_10_ireturn�TraceTestCase.test_10_ireturn�s���
�
�o�&rc�.�UR[5 gr
)r	r�rs r�test_11_tightloop�TraceTestCase.test_11_tightloop�s���
�
�'�(rc�.�UR[5 gr
)r	r�rs r�test_12_tighterloop�!TraceTestCase.test_12_tighterloop�s���
�
�)�*rc�T�UR[5 UR5n[R"UR
5 [5 [R"S5 UR
[RRUR[R5 gr
)
r	r�r�r�r�r�r�rrr�)rrs  r�test_13_genexp�TraceTestCase.test_13_genexp�sq���
�
�'�(�
�!�!�#�����V�+�+�,������T�����-�6�6�E�E�"�M�M�+<�+C�+C�	Erc�2�SnURU/SQ5 g)Nc��Sng)NFrr)rTs r�onliners�2TraceTestCase.test_14_onliner_if.<locals>.onliners�s
���Q�r)rMrOrXri�r)rrJs  r�test_14_onliner_if� TraceTestCase.test_14_onliner_if�s��	�	
����
�	rc�`�SnURU/SQ5 SnURU/SQ5 g)Nc�(�[S5HnM g�NrWrlrTs r�for_example�0TraceTestCase.test_15_loops.<locals>.for_example�s���1�X���r)rMrOrVrOrVrOrQc�0�SnUS:�aUS-nUS:�aM
gg)NrWrrKr)rTs r�
while_example�2TraceTestCase.test_15_loops.<locals>.while_example�s ���A��a�%��Q����a�%r)rMrVrXrarXrarXrirL)rrRrUs   r�
test_15_loops�TraceTestCase.test_15_loops�s<��	�	
����
�	�	�
	
����
�		rc�N�0n[SU5 URUS/SQ5 g)Nadef f():
































































































































































































































































    pass�f)rM)�rP)r[rR��execr)r�	namespaces  r�test_16_blank_lines�!TraceTestCase.test_16_blank_lines�s,���	��
3�Y�?�����c�N�
�	rc�2�SnURUSS/5 g)Nc�<�S[R"5lSngrQ)r�r�r�)�linenos rr�0TraceTestCase.test_17_none_f_trace.<locals>.funcs��&*�C�M�M�O�#��FrrMrOrLrs  r�test_17_none_f_trace�"TraceTestCase.test_17_none_f_traces$��	�	
���T�
�
�
�	rc�2�SnURU/SQ5 g)Nc�X�[e![aneSnAff=f![a gf=fr
r�)r�r7rus   rr�4TraceTestCase.test_18_except_with_name.<locals>.funcs7��
�$�#�O�� �$���$���
��
�s�	�
����
)�))
rMrOrVrX�rYr�rarZ��rP��	rP)rnrRrLrs  r�test_18_except_with_name�&TraceTestCase.test_18_except_with_names��		�	
���T�	
�
	rc�2�SnURU/SQ5 g)Nc�D�[e!Snf=f![a Sngf=f)N�	Something�r�)rur�s  rr�7TraceTestCase.test_19_except_with_finally.<locals>.func$s+��
�$�#�O��#�A���
���
�s�	�
���)	rMrOrVrXrjrZrprcrerLrs  r�test_19_except_with_finally�)TraceTestCase.test_19_except_with_finally#s��	�	
���T�
�		rc�^^�"SS5mU4SjmU4SjnUR5n/SQnU"UR5 URTRR
URU5 g![a N>f=f)Nc�&�\rSrSrSrSrSrSrg)�BTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapperi9c�$�[U5Ulgr
)�iter�_it)r�objs  rr�KTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__init__:s
����9��rc��U$r
r)rs r�	__aiter__�LTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__aiter__=����rc��^# �[UR5$![a [ef=f7fr
)�nextr}�
StopIteration�StopAsyncIterationrs r�	__anext__�LTraceTestCase.test_20_async_for_loop.<locals>.AsyncIteratorWrapper.__anext__@s,���-�����>�)��$�-�,�,�-�s�-��-�*�-)r}N)r#r$r%r&rr�r�r(r)rr�AsyncIteratorWrapperrz9s��
%�
�
-rr�c��B># �T"S5Shv�NnUnM
N
Sng7f)N�abc�*r))�letterr7rur�s   �r�
doit_async�8TraceTestCase.test_20_async_for_loop.<locals>.doit_asyncFs'���� 4�U� ;�
�f���
� ;��A�s�	������c��>�T"5n[R"U5 URS5 [R"S5 g![R"S5 f=fr
)r�r��send)rr7r�s  �r�run�1TraceTestCase.test_20_async_for_loop.<locals>.runKs?�����A�
#����V�$����t�����T�"�����T�"�s�'A�A )(rMrO)i�rN)���rP)r�rR�i����rN����rP�r�rRr�r�r�r��rKr�rVrOr�r�r�r�r�rVrOr�r�r�r�r�rVrOr�r�r�r��r~rPrr�r�r�rXri)r�r�r�r�rrr�)rr�rr�r�r�s    @@r�test_20_async_for_loop�$TraceTestCase.test_20_async_for_loop8s{���	-�	-�	�
	#��!�!�#��(��R	������	
���J�/�/�>�>�"�M�M�6�	3���	��	�s�A2�2
A?�>A?c�^�SmU4SjnUR5nU"5n[R"UR5 UR	S5 [R"S5 /SQnUR
URRURU5 g![
a NXf=f![R"S5 f=f)Nc�:# �[U5HnU7v� M
 g7fr
rl)�nr�s  r�arange�GTraceTestCase.test_async_for_backwards_jump_has_no_line.<locals>.arange�s����1�X�����s�c��J># �T"S5Shv�NnUS:�dM gN
g7f)NrY�dr))r�r�s �rrZ�BTraceTestCase.test_async_for_backwards_jump_has_no_line.<locals>.f�s%����!�!�9�
�a��s�7��
�9�s �	#�!��!�#�#�!�#)rMrOr}rr�r�r�rVrO�r�rNrr�r�r�rVrOr�rr�r�r�rVrOr�rr�r�rQ)
r�r�r�r�r�r�r�rrr�)rrZr�coror�r�s     @r�)test_async_for_backwards_jump_has_no_line�7TraceTestCase.test_async_for_backwards_jump_has_no_line�s����	�	�
�!�!�#���s��	��L�L����&��I�I�d�O�
�L�L���
��<	
���A�J�J�5�5�"�M�M�6�	3��G�	��	��
�L�L���s#�1B � 
B-�*B0�,B-�-B0�0Cc�2�SnURU/SQ5 g)Nc��gr
r)r)rrr�1TraceTestCase.test_21_repeated_pass.<locals>.func�s���r�rMrOrVrrrLrs  r�test_21_repeated_pass�#TraceTestCase.test_21_repeated_pass�s��	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�&�SHnM g! g=f)Nr)rKrWr)�r�s rr�3TraceTestCase.test_loop_in_try_except.<locals>.func�s��
��A�T����
��s�	�rhrLrs  r�test_loop_in_try_except�%TraceTestCase.test_loop_in_try_except�s��	�	
���T�
�	rc�:^�U4SjmURT/SQ5 g)Nc�J>�TRS:Xag! N=f!f=f�N�Fred)r#�rs�rr�8TraceTestCase.test_try_except_no_exception.<locals>.func�s:���

������=�=�F�*����
����s� �� �"�	rMrOrVrprc�r�rP��rP��rP�r�rRrLrs @r�test_try_except_no_exception�*TraceTestCase.test_try_except_no_exception�����	� 	
���T�
�		rc�2�SnURU/SQ5 g)Nc�L�[e! O=fO!f=f! O=fg!f=fr
r�r)rrr�6TraceTestCase.test_try_exception_in_else.<locals>.func�s>��

����#�O��	���A�
��B��
������s$����!����!�#)rMrOrVrXrcrk)rlr�r�r���rPr�r�rLrs  r�test_try_exception_in_else�(TraceTestCase.test_try_exception_in_else�s��	� 	
���T�
�	rc�2�SnURU/SQ5 g)Nc�\�[S5Hn[S5HnX-nM	 M WS:H$)NrWrKrl)r��jrns   rr�-TraceTestCase.test_nested_loops.<locals>.funcs0���1�X���q��A���A�"����6�Mr)rMrOrVrXrVrXrVrOrVrXrVrXrVrOrarxrLrs  r�test_nested_loops�TraceTestCase.test_nested_loopss��	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�f�SS/nU(a#UR5nU(aU$U(aM#SnU$)NrKr�crA)�seqr�s  rr�)TraceTestCase.test_if_break.<locals>.func-s9���a�&�C���G�G�I�����H�
�#�
���Hr)rMrOrVrXrarVrXrarZrk�rlrRrLrs  r�
test_if_break�TraceTestCase.test_if_break+s��	�	
���T�

�	rc�:�SnURU/SQS/-5 g)Nc�x�Supp#[S5HnSnUS:�aSn gSnSnM g!Snf=f! Sng=f)N)rKrKrKr�rYr[rr�rlr�rl)rn�c�dr�s    rr�6TraceTestCase.test_break_through_finally.<locals>.funcFsY��$�J�A�!�

��q��A�����q�5�!�������"�����
���s �3�,�3�,�3�0�3�9)rMrOrVrXrarZrprkr�rXrarZrprcr��r�rRrLrs  r�test_break_through_finally�(TraceTestCase.test_break_through_finallyDs/��
	1�	
���T�
�AO�?O�
Q�	Rrc�:�SnURU/SQS/-5 g)Nc�z�Supp#n[S5HnSnUS:�aSnMSnSnM g!Snf=f! Sng=f)N)rKrKrKrKr�rWr[rr�rlr�rl)rnr�r�r�r�s     rr�9TraceTestCase.test_continue_through_finally.<locals>.funcis[��*�M�A�!��

��q��A�����q�5�$�������"�����
���s �4�-�4�-�4�1�4�:)rMrOrVrXrarZrprkr�rXrarZrprcr�rXrirLrs  r�test_continue_through_finally�+TraceTestCase.test_continue_through_finallygs.��
	1�	
���T�
� AN��!
P�	Qrc�2�SnURU/SQ5 g)Nc��g!f=frQr)r)rrr�7TraceTestCase.test_return_through_finally.<locals>.func�s��
�����s�rwrLrs  r�test_return_through_finally�)TraceTestCase.test_return_through_finally�s��	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�>�SS- g![a gf=f! g=f)NrWrrq)r�r)rrr�;TraceTestCase.test_try_except_with_wrong_type.<locals>.func�s0��
��!�����
���
���s��
����)rMrOrVr�rXrpr�rLrs  r�test_try_except_with_wrong_type�-TraceTestCase.test_try_except_with_wrong_type�s��	�	
���T�
�	rc�>^�SmU4SjnURU/SQ5 g)NTc�F>�[e!T(aSnff=f! SnU$=f�NrKrYr�)�result�	conditions �rr�9TraceTestCase.test_finally_with_conditional.<locals>.func�s1���
�#�#�O�� �!"��!��
����M�s�
��� )rMrOrVrXrjrZrprkrmr�r�rL)rrr�s  @r�test_finally_with_conditional�+TraceTestCase.test_finally_with_conditional�s&����	�
	�	
���T�

�	rc�2�SnURU/SQ5 g)Nc�P�SnS/nU(aUR5 U(aM!grJrA��TRUEr7s  rr�3TraceTestCase.test_break_to_continue1.<locals>.func�s(���D���A���������	r)
rMrOrVrXrarZrprcrXrirLrs  r�test_break_to_continue1�%TraceTestCase.test_break_to_continue1�s��	�	
���T�	
�
	rc�2�SnURU/SQ5 g)Nc�d�SnS/nU(a$UR5 U(aOM!U(aM#ggrJrAr�s  rr�3TraceTestCase.test_break_to_continue2.<locals>.func�s*���D���A����������!r)	rMrOrVrXrarZrprXrirLrs  r�test_break_to_continue2�%TraceTestCase.test_break_to_continue2�s��	�	
���T�
�		rc�2�SnURU/SQ5 g)Nc�*�SnU(a
U(agggrJr))r�s rr�/TraceTestCase.test_break_to_break.<locals>.func�s���D�����r)rMrOrVrXrarZr\rLrs  r�test_break_to_break�!TraceTestCase.test_break_to_break�s��	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�2�S=pUS:XaUS:XaSngSngSng)NrKrbrqrlr))rnr�r7ru�zs     rr�+TraceTestCase.test_nested_ifs.<locals>.funcs&���I�A��A�v���6��A��A��rr�rLrs  r�test_nested_ifs�TraceTestCase.test_nested_ifs
s��	�	
���T�
�	rc�N^^^�UUU4SjnS=mmSmURU/SQ5 g)Nc�~>�T(aT(aT(a
[(agggg[(a
[(aggg)NFT)�D�E�F)�A�B�Cs���rr�4TraceTestCase.test_nested_ifs_with_and.<locals>.func s6�������1�#(���!���q�q���rTFrhrL)rrrrrs  @@@r�test_nested_ifs_with_and�&TraceTestCase.test_nested_ifs_with_ands-���		����A������T�
�	rc�2�SnURU/SQ5 g)Nc�\�SnSS- Sng![a US:Xa
[5eSngf=f)N�hellorYr�raiserd)�ZeroDivisionError�
ValueError)r7rZs  rr�.TraceTestCase.test_nested_try_if.<locals>.func7sD���A�
'��!���A��%�
'���<�$�,�&� ��A�
'�s��+�+�	rMrOrVrXrjrarZrcrerLrs  r�test_nested_try_if� TraceTestCase.test_nested_try_if5���	�	
���T�
�		rc�N^�"SS5mU4SjnURU/SQ5 g)Nc� �\rSrSrSrSrSrg)�.TraceTestCase.test_if_false_in_with.<locals>.CiMc��U$r
r)rs rr�8TraceTestCase.test_if_false_in_with.<locals>.C.__enter__Nr�rc��gr
r)rs rr!�7TraceTestCase.test_if_false_in_with.<locals>.C.__exit__P���rr)N�r#r$r%r&rr!r(r)rrrr)M���
�
rrc�J>�T"5 SSS5 g!,(df   g=fr
r)�rs�rr�1TraceTestCase.test_if_false_in_with.<locals>.funcSs������������
")rMrO�r�rNr�r�rVrOr}rr�rQrL)rrrs  @r�test_if_false_in_with�#TraceTestCase.test_if_false_in_withKs)���	�	�	�
	
���T�

�	rc�2�SnURU/SQ5 g)Nc�2�g![a	 [ gf=fr
)r��Xr)rrr�7TraceTestCase.test_if_false_in_try_except.<locals>.funcgs��
����
��
�s��r�rLrs  r�test_if_false_in_try_except�)TraceTestCase.test_if_false_in_try_exceptes��	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc��"SS5ng)Nc�.�\rSrSrSS:aSrSrgSrSrg)�DTraceTestCase.test_implicit_return_in_class.<locals>.func.<locals>.AiwrYrnrKrWr)N)r#r$r%r&rnr(r)rrrrAws���q�5��A��Arrr))rs rr�9TraceTestCase.test_implicit_return_in_class.<locals>.funcvs��
�
r�rMrO�rKrNrOrVrXrirQrLrs  r�test_implicit_return_in_class�+TraceTestCase.test_implicit_return_in_classts��	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�V�g![a
nSnAgSnAff=f![a gf=fr
r���exs rr�+TraceTestCase.test_try_in_try.<locals>.func�s3��
���� �������
��
�s�
����
(�(rhrLrs  r�test_try_in_try�TraceTestCase.test_try_in_try�s��	�	
���T�
�	rc�`�SnURU/SQ5 SnURU/SQ5 g)Nc�`�[e![a
nSnAgSnAff=f![a gf=fr
)�	TypeErrorr!rIs rr�:TraceTestCase.test_try_in_try_with_exception.<locals>.func�s5��
��#�O��!�������
��
���	�
� �� �
-�-�	rMrOrVrXrjrarprcrec�`�[e![a
nSnAgSnAff=f![a gf=fr
�r!rPrIs rrrQ�s6��
��$�$��!�������
��
�rR)rMrOrVrXrjrarZr\rLrs  r�test_try_in_try_with_exception�,TraceTestCase.test_try_in_try_with_exception�s:��	�	
���T�
�		�	�	
���T�
�	rc�6�SSjnURU/SQ5 g)Nc�4�U(aU(a	U(aggggr
r))rn�pr
s   rr�/TraceTestCase.test_if_in_if_in_if.<locals>.func�s�������	�rr�)rrKrKrLrs  r�test_if_in_if_in_if�!TraceTestCase.test_if_in_if_in_if�s��	�	
���T�
�	rc�^�"SS5mU4SjnU4SjnURU/SQ5 URU/SQ5 g)Nc� �\rSrSrSrSrSrg)�-TraceTestCase.test_early_exit_with.<locals>.Ci�c��U$r
r)rs rr�7TraceTestCase.test_early_exit_with.<locals>.C.__enter__�r�rc��gr
r)rs rr!�6TraceTestCase.test_early_exit_with.<locals>.C.__exit__�r.rr)Nr/r)rrrr`�r0rrc�^>�SHnT"5 SSS5  g g!,(df   M(=f)N�rKrWr))r�rs �r�
func_break�6TraceTestCase.test_early_exit_with.<locals>.func_break�s,������S���S���
��S�s��
,	c�J>�T"5 SSS5 g!,(df   g=fr
r)r2s�r�func_return�7TraceTestCase.test_early_exit_with.<locals>.func_return�s���������r4)
rMrOrVr5r�r�rXrVr}rr�rarx)rMrO)r�rN)���rP)rlrRrVrOr�r�r�rQrL)rrgrjrs   @r�test_early_exit_with�"TraceTestCase.test_early_exit_with�sE���	�	�	�	�	
���Z�
�
	�	
���[�

�	rc�@^�SmU4SjnURU/SQ5 g)Nc�L�U(aSUS-
- U$U$![a U$f=frJ�r rTs r�foo�;TraceTestCase.test_flow_converges_on_same_line.<locals>.foos9�����q�1�u�I��H�1�H��)����H��s��
#�#c�:>�[S5HnT"U5 M
 grQrl)r�rrs �rr�<TraceTestCase.test_flow_converges_on_same_line.<locals>.func
s����1�X���A��r)rMrOrV�r�rN�i����rPrr�rOrVrvrw)r�rPr�)r�r�r�r�rr�rOrQrL)rrrrs  @r� test_flow_converges_on_same_line�.TraceTestCase.test_flow_converges_on_same_lines$���	�	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�R�SnSU- g![anU(aeSnAgSnAff=f)NrrK�donerq)r7�errors  rr�CTraceTestCase.test_no_tracing_of_named_except_cleanup.<locals>.func&s8���A�
��!����%�
������
�s�
�
&�!�&r#rLrs  r�'test_no_tracing_of_named_except_cleanup�5TraceTestCase.test_no_tracing_of_named_except_cleanup$s��	�	
���T�	�		rc�N^�"SS5mU4SjnURU/SQ5 g)Nc� �\rSrSrSrSrSrg)�DTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtxi<c��U$r
r)rs rr�NTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtx.__enter__=r�rc��gr
r))r�excinfos  rr!�MTraceTestCase.test_tracing_exception_raised_in_with.<locals>.NullCtx.__exit__?r.rr)Nr/r)rr�NullCtxr�<r0rr�c�t>�T"5 SS- SSS5 g!,(df   g=f![a gf=f�NrKrrq)r�s�rr�ATraceTestCase.test_tracing_exception_raised_in_with.<locals>.funcBs/���
��Y��a�C��Y�Y��$�
��
�s �*��*�
'�*�*�
7�7)rMrOrVr5r�r�rXrjrVr}rr�rarZr\rL)rrr�s  @r�%test_tracing_exception_raised_in_with�3TraceTestCase.test_tracing_exception_raised_in_with:s)���	�	�	�	
���T�
�	rc�:^�U4SjmURT/SQ5 g)Nc�>�TRS:Xag!/=[=b POP PO P8=c Nsf=f!f=fr�)r�r#r�s�rr�=TraceTestCase.test_try_except_star_no_exception.<locals>.func\sH���

������=�=�F�*����
�I�
���
����s�;�8�;�=r�rLrs @r�!test_try_except_star_no_exception�/TraceTestCase.test_try_except_star_no_exceptionZr�rc�2�SnURU/SQ5 g)Nc�d�g!/=[=b
nSnAPO	SnAP PO P8=c N#sf=f!f=fr
r��r�s rr�CTraceTestCase.test_try_except_star_named_no_exception.<locals>.funcys0��
�����
�I�
���
���
�s�-� *�-�/)rMrOrVrprkr�rLrs  r�'test_try_except_star_named_no_exception�5TraceTestCase.test_try_except_star_named_no_exceptionws��	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�j�[S5e!/=[=b POP PO P8=c Osf=fg!f=frQ�r!r)rrr�ATraceTestCase.test_try_except_star_exception_caught.<locals>.func�s2��
� ��m�#��
�J�
���
���
���s�
�,�0�2�rMrOrVr�rXrarkr�rLrs  r�%test_try_except_star_exception_caught�3TraceTestCase.test_try_except_star_exception_caught����	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�v�[S5e!/=[=b
nSnAPO	SnAP PO P8=c Osf=fg!f=frQr�r�s rr�GTraceTestCase.test_try_except_star_named_exception_caught.<locals>.func�s2��
� ��m�#��
�J�
���
���
���s�
� 2�6�8r�rLrs  r�+test_try_except_star_named_exception_caught�9TraceTestCase.test_try_except_star_named_exception_caught�r�rc�2�SnURU/SQ5 g)Nc��[S5e!/=[=b POP PO P8=c gsf=f![a gf=f�NrYrUr)rrr�ETraceTestCase.test_try_except_star_exception_not_caught.<locals>.func�s?��
��$�Q�-�'���	��������
��
�s��-�0�0�
=�=rSrLrs  r�)test_try_except_star_exception_not_caught�7TraceTestCase.test_try_except_star_exception_not_caught�r&rc�2�SnURU/SQ5 g)Nc��[S5e!/=[=b
nSnAPO	SnAP PO P8=c gsf=f![a gf=fr�rUr�s rr�KTraceTestCase.test_try_except_star_named_exception_not_caught.<locals>.func�s?��
��$�Q�-�'���	��������
��
�s�� 3�6�6�
A�ArSrLrs  r�/test_try_except_star_named_exception_not_caught�=TraceTestCase.test_try_except_star_named_exception_not_caught�r&rc�2�SnURU/SQ5 g)Nc��[S[S5[S5/5e!/=[=bnSnAOSnAP O [=b OP O [=b eP PO P8=c gsf=f!/=[=bI [S5e!/=[=b OP O [=b
nSnAPO	SnAP PO P8=c POsf=fP PO P8=c gsf=f)N�egr[zbad typer�r)�ExceptionGroupr!rP�OSErrorr�s rr�7TraceTestCase.test_try_except_star_nested.<locals>.func�s���
�	�(��#�A��	�*�(=�>�@�@���	����������"��������
�J�
��#�B�-�'��������!��������
���sK� #�1A%�A	�A%� A(�"A(�(
C	�6B�/B6�0B9	�1C	�3B9	�9C	)rMrOrVrXrarZrXrjrprcrkr�r�r�)�
rPr�)r�r�)�rP)�rP)�rP)�rP)r�rRrLrs  r�test_try_except_star_nested�)TraceTestCase.test_try_except_star_nested�s��	�*	
���T�
�	rc�2�SnURU/SQ5 g)Nc��S g)Nc��grQr)rTs r�<lambda>�ATraceTestCase.test_notrace_lambda.<locals>.func.<locals>.<lambda>s��arr)r)rrr�/TraceTestCase.test_notrace_lambda.<locals>.funcs��
��
rrhrLrs  r�test_notrace_lambda�!TraceTestCase.test_notrace_lambdas��	�
	
���T�
�	rc�2�SnURU/SQ5 g)Nc��"SS5ng)Nc��\rSrSrSrSrSrg)�PTraceTestCase.test_class_creation_with_docstrings.<locals>.func.<locals>.Class_1i$zthe docstring. 2c��SUlg)zAnother docstring. 4r[N�rnrs rr�YTraceTestCase.test_class_creation_with_docstrings.<locals>.func.<locals>.Class_1.__init__&s	���D�Frr�N)r#r$r%r&r'rr(r)rr�Class_1r�$s
��'�rr�r))r�s rr�?TraceTestCase.test_class_creation_with_docstrings.<locals>.func#s��
�
rrCrLrs  r�#test_class_creation_with_docstrings�1TraceTestCase.test_class_creation_with_docstrings!s��	�	
���T�
�	rc�2�SnURU/SQ5 g)Nc�^�SnU"S5U"[S/55"SS555ng)Nc��SnU$)Nc��U$r
r))r�s r�_dec�_TraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.decorator.<locals>._dec7s���Hrr))r�r�s  r�	decorator�QTraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.decorator6s����rrqrlc��\rSrSrSrg)�PTraceTestCase.test_class_creation_with_decorator.<locals>.func.<locals>.MyObjecti;r)N)r#r$r%r&r(r)rr�MyObjectr�;s��
rr�)�len)r�r�s  rr�>TraceTestCase.test_class_creation_with_decorator.<locals>.func5s:��
�
�q�\�
��Q�C���
�
���
r)rMrOrprDrVrarxrcrkrcrDrVrarxr�)rqrNrpr�)r�rRrc�rWrNrXrirpr�rXrir�r�rLrs  r�"test_class_creation_with_decorator�0TraceTestCase.test_class_creation_with_decorator4s��	�	
���T�$
�	rc�r^	�[R"S5nSm	U	4Sjn/SQn/nURU5 U"5 [R"S5 UR
RnUVVVs/sHupgnXu-
[U4PM nnnnURXC5 URX#5 gs snnnf)N�	_testcapic3�# �Sv� g7frJr)r)rr�gen�FTraceTestCase.test_no_line_event_after_creating_generator.<locals>.genis
����G�s�c�">�T"5HnM gr
r))�_r�s �rr�GTraceTestCase.test_no_line_event_after_creating_generator.<locals>.funcls�������r)rMrVr}rr�rOrarV)r�rNr�rr)
r�
import_module�settrace_to_recordr�r�rr�EVENT_NAMES�assertEqualr)
rr�r�EXPECTED_EVENTSr��
start_line�whatrPr�r�s
         @r�+test_no_line_event_after_creating_generator�9TraceTestCase.test_no_line_event_after_creating_generatorbs����
"�/�/��<�	�	�	�
�� ���$�$�V�,�d�f�c�l�l�4�6H��]�]�1�1�
�&,�
�%+�!��S��_�k�$�/�0�%+�	�
�	
����1����T�3��

s�1B2c�^�"SS5mU4Sjn/SQnURX5 [S5H
nU"5 M URX5 g)Nc��\rSrSrSrSrg)�GTraceTestCase.test_correct_tracing_quickened_call_class_init.<locals>.Ci�c��U gr
r)rs rr�PTraceTestCase.test_correct_tracing_quickened_call_class_init.<locals>.C.__init__�s��rr)N)r#r$r%r&rr(r)rrrr��s��
rrc�>�T"5 gr
r)r2s�rr�JTraceTestCase.test_correct_tracing_quickened_call_class_init.<locals>.func�s���
�Crr|r�)rrm)rrr�r�rs    @r�.test_correct_tracing_quickened_call_class_init�<TraceTestCase.test_correct_tracing_quickened_call_class_init�sJ���	�	�	���	
���T�3��s��A��F�����T�3rc�L^�SmU4SjnU[R"5l[R"U5 [	/5 URS5 [R"S5 g![a�nSnURnU(a>URRRS:XaUS-
nURnU(aM>US:XaURS5 SnAN�US:�aURS5 SnAN�SnAff=f![R"S5 f=f)	NFc�.>�T(dSm[e[$r�)r�r})r�r�r��raiseds   �r�
error_once�5TraceTestCase.test_settrace_error.<locals>.error_once�s���������Lr�No exception raisedr�test_settrace_errorrK�Traceback is missing frame�"Traceback has frame more than once)r�r�r�r�r�r�r��
__traceback__�tb_framer��co_name�tb_next)rr�rJ�count�tbr�s     @rr�!TraceTestCase.test_settrace_error�s������	�	�&0�C�M�M�O�#��L�L��$���G�
�I�I�+�,��L�L�����
	@��E��!�!�B���;�;�%�%�-�-�1F�F��Q�J�E��Z�Z���"���z��	�	�6�7�7�����	�	�>�?���
	@��
�L�L���sB�;A.�D�.
D�8AD�D�"D�'D�>D�D�D�D#c�(�[R"S5nUR/5 [/5 UR	S5 [R"S5 g![
a�nSnURnU(a>URRRS:XaUS-
nURnU(aM>US:XaUR	S5 SnAN�US:�aUR	S5 SnAN�SnAff=f![R"S5 f=f)Nr�rr�test_testcapi_settrace_errorrKrr)
rr��settrace_to_errorr�r�r�rrr�rrr�r�)rr�rJr	r
s     rr
�*TraceTestCase.test_testcapi_settrace_error�s���"�/�/��<�	�	��'�'��+���G�
�I�I�+�,��L�L�����
	@��E��!�!�B���;�;�%�%�-�-�1O�O��Q�J�E��Z�Z���"���z��	�	�6�7�7�����	�	�>�?���
	@��
�L�L���sA�A�C9�
C6�&AC1�9C1�C9�C1�,C9�1C6�6C9�9Dc�d�0n[SSS-<S3U5 USn/SQnURX#5 g)Nz�def f():              # line 0
            x = 0                     # line 1
            y = 1                     # line 2
            r�izn                        # lines 3 through (1 << 16)
            x += 1                    #
            returnrZ)rMrOrV)irP)�rP)rrRr\)rr�rZr�s    r�test_very_large_function�&TraceTestCase.test_very_large_function�sE�����
��)�,�
./�	0�
�c�F��
��	
���Q�0r)r�N)Rr#r$r%r&r�r��staticmethodr�r�rr	rrrrrr"r%r(r+r.r1r4r7r:r=r@rCrFrMrWr_rerorvr�r�r�r�r�r�r�r�r�r�r�r�r�r�rr	rrr$r6r<rErLrVr\rmrxrr�r�r�r�r�r�r�r�r�r�r�r�cpython_onlyr�r�rr
rr(r)rrr�r�is���6�
�����D�3�0�8�&���&�&�&�&�%�#��"�,�+�'�)�+�E�
��>���0�*J3�X23�h	��"�:�@�4�2!R�F"Q�H
��&�:�.�.�$�(�.�,�4
��&�"'�R�",�\"�H�,�@�:�(�,�,�,�,-�^
��&,�\
���)4��)4�V4�.�:
������01rr�)rNr�rPrRc�<^�\rSrSrSrU4Sjr\S5rSrU=r	$)�SkipLineEventsTraceTestCasei�z8Repeat the trace tests, but with per-line events skippedc�h>�UVs/sHoDSS:wdM
UPM nn[TU]XU5 gs snf)NrKrP)�superr�)rr�r�r�r��skip_line_events�	__class__s      �rr��*SkipLineEventsTraceTestCase.compare_events�s6���'6�I��!�A�$�&�.�A���I�
���{�4D�E��Js�/�/c��[SS9$)NF)r�r�r)rrr��'SkipLineEventsTraceTestCase.make_tracers
����.�.rr))
r#r$r%r&r'r�rr�r(�
__classcell__�rs@rrr�s ���B�F��/��/rrc�V^�\rSrSrSrU4Sjr\S5r\"5S5r	Sr
U=r$)�TraceOpcodesTestCaseiz;Repeat the trace tests, but with per-opcodes events enabledc��>�UVs/sHoDSS:wdM
UPM nn[U5S:�a#UR[U5[U5SS9 [TU]
XU5 gs snf)NrK�opcodez)No 'opcode' events received by the tracer)�msg)r��
assertLessrr�)rr�r�r�r��skip_opcode_eventsrs      �rr��#TraceOpcodesTestCase.compare_events
sd���)/�D��A�Q�4�8�3C�a���D��v�;��?��O�O�C� 2�3�S��[� K�
�
M�
���{��P��	Es
�A!�A!c��[SS9$)NT)r�r�r)rrr�� TraceOpcodesTestCase.make_tracers
���$�/�/rc�&�[R"S5n[R"SSS9nUR	URS55 UR
5 [R"[RUR/[R[RS9nUR5 URR5n[ R""UR5 URR
5 UR$R
5 UR'SU5 g![ R""UR5 WRR
5 UR$R
5 f=f)	z�Make sure setting f_trace_opcodes after starting trace works even
if it's the first time f_trace_opcodes is being set. GH-103615a�
            import sys

            def opcode_trace_func(frame, event, arg):
                if event == "opcode":
                    print("opcode trace triggered")
                return opcode_trace_func

            sys.settrace(opcode_trace_func)
            sys._getframe().f_trace = opcode_trace_func
            sys._getframe().f_trace_opcodes = True
            a = 1
        Fz.py)�delete�suffixzutf-8)�stdout�stderrsopcode trace triggeredN)�textwrap�dedent�tempfile�NamedTemporaryFile�write�encode�close�
subprocess�Popenr��
executable�name�PIPE�waitr.�read�os�remover/�assertIn)r�code�tmprZ�outs     r�!test_trace_opcodes_after_settrace�6TraceOpcodesTestCase.test_trace_opcodes_after_settraces���
��� �
�� �)�)��u�E���	�	�$�+�+�g�&�'��	�	��	�� � �#�.�.�#�(�(�!;�J�O�O�\f�\k�\k�l�A�
�F�F�H��(�(�-�-�/�C��I�I�c�h�h��
�H�H�N�N��
�H�H�N�N���
�
�/��5��
�I�I�c�h�h��
�H�H�N�N��
�H�H�N�N��s�A6D:�:AFr))r#r$r%r&r'r�rr�rrDr(rr s@rr"r"s7���E�Q��0��0���6��6rr"c�V�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rg)�RaisingTraceFuncTestCasei8c�j�UR[R[R"55 gr
�r�r�r�r�rs rr��RaisingTraceFuncTestCase.setUp9s��������c�l�l�n�5rc�D�X R:Xa[eUR$)zPA trace function that raises an exception in response to a
specific trace event.)�raiseOnEventr!r�r�s    rr��RaisingTraceFuncTestCase.trace<s ���%�%�%����:�:�rc�4�URS:XaSnSU-ngg)zwThe function to trace; raises an exception if that's the case
we're testing, so that the 'exception' trace event fires.r�rrKN�rL)rr7rus   rrZ�RaisingTraceFuncTestCase.fDs#������+��A��!��A�rc�J�Xl[[R"5S-5HEn[R"UR
5 UR
5 URS5 MG g![a MWf=f![a URS5 gf=f)zLTests that an exception raised in response to the given event is
handled OK.rKzexception not raised!zrecursion counter not resetN)
rLrmr��getrecursionlimitr�r�rZr�r!r�)rr�r�s   r�run_test_for_event�+RaisingTraceFuncTestCase.run_test_for_eventMs���"��
	5��3�0�0�2�Q�6�7�����T�Z�Z�(�7��F�F�H��I�I�5�6�8��"������	5��I�I�3�4�	5�s6�AB�
A3�B�3
B�=B�B�B�B"�!B"c�&�URS5 g)NrN�rSrs r�	test_call�"RaisingTraceFuncTestCase.test_call^�������'rc�&�URS5 g)NrPrVrs r�	test_line�"RaisingTraceFuncTestCase.test_line`rYrc�&�URS5 g)NrRrVrs r�test_return�$RaisingTraceFuncTestCase.test_returnbs������)rc�&�URS5 g�Nr�rVrs r�test_exception�'RaisingTraceFuncTestCase.test_exceptionds������,rc��^^�SmUU4Sjm[R"T5 T"5 URS5 g![a SSKnUR
"5 gf=f)Nc�>�[S5Hn[U5 M g)Nr[)rm�printr�s rrZ�4RaisingTraceFuncTestCase.test_trash_stack.<locals>.fhs���1�X���a��rc�x>�US:Xa2URTRRS-:Xa[S5eT$)NrPrWz
i am crashing)r�rrr�)r��why�extrarZ�gs   ��rrk�4RaisingTraceFuncTestCase.test_trash_stack.<locals>.gls5����v�
����!�*�*�";�";�a�"?�?�"�?�3�3��Hrzexception not propagatedr)r�r�r�r�r��collect)rr�rZrks  @@r�test_trash_stack�)RaisingTraceFuncTestCase.test_trash_stackgsP���	�	�	���Q��	2�
�C�
�I�I�0�1���	���J�J�L�	�s�=�A�Ac�^^�SnUU4Sjm[R"5n[R"T5 U"5 [R"U5 g![a N#f=f![R"U5 f=f)Nc� �SnUR g)Nr)�no_such_attrrTs rrZ�<RaisingTraceFuncTestCase.test_exception_arguments.<locals>.f~s���A�
�N�Nrc�J>�US:XaUup4nTRU[5 T$ra)�assertIsInstancer�)r�r�r��typer�r�rkrs      ��rrk�<RaisingTraceFuncTestCase.test_exception_arguments.<locals>.g�s*�����$�),�&����%�%�i��;��Hr)r�r�r��AttributeError)rrZ�existingrks`  @r�test_exception_arguments�1RaisingTraceFuncTestCase.test_exception_arguments}se���	�	��<�<�>��	#��L�L��O�
���

�L�L��"��	"�
��
��
�L�L��"�s(�A(�A�
A%�"A(�$A%�%A(�(Bc�^^�[S5mUU4SjmSnUR[5n[R"T5 U"5 SSS5 UR	WR
T5 g!,(df   N+=f)NzBOOM!c�&>�US:XaTeSUlT$)NrPT)r�)r�r�r�r�r�s   ��rr��RRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_event.<locals>.trace�s��������$(�E�!��Lrc��gr
r)r)rrrZ�NRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_event.<locals>.f�rr)r!�assertRaisesr�r��assertIsr�)rrZ�caughtr�r�s   @@r�*test_line_event_raises_before_opcode_event�CRaisingTraceFuncTestCase.test_line_event_raises_before_opcode_event�s\����w�'�	�	�
	�
�
�
�z�
*�f��L�L���
�C�+�	
�
�
�f�&�&�	�2�+�
*�s�A0�0
A>rON)r#r$r%r&r�r�rZrSrWr[r^rbrnrzr�r(r)rrrGrG8s9��6���5�"(�(�*�-�2�,#�,3rrGc�,�\rSrSrSrSSjrSrSrg)�
JumpTraceri�z>Defines a trace function that jumps from one place to another.c��URUlX lX0lX@lU(aSOURR
UlSUlg)NF)rrA�jumpFrom�jumpTor�r�	firstLiner|)r�functionr�r�r��	decorateds      rr�JumpTracer.__init__�s:���%�%��	� �
����
�!*���	�	�0H�0H�����	rc�n�UR(agURc4URUR:XaUS:XaURS-
UlX R
:Xa�URb�URURUR-:XasUnUbEURUR:wa+URnUbURUR:waM+Ub&URUR-UlSUlUR$![a URUlN0f=f)NrPrKT)r|r�r�rAr�r�r�r�r�rPr�)rr�r�r�rZs     rr��JumpTracer.trace�s����9�9��
�N�N�"�u�|�|�t�y�y�'@����"�^�^�a�/�D�N��Z�Z��D�N�N�$>����$�.�.�4�=�=�"@�@��A��-�A�H�H��	�	�$9��H�H���-�A�H�H��	�	�$9��}�1�%)�^�^�d�k�k�%A�E�N�!��	��z�z���!�1�%)�[�[�E�N�1�s�%D�D4�3D4)rAr|r�r�r�r�N)rPF)r#r$r%r&r'rr�r(r)rrr�r��s��H�9?� ��rr�c��URS5 g![a'nURS[U5;5 SnAgSnAff=f)NrW�integer)rr!r��rr�s  r�no_jump_to_non_integersr��s;��+��
�
�a����+��
�
�i�3�q�6�)�*�*��+�s��
A�A�Ac���[R"5RnURUl[	S5e![
anS[
U5;aeSnAgSnAff=f)Nz'Trace-function-less jump failed to failr�)r�r�r�r��AssertionErrorr!r�)�previous_framer�s  r�no_jump_without_trace_functionr��s]��
H�����/�/��"0�"9�"9����F�G�G�����#�a�&� ��!���s�0=�
A!�A�A!c��\rSrSrSrSrSrS�SjrS�SjrS�Sjr	S�S	jr
\	"S
SS/5S5r\	"S
S
/SQ5S5r\	"S
SS/\
\4S9S5r\	"SS/SQ5S5r\	"S
SS/5S5r\	"SS/SQ5S5r\	"SSS
S/\
\4S9S5r\	"SS
/SQ5S5r\
"SSSS/5\S55r\
"SS
/SQ5\S55r\	"S
S
S/5S 5r\	"S
S
/S!Q5S"5r\	"SS#S
S#/5S$5r\	"SS%S
S%/\S&45S'5r\	"SS(S
S(/\S&45S)5r\	"SS(S
S/\S*45S+5r\	"SSS
/\S,45S-5r\	"S
SSS/5S.5r \	"SS/S/Q5S05r!\	"S
SS
S/5S15r"\
"S
SS
S/5S25r#\	"SS
/S3Q5S45r$\
"SS
/S3Q5S55r%\	"S
SS/5S65r&\	"SS
/S7Q5S85r'\	"S
SS/5S95r(\	"SS
/S:Q5S;5r)\	"SS%/S<Q5S=5r*\	"SS%/S<Q5S>5r+\	"SS/S?Q5S@5r,\	"SS
/SAQ\
\4S9SB5r-\	"S
S/SCQ5SD5r.\
"S
S/SCQ5SE5r/\	"SS/SFQ5SG5r0\
"SS/SFQ5SH5r1\	"SS/SIQ5SJ5r2\
"SS/SIQ5SK5r3\	"SS/SLQ5SM5r4\
"SS/SLQ5SN5r5\	"SOS(/SPQ5SQ5r6\	"SS/SRQ\
\4S9SS5r7\
"SS/SRQ\
\4S9ST5r8\	"SS/SUQ5SV5r9\	"SSO/SWQ5SX5r:\	"S
S%S%SO/\
\4S9SY5r;\
"S
S%S%SO/\
\4S9SZ5r<\	"S
SS
/\S,45S[5r=\	"S
S\S
/\S]45S^5r>\	"S
SS/\S_45S`5r?\	"S
SS/\S_45Sa5r@\	"S
SS/\S_45Sb5rA\	"S
SS/\S_45Sc5rB\	"S
S/\Sd45Se5rC\
"S
S/\Sd45Sf5rD\	"SS
S
S
/\Sd45Sg5rE\
"SS
S
S
/\Sh45Si5rF\	"S
S/\Sj45Sk5rG\
"S
S/\Sj45Sl5rH\	"SS
/SmQ\Sj45Sn5rI\
"SS
/SmQ\Sj45So5rJ\	"S
SSS/5Sp5rK\	"SS
/SqQ5Sr5rL\	"S
SS/5Ss5rM\	"SS
/StQ5Su5rN\	"SS%/S<Q\
\4S9Sv5rO\	"S
SS/5Sw5rP\	"SS/SxQ5Sy5rQ\	"SS
/SzQ5S{5rR\	"S
S/\S|45S}5rS\	"S
S/\S|45S~5rT\	"SS/SQ\S|45S�5rU\	"SSS
/\S|45S�5rV\	"S%S
/S�Q5S�5rW\	"S%S
/S�Q5S�5rX\	"SS/S�Q5S�5rY\
"SS/S�Q5S�5rZ\	"SS%S
S/\S,45S�5r[\	"S%SS
S/\Sd45S�5r\\
"S%SS
S/\Sd45S�5r]S�r^S�r_S�r`S�ra\	"S
SS
/S�\S�4S�9S�5rb\	"S
S
S
/S�\S�4S�9S�5rc\	"S
S
S
/S�\S�4S�9S�5rd\	"SS
S
S/S�S�9S�5re\	"S
SS
S/\
\4S9S�5rf\	"SS
/\
\4S9S�5rg\	"SOS
/S�Q\
\4S9S�5rh\
"S
SS
S/\
\4S9S�5ri\
"SS
/\
\4S9S�5rj\
"SOS
/S�Q\
\4S9S�5rk\	"SS%/\Sj4S�9S�5rl\	"SSO/\Sj4S�9S�5rm\	"SS%/\Sj4S�9S�5rn\	"S
SS
S/\
\4S9S�5ro\	"SS/S�Q\
\4S9S�5rp\qR�"S�5S�5rs\	"S
SS
S/\
\4S9S�5rtS�rug)��JumpTestCasei�z&assigning None to [0-9]+ unbound localc��UR[R[R"55 [R"S5 gr
rIrs rr��JumpTestCase.setUp��&��������c�l�l�n�5����T�rc�n�X!:wa0URS[U5-S-S-[U5-5 gg)NzOutputs don't match:
Expected: r�z
Received: )r��repr)r�expected�receiveds   r�compare_jump_output� JumpTestCase.compare_jump_output�sF�����I�I�$�&*�8�n�5�7;�<�#�$�&*�8�n�5�
6� rNc	�|�Un	[U	S5(aU	Rn	[U	S5(aM[X�X6U5n
[R"U
R
5 /n[R"5nUbURUR"U65 UbURUR"U65 O:UR[R"55 [R"S5 U"U5 SSS5 [R"S5 URXK5 g!,(df   N6=f)N�__wrapped__r})�hasattrr�r�r�r�r��
contextlib�	ExitStack�
enter_context�assertRaisesRegex�assertWarnsRegex�warnings�catch_warnings�simplefilterr��
rrr�r�r�r}r�r��warning�wrappedrr�stacks
             rr	�JumpTestCase.run_test�s������g�}�-�-��)�)�G��g�}�-�-��G�v�i�H�����V�\�\�"���
�
!�
!�
#�u�� ��#�#�D�$:�$:�E�$B�C��"��#�#�D�$9�$9�7�$C�D��#�#�H�$;�$;�$=�>��%�%�g�.���L�$�	���T��� � ��2�$�
#�s
�7BD-�-
D;c	�Z�Un	[U	S5(aU	Rn	[U	S5(aM[X�X6U5n
[R"U
R
5 /n[R"5nUbURUR"U65 UbURUR"U65 [R"U"U55 SSS5 [R"S5 [R"S5 URXK5 g!,(df   NL=f)Nr�)r�r�r�r�r�r�r�r�r�r�r��asyncior��set_event_loop_policyr�r�s
             r�run_async_test�JumpTestCase.run_async_tests������g�}�-�-��)�)�G��g�}�-�-��G�v�i�H�����V�\�\�"���
�
!�
!�
#�u�� ��#�#�D�$:�$:�E�$B�C��"��#�#�D�$9�$9�7�$C�D��K�K��V��%�$�	���T���%�%�d�+�� � ��2�$�
#�s
�7AD�
D*c�(^^^^^^�UUUUUU4SjnU$)zaDecorator that creates a test that makes a jump
from one place to another in the following code.
c�>>^�[T5UUUUUUU4Sj5nU$)Nc�2>�URTTTTTTSTS9 g�NT)r}r�r�r�)r	�rr}r�r�rr�r�r�s �������rrE�7JumpTestCase.jump_test.<locals>.decorator.<locals>.test!s'����
�
�d�H�f�h�$)��$�PW��Yrr�rrEr}r�r�r�r�r�s` ������rr��)JumpTestCase.jump_test.<locals>.decorator �(���
�4�[�
Y�
Y��
Y��Krr)�r�r�r�r}r�r�r�s`````` r�	jump_test�JumpTestCase.jump_test����	�	��rc�(^^^^^^�UUUUUU4SjnU$)znDecorator that creates a test that makes a jump
from one place to another in the following asynchronous code.
c�>>^�[T5UUUUUUU4Sj5nU$)Nc�2>�URTTTTTTSTS9 gr�)r�r�s �������rrE�=JumpTestCase.async_jump_test.<locals>.decorator.<locals>.test-s)����#�#�D�(�F�H�$)��$�PW�$�Yrrr�s` ������rr��/JumpTestCase.async_jump_test.<locals>.decorator,r�rr)r�s`````` r�async_jump_test�JumpTestCase.async_jump_test(r�rrKrYc�j�URS5 URS5 URS5 g�NrKrWrY�r�rs r�test_jump_simple_forwards�&JumpTestCase.test_jump_simple_forwards6�&���
�
�a���
�
�a���
�
�a�rrW)rKrKrWc�H�URS5 URS5 grkr�r�s r�test_jump_simple_backwards�'JumpTestCase.test_jump_simple_backwards<����
�
�a���
�
�a�rrbr[�r�c�T�SnUcURS5 gURS5 g�NrYr[r��rr7s  r�test_jump_is_none_forwards�'JumpTestCase.test_jump_is_none_forwardsAs$�����9��M�M�!���M�M�!�rrq)rYr[rqc�v�SnUcURS5 OURS5 URS5 g�NrYr[rqr�r�s  r�test_jump_is_none_backwards�(JumpTestCase.test_jump_is_none_backwardsIs0�����9��M�M�!���M�M�!���
�
�a�rc�T�SnUbURS5 gURS5 gr�r�r�s  r�test_jump_is_not_none_forwards�+JumpTestCase.test_jump_is_not_none_forwardsRs$�����=��M�M�!���M�M�!�r)r[r[rqc�v�SnUbURS5 OURS5 URS5 gr�r�r�s  r�test_jump_is_not_none_backwards�,JumpTestCase.test_jump_is_not_none_backwardsZs0�����=��M�M�!���M�M�!���
�
�a�rc��SH.nURS5 SHnURS5 M M0 URS5 g)NrfrW�rYrbr[r��rr�r�s   r�test_jump_out_of_block_forwards�,JumpTestCase.test_jump_out_of_block_forwardscs<���A��M�M�!�����
�
�a� ���	�
�
�a�r)rKrYr[rKrYr[rqrdc���URS5 SH?nURS5 SHnURS5 M URS5 MA URS5 g)NrKr�rY)rWr[rqrdr�r�s   r� test_jump_out_of_block_backwards�-JumpTestCase.test_jump_out_of_block_backwardsksT���
�
�a���A��M�M�!�����
�
�a� ���M�M�!��	�
	�
�
�a�rc��# �SH8nU"SS/5Shv�NnURS5 URS5 M- gN+
URS5 MS7f)Nr�rKrWrYrbr[r��rr8r�s   r�)test_jump_out_of_async_for_block_forwards�6JumpTestCase.test_jump_out_of_async_for_block_forwardsusR����A�$�a��V�,�
!�a��
�
�a� ��
�
�a� ��
!�,�
�M�M�!��s%�A�A�A�A�(A�A�A)rWrbrWrbr[rqc���# �SHHnURS5 U"S/5Shv�NnURS5 URS5 M- gN+
URS5 Mc7f)Nr�rWrKrbr[rqr�r�s   r�*test_jump_out_of_async_for_block_backwards�7JumpTestCase.test_jump_out_of_async_for_block_backwards~sZ����A��M�M�!��$�a�S�>�
!�a��
�
�a� ��
�
�a� �	�
!�>�
�M�M�!��s%� A(�A�A�A�(A(�A�A(c�H�URS5 URS5 gr�r�r�s r�test_jump_to_codeless_line�'JumpTestCase.test_jump_to_codeless_line�s���
�
�a���
�
�a�r)rKrWrYc�j�URS5 URS5 URS5 gr�r�r�s r�test_jump_to_same_line�#JumpTestCase.test_jump_to_same_line�r�rrnc��URS5 URS5 URS5 URS5 URS5 g!URS5 f=f!URS5 URS5 URS5 O!URS5 f=fURS5 f=f)NrWrbrqrlrnr�r�s r�test_jump_in_nested_finally�(JumpTestCase.test_jump_in_nested_finally�s���	��M�M�!���M�M�!��
!��
�
�a� ��
�
�a� ��M�M�!����
�
�a� ��	
�M�M�!��
!��
�
�a� ��
�
�a� ���
�
�a� ���M�M�!��s.�A/�A�A,�/C
�B%�C
�%B8�8C
rd�c���URS5 SS- URS5 URS5 g!URS5 URS5 f=f)NrWrKrrqrdr�r�s r�test_jump_in_nested_finally_2�*JumpTestCase.test_jump_in_nested_finally_2�sQ��	��M�M�!��
�a�C���M�M�!���M�M�!���
�M�M�!���M�M�!��s	�<�$A r�c��URS5 SS- URS5 URS5 URS5 URS5 g!URS5 f=f!URS5 URS5 URS5 O!URS5 f=fURS5 f=f)NrWrKrrqrlr�r�r�r�s r�test_jump_in_nested_finally_3�*JumpTestCase.test_jump_in_nested_finally_3�s���
	��M�M�!��
�a�C���M�M�!��
"��
�
�a� ��
�
�b�!��M�M�"����
�
�b�!��	
�M�M�!��
"��
�
�a� ��
�
�b�!���
�
�b�!���M�M�"��s.�A5�A�A2�5C�B+�C�+B>�>Cz"comes after the current code blockc��URS5 URS5 URS5 g!URS5 URS5  g=f�NrWrbr[r�r�s r�5test_no_jump_over_return_try_finally_in_finally_block�BJumpTestCase.test_no_jump_over_return_try_finally_in_finally_block�sM��
	��M�M�!���M�M�!���M�M�!����
�M�M�!���M�M�!����	�6�$A�afterc�L�URS5 URS5 Mr�r�r�s r� test_no_jump_infinite_while_loop�-JumpTestCase.test_no_jump_infinite_while_loop�s"���
�
�a����M�M�!��rc�t�SnURS5 US::aURS5 US-
nUS::aMgg)NrKrWrbr��rr�s  r�#test_jump_forwards_into_while_block�0JumpTestCase.test_jump_forwards_into_while_block�s8��
���
�
�a���1�f��M�M�!��
��F�A��1�fr)rYrYrYr[c�r�SnUS::aURS5 US-
nUS::aMURS5 g)NrKrWrYr[r�rs  r�$test_jump_backwards_into_while_block�1JumpTestCase.test_jump_backwards_into_while_block�s:��
���1�f��M�M�!��
��F�A��1�f�	�
�
�a�rc��[US5 URS5 SSS5 URS5 g!,(df   N =fr��r
rr�s r�$test_jump_forwards_out_of_with_block�1JumpTestCase.test_jump_forwards_out_of_with_block��2��
�&�!�
$��M�M�!��%��
�
�a��%�
$��	�9�
Ac���# �[US5IShv�N URS5 SSS5IShv�N URS5 gN7N!,IShv�N(df   N-=f7fr��r+rr�s r�*test_jump_forwards_out_of_async_with_block�7JumpTestCase.test_jump_forwards_out_of_async_with_block��@���$�V�Q�/�/��M�M�!��0�/��
�
�a��0�/�/�/��A�A)�A�A)�A�A)�A
�A)�
A)�A&�A�A&�"A))rKrWrKrWrYr�c��URS5 [US5 URS5 SSS5 g!,(df   g=fr��rr
r�s r�%test_jump_backwards_out_of_with_block�2JumpTestCase.test_jump_backwards_out_of_with_block��0���
�
�a��
�&�!�
$��M�M�!��%�
$�
$��	�9�
Ac���# �URS5 [US5IShv�N URS5 SSS5IShv�N gN&N!,IShv�N(df   g=f7fr��rr+r�s r�+test_jump_backwards_out_of_async_with_block�8JumpTestCase.test_jump_backwards_out_of_async_with_block��>����
�
�a��$�V�Q�/�/��M�M�!��0�/�/�/�/�/��C�"A)�A�A)�A�A)�A
�A)�
A)�A&�A�A&�"A)c��URS5 URS5 URS5 g!URS5 f=frr�r�s r�+test_jump_forwards_out_of_try_finally_block�8JumpTestCase.test_jump_forwards_out_of_try_finally_block��;��	��M�M�!���M�M�!���
�
�a���
�M�M�!���	�6�A	)rKrKrYr[c��URS5 URS5 URS5 g!URS5 f=f�NrKrYr[r�r�s r�,test_jump_backwards_out_of_try_finally_block�9JumpTestCase.test_jump_backwards_out_of_try_finally_block	�8���
�
�a��	��M�M�!���M�M�!���F�M�M�!���	�6�A	c�x�URS5 URS5 g! URS5 e=f�NrWrbrqr�r�s r�*test_jump_forwards_out_of_try_except_block�7JumpTestCase.test_jump_forwards_out_of_try_except_block		�7��	��M�M�!��	�
�
�a���	��M�M�!�����%�9)rKrKrYc�x�URS5 URS5 g! URS5 e=fr5r�r�s r�+test_jump_backwards_out_of_try_except_block�8JumpTestCase.test_jump_backwards_out_of_try_except_block	�5���
�
�a��	��M�M�!���	��M�M�!�����%�9)rbrdrlc���SS- URS5 g![a% URS5 URS5 N@[a URS5 N\f=f�NrKrrbr[rdrl�r r�FloatingPointErrorr�s r�test_jump_between_except_blocks�,JumpTestCase.test_jump_between_except_blocks	sY��	�
�a�C�	�
�
�a���!�	��M�M�!���M�M�!��!�	��M�M�!��	�s��,A$�A$�#A$c���SS- URS5 URS5 g![a% URS5 URS5 NQf=f!URS5 f=frF)r rr�s r� test_jump_from_except_to_finally�-JumpTestCase.test_jump_from_except_to_finally&	s`��	�
�a�C�

�M�M�!���
�
�a���!�	��M�M�!���M�M�!��	��
�M�M�!��s!�*�,A�A�A�A�A/)rbrqrdc��SS- URS5 g! URS5 URS5 URS5 NI=f)NrKrrbr[rqrdr�r�s r�test_jump_within_except_block�*JumpTestCase.test_jump_within_except_block1	sG��	�
�a�C�
	�
�
�a���		��M�M�!���M�M�!���M�M�!��s	��5A)rKr[rKr[c��URS5 SS- Sng![anURS5 SnASngSnAff=f)NrKrr[r��rr )rr�r7s   r�test_jump_over_try_except�&JumpTestCase.test_jump_over_try_except;	sG���
�
�a��	�
��E�
���!�	��M�M�!������	�s��
A�=�A)rKrbr[r�c��URS5 [US5 URS5 SSS5 [US5 URS5 SSS5 g!,(df   N5=f!,(df   g=f�NrKrWrYrbr[r$r�s r�test_jump_across_with�"JumpTestCase.test_jump_across_withD	�W���
�
�a��
�&�!�
$��M�M�!��%�
�&�!�
$��M�M�!��%�
$�%�
$��
$�
$���A�A0�
A-�0
A>c��~# �URS5 [US5IShv�N URS5 SSS5IShv�N [US5IShv�N URS5 SSS5IShv�N gN\N=!,IShv�N(df   NR=fNDN%!,IShv�N(df   g=f7frVr*r�s r�test_jump_across_async_with�(JumpTestCase.test_jump_across_async_withL	�q����
�
�a��$�V�Q�/�/��M�M�!��0�/�$�V�Q�/�/��M�M�!��0�/�/�0�/�/�/��/�/�/�/���"B=�B�B=�B�B=�B�B=�B�B=�B#�0B=�;B!�<B=�B=�B�B�B�B=�!B=�#B:�)B,�*B:�6B=)rKrYr[rqc���URS5 SH:n[US5 URS5 SSS5 URS5 M< URS5 g!,(df   N5=f�NrKr�rYrbr[rqr$rs  r�,test_jump_out_of_with_block_within_for_block�9JumpTestCase.test_jump_out_of_with_block_within_for_blockT	sV���
�
�a���A��f�a�(��
�
�a� �)��M�M�!���	�
�
�a��)�(�s�A$�$
A2	c��,# �URS5 SHJn[US5IShv�N URS5 SSS5IShv�N URS5 ML URS5 gNLN-!,IShv�N(df   NB=f7frar*rs  r�2test_jump_out_of_async_with_block_within_for_block�?JumpTestCase.test_jump_out_of_async_with_block_within_for_block]	sd����
�
�a���A�(���3�3��
�
�a� �4�3��M�M�!���	�
�
�a��4�3�3�3�sC�'B�A6�B�A:�B�
A8�,B�8B�:B	�B�B	�
B)rKrWrYr[r�rqc�$�URS5 [US5 [US5 URS5 SSS5 URS5 SSS5 URS5 g!,(df   N9=f!,(df   N1=f�NrKrWrYrbr[rqr$r�s r�-test_jump_out_of_with_block_within_with_block�:JumpTestCase.test_jump_out_of_with_block_within_with_blockf	sd���
�
�a��
�&�!�
$��f�a�(��
�
�a� �)��M�M�!��%�	�
�
�a��)�(��%�
$�s!�
B�A0�B�0
A>	�:B�
Bc��f# �URS5 [US5 [US5IShv�N URS5 SSS5IShv�N URS5 SSS5 URS5 gNPN1!,IShv�N(df   NF=f!,(df   N>=f7frh)rr
r+r�s r�3test_jump_out_of_async_with_block_within_with_block�@JumpTestCase.test_jump_out_of_async_with_block_within_with_blocko	sr����
�
�a��
�&�!�
$�(���3�3��
�
�a� �4�3��M�M�!��%�	�
�
�a��4�3�3�3��%�
$�sa�B1�B �B�B �B�B �B�B �(B1�B �B �B	�B�
B	�B � 
B.�*B1)rWrbrqrdc�v�URS5 [US5 URS5 SSS5 URS5 URS5 g!,(df   N1=f![US5 URS5 SSS5 O!,(df   O=fURS5 f=f�NrWrbr[rqrdr$r�s r�0test_jump_out_of_with_block_within_finally_block�=JumpTestCase.test_jump_out_of_with_block_within_finally_blockx	s}��	��M�M�!���f�a�(��
�
�a� �)��M�M�!���
�
�a��)�(���f�a�(��
�
�a� �)�(�(���M�M�!��s.�A-�A�
A*�-
B8�:B�	B8�
B#�B8c	���# �URS5 [US5IShv�N URS5 SSS5IShv�N URS5 URS5 gNHN)!,IShv�N(df   N>=f![US5IShv�N URS5 SSS5IShv�N O!,IShv�N(df   O=fURS5 f=f7fror*r�s r�6test_jump_out_of_async_with_block_within_finally_block�CJumpTestCase.test_jump_out_of_async_with_block_within_finally_block�	s����	��M�M�!��(���3�3��
�
�a� �4�3��M�M�!���
�
�a��4�3�3�3��(���3�3��
�
�a� �4�3�3�3�3�3���M�M�!��s��C5�B�C5�A.�C5�A2�C5�A0�(C5�0C5�2B	�8A;�9B	�C5�C2�B 
�C2�"C�4C2�?C�C2�C�C�
C�C2�2C5rl)rKrYr[r�r�c�V�URS5 SHknURS5 SH@nURS5 SHnURS5 M URS5 MB URS5 Mm URS	5 g!URS5 f=f)
NrKr�rYrfr[rlr�r�r�r�)rr�r��ks    r�&test_jump_out_of_complex_nested_blocks�3JumpTestCase.test_jump_out_of_complex_nested_blocks�	s����
�
�a���A��M�M�!�����
�
�a� �&�#���
�
�a�(�$��M�M�"�%�
�
�M�M�"���	�
�
�b����M�M�"�%�s�B�B()rKrWr[c��URS5 [US5nURS5 SSS5 URS5 g!,(df   N =f�NrKrWrbr[r$r�s  r� test_jump_out_of_with_assignment�-JumpTestCase.test_jump_out_of_with_assignment�	sC���
�
�a��
�&�!�
$���M�M�!��%�	�
�
�a��%�
$�s�A
�

Ac��# �URS5 [US5IShv�NnURS5 SSS5IShv�N URS5 gN7N!,IShv�N(df   N-=f7frzr*r�s  r�&test_jump_out_of_async_with_assignment�3JumpTestCase.test_jump_out_of_async_with_assignment�	sQ����
�
�a��$�V�Q�/�/���M�M�!��0�/�	�
�
�a��0�/�/�/�sC�"A:�A�A:�A �A:�A�A:�A:� A7�&A)�'A7�3A:)rKrqrlrnc��URS5 URS5 U(dURS5 gURS5 URS5 URS5 g!URS5 f=f)NrKrYrlrqrnr�r�s r�*test_jump_over_return_in_try_finally_block�7JumpTestCase.test_jump_over_return_in_try_finally_block�	si���
�
�a��	��M�M�!����
�M�M�!��
�M�M�!���M�M�!���
�
�a���
�M�M�!��s�A2�A2�2B)rKrYrlr�r�r�c�X�URS5 URS5 URS5 U(dURS5 O4URS5 URS5 URS5 URS5 g!URS5 f=f)NrKrYr[r�rlr�r�r�r�s r�)test_jump_over_break_in_try_finally_block�6JumpTestCase.test_jump_over_break_in_try_finally_block�	s����
�
�a����M�M�!��
"��
�
�a� ����
�
�b�!��
�
�a� ��
�
�b�!��M�M�"����
�
�b����
�
�b�!�s�B�B�B)c���URS5 U(dSHnURS5 M O"URS5 URS5 URS5 g�NrKr�rbrqrdrlr�rs  r�$test_jump_over_for_block_before_else�1JumpTestCase.test_jump_over_for_block_before_else�	�M���
�
�a������
�
�a� ��
�M�M�!���M�M�!���
�
�a�rc��# �URS5 U(d([S/5Shv�NnURS5 MURS5 URS5 URS5 gNK
N7f�NrKrYrbrqrdrl�rr8rs  r�*test_jump_over_async_for_block_before_else�7JumpTestCase.test_jump_over_async_for_block_before_else�	�[����
�
�a���$�a�S�>�
!�a��
�
�a� ��M�M�!���M�M�!���
�
�a��
!�>��&�%A;�A9�A7�A9�AA;�7A9�9A;c�H�URS5 URS5 grkr�r�s r�test_no_jump_too_far_forwards�*JumpTestCase.test_no_jump_too_far_forwards�	r�rr��beforec�H�URS5 URS5 grkr�r�s r�test_no_jump_too_far_backwards�+JumpTestCase.test_no_jump_too_far_backwards�	r�r�exceptc�V�URS5 g! URS5 e=f�NrWrbr�r�s r�test_no_jump_to_except_1�%JumpTestCase.test_no_jump_to_except_1�	s)��	��M�M�!���	��M�M�!���s��(c�h�URS5 g![a URS5 ef=fr��rr!r�s r�test_no_jump_to_except_2�%JumpTestCase.test_no_jump_to_except_2�	s1��	��M�M�!����	��M�M�!���	�s��1c�r�URS5 g![anURS5 UeSnAff=fr�r�r�s  r�test_no_jump_to_except_3�%JumpTestCase.test_no_jump_to_except_3�	s4��	��M�M�!����	��M�M�!���G��	�s��
6�1�6c�~�URS5 g![[4anURS5 UeSnAff=fr�)rr!r�r�s  r�test_no_jump_to_except_4�%JumpTestCase.test_no_jump_to_except_4
s9��	��M�M�!����L�)�	��M�M�!���G��	�s��<�7�<�intoc�Z�URS5 SHnURS5 M g)NrKrfrYr�rs  r�$test_no_jump_forwards_into_for_block�1JumpTestCase.test_no_jump_forwards_into_for_block

s$���
�
�a���A��M�M�!��rc��# �URS5 [SS/5Shv�NnURS5 MN
g7fr�r�rs  r�*test_no_jump_forwards_into_async_for_block�7JumpTestCase.test_no_jump_forwards_into_async_for_block
s;����
�
�a�� �!�Q��(�	�!��M�M�!��	�(��s�A�?�=�?�A�?�Ac�Z�SHnURS5 M URS5 g)NrfrWrYr�rs  r�%test_no_jump_backwards_into_for_block�2JumpTestCase.test_no_jump_backwards_into_for_block
s$���A��M�M�!����
�
�a�rz&can't jump into the body of a for loopc��# �[SS/5Shv�NnURS5 MN
URS5 g7fr�)r8rrs  r�+test_no_jump_backwards_into_async_for_block�8JumpTestCase.test_no_jump_backwards_into_async_for_block
s8��� �!�Q��(�	�!��M�M�!��	�(��
�
�a��s�A�.�,�.�A�.�Ar�c��URS5 [US5 URS5 SSS5 g!,(df   g=fr�r$r�s r�%test_no_jump_forwards_into_with_block�2JumpTestCase.test_no_jump_forwards_into_with_block$
r'r(c���# �URS5 [US5IShv�N URS5 SSS5IShv�N gN&N!,IShv�N(df   g=f7fr�r*r�s r�+test_no_jump_forwards_into_async_with_block�8JumpTestCase.test_no_jump_forwards_into_async_with_block*
r-r.)rKrWr�c��[US5 URS5 SSS5 URS5 g!,(df   N =fr�rr�s r�&test_no_jump_backwards_into_with_block�3JumpTestCase.test_no_jump_backwards_into_with_block0
rrc���# �[US5IShv�N URS5 SSS5IShv�N URS5 gN7N!,IShv�N(df   N-=f7fr�rr�s r�,test_no_jump_backwards_into_async_with_block�9JumpTestCase.test_no_jump_backwards_into_async_with_block6
r!r"c��URS5 URS5 URS5 g!URS5 f=fr5r�r�s r�)test_jump_forwards_into_try_finally_block�6JumpTestCase.test_jump_forwards_into_try_finally_block<
r8r9)rWrbrWrbr[c��URS5 URS5 URS5 g!URS5 f=frr�r�s r�*test_jump_backwards_into_try_finally_block�7JumpTestCase.test_jump_backwards_into_try_finally_blockD
r2r3c�x�URS5 URS5 g! URS5 e=fr5r�r�s r�(test_jump_forwards_into_try_except_block�5JumpTestCase.test_jump_forwards_into_try_except_blockL
rCrD)rWrWrqc�x�URS5 URS5 g! URS5 e=fr;r�r�s r�)test_jump_backwards_into_try_except_block�6JumpTestCase.test_jump_backwards_into_try_except_blockU
r>r?c���SS- URS5 g![a% URS5 URS5 N@[anURS5 SnAN_SnAff=frFrGr�s  r�!test_jump_between_except_blocks_2�.JumpTestCase.test_jump_between_except_blocks_2_
s]��	�
�a�C�	�
�
�a���!�	��M�M�!���M�M�!��!�	��M�M�!����	�s��,A+�	A+�A&�&A+c��URS5 URS5 URS5 g!URS5 f=fr5r�r�s r�test_jump_into_finally_block�)JumpTestCase.test_jump_into_finally_blockj
r8r9)rWrqrdc��URS5 URS5 URS5 URS5 URS5 g!URS5 URS5 f=f)NrWrYr[rqrdr�r�s r�+test_jump_into_finally_block_from_try_block�8JumpTestCase.test_jump_into_finally_block_from_try_blockr
s_��	��M�M�!���M�M�!���M�M�!���M�M�!���
�
�a���
�M�M�!���M�M�!��s�"A�$A<)rKrYrKrYr[c��URS5 URS5 URS5 g!URS5 f=fr5r�r�s r�test_jump_out_of_finally_block�+JumpTestCase.test_jump_out_of_finally_block|
r8r9z9can't jump into an 'except' block as there's no exceptionc�z�URS5 URS5 g! URS5 g=fr5r�r�s r�#test_no_jump_into_bare_except_block�0JumpTestCase.test_no_jump_into_bare_except_block�
s2���
�
�a��	��M�M�!���	��M�M�!��s�%�:c��URS5 URS5 g![a URS5 gf=fr5�rr�r�s r�(test_no_jump_into_qualified_except_block�5JumpTestCase.test_no_jump_into_qualified_except_block�
s:���
�
�a��	��M�M�!����	��M�M�!��	�s�%�A�A)rWr[rqc��URS5 URS5 URS5 g! URS5 URS5 e=f�NrWrYr[rqrlr�r�s r�2test_no_jump_into_bare_except_block_from_try_block�?JumpTestCase.test_no_jump_into_bare_except_block_from_try_block�
sO��	��M�M�!���M�M�!��
	�
�
�a���		��M�M�!���M�M�!���s	�"6�%Ac���URS5 URS5 URS5 g![a$ URS5 URS5 ef=fr�rRr�s r�7test_no_jump_into_qualified_except_block_from_try_block�DJumpTestCase.test_no_jump_into_qualified_except_block_from_try_block�
sY��	��M�M�!���M�M�!��
	�
�
�a���	!�	��M�M�!���M�M�!���	�s	�"6�.A$)rKrYrqrKrYrqrdc��URS5 URS5 SS- g! URS5 URS5 g=f�NrKrYrrqrdr�r�s r�"test_jump_out_of_bare_except_block�/JumpTestCase.test_jump_out_of_bare_except_block�
sE���
�
�a��	��M�M�!��
�a�C��	��M�M�!���M�M�!��s	�*�$Ac��URS5 URS5 SS- g![a% URS5 URS5 gf=fr�r�r�s r�'test_jump_out_of_qualified_except_block�4JumpTestCase.test_jump_out_of_qualified_except_block�
sM���
�
�a��	��M�M�!��
�a�C���	��M�M�!���M�M�!��	�s�*�,A�A)rKrWr[r�c��URS5 [US5 URS5 SSS5 [US5 URS5 SSS5 g!,(df   N5=f!,(df   g=frVr$r�s r�test_jump_between_with_blocks�*JumpTestCase.test_jump_between_with_blocks�
rYrZc��~# �URS5 [US5IShv�N URS5 SSS5IShv�N [US5IShv�N URS5 SSS5IShv�N gN\N=!,IShv�N(df   NR=fNDN%!,IShv�N(df   g=f7frVr*r�s r�#test_jump_between_async_with_blocks�0JumpTestCase.test_jump_between_async_with_blocks�
r^r_c��URS5 URS5 URS5 g!URS5 URS5  g=frr�r�s r�-test_no_jump_over_return_out_of_finally_block�:JumpTestCase.test_no_jump_over_return_out_of_finally_block�
sM��	��M�M�!���M�M�!���M�M�!����
�M�M�!���M�M�!���rc���URS5 U(dSHnURS5 M O"URS5 URS5 URS5 gr�r�rs  r�'test_no_jump_into_for_block_before_else�4JumpTestCase.test_no_jump_into_for_block_before_else�
r�rc��# �URS5 U(d([S/5Shv�NnURS5 MURS5 URS5 URS5 gNK
N7fr�r�rs  r�-test_no_jump_into_async_for_block_before_else�:JumpTestCase.test_no_jump_into_async_for_block_before_else�
r�r�c�6�UR[SSS/5 g)NrW�SpamT)r	r�rs r�test_no_jump_to_non_integers�)JumpTestCase.test_no_jump_to_non_integers�
s���
�
�-�q�&�4�&�Arc��[5 gr
)r�rs r�#test_no_jump_without_trace_function�0JumpTestCase.test_no_jump_without_trace_function�
s
��	'�(rc�x�0n[SS-U5 USnURUSSS/[UR4S9 g)Na�def f(output):        # line 0
            x = 0                     # line 1
            y = 1                     # line 2
            '''                       # line 3
            %s                        # lines 4-1004
            '''                       # line 1005
            x += 1                    # line 1006
            output.append(x)          # line 1007
            return)a�







































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































rZrWi�rr�)r]r	�RuntimeWarning�unbound_locals)rr�rZs   r�test_large_function� JumpTestCase.test_large_function�
sQ������'�'�)*�	+�
�c�F���
�
�a��D�1�#���@S�@S�/T�
�Urc�^�[SSS5m"U4SjS5n[USS5n[R"UR5 S/0n[TU5 [R"S5 UR
/S	QUS5 g)
Nzd
# Comments don't count.
output.append(2)  # firstlineno is here.
output.append(3)
output.append(4)
z
<fake module>r]c�>�\rSrSrYrSrg)�<JumpTestCase.test_jump_to_firstlineno.<locals>.fake_functionir)N)r#r$r%r&rr()rAs�r�
fake_functionrs����HrrrbrKr)rWrYrWrYrb)�compiler�r�r�r�r]r�)rrrr^rAs    @r�test_jump_to_firstlineno�%JumpTestCase.test_jump_to_firstlinenosw�����
�f���	�	��M�1�a�0�����V�\�\�"��r�N�	��T�9�����T��� � ��)�H�2E�FrrNz5can't jump from the 'call' trace event of a new frame)r�r}c�d^�TRS5 U4SjnU"5 TRS5 g)NrKc�(>�TRS5 gr�r�r�s�r�nested�3JumpTestCase.test_no_jump_from_call.<locals>.nesteds����M�M�!�rr[r�)rrs` r�test_no_jump_from_call�#JumpTestCase.test_no_jump_from_calls'���	�
�
�a��	����
�
�a�rrRz'can only jump from a 'line' trace eventc�&�URS5 grJr�r�s r�test_no_jump_from_return_event�+JumpTestCase.test_no_jump_from_return_event s��	�
�
�a��rr�c�0�URS5 SS- gr�r�r�s r�!test_no_jump_from_exception_event�.JumpTestCase.test_no_jump_from_exception_event&s��	�
�
�a��	�A�r)r�c�T^�U4Sjn[U"55 TRS5 g)Nc3�8># �TRS5 Sv� g7f)NrWrYr�r�s�rr��.JumpTestCase.test_jump_from_yield.<locals>.gen.s�����M�M�!���G�s�r[)r�r)rr�s` r�test_jump_from_yield�!JumpTestCase.test_jump_from_yield,s���	�	
�S�U���
�
�a�rc��URS5 [S5Vs/sHoPM nnURS5 gs snf�NrKr�rY�rrm�rr�r7s   r�test_jump_forward_over_listcomp�,JumpTestCase.test_jump_forward_over_listcomp4s7���
�
�a���b�	�"�	�1�Q�	��"��
�
�a���
#s�>c�J�Sn[S5Vs/sHo"PM nnSngs snfr"rl�rrnr�r7r�s     r� test_jump_backward_over_listcomp�-JumpTestCase.test_jump_backward_over_listcomp<s)��
���b�	�"�	�1�Q�	��"�
���
#s� )rWrdrWc��SnURS5 U(ag[S5Vs/sHo"PM nnSnURS5 URS5 gs snf�NFrWr[rqrdrlr#�r�flagr�r7s    r�#test_jump_backward_over_listcomp_v2�0JumpTestCase.test_jump_backward_over_listcomp_v2BsS�����
�
�a�����a��!��1�Q���!����
�
�a���
�
�a���
"s�Ac��# �URS5 [[S55Vs/sShv�NoPMN
Os snfnnURS5 g7fr"�rr8rmr$s   r�%test_jump_forward_over_async_listcomp�2JumpTestCase.test_jump_forward_over_async_listcompMs?����
�
�a��'��b�	�2�3�3��Q�3��3��3��
�
�a��s&�(A�<�:�8
�:�<�:�<�Ac��r# �Sn[[S55Vs/sShv�No"PMN
Os snfnnSng7fr")r8rmr(s     r�&test_jump_backward_over_async_listcomp�3JumpTestCase.test_jump_backward_over_async_listcompSs1���
��'��b�	�2�3�3��Q�3��3��3�
��s$�7�-�+�)
�+�-�+�-�7c���# �SnURS5 U(ag[[S55Vs/sShv�No"PMN
Os snfnnSnURS5 URS5 g7fr,r2r-s    r�)test_jump_backward_over_async_listcomp_v2�6JumpTestCase.test_jump_backward_over_async_listcomp_v2Ys[������
�
�a����'��a��1�2�2��Q�2��2��2����
�
�a���
�
�a��s0�2A2�A�A�A
�A�A�A�A�-A2)r}c��Sn[URS55 URS5 US-S- URS5 g�NrKrYr[r�r�r��rfr�rrns  r�(test_jump_with_null_on_stack_load_global�5JumpTestCase.test_jump_with_null_on_stack_load_globalesN��
��
��M�M�!��	
�	�
�
�a�����

�

�	�
�
�b�rc��Sn[nU"URS55 URS5 US-S- URS5 g)NrKrbrqr�r��r=)rrnrZs   r�&test_jump_with_null_on_stack_push_null�3JumpTestCase.test_jump_with_null_on_stack_push_nullxsS��
����	��M�M�!��	
�	�
�
�a�����

�

�	�
�
�b�rc��Sn[RUS5 URS5 US-S- URS5 gr<)�listrr>s  r�&test_jump_with_null_on_stack_load_attr�3JumpTestCase.test_jump_with_null_on_stack_load_attr�sK��
������A�	
�	�
�
�a�����

�

�	�
�
�b�rc��URS5 URS5=(d SGt  nURS5 g�NrKrWr�rYr��rr�s  r�(test_jump_extended_args_unpack_ex_simple�5JumpTestCase.test_jump_extended_args_unpack_ex_simple�s3���
�
�a���=�=��#�-�v���A�q��
�
�a�r)rKrbrbr[c��URS5 URS5=(d SGt  nURS5 g)NrKrbr�r[r�rKs  r�(test_jump_extended_args_unpack_ex_tricky�5JumpTestCase.test_jump_extended_args_unpack_ex_tricky�s9���
�
�a��
�M�M�!��&��	
�
��1��
�
�a�r�cpuc���SSS/S[SS55QSPn0n[SRU5U5 US	nURUS
SSS/[UR
4S9 g)
Nzdef f(output):z    output.append(1)z    for _ in spam:c3�.# �UHnSUS3v� M
 g7f)z        output.append(�)Nr)�r�r�s  rr��@JumpTestCase.test_jump_extended_args_for_iter.<locals>.<genexpr>�s���
G�5F��&�q�c��+�5F���rYi��z    output.append(100_000)r�rZrWrKr�)rmr]r�r	rr)r�sourcer^rZs    r� test_jump_extended_args_for_iter�-JumpTestCase.test_jump_extended_args_for_iter�s}��

�"� �
�H�U�1�g�5F�
G�	
�
)�
���	��T�Y�Y�v�
�	�*��c�N���
�
�a�!�W�q�'�l�^�T�M`�M`�<a�
�brc�|�URS5 URS5=(a SnURS5 grJr�rKs  r�test_jump_or_pop�JumpTestCase.test_jump_or_pop�s-���
�
�a���M�M�!��'����
�
�a�rr))NrPFN)NrPN)vr#r$r%r&rr�r�r	r�r�r�r�r�rr�r�r�r�r�r�rHr�r�r�r�r�r rrr!r	rrrrrr%r+r0r6r<rArIrLrOrSrWr\rbrerirlrprsrwr{r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrr%r)r/r3r6r9r?rCrGrLrOr�requires_resourcerYr\r(r)rrr�r��sT
��>�N��6�@D�8<�3�.FJ�8<�3�*
�
��q�!�a�S�����
�q�!�Y��� ���q�!�a�S�>�>�"B�C��D���q�!�Y��� ���q�!�a�S������q�!�Y��� ���q�!�a��V�n�n�%E�F��G���q�!�-�.��/���Q��A�q�6�"����#���Q��-�.����/���q�!�a�S�����
�q�!�Y��� ���q�!�a��V��	��	��q�!�a��V�/��4�5��6���q�"�q�"�g� 1�2�6�7��8���q�"�q�!�f�z�+O�P�Q��R���q�!�a�S�:�w�/�0��1���q�!�a��V������q�!�\�"��#���q�!�a��V�����
�Q��A�q�6�"��#��
�q�!�(�)��*��
�Q��.�/��0��
�q�!�a�S������q�!�\�"��#���q�!�a�S������q�!�Y��� ���q�!�Y��� ���q�!�Y��� ���q�!�Y��� ���q�!�\�N�N�+K�L��M���q�!�]�#��$���Q��=�)��*���q�!�\�"��#���Q��<�(��)���q�!�(�)��*���Q��.�/��0���q�!�\�"��#���Q��<�(��)���q�"�'�(��)���q�!�Y���(H�I��J���Q��9�~�~�.N�O��P���q�!�\�"�	�#�	��q�!�*�+�
�,�
��q�!�a��V�n�n�%E�F��G���Q��A�q�6�N�N�+K�L��M���q�!�a�S�:�w�/�0��1���q�"�q�c�J��1�2��3��
�q�!�a�S�:�x�0�1��2���q�!�a�S�:�x�0�1��2���q�!�a�S�:�x�0�1��2���q�!�a�S�:�x�0�1��2���q�!�R�*�f�-�.��/��
�Q��2�
�F�3�4�
�5�
��q�!�a��V�j�&�1�2��3���Q��A�q�6�J�0X�#Y�Z��[��
�q�!�R�*�g�.�/��0��
�Q��2�
�G�4�5��6��
�q�!�Z�*�g�!6�7��8��
�Q��:�
�G�'<�=��>��
�q�!�a��V������q�!�_�%��&���q�!�a�S������q�!�Y��� ���q�!�Y���(H�I��J���q�!�a�S������q�!�Y��� ���q�!�_�%��&���q�!�R�*�&a�b�c��d���q�!�R�*�&a�b�c��d���q�!�Y��-h� i�j��k���q�!�a�S�:�'b�c�d��e���q�!�*�+��,���q�!�*�+��,���q�!�]�#��$���Q��=�)��*���q�!�a��V�j�'�2�3��4���q�!�a��V�j�&�1�2��3���Q��A�q�6�J��#7�8��9��B�)�
V�G�&�q�!�a�S��z�<8�/9�:��:���q�!�a�S���8�1:�;��;���q�!�a�S��J�8�4:�;��;���q�!�a��V�8�,��-���q�!�a��V�n�n�%E�F��G���q�!�R�.�.�!A�B��C��
�q�!�Y���(H�I��J���Q��A�q�6�N�N�+K�L��M��
�Q��2���'G�H��I��
�Q��9�~�~�.N�O��P���q�!�R�
�G�4�5��6��$�q�!�R�
�G�4�5��6��&�q�!�R�
�G�4�5��6��"�q�!�a��V�n�n�%E�F��G��
�q�!�\�N�N�+K�L��M��
���u�%�
c�&�
c��q�!�a��V�n�n�%E�F��G�rr�c�,�\rSrSrSrSrSrSrSrg)�TestExtendedArgsi�c��UR[R[R"55 [R"S5 gr
rIrs rr��TestExtendedArgs.setUp�r�rc�^^�[S5H
nU"5 M SSSS.mUU4Sjm[R"T5 U"5 [R"S5 T$)N�r�rNrPrRc�">�TU==S-
ss'T$rJr))r�r�r��countsr�s   ��rr��,TestExtendedArgs.count_traces.<locals>.trace�s����5�M�Q��M��Lr)rmr�r�)rrr�rgr�s   @@r�count_traces�TestExtendedArgs.count_traces�sM����r��A��F���Q�!�4��	�	���U�������T���
rc�v�0nSn[X!5 URUS5nURUSSSS.5 g)Na"def f():
  (y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   y,
   ) = range(300)rZrKi-re)r]rir�)r�nsrArgs    r�test_trace_unpack_long_sequence�0TestExtendedArgs.test_trace_unpack_long_sequence�s>��
��A���T���"�"�2�c�7�+������!�S�A�!F�Grc�r�[S[[R"5S-55nSR	SRS[
U5555n[
U5Vs0sH	nSU3U_M nn[X$5 URUS5nURUSUS	-SS
.5 gs snf)Ni�g�������?zeif 1:
            def f():
                return (
                    {}
                )
        z
+
c3�.# �UHnSUS3v� M
 g7f)�varr�Nr)rUs  rr��>TestExtendedArgs.test_trace_lots_of_globals.<locals>.<genexpr>�s���B�\��#�a�S���\�rWrqrZrKrWre)
�min�intr�get_c_recursion_limit�formatr�rmr]rir�)rr	rAr�rlrgs      r�test_trace_lots_of_globals�+TestExtendedArgs.test_trace_lots_of_globals�s����D�#�g�;�;�=��C�D�E���

�F�7�<�<�B�U�5�\�B�B�C�	
�%*�%�L�
1�L�q��A�3�i��l�L��
1��T���"�"�2�c�7�+������!�U�Q�Y�!�!L�M��2s�)B4r)N)	r#r$r%r&r�rirmrwr(r)rrr`r`�s���� H�
Nrr`c�&�\rSrSrSrSrSrSrg)�
TestEdgeCasesi�c��UR[R[R"55 [R"S5 gr
rIrs rr��TestEdgeCases.setUp�r�rc��^�SnSm"U4SjS5n[R"U"55 [R"U5 UR[R"5T5 g)Nc��gr
r)rs rrr�*TestEdgeCases.test_reentrancy.<locals>.foo����rc��gr
r)rs r�bar�*TestEdgeCases.test_reentrancy.<locals>.bar�r�rc�(>�\rSrSrSrU4SjrSrg)�(TestEdgeCases.test_reentrancy.<locals>.Ai�c��gr
r))rrCs  r�__call__�1TestEdgeCases.test_reentrancy.<locals>.A.__call__�r.rc�2>�[R"T5 gr
r)rr�s �r�__del__�0TestEdgeCases.test_reentrancy.<locals>.A.__del__s������S�!rr)N)r#r$r%r&r�r�r()r�s�rrr��s���
�
"�
"rr)r�r�r�r�)rrrrr�s   @r�test_reentrancy�TestEdgeCases.test_reentrancy�sI���	�	�	"�	"�	���Q�S�����S����������-rc��Sn[R"U5 A[R"[R"55 g)Nc��gr
r)rs rrr�+TestEdgeCases.test_same_object.<locals>.foo
r�r)r�r�r�)rrrs  r�test_same_object�TestEdgeCases.test_same_object	s*��	�	���S������S�\�\�^�$rr)N)r#r$r%r&r�r�r�r(r)rrrzrz�s���.�&%rrzc��\rSrSrSrSrg)�TestLinesAfterTraceStartedic�V�[5nUR[R"5l[R
"UR5 SnSn[R
"S5 UR
[RRRUR/SQ5 g)Nrbr[)rarZrp)r�r�r�r�r�r�r�r��test_eventsrrr�)rrrPs   rr��&TestLinesAfterTraceStarted.test_eventssp�����"(�,�,��
�
������V�\�\�"��������T�����&�2�2�;�;�J�J��M�M��	rr)N)r#r$r%r&r�r(r)rrr�r�s��rr�c��\rSrSrSrSrg)�TestSetLocalTracei#c��^^�UU4SjmSSjn/SQn/m[R"T5 T[R"5lU"5 UR	TU5 [R"S5 g)Nc�>�URRS:Xa<TUlURURR-
nTRX145 T$)Nr)r�rr�r�rr)r�r�r�rPr�r�s    ��rr��7TestSetLocalTrace.test_with_branches.<locals>.tracefunc'sH����|�|�#�#�v�-� )��
��~�~����(C�(C�C���
�
�t�m�,��rc�<�SnUS:�aSnOSnUS:�aSnSngSnSng)NrKrWrYr[rdrnr�r))r��N�not_reached�reached�the_ends     rr�2TestSetLocalTrace.test_with_branches.<locals>.func.s7���A��a�x������a�x����G����Gr)rMrOrVrZrprmr�r�r�)r�r�r�r�r�)rrr�r�r�s   @@r�test_with_branches�$TestSetLocalTrace.test_with_branches%sV���	�
	�	
�������Y��"+��
�
����������1����T�rr)N)r#r$r%r&r�r(r)rrr�r�#s��%rr��__main__)ArEr�unittestr�r�r��	functoolsrr��test.supportrrr�r>r2r0r7r��_testinternalcapi�ImportError�requires_working_socketr
r+r8rHrLr�rUr^r`rgrorvrzrNr�r�r�r�r�r�r�r�r�r�r�r�r��TestCaser�r�rrr"rGr�r�r�r�r`rzr�r�r#�mainr)rr�<module>r�s�����
��	���;��	����������t�,�
(�
(�
(�
(��

� 
����
�'���
�'����'���
�
(����	%���
�'�
��
�
�����
�
$�
��/�$�,�_����
�,���
�)���
�+���"
�+�����	-�)�+�6��;�
<�)�-�8�9���'���2F1�H�%�%�F1�R,��	/�-�	/�	���.6�=�.6��.6�bg3�x�0�0�g3�\$�$�N+�H�]�8�$�$�]�@*N�x�(�(�*N�Z%�H�%�%�%�D���"'�
�'�T�z���M�M�O���ua�����s�H�H)�(H)

Youez - 2016 - github.com/yon3zu
LinuXploit