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_peepholer.cpython-313.pyc
�

��i9����SSKrSSKJrJr SSKrSSKrSSKrSSKrSSKJ	r	 SSK
JrJr Sr
Sr"SS\5r"S	S
\R 5r"SS\5r"S
S\5r\S:Xa\R*"5 gg)�N)�combinations�product)�support)�BytecodeTestCase�CfgOptimizationTestCasec�n�[R"SUS35n0n[X5 USR$)Nz=
        def f(x):
            match x:
                case z#:
                    pass
        �f)�textwrap�dedent�exec�__code__)�pattern�source�	namespaces   �(C:\Python313\\Lib\test\test_peepholer.py� compile_pattern_with_fast_localsrsE��
�_�_�
��Y�	�	��F��I�����S�>�"�"�"�c��Sn[R"U5HnURU:XdMUS-
nM [US5(aURnUR
H$n[US5(dMU[
XA5-
nM& U$)Nr�r
�co_code)�dis�get_instructions�opname�hasattrr
�	co_consts�count_instr_recursively)r	r�count�instr�cs     rrrs{��
�E��%�%�a�(���<�<�6�!��Q�J�E�)��q�*���
�J�J��
�[�[���1�i� � ��,�Q�7�7�E���Lrc��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr\ RB"S5S5r"S r#S!r$S"r%S#r&S$r'S%r(S&r)S'r*g())�
TestTranforms�'c
�N�[[R"U55nUVs0sHo3RU_M nnUH�nSUR;aMXCR
nURS;aDUR
URSURSURSUR35 URS;dM�URS:XdM�UR
URSURSURSUR35 M� gs snf)N�JUMP_)�
JUMP_BACKWARD�JUMP_FORWARDz at z
 jumps to �RETURN_VALUE)�listrr�offsetr�argval�fail)�self�code�instructionsr�targets�tgts      r�check_jump_targets� TestTranforms.check_jump_targets)s����C�0�0��6�7��4@�A�L�5�<�<��&�L��A�!�E��e�l�l�*���,�,�'�C��z�z�>�>��	�	�U�\�\�N�$�u�|�|�n�=&�&)�j�j�\��c�j�j�\�C�D���� A�A��
�
�n�,��	�	�U�\�\�N�$�u�|�|�n�=&�&)�j�j�\��c�j�j�\�C�D�"��Bs�D"c�$�[R"U5n[[R"U55n[	SU55n[SU55nUR
US5 URU[UR55 g)z0Check that the lnotab byte offsets are sensible.c3�*# �UH	oSv� M g7f�rN���.0�ts  r�	<genexpr>�-TestTranforms.check_lnotab.<locals>.<genexpr>@����0��A�Q�4����c3�*# �UH	oSv� M g7fr5r6r7s  rr:r;Ar<r=rN)
r�_get_code_objectr(�findlinestarts�min�max�assertGreaterEqual�
assertLess�lenr)r,r-�lnotab�min_bytecode�max_bytecodes     r�check_lnotab�TestTranforms.check_lnotab:sp���#�#�D�)���c�(�(��.�/���0��0�0���0��0�0������a�0�����c�$�,�,�&7�8rc��SnURUS5 URUS5 URUS5 URU5 g)Nc��US:XdAgg)N�r6��xs r�unot�%TestTranforms.test_unot.<locals>.unotJs����6��r�	UNARY_NOT�POP_JUMP_IF_FALSE�POP_JUMP_IF_TRUE��assertNotInBytecode�assertInBytecoderI)r,rPs  r�	test_unot�TestTranforms.test_unotHsI��	�	
� � ��{�3�� � ��':�;����d�$6�7����$�rc���SHNupnURUS9 [USS5nURXBU5 URU5 SSS5 MP g!,(df   Mb=f)N))z
not a is b�IS_OPr)znot a is not br[r)z
not a in b�CONTAINS_OPr)znot a not in br\r��line��single)�subTest�compilerWrI)r,r^�cmp_op�invertr-s     r�test_elim_inversion_of_is_or_in�-TestTranforms.test_elim_inversion_of_is_or_inRs`��%� �D�&����4��(��t�R��2���%�%�d�F�;��!�!�$�'�)�(�
%�)�(�s�1A�
A%	c�p�SnSnSnUS4US4US44HSupEURUS9 URUS5 URUSU5 URU5 SSS5 MU S	nURUS5 URUS
S5 URU5 g!,(df   M�=f)Nc��SnSnU$�Nr6rNs rr	�0TestTranforms.test_global_as_constant.<locals>.f`s���A��A��Hrc�
�SnU$)NTr6rNs r�g�0TestTranforms.test_global_as_constant.<locals>.gds���A��Hrc�
�SnU$)NFr6rNs r�h�0TestTranforms.test_global_as_constant.<locals>.hgs���A��HrTF)�func�LOAD_GLOBAL�
LOAD_CONSTc��g)z1Adding a docstring made this test fail in Py2.5.0Nr6r6rrr	rjqs��r�RETURN_CONST)rarVrWrI)r,r	rlrorq�elems      r�test_global_as_constant�%TestTranforms.test_global_as_constant^s���	�	�	��t�9�q�$�i�!�U��<�J�D����4��(��(�(��}�=��%�%�d�L�$�?��!�!�$�'�)�(�=�	�	
� � ��M�2����a���6����!��)�(�s�7B&�&
B5	c��SnSHnURX5 M SHnURX5 M URU5 g)Nc�
�Mri)r(r6rrr	�'TestTranforms.test_while_one.<locals>.f{s
����r)rsrS)r%rU)r,r	rvs   r�test_while_one�TestTranforms.test_while_oneysG��	�8�D��$�$�Q�-�8�&�D��!�!�!�*�'����!�rc��SHpupURUS9 [USS5nURX25 URUS5 URUS5 UR	U5 SSS5 Mr g!,(df   M�=f)N))za, = a,ru)za, b = a, b�SWAP)za, b, c = a, b, crr]r_r`�BUILD_TUPLE�UNPACK_SEQUENCE�rarbrWrVrI�r,r^rvr-s    r�test_pack_unpack�TestTranforms.test_pack_unpack�s|���J�D�
���4��(��t�B�x�0���%�%�d�1��(�(��}�=��(�(��/@�A��!�!�$�'�)�(��
)�(�s�AA8�8
B	c	�d�SH`upURUS9 [USS5nURUSU5 URUS5 UR	U5 SSS5 Mb [[[
[S555SS5nURUS5 [R"U5Vs/sHnURS:XdMUPM nnUR[U5S5 UR	U5 S	nUR	U5 g!,(df   GM'=fs snf)
N))z	a = 1,2,3�rrM�)z
("a","b","c")��a�br)z
a,b,c = 1,2,3r�)z(None, 1, None)�NrN)z((1, 2), 3, 4)��rrMr��r]r_r`rsr��'rc��/SQ)4 g)N)drrrMr�r������	rrrMr�r�r�r�r�r�r�rrrMr�r�r�r�r�r�r�rrrMr�r�r�r�r�r�r�rrrMr�r�r�r�r�r�r�rrrMr�r�r�r�r�r�r�rrrMr�r�r�r�r�r�r�rrrMr�r�r�r�r�r�r�rrrMr�r�r�r�r�r�r�rrrMr�r�r�r�r�r�r�r6r6rr�crater�ATestTranforms.test_folding_of_tuples_of_constants.<locals>.crater�s����
r)
rarbrWrVrI�repr�tuple�rangerrr�assertEqualrE)r,r^rvr-r�load_constsr�s       r�#test_folding_of_tuples_of_constants�1TestTranforms.test_folding_of_tuples_of_constants�s
���J�D����4��(��t�B�x�0���%�%�d�L�$�?��(�(��}�=��!�!�$�'�	)�(���t�E�%��,�/�0��H�=��� � ��}�5�*-�*>�*>�t�*D�?�*D��!&����!=��*D��?�����[�)�1�-����$��
	�	
���&�!�?)�(��?s�AD�9D-�D-�
D*	c���SH`upURUS9 [USS5nURUSU5 URUS5 UR	U5 SSS5 Mb g!,(df   Mt=f)N))za in [1,2,3]r�)za not in ["a","b","c"]r�)za in [None, 1, None]r�)za not in [(1, 2), 3, 4]r�r]r_r`rs�
BUILD_LISTr�r�s    r�"test_folding_of_lists_of_constants�0TestTranforms.test_folding_of_lists_of_constants�so���J�D����4��(��t�R��2���%�%�d�L�$�?��(�(��|�<��!�!�$�'�	)�(��)�(�s�AA(�(
A7	c	��S[1Sk54S[1Sk54S[SS154S[1Sk54S	[1Sk544H`upURUS
9 [USS5nURUS
5 UR	USU5 URU5 SSS5 Mb SnSnUR
U"S55 UR
U"S5(+5 URU5 UR
U"S5(+5 UR
U"S55 URU5 g!,(df   GM=f)Nza in {1,2,3}�rrMr�za not in {"a","b","c"}>r�r�rza in {None, 1, None}rza not in {(1, 2), 3, 4}>r�r�r�za in {1, 2, 3, 3, 2, 1}r]r_r`�	BUILD_SETrsc��US;$�Nr�r6�r�s rr	�:TestTranforms.test_folding_of_sets_of_constants.<locals>.f�s���	�>�!rc��US;$r�r6r�s rrl�:TestTranforms.test_folding_of_sets_of_constants.<locals>.g�s
���I�%�%rr�r�)�	frozensetrarbrVrWrI�
assertTrue)r,r^rvr-r	rls      r�!test_folding_of_sets_of_constants�/TestTranforms.test_folding_of_sets_of_constants�s"���Y�y�1�2�
%�y��'A�B�
#�Y��4�y�%9�:�
&�	�.�(A�B�
&�	�)�(<�=�
�J�D����4��(��t�R��2���(�(��{�;��%�%�d�L�$�?��!�!�$�'�	)�(��	"�	&�	
����!������A�a�D��!����!�����A�a�D��!�����!������!��')�(�s
�AD<�<
E	c���SH�upURUS9 [USS5nURUSU5 [R"U5H-nURURRS55 M/ URU5 SSS5 M� [SSS5nURUSS5 URUSS	5 URU5 [S
SS5nURUSS5 URSS-UR5 URU5 [S
SS5nURUSS5 URSS-UR5 URU5 [SSS5nURUSS5 URSS-UR5 URU5 g!,(df   GM�=f)N))z	a = 2+3+4r�)z"@"*4z@@@@)za="abc" + "def"�abcdef)za = 3**4�Q)za = 3*4�)z	a = 13//4r�)za = 14%4rM)za = 2+3r�)za = 13-4r�)za = (12,13)[1]�
)za = 13 << 2�4)za = 13 >> 2r�)z
a = 13 & 7r�)z
a = 13 ^ 7�
)z
a = 13 | 7�r]r_r`rs�BINARY_za=2+"b"rMr�za="x"*10000r�rOz	a=1<<1000i�rz	a=2**1000)rarbrWrr�assertFalser�
startswithrI�assertNotInr)r,r^rvr-rs     r�#test_folding_of_binops_on_constants�1TestTranforms.test_folding_of_binops_on_constants�s����J�D�"���4��(��t�R��2���%�%�d�L�$�?� �1�1�$�7�E��$�$�U�\�\�%<�%<�Y�%G�H�8��!�!�$�'�)�(�#�2�y�"�h�/�����d�L�!�4����d�L�#�6����$���}�b�(�3�����d�L�%�8�����U��D�N�N�3����$���{�B��1�����d�L�$�7�����D��$�.�.�1����$���{�B��1�����d�L�$�7�����D��$�.�.�1����$��3)�(�s�A9G�
G!	c��[SSS5nURUSS5 URUS5 URU5 [SSS5nURUSS5 URUS5 URU5 [S	SS5nURUSS
5 URUS5 URU5 [SSS5nURUS5 URU5 g)Nz"foo"[0]r_r`rsr	�
BINARY_SUBSCRu	"a￿"[1]u￿u	"𒍅"[0]u𒍅z	"fuu"[10])rbrWrVrI)r,r-s  r�test_binary_subscr_on_unicode�+TestTranforms.test_binary_subscr_on_unicodes����z�2�x�0�����d�L�#�6�� � ���7����$���*�B��9�����d�L�(�;�� � ��o�6����$���(�"�h�7�����d�L�,�?�� � ���7����$���{�B��1�����d�O�4����$�rc��SH�upURUS9 [USS5nURUSU5 [R"U5H-nURURRS55 M/ URU5 SSS5 M� Sn[R"U5H-nURURRS55 M/ URU5 SH`upnURUS9 [USS5nURUSU5 URX65 URU5 SSS5 Mb g!,(df   GMk=f!,(df   M�=f)	N))z-0.5g�)z-0.0��)z
-(1.0-1.0)r�)z-0r)z~-2r)z+1rr]r_r`rs�UNARY_c��g)Nr�r6r6rr�negzero�DTestTranforms.test_folding_of_unaryops_on_constants.<locals>.negzero=s��r))z-"abc"�abc�UNARY_NEGATIVE)z~"abc"r��UNARY_INVERT)	rarbrWrrr�rr�rI)r,r^rvr-rr�rs       r�%test_folding_of_unaryops_on_constants�3TestTranforms.test_folding_of_unaryops_on_constants,sF��
�J�D����4��(��t�R��2���%�%�d�L�$�?� �1�1�$�7�E��$�$�U�\�\�%<�%<�X�%F�G�8��!�!�$�'�)�(�
� 	��)�)�'�2�E����U�\�\�4�4�X�>�?�3����'�"�#
��D�����4��(��t�R��2���%�%�d�L�$�?��%�%�d�3��!�!�$�'�	)�(�	#
�!)�(��()�(�s�A9E�AE1�
E.	�1
F	c��SnURUSS5 [R"U5Vs/sHnURS:XdMUPM nnUR	[U5S5 UR
U5 gs snf)Nc��U$rir6rNs rr	�/TestTranforms.test_elim_extra_return.<locals>.fQs���Hrrsr'r)rVrrrr�rErI�r,r	r�returnss    r�test_elim_extra_return�$TestTranforms.test_elim_extra_returnOst��	�� � ��L�$�7�&)�&:�&:�1�&=�=�&=�U�"�\�\�^�;��&=��=�����W��q�)����!���=s�A<�A<c�F�SnURU5 URUS5 URUS5 [R"U5Vs/sHnURS:XdMUPM nnUR[
U5S5 URU5 gs snf)Nc��U(aU$U$rir6)�cond�
true_value�false_values   rr	�1TestTranforms.test_elim_jump_to_return.<locals>.f[s��"&�J�
&�$�
&rr&r%r'rM)r1rVrrrr�rErIr�s    r�test_elim_jump_to_return�&TestTranforms.test_elim_jump_to_returnYs���	&�	
����"�� � ��N�3�� � ��O�4�&)�&:�&:�1�&=�=�&=�U�"�\�\�^�;��&=��=�����W��q�)����!���=s�B�)Bc�N�SnURU5 URU5 g)Nc�r�[(a"[(d[(a[5 gg[	5 gri)r�r�d�foo�bazr6rrr	�6TestTranforms.test_elim_jump_to_uncond_jump.<locals>.fis"���q��A��q��E���r�r1rI�r,r	s  r�test_elim_jump_to_uncond_jump�+TestTranforms.test_elim_jump_to_uncond_jumpgs%��	�	
����"����!�rc�N�SnURU5 URU5 g)Nc�f�W(a*[(d[(a
[5nU(aM)ggri)rr�r�r�s rr	�7TestTranforms.test_elim_jump_to_uncond_jump2.<locals>.fvs����A��q���A�	�!rr�r�s  r�test_elim_jump_to_uncond_jump2�,TestTranforms.test_elim_jump_to_uncond_jump2ts%��	�	
����"����!�rc�|�SnURU5 URU5 UR[US5S5 SnURU5 URU5 UR[US5S5 SnURU5 URU5 UR[US5S5 UR[US5S5 SnURU5 URU5 UR[US5S5 UR[US5S5 g)	Nc�*�U=(a U=(a U$rir6r�s   rr	�7TestTranforms.test_elim_jump_to_uncond_jump3.<locals>.f�s���W�1���
rrSrMc�*�U=(d U=(d U$rir6r�s   rr	r��s���V�!���
rrTc�*�U=(a U=(d U$rir6r�s   rr	r��s���W�1���
rrc�*�U=(d U=(a U$rir6r�s   rr	r��s���V�!���
r)r1rIr�rr�s  r�test_elim_jump_to_uncond_jump3�,TestTranforms.test_elim_jump_to_uncond_jump3s$��	�	
����"����!�����0��4G�H�!�L�	�	
����"����!�����0��4F�G��K�	�	
����"����!�����0��4G�H�!�L����0��4F�G��K�	�	
����"����!�����0��4G�H�!�L����0��4F�G��Krc�,�SnURU5 g)Nc�N�[S5HnUS:�dM[U5 M g)Nr�r�)r��print)�is rr	�7TestTranforms.test_elim_jump_to_uncond_jump4.<locals>.f�s���1�X���q�5��!�H�r)r1r�s  r�test_elim_jump_to_uncond_jump4�,TestTranforms.test_elim_jump_to_uncond_jump4�s��	�	
����"rc�$�SnURUS5 URUS5 [R"U5Vs/sHnURS:XdMUPM nnUR	[U5S5 UR
U5 gs snf)Nc�&�U(agU(agg)NrrMr�r6)�cond1�cond2s  rr	�5TestTranforms.test_elim_jump_after_return1.<locals>.f�s���Q��Q��rr&r%r'r�)rVrrr�assertLessEqualrErIr�s    r�test_elim_jump_after_return1�*TestTranforms.test_elim_jump_after_return1�s���	�	
� � ��N�3�� � ��O�4�&)�&:�&:�1�&=�=�&=�U�"�\�\�^�;��&=��=����S��\�1�-����!���=s�B
�B
c�P�SnURUS5 URU5 g)Nc��SSjnU$)Nc��grir6r6rrrl�BTestTranforms.test_make_function_doesnt_bail.<locals>.f.<locals>.g�s��r)�returnrMr6)rls rr	�7TestTranforms.test_make_function_doesnt_bail.<locals>.f�s��
��Hr�	BINARY_OP)rVrIr�s  r�test_make_function_doesnt_bail�,TestTranforms.test_make_function_doesnt_bail�s'��	�	
� � ��K�0����!�rc���/SQnUH�nURUS9 [USS5n[R"U5H�nUR	UR
R
S55 UR	UR
R
S55 UR	UR
R
S55 M� URU5 SSS5 M� g!,(df   M�=f)N)	z3 * -5z-3 * 5z2 * (3 * 4)z(2 * 3) * 4z
(-1, 2, 3)z
(1, -2, 3)z
(1, 2, -3)z(1, 2, -3) * 6z:lambda x: x in {(3 * -5) + (-1 - 6), (1, -2, 3) * 2, None})�er_r`r�r��BUILD_)rarbrrr�rr�rI)r,�exprsr
r-rs     r�test_constant_folding�#TestTranforms.test_constant_folding�s���

���A������"��q�"�h�/�� �1�1�$�7�E��$�$�U�\�\�%<�%<�X�%F�G��$�$�U�\�\�%<�%<�Y�%G�H��$�$�U�\�\�%<�%<�X�%F�G�8��!�!�$�'�
#�"��"�"�s�B:C � 
C/	c�d�SnUR[US5S5 URU5 g)Nc�(�[[[4;$ri)rOr�r�r6rr�containtest�7TestTranforms.test_in_literal_list.<locals>.containtest�s����A��;�rr�r�r�rrI)r,rs  r�test_in_literal_list�"TestTranforms.test_in_literal_list�s-��	����0��l�K�Q�O����+�&rc�d�SnUR[US5S5 URU5 g)Nc�*�[[4HnM gri�r�r�rNs r�forloop�8TestTranforms.test_iterate_literal_list.<locals>.forloop�s����V���rr�rr)r,rs  r�test_iterate_literal_list�'TestTranforms.test_iterate_literal_list�s/��	�	
���0��,�G��K����'�"rc�Z�SnURU"5S5 URU5 g)Nc��g�Nrr6r6rrr	�=TestTranforms.test_condition_with_binop_with_bools.<locals>.f�s���rr)r�rIr�s  r�$test_condition_with_binop_with_bools�2TestTranforms.test_condition_with_binop_with_bools�s)��	�	
�����a� ����!�rc�Z�SnURU"S55 URU5 g)Nc��U(agg)NTFr6rNs rr	�3TestTranforms.test_if_with_if_expression.<locals>.f�s����� %�rT)r�rIr�s  r�test_if_with_if_expression�(TestTranforms.test_if_with_if_expression�s'��	�	
����$�� ����!�rc�,�SnURU5 g)Nc��g)Nr�r6rNs rr	�+TestTranforms.test_trailing_nops.<locals>.f�s���r)rIr�s  r�test_trailing_nops� TestTranforms.test_trailing_nops�s��	�	
���!�rc��SnUR[US5S5 SnUR[US5S5 SnUR[US5S5 SnUR[US5S5 g)Nc�T�[VVs/sHn[U5oPM snn$s snnfri�r�r	�rO�ys  r�listcomp�GTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.listcomp�"�� �1�q�!�1�Q�4�Q�A�q�1�1��1��$�FOR_ITERrc�T�[VVs1sHn[U5oiM snn$s snnfrir2r3s  r�setcomp�FTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.setcompr7r8c�V�[VVs0sHn[U5oU_M snn$s snnfrir2r3s  r�dictcomp�GTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.dictcomps&��"#�4�!�Q�a��d��q�D�A�!�4�4��4s�%c��S[5$)Nc3�:# �UHn[U5o"v� M g7fri)r	)r8rOr4s   rr:�YTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.genexpr.<locals>.<genexpr>s���1�q�!�1�Q�4�Q�A�q�s�r�r6rr�genexpr�FTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.genexprs
��1�q�1�1r)r�r)r,r5r;r>rCs     r�'test_assignment_idiom_in_comprehensions�5TestTranforms.test_assignment_idiom_in_comprehensionssv��	2����0��:�F��J�	2����0��*�E�q�I�	5����0��:�F��J�	2����0��*�E�q�Ir�cpuc�,�Sn/[SS5Q[SS5Q[SS5Q[[S5[S5*4S	5Qn/[S
S5QSPS
PnUH�upEUH�upg[[U5S-5Hvn[	X5Hdn	SSRU	5-U-U-U-n
UR
X�S9 X�-n[U
<S3SU05nURX�SU
<35 SSS5 Mf Mx M� M� g!,(df   M�=f)Nz-+ #0)r_�1234uабвг�sra)��i.����duioxX)g�|��EJ�@g�|��EJ���	duifegFEG�inf�fegFEG)r_�1�30)r_�.z.0z.2)r_�.40)rQrSr�%r_)�fmt�valuez % (x,)rOzfmt = )	r�floatr�rEr�joinra�evalr�)
r,�flags�	testcases�width_precsrV�suffix�width�prec�r�specrU�s1�s2s
             r�test_format_combinations�&TestTranforms.test_format_combinationss>����
�
�-�u�
5�
�
�]�H�
-�
��2�K�
@�
��e�E�l�U�5�\�M�2�H�
=�	
�	�
�
�_�&;�
<�
��
�
�
��
'�M�E�*����s�5�z�A�~�.�A� ,�U� 6��!�B�G�G�D�M�1�E�9�D�@�6�I��!�\�\�c�\�?�!$��B�!%���w�&7�#�u��!F�B� �,�,�R���x�[�A�@�?�!7�/� +�'�
@�?�s�>-D�
Dc�0�SnURU"S5S5 URU"SS5S5 URU"SS5S5 URU"SS5S5 URU"S	S5S
5 URU"SS5S5 URU"S	S5S
5 URU"SS5S5 URU"SS5S5 URU"SS5S5 URU"SSS5S5 g)Nc	��[[U55Vs/sHnSUS-3PM
 nn[U5S:XaSUS-S-nOSSRU5-S-n[U<SU3[	[X1555$s snf)	NrOr�(rz,)z, �)z % )r�rErXrY�dict�zip)rU�valuesr��vars�argss     r�format�.TestTranforms.test_format_misc.<locals>.format(s���',�S��[�'9�:�'9�!�a��!��u�I�'9�D�:��4�y�A�~��T�!�W�}�t�+���T�Y�Y�t�_�,�s�2���3�'��T�F�+�T�#�d�2C�-D�E�E��;s�B�stringzx = %s!rKz	x = 1234!zx = %d!zx = %x!zx = 4d2!zx = %f!zx = 1234.000000!g�MbH�@zx = 1234.0000625!zx = 1234.000063!z
x = %s%% %%%%zx = 1234% %%z%% %sz
x = %% %s!zx = %s, y = %dr��"zx = 12, y = 34)r�)r,ros  r�test_format_misc�TestTranforms.test_format_misc's��	F�	
�����)�8�4�����	�4�0�+�>�����	�4�0�+�>�����	�4�0�*�=�����	�4�0�2D�E�����	�<�8�:M�N�����	�<�8�:L�M�����	�<�8�+�F�������6��G�����	�7�3�\�B����� 0�"�b�9�;K�Lrc���UR[S5 [S5 SSS5 UR[S5 [SSSS.5 SSS5 UR[S5 [S	S
S05 SSS5 UR[S5 [SS
S05 SSS5 UR[S5 [S
S
S05 SSS5 UR[S5 [SS
S05 SSS5 UR[S5 [SS
S05 SSS5 UR[S5 [SS
S05 SSS5 UR[S5 [SS
S05 SSS5 UR[S5 [SS
S05 SSS5 UR[S5 [SS/S.5 SSS5 UR[S5 [SSSS/S.5 SSS5 g!,(df   GN=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN|=f!,(df   GNa=f!,(df   GNF=f!,(df   GN+=f!,(df   GN=f!,(df   N�=f!,(df   g=f)Nz&not enough arguments for format stringz	'%s' % ()z4not all arguments converted during string formattingz
'%s' % (x, y)rrMr3zincomplete formatz'%s%' % (x,)rOrKz'%s%%%' % (x,)z
'%s%z' % (x,)zunsupported format characterz'%s%z' % (x, 5)z"a real number is required, not strz'%d' % (x,)rIz!an integer is required, not floatz'%x' % (x,)g
ףp=J�@zan integer is required, not strzmust be real number, not strz'%f' % (x,)z'%s, %s' % (x, *y)r�)�assertRaisesRegex�	TypeErrorrY�
ValueError�r,s r�test_format_errors� TestTranforms.test_format_errors<sL��
�
#�
#�I�<�>����>��
#�
#�I�J�L�����"2�3�L��
#�
#�J�0C�
D���#�t��-�E�
�
#�
#�J�0C�
D��!�C��;�/�E�
�
#�
#�I�<�>���3��+�.�>��
#�
#�J�0N�
O��"�S�$�K�0�P�
�
#�
#�I�/S�
T����f�
�.�U�
�
#�
#�I�/R�
S����g��/�T�
�
#�
#�I�/P�
Q����f�
�.�R�
�
#�
#�I�/M�
N����f�
�.�O�
�
#�
#�I�<�>��%�Q�R�'8�9�>��
#�
#�I�J�L��%�Q�a��V�'<�=�L�L�5>�>��L�L��E�
D��
D�
D��>�>��P�
O��
T�
T��
S�
S��
Q�
Q��
N�
N��>�>��L�L�s��H �H2�/I�I�	I(�6I:�#J�J�=J0�*K�K�K%� 
H/�2
I�
I�
I%�(
I7�:
J	�
J�
J-�0
J?�
K�
K"�%
K3c�.�SnURUS5 g)Nc��XpXpgrir6rs  rr	�5TestTranforms.test_static_swaps_unpack_two.<locals>.f\s���q��qrr�rVr�s  r�test_static_swaps_unpack_two�*TestTranforms.test_static_swaps_unpack_two[s��	�	
� � ��F�+rc�.�SnURUS5 g)Nc�4�XUp!nXUpnXUp nXUpnXUpnXUpngrir6r�s   rr	�7TestTranforms.test_static_swaps_unpack_three.<locals>.fbs:���A�!�A��A�!�A��A�!�A��A�!�A��A�!�A��A�!�A�!rrrr�s  r�test_static_swaps_unpack_three�,TestTranforms.test_static_swaps_unpack_threeas��	�	
� � ��F�+rc���[SSS5HIupnSUSUSUS3nURU5 [U5nURUS5 SSS5 MK g!,(df   M]=f)	N�_a�_b�_cz{'a': z, 'b': z, 'c': �}r)rrarrV)r,r�r�rrr-s      r�test_static_swaps_match_mapping�-TestTranforms.test_static_swaps_match_mappingksh���t�T�4�0�G�A�!���s�'�!��G�A�3�b�9�G����g�&�7��@���(�(��v�6�'�&�1�&�&�s�A�
A+	c��/SQn[SSS5HXup#nUHLnURX#U5nURU5 [U5nUR	US5 SSS5 MN MZ g!,(df   Md=f)N)z
C({}, {}, {})zC({}, {}, c={})zC({}, b={}, c={})zC(a={}, b={}, c={})r�r�r�r)rrorarrV)r,�formsr�r�r�formrr-s        r�test_static_swaps_match_class�+TestTranforms.test_static_swaps_match_classrss��
���t�T�4�0�G�A�!����+�+�a�A�.���\�\�'�*�;�G�D�D��,�,�T�6�:�+�*��1�+�*�s�A/�/
A>c�:�1Skn/SQn[SSS5Hpup4nUHdnURX4U5nURU5 [U5nXq;aUR	US5 OURUS5 SSS5 Mf Mr g!,(df   M|=f)N>�*_, b, c�a, *_, c�a, b, *_)z
{}, {}, {}z{}, {}, *{}z{}, *{}, {}z*{}, {}, {}r�r�r�r)rrorarrWrV)	r,�swapsr�r�r�rr�rr-s	         r� test_static_swaps_match_sequence�.TestTranforms.test_static_swaps_match_sequence�s���4��K���t�T�4�0�G�A�!����+�+�a�A�.���\�\�'�*�;�G�D�D��'��-�-�d�F�;��0�0��v�>�+�*��1�+�*�s�6B�
Br6N)+�__name__�
__module__�__qualname__�__firstlineno__r1rIrXrerwr|r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrr$r)r.rEr�requires_resourcerdrsrzr�r�r�r�r��__static_attributes__r6rrr!r!'s���D�"	9� �
(��6
�(�'"�R(��>+ �Z �.!(�F���	�L�B#��$�(�,'�#���
�J�
���u�%�B�&�B�.M�*>�>,�,�7�;�
?rr!c�,�\rSrSrSrSrSrSrSrg)�TestBugletsi�c�v�SnUR[5 U"5 SSS5 g!,(df   g=f)Nc��SS1upX4$r"r6r3s  rr	�%TestBuglets.test_bug_11510.<locals>.f�s���q�6�D�A��4�Kr)�assertRaisesrxr�s  r�test_bug_11510�TestBuglets.test_bug_11510�s(��	��
�
�z�
*�
�C�+�
*�
*�s�*�
8c�n�[S5Hn[e g![=(d [a M'f=f)Nr�)r��	Exception)r,r�s  r�test_bpo_42057�TestBuglets.test_bpo_42057�s3���r��A�
������)�	�
��
�s��4�4c��[SSS5 g)Nzwhile True or spam: pass�<test>r�rbrys r�test_bpo_45773_pop_jump_if_true�+TestBuglets.test_bpo_45773_pop_jump_if_true�s���*�H�f�=rc��[SSS5 g)Nzwhile True or not spam: passr�rr�rys r� test_bpo_45773_pop_jump_if_false�,TestBuglets.test_bpo_45773_pop_jump_if_false�s���.��&�Arr6N)	r�r�r�r�r�r�r�r�r�r6rrr�r��s����>�Brr�c�t�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrg)�TestMarkingVariablesAsUnKnowni�c��UR[R[R"55 [R"S5 gri)�
addCleanup�sys�settrace�gettracerys r�setUp�#TestMarkingVariablesAsUnKnown.setUp�s&��������c�l�l�n�5����T�rc�.�SnURUS5 g)Nc��SnX-ngr"r6r3s  rr	�DTestMarkingVariablesAsUnKnown.test_load_fast_known_simple.<locals>.f�s���A���Ar�LOAD_FAST_LOAD_FAST�rWr�s  r�test_load_fast_known_simple�9TestMarkingVariablesAsUnKnown.test_load_fast_known_simple�s��	�	
���a�!6�7rc�R�SnURUS5 URUS5 g)Nc�<�[5(aSn[W5 gr"��	conditionr�rNs rr	�FTestMarkingVariablesAsUnKnown.test_load_fast_unknown_simple.<locals>.f�s���{�{����!�Hr�LOAD_FAST_CHECK�	LOAD_FAST�rWrVr�s  r�test_load_fast_unknown_simple�;TestMarkingVariablesAsUnKnown.test_load_fast_unknown_simple��*��	�	
���a�!2�3�� � ��K�0rc�R�SnURUS5 URUS5 g)Nc� �SnA[W5 gr"�r�rNs rr	�KTestMarkingVariablesAsUnKnown.test_load_fast_unknown_because_del.<locals>.f�s���A���!�Hrr�r�r�r�s  r�"test_load_fast_unknown_because_del�@TestMarkingVariablesAsUnKnown.test_load_fast_unknown_because_del�r�rc��SnURUS5 URUS5 SnURUS5 URUS5 SnURUS5 URUS5 SnURUS5 URUS5 SSjnURUS5 URUS5 g)	Nc��[U5 grir�rNs r�f1�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f1��	���!�Hrr�r�c��[U5 grir�rNs r�f2�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f2�r�rc��[U5 grir�)rns r�f3�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f3�s	���$�Krc��[U5 grir�)�kwargss r�f4�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f4�s	���&�Mrc��[U5 grir�rNs r�f5�PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter.<locals>.f5�r�r)rr�)r,r�r�r�r�r�s      r�&test_load_fast_known_because_parameter�DTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter�s���	����b�+�.�� � ��%6�7�	����b�+�.�� � ��%6�7�	����b�+�.�� � ��%6�7�	����b�+�.�� � ��%6�7�	����b�+�.�� � ��%6�7rc�R�SnURUS5 URUS5 g)Nc�R�[5(aSn[W5 [U5 gr"r�rNs rr	�TTestMarkingVariablesAsUnKnown.test_load_fast_known_because_already_loaded.<locals>.f�s���{�{����!�H��!�Hrr�r�r�r�s  r�+test_load_fast_known_because_already_loaded�ITestMarkingVariablesAsUnKnown.test_load_fast_known_because_already_loaded�s*��	�
	
���a�!2�3����a��-rc�R�SnURUS5 URUS5 g)Nc�B�[5(aSnOSn[U5 g)NrrMr�rNs rr	�OTestMarkingVariablesAsUnKnown.test_load_fast_known_multiple_branches.<locals>.f�s���{�{������!�Hrr�r�r�r�s  r�&test_load_fast_known_multiple_branches�DTestMarkingVariablesAsUnKnown.test_load_fast_known_multiple_branches�s*��	�	
���a��-�� � ��$5�6rc�.�SnURUS5 g)Nc�4�SS-nU$![a W$f=f�Nrr)�ZeroDivisionError)�ress rr	�KTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error.<locals>.f�s0��
��!�e���J��%�
���J�
�s�	�
�r�r�r�s  r�"test_load_fast_unknown_after_error�@TestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error�s��	�	
���a�!2�3rc�R�SnURUS5 URUS5 g)Nc
�Z�SS- S=n=n=n=n=n=pVg! [WWWWWWW5 N#=fr�r�)r�r�rr�r
r	rls       rr	�MTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error_2.<locals>.f�sN��
+��A��)*�)�A�)��)�A�)��)�A�)��A��
+��a��A�q�!�Q��*�s��*r�r�r�r�s  r�$test_load_fast_unknown_after_error_2�BTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error_2�s*��	*�	
���a�!2�3�� � ��K�0rc�^�SnURUSS5 URUSS5 URUSS5 SH1nURUSS	US
35 URUSS	US
35 M3 SH1nURUSS	US
35 URUSS	US
35 M3 SH1nURUSS	US
35 URUSS	US
35 M3 URUSS
5 URUSS
5 URUSS5 URUSS5 g)Nc��S=n=n=n=n=n=n=n=n=p�S=n
=n=n=n
=n=n=n=n=nnS=n=n=n=n=n=n=n=n=nnS=n=n=n =n!=n"=n#=n$=n%=n&n'S=n(=n)=n*=n+=n,=n-=n.=n/=n0n1S=n2=n3=n4=n5=n6=n7=n8=n9=n:n;S=n<=n==n>=n?=n@=nA=nB=nC=nDnES=nF=nG=nH=nI=nJ=nK=nL=nM=nNnOAHAI[WI5 [UFUGWHUI5 [XU>U?5 [W@WAWNWO5 Mr"r�)P�a00�a01�a02�a03�a04�a05�a06�a07�a08�a09�a10�a11�a12�a13�a14�a15�a16�a17�a18�a19�a20�a21�a22�a23�a24�a25�a26�a27�a28�a29�a30�a31�a32�a33�a34�a35�a36�a37�a38�a39�a40�a41�a42�a43�a44�a45�a46�a47�a48�a49�a50�a51�a52�a53�a54�a55�a56�a57�a58�a59�a60�a61�a62�a63�a64�a65�a66�a67�a68�a69�a70�a71�a72�a73�a74�a75�a76�a77�a78�a79sP                                                                                rr	�GTestMarkingVariablesAsUnKnown.test_load_fast_too_many_locals.<locals>.fs���HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#�HI�I�C�I�#�I��I�c�I�C�I�#�I��I�c�I�C�#��S��#�J��#�s�C��%���c��S�)��c�3��S�)�rr�)rrr�rr)�>�?r�r��02)�@�A�N�O)�F�GrJrKr�)r,r	r�s   r�test_load_fast_too_many_locals�<TestMarkingVariablesAsUnKnown.test_load_fast_too_many_localssO��	*� 	
���a�!6��G�� � ��$5�u�=�� � ��$5�u�=��A��!�!�!�[�A�a��V�*�=��$�$�Q�(9�Q�q��f�:�F�� �A��!�!�!�%6�!�A�b�6�
�C��$�$�Q��q��2��Z�@� ��A��!�!�!�[�A�a��V�*�=��$�$�Q�(9�Q�q��f�:�F��
	
���a�!2�E�:�� � ��K��7����a�!2�E�:����a��e�4rc��^�[R"S5n0n[X5 USnURUS5 UR	US5 UR
RnU4Sjm[R"T5 U"5nURU5 URUS5 UR	US5 URUR
RU5 g)Na            def f():
                x = y = 2
                if not x:
                    return 4
                for i in range(55):
                    x + 6
                L = 7
                L = 8
                L = 9
                L = 10
        r	r�r�c�p>�US:Xa.URS:XaSUl[R"S5 gT$�Nr^r�r���f_linenor�r���frame�event�arg�traces   �rrg�MTestMarkingVariablesAsUnKnown.test_setting_lineno_no_undefined.<locals>.traceE�0������5�>�>�Q�#6�!"������T�"���Lr)r
rrrWrVr
rr�r��assertIsNoner�)r,r-�nsr	r�resultrgs      @r� test_setting_lineno_no_undefined�>TestMarkingVariablesAsUnKnown.test_setting_lineno_no_undefined2s������� �
�����T���s�G�����a��-�� � ��$5�6��*�*�$�$��	�	���U��������&�!����a��-�� � ��$5�6�������+�+�W�5rc�,^�[R"S5n0n[X5 USnURUS5 UR	US5 UR
RnU4SjmSnUR[U5 [R"T5 U"5nSSS5 URWS5 URUS5 UR	US5 URUR
RU5 g!,(df   Nk=f)Na            def f():
                x = y = 2
                if not x:
                    return 4
                for i in range(55):
                    x + 6
                del x
                L = 8
                L = 9
                L = 10
        r	r�r�c�p>�US:Xa.URS:XaSUl[R"S5 gT$r`rarcs   �rrg�NTestMarkingVariablesAsUnKnown.test_setting_lineno_one_undefined.<locals>.traceerirz!assigning None to 1 unbound localr��r
rrrWrVr
r�assertWarnsRegex�RuntimeWarningr�r�r��r,r-rkr	rr
rlrgs       @r�!test_setting_lineno_one_undefined�?TestMarkingVariablesAsUnKnown.test_setting_lineno_one_undefinedRs������� �
�����T���s�G�����a��-�� � ��$5�6��*�*�$�$��	�
1��
�
"�
"�>�1�
5��L�L����S�F�6�	
�����#����a��-�� � ��$5�6�������+�+�W�5�
6�
5���D�
Dc�,^�[R"S5n0n[X5 USnURUS5 UR	US5 UR
RnU4SjmSnUR[U5 [R"T5 U"5nSSS5 URWS5 URUS5 UR	US5 URUR
RU5 g!,(df   Nk=f)Na            def f():
                x = y = 2
                if not x:
                    return 4
                for i in range(55):
                    x + 6
                del x, y
                L = 8
                L = 9
                L = 10
        r	r�r�c�p>�US:Xa.URS:XaSUl[R"S5 gT$r`rarcs   �rrg�NTestMarkingVariablesAsUnKnown.test_setting_lineno_two_undefined.<locals>.trace�rirz"assigning None to 2 unbound localsr�rrrus       @r�!test_setting_lineno_two_undefined�?TestMarkingVariablesAsUnKnown.test_setting_lineno_two_undefinedts������� �
�����T���s�G�����a��-�� � ��$5�6��*�*�$�$��	�
2��
�
"�
"�>�1�
5��L�L����S�F�6�	
�����#����a��-�� � ��$5�6�������+�+�W�5�
6�
5�rxc��[R"S5n0n[X5 USnURUS5 UR	US5 U$)Nz�            def f():
                x = 2
                L = 3
                L = 4
                L = 5
                if not L:
                    x + 7
                    y = 2
        r	r�r�)r
rrrWrV)r,r-rkr	s    r�make_function_with_no_checks�:TestMarkingVariablesAsUnKnown.make_function_with_no_checks�sR�����	 �	
�����T���s�G�����a��-�� � ��$5�6��rc�^�UR5nU4Sjm[R"T5 U"5 URUS5 UR	US5 g)Nc�>�US:Xa6URS:Xa&SURS'[R"S5 gT$)Nr^r��*rO�rb�f_localsr�r�rcs   �rrg�TTestMarkingVariablesAsUnKnown.test_modifying_local_does_not_add_check.<locals>.trace��7������5�>�>�Q�#6�&(����s�#����T�"���Lrr�r��rr�r�rWrV�r,r	rgs  @r�'test_modifying_local_does_not_add_check�ETestMarkingVariablesAsUnKnown.test_modifying_local_does_not_add_check��J����-�-�/��	�	���U��	�����a��-�� � ��$5�6rc�^�UR5nU4Sjm[R"T5 U"5 URUS5 UR	US5 g)Nc�>�US:Xa6URS:Xa&SURS'[R"S5 gT$)Nr^r�r�r4r�rcs   �rrg�WTestMarkingVariablesAsUnKnown.test_initializing_local_does_not_add_check.<locals>.trace�r�rr�r�r�r�s  @r�*test_initializing_local_does_not_add_check�HTestMarkingVariablesAsUnKnown.test_initializing_local_does_not_add_check�r�rr6N)r�r�r�r�r�r�r�r�r�r�r�r�r�r\rmrvr|rr�r�r�r6rrr�r��sV���8�1�1�8�4.�7�	4�1�(5�T6�@ 6�D 6�D�$7�7rr�c�X�\rSrSrSSjrSrSrSrSrSr	S	r
S
rSrSr
S
rg)�DirectCfgOptimizerTestsi�Nc��URU5 URU5 UcUnURU5nURXcU5upxURU5R5nUR	Xr5 URX�5 gri)�check_instructions�seq_from_insts�
get_optimizedr�assertInstructionsMatchr�)	r,�insts�expected_insts�consts�expected_consts�nlocals�seq�	opt_insts�
opt_constss	         r�cfg_optimization_test�-DirectCfgOptimizerTests.cfg_optimization_test�s���	
����&�����/��"�$�O��!�!�%�(�� $� 2� 2�3�� H��	��,�,�^�<�M�M�O���$�$�Y�?�����5rc��SSUR5=nS4SSUSS/nSSUR5=nS4SUS	/nURUU/S
Q/SQS9 g)
N��	LOAD_NAMEr�rTr��rsrMr��r'Nr��rsr���r'Nr�)rurr�)rurMr��rrrMr�r�)rrMr��r�r���Labelr��r,�lblr�r�s    r�1test_conditional_jump_forward_non_const_condition�IDirectCfgOptimizerTests.test_conditional_jump_forward_non_const_condition�sz�� �
��
�
��!4��b�9�!�&��!�&�
��
!�
��
�
��!4��b�9�#��#�
��	
�"�"�5�#1�*9�3<�	#�	>rc�n�SSUR5=nS4SUSS/n/SQnURUU/SQS	S
/S9 g)N�rsr�r�rTr�r�r�r�)��NOPNr�)r�Nr�)rurr�r�rr�r�r�r�s    r�-test_conditional_jump_forward_const_condition�EDirectCfgOptimizerTests.test_conditional_jump_forward_const_condition�sZ��

"�
��
�
��!4��b�9�!��!�&�

��
��
	
�"�"�5�#1�*9�45�q�6�	#�	;rc	��UR5=nSSUS4SS/nUR5=nSSUS4SS/nURX$[[S55S9 g)Nr�rTr�)r�rMr�r�r��r��r�r�r(r�)r,�lbl1r�r��expecteds     r�2test_conditional_jump_backward_non_const_condition�JDirectCfgOptimizerTests.test_conditional_jump_backward_non_const_conditionsq���J�J�L� �D� �
��r�*� �&�
���:�:�<��C� �
��b�)� �&�
��	
�"�"�5�4��a��>�"�Jrc	��UR5=nSSUS4SS/nUR5=nSSUS4/nURX$[[S55S	9 g)
Nr�rTr�r�r�r��JUMPr�r�r�)r,r�r�r�r�s     r�.test_conditional_jump_backward_const_condition�FDirectCfgOptimizerTests.test_conditional_jump_backward_const_conditionsm���J�J�L� �D�!�
��r�*�!�&�
���:�:�<��C��
�S�"��
��
	
�"�"�5��e�A�h��"�Prc	��SUR5=nS4SSUS/nSUR5=nS4SUS/nURX#[[S55S9 g)N�
SETUP_FINALLYr�)�	POP_BLOCKN���)rurr�)rurMr�r�r�r�)r,�handlerr�r�s    r�test_except_handler_label�1DirectCfgOptimizerTests.test_except_handler_label!sn��
�����5�g�r�:�#�#��#�
�������5�g�r�:�#��#�	
��	
�"�"�5��e�A�h��"�Prc	�Z�/SQn/SQnURX[[S55SS9 g)N)	�rsrr�rsrrM�rsrMr�)rr�r���
STORE_FASTrr�r���POP_TOPNr��rsrr��r'Nr�)r�r��r�Nr�r�r�)rurr�r�r�r��r�r(r��r,r�r�s   r�test_no_unsafe_static_swap�2DirectCfgOptimizerTests.test_no_unsafe_static_swap1s0��

��
��	
�"�"�5��e�A�h��YZ�"�[rc	�Z�/SQn/SQnURX[[S55SS9 g)N)r�r�r�r�r�r�r�r�)r�r�r�r�r��rurr�r�rr�r�r�s   r�*test_dead_store_elimination_in_same_lineno�BDirectCfgOptimizerTests.test_dead_store_elimination_in_same_linenoHs0��	
��
��	
�"�"�5��e�A�h��YZ�"�[rc	�Z�/SQn/SQnURX[[S55SS9 g)N)r�r�r�r��r�rr��r�rr�r�r�)r�r�r�r�r�r�r�r�rr�r�r�s   r�2test_no_dead_store_elimination_in_different_lineno�JDirectCfgOptimizerTests.test_no_dead_store_elimination_in_different_lineno]s0��	
��
��	
�"�"�5��e�A�h��YZ�"�[rc
� ^�U4SjnSH�nSH�nSupETRXE4X#4S9 U"XEX#5nSX#4;aSOSnSSUS	S
4/nTRXh[[S
55S9 SSS5 SHoupETRXE4X#4S9 U"XEX#5nUS
:waUOUn	U	S
:XaSn	SX#4;aSOSnSUS	U	4/nTRXh[[S
55S9 SSS5 Mq M� M� g!,(df   N�=f!,(df   M�=f)Nc�\>�TR5=nSUTR5=oP4SUX4U4/$)N�r�rr�)r�r�)r�)�lno1�lno2�op1�op2�lbl2r�r,s      �r�	get_insts�LDirectCfgOptimizerTests.test_unconditional_jump_threading.<locals>.get_instsus?���#�z�z�|�+�t�+��T�Z�Z�\�1�T�8�+���4�(�
�
r)r��JUMP_NO_INTERRUPT)r�r�)�lno�opsr�r�r�)r�Nr�rr�r�))r�r�)r�r�)r�r�)r�r�r�r�)rar�r(r�)
r,r�r�r�r�r�r��opr�r�s
`         r�!test_unconditional_jump_threading�9DirectCfgOptimizerTests.test_unconditional_jump_threadingss>���	�1�C�4��#�
���\�\���S�J�\�G�%�d�#�;�E�#)�c�Z�#7��=P�B�,�(��Q��
�&�N�
�.�.�u�T�RW�XY�RZ�^�.�\�H�#G�J�D����T�L��
��K� )�$�c� ?��&*�b�j�d�d���"�9�"$�C�'-�#��';�V�AT��0���C�L�*���2�2�5�QU�V[�\]�V^�Q_�2�`�L�K�#G�5�1�H�G��L�K�s�?C-�AC>	�-
C;�>
D

r6)NNr)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r6rrr�r��sD��<@�&'�
6�>�,;�,K�"Q� Q� \�.\�*\�,(arr��__main__)r�	itertoolsrr�opcoder�r
�unittest�testr�test.support.bytecode_helperrrrrr!�TestCaser�r�r�r��mainr6rr�<module>r�s���
�+�
�
����R�#�
�f	?�$�f	?�RB�(�#�#�B�4V7�$4�V7�rXa�5�Xa�t�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit