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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_compile.cpython-315.pyc
R
>lqj��c��]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]PH,s]PH0s]PH4s
]PH8s]PH>s]QHDGs]QHLGsGsGsGs]QH`Gs]QHhGsQQ\O82sQQ\O82s\2Q	Q
\O822sQQ\O82s Q
Q\O82s!QQ\O82s"\OF\OH\PIQ2QQ\O8222s%\&Q6Xc\ON2P!P!\cPsCK
h9h)�)�support)�
script_helper�requires_debug_ranges�run_code�requires_specialization)�instructions_with_positions)�FakePathc��`�\sQs]snQsQsQsQsQsQs	Qs
QsQ	sQ
s
Qs\O \O$Q2\O&2Q
22sQsQsQsQsQsQsQs\O:Q6XcQsQsQs Qs!Qs"Qs#Qs$Qs%Qs&Qs'Q s(Q!s)Q"s*Q#s+Q$s,Q%s-Q&s.Q's/Q(s0Q)s1Q*s2Q+s3Q,s4\OjQ-2s6Q.s7Q/s8Q0s9Q1s:\Oj\O \O$Q2\Ov\OxQ26XcQ3LQ42\O&2Q52222s=Q6s>Q7s?\OjQ82s@\OjQ92sA\OjQ:2sB\OjQ;2sC\OjQ<2sD\OjQ=2sE\OjQ>2sF\OjQ?2sG\OjQ@2sH\OjQA2sIQBsJQCsK\O�QD2QE2sM\OjQF2sNQGsOQHsPQIsQQJsRQKsSQLsTQMsUQNsVQOsWQPsXQQsYQwQRksZQSs[QTs\QUs]QVs^QWs_QXs`QYsa\OjQZ2sbQ[scQ\sdQ]seQ^sfQ_sgQ`shQasiQbsjQcskQdslQesmQfsnQgsoQhspQisqQjsrQkssQlst\O�Qm\vO�Qn2\vO�Qo2\vO�Qp2,2Qq2sx\O�Qm\vO�Qr2\vO�Qs2\vO�Qt2,2Qu2syQvszUs{P!)x�
TestSpecificsc�"�[UQQ2P!)�<single>�single��compile��self�sources&&�&C:\Python315\\Lib\test\test_compile.py�compile_single�TestSpecifics.compile_singles����
�H�-�c�J�UO[UOU2P!�N)�assertRaises�SyntaxErrorrrs&&r�assertInvalidSingle�!TestSpecifics.assertInvalidSingle s�����+�t�':�':�F�Crc�<�[QQQ2[QQQ2P!)�hi�<test>�execzhi
r�rs&r�test_no_ending_newline�$TestSpecifics.test_no_ending_newline#s����h��'����&�)rc�"�[PQQ2P!)�rr rr!s&r�
test_empty�TestSpecifics.test_empty's����H�f�%rc�p�[QQQ2[QQQ2[QQQ2[QQQ2P!)z
rr �
zhi
stuff
def f():
    pass
z(this_is
really_old_mac
def f():
    passrr!s&r�test_other_newlines�!TestSpecifics.test_other_newlines*s4�����&�)���h��'��5�x��H��=�x��Prc��UO[[QQQ2]PHoUOo[UQQ2UO
P	U2[UQU2P!)z
__debug__ = 1�?r
�	__debug__�sure)rrr�builtinsr.�setattr�assertEqual)rr0�prevs&  r�test_debug_assignment�#TestSpecifics.test_debug_assignment0sN�����+�w���h�O���!�!����+�v�.�����D�)���+�t�,rc�L�UO[[Q2UO[[Q2UO[[Q2UO[[Q2UO[[Q2UO[[Q2P!)zlambda a,a:0zlambda a,a=1:0zlambda a=1,a=1:0zdef f(a, a): passzdef f(a = 0, a = 1): pass�def f(a): global a; a = 1)rr�evalr r!s&r�test_argument_handling�$TestSpecifics.test_argument_handling9ss�����+�t�^�<����+�t�-=�>����+�t�-?�@����+�t�-@�A����+�t�-H�I����+�t�-H�Irc�B�UO[[QQQ2P!)z1+*3�filenamer �rrrr!s&r�test_syntax_error�TestSpecifics.test_syntax_errorBs�����+�w��
�F�Krc�B�UO[[QQQ2P!)z	f(None=1)�<string>r r=r!s&r�test_none_keyword_arg�#TestSpecifics.test_none_keyword_argEs�����+�w��Z��Prc�>�UO[[Q2P!)r7�rrr r!s&r�test_duplicate_global_local�)TestSpecifics.test_duplicate_global_localHs�����+�t�-H�Irc��QQ2oU2o[2o[QV22UOUOQ2[QV22UO	Q2[QV22UOUOQ[
Q212[QV22UOUOQU12[Q	V22UOUOQU12UO[[QU2Q
Q2oU2oUO[[QV22QQ
[2oU2o[QV62UOUQ*]2P![
cCKh9h)c�8`�\sQs]MsnQsQsQsQsQsUs	P!)�BTestSpecifics.test_exec_with_general_mapping_for_locals.<locals>.Mz9Test mapping interface versus possible calls from eval().c�"�UQ6Xc]![g��a)�KeyError�r�keys&&r�__getitem__�NTestSpecifics.test_exec_with_general_mapping_for_locals.<locals>.M.__getitem__Os���#�:���rc��V1UmP!r��results�rrP�values&&&r�__setitem__�NTestSpecifics.test_exec_with_general_mapping_for_locals.<locals>.M.__setitem__Ss�� #�|��rc��[Q2!)�xyz)�listr!s&r�keys�GTestSpecifics.test_exec_with_general_mapping_for_locals.<locals>.M.keysUs���E�{�"rrT)
�__name__�
__module__�__qualname__�__firstlineno__�__doc__rQrXr]�__static_attributes__�__classdictcell__��
__classdict__s@r�MrJMs����G�
�
,�
#�
#rrhzz = a�zzz = bzDid not detect a KeyErrorz	z = dir()r[z
z = globals()zz = locals()c��\sQs]jsQsQsP!)�BTestSpecifics.test_exec_with_general_mapping_for_locals.<locals>.AzNon-mapping�)r_r`rarbrcrdrlrr�Arkjs���rrmc�(`�\sQs]qsnQsQsUsP!)�BTestSpecifics.test_exec_with_general_mapping_for_locals.<locals>.Dc�@�UQ6Xc]![OV2!rL)�dictrQrOs&&rrQ�NTestSpecifics.test_exec_with_general_mapping_for_locals.<locals>.D.__getitem__rs���#�:���'�'��2�2rrl)r_r`rarbrQrdrerfs@r�Droqs����
3�
3rrs)ri�)
�globalsr r2rU�fail�	NameErrorr\r�	TypeErrorrq)rrh�m�grmrs�ds&      r�)test_exec_with_general_mapping_for_locals�7TestSpecifics.test_exec_with_general_mapping_for_localsKsE��		#�		#�
�C���I���W�a��������I�.�	3���!��
�I�I�1�2��[�!��������S�$�u�+�$6�7��_�a�#�������S�!�H�-��^�Q�"�������S�!�H�-����)�T�7�A�6�	�	�
�C�����)�T�7�A�9�	3��	3�

�C���W�a������3���$��5�	��	�s�E0�0	E?�:E?�>E?zexhausts limited stack on WASIc���]doQQU**o-o[OQU1]
**2o[VC2UOUQ*]2]2P!)�dz	x = x or z-xa�
            def f(x):
                %s
                %s
                %s
                %s
                %s
                %s
                %s
                %s
                %s
                %s
                # the expressions above have no effect, x == argument
                while x:
                    x -= 1
                    # EXTENDED_ARG/JUMP_ABSOLUTE here
                return x
            �f)�textwrap�dedentr r2)r�repeat�longexprrz�codes&    r�test_extended_arg�TestSpecifics.test_extended_argzs`��������.������� �"�;�r�>�# #�$��$	
�T�
�����3����A�&rc�>�UO[[Q2P!)zdef f(a=1, b): passrEr!s&r�test_argument_order�!TestSpecifics.test_argument_order�s�����+�t�-B�Crc���UO[[Q2UO[[Q2UO[[Q2UO[[Q2P!)�2ez2.0e+z1e-z3-4e/21)rrr8r!s&r�test_float_literals�!TestSpecifics.test_float_literals�sJ�����+�t�T�2����+�t�W�5����+�t�U�3����+�t�Y�7rc�N�[OQ2o[UQQ2P!)zN
            if 1:
                if 2:
                    pass
            rAr �r�r�r�r�ss& r�test_indentation�TestSpecifics.test_indentation�s#���O�O��
��
	��:�v�&rc��POQ,Q*Q,*2o[UQQ2oUOUO]2UO	2TTt,tFDvq4UMJ
	oooUOU]Q,2P!ttooh)r%�
��spam�fnr �)�joinrr2�co_firstlineno�co_lines)r�s256�co�_�line�liness&     r�test_leading_newlines�#TestSpecifics.test_leading_newlines�sx���w�w��v��|�v�h�.�/��
�T�4��
(������*�*�A�.�(*���
�6�
�*�!�Q��
��6������C��)��7s�Bc�b�Q#FDoUO[[U2J 	UO[Q2]�2UO[Q2Q2UO[Q2Q2UO[Q2Q2UO[Q2Q2UO[Q2]2UO[Q	2]2UO[Q
2Q2UO[Q2Q
2UO[Q2]2UO[Q2Q2UO[Q2]2UO[Q2]2UO[Q2Q2UO[Q2Q2UO[Q2Q2UO[Q2Q2UO[Q2Q2UO[Q2Q2UO[Q2Q2UO[Q2]*2UO[Q2Q$2UO[Q 2Q!2UO[Q"2Q%2P!)&�077787�0xffz0777.�	z0777.0�8000000000000000000000000000000000000000000000000000777e0�0777e1iZ�0e0z	0000e-012z09.5g#@�0777jyH�@�000�00j�z00.0�0e3z090000000000000.g聰v�Bz&090000000000000.0000000000000000000000�090000000000000e0z090000000000000e-0�090000000000000jy聰v�Bz000000000000008.g @z000000000000009.g"@�0b101010z-0b000000000010�0o777�z
-0o0000010)r��0xjz0x.�0e�090000000000000�080000000000000�000000000000009�000000000000008�0b42�0BADCAFE�0o123456789z0b1.1z0o4.2�0b101j�0o153j�0b100e1�0o777e1�0777�000777�000000000000007���i����)rrr8r2)r�args& r�!test_literals_with_leading_zeroes�/TestSpecifics.test_literals_with_leading_zeroes�s��1�C�

���k�4��5�1�	
����f��s�+�����g���,�����h���-�����X�Y�[^�_�����h���.�����e��a�(�����k�*�A�.�����f��s�+�����g���-�����e��a�(�����e��b�)�����f��q�)�����e��a�(�����0�1�?�C�����F�G��Y�����1�2�O�D�����2�3�_�E�����0�1�?�C�����0�1�2�6�����0�1�2�6�����j�)�2�.�����/�0�"�5�����g���,�����l�+�R�0rc	��QoQQU*Q0o[OU29^tt^2[UQQ2PPP2[OU]*
29^tt^2UO[29^tt^2o[UQQ2PPP2WO
oUO
UO]2UOQ[U22UOQ[U22PPP2P!)%fhK�9h)%fhK�9h)%fhP!9h)	i�za = 1
b = 2
c = �3z
d = 4z<long_int_pass>r z<long_int_fail>zExceeds the limit z Consider hexadecimal )
r�adjust_int_max_str_digitsrrr�	exceptionr2�lineno�assertIn�str)r�nr�err_ctx�excs&    r�test_int_literals_too_long�(TestSpecifics.test_int_literals_too_long�s�����%�c�!�e�W�G�4��
�
.�
.�q�
1�
1��F�-�v�6�2�
�
.�
.�q��s�
3�
3��"�"�;�/�/�7��� 1�6�:�0��#�#�C����S�Z�Z��+��M�M�.��C��9��M�M�2�C��H�=�
4�
3�2�
1��0�/��4�
3�
3�sB�D�*D,�D	�A&D,�D	�D	�D)
�"D)
�$D,�,D=	�5D=	c�n�[OQ6XcAQoUO[U2Q2UO[QU*2Q	2Lf[OQ6XcAQoUO[U2Q2UO[QU*2Q
2LUO	Q2UO[Q[O']*
*2[2UO[Q[O']*
*2[2P!)i����
0xffffffffl���-������0xffffffffffffffffl����z)How many bits *does* this machine have???z%sl������l��������)�sys�maxsizer2r8rv�assertIsInstance�int)r�all_one_bitss& r�test_unary_minus�TestSpecifics.test_unary_minus�s����;�;�*�$�'�L����T�,�/��<����T�#��"4�5�{�C�
�[�[�/�
/�/�L����T�,�/�1E�F����T�#��"4�5�7L�M��I�I�A�B�	
���d�4�C�K�K�<�!�+;�#<�=�s�C����d�4�C�K�K�<�!�+;�#<�=�s�Crr�c��QoQoQoQoQoQoQoQoUOOOFDo	U	eJ	UOU	[2J!	P!)lllr�l����l����l����l��������)�test_32_63_bit_values�__code__�	co_constsr�r�)
rrM�b�cr{�er�rz�h�variables
&         rr��#TestSpecifics.test_32_63_bit_values�s]���A��A� �A� �A�$�A�$�A�$�A�$�A� �6�6�?�?�I�I���'��)�)�(�C�8�Jrc�l�Q9%fQvqUOU]2UOUP2P!)�)r����)r�r��r2)r�i�js&  r�test_sequence_unpacking_error�+TestSpecifics.test_sequence_unpacking_errors1��� � ��������A������B�rc	��,QNoSFDFoUQ*
oUO[[UQQ2UO[[UQQ2JH	P!)�None = 0r��tmpr
r )r�z	None += 0z__builtins__.None = 0zdef None(): passzclass None: passz(a, None) = 0, 0zfor None in range(10): passzdef f(None): passzimport Nonezimport x as Nonezfrom x import Nonezfrom x import y as Noner=)r�stmts�stmts&  r�test_none_assignment�"TestSpecifics.test_none_assignment	sJ��

���D��D�L�D����k�7�D�%��J����k�7�D�%��H�rc	��,QNo,QNoSFDo[UQQ2J	SFD oUO[[UQQ2J"	P!)�
import sysr�r )r�zimport os, syszimport os as barzimport os.path as barz0from __future__ import nested_scopes, generatorsz2from __future__ import (nested_scopes,
generators)z3from __future__ import (nested_scopes,
generators,)z%from sys import stdin, stderr, stdoutz'from sys import (stdin, stderr,
stdout)z(from sys import (stdin, stderr,
stdout,)z(from sys import (stdin
, stderr, stdout)z)from sys import (stdin
, stderr, stdout,)z7from sys import stdin as si, stdout as so, stderr as sez9from sys import (stdin as si, stdout as so, stderr as se)z:from sys import (stdin as si, stdout as so, stderr as se,))zimport (os, sys)zimport (os), (sys)zimport ((os), (sys))zimport (syszimport sys)zimport (os,)zimport os As barzimport os.path a barzfrom sys import stdin As stdoutzfrom sys import stdin a stdoutzfrom (sys) import stdinz%from __future__ import (nested_scopesz%from __future__ import nested_scopes)z0from __future__ import nested_scopes,
generatorszfrom sys import (stdinzfrom sys import stdin)z%from sys import stdin, stdout,
stderrzfrom sys import stdin sizfrom sys import stdin,zfrom sys import (*)z(from sys import (stdin,, stdout, stderr)z from sys import (stdin, stdout),)rrr)r�succeedrvr�s&   r�test_import�TestSpecifics.test_importsH����"��0�D��D�%��(���D����k�7�D�%��H�rc��QoU2vq#UO[UO2[UO22P!)c��QQkoQQkoV1!)r�c��U!rrl��xs&r�<lambda>�ITestSpecifics.test_for_distinct_code_objects.<locals>.f.<locals>.<lambda>O���Qrc��U!rrlrs&rrrPrr�r���rl)�f1�f2s  rr��7TestSpecifics.test_for_distinct_code_objects.<locals>.fNs���B��B��6�Mr)�assertNotEqual�idr�)rr�rr
s&   r�test_for_distinct_code_objects�,TestSpecifics.test_for_distinct_code_objectsLs2��	��������B�r�{�{�O�R����_�=rc�D�QoUOUO2P!)c��Q!)�foorlrlrrr�/TestSpecifics.test_lambda_doc.<locals>.<lambda>Vs��Er)�assertIsNonerc�r�ls& r�test_lambda_doc�TestSpecifics.test_lambda_docUs�������!�)�)�$rc�Z�QoUOUOOQ2P!)c��Q!�zthis is the only constrlrlrrr�2TestSpecifics.test_lambda_consts.<locals>.<lambda>Zs��,rr�r2r�r�rs& r�test_lambda_consts� TestSpecifics.test_lambda_constsYs"��,��������-�-�/J�Krc�0�QoUO[[UQQ2Qo[UQQ2UO[	U2Q2QoUO[	U2Q2QoUO[	U2Q2QoUO[	U2Q2Q	oUO[	U2Q2Q
oUO[	U2Q2QoUO[	U2Q
2QoUO[	U2Q2P!)s## -*- coding: badencoding -*-
pass
r�r u%# -*- coding: badencoding -*-
"¤"
u¤u"¤"
s"¤"
�¤s# -*- coding: latin1 -*-
"¤"
s# -*- coding: utf-8 -*-
"¤"
s"# -*- coding: iso8859-15 -*-
"¤"
u€u*"""\
# -*- coding: iso8859-15 -*-
¤"""
u!# -*- coding: iso8859-15 -*-
¤s("""\
# -*- coding: iso8859-15 -*-
¤"""
u# -*- coding: iso8859-15 -*-
¤)rrrr2r8�rr�s& r�
test_encoding�TestSpecifics.test_encoding]s���7�����+�w��e�V�D�<����e�V�$�����d��Z�0�������d��Z�0�������d��V�,�8������d��Z�0�7������d��V�,�<������d��\�2�C������d��%M�N�D������d��%I�Jrc���QQ[2oU2o]U]$UOU]*]2U]99*]*
tt$UOU]*]2U]UO]U2]UQ$UOUQ*]2UQ99*]*
tt$UOUQ*]2UQUOQU2]UQ$UOUQ*]2UQ99*]*
tt$UOUQ*]2UQUO[]]2U2]UQ$UOUQ*]2UQ99*]*
tt$UOUQ*]2UQUO[]]2[]]21U2]UQ$UOUQ*]2UQ99*]*
tt$UOUQ*]2UQUO[]]]2U2]UQ$UOUQ*]2UQ99*]*
tt$UOUQ*]2UQUO[]]]2[]]]21U2]UQ$UOUQ*]2UQ99*]*
tt$UOUQ*]2UQUO[U2]UQ$UOUQ*]2UQ99*]*
tt$UOUQ*]2UQUO[[1U2P!)	c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�.TestSpecifics.test_subscripts.<locals>.str_map�uc��-UmP!r��datar!s&r�__init__�7TestSpecifics.test_subscripts.<locals>.str_map.__init__vs	����	rc�<�UO[U2*!r�r.r�rOs&&rrQ�:TestSpecifics.test_subscripts.<locals>.str_map.__getitem__xs���y�y��S��*�*rc�6�V O[U2$P!rr2rVs&&&rrX�:TestSpecifics.test_subscripts.<locals>.str_map.__setitem__zs��&+�	�	�#�c�(�#rc�4�UO[U2P!rr2rOs&&r�__delitem__�:TestSpecifics.test_subscripts.<locals>.str_map.__delitem__|s���I�I�c�#�h�'rc�4�[U2UO7!r)r�r.rOs&&r�__contains__�;TestSpecifics.test_subscripts.<locals>.str_map.__contains__~s���3�x�4�9�9�,�,rr-)r_r`rarbr/rQrXr7r:rdrerfs@r�str_mapr*us#����
�
+�
,�
(�
-�
-rr<�r�rN�r�r�.)r�r�)r=r=)r>r>)..)�objectr2�assertNotIn�slice�Ellipsis)rr<r{s&  r�test_subscripts�TestSpecifics.test_subscriptsrs���
	-�f�
	-�
�I����!������1��q�!�	�!���	������1��q�!�
�a�D�����A����$������4��!�$�	�$��1�������4��!�$�
�d�G������#���#������3���#�	�#��!�������3���#�
�c�F�����q�!��a�(���(������8��a�(�	�(��q�������8��a�(�
�h�K����%��1�+�u�Q��{�3�Q�7���%������5��1�%�	�%��A�
������5��1�%�
�e�H�����q�!�Q���+���,������<��!�,�	�,��1�������<��!�,�
�l�O����%��1�a�.�%��1�a�.�9�1�=���#������3���#�	�#��!�������3���#�
�c�F�����1�%���(������8��a�(�	�(��q�������8��a�(�
�h�K����(�H�-�q�1rc�t�QoUQOQ[Q222*o[UQQ2P!)zdef f(%s): pass�, c3�B�SF �DoQV1*w�	J	P!3h)za%d:%drl��.0r�s& r�	<genexpr>�6TestSpecifics.test_annotation_limit.<locals>.<genexpr>�s������A�x�1�%�'�'��s��,r-r �r��rangerr�s& r�test_annotation_limit�#TestSpecifics.test_annotation_limit�s0����	�T�Y�Y�<��s��<�
<�<����3��rc��QQ2oUOQUOOO2UOQUOOO2UOQUOOO2UOQUOOO2P!)c�(`�\sQsQsnQsQsUsP!)�&TestSpecifics.test_mangling.<locals>.A�c� �]o]o]PHo]PHoP!r	)�_A__mangled_mod�__package__.module)�_A__mangled�__not_mangled__rW�__package__s    rr��(TestSpecifics.test_mangling.<locals>.A.f�s���	�"#��$�)rrl�r_r`rarbr�rdrerfs@rrmrT�s����
*�
*rrmrYrZrWr[)r�r�r��co_varnames)rrms& r�
test_mangling�TestSpecifics.test_mangling�s���	*�	*�	
�
�
�m�Q�S�S�\�\�%=�%=�>��
�
�'������)A�)A�B��
�
�'������)A�)A�B��
�
�m�Q�S�S�\�\�%=�%=�>rc�"�[QQQ2P!)zif (5 if 5 else T): 0�<eval>r rr!s&r�3test_condition_expression_with_dead_blocks_compiles�ATestSpecifics.test_condition_expression_with_dead_blocks_compiles�s���'��6�:rc��,QNoSFDYoUOUQ59^tt^2UO[29^tt^2[UQQ2PPP2PPP2J[	P!)%fhK9h)%fhJ�9h)�if 9<9<9and 9or 9:9��exprrbr )rfzif 9<9<9and 9or 9or 9:9zif 9<9<9and 9or 9or 9or 9:9zif 9<9<9and 9or 9or 9or 9or 9:9)�subTest�assertWarns�
SyntaxWarningr�r�exprsrhs&  r�=test_condition_expression_with_redundant_comparisons_compiles�KTestSpecifics.test_condition_expression_with_redundant_comparisons_compiles�sc��
���D����4��(�(��%�%�m�4�4��D�(�F�3�5�)�(��4�4��)�(�(�s/�A;	�A(
�A;	�(A8�1A8�3A;	�;B
�B
c�J�[[OQ2QQ2P!)z�
                if None:
                    with CM:
                        x = 1
                else:
                    x = 2
               rbr �rr�r�r!s&r�+test_dead_code_with_except_handler_compiles�9TestSpecifics.test_dead_code_with_except_handler_compiles�s!������!���v�
	'rc�J�[[OQ2QQ2P!)z�
            name_1, name_2, name_3 = 1, 2, 3
            while name_3 <= name_2 > name_1:
                try:
                    raise
                except:
                    pass
                finally:
                    pass
            rbr rqr!s&r�8test_try_except_in_while_with_chained_condition_compiles�FTestSpecifics.test_try_except_in_while_with_chained_condition_compiles�s!������	!�	��F�		$rc��[O[O[O[O[O
]Q5[O
]Q5Q5[O[OQ[O2Q5[OQ[O2Q5,]Q5,Q5Q5,,Q5oUO[Q	29^tt^2[[OU2Q
Q2PPP2P!)%fhP!9h)r��rW)�targetrWr�r�ctx�y)ry�iter�ifs�is_async)�elt�
generators��body�type_ignoreszNamedExpr target must be a Name�<file>r )�ast�Module�Expr�ListComp�	NamedExpr�Constant�
comprehension�Name�Store�Load�assertRaisesRegexrxr�fix_missing_locations�rrys& r�test_compile_invalid_namedexpr�,TestSpecifics.test_compile_invalid_namedexpr�s����J�J�����,�,��M�M�#&�<�<�a�#8�"%�,�,�Q�"7��
 �-�-�'*�x�x�3�C�I�I�K�'H�%(�X�X��#�(�(�*�%E�$&�)*�	�$�
���$�'
��,�
#�
#�I�/P�
Q�
Q��C�-�-�a�0�(�F�C�R�
Q�
Q�
Q�s�"D;�;E	�E	c��[OQ2o[OU2o[OU2FDo[UQ2%fJU;U;U;U;	J!	[[OU2QQ2P!)z�
            try:
                pass
            except:
                pass
            else:
                match name_2:
                    case b'':
                        pass
            finally:
                something
            r�r�r �r�r�r��parse�walk�hasattrr��
end_lineno�
col_offset�end_col_offsetrr��rr��tree�nodes&   r�>test_compile_redundant_jumps_and_nops_after_moving_cold_blocks�LTestSpecifics.test_compile_redundant_jumps_and_nops_after_moving_cold_blocksss��
�_�_�����y�y�����H�H�T�N�D��t�H�%�%��[��_��_��(�#�	��)�)�$�/��6�Brc��[OQ2o[OU2o[OU2FDo[UQ2%fJU;U;U;U;	J!	[[OU2QQ2P!)z�
            if name_2:
                pass
            else:
                try:
                    pass
                except:
                    pass
            ~name_5
            r�r�r r�r�s&   r�4test_compile_redundant_jump_after_convert_pseudo_ops�BTestSpecifics.test_compile_redundant_jump_after_convert_pseudo_ops*ss��
�_�_�	�	���y�y�����H�H�T�N�D��t�H�%�%��[��_��_��(�#�	��)�)�$�/��6�Brc�f�[oUO2OQ2%cUPPo[UQQ59^tt^2oUO	2oPPP2QQ,QQ,QQ,Q	Q
,UW,,oSFD�vq[UQU*Q2o[UQ
U*Q[O2oUO[U2[O6H2[UQU*Q2oUOVh2UOUOQU*2J�	[QQQ[O2oUO[[
UQQ2UO[[
[O[O Q[O"2Q5Q5QQ2[O2o[O$[O&2Q5,UmUO[[
UQQ2P!)%fhCK�9h)�pyczutf-8)�encodingz<assign>zx = 5z	<ifblock>zif True:
    pass
z
<forblock>z!for n in [1, 2, 3]:
    print(n)
z	<deffunc>zdef foo():
    pass
foo()
z%s1r z%s2z%s3zprint(1)rAz<ast>r8rrz)�test)�op)�__file__�lower�endswith�open�readr�_ast�
PyCF_ONLY_AST�
assertTrue�typer�r2�co_filenamerrx�Ifr�r��BoolOp�Orr�)	r�fnamer��	fcontents�sample_coder��co1r��co2s	&        r�test_compile_ast�TestSpecifics.test_compile_astCs������;�;�=�!�!�%�(�(��#�2�J�E�
�%�'�
*�
*�a�����I�+���!�
�4�5�
�D�E�
�=�>�
�I��
��'�K�E��$���
�v�6�C��$���
�v�t�7I�7I�J�C��O�O�D��I����4�5��#�u�u�}�f�5�C����S�&����S�_�_�e�e�m�<�'��j�*�f�d�6H�6H�I�����)�W�c�7�F�C�	
���)�W�d�g�g�4�9�9��QU�QZ�QZ�Q\�;]�.^�`g�io�p��k�k�m���K�K�4�7�7�9�-�.������)�W�c�7�F�C�;+�
*�
*�s�H�H0	�(H0	c�B�[O[O[O[OQ[O
2Q5[OQQ5[O2Q5,[OQ[O
2Q5Q5,,Q5oUO[Q29^tt^2[[OU2Q	Q
2PPP2P!)%fhP!9h)rrzrrx)rWrBr{�Callable)�name�type_paramsrWr�zTypeAlias with non-Name namer�r )r�r��	TypeAlias�	Subscriptr�r�r�r�r�rxrr�r�s& r�test_compile_invalid_typealias�,TestSpecifics.test_compile_invalid_typealiasfs����J�J��
�
����!�h�h�%�S�X�X�Z�@�!�l�l��5��I�I�K��
!#��(�(�j�c�h�h�j�A��
��

���
#�
#�I�/M�
N�
N��C�-�-�a�0�(�F�C�O�
N�
N�
N�s�!"D
�
D	�D	c�z`�]nU1QkoU2U2U2U2-oUOU]]]]-2P!)rc�:�R]*
nR!r	rl�r�s�rr��3TestSpecifics.test_dict_evaluation_order.<locals>.f}s���
��F�A��Hrr�)rr�r{r�s&  @r�test_dict_evaluation_order�(TestSpecifics.test_dict_evaluation_orderzs=���
��	�
�S�!�#�q�s�A�C� ������Q��1�a�L�)rc	��QFD,o[QUQ2oUOUOQ2J.	[Q2[	Q21FD6oUO[29^tt^2[QUQ2PPP2J8	UO[[Q[Q2Q2P!)%fhJs9h)�file.py�file.py�passr )r�r�)rr2r��	bytearray�
memoryviewrrxr\)rr<r�s&  r�test_compile_filename�#TestSpecifics.test_compile_filename�s���-�H��6�8�V�4�D����T�-�-�y�9�.�"�*�-�z�*�/E�E�H��"�"�9�-�-����&�1�.�-�F�	
���)�W�f�d�:�6F��O�.�-�-�s�,B.	�.B?
�7B?
c	���QoUO[[QUQQ5UO[[QUQ]Q*Q5QQ2oUO[[QUQU2Q	5P!)
zthis is a mortal stringri�)�moder ����optimizec�(`�\sQsQsnQsQsUsP!)�=TestSpecifics.test_compile_filename_refleak.<locals>.EvilBool�c��[gr)�
ValueErrorr!s&r�__bool__�FTestSpecifics.test_compile_filename_refleak.<locals>.EvilBool.__bool__�s��j� 0rrl�r_r`rarbr�rdrerfs@r�EvilBoolr��s����0�0rr�)�dont_inherit)rrxr�
OverflowErrorr�)r�
mortal_strr�s&  r�test_compile_filename_refleak�+TestSpecifics.test_compile_filename_refleak�sr��/�
����)�W�c�:�D��I����-��#�z� �1��9�	�	6�	1�	1����*�g�s�J� �x�z�	�	;rc���Qo[UQQ2oUOFDKo[U[O2%fJ%UOUOUO2JM	P!)zdef f(): pass
def g(): pass�myfiler )rr��
isinstance�types�CodeType�assertIsr�)rr�r��objs&   r�test_same_filename_used�%TestSpecifics.test_same_filename_used�sJ��.���A�x��(���;�;�C��#�u�~�~�.�.��
�
�c�o�o�q�}�}�=�rc��UOQ2UOQ2UOQ2UOQ2UOQ2UOQ2UOQ2UOQ2UOQ2UOQ	2UOQ
2UOQ2UOQ2UOQ
2UOQ2P!)z1 + 2z
1 + 2z1 + 2
z1 + 2

z1 + 2		
z1 + 2		
        z1 + 2 # one plus twoz1; 2zimport sys; syszdef f():
   passzwhile False:
   passz
if x:
   f(x)zif x:
   f(x)
else:
   g(x)zclass T:
   passzc = '''
a=1
b=2
c=3
''')rr!s&r�test_single_statement�#TestSpecifics.test_single_statement�s������G�$����I�&����I�&����K�(����M�*����1�2����2�3����F�#����-�.����/�0����3�4����,�-����<�=����/�0����9�:rc�:�UOQ2UOQ2UOQ2UOQ2UOQ2UOQ2UOQ2UOQ2UOQ2P!)	z1
2z
def f(): passza = 13
b = 187zdel x
del yzf()
g()zf()
# blah
blah()zf()
xy # blah
blah()zx = 5 # comment
x = 6
zc = '''
d=1
'''
a = 1

b = 2
)rr!s&r�test_bad_single_statement�'TestSpecifics.test_bad_single_statement�s���� � ��(�� � ��1�� � �!2�3�� � ��0�� � ��,�� � �!6�7�� � �!9�:�� � �!;�<�� � �!F�Grc	��Qo[O29^tt^2o[OO	UQ2o[UQ29^tt^2oUO
U2PPP2[OU2]*oPPP2UOQWO2P!)%fhKS9h)%fhKA9h)s0000
00000000000

�
�bad.py�wb�%source code cannot contain null bytes��tempfile�TemporaryDirectory�os�pathr�r��writer�run_python_until_endr��err�r�src�tmpdr��fp�ress&     r�"test_particularly_evil_undecodable�0TestSpecifics.test_particularly_evil_undecodable�s���4��
�
(�
(�
*�
*�d������d�H�-�B��b�$���2�����
� ��4�4�R�8��;�C�	+�
	
�
�
�>����H� ���+�
*��/�5C�B3	�(%C�3C
�<C
�>C�C	�C	c	��Qo[O29^tt^2o[OO	UQ2o[UQ29^tt^2oUO
U2PPP2[OU2]*oPPP2UOQWO2P!)%fhKS9h)%fhKA9h)s#
#�
r�r�r�r�rs&     r�$test_yet_more_evil_still_undecodable�2TestSpecifics.test_yet_more_evil_still_undecodable�s�����
�
(�
(�
*�
*�d������d�H�-�B��b�$���2�����
� ��4�4�R�8��;�C�	+�
	
�
�
�>����H� ���+�
*�r	�android順i �c�```�]doS[OQ6XcQLQ*nUnQ
UUU1QkkoUQQ2UQQ2UQQ2UQQ	2P!)rr
r�i�c�:�VR**o[UQU2VR**oQU8QU8QRQ0oRO[UQ59^tt^2[UQU2PPP2P!)%fhP!9h)rzCompiling (z + z * �))�msg)rr�RecursionError)	�prefix�repeatedr��	expect_ok�broken�details�crash_depthr�
success_depths	&&&   ���r�check_limit�@TestSpecifics.test_compiler_recursion_limit.<locals>.check_limit�su����M�!9�9�I��I�x��.���4�4�F�#�F�:�S���C��}�A�N�G��"�"�>�w�"�?�?����$�/�@�?�?�?�s�A3�3B	�<B	rMz()z.bz[0]z*a)r
)r��platform)r�limitrrrsf  @@r�test_compiler_recursion_limit�+TestSpecifics.test_compiler_recursion_limit�sZ������s�|�|�y�'@�t�d�K���
�	0�	0�	�C����C����C����C��rc�6�UO[Q29^tt^2[QQQ2PPP2UO[Q29^tt^2[[Q2QQ2PPP2[[Q2]PQQ2oUO	[U2]2[[Q2]PQQ2oUO	[U2]2[[Q2]PQQ2oUO	[U2]2UO	[[Q2]P2]2[
2o[[Q2]PU2UO	UQ*]2P!)%fhCKN9h)%fhCK%9h)	zcannot contain nullz123�<dummy>r8s123s1234s$23$sax = 123r)r�rrr�r2r8rqr )rr��	namespaces&  r�test_null_terminated�"TestSpecifics.test_null_terminated�sJ���
#�
#�K�1F�
G�
G��I�y�&�1�H�
�
#�
#�K�1F�
G�
G��J�z�*�I�v�>�H��z�*�-�a��3�Y��G������d��R�(��z�'�*�1�R�0�)�V�D������d��R�(��z�'�*�1�R�0�)�V�D������d��R�(�	
����j��1�!�B�7�8�"�=��F�	��Z��
$�Q�r�
*�I�6�����3���,�H�
G�
G��
G�
G�
G�s#�E3�F�3F	�<F	�F	�F	c���UOOFD o[U2[U26XfJP!	UOQU8QUOO802P!)zunable to find constant z in )r�r��reprrv)r�func�expected�consts&&& r�check_constant�TestSpecifics.check_constantsK���]�]�,�,�E��E�{�d�8�n�,��-�
�I�I�!�4�=�=�#:�#:�<�
=rc�`�U1QkoUP2UQ2UQ2UQ2QQq2ROUOOUOO2ROU[2RO[
U22[
[22QQq2QoROUOO]*UOO]*]*2RO[[UOO]*22UOO]*2Q	Q
q2ROUOOUOO2ROU[].22ROU]22P!)c�D:�-oQU8QU80o[V!2UQ*oUQ*oROUOOUOO2RO	V02RO[
U22[
U22P!�zf1, f2 = lambda: z
, lambda: rr
)r r�r�r�r+r2r')r*�nsr�rr
rs&    �r�check_same_constant�?TestSpecifics.test_merge_constants.<locals>.check_same_constantsu����B�8=�u�E�D���N��D��B��D��B��M�M�"�+�+�/�/����1F�1F�G�����*����T�"�$�Z��e��5r�sabc�abcc��Q!�.rlrlrrr�4TestSpecifics.test_merge_constants.<locals>.<lambda>$s��rc��Q!r6rlrlrrrr7$s��crc��Q!��
not a namerlrlrrrr7*s��rc��Q!)r;r:rlrlrrrr7*s��rc��UQ7!)r;>r:rlrs&rrr7+s
��q�-�-rc��UQ7!�r>rrlrs&rrr73���1��8rc��UQ7!r?rlrs&rrr73s��q�C�xr)r�r�r�r+rCr2r'�nextr}�	frozensetr�)rr1rr
�f3sf    r�test_merge_constants�"TestSpecifics.test_merge_constantssM���
	6�	�D�!��C� ��F�#��E�"��k�B��
�
�b�k�k�+�+�R�[�[�-B�-B�C����B��)�����b�d��T�(�^�4�&�'>�B�
-���
�
�b�k�k�+�+�A�.��k�k�+�+�A�.�q�1�	3��
�
�d�4���� 5� 5�a� 8�9�:��k�k�+�+�A�.�	0�
$�%7�B��
�
�b�k�k�+�+�R�[�[�-B�-B�C����B�	�1�#��/�����1��rc��QoQoUOUOOUOO2P!)c�0�UOO!r�r|rirs&rr�5TestSpecifics.test_merge_code_attrs.<locals>.<lambda>=���q�s�s�u�urc�0�UOO!r)r�r�rLs&rrrJ>rKr)r�r��co_linetable)rrr
s&  r�test_merge_code_attrs�#TestSpecifics.test_merge_code_attrs:s0����
���
�
�b�k�k�.�.����0H�0H�Irc���QoUOe)UOUOOQ2P!UOUOOUOQ12P!)c�
�Q!)�	docstring�usedrlrlrrr��2TestSpecifics.test_remove_unused_consts.<locals>.fDs���rrS�TrS�rcr2r�r��rr�s& r�test_remove_unused_consts�'TestSpecifics.test_remove_unused_constsBsP��	 �
�9�9�����Q�Z�Z�1�1�>�B����Q�Z�Z�1�1�A�I�I�v�3F�Grc�Z�QoUOUOOQ2P!)c�
�Q!rUrlrlrrr��?TestSpecifics.test_remove_unused_consts_no_docstring.<locals>.fTs���rrUr rWs& r�&test_remove_unused_consts_no_docstring�4TestSpecifics.test_remove_unused_consts_no_docstringPs&��	 �	
������-�-�'�	)rc	��QoQ,oUOQ2UOQ2[U2FD-oUOQUQ02UOQUQ02J/	UOQ2POU2o-o[[	UQQ	2U2[V$2UQ
*o[
P,[U2Tt,tFDoQU0MJ
	to*2oUOUOOU2POUQ*2oUOVe22P!ttoh)
r�z	def f():
z	s = ''
z	for i in range(1):
z		if True: s += 'tz'
z		if False: s += 'fz
	return s
r�r r��t�r�NN)
�appendrOr�r8rr �tupler2r�r�)r�Nr�r�rzr�r)s&      r�'test_remove_unused_consts_extended_args�5TestSpecifics.test_remove_unused_consts_extended_args]s�����~�����L�!����,�-��q��A��K�K�.�q�c��5�6��K�K�/��s�#�6�7��	
���N�#��w�w�t�}�����W�T�9�f�
-�q�1��T�
�
�c�F���"��%��(� ;�(�Q�1�Q�C��(� ;�;�<��������-�-�x�8��7�7�8�B�<�(������1�3�'��!<s�D;
c���QoUOe)UOUOOQ2P!UOUOOUO12P!)c��]*!)rRrlrlrrr�0TestSpecifics.test_strip_unused_None.<locals>.f1xs��r��*rV)rrs& r�test_strip_unused_None�$TestSpecifics.test_strip_unused_NonetsM��	��:�:�����R�[�[�2�2�E�:����R�[�[�2�2�R�Z�Z�M�Brc��QoUOQ[[OU22P*O2P!)z9Regression test for issue35193 when run under clang msan.c��]!�r?)�RuntimeErrorrlrr�unused_code_at_end�cTestSpecifics.test_peephole_opt_unreachable_code_array_access_in_bounds.<locals>.unused_code_at_end�s��r�RETURN_VALUE)r2r\�dis�get_instructions�opname)rrrs& r�9test_peephole_opt_unreachable_code_array_access_in_bounds�GTestSpecifics.test_peephole_opt_unreachable_code_array_access_in_bounds�s:��	.�	
������%�%�&8�9�:�2�>�E�E�	Grc���[OQ2oQFCD;oUOUQ59^tt^2[UQQUQ5o-o[	V42U]6cHUOUQ*OQ2UOUQ*OQ2LDUOUQ*O2UOUQ*O2UOUQ*O2UOUQ	*O2UOUQ
*O2PPP2CJ>	P!)%fhCJT9h)a�
            def with_docstring():
                "docstring"

            def two_strings():
                "docstring"
                "not docstring"

            def with_fstring():
                f"not docstring"

            def with_const_expression():
                "also" + " not docstring"

            def multiple_const_strings():
                "not docstring " * 3
            )�optrr r��with_docstringrR�two_strings�with_fstring�with_const_expression�multiple_const_strings�rr�r)r�r�rirr r2rcr)rrr{r�r0s&    r�test_docstring�TestSpecifics.test_docstring�s���o�o����$�C����#��&�&��s�H�f�s�C�����T����7��$�$�R�(8�%9�%A�%A�;�O��$�$�R�
�%6�%>�%>��L��%�%�b�)9�&:�&B�&B�C��%�%�b��&7�&?�&?�@��!�!�"�^�"4�"<�"<�=��!�!�"�%<�"=�"E�"E�F��!�!�"�%=�">�"F�"F�G�'�&��&�&�&�s�#E	�C1E	�E/
�&E/
c
��QQ,oQFD�oSFD�oUOV#Q59^tt^2[[OU2QQUQ5o-o[	VE2U]6c%UOUQ*OQ2L"UOUQ*O2PPP2J�	J�	P!)%fhJ�9h)	z>def with_docstring():
                "docstring"
            z>class with_docstring:
                "docstring"
            )r{rrr
r�r|rRr�)rirr�r�r r2rcr)r�srcsr{rr�r0s&     r�test_docstring_interactive_mode�-TestSpecifics.test_docstring_interactive_mode�s���
�
�	
���C����\�\�c�\�3�3�"�8�?�?�3�#7��8�VY�Z�D��B���N��Q�w��(�(��,<�)=�)E�)E�{�S��)�)�"�-=�*>�*F�*F�G�4�3���3�3�3�s�7B<
�$AB<
�<C
�C
c
���[OQ2oQFD�oQFD�oUOV#Q59^tt^2[UQV2Q5o[O
2o[OU29^tt^2[OU2PPP2UOQUO22PPP2J�	J�	P!)%fhKB9h)%fhJ�9h)a
            def f():
                "docstring1"
                def h():
                    "docstring2"
                    return 42

                class C:
                    "docstring3"
                    pass

                return h
        )r{r�rr��NOP)r�rr�r)r r
)r�r�rir�io�StringIO�
contextlib�redirect_stdoutrurA�getvalue)rrr{r�r��outputs&     r�test_docstring_omitted�$TestSpecifics.test_docstring_omitted�s����o�o��
��!�C�*���\�\�c�\�5�5�"�3��$�E�D��[�[�]�F�#�3�3�F�;�;�����
�<��$�$�U�F�O�O�,=�>�6�5�+�!�
<�;��6�5�5�s0�AC$
�C�(C$
�C!�C!�C$
�$C5�-C5c��`�U1QkoUQQ	2UQ
Q2UQQ2UQQ
2QQq2ROUOUO2ROUQ2ROUQ2RO[	U22[	Q22RO[	U22[	Q22QQq2ROUOUO2ROU[].22ROU[Q.22RO
U]22RO
UQ22P!)c��:�-o[QU8QU80U2UQ*oUQ*oROUOUO2ROUOUO2RO	V02RO	VA2RO[
U22[
U22RO[
U22[
U22P!r/)r �assertIsNotr�rr+r2r')�const1�const2r0rr
rs&&   �r�check_different_constants�JTestSpecifics.test_dont_merge_constants.<locals>.check_different_constants�s�����B��f�f�E�r�J��D��B��D��B����R�[�[�"�+�+�6�������R�[�[�9�����+�����+����T�"�$�Z��f��6����T�"�$�Z��f��6rr3rM�ac��Q!)r�rlrlrrr�9TestSpecifics.test_dont_merge_constants.<locals>.<lambda>�s��rc��Q!)r����rlrlrrrr��s��rr�c��UQ7!r?rlrs&rrr�r@rc��UQ7!)r3>r3rlrs&rrr�s��q�E�zrg��r)r3rL)r�r�)r�r�r+r2r'rCr�)rr�rr
sf   r�test_dont_merge_constants�'TestSpecifics.test_dont_merge_constants�s���
	7�	"�$��-�!�$��/�!�#�t�,�!�&�'�2��
�B�������b�k�k�2����B��&����B��&�����b�d��T�%�[�1�����b�d��T�%�[�1�$�%9�B�������b�k�k�2����B�	�1�#��/����B�	�3�%� 0�1�����1�������3�� rc�4�[Q[Q2Q2P!)�42�test_compile_pathliker
)rrr!s&r�test_path_like_objects�$TestSpecifics.test_path_like_objects
s����h�6�7��Br�cpuc�b�[OQ6XcQLQo[QU*QQ2P!)r
ri@
zif a: b
r"r )r�rr)r�sizes& r�test_stack_overflow�!TestSpecifics.test_stack_overflows'���,�,�)�3�w�����d�"�I�v�6rc�<�QoQoQoQoVV4,oSFD�o[[OU22oUO[	U2]2UOQUP*O2UOPUP*O2J�	P!)c��P!r�rlrlrr�unused_block_if�PTestSpecifics.test_dead_blocks_do_not_generate_bytecode.<locals>.unused_block_ifs��rc��P!r�rlrlrr�unused_block_while�STestSpecifics.test_dead_blocks_do_not_generate_bytecode.<locals>.unused_block_while!s��rc�
�P!r	rlrlrr�unused_block_if_else�UTestSpecifics.test_dead_blocks_do_not_generate_bytecode.<locals>.unused_block_if_else%s���rc�
�P!r	rlrlrr�unused_block_while_else�XTestSpecifics.test_dead_blocks_do_not_generate_bytecode.<locals>.unused_block_while_else+s���rrt)r\rurv�assertLessEqual�lenr2rw�argval)rr�r�r�r��funcsr(�opcodess&       r�)test_dead_blocks_do_not_generate_bytecode�7TestSpecifics.test_dead_blocks_do_not_generate_bytecodes���	�	�	�	�!�%�@���D��3�/�/��5�6�G�� � ��W��q�1����^�W�R�[�-?�-?�@����T�7�2�;�#5�#5�6�	rc�.�QoQoV,oSFD�o[[OU22oUO][	U22UOQUP*O
2UOPU]*O2J�	P!)c��P!�Frlrlrr�break_in_while�;TestSpecifics.test_false_while_loop.<locals>.break_in_while;���rc��P!r�rlrlrr�continue_in_while�>TestSpecifics.test_false_while_loop.<locals>.continue_in_while?r�rrt)r\rurvr2r�rwr�)rr�r�r�r(r�s&     r�test_false_while_loop�#TestSpecifics.test_false_while_loop:s��	�	� �3���D��3�/�/��5�6�G����Q��G��-����^�W�R�[�-?�-?�@����T�7�1�:�#4�#4�5�	rc	��QoQoQoQoVV4,oSFD�oUOUQ59^tt^2[[OU22oUO	[U2]2UO
QUQ*O2UOQUP*O2PPP2J�	P!)%fhJ�9h)c��S!�Trlrs&r�and_true�;TestSpecifics.test_consts_in_conditionals.<locals>.and_trueM����rc��P
!r�rlrs&r�	and_false�<TestSpecifics.test_consts_in_conditionals.<locals>.and_falsePs���rc��P	!r�rlrs&r�or_true�:TestSpecifics.test_consts_in_conditionals.<locals>.or_trueSs���rc��S!r�rlrs&r�or_false�;TestSpecifics.test_consts_in_conditionals.<locals>.or_falseVr�r�r(�LOAD_rtr�)	rir\rurvr�r�r�rwr2)rr�r�r�r�r�r(r�s&       r�test_consts_in_conditionals�)TestSpecifics.test_consts_in_conditionalsLs���	�	�	�	��g�8���D����4��(�(��s�3�3�D�9�:���$�$�S��\�1�5��
�
�g�w�r�{�'9�'9�:�� � �����1C�1C�D�	)�(��(�(�(�s�BC	�C
�
C
c	���,QNoSFD�o-o[[OU2U2UQ*oUOUOQ59^tt^2[[OU22oSTt,tFDpfOMJ	ooUOQU2UOQU2UOQU2PPP2J�	P!ttoh)%fhJ�9h)�[            import os
            def foo():
                return os.uname()
            rr��LOAD_METHOD�	LOAD_ATTR�CALL)r�z}            import os as operating_system
            def foo():
                return operating_system.uname()
            zh            from os import path
            def foo(x):
                return path.join(x)
            zv            from os import path as os_path
            def foo(x):
                return os_path.join(x)
            )r r�r�rir_r\rurvrwrAr�)r�sourcesrr#r(r��opcode�instructionss&       r�test_imported_load_method�'TestSpecifics.test_imported_load_methodcs���
��,�F��I������(�)�4��U�#�D����4�=�=��1�1��s�3�3�D�9�:��<C�D�G�&�
�
�G��D�� � ���=��
�
�k�<�8��
�
�f�l�3�2�1�	�� E�2�1�1�s$�#C	�>C�8C	�C	�C0
�(C0
c
���QoQoQU1QU1QU1QU1QU1QU1QU1Q	U1Q
U1,	oSFD�vqE[UQQ2oUU2o[[OU22oST	t,tFDp�OMJ	o
o	ST	t,tFDp�O
MJ	oo	UO
](U2UO
]U2UOQ
U
2UO]-U2J�	P!tto	htto	h)c�L�UO]*O]*!r��r�rs&rr�7TestSpecifics.test_folding_type_param.<locals>.<lambda>�s��A�K�K��N�$<�$<�Q�$?rc�L�UO]*O]*!r�r�rs&rrr��s�����A��(@�(@��(Crzdef foo[T = 40 + 5](): passzdef foo[**P = 40 + 5](): passzdef foo[*Ts = 40 + 5](): passzclass foo[T = 40 + 5]: passzclass foo[**P = 40 + 5]: passzclass foo[*Ts = 40 + 5]: passztype foo[T = 40 + 5] = 1ztype foo[**P = 40 + 5] = 1ztype foo[*Ts = 40 + 5] = 1r"r �LOAD_SMALL_INT)rr\rurvrw�opargrAr�)r�get_code_fn_cls�get_code_type_alias�snippets�snippet�get_coder�r�r�r�r��argss&           r�test_folding_type_param�%TestSpecifics.test_folding_type_param�s��?��C��
*�O�<�
,�o�>�
,�o�>�
*�O�<�
,�o�>�
,�o�>�
'�)<�=�
)�+>�?�
)�+>�?�

��"*��G����F�3�A��A�;�D��3�/�/��5�6�G�8?�@��f�M�M��L�@�/6�7�w�V�L�L�w�D�7����R��&����Q��%��M�M�*�L�9��M�M�"�d�#�"*��A��7s�$C%�?C*c	��QoUOO]*oX!OO2TTt,tFDvq4UMJ
	too7fPgP!ttooh)c��[2P!r)�printrlrr�call�6TestSpecifics.test_lineno_procedure_call.<locals>.call�s���r)r�r�r�)rr��line1r�r�s&    r�test_lineno_procedure_call�(TestSpecifics.test_lineno_procedure_call�sN��	��
�
�,�,�q�0���m�m�6L�6L�6N�O�6N�l�q�!�T�6N�O�O�O�O��Os�Ac	�z`
`�P	n
U
1QkoU
1QkoU
1QkoU
1QkoVV4,o,QNoPnU1Qko[VVP	Q5FDgvq�UOUQ59^tt^2UU2UOROROO
*
U	2PPP2Ji	P!)%fhJ~9h)	Tc�,:�U2R%cP!P!rrl�r�TRUEs&�r�if1�<TestSpecifics.test_lineno_after_implicit_return.<locals>.if1�s���
�C���rc�,:�U2R%cP!P!rrlrs&�r�if2�<TestSpecifics.test_lineno_after_implicit_return.<locals>.if2�s���
�C���rc�,:�U2R%cP!P!rrlrs&�r�if3�<TestSpecifics.test_lineno_after_implicit_return.<locals>.if3�s���
�C���rc�,:�U2R%fP!P!rrlrs&�r�if4�<TestSpecifics.test_lineno_after_implicit_return.<locals>.if4�s���
�C���rc�6:�[O]2nP!r	)r��	_getframe)�frames�r�save_caller_frame�JTestSpecifics.test_lineno_after_implicit_return.<locals>.save_caller_frame�s����M�M�!�$�Er��strictr�)r?r?r?r)�ziprir2�f_lineno�f_coder�)rrrr
r
r��	lastlinesrr(�lastlinerrs&         @@r�!test_lineno_after_implicit_return�/TestSpecifics.test_lineno_after_implicit_return�s������	�	�	�	��C�%��!�	���	%�"�%�4�@�@�N�D����4��(�(��&�'�� � �������0K�0K�!K�X�V�)�(�A�(�(�(�s�AB)	�)B:
�2B:
c
��QoQoV1FD�oUOUQ59^tt^2V1IcUOePPP2J<UOoUO2vvqVoUO	U]2UO	U[UO22UO	VtO2PPP2J�	P!)%fhJ�9h)c��P!)z
doc stringrlrlrr�no_code1�9TestSpecifics.test_lineno_after_no_code.<locals>.no_code1���rc��P!rrlrlrr�no_code2�9TestSpecifics.test_lineno_after_no_code.<locals>.no_code2�r!rr�)rircr�r�r2r��co_coder�)rrr#r(r��start�endr�s&       r�test_lineno_after_no_code�'TestSpecifics.test_lineno_after_no_code�s���	�	��(�D����4��(�(��#��(8�(8�(@��)�(��}�}��'+�}�}��$�#�%�d�� � ���*�� � ��c�$�,�,�&7�8�� � ��':�':�;�)�(�)�(�(�(�s"�C		�
C		�C		�A3C		�	C
�C
c��Qo,oUO2FD7vqEUeJVR6wfJUOVQO*
2SoJ9	U!)rr�)r�rbr�)rr��	last_linerr�r�s&&    r�get_code_lines�TestSpecifics.get_code_lines�sL���	����-�-�/�J�A�q���D�$5��
�
�4�"5�"5�5�6� �	�*��
rc	�D�Qo,QNoQo,QNoQo,QNoQo,Q	NoVVW,o	V$Vh,o
[V�P	Q5FDTvq�UOUQ59^tt^2UOUO2o
UO	V�2PPP2JV	P!)%fhJk9h)
c�$�[O!r)�orMrlrr�	load_attr�6TestSpecifics.test_lineno_attribute.<locals>.load_attr�s�����
rc�.�[O]2!r�)r0ryrlrr�load_method�8TestSpecifics.test_lineno_attribute.<locals>.load_method�s�������
rc�&�[[mP!r)�vr0rMrlrr�
store_attr�7TestSpecifics.test_lineno_attribute.<locals>.store_attr�s��
��rc�J�[9O[*
tmP!r)r0rMr7rlrr�aug_store_attr�;TestSpecifics.test_lineno_attribute.<locals>.aug_store_attr�s�������	
�rrr�)rrr?r�)rrr?�r?r�)r�rr?)rrr?r>r�r?)rrir,r�r2)rr1�load_attr_linesr4�load_method_linesr8�store_attr_linesr;�aug_store_attr_linesr��
func_linesr(r��
code_liness&             r�test_lineno_attribute�#TestSpecifics.test_lineno_attribute�s���	�
)��	�1��	�*��	� 4���*�E��&�!�9�
��u��>�>�K�D����4��(�(�!�0�0����?�
�� � ��3�)�(�?�(�(�(�s�-B	�B
�B
c��Qo,QNoUOO]*oUOU2oUOV$2P!)c��Q[2!)c3�2�SF �Do]w�	J
	P!3hr	rl�rJrs& rrK�OTestSpecifics.test_line_number_genexp.<locals>.return_genexp.<locals>.<genexpr>s���	������s�)r|rlrr�
return_genexp�<TestSpecifics.test_line_number_genexp.<locals>.return_genexps����	�
r)r=rr=rrr=)r�r�r,r2)rrL�genexp_lines�genexp_coderDs&    r�test_line_number_genexp�%TestSpecifics.test_line_number_genexpsB��	�*��#�,�,�6�6�q�9���(�(��5�
�����2rc�n�Qo,QNoUOUO2oUOV#2P!)c��B �UPiw�K
o[JK
BP!3hr)r�)�aseqr�s& rr��LTestSpecifics.test_line_number_implicit_return_after_async_for.<locals>.tests����
�
�a��
�4�s�����
��)rr�rr�)r,r�r2)rr��expected_linesrDs&   r�0test_line_number_implicit_return_after_async_for�>TestSpecifics.test_line_number_implicit_return_after_async_fors0��	�&���(�(����7�
�����4rc��[U[2%cU1o[OU2FDEoU%fJ
UOU7fJ UOUOO2JG	P!r)r�r�ru�Bytecoderw�assertIsNotNone�	positionsr�)rr��opnames�insts&&& r�check_line_numbers� TestSpecifics.check_line_numbers&sS��
�g�s�#�#��k�G��L�L��&�D��w�4�;�;�'�1��$�$�T�^�^�%:�%:�;�'rc�F�QoUOUOQ2P!)c3�x �[FDo[%c]w�JJ	P![cJ+h9h3hr
)�it�C1�OSErrorrs rr��NTestSpecifics.test_line_number_synthetic_jump_multiple_predecessors.<locals>.f2s8����R����r����������s$�:�(�(�:�	7�7�:�7�:�
JUMP_BACKWARD�r_r�rWs& r�5test_line_number_synthetic_jump_multiple_predecessors�CTestSpecifics.test_line_number_synthetic_jump_multiple_predecessors1s��	�	
����
�
�O�<rc�F�QoUOUOQ2P!)c��[FDo]oJ	]*![c*[%c]oJ)J,[cJ;h9hh9hrp)rcre�C3�r�Xs  rr��UTestSpecifics.test_line_number_synthetic_jump_multiple_predecessors_nested.<locals>.f=sT���R����A����
����2� !�A���"�����	�s2��	A	�A	�5�5�	A	�A	�A	�A	�A	rgrhrWs& r�<test_line_number_synthetic_jump_multiple_predecessors_nested�JTestSpecifics.test_line_number_synthetic_jump_multiple_predecessors_nested<s��
	�	
����
�
�O�<rc�F�QoUOUOQ2P!)c�$�[FDo]oJ	]*![cp[%c[%c]oJ5J8J;[c=[%c[%c]oJeJiJm[cJ}h9hh9hh9hrp)rcrerm�C4rns  rr��ZTestSpecifics.test_line_number_synthetic_jump_multiple_predecessors_more_nested.<locals>.fLs����R��
!��A�����!�
!��2�!�r�$%�� "���#�!�!�!�r�#%�2�()�A�$&� "�� '�!� �!��!��!�sw��	B�B�A�A�A�	B	�B	�A6�A6�(A6�*B�.B�2B�6	B�B�B	�B�B�B	�BrgrhrWs& r�Atest_line_number_synthetic_jump_multiple_predecessors_more_nested�OTestSpecifics.test_line_number_synthetic_jump_multiple_predecessors_more_nestedKs��	�$	
����
�
�O�<rc�F�QoUOUOQ2P!)c�@�[FDo[%fJJ	P!r�rr|r�s rr��ITestSpecifics.test_lineno_of_backward_jump_conditional_in_loop.<locals>.fbs���Q���1��rrgrhrWs& r�0test_lineno_of_backward_jump_conditional_in_loop�>TestSpecifics.test_lineno_of_backward_jump_conditional_in_loop`s��	�
	
����
�
�O�<rc��QoQQOQ[U222*Q*oUO[[	U22U2P!)i���{�,c3�:�SF �DpQU0w�	J	P!3h)�:rlrJs& rrK�6TestSpecifics.test_big_dict_literal.<locals>.<genexpr>ps��6F���6F��C�q���*�6F����}i)r�rOr2r�r8)r�	dict_size�the_dicts&  r�test_big_dict_literal�#TestSpecifics.test_big_dict_literalisE���	�����!G�e�I�6F�!G�G�G�#�M������T�(�^�,�i�8rc�D�Qo]oQo[[OUP	Q52FDqvqEUOQ6XcUO	UO
]2J4UOU7fJGUO	UO
U]*U*2Js	P!)c�8�]oU]6�cU]*oLP!PoJr	rl)�vals r�
if_else_break�ITestSpecifics.test_redundant_jump_in_if_else_break.<locals>.if_else_breakws"���C����7��1�H�C���r�JUMP_FORWARD)�show_caches)�POP_JUMP_IF_FALSE�POP_JUMP_IF_TRUE�
JUMP_ABSOLUTEr�)�	enumeraterurZrwrr�)rr��
INSTR_SIZE�
HANDLED_JUMPSr��instrs&     r�$test_redundant_jump_in_if_else_break�2TestSpecifics.test_redundant_jump_in_if_else_breakss���	��
�
�
�%��L�L��D�9�
�K�D��|�|�~�-��#�#�E�I�I�q�1�����.��#�#�E�I�I��q��*�/D�E�

rc��Qo[OU2FDoUOUOQ2J!	P!)c�,�Xt96cU6fLJP!rrl�rMr�r�s&&&r�while_not_chained�@TestSpecifics.test_no_wraparound_jump.<locals>.while_not_chained�s���y�q�y��!r�EXTENDED_ARG)rurZrrw)rr�r�s&  r�test_no_wraparound_jump�%TestSpecifics.test_no_wraparound_jump�s1��	��\�\�"3�4�E�������n�=�5rc��`�U1QkoU1QkoQoUUQ]2UUQ]2UU[[PPP2,2UUQ]2QoUUQ]2UUQ]2UUQ]2UU[[PPP2,2Q	oUUQ]2UUQ]2UU[,2UUQ]2Q
oUUQ]2UUQ]2UUQ]2UUQ]2UUQ]2UU[,2QoUUQ]2UUQ]2UUQ]2UUQ]2UU[[]]2,2QoUUQ]2UUQ]2UUQ]2UUQ]2UU[,2UU[[]]]2[]]]21,2Q
o	UU	[-2Qo
UU
[[P]P2[PQP2[PP
P2[PPP2,2P!)c�:�]o[OU2FDoUOU6XfJU]*
oJ!	ROV22P!r�)rurZrwr2)r(r�r)�actualr�rs&&&  �r�check_op_count�BTestSpecifics.test_uses_slice_instructions.<locals>.check_op_count�s@����F����d�+���<�<�2�%��a�K�F�,�
���V�.rc	�:�[STt,tFDo[U2MJ	to2o[2oUOOo[O
U2FDdoUOQ6XfJ[VVO*U2%fJ:UO[VVO*22Jf	ROVB2P!ttoh)�
LOAD_CONST)�setr'r�r�rurZrwr�r��addr2)r(�typr)r�
all_consts�constsr�rs&&&    �r�check_consts�@TestSpecifics.test_uses_slice_instructions.<locals>.check_consts�s�����X�6�X��D��G�X�6�7�H���J��]�]�,�,�F����d�+���<�<�<�/�J�v�k�k�?R�TW�4X�4X��N�N�4��{�{�(;�#<�=�,�
���Z�2��
7s�Cc��[[[[[P*[P[*[Q**!�N�NNN)rrMr�rlrr�load�8TestSpecifics.test_uses_slice_instructions.<locals>.load�s,���Q�q�6�A�q�r�F�?�Q�r��U�*�Q�q�T�1�1r�BINARY_SLICE�BUILD_SLICE�	BINARY_OPc��[[[[#[[[P#[[P[#[[Q$P!r�)r|rrMr�rlrr�store�9TestSpecifics.test_uses_slice_instructions.<locals>.store�s,���A�a��F��A�q�r�F��A�b�q�E��A�a�Dr�STORE_SLICE�STORE_SUBSCRc�<�[[[[/*!r)rrMr�r�rlrr�
long_slice�>TestSpecifics.test_uses_slice_instructions.<locals>.long_slice�s���Q�q��U�8�Orc�L�[[[999[*
ttt#P!r)rrMr�r|rlrr�aug�7TestSpecifics.test_uses_slice_instructions.<locals>.aug�s��
�a��F�a�K�Frc�B�[Q99*[*
tt$P!)r=r{rlrr�	aug_const�=TestSpecifics.test_uses_slice_instructions.<locals>.aug_const�s��
�c�F�a�K�Frc�"�[[Q$P!)r>)r>:r=r>��r|rrlrr�compound_const_slice�HTestSpecifics.test_uses_slice_instructions.<locals>.compound_const_slice�s���A�l�Orc�"�[[,P#P!rr�rlrr�
mutable_slice�ATestSpecifics.test_uses_slice_instructions.<locals>.mutable_slice�s
���A�b�c�Frc�p�[[Q$[[Q$[[Q$[[Q$P!):NrN:NgN:NFNr�r�rlrr�different_but_equal�GTestSpecifics.test_uses_slice_instructions.<locals>.different_but_equal�s&���A�b�E��A�d�G��A�f�I��A�e�Hrr3)rBrc)rr�r�r�r�r�r�r�r�r�r�sf          r�test_uses_slice_instructions�*TestSpecifics.test_uses_slice_instructions�s/���	/�	3�	2�	�t�^�Q�/��t�]�A�.��T�5�5��t�T�#:�";�<��t�[�!�,�	�	�u�m�Q�/��u�m�Q�/��u�n�a�0��U�E�E�$��d�$;�#<�=�	�	�z�=�!�4��z�>�1�5��Z���+��z�;��2�	�	�s�N�A�.��s�M�1�-��s�M�1�-��s�K��+��s�N�A�.��S�%��$�	�	�y�.�!�4��y�-��3��y�+�q�1��y�.�!�4��Y���a���}�5�	 �	�+�^�Q�?��+�]�A�>��+�]�A�>��+�^�Q�?��)�5�"�5��)�5�E�!�Q��N�E�!�Q�PQ�N�3S�2T�U�	�	�]�E�2�.�	�	����d�A�t�$��d�C��&��d�E�4�(��d�D�$�'�	
�		
rc���QFD�vqQUQUQ0o]]]][U21,*oQU0QUQ0QUQ01FD�o[UQ	Q
2o[OU2Tt,tFD2oUOOU2%fJ&UOMJ4	ooUOU29^tt^2UOV�2PPP2J�	J�	P!ttoh)%fhJ�9h)�COMPARE_za z b z cz\
zif \
z: xzx if \
z else yrr ))r��<)r�z<=)r��>)r�z>=)�CONTAINS_OP�in)r�znot in)�IS_OP�is)r�zis not)	r�rrurvrw�
startswithr\rir2)	r�
opname_prefixr�rh�expected_positionsrr��instruction�actual_positionss	&        r�test_compare_positions�$TestSpecifics.test_compare_positions�s���	"
��M���t�3�r�d�"�%�D�!"�q�!�Q��D�	�&:�%;�!;���t�f�
����c�2�i��v�W�4M����v�x��8��(+�';�';�D�'A�$�'A��"�)�)�4�4�]�C�*�K�)�)�'A�!�$�
�\�\�&�)�)��$�$�%5�J�*�)��	"
�� $�
*�)�)�s�"%C�C�7C 
� C1�)C1c	��,QNoSFD3oUOUQ59^tt^2[UQQ2PPP2J5	P!)%fhJJ9h)�assert (False if 1 else True)rgrr )r�z=def f():
	if not (False if 1 else True): raise AssertionErrorz2def f():
	if not (False if 1 else True): return 12)rirrls&  r�)test_if_expression_expression_empty_block�7TestSpecifics.test_if_expression_expression_empty_blocksD��
��
�D����4��(�(���j�&�1�)�(��(�(�(�s�A	�A
�A
c�N�[OQ2o[UQQ2P!)z�
            def foo(param, lambda_exp):
                pass

            foo(param=0,
                lambda_exp=lambda:
                1)
        rr r�r%s& r�"test_multi_line_lambda_as_argument�0TestSpecifics.test_multi_line_lambda_as_arguments#����� �
��	��h��'rc�@�QoUOUQQ2Q2P!)c��XoU!rrl)rr|rMs&& rr��0TestSpecifics.test_apply_static_swaps.<locals>.f,s���q�A��Hrrr|r�rWs& r�test_apply_static_swaps�%TestSpecifics.test_apply_static_swaps+s��	�	
����3���c�*rc�B�QoUOUQQQ2Q2P!)c��XStq4oU!rrl�rr|rirMr�s&&&  rr��2TestSpecifics.test_apply_static_swaps_2.<locals>.f2s���A�G�A�!��Hrrr|rir�rWs& r�test_apply_static_swaps_2�'TestSpecifics.test_apply_static_swaps_21�"��	�	
����3��S�)�3�/rc�B�QoUOUQQQ2Q2P!)c��XSqCU!rrlr�s&&&  rr��2TestSpecifics.test_apply_static_swaps_3.<locals>.f8s���A�!�A��Hrrr|rir�rWs& r�test_apply_static_swaps_3�'TestSpecifics.test_apply_static_swaps_37r�rc�<�QoUOU2Q2P!)c�"�]*p]6*o]6oV1!rjrl�rMr�s  rr��0TestSpecifics.test_variable_dependent.<locals>.fAs���A�B��A�B���4�Kr)�6�`r�rWs& r�test_variable_dependent�%TestSpecifics.test_variable_dependent=s��	�	
�����h�'rc��QoP!)c�Z�[%c[%c[!P!P!J(9hr)�element�	somethingrlrrr��9TestSpecifics.test_duplicated_small_exit_block.<locals>.fHs'���'�i�i��$�$�(�'����s�%�*rlrWs& r� test_duplicated_small_exit_block�.TestSpecifics.test_duplicated_small_exit_blockFs��	rc��QoP!)c�:�[%cP!]P!J9hr	�r�rlrrr��5TestSpecifics.test_cold_block_moved_to_end.<locals>.fQ����$���������rlrWs& r�test_cold_block_moved_to_end�*TestSpecifics.test_cold_block_moved_to_endO���	rc��QoP!)c��U%cJ
P!r	rlrs&rr��MTestSpecifics.test_remove_empty_basic_block_with_jump_target_label.<locals>.f\s
����rrlrWs& r�4test_remove_empty_basic_block_with_jump_target_label�BTestSpecifics.test_remove_empty_basic_block_with_jump_target_labelZs��	rc��QoP!)c�V�[%cL[%c	[P![P!r	)r�r�rMr{rlrrr��<TestSpecifics.test_remove_redundant_nop_edge_case.<locals>.fbs���q�!�a�a�A�arrlrWs& r�#test_remove_redundant_nop_edge_case�1TestSpecifics.test_remove_redundant_nop_edge_case`s��	(rc��QoP!)c�:�[%cP!]P!J9hr	rrlrrr��=TestSpecifics.test_lineno_propagation_empty_blocks.<locals>.fgrrrlrWs& r�$test_lineno_propagation_empty_blocks�2TestSpecifics.test_lineno_propagation_empty_blockserrc�v�[OQ2oQ]--q2QFDo[V*V#2J	P!)z�            def f():
                try:
                    pass
                %s Exception:
                    global a
                else:
                    print(a)
        rM)�exceptzexcept*)r�r�r )rr�rzr�kws&    r�.test_global_declaration_in_except_used_in_else�<TestSpecifics.test_global_declaration_in_except_used_in_elseps8����� �
���Q�x��1�'�B����A�!�(rc�`�U1QknP!)c��|: �Q9P	IcL9oUTt-tPiw�K
o[RaJ,,P!KBLttohoK3h)r)�name_3)�name_5�name_2�name_4s  �rr,�7TestSpecifics.test_regression_gh_120225.<locals>.name_4�s9��������8>�?��?�?�f�V�V�^��D�@��?�s,�<�<�4�2�0�2�
4�<�2�4�<rl)rr,s&@r�test_regression_gh_120225�'TestSpecifics.test_regression_gh_120225�s���	rc��QQ[2o-o[QU2U2UO[UQ*2P!)c��\sQsQsQsP!)�;TestSpecifics.test_globals_dict_subclass.<locals>.WeirdDicti�rl)r_r`rarbrdrlrr�	WeirdDictr2�s��rr3zdef foo(): return ar)rqr rrw)rr3r0s&  r�test_globals_dict_subclass�(TestSpecifics.test_globals_dict_subclass�s8��	��	����
"�I�K��4����)�R��Y�/rc	��[OQ2o[OP	Q59^tt^2o[OQ2[]2FDo[
UQQ2J	PPP2SOWTt,tFDpDOMJ	to]],]*2P!)%fhKG9httoh)zw
            # tokenizer
            1or 0  # line 3
            # code generator
            1 is 1  # line 5
        ��record�default�<stdin>r )	r�r��warnings�catch_warnings�simplefilterrOrr2r�)rr�caughtr��wms&    r�test_compile_warnings�#TestSpecifics.test_compile_warnings�s������"�
���
$�
$�D�
1�
1�V��!�!�)�,��1�X����	�6�2��2�	
���f�5�f��)�)�f�5��1�v��z�B�
2�
1��6s�7B-�C�-B=	�6B=	c��[OQ2o[OP	Q59^tt^2o[OQ2[UQQ2PPP2UO
[QW22]]	,2SFDHoUO
UO[2UOQ[UO22JJ	[OQ2o[OP	Q59^tt^2o[OQ2[UQQ2PPP2UO
[QU22]]
,2SFDHoUO
UO[2UOQ[UO22JJ	P!)%fhCKX9h)%fhK�9h)	z�
            try:
                pass
            finally:
                1 is 1  # line 5
                try:
                    pass
                finally: # nested
                    1 is 1  # line 9
        r7�alwaysr:r c3�D�SF �DpOw�	J	P!3hr�r��rJr?s& rrK�@TestSpecifics.test_compile_warning_in_finally.<locals>.<genexpr>����F���F�b�	�	�F��� z"is" with 'int' literalaK
            try:
                pass
            except *Exception:
                pass
            finally:
                1 is 1  # line 7
                try:
                    pass
                except *Exception:
                    pass
                finally: # nested
                    1 is 1  # line 13
        c3�D�SF �DpOw�	J	P!3hrrErFs& rrKrG�rHrI)
r�r�r;r<r=rr2�sorted�categoryrkr�r��message)rrr>r?s&   r�test_compile_warning_in_finally�-TestSpecifics.test_compile_warning_in_finally�sU��
���	"�	
���
$�
$�D�
1�
1�V��!�!�(�+��F�I�v�.�2�	
����;�F�;�;�a��V�D��B����R�[�[�-�8��M�M�5�s�2�:�:��G��
���
"�

���
$�
$�D�
1�
1�V��!�!�(�+��F�I�v�.�2�	
����;�F�;�;�a��W�E��B����R�[�[�-�8��M�M�5�s�2�:�:��G��=2�
1�
1��22�
1�s#�$F*�
$F>�*F;	�3F;	�>G	�G	c	�l�[OQ2o[UQ29^tt^2oUO2oPPP2Qo[O
P	Q59^tt^2o[OQ2[OQUQ5[WUQ2PPP2UO[QW22,QN2SFD?oUOUOU2UOUO[2JA	[O
P	Q59^tt^2o[OQ2[OQQ	Q5[OQUQ5[WUQQ
Q5PPP2UO[QU22,QN2SFD?oUOUOU2UOUO[2JA	P!)%fhCK�9h)%fhCKv9h)%fhK�9h)
z#test_import/data/syntax_warnings.py�rbz*test\.test_import\.data\.syntax_warnings\zr7�errorrC)�moduler c3�D�SF �DpOw�	J	P!3hrrErFs& rrK�FTestSpecifics.test_filter_syntax_warnings_by_module.<locals>.<genexpr>����D���D�b�	�	�D�rIzpackage\.module\zzpackage.modulec3�D�SF �DpOw�	J	P!3hrrErFs& rrKrU�rVrI)r=��
�
��)r�findfiler�r�r;r<r=�filterwarningsrr2rKr<r�rLrk)rr<r�r�	module_re�wlogr?s&      r�%test_filter_syntax_warnings_by_module�3TestSpecifics.test_filter_syntax_warnings_by_module�s����#�#�$I�J��
�(�D�
!�
!�Q��V�V�X�F�"�A�	�
�
$�
$�D�
1�
1�T��!�!�'�*��#�#�H�Y�?��F�H�f�-�2�	
����9�D�9�9�;Q�R��B����R�[�[�(�3��M�M�"�+�+�}�5���
$�
$�D�
1�
1�T��!�!�'�*��#�#�H�5I�J��#�#�G�I�>��F�H�f�5E�F�	2�
	
����9�D�9�9�;Q�R��B����R�[�[�(�3��M�M�"�+�+�}�5��%"�
!�
!��2�
1�
1��2�
1�s6�G;�&<H�2AH#�;H	�H	�H 	�H 	�#H3	�,H3	rz�
            def f():
                try:
                    pass
                finally:
                    return 42
            z�
            for x in y:
                try:
                    pass
                finally:
                    break
            z�
            for x in y:
                try:
                    pass
                finally:
                    continue
            c���UO[Q29^tt^2[UQQ2PPP2[O29^tt^2[O
Q2[OU2oPPP2UO[Q29^tt^2[WQQ2PPP2P!)%fhK�9h)%fhKY9h)%fhP!9h)�finallyrAr rR)�assertWarnsRegexrkrr;r<r=r�r�)rrr�s&& r�test_pep_765_warnings�#TestSpecifics.test_pep_765_warnings�s���0�
"�
"�=�)�
<�
<��C��V�,�=�
�
$�
$�
&�
&��!�!�'�*��9�9�S�>�D�'��
"�
"�=�)�
<�
<��D�*�f�-�=�
<�=�
<��
&�
&��=�
<�
<�s5�B>�-C�&C$�>C	�C	�C!	�C!	�$C5	�-C5	z
            try:
                pass
            finally:
                def f():
                    return 42
            z~
            try:
                pass
            finally:
                for x in y:
                    break
            z�
            try:
                pass
            finally:
                for x in y:
                    continue
            c���[O29^tt^2[OQ2[UQQ2PPP2P!)%fhP!9h)rRrAr )r;r<r=r)rrs&&r�test_pep_765_no_warnings�&TestSpecifics.test_pep_765_no_warningss<��0�
$�
$�
&�
&��!�!�'�*��C��V�,�'�
&�
&�
&�s�$A
�
A	�A	rlr)|r_r`rarbrrr"r&r*r4r9r>rBrFr|�unittest�skipIfr�is_wasi�skip_emscripten_stack_overflowr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr!r&rDrPr_rcrnrrrur�r�r�r�r�r�r�r��cpython_onlyr�r�r�rr�skip_if_huge_c_stackrrr$r+rErNrXr]rerlrxr�r�r�r�r��requires_resourcer�r�r�r�r�r�r�rr(r,rErPrWr_rirqrwr}r�r�r�r�r�r�r�r�r�r�rrrrrr r%r.r4r@rNra�subTestsr�r�rfrirdrerfs@rr
r
s�����.�D�*�&�Q�-�J�L�Q�J�-%�^�_�_�W�_�_�&F�G��+�+�-�'�.�H�'�2D�8�'�*�1�B>�D�&�{�{�)�)�	9� �I�(-I�^>�%�L�K�*F2�P �?�;�4�'�$�D�6C�6C�2!D�FD�(	*�P�
;�
���>��>�;�"	H�I�I�
���
�_�_�W�_�_�&F�G��!�!�S�\�\�Y�-F�'�G�T��+�+�-��.�U�H���.-�(=�
���'��'�V
���J��J�
���H��H�
���
)��
)�
���(��(�,
���
C��
C� 
���G��G�
���!H��!H�F
���H��H�*
���?��?�0%!�NC�
���u�%�7�&�7�
���7��7�<6�$E�. 4�D$�2P� W�D<�"�*4�X3�5�	<�	=�
=�=�*=�9�F�:>�
���^
��^
�@K�2	2�
(�+�0�0�(��	��(�
	�#� 	�0�C�"0H�d6�0
���e�����	�	����	�	����	���..�/�..�
���e�����	�	����	�	����	���.-�/�.-rr
c�z`�\sQsQsnQQ2sQQ\2sQQ\2sQsQ	sQ
s	Qs
QsUsP!)
�TestBooleanExpressioni-c�.`�\sQsQsnQsQsQsUsP!)�TestBooleanExpression.Valuei.c��]UmP!r���calledr!s&rr/�$TestBooleanExpression.Value.__init__/s	���D�Krc�N�U9O]*
tmUO!r	)ryrWr!s&rr��$TestBooleanExpression.Value.__bool__2s���K�K�1��K��:�:�rrx)r_r`rarbr/r�rdrerfs@r�Valuerv.s����	�	�	rr}c��\sQsQsP	sQsP!)�TestBooleanExpression.Yesi6rl�r_r`rarbrWrdrlrr�Yesr6s���rr�c��\sQsQsP
sQsP!)�TestBooleanExpression.Noi9rlr�rlrr�Nor�9s���rr�c�R�UO2UO2UO2,oU]*9%cU]*9%c
U]*oUOV!]*2SOSTt,tFDp3OMJ	to,QN2P!ttoh�r)r�r�r)r�r�r�r2ry�rr7rr�s&   r�test_short_circuit_and�,TestBooleanExpression.test_short_circuit_and<su��
�X�X�Z�����D�H�H�J�/����d�$�$�q��t�$�$��!����
�
�c�Q�4� ����A�.�A�q�(�(�A�.�	�:��.��B$c�R�UO2UO2UO2,oU]*9%fU]*9%f
U]*oUOV!]*2SOSTt,tFDp3OMJ	to,QN2P!ttohr��r�r�r�r2ryr�s&   r�test_short_circuit_or�+TestBooleanExpression.test_short_circuit_orBsu��
�W�W�Y����
�D�G�G�I�.����d�"�"�a��d�"�"�a��d���
�
�c�Q�4� ����A�.�A�q�(�(�A�.�	�:��.r�c�\�UO2UO2UO2UO2,oU]*9%cU]*9%fU]*9%f
U]*oUOV!]*2SOSTt,tFDp3OMJ	to,QN2UO2UO2UO2UO2UO2,oU]*9%f=U]*9%cU]*9%fU]*9%f
U]*oUOV!]*2SOSTt,tFDp3OMJ	to,QN2P!ttohttoh)r)r�rr�r)r�r�rr�rr�r�s&   r�
test_compound�#TestBooleanExpression.test_compoundHs$��
�W�W�Y����
�D�H�H�J����
�;����d�m�m�q��t�+�+�q��t�+�+�q��t���
�
�c�Q�4� ����A�.�A�q�(�(�A�.��=�
�W�W�Y����	�4�8�8�:�t�x�x�z�4�7�7�9�E����d�3�3�a��d�m�m�q��t�3�3�q��t�3�3�q��t���
�
�c�Q�4� ����A�.�A�q�(�(�A�.��@��/��
/s�"F$�F)c�L�QQ2oU2oU2oUO[29^tt^2[U2PPP2UO[29^tt^2S9%fSoPPP2P!)%fhKD9h)%fhP!9h)c�(`�\sQsQsnQsQsUsP!)�1TestBooleanExpression.test_exception.<locals>.FooiVc��[2gr)�NotImplementedErrorr!s&rr��:TestBooleanExpression.test_exception.<locals>.Foo.__bool__Ws��)�+�+rrlr�rfs@r�Foor�Vs����
,�
,rr�)rr��bool)rr�rMr�r�s&    r�test_exception�$TestBooleanExpression.test_exceptionTsv��	,�	,�
�E���E��
�
�
�2�
3�
3���G�4��
�
�2�
3�
3����Q�A�4�
3�4�
3��4�
3�
3�s)�A?�(	B�2B�?B	�B	�B#	�B#	rl)
r_r`rarbr}r�r�r�r�r�r�rdrerfs@rrtrt-sA�������e���U��;�;�
A�
�
rrtc�t`�\sQsQsnQsQ'QksQsQsQs\	Q2s
\O\
OOQ2Q	2sQ
sQsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Qs#Qs$Qs%Qs&Q s'Q!s(\)OTQ"2s+Q#s,Q$s-Q%s.Q&s/Us0P!)(�TestSourcePositionsicc�v`	`
``�[UQQ2o[UQQ[O2oUO[	U2[O
6H2[
2[
2[
2[
21vnnn	n
U	U
UU1QkQ[O2oU2OU2UO2FDivqVqxU]6XcJUdUOUR2UdUOUR2UdUOUR	2UeJWUOUR
2Jk	V#1!)ztest_compile.pyr c�>:``�\sQsQsnUUUUU1QksQsUsU9s!)�LTestSourcePositions.check_positions_against_ast.<locals>.SourceOffsetVisitoriqc�:�[RU_U2[U[O[O
[O12%fP!ROUO2ROUO2ROUO2ROUO2P!r)�super�
generic_visitr�r�rhr��patternr�r�r�r�r�)rr��	__class__�columns�end_columns�	end_linesr�s&&�����rr��ZTestSourcePositions.check_positions_against_ast.<locals>.SourceOffsetVisitor.generic_visitrsu�����%�d�+�!�$����3�8�8�S�[�[�(I�J�J���	�	�$�+�+�&��
�
�d�o�o�.����D�O�O�,����� 3� 3�4rrl)r_r`rarbr�rdre�
__classcell__)r�rgr�r�r�r�s@@����r�SourceOffsetVisitorr�qs����
5�
5�
5rr�)rr�r�r�r�r�r�r��NodeVisitor�visit�co_positionsr�)
rr�r��ast_treer�r��end_line�col�end_colr�r�r�r�s
&&       @@@@r�check_positions_against_ast�/TestSourcePositions.check_positions_against_asths
����w� 1�6�:���7�$5�v�t�?Q�?Q�R������X��$�+�+�5�6�25����s�u�c�e�1K�.��y�'�;�	5�	5�#�/�/�	5�	��#�#�H�-�/3�.?�.?�.A�*�T�S��q�y�����
�
�d�E�*��#��
�
�h�	�2����
�
�c�7�+��"��
�
�g�{�3�/B��~�rc��[[OU2UO22FD�vq�UOU6XfJU]*oU%cJ+UOU	]*U2UOU	]*U2UOU	]*U2UOU	]*U2P!	UO
QUQ02P!)r�zOpcode z not found in code)rrurZr�rwr2rv)
rr�r�r�r��column�
end_column�
occurrencer��positions
&&&&&&&&  r�assertOpcodeSourcePositionIs�0TestSourcePositions.assertOpcodeSourcePositionIs�s��� ;��L�L���� 1� 1� 3� 
�O�E��|�|�v�%��a��
�!�z��$�$�X�a�[�$�7��$�$�X�a�[�(�;��$�$�X�a�[�&�9��$�$�X�a�[�*�=�� 
�	
�	�	�G�F�8�#5�6�7rc�.�QoUOU2P!)zx = 1)r��rr�s& r�test_simple_assignment�*TestSourcePositions.test_simple_assignment�s�����(�(��1rc
��QQ*oUQ*
oUOU2vq#UOUQQQ]]]Q5UOUQQQ]]	]Q5P!)zx = x
i'z/while x != 0:
  x -= 1
while x != 0:
  x +=  1
r��r�r�r�r�r�i'i'�r�r��rr��
compiled_coder�s&   r� test_compiles_to_extended_op_arg�4TestSourcePositions.test_compiles_to_extended_op_arg�sz���f�$���"�	�� �;�;�G�D��
��)�)�-���j���q�	*�	2�	
�)�)�-���j���q�	*�	2rc	��[OQ2oUOU2vq#UOUQ]]]]Q5P!)zD            f(
                1, 2, 3, 4
            )
            r��r�r�r�r��r�r�r�r�r�s&   r�test_multiline_expression�-TestSourcePositions.test_multiline_expression�sJ���/�/�#���
 �;�;�G�D��
��)�)�-���Q�q�Q�	*�	8rc
�J�[OQ2oUOU2vq#UOUQ]]]]]Q5UOUQ]]]]]Q5UOUQ]]]]]Q5UOUQ]]]]
]Q5UOUQ]]]]
]Q5P!)z�            if (a or
                (b and not c) or
                not (
                    d > 0)):
                x = 42
            r�r�r��
COMPARE_OPr�r�s&   r�!test_multiline_boolean_expression�5TestSourcePositions.test_multiline_boolean_expression�s����/�/�#��� �;�;�G�D��
��)�)�-�9K��Q�q�Q�1�	*�	F�	
�)�)�-�9L��Q�q�Q�1�	*�	F�	
�)�)�-�9L��Q�r�b�Q�	*�	H�	
�)�)�-���Q�q�R�A�	*�	G�	
�)�)�-�9K��Q�q�R�A�	*�	Grz)Assertions are disabled in optimized modec
��[OQ2oUOU2vq#UOUQ]]]]$]Q5UOUQ]]]]$]Q5UOUQ]]]]$]Q5UOUQ]]]]]Q5P!)zz            assert (a > 0 and
                    bb > 0 and
                    ccc == 1000000), "error msg"
            �LOAD_COMMON_CONSTANTr�r�r��
RAISE_VARARGSr�r�s&   r�test_multiline_assert�)TestSourcePositions.test_multiline_assert�s����/�/�#���
 �;�;�G�D��
��)�)�-�9O��Q�q�R�A�	*�	G�	
�)�)�-���Q�r�b�Q�	*�	H��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	Grc
�P�[OQ2oUOU2vq#UO]*oUO	U[
O2UOUQ]]]]]Q5UOUQ]]]]]Q5UOUQ]]]]]Q5P!)z�            ((x,
                2*x)
                for x
                in [1,2,3] if (x > 0
                               and x < 100
                               and x != 50))
            �YIELD_VALUEr�rgrt�r�r�r�r�r�r�r�r�r�s&   r�#test_multiline_generator_expression�7TestSourcePositions.test_multiline_generator_expression�s����/�/�#��� �;�;�G�D��
�%�/�/��2�
����m�U�^�^�<��)�)�-���Q�q�Q�1�	*�	F��)�)�-���Q�q�Q�1�	*�	F��)�)�-���Q�q�R�A�	*�	Grc
� �[OQ2oUOU2vq#UO]*oUO	U[
O2UOUQ]]]]]Q5UOUQ]]]] ]Q5P!)z�            ((x,
                2*x)
                async for x
                in [1,2,3] if (x > 0
                               and x < 100
                               and x != 50))
            r�r�rtr�r�s&   r�)test_multiline_async_generator_expression�=TestSourcePositions.test_multiline_async_generator_expressions����/�/�#��� �;�;�G�D��
�%�/�/��2�
����m�U�^�^�<��)�)�-���Q�q�Q�1�	*�	F��)�)�-���Q�q�R�A�	*�	Grc
��[OQ2oUOU2vq#UOU[O
2UO
UQ]]]]]Q5UO
UQ]]]]]Q5P!)z�            [(x,
                2*x)
                for x
                in [1,2,3] if (x > 0
                               and x < 100
                               and x != 50)]
            �LIST_APPENDr�rg�r�r�r�r�r�r�r�r�s&   r�!test_multiline_list_comprehension�5TestSourcePositions.test_multiline_list_comprehensions����/�/�#��� �;�;�G�D��
����m�U�^�^�<��)�)�-���Q�q�Q�1�	*�	F��)�)�-���Q�q�Q�1�	*�	Frc
�j�[OQ2oUOU2vq#-o[V$2UQ*OoUOU[O2UOUQ]]]]]Q5UOUQ]]]]]Q5UOUQ]]]]$]Q5P!)z�            async def f():
                [(x,
                    2*x)
                    async for x
                    in [1,2,3] if (x > 0
                                   and x < 100
                                   and x != 50)]
            r�r�r�rgrt�	r�r�r�r8r�r�r�r�r��rr�r�r�rzs&    r�'test_multiline_async_list_comprehension�;TestSourcePositions.test_multiline_async_list_comprehension!s����/�/�#��� �;�;�G�D��
����]���#����
����m�U�^�^�<��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	Grc
��[OQ2oUOU2vq#UOU[O
2UO
UQ]]]]]Q5UO
UQ]]]]]Q5P!)z�            {(x,
                2*x)
                for x
                in [1,2,3] if (x > 0
                               and x < 100
                               and x != 50)}
            �SET_ADDr�rgr�r�s&   r� test_multiline_set_comprehension�4TestSourcePositions.test_multiline_set_comprehension7����/�/�#��� �;�;�G�D��
����m�U�^�^�<��)�)�-���Q�q�Q�1�	*�	F��)�)�-���Q�q�Q�1�	*�	Frc
�j�[OQ2oUOU2vq#-o[V$2UQ*OoUOU[O2UOUQ]]]]]Q5UOUQ]]]]]Q5UOUQ]]]]$]Q5P!)z�            async def f():
                {(x,
                    2*x)
                    async for x
                    in [1,2,3] if (x > 0
                                   and x < 100
                                   and x != 50)}
            r�r�r�rgrtr�r�s&    r�&test_multiline_async_set_comprehension�:TestSourcePositions.test_multiline_async_set_comprehensionG����/�/�#��� �;�;�G�D��
����]���#����
����m�U�^�^�<��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	Grc
��[OQ2oUOU2vq#UOU[O
2UO
UQ]]]]]Q5UO
UQ]]]]]Q5P!)z�            {x:
                2*x
                for x
                in [1,2,3] if (x > 0
                               and x < 100
                               and x != 50)}
            �MAP_ADDr�rgr�r�s&   r�!test_multiline_dict_comprehension�5TestSourcePositions.test_multiline_dict_comprehension]r�rc
�j�[OQ2oUOU2vq#-o[V$2UQ*OoUOU[O2UOUQ]]]]]Q5UOUQ]]]]]Q5UOUQ]]]]$]Q5P!)z�            async def f():
                {x:
                    2*x
                    async for x
                    in [1,2,3] if (x > 0
                                   and x < 100
                                   and x != 50)}
            r�r�r�rgrtr�r�s&    r�'test_multiline_async_dict_comprehension�;TestSourcePositions.test_multiline_async_dict_comprehensionmr�rc
��[OQ2oUOU2vq#UOUQ]]]	]
]Q5UOUQ]]]	]
]Q5UOUQ]]]	]
]Q5UOUQ]]]	]
]Q5P!)zU            match x:
                case a, b:
                    pass
            �MATCH_SEQUENCEr��UNPACK_SEQUENCE�
STORE_NAMEr�r�s&   r�test_matchcase_sequence�+TestSourcePositions.test_matchcase_sequence�s����/�/�#���
 �;�;�G�D��
��)�)�-�9I��Q�q�R�A�	*�	G��)�)�-�9J��Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	Grc
�J�[OQ2oUOU2vq#UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5P!)zY            match x:
                case a, *b, c:
                    pass
            r�r��	UNPACK_EXr�r�r�s&   r� test_matchcase_sequence_wildcard�4TestSourcePositions.test_matchcase_sequence_wildcard�s����/�/�#���
 �;�;�G�D��
��)�)�-�9I��Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	Grc
��[OQ2oUOU2vq#UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5P!)zb            match x:
                case {"a" : a, "b": b}:
                    pass
            �
MATCH_MAPPINGr��
MATCH_KEYSr�r�r�s&   r�test_matchcase_mapping�*TestSourcePositions.test_matchcase_mapping�����/�/�#���
 �;�;�G�D��
��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	Grc
��[OQ2oUOU2vq#UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5P!)zg            match x:
                case {"a" : a, "b": b, **c}:
                    pass
            rr�rr�r�r�s&   r�test_matchcase_mapping_wildcard�3TestSourcePositions.test_matchcase_mapping_wildcard�rrc
��[OQ2oUOU2vq#UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5P!)zX            match x:
                case C(a, b):
                    pass
            �MATCH_CLASSr�r�r�r�r�s&   r�test_matchcase_class�(TestSourcePositions.test_matchcase_class�s����/�/�#���
 �;�;�G�D��
��)�)�-���Q�q�R�A�	*�	G��)�)�-�9J��Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	Grc
��[OQ2oUOU2vq#UOUQ]]]	]
]Q5UOUQ]]]]]Q5P!)z\            match x:
                case C(1) | C(2):
                    pass
            rr�r�r�s&   r�test_matchcase_or�%TestSourcePositions.test_matchcase_or�sp���/�/�#���
 �;�;�G�D��
��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�r�b�Q�	*�	Hrc	�l�QoQUQ0oUOU2vq4UOUQ]]]QQ5P!)rMzg('z')r���r���aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar�)r�long_stringr�r�r�s&    r�test_very_long_line_end_offset�2TestSourcePositions.test_very_long_line_end_offset�sJ��!����}�B�'���;�;�G�D��
��)�)�-���Q�q�T�	*�	;rc
� �QoUOU2vq#UOUQ]]]
]Q5UOUQ]]]	]]Q5UOUQ]]]	]]Q5UOUQ]]]]]Q5UOUQ]]]]]Q5P!)za - b @ (c * x['key'] + 23)r�r�r�r�r�s&   r�#test_complex_single_line_expression�7TestSourcePositions.test_complex_single_line_expression�s���/���;�;�G�D��
��)�)�-���Q�r�b�	*�	:��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	G��)�)�-���Q�q�R�A�	*�	Grc���[OQ2oUO]*o[O[O[O
[OQ[O22Q[O22,,22o[OV22[OU2V1O]$[UQQ2P!)z
assert (
42
)r��eggsrr )r�r�r�r��Call�	Attributer�r��
copy_locationr�r)rr��old_node�new_nodes&   r�.test_multiline_assert_rewritten_as_method_call�BTestSourcePositions.test_multiline_assert_rewritten_as_method_call�s����y�y�*�+���9�9�Q�<���8�8��H�H��
�
��H�H�V�S�X�X�Z�0���H�H�J��
��
�

��	���(�-��!�!�(�+��	�	�!����h��'rc
���QoQFD�oUOU29^tt^2-o[OUOU22o[O
29^tt^2[OQ[2[VC2PPP2UQ*OoUOUQ]
]
]]Q5PPP2J�	P!)%fhKH9h)%fhJ�9h)z�
        import abc, dis
        import ast as art

        abc = None
        dix = dis
        ast = art

        def f():
        {}
        �ignorer��LOAD_GLOBALr�)
z    abc.a()z    art.a()z    ast.a()z    dis.a()z    dix.a()z    abc[...]()z    art()()z   (ast or ...)()z
   [dis]()z   (dix + ...)())rir�r��formatr;r<r=rkr r�r�)r�source_templater�r#rr�s&     r�$test_push_null_load_global_positions�8TestSourcePositions.test_push_null_load_global_positions	s���
��
�D����d�#�#��	�!����)?�)?��)E�F���,�,�.�.��)�)�(�M�B���+�/�!��~�.�.���1�1��!���� �
2��$�#�
�/�.��$�#�#�s0�AC"	�('C
�2C"	�C�C�C"	�"C3
�+C3
c	��Qo[UQQ2oUOUQ]]]]Q5UOUQ]]]]Q5P!)z/(
 lhs  
   .    
     rhs      
       ) += 42rr r�r��
STORE_ATTR�rr��rrr�s&  r�test_attribute_augassign�,TestSourcePositions.test_attribute_augassign7	sW��F���v�x��0���)�)��+�A��!��	*�	
�	
�)�)��,�Q��1��	*�	
rc	�T�Qo[UQQ2oUOUQ]]]]Q5P!)z-del (
 lhs  
   .    
     rhs      
       )rr �DELETE_ATTRr�r,r-s&  r�test_attribute_del�&TestSourcePositions.test_attribute_delA	s5��D���v�x��0���)�)��-�a�!�A�!�	*�	
rc	�T�Qo[UQQ2oUOUQ]]]]Q5P!)z)(
 lhs  
   .    
     rhs      
       )rr r�r�r,r-s&  r�test_attribute_load�'TestSourcePositions.test_attribute_loadH	s5��@���v�x��0���)�)��+�A��!��	*�	
rc	�T�Qo[UQQ2oUOUQ]]]]Q5P!)z.(
 lhs  
   .    
     rhs      
       ) = 42rr r+r�r,r-s&  r�test_attribute_store�(TestSourcePositions.test_attribute_storeO	s5��E���v�x��0���)�)��,�Q��1��	*�	
rc	��Qo[UQQ2oUOUQ]]]]Q5UOUQ]]]]
Q5P!)z+(
 lhs  
   .    
     rhs      
       )()rr r�r�r�r,r-s&  r�test_method_call�$TestSourcePositions.test_method_callV	sW��B���v�x��0���)�)��+�A��!��	*�	
�	
�)�)��&�q�1�Q�2�	*�	
rc��QoUOO2FD^vq#qEUOU2UOU2UOU2UOU2UOV$1V512J`	P!)c��[O[O2[2O]2O]2P!r�)�bar�baz�files�
setdefaultrlrrr��HTestSourcePositions.test_weird_attribute_position_regressions.<locals>.fa	s7��
���
���	
��G����
��j��r)r�r�r[r�)rr�r�r�r�r�s&     r�)test_weird_attribute_position_regressions�=TestSourcePositions.test_weird_attribute_position_regressions`	ss��
	�34�*�*�2I�2I�2K�.�D�F�� � ��&�� � ��*�� � ��(�� � ��,�� � �$��(�1G�H�3Lrc���QFCDUoUOU29^tt^2[UQU0QQ2oUO[UO2]2UOUO]*[O2UOUO]*[O2UOUO]*UO]*2UO[UO]*O22[UO]*O222PPP2CJX	P!)%fhCJn9h)�	lambda: arGrr8)rGz(a for b in c))rirr2r�r�r�r�r�rr\r�r-s&  r� test_column_offset_deduplication�4TestSourcePositions.test_column_offset_deduplications	s��
�F����f�%�%��&���F�8�4�h��G��� � ��T�^�^�!4�a�8��%�%�d�n�n�Q�&7����H��%�%�d�n�n�Q�&7����H��#�#�D�N�N�1�$5�t�~�~�a�7H�I��#�#������*�7�7�9�:������*�7�7�9�:��
&�%�	
�&�%�%�s�D0E!	�!E3
�*E3
c	���Qo[UQQ2O]*OFD(o[U[O2%fJ%SoL	UOWQ]]]]	Q5P!)z5class C:
  def __init__(self):
    super().__init__()rr r%r�)rr�r�r�r�r�)rrr*r�s&   r�test_load_super_attr�(TestSourcePositions.test_load_super_attr�	sg��J���V�X�v�6�@�@��C�M�M�E��%����0�0����N�	
�)�)��-�a�!�A�!�	*�	
rc
���,QNoSFCD-oUOUQ59^tt^2[U2Q*oUOO2o[	U2FD�vqVUOVVQ59^tt^2Uvqxq�U]6:cPPP2J7UOU]2UOU]2UO
Q2]*o[U2oUOV�2UOV�2UOV�2UOV�2PPP2J�	PPP2CJ0	P!)%fhJ�9h)%fhCJZ9h)�
f = lambda: x)r�r�)r��posr�)rNzf = lambda: 42zf = lambda: 1 + 2zf = lambda: a + b)
rirr�r�r�r2�findr��assertGreaterEqualr�)
rr�r��lambr\r�rO�
start_liner��	start_colr��
code_start�code_ends
&            r�test_lambda_return_position�/TestSourcePositions.test_lambda_return_position�	s#��
�� �G����g��.�.���(��-�� �M�M�6�6�8�	�'�	�2�F�A������3�3�CF�@�
�i���6�$�	4�3�
�(�(��Q�7��(�(��1�5�%,�\�\�#�%6��%:�
�#&�w�<���/�/�	�F��,�,�W�?��/�/��C��,�,�W�?�4�3�3�	/�.� �4�3�3��/�.�.�sC�AE	�?D=�D=�
E	�BD=�"E	�=E�E�	E	�E#
�E#
c�F�Qo[OU2FD$oUOvq4oUOV42J&	[OU2Tt,tFD(oUOQ7fJUO
dJ&UMJ*	oo[OU2Tt,tFDoUOQ6XfJUMJ	ooUO[
U2]2UO[
U2]2Vg*FD�oUOvq4q�UOV1OO]*2UOVAOO]*2UOU]2UOU	]2J�	P!ttohttoh)c�r�[9^tt^2[ttPPP2!)%fhP!9hr)r[�Rrlrrr��<TestSourcePositions.test_return_in_with_positions.<locals>.f�	s"�������������s�
%�6	�6	rt)r�r�)	rurvr\r2rwr�r�r�r�)
rr�r�rSr�r��	load_none�return_valuerTr�s
&         r�test_return_in_with_positions�1TestSourcePositions.test_return_in_with_positions�	sf��	��)�)�!�,�E�).���&�J�!�Q����Z�2�-�),�(<�(<�Q�(?�/�(?�u��\�\�%K�K������U�(?�	�/�,/�+?�+?��+B�8�+B�%�����6���+B��8�	
����Y���+�����\�*�A�.��-�-�E�7<���4�J�)����Z���)B�)B�Q�)F�G����X�z�z�'@�'@�1�'D�E����Y��+����W�b�)�.��/��8s�F�5F�F�$F�>Frlr	)1r_r`rarbr�r�r�r�r�rr�rkrlr��flagsr�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr!r(r.r2r5r8r;rDrrorHrKrWr_rdrerfs@rr�r�cs����
$�L8�"2�2�(8��G��G�2�_�_�S�Y�Y�'�'�)T�U�G�V�G�"G�&G�"F� G�,F� G�,F� G�,G� G�$G� G� G� 
H�;�
G�(�*&�P
�
�
�
�
�I�&
������"
�@�6 *� *rr�c�:`�\sQsQsnQsQsQsQsQsUs	P!)�TestStaticAttributesi�	c��QQ2oUOUO[2UO[	UO2QQ,2P!)c�(`�\sQsQsnQsQsUsP!)�*TestStaticAttributes.test_basic.<locals>.Ci�	c�j�]*9UmUmUO2UO]*P!rj)rMr�r��arrr!s&rr��,TestStaticAttributes.test_basic.<locals>.C.f�	s&��"$�$��������������rr�r]rfs@r�Crf�	s����
�
rrjrMr�)r�rdrcr2rK�rrjs& r�
test_basic�TestStaticAttributes.test_basic�	sC��	�	�	
���a�5�5�u�=������ 7� 7�8�3��*�Erc�j�QQ2oUO[UO2,QN2P!)c�.`�\sQsQsnQsQsQsUsP!)�4TestStaticAttributes.test_nested_function.<locals>.Ci�	c�2�]Um]Um]UmP!r	r{r!s&rr��6TestStaticAttributes.test_nested_function.<locals>.C.f�	s����������rc�8�]Um]UmQo]UmP!)r=c�$�]Um]UmP!)r�)�ur7)rrMs&&rr��ATestStaticAttributes.test_nested_function.<locals>.C.g.<locals>.h�	s���D�F��D�Fr)r|rir)rr�r�s&& rrz�6TestStaticAttributes.test_nested_function.<locals>.C.g�	s�����������r�rur7rr|ri)r_r`rarbr�rzrdrerfs@rrjrp�	s����
�

�
rrjrx�r2rKrdrks& r�test_nested_function�)TestStaticAttributes.test_nested_function�	s*��	�	� 	
����� 7� 7�8�:S�Trc���QQ2oUO[UO2QQ,2UO[UOO2QQ,2P!)c�<`�\sQsQsnQsQQ2sQsUsP!)�1TestStaticAttributes.test_nested_class.<locals>.Ci�	c�$�]*Um]*UmP!rjr{r!s&rr��3TestStaticAttributes.test_nested_class.<locals>.C.f�	��������rc�(`�\sQsQsnQsQsUsP!)�3TestStaticAttributes.test_nested_class.<locals>.C.Di�	c�$�]*Um]*UmP!rjrIr!s&rrz�5TestStaticAttributes.test_nested_class.<locals>.C.D.g�	s���D�F��D�FrrI�r_r`rarbrzrdrerfs@rrsr��	s���� � rrsr{)r_r`rarbr�rsrdrerfs@rrjr~�	s����
�
 �
 rrjrr|ri)r2rKrdrsrks& r�test_nested_class�&TestStaticAttributes.test_nested_class�	sP��	 �	 �	
����� 7� 7�8�3��*�E�������� 9� 9�:�S�#�J�Grc���QQ2oQQU2oUO[UO2QQ,2UO[UO2QQ,2P!)c�(`�\sQsQsnQsQsUsP!)�-TestStaticAttributes.test_subclass.<locals>.Ci�	c�$�]*Um]*UmP!rjr{r!s&rr��/TestStaticAttributes.test_subclass.<locals>.C.f�	r�rr{r]rfs@rrjr��	�����
�
rrjc�(`�\sQsQsnQsQsUsP!)�-TestStaticAttributes.test_subclass.<locals>.Di
c�$�]*Um]*UmP!rjrIr!s&rrz�/TestStaticAttributes.test_subclass.<locals>.D.g
r�rrIr�rfs@rrsr�
r�rrsrr|riry)rrjrss&  r�
test_subclass�"TestStaticAttributes.test_subclass�	sX��	�	�
	��	�
	
����� 7� 7�8�3��*�E������ 7� 7�8�3��*�Errl)
r_r`rarbrlrzr�r�rdrerfs@rrcrc�	s#����	F�U�&H�F�Frrcc�`�\sQsQsn]dsQsQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsUsP!)�TestExpressionStackSizei

c��[U[2%c[UQQ2o[O[O
[
UO222oUOUOU2P!)�<foo>r
)
r�r�r�math�ceil�logr�r%r��co_stacksize)rr��max_sizes&& r�check_stack_size�(TestExpressionStackSize.check_stack_size
sU���d�C� � ��4��(�3�D��9�9�T�X�X�c�$�,�,�&7�8�9�����T�.�.��9rc�Z�UOQUO*Q*2P!)zx and r�r�rdr!s&r�test_and� TestExpressionStackSize.test_and
s�����h����/�#�5�6rc�Z�UOQUO*Q*2P!)zx or rr�r!s&r�test_or�TestExpressionStackSize.test_or
s�����g����.��4�5rc�Z�UOQUO*Q*2P!)zx and x or rr�r!s&r�test_and_or�#TestExpressionStackSize.test_and_or
s�����m�d�f�f�4�s�:�;rc�Z�UOQUO*Q*2P!)zx < rr�r!s&r�test_chained_comparison�/TestExpressionStackSize.test_chained_comparison!
������f�t�v�v�o��3�4rc�Z�UOQUO*Q*2P!)zx if x else rr�r!s&r�test_if_else�$TestExpressionStackSize.test_if_else$
s�����n�t�v�v�5��;�<rc�Z�UOQUO*Q*2P!)zx + rr�r!s&r�
test_binop�"TestExpressionStackSize.test_binop'
r�rc�h�UOQQUO**Q*2P!)�[�x, zx]r�r!s&r�	test_list�!TestExpressionStackSize.test_list*
�"�����c�E�D�F�F�N�2�T�9�:rc�h�UOQQUO**Q*2P!)�(r�zx)r�r!s&r�
test_tuple�"TestExpressionStackSize.test_tuple-
r�rc�h�UOQQUO**Q*2P!)r�r�zx}r�r!s&r�test_set� TestExpressionStackSize.test_set0
r�rc�h�UOQQUO**Q*2P!)r�zx:x, zx:x}r�r!s&r�	test_dict�!TestExpressionStackSize.test_dict3
s#�����c�G�d�f�f�$4�4�v�=�>rc�h�UOQQUO**Q*2P!)�f(r�rr�r!s&r�test_func_args�&TestExpressionStackSize.test_func_args6
s"�����d�U�T�V�V�^�3�c�9�:rc��Q[UO22oUOQQOU2*Q*2P!)c3�:�SF �DoQUQ0w�	J	P!3h�rMz=xrlrIs& rrK�;TestExpressionStackSize.test_func_kwargs.<locals>.<genexpr>:
���]���]��A�a�S��)�]�r�r�rGr�rOrdr�r��r�kwargss& r�test_func_kwargs�(TestExpressionStackSize.test_func_kwargs9
s5��3�U�4�6�6�]�3�����d�d�i�i��&7�7�#�=�>rc�h�UOQQUO**Q*2P!)�o.m(r�rr�r!s&r�test_meth_args�&TestExpressionStackSize.test_meth_args=
s"�����f�u�t�v�v�~�5��;�<rc��Q[UO22oUOQQOU2*Q*2P!)c3�:�SF �DoQUQ0w�	J	P!3hr�rlrIs& rrK�;TestExpressionStackSize.test_meth_kwargs.<locals>.<genexpr>A
r�r�r�rGrr�r�s& r�test_meth_kwargs�(TestExpressionStackSize.test_meth_kwargs@
s5��3�U�4�6�6�]�3�����f��	�	�&�(9�9�C�?�@rc�b�QoUQUO**
oUOU2P!)z
def f(x):
z   x and x
)rdr�r%s& r�
test_func_and�%TestExpressionStackSize.test_func_andD
s(���������'�'�����d�#rc�F�QoQU*Q*o[UQQ2P!)��zx,z=tr�r
r)rrhr�s&  r�test_stack_3050�'TestExpressionStackSize.test_stack_3050I
s �����a�x�$�����g�x�(rc�r�QoQOQ[U222oQUQ0o[UQQ2P!)r�rGc3�>�SF �DoQUQU0w�	J	P!3h)r�z:typerlrIs& rrK�<TestExpressionStackSize.test_stack_3050_2.<locals>.<genexpr>Q
s��H���H�q�3�q�c��q�c�*�H�s�zdef f(z	):
  passr�r
rN)rrhr�r�s&   r�test_stack_3050_2�)TestExpressionStackSize.test_stack_3050_2O
s9�����y�y�=�E�!�H�=�=����v�Z�(����g�x�(rrl)r_r`rarbrdr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rdrerfs@rr�r�

sl����	�A�:�7�6�<�5�=�5�;�;�;�?�;�?�=�A�$�
)�)�)rr�c��`�\sQsQsnQQksQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Us!P!) �TestStackSizeStabilityiW
c	�l``�UU1Qko[]]2Tt,tFDpCU2OMJ	oo[[U22]6wca]PHo]PHoUO2oUOU]2UQ5UOQU8QR8QUO2802P!P!ttoh)c�L:�-oQUR**oR%c
QU*o[O29^tt^2[OQ[2[	UQQ2oPPP2[WV2UQ*O!)%fhK/9h)zdef func():
zasync r$z<script>r r()r;r<r=rkrr r�)r�r0�scriptr��async_r�s&   ��r�compile_snippet�@TestStackSizeStability.check_stack_size.<locals>.compile_snippet\
sz����B�(�1�w�;�6�F��!�F�*���(�(�*�*��%�%�h�
�>��v�z�6�:��+�
��r���f�:�&�&�&�	+�*�s�)B�B#	�B#	)�filez4stack sizes diverge with # of consecutive snippets: r�)	rOr�r�r�rur�r�rvr�)	rr�r�r�r��sizesrur��outs	&ff      rr��'TestStackSizeStability.check_stack_size[
s����		'�;@��1�+�F�+�Q���#�0�0�+��F��s�5�z�?�a����+�+�-�C��G�G�O�A�&�S�1��I�I�&+�W�c�l�l�n�F�
G�	 ��Gs�B1c�.�QoUOU2P!)z1
            if x:
                a
            �r�r�s& r�test_if�TestStackSizeStability.test_ifo
�����	
���g�&rc�.�QoUOU2P!)z{
            if x:
                a
            elif y:
                b
            else:
                c
            r�r�s& rr��#TestStackSizeStability.test_if_elsev
�����	
���g�&rc�.�QoUOU2P!)zV
            try:
                a
            except:
                b
            r�r�s& r�test_try_except_bare�+TestStackSizeStability.test_try_except_bare�
�����	
���g�&rc�.�QoUOU2P!)z�
            try:
                a
            except ImportError:
                b
            except:
                c
            else:
                d
            r�r�s& r�test_try_except_qualified�0TestStackSizeStability.test_try_except_qualified�
���	��	
���g�&rc�.�QoUOU2P!)z�
            try:
                a
            except ImportError as e:
                b
            except:
                c
            else:
                d
            r�r�s& r�test_try_except_as�)TestStackSizeStability.test_try_except_as�
rrc�.�QoUOU2P!)z�
            try:
                a
            except* ImportError:
                b
            else:
                c
            r�r�s& r�test_try_except_star_qualified�5TestStackSizeStability.test_try_except_star_qualified�
r�rc�.�QoUOU2P!)z�
            try:
                a
            except* ImportError as e:
                b
            else:
                c
            r�r�s& r�test_try_except_star_as�.TestStackSizeStability.test_try_except_star_as�
r�rc�.�QoUOU2P!)z�
                try:
                    a
                except* A:
                    b
                finally:
                    c
            r�r�s& r�test_try_except_star_finally�3TestStackSizeStability.test_try_except_star_finally�
r�rc�.�QoUOU2P!)zg
                try:
                    a
                finally:
                    b
            r�r�s& r�test_try_finally�'TestStackSizeStability.test_try_finally�
r�rc�.�QoUOU2P!)z8
            with x as y:
                a
            r�r�s& r�	test_with� TestStackSizeStability.test_with�
r�rc�.�QoUOU2P!)zX
            while x:
                a
            else:
                b
            r�r�s& r�test_while_else�&TestStackSizeStability.test_while_else�
r�rc�.�QoUOU2P!)z7
            for x in y:
                a
            r�r�s& r�test_for�TestStackSizeStability.test_for�
r�rc�.�QoUOU2P!)z[
            for x in y:
                a
            else:
                b
            r�r�s& r�
test_for_else�$TestStackSizeStability.test_for_else�
r�rc�.�QoUOU2P!)z�
            for x in y:
                if z:
                    break
                elif u:
                    continue
                else:
                    a
            else:
                b
            r�r�s& r�test_for_break_continue�.TestStackSizeStability.test_for_break_continue�
s��
��	
���g�&rc�.�QoUOU2P!)a6
            for x in y:
                try:
                    if z:
                        break
                    elif u:
                        continue
                    else:
                        a
                finally:
                    f
            else:
                b
            r�r�s& r�0test_for_break_continue_inside_try_finally_block�GTestStackSizeStability.test_for_break_continue_inside_try_finally_block�
���
��	
���g�&rc�.�QoUOU2P!)a6
            for x in y:
                try:
                    t
                finally:
                    if z:
                        break
                    elif u:
                        continue
                    else:
                        a
            else:
                b
            r�r�s& r�,test_for_break_continue_inside_finally_block�CTestStackSizeStability.test_for_break_continue_inside_finally_block
r$rc�.�QoUOU2P!)a5
            for x in y:
                try:
                    t
                except:
                    if z:
                        break
                    elif u:
                        continue
                    else:
                        a
            else:
                b
            r�r�s& r�+test_for_break_continue_inside_except_block�BTestStackSizeStability.test_for_break_continue_inside_except_blockr$rc�.�QoUOU2P!)a

            for x in y:
                with c:
                    if z:
                        break
                    elif u:
                        continue
                    else:
                        a
            else:
                b
            r�r�s& r�)test_for_break_continue_inside_with_block�@TestStackSizeStability.test_for_break_continue_inside_with_block/s����	
���g�&rc�.�QoUOU2P!)z�
            try:
                if z:
                    return
                else:
                    a
            finally:
                f
            r�r�s& r�$test_return_inside_try_finally_block�;TestStackSizeStability.test_return_inside_try_finally_block>�����	
���g�&rc�.�QoUOU2P!)z�
            try:
                t
            finally:
                if z:
                    return
                else:
                    a
            r�r�s& r� test_return_inside_finally_block�7TestStackSizeStability.test_return_inside_finally_blockJr1rc�.�QoUOU2P!)z�
            try:
                t
            except:
                if z:
                    return
                else:
                    a
            r�r�s& r�test_return_inside_except_block�6TestStackSizeStability.test_return_inside_except_blockVr1rc�.�QoUOU2P!)z~
            with c:
                if z:
                    return
                else:
                    a
            r�r�s& r�test_return_inside_with_block�4TestStackSizeStability.test_return_inside_with_blockbs����	
���g�&rc�2�QoUOUP	Q5P!)z>
            async with x as y:
                a
            �r�r�r�s& r�test_async_with�&TestStackSizeStability.test_async_withl�����	
���g�d��3rc�2�QoUOUP	Q5P!)z=
            async for x in y:
                a
            r<r�r�s& r�test_async_for�%TestStackSizeStability.test_async_forsr?rc�2�QoUOUP	Q5P!)za
            async for x in y:
                a
            else:
                b
            r<r�r�s& r�test_async_for_else�*TestStackSizeStability.test_async_for_elsezs����	
���g�d��3rc�2�QoUOUP	Q5P!)a
            for x in y:
                async with c:
                    if z:
                        break
                    elif u:
                        continue
                    else:
                        a
            else:
                b
            r<r�r�s& r�/test_for_break_continue_inside_async_with_block�FTestStackSizeStability.test_for_break_continue_inside_async_with_block�s����	
���g�d��3rc�2�QoUOUP	Q5P!)z�
            async with c:
                if z:
                    return
                else:
                    a
            r<r�r�s& r�#test_return_inside_async_with_block�:TestStackSizeStability.test_return_inside_async_with_block�s����	
���g�d��3rrlr�)"r_r`rarbr�r�r�r�rrrr
r
rrrrrrr"r&r)r,r/r3r6r9r=rArDrGrJrdrerfs@rr�r�W
s�����G�('�	'�'�'�'�	'�	'�	'�'�'�'�'�'�'�'�"'�"'�"
'�
'�
'�
'�'�4�4�4�
4�4�4rr�zneed _testinternalcapi modulec�:`�\sQsQsnQsQsQsQsQsUs	P!)�TestInstructionSequencei�c	���SOUO2Tt,tFD0o[OU]**1UQ**MJ2	toU2P!ttoh)rra)r2rvr�rw)r�seqr)r�s&&& r�compare_instructions�,TestInstructionSequence.compare_instructions�sN�����#�BV�BV�BX�Y�BX�Q�6�=�=��1��.�0�1�R�5�8�8�BX�Y�!�	#��Ys�8A c	��[O2oQQkoUUQ]]2UUQUO29o]2UUQ]]2UUQUO29o]2UOU2UUQ]]2UOU2UUQ]]2,QNoSO	XTt,tFDpfQ*MJ
	to2P!ttoh)rc�Z�UO[OU*V#VEU2P!r)�addopr��opmap)rOrwr��bl�bc�el�ecs&&&&&&&r�add_op�3TestInstructionSequence.test_basics.<locals>.add_op�s���I�I�f�l�l�6�*�E�r�r�Brr��JUMPrt)rrr))r�r�r�)r\r=r)r�r�r?)r\r>r=)r�rr=)rtNr?)�_testinternalcapi�new_instruction_sequence�	new_label�	use_labelrP)rrOrZ�lbl1�lbl2r)�exs&      r�test_basics�#TestInstructionSequence.test_basics�s����8�8�:��	C�	�s�L�!�Q�'��s�F�C�M�M�O�3�D�Q�7��s�L�!�Q�'��s�F�C�M�M�O�3�D�Q�7��
�
�d���s�L�!�Q�'��
�
�d���s�N�A�q�)���	
�!�!�#�'H�x��W���x�'H�I��'Hs�2C
c���[O2oUO[OQ*]]]]]2[O2oUO[OQ*]]]]]2UOUQ,2UOUQ,2UO
U2UOUQ,2UOUO2]*Q,2P!)r�)r�r�r�rrr)r�rrrrr)r]r^rTr�rUrP�
add_nested�
get_nested)rrO�nesteds&  r�test_nested�#TestInstructionSequence.test_nested�s����8�8�:���	�	�&�,�,�|�,�a��A�q�!�<�"�;�;�=�����V�\�\�,�/��A�q�!�Q�?��!�!�#�(E�'F�G��!�!�&�+H�*I�J����v���!�!�#�(E�'F�G��!�!�#�.�.�"2�1�"5�8U�7V�Wrc
�.�QoQo[OU2FDno[U2TTt-tFDvqEQU]*0UaJ	ooo[UOQ-U@2oUQ*oUOUOU2Jp	P!ttooh)zyclass T:
    def __init__(self):
        self.{V1} = 10
        self.{V2} = 10
    def foo(self):
        self.{V3} = 10
�V�Tr�rl)�	itertools�permutationsr�rr&r2rd)	rr��
attributes�permr�r��	var_namesr0r`s	&        r�!test_static_attributes_are_sorted�9TestInstructionSequence.test_static_attributes_are_sorted�s���
'�	
�%�
��*�*�:�6�D�:C�D�/�J�/�w�q�1�Q��U�G��d�*�/�I�J��$�+�+�2�	�2�3�B��3��A����Q�4�4�j�A�	7��Js�B
rl)
r_r`rarbrPrdrjrtrdrerfs@rrMrM�s"����#�J�2X�B�BrrM�__main__)(r�rur�ror�r�r�rkr�r�r�r�r�r�r;r]�ImportErrorr�r�test.supportrrrr�test.support.bytecode_helperr�test.support.os_helperr�TestCaser
rtr�rcr�r�rorlrMr_�mainrlrr�<module>r}sU���
�	���
�	��
�
���������3�3�D�+�O-�H�%�%�O-�d84�H�-�-�4�l��f	*�(�+�+�f	*��f	*�R:F�8�,�,�:F�zJ)�h�/�/�J)�ZC4�X�.�.�C4�J
	���	���"�d�*�,K�L�9B�h�/�/�9B�M��9B�x�z���M�M�O���Q^�����s�E�E�E�
E

Youez - 2016 - github.com/yon3zu
LinuXploit