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_dis.cpython-313.opt-1.pyc
�

��i��%��/�SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKJ
r
JrJrJrJr SSKJr \R(SrSr\"5R.R0r"SS5rS\R6R8R:\R6R8R:S	-4-rS
rS\R@R8R:\R@R8R:S-4-r!S
\RDR8R:\RDR8R:S-4-r#S\R6RH<S\<S\R@RH<S\!<S\RDRH<S\#<S3
r%Sr&S\&R8R:\&R8R:S	-\&R8R:S-4-r'S\&R8R:\&R8R:S	-\&R8R:S-4-r(Sr)Sr*S\*R8R:\*R8R:S	-\*R8R:S-\*R8R:S	-\*R8R:S-\*R8R:S	-4-r+/4Sjr,S\,R8R:\,R8R:S	-\-\,R8R:S	-\,R8R:S-\,R8R:S	-4-r.Sr/\/R8RaSS9\/lSr1\2"\R(SS	\R(S S!\R(SS	\R(S"S#\R(S$S/
5r3S%r4\2"\RjS!\RjS!\RjS!\R(S&S'/5r6S(r7S)r8S*r9S+\9R8R:\9R8R:S	-4-r:S,r;S-r<S.r=S/r>S0r?S1r@S2rAS3rBS4rCS5rDS6rES7rFS8rGS9rHS:\R:\R:S	-\R:S-\R:S;-\R:S-\R:S<-\R:S;-\R:S-4-rIS=rJS>\JR8R:\JR8R:S	-4-rKS?rLS@\LR8R:\LR8R:S	-\LR8R:S-\LR8R:S	-\LR8R:S-\LR8R:S	-\LR8R:S-4-rMSArNSB\NR8R:\NR8R:S	-\NR8R:S-\NR8R:S	-\NR8R:S-\NR8R:S	-\NR8R:S-4-rOSCrPSDrQSE\PR8R:\PR8R:S	-\PR8R:S-\PR8R:S<-\PR8R:S<-4-rRSF\QR8R:\QR8R:S	-\QR8R:S-\QR8R:S<-\QR8R:S<-4-rSSGrTSHrUSIrVSJrWSK\WR8R:\WR8R:S	-\-\WR8R:S	-\WR8R:S<-4-rXSL\X\-\WR8R:S	-\WR8R:S	-\WR8R:S-\-\WR8R:S-4-rYSM\Y\-\WR8R:S-\WR8R:S-4-rZGS�SNjr[SO\[R8R:\[R8R:S	-\[R8R:S-4-r\SPr]SQ\]R8R:\]R8R:S	-\]R8R:S-\]R8R:S	-4-r^SRr_SS\_R8R:\_R8R:S	-4-r`Sra"STSU\R�5rc"SVSW\c5rd"SXSY\d5re\R�R�cSZrhOS[rhS\\hS]3ri\jGS�/S_.S`jj5rkSarl\kR�R8R�S	roSbrpScrqSdrrSersSfrtSgru"ShSi\R�5rvGS�SjjrwSkrxS	ry\wR8R:S	-
rz\wR8R�S	r{\{R:\z-
r|\{R�S	r}\}R:\z-
r~S	rSlr�Smr�\GRr�\�"SnSoSSpSpSSS^SSSSq9\�"SnSoS	SrSrSSSsSSSSq9\�"StSuSSSvS<S<S^S	SSSq9\�"S"SwS;SxSySzSzS^SSSSq9\�"S{S|SSpSpS}S}SsSSSSq9\�"S{S|S	SrSrS~S~SsSSSSq9\�"SS�SSSvS�S�SsSSSSq9\�"S"SwS	\{\�"\{5S�S�SsSSSSq9\�"S�S�SSSvS�S�SsSSSSq9\�"S�S�S}S}S�S�S�SsSSSSq9\�"S�S�S	S	S�S�S�SsSSSSq9\�"S�S�SS�S�S�S�SsSSSSq9\�"S�S�S	S�S�S�S�S^S�SSSq9\�"S�S�SSpSpS�S�SsS�SSSq9\�"S�S�S	SrSrS�S�SsS�SSSq9\�"S"SwSSvS�S�S�SsS�SSSq9\�"S"SwSS	S�S�S�SsS�SSSq9\�"S�S�SSSvS�S�SsS�SSSq9\�"S�S�SSSvS�S�SsS�SSSq9\�"S"SwS<S�S�S�S�SsS�SSSq9\�"S�S�S�S�SvS�S�SsS�SSSq9\�"S�S�SSSvS�S�SsS�SSSq9\�"S{S|SS�S�S�S�S^S}SSSq9\�"S$S�SSSvS�S�SsS}SSSq9/r�\�"S�S�SSSvSSS^SSSSq9\�"SnSoSS�S�SSSsSSSSq9\�"SnSoS	S�S�S<S<SsSSSSq9\�"StSuSSSvSzSzS^SSSSq9\�"S"SwSS�S�S}S}S^SSSSq9\�"S{S|SSpSpS~S~SsSSSSq9\�"S{S|S<SrSrS�S�SsSSSSq9\�"S{S|SS�S�S�S�SsSSSSq9\�"S{S|S	S�S�S�S�SsSSSSq9\�"SS�S<S<SvS�S�SsSSSSq9\�"S"SwS	\}\�"\}5S�S�SsSSSSq9\�"S�S�SSSvS�S�SsSSSSq9\�"S�S�S}S}S�S�S�SsSSSSq9\�"S�S�S	S	S�S�S�SsSSSSq9\�"S�S�SS�S�S�S�SsSSSSq9\�"S�S�S	S�S�S�S�S^S;SSSq9\�"S�S�SSpSpS�S�SsS;SSSq9\�"S�S�S<SrSrS�S�SsS;SSSq9\�"S�S�SS�S�S�S�SsS;SSSq9\�"S�S�S	S�S�S�S�SsS;SSSq9\�"S�S�S<S<SvS�S�SsS;SSSq9\�"S�S�SSSvS�S�SsS;SSSq9\�"S{S|SS�S�S�S�S^SzSSSq9\�"S$S�SSSvS�S�SsSzSSSq9/r�\�"S�S�S<S<SvSSS^SSSSq9\�"StSuSSSvSSS^SSSSq9\�"S�S�S	S�S�S<S<S^S<SSSq9\�"S�S�SSpSpS�S�SsS<SSSq9\�"S�S�SSrSrS�S�SsS<SSSq9\�"S�S�S<S�S�S�S�SsS<SSSq9\�"S�S�S;S�S�S�S�SsS<SSSq9\�"S�S�S	S�S�S�S�SsS<SSSq9\�"S�S�SzSzSvS�S�SsS<SSSq9\�"S�S�SSSvS�S�SsS<SSSq9\�"S�S�SSS�S�S�SsS<SSSq9/r�/\�"StSuSSSvSSS^S	SSSS�9P\�"S�S�S	S�S�SSS^SSS/S�QS�9P\�"S"SwS	S~S�S�S�SsSSSSS�9P\�"S�S�S	S	SvS�S�SsSSSS�S�/S�9P\�"S�S�SSSvS�S�SsSSSSS�9P\�"S�S�S�S�S�S�S�SsSS	SS�/S�9P\�"S�S�SS�S�S�S�SsSSSSS�9P\�"S�S�SS�S�S�S�S^S<SS/S�QS�9P\�"S{S|SS�S�S�S�SsS<SSSS�9P\�"S�S�S	S	SvS�S�SsS<SSS�S�/S�9P\�"S�S�SSSvS�S�SsS<SSSS�9P\�"S{S|SS�S�S�S�S^S;SSSS�9P\�"S"SwSS<S�S�S�SsS;SSSS�9P\�"S�S�S�S�S�S�S�SsS;SSS�/S�9P\�"S�S�SS�S�S�S�SsS;SSS�/S�9P\�"S�S�S�S�S�S�S�S^SzSSS�/S�9P\�"S{S|SS�S�S�S�S^S�SSSS�9P\�"S"SwSSzS�S�S�SsS�SSSS�9P\�"S�S�S�S�S�S�S�SsS�SSS�/S�9P\�"S�S�SS�S�S�S�SsS�SSS�/S�9P\�"S�S�S�S�S�S�S�SsS�SSS�/S�9P\�"S�S�SSSvS�S�S^S}SSSS�9P\�"S&S�S�S�S�S�S�SsS}SSSS�9P\�"S�S�SSSvS�S�S^SS<SSS�9P\�"S�S�SSSvS�S�SsSSSSS�9P\�"S�S�SS�S�S�S�S^S~SS/S�QS�9P\�"S"SwS<S�S�S�S�SsS~SSSS�9P\�"S�S�S	S	SvS�S�SsS~SSS�S�/S�9P\�"S�S�SSSvS�S�SsS~SSSS�9P\�"S�S�SS�S�S�S�S^S�S;SSS�9P\�"S�S�SSSvS�S�SsS�SSS�S�/S�9P\�"S�S�S�S�S�S�S�SsS�SSS�/S�9P\�"S�S�SS�S�S�S�S^S�SzS/S�QS�9P\�"S{S|SS�S�S�S�SsS�SSSS�9P\�"S�S�S	S	SvS�S�SsS�SSS�S�/S�9P\�"S�S�SSSvS�S�SsS�SSSS�9P\�"S{S|SS�S�S�S�S^S�SSSS�9P\�"S"SwS;S	S�S�S�SsS�SSSS�9P\�"S�S�GSGSGSGSGSSsS�SSS�/S�9P\�"S�S�SS�S�GSGSSsS�SSSS�9P\�"S{S|SS�S�GSGSS^S�SSSS�9P\�"S"SwSSzS�GSGSSsS�SSSS�9P\�"S�S�S�S�S�GSGSSsS�SSS�/S�9P\�"S�S�SGSGSGS	GS	SsS�SSS�/S�9P\�"S�S�GS
S�S�GSGSS^GSSSS�/S�9P\�"S{S|SS�S�GSGSS^S�S�SSS�9P\�"S"SwSS<S�GS
GS
SsS�SSSS�9P\�"S�S�S�S�S�GSGSSsS�SSS�/S�9P\�"S�S�S	GSGSGSGSSsS�SSS�/S�9P\�"S&S�S�GSGSGSGSS^GSSSSS�9P\�"S{S|SS�S�GSGSS^S�S}SSS�9P\�"S�S�SSSvGSGSSsS�SSS�S�/S�9P\�"S�S�SS�S�GSGSSsS�SSS�/S�9P\�"S�S�S�S�GSGSGSSsS�SSS�/S�9P\�"S�S�SS�S�S�S�S^S�GSS/S�QS�9P\�"S"SwSzGSGSGSGSSsS�SSSS�9P\�"S�S�S	S	SvGSGSSsS�SSS�S�/S�9P\�"S�S�SSSvGSGSSsS�SSSS�9P\�"S S�SSSvGSGSS^S�S~SSS�9P\�"S"SwS;S	S�GS GS S^GS!SSSS�9P\�"S"SwS�SGS"GS#GS#SsGS!SSSS�9P\�"S�S�S�S�GS$GS%GS%SsGS!SSS�/S�9P\�"S�S�SSSvGS&GS&SsGS!SSSS�9P\�"S{S|SS�S�GS'GS'S^GS(SSSS�9P\�"GS)SSSSvGS*GS*SsGS(SSSS�9P\�"S�S�S	GS+GS+GS,GS,SsGS(SSSS�9P\�"S�S�SS�S�GS-GS-S^S�SS/S�QS�9P\�"S"SwS}GS.GS/GS0GS0SsS�SSSS�9P\�"S�S�S	S	SvGS1GS1SsS�SSS�S�/S�9P\�"S�S�SSSvGS2GS2SsS�SSSS�9P\�"S"SwSSS�GS3GS3S^GS(SSSS�9P\�"S"SwSSS�GS4GS4SsGS(SSSS�9P\�"S"SwSSS�GS5GS5SsGS(SSSS�9P\�"S�S�SSSvGS6GS6SsGS(SSS�S�/S�9P\�"S�S�SSSvGS7GS7SsGS(SSSS�9P\�"S�S�SS�S�GS8GS8S^S�S�S/S�QS�9P\�"S"SwS~GS9GS:GS;GS;SsS�SSSS�9P\�"S�S�S	S	SvGS<GS<SsS�SSS�S�/S�9P\�"S�S�SSSvGS=GS=SsS�SSSS�9P\�"S�S�SSS�GS>GS>SsS�SSSS�9P\�"GS?GS@SSSvGSAGSAS^GS(SSSS�9P\�"GSBS�SSSvGSCGSCSsGS(SSSS�9P\�"S�S�SSSvGSDGSDSsGS(SSS�S�/S�9P\�"S�S�S	GSEGSFGSGGSGSsGS(SSS�/S�9P\�"GSHS�SSSvGSIGSISsGS(SSSS�9P\�"S�S�SSSvGSEGSESsGS(S�SSS�9P\�"GSJGS
SSSvGSKGSKSsGS(SSSS�9P\�"S�S�SSSvGSLGSLSsGS(SSSS�9P\�"S�S�SSSvGSMGSMSsGS(SSSS�9P\�"GSNGSOS�GS8GSPGSQGSQSsGS(SSSS�9P\�"GSRGSSSSSvGSTGSTS^SSSSS�9P\�"GSJGS
SSSvGSUGSUSsSSSSS�9P\�"GSHS�S	S	SvGSVGSVSsSSSSS�9P\�"GS?GS@SSSvGSWGSWSsSSSSS�9P\�"S�S�S<GSXGSXGSYGSYS^S�SS/S�QS�9P\�"GSZS�SSSvGS[GS[SsS�SSSS�9P\�"S�S�S�GS\GS]GS^GS^SsS�SSS�/S�9P\�"S�S�SSSvGS_GS_SsS�SSSS�9P\�"S�S�SS�S�GS`GS`S^GSSS/S�QS�9P\�"S"SwGSGSaGSbGScGScSsGSSSSS�9P\�"S�S�S	S	SvGSdGSdSsGSSSS�S�/S�9P\�"S�S�SSSvGSeGSeSsGSSSSS�9P\�"GSJGS
SSSvGSfGSfSsGSSSSS�9P\�"GSNGSOS�GS8GSPGSgGSgSsGSSSSS�9P\�"GSHS�SSSvGS\GS\S^S�S�SSS�9P\�"GSRGSSSSSvGShGShS^SSSSS�9P\�"GSJGS
SSSvGSiGSiSsSSSSS�9P\�"GSHS�S	S	SvGSjGSjSsSSSSS�9P\�"GS?GS@SSSvGSkGSkSsSSSSS�9P\�"S�S�SS�S�GSlGSlS^S�SS/S�QS�9P\�"S"SwS~GS9GS:GSmGSmSsS�SSSS�9P\�"S�S�S	S	SvGSnGSnSsS�SSS�S�/S�9P\�"S�S�SSSvGSoGSoSsS�SSSS�9P\�"GSHS�SSSvGSpGSpSsS�SSSS�9P\�"GSRGSSSSSvGSqGSqS^SSSSS�9P\�"GSJGS
SSSvGSrGSrSsSSSSS�9P\�"GSHS�S	S	SvGSsGSsSsSSSSS�9Pr�GStr�\�"StSuSSSvSSS^\�R8R:SSSq9\�"S�S�SSS�SSSs\�R8R:SGSu9
/r�"GSvGSw\5r�"GSxGSy\�5r�"GSzGS{\�\c5r�"GS|GS}\5r�"GS~GS\R�5r�"GS�GS�\c5r�"GS�GS�\�5r�GS�GS�jr�"GS�GS�\R�5r�\$GS�:Xa\GR&"5 gg(��N)�captured_stdout�requires_debug_ranges�requires_specialization�cpython_only�	os_helper)�BytecodeTestCase�CACHEc�z�SnU"5nUR(aURnUR(aMU$)Nc�Z�SS- W$![anURnSnAU$SnAff=f�N�r)�	Exception�
__traceback__)�e�tbs  �"C:\Python313\\Lib\test\test_dis.py�_error�get_tb.<locals>._errors5��	!�
��E��	���	!����B��	��	!�s�	�
*�%�*)�tb_next)rrs  r�get_tbrs0���
��B�
�*�*�
�Z�Z��
�*�*�*�
�I�c�:�\rSrSrSr\S5r\S5rSr	g)�_C�&c��US:HUlg�Nr
��x)�selfrs  r�__init__�_C.__init__'s
���a���rc��US:Hngr�rs r�sm�_C.sm*s��
��F�rc��US:HUlgrr)�clsrs  r�cm�_C.cm.s
���Q���rrN)
�__name__�
__module__�__qualname__�__firstlineno__r �staticmethodr$�classmethodr(�__static_attributes__r#rrrr&s/����������rra?%3d           RESUME                   0

%3d           LOAD_FAST                1 (x)
              LOAD_CONST               1 (1)
              COMPARE_OP              72 (==)
              LOAD_FAST                0 (self)
              STORE_ATTR               0 (x)
              RETURN_CONST             0 (None)
r
a          RESUME                   0
          LOAD_FAST                1
          LOAD_CONST               1
          COMPARE_OP              72 (==)
          LOAD_FAST                0
          STORE_ATTR               0
          RETURN_CONST             0
a>%3d           RESUME                   0

%3d           LOAD_FAST                1 (x)
              LOAD_CONST               1 (1)
              COMPARE_OP              72 (==)
              LOAD_FAST                0 (cls)
              STORE_ATTR               0 (x)
              RETURN_CONST             0 (None)
�a%3d           RESUME                   0

%3d           LOAD_FAST                0 (x)
              LOAD_CONST               1 (1)
              COMPARE_OP              72 (==)
              STORE_FAST               0 (x)
              RETURN_CONST             0 (None)
zDisassembly of z:
z
Disassembly of �
c��[U5 gr��print)�as r�_fr7hs��	�!�H�rz�%3d           RESUME                   0

%3d           LOAD_GLOBAL              1 (print + NULL)
              LOAD_FAST                0 (a)
              CALL                     1
              POP_TOP

%3d           RETURN_CONST             1 (1)
a&%3d          0       RESUME                   0

%3d          2       LOAD_GLOBAL              1 (print + NULL)
            12       LOAD_FAST                0 (a)
            14       CALL                     1
            22       POP_TOP

%3d         24       RETURN_CONST             1 (1)
z�          RESUME                   0
          LOAD_GLOBAL              1
          LOAD_FAST                0
          CALL                     1
          POP_TOP
          RETURN_CONST             1
c�*�[SS5HnM g)Nr
�
��range)�ress r�	bug708901r=�s���Q�����ra�%3d           RESUME                   0

%3d           LOAD_GLOBAL              1 (range + NULL)
              LOAD_CONST               1 (1)

%3d           LOAD_CONST               2 (10)

%3d           CALL                     2
              GET_ITER
      L1:     FOR_ITER                 3 (to L2)
              STORE_FAST               0 (res)

%3d           JUMP_BACKWARD            5 (to L1)

%3d   L2:     END_FOR
              POP_TOP
              RETURN_CONST             0 (None)
�c��g�Nr#rs r�
bug1333982rA�s��	ra�%3d           RESUME                   0

%3d           LOAD_ASSERTION_ERROR
              LOAD_CONST               1 (<code object <genexpr> at 0x..., file "%s", line %d>)
              MAKE_FUNCTION
              LOAD_FAST                0 (x)
              GET_ITER
              CALL                     0

%3d           LOAD_CONST               2 (1)

%3d           BINARY_OP                0 (+)
              CALL                     0
              RAISE_VARARGS            1
c��gr@r#r#rr�bug42562rC����r����co_linetablezQ          RESUME                   0
          RETURN_CONST             0 (None)
�EXTENDED_ARG�NOP��
LOAD_CONST�)�RETURN_VALUEz�          EXTENDED_ARG             1
          NOP
          EXTENDED_ARG             1
          LOAD_CONST             297
          RETURN_VALUE
�JUMP_FORWARD�z�  L1:     EXTENDED_ARG           255
          EXTENDED_ARG         65535
          EXTENDED_ARG         16777215
          JUMP_FORWARD            -4 (to L1)
c��gr@r#)r6�b�cs   r�
func_w_kwargsrS�rDrc��[SSSS9 g)Nr
r1��rR)rSr#rr�wrap_func_w_kwargsrW�s���!�Q�!�ra�%3d           RESUME                   0

%3d           LOAD_GLOBAL              1 (func_w_kwargs + NULL)
              LOAD_CONST               1 (1)
              LOAD_CONST               2 (2)
              LOAD_CONST               3 (5)
              LOAD_CONST               4 (('c',))
              CALL_KW                  3
              POP_TOP
              RETURN_CONST             0 (None)
a@  0           RESUME                   0

  1           LOAD_CONST               0 (0)
              LOAD_CONST               1 (('*',))
              IMPORT_NAME              0 (math)
              CALL_INTRINSIC_1         2 (INTRINSIC_IMPORT_STAR)
              POP_TOP
              RETURN_CONST             2 (None)
z�  0           RESUME                   0

  1           LOAD_NAME                0 (a)
              CALL_INTRINSIC_1         5 (INTRINSIC_UNARY_POSITIVE)
              RETURN_VALUE
a  0           RESUME                   0

  1           BUILD_LIST               0
              LOAD_NAME                0 (a)
              LIST_EXTEND              1
              CALL_INTRINSIC_1         6 (INTRINSIC_LIST_TO_TUPLE)
              RETURN_VALUE
z�  1           RESUME                   0

%3d           LOAD_GLOBAL              0 (spam)
              POP_TOP
              RETURN_CONST             0 (None)
z�   1           RESUME                   0

%4d           LOAD_GLOBAL              0 (spam)
               POP_TOP
               RETURN_CONST             0 (None)
z�Disassembly of f:
  4           RESUME                   0
              RETURN_CONST             0 (None)

Disassembly of g:
  5           RESUME                   0
              RETURN_CONST             0 (None)

zx + 1z�  0           RESUME                   0

  1           LOAD_NAME                0 (x)
              LOAD_CONST               0 (1)
              BINARY_OP                0 (+)
              RETURN_VALUE
z	x = x + 1a  0           RESUME                   0

  1           LOAD_NAME                0 (x)
              LOAD_CONST               0 (1)
              BINARY_OP                0 (+)
              STORE_NAME               0 (x)
              RETURN_CONST             1 (None)
z+
x: int = 1
y: fun(1)
lst[fun(0)]: int = 1
a  0           RESUME                   0

  2           SETUP_ANNOTATIONS
              LOAD_CONST               0 (1)
              STORE_NAME               0 (x)
              LOAD_NAME                1 (int)
              LOAD_NAME                2 (__annotations__)
              LOAD_CONST               1 ('x')
              STORE_SUBSCR

  3           LOAD_NAME                3 (fun)
              PUSH_NULL
              LOAD_CONST               0 (1)
              CALL                     1
              LOAD_NAME                2 (__annotations__)
              LOAD_CONST               2 ('y')
              STORE_SUBSCR

  4           LOAD_CONST               0 (1)
              LOAD_NAME                4 (lst)
              LOAD_NAME                3 (fun)
              PUSH_NULL
              LOAD_CONST               3 (0)
              CALL                     1
              STORE_SUBSCR
              LOAD_NAME                1 (int)
              POP_TOP
              RETURN_CONST             4 (None)
zx = 0
while 1:
    x += 1a  0           RESUME                   0

  1           LOAD_CONST               0 (0)
              STORE_NAME               0 (x)

  2           NOP

  3   L1:     LOAD_NAME                0 (x)
              LOAD_CONST               1 (1)
              BINARY_OP               13 (+=)
              STORE_NAME               0 (x)

  2           JUMP_BACKWARD            7 (to L1)
aK%4d           RESUME                   0

%4d           NOP

%4d   L1:     LOAD_CONST               1 (1)
               LOAD_CONST               2 (0)
           --> BINARY_OP               11 (/)
               POP_TOP

%4d   L2:     LOAD_FAST_CHECK          1 (tb)
               RETURN_VALUE

  --   L3:     PUSH_EXC_INFO

%4d           LOAD_GLOBAL              0 (Exception)
               CHECK_EXC_MATCH
               POP_JUMP_IF_FALSE       23 (to L7)
               STORE_FAST               0 (e)

%4d   L4:     LOAD_FAST                0 (e)
               LOAD_ATTR                2 (__traceback__)
               STORE_FAST               1 (tb)
       L5:     POP_EXCEPT
               LOAD_CONST               0 (None)
               STORE_FAST               0 (e)
               DELETE_FAST              0 (e)

%4d           LOAD_FAST                1 (tb)
               RETURN_VALUE

  --   L6:     LOAD_CONST               0 (None)
               STORE_FAST               0 (e)
               DELETE_FAST              0 (e)
               RERAISE                  1

%4d   L7:     RERAISE                  0

  --   L8:     COPY                     3
               POP_EXCEPT
               RERAISE                  1
ExceptionTable:
  L1 to L2 -> L3 [0]
  L3 to L4 -> L8 [1] lasti
  L4 to L5 -> L6 [1] lasti
  L6 to L8 -> L8 [1] lasti
rU�c�$�USUSSU<SU<S3$)N� �4r#�r6rQrR�ds    r�_fstringr^�s%���S��!�A��a��u�A�a�W�!�W�%�%ra�%3d           RESUME                   0

%3d           LOAD_FAST                0 (a)
              FORMAT_SIMPLE
              LOAD_CONST               1 (' ')
              LOAD_FAST                1 (b)
              LOAD_CONST               2 ('4')
              FORMAT_WITH_SPEC
              LOAD_CONST               1 (' ')
              LOAD_FAST                2 (c)
              CONVERT_VALUE            2 (repr)
              FORMAT_SIMPLE
              LOAD_CONST               1 (' ')
              LOAD_FAST                3 (d)
              CONVERT_VALUE            2 (repr)
              LOAD_CONST               2 ('4')
              FORMAT_WITH_SPEC
              BUILD_STRING             7
              RETURN_VALUE
c�H�U SnSSS5 Sng!,(df   Sng=f�Nr
r1r#�rRr�ys   r�_withrc�s!��	
�
��
�	�A�
��	�A�s��
!a�%4d           RESUME                   0

%4d           LOAD_FAST                0 (c)
               BEFORE_WITH
       L1:     POP_TOP

%4d           LOAD_CONST               1 (1)
               STORE_FAST               1 (x)

%4d   L2:     LOAD_CONST               0 (None)
               LOAD_CONST               0 (None)
               LOAD_CONST               0 (None)
               CALL                     2
               POP_TOP

%4d           LOAD_CONST               2 (2)
               STORE_FAST               2 (y)
               RETURN_CONST             0 (None)

%4d   L3:     PUSH_EXC_INFO
               WITH_EXCEPT_START
               TO_BOOL
               POP_JUMP_IF_TRUE         1 (to L4)
               RERAISE                  2
       L4:     POP_TOP
       L5:     POP_EXCEPT
               POP_TOP
               POP_TOP

%4d           LOAD_CONST               2 (2)
               STORE_FAST               2 (y)
               RETURN_CONST             0 (None)

  --   L6:     COPY                     3
               POP_EXCEPT
               RERAISE                  1
ExceptionTable:
  L1 to L2 -> L3 [1] lasti
  L3 to L5 -> L6 [3] lasti
c��# �UIShv�N SnSSS5IShv�N SngNN	!,IShv�N(df   Sng=f7fr`r#ras   r�
_asyncwithres+����q�
���q�	�A��q�q�q�	�A�s8�A�#�A�'�A�%�A�A�A�0�A�	Aa�
%4d            RETURN_GENERATOR
                POP_TOP
        L1:     RESUME                   0

%4d            LOAD_FAST                0 (c)
                BEFORE_ASYNC_WITH
                GET_AWAITABLE            1
                LOAD_CONST               0 (None)
        L2:     SEND                     3 (to L5)
        L3:     YIELD_VALUE              1
        L4:     RESUME                   3
                JUMP_BACKWARD_NO_INTERRUPT 5 (to L2)
        L5:     END_SEND
        L6:     POP_TOP

%4d            LOAD_CONST               1 (1)
                STORE_FAST               1 (x)

%4d    L7:     LOAD_CONST               0 (None)
                LOAD_CONST               0 (None)
                LOAD_CONST               0 (None)
                CALL                     2
                GET_AWAITABLE            2
                LOAD_CONST               0 (None)
        L8:     SEND                     3 (to L11)
        L9:     YIELD_VALUE              1
       L10:     RESUME                   3
                JUMP_BACKWARD_NO_INTERRUPT 5 (to L8)
       L11:     END_SEND
                POP_TOP

%4d            LOAD_CONST               2 (2)
                STORE_FAST               2 (y)
                RETURN_CONST             0 (None)

%4d   L12:     CLEANUP_THROW
       L13:     JUMP_BACKWARD_NO_INTERRUPT 25 (to L5)
       L14:     CLEANUP_THROW
       L15:     JUMP_BACKWARD_NO_INTERRUPT 9 (to L11)
       L16:     PUSH_EXC_INFO
                WITH_EXCEPT_START
                GET_AWAITABLE            2
                LOAD_CONST               0 (None)
       L17:     SEND                     4 (to L21)
       L18:     YIELD_VALUE              1
       L19:     RESUME                   3
                JUMP_BACKWARD_NO_INTERRUPT 5 (to L17)
       L20:     CLEANUP_THROW
       L21:     END_SEND
                TO_BOOL
                POP_JUMP_IF_TRUE         1 (to L22)
                RERAISE                  2
       L22:     POP_TOP
       L23:     POP_EXCEPT
                POP_TOP
                POP_TOP

%4d            LOAD_CONST               2 (2)
                STORE_FAST               2 (y)
                RETURN_CONST             0 (None)

  --   L24:     COPY                     3
                POP_EXCEPT
                RERAISE                  1
       L25:     CALL_INTRINSIC_1         3 (INTRINSIC_STOPITERATION_ERROR)
                RERAISE                  1
ExceptionTable:
  L1 to L3 -> L25 [0] lasti
  L3 to L4 -> L12 [3]
  L4 to L6 -> L25 [0] lasti
  L6 to L7 -> L16 [1] lasti
  L7 to L9 -> L25 [0] lasti
  L9 to L10 -> L14 [2]
  L10 to L13 -> L25 [0] lasti
  L14 to L15 -> L25 [0] lasti
  L16 to L18 -> L24 [3] lasti
  L18 to L19 -> L20 [6]
  L19 to L23 -> L24 [3] lasti
  L23 to L25 -> L25 [0] lasti
c�.�UU"5 $!U"5 f=fr@r#�r6rQs  r�_tryfinallyrh~�����	�����s��	c�.�U"5 g!U"5 f=frr#)rQs r�_tryfinallyconstrk�ris�	a�%4d           RESUME                   0

%4d           NOP

%4d   L1:     LOAD_FAST                0 (a)

%4d   L2:     LOAD_FAST                1 (b)
               PUSH_NULL
               CALL                     0
               POP_TOP
               RETURN_VALUE

  --   L3:     PUSH_EXC_INFO

%4d           LOAD_FAST                1 (b)
               PUSH_NULL
               CALL                     0
               POP_TOP
               RERAISE                  0

  --   L4:     COPY                     3
               POP_EXCEPT
               RERAISE                  1
ExceptionTable:
  L1 to L2 -> L3 [0]
  L3 to L4 -> L4 [1] lasti
ao%4d           RESUME                   0

%4d           NOP

%4d           NOP

%4d           LOAD_FAST                0 (b)
               PUSH_NULL
               CALL                     0
               POP_TOP
               RETURN_CONST             1 (1)

  --   L1:     PUSH_EXC_INFO

%4d           LOAD_FAST                0 (b)
               PUSH_NULL
               CALL                     0
               POP_TOP
               RERAISE                  0

  --   L2:     COPY                     3
               POP_EXCEPT
               RERAISE                  1
ExceptionTable:
  L1 to L2 -> L2 [1] lasti
c#�# �Uv� g7fr@r#rs r�_grm�s
���
�G�s�c�# �U7v� g7fr@r#rs r�_agro�s
���
�G�s�	c��># �[U5Shv�NnMN
g7fr@)ro)r�items  r�_corr�s����!�f�
�d��
�f�s�������c�^�U4SjnU$)Nc�0>^�[U4SjT55$)�funcdocc3�.># �UH
nTU-v� M g7fr@r#)�.0�zrs  �r�	<genexpr>�"_h.<locals>.foo.<locals>.<genexpr>�s����%�1�a�A��E�1�s�)�list�rrbs`�r�foo�_h.<locals>.foo�s����%�1�%�%�%rr#)rbr}s` r�_hr�s���&��Jra�  --           MAKE_CELL                0 (y)

%4d           RESUME                   0

%4d           LOAD_FAST                0 (y)
               BUILD_TUPLE              1
               LOAD_CONST               1 (<code object foo at 0x..., file "%s", line %d>)
               MAKE_FUNCTION
               SET_FUNCTION_ATTRIBUTE   8 (closure)
               STORE_FAST               1 (foo)

%4d           LOAD_FAST                1 (foo)
               RETURN_VALUE
a�%s
Disassembly of <code object foo at 0x..., file "%s", line %d>:
  --           COPY_FREE_VARS           1
               MAKE_CELL                0 (x)

%4d           RESUME                   0

%4d           LOAD_GLOBAL              1 (list + NULL)
               LOAD_FAST                0 (x)
               BUILD_TUPLE              1
               LOAD_CONST               1 (<code object <genexpr> at 0x..., file "%s", line %d>)
               MAKE_FUNCTION
               SET_FUNCTION_ATTRIBUTE   8 (closure)
               LOAD_DEREF               1 (y)
               GET_ITER
               CALL                     0
               CALL                     1
               RETURN_VALUE
a�%s
Disassembly of <code object <genexpr> at 0x..., file "%s", line %d>:
  --           COPY_FREE_VARS           1

%4d           RETURN_GENERATOR
               POP_TOP
       L1:     RESUME                   0
               LOAD_FAST                0 (.0)
               GET_ITER
       L2:     FOR_ITER                10 (to L3)
               STORE_FAST               1 (z)
               LOAD_DEREF               2 (x)
               LOAD_FAST                1 (z)
               BINARY_OP                0 (+)
               YIELD_VALUE              0
               RESUME                   5
               POP_TOP
               JUMP_BACKWARD           12 (to L2)
       L3:     END_FOR
               POP_TOP
               RETURN_CONST             0 (None)

  --   L4:     CALL_INTRINSIC_1         3 (INTRINSIC_STOPITERATION_ERROR)
               RERAISE                  1
ExceptionTable:
  L1 to L4 -> L4 [0] lasti
c��Xp2X#4$r@r#)rrbr6rQs    r�	load_testr�-s���q��4�Krz�%3d           RESUME_CHECK             0

%3d           LOAD_FAST_LOAD_FAST      1 (x, y)
              STORE_FAST_STORE_FAST   50 (b, a)

%3d           LOAD_FAST_LOAD_FAST     35 (a, b)
              BUILD_TUPLE              2
              RETURN_VALUE
c�6�/SQS-Hn[U5 M g)N)r
r1r>r>�r�)�is r�	loop_testr�>s��
��]���!��ra�%3d           RESUME_CHECK             0

%3d           BUILD_LIST               0
              LOAD_CONST               1 ((1, 2, 3))
              LIST_EXTEND              1
              LOAD_CONST               2 (3)
              BINARY_OP                5 (*)
              GET_ITER
      L1:     FOR_ITER_LIST           14 (to L2)
              STORE_FAST               0 (i)

%3d           LOAD_GLOBAL_MODULE       1 (load_test + NULL)
              LOAD_FAST                0 (i)
              CALL_PY_GENERAL          1
              POP_TOP
              JUMP_BACKWARD           16 (to L1)

%3d   L2:     END_FOR
              POP_TOP
              RETURN_CONST             0 (None)
c��SGt ng)N.r#)�_s r�extended_arg_quickr�\s���E�Q�ra#%3d           RESUME                   0

%3d           LOAD_CONST               1 (Ellipsis)
              EXTENDED_ARG             1
              UNPACK_EX              256
              POP_TOP
              STORE_FAST               0 (_)
              RETURN_CONST             0 (None)
c�*�\rSrSrSrSrSrSrSrg)�DisTestBaseimz2Common utilities for DisTests and TestDisTracebackc�2�[R"SSU5$)Nz\b0x[0-9A-Fa-f]+\bz0x...)�re�sub)r�texts  r�strip_addresses�DisTestBase.strip_addressesps���v�v�+�W�d�;�;rc��Sup#SnUHon[R"SU5nUR5Vs/sHn[U5PM snup�UR	X�5 UR	X�5 X�p2US-
nMq U$s snf)N)���r�rz"  L(\d+) to L(\d+) -> L\d+ \[\d+\]r
)r��match�groups�int�assertGreaterEqual)
r�lines�
prev_start�prev_end�count�line�m�g�start�ends
          r�!assert_exception_table_increasing�-DisTestBase.assert_exception_table_increasingss���%��
����D����>��E�A�*+�(�(�*�5�*�Q�#�a�&�*�5�J�E��#�#�C�/��#�#�E�4�#(���Q�J�E�
����6s�A>c�R�X:waURU5nURX5 gr@)r��assertEqual�r�got�expecteds   r�do_disassembly_compare�"DisTestBase.do_disassembly_compares%���?��&�&�s�+�C�����'rr#N)	r*r+r,r-�__doc__r�r�r�r0r#rrr�r�ms��8�<�
�(rr�c���\rSrSrSrS3SjrS4SjrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)\*\+4S(j5r,\-\.S)55r/\-\.S*55r0\-\.S+55r1\-\.S,55r2\-\.S-55r3\-S.5r4S/r5\-S05r6\-S15r7S2r8g)5�DisTestsi�Nc�6�[R"5n[R"U5 U(a[R"U40UD6 O[R
"X40UD6 SSS5 UR
5$!,(df   UR
5$=fr@)�io�StringIO�
contextlib�redirect_stdout�dis�disassemble�getvalue�r�func�lasti�wrapper�kwargs�outputs      r�get_disassembly�DisTests.get_disassembly�sl�������
�
'�
'��
/������'��'�����6�v�6�	0�
��� � �0�
/�
��� � �s�7A;�;
Bc�&�URXS5$)NF)r�)rr�r�s   r�get_disassemble_as_string�"DisTests.get_disassemble_as_string�s���#�#�D��7�7rc��SUlUR"U4SS0UD6nURXB5 [US5(av[R
"5n[R"U5 [R"UR40UD6 SSS5 URUR5U5 gg!,(df   N0=f)N�depthr�__code__)�maxDiffr�r��hasattrr�r�r�r�r��discor�r�)rr�r�r�r��	got_discos      r�do_disassembly_test�DisTests.do_disassembly_test�s�������"�"�4�;�q�;�F�;���#�#�C�2��4��$�$����
�I��+�+�I�6��	�	�$�-�-�2�6�2�7��'�'�	�(:�(:�(<�h�G�	%�6�6�s�*"B6�6
Cc��UR[RSS5 UR[RS[R5 UR[RS[R
5 g)Nr	rrK�
STORE_NAME)r�r��opmap�assertIn�hasconst�hasname�rs r�
test_opmap�DisTests.test_opmap�sQ��������7�+�Q�/��
�
�c�i�i��-�s�|�|�<��
�
�c�i�i��-�s�{�{�;rc�l�UR[R[RSS5 g)N�	LOAD_FAST)r�r��opnamer�r�s r�test_opname�DisTests.test_opname�s$��������C�I�I�k�$:�;�[�Irc�f�UR[RS[R5 g)NrH)r�r�r�rHr�s r�test_boundaries�DisTests.test_boundaries�s!��������>�2�C�4D�4D�Erc��[SS/5n[[R5H�up#X1;dUR	S5(aM"URUS9 [RnU[R;aUS[R--
nUR[U5U5 SSS5 M� g!,(df   M�=f)N�JUMP_BACKWARD_NO_INTERRUPT�INSTRUMENTED_CALL_FUNCTION_EX�INSTRUMENTED)r�r
)�set�	enumerater�r��
startswith�subTest�
_OPNAME_WIDTH�hasarg�_OPARG_WIDTH�assertLessEqual�len)r�long_opcodes�opcoder��widths     r�test_widths�DisTests.test_widths�s����8�;�=�>��'��
�
�3�N�F��%��):�):�>�)J�)J�����V��,��)�)���S�Z�Z�'��Q��!1�!1�1�1�E��$�$�S��[�%�8�	-�,�4�-�,�s
�AB;�;
C
	c�8�UR[[5 gr@)r�r7�dis_fr�s r�test_dis�DisTests.test_dis����� � ��U�+rc�6�UR[[SS9 g)NT)�show_offsets)r�r7�dis_f_with_offsetsr�s r�test_dis_with_offsets�DisTests.test_dis_with_offsets�s��� � ��%7�d� �Krc�8�UR[[5 gr@)r�r=�
dis_bug708901r�s r�test_bug_708901�DisTests.test_bug_708901�s��� � ��M�:rc�\�URS5 UR[[5 g)Nzneed asserts, run without -O)�skipTestr�rA�dis_bug1333982r�s r�test_bug_1333982�DisTests.test_bug_1333982�s$����M�M�8�9�� � ��^�<rc�8�UR[[5 gr@)r�rC�dis_bug42562r�s r�test_bug_42562�DisTests.test_bug_42562�s��� � ��<�8rc�8�UR[[5 gr@)r��code_bug_45757�
dis_bug_45757r�s r�test_bug_45757�DisTests.test_bug_45757�s��� � ���?rc�8�UR[[5 gr@)r��bug46724�dis_bug46724r�s r�test_bug_46724�DisTests.test_bug_46724�s��� � ��<�8rc�8�UR[[5 gr@)r�rW�dis_kw_namesr�s r�
test_kw_names�DisTests.test_kw_names�s��� � �!3�\�Brc��URS[5 URS[5 URS[5 g)Nzfrom math import *z+az(*a,))r��dis_intrinsic_1_2�dis_intrinsic_1_5�dis_intrinsic_1_6r�s r�test_intrinsic_1�DisTests.test_intrinsic_1�s6��� � �!5�7H�I�� � ��'8�9�� � ��*;�<rc�F�URSURS55 g)Nz8CALL_INTRINSIC_2         1 (INTRINSIC_PREP_RERAISE_STAR)ztry: pass
except* Exception: x)r�r�r�s r�test_intrinsic_2�DisTests.test_intrinsic_2�s!���
�
�P��*�*�+L�M�	Orc��Sn[SS5H'n[US--nURU"U5U5 M) [SSS5H'n[US--nURU"U5U5 M) [SSS5H'n[US--nURU"U5U5 M) SS	KJn URU[5 g)
Nc�^�0nSSRS/U-S/-5-n[X!5 US$)Nzdef foo():
 �z
 zspam
r})�join�exec)r��	namespacer�s   rr��'DisTests.test_big_linenos.<locals>.func�s:���I�"�R�W�W�e�W�u�_��z�-I�%J�J�D���!��U�#�#rr
i,r1��r9i�r)�
dis_module)r;�_BIG_LINENO_FORMATr��_BIG_LINENO_FORMAT2�testr!�dis_module_expected_results)rr�r�r�r!s     r�test_big_linenos�DisTests.test_big_linenos�s���	$��q�#��A�)�Q��U�3�H��$�$�T�!�W�h�7��
�s�D�"�%�A�)�Q��U�3�H��$�$�T�!�W�h�7�&��t�T�2�&�A�*�a�!�e�4�H��$�$�T�!�W�h�7�'�	$�� � ��-H�Irc���UR[[5 UR[[5 UR[
[5 UR[[5 gr@)	r��expr_str�dis_expr_str�simple_stmt_str�dis_simple_stmt_str�annot_stmt_str�dis_annot_stmt_str�compound_stmt_str�dis_compound_stmt_strr�s r�test_disassemble_str�DisTests.test_disassemble_str�sF��� � ��<�8�� � ��2E�F�� � ��1C�D�� � �!2�4I�Jrc�`�UR[RR[5 gr@)r�r7r��co_code�
dis_f_co_coder�s r�test_disassemble_bytes�DisTests.test_disassemble_bytess��� � ����!4�!4�m�Drc�8�UR[[5 gr@)r�r�dis_cr�s r�test_disassemble_class�DisTests.test_disassemble_classr�rc�V�UR[S5R[5 gr)r�rr �dis_c_instance_methodr�s r� test_disassemble_instance_method�)DisTests.test_disassemble_instance_methods��� � ��A����1F�Grc��[S5RRRnUR	U[
5 gr)rr r�r4r��dis_c_instance_method_bytes)r�method_bytecodes  r�&test_disassemble_instance_method_bytes�/DisTests.test_disassemble_instance_method_bytes	s,���Q�%�.�.�1�1�9�9��� � ��2M�Nrc�L�UR[R[5 gr@)r�rr$�dis_c_static_methodr�s r�test_disassemble_static_method�'DisTests.test_disassemble_static_method
s��� � ����(;�<rc�L�UR[R[5 gr@)r�rr(�dis_c_class_methodr�s r�test_disassemble_class_method�&DisTests.test_disassemble_class_methods��� � ����(:�;rc��UR[5nUR[S55nURX!5 gr)r�rmr�)r�gen_func_disas�	gen_disass   r�test_disassemble_generator�#DisTests.test_disassemble_generators4���-�-�b�1���(�(��A��/�	�����3rc��UR[5nUR[S55nURX!5 gr)r�ror�)r�agen_func_disas�
agen_disass   r� test_disassemble_async_generator�)DisTests.test_disassemble_async_generators4���.�.�s�3���)�)�#�a�&�1�
�����5rc��UR[5n[S5nUR5 URU5nURX15 gr)r�rr�closer�)r�coro_func_disas�coro�
coro_disass    r�test_disassemble_coroutine�#DisTests.test_disassemble_coroutinesB���.�.�s�3���1�v���
�
���)�)�$�/�
�����5rc�8�UR[[5 gr@)r�r^�dis_fstringr�s r�test_disassemble_fstring�!DisTests.test_disassemble_fstring$s��� � ��;�7rc�8�UR[[5 gr@)r�rc�dis_withr�s r�test_disassemble_with�DisTests.test_disassemble_with's��� � ���1rc�8�UR[[5 gr@)r�re�
dis_asyncwithr�s r�test_disassemble_asyncwith�#DisTests.test_disassemble_asyncwith*s��� � ��]�;rc�l�UR[[5 UR[[5 gr@)r�rh�dis_tryfinallyrk�dis_tryfinallyconstr�s r�test_disassemble_try_finally�%DisTests.test_disassemble_try_finally-s$��� � ��n�=�� � �!1�3F�Grc��[?[?UR	[
[RS5 g![a N9f=f![a NBf=fr@)�sys�last_exc�AttributeError�last_traceback�assertRaises�RuntimeErrorr�r�s r�
test_dis_none�DisTests.test_dis_none1sV��	���	��"�	
���,�����6��
�	��	���	��	�s �5�A�
A�A�
A�Ac�,�SUl[?SS- URWRRUR5nURSU5 g![a NUf=f![a!nUR
nU[lSnANySnAff=fr)r�rprsrrrrrqr��tb_frame�f_code�tb_lastir�)rrr�tb_diss    r�test_dis_traceback�DisTests.test_dis_traceback<s������	��"�	�
�a�C�
�/�/����0B�0B�B�K�K�P��� � ��v�.���	��	��
�	����B��C�L�L��	�s(�A�A(�
A%�$A%�(
B�2B�Bc�^�UR[[R[55 gr@)rt�	TypeErrorr��objectr�s r�test_dis_object�DisTests.test_dis_objectLs�����)�S�W�W�f�h�7rc�^�U4SjnU"[SS9 U"[SS9 U"[SS9 U"[SS9 U"[SS9 U"[5 g)Nc�x>�TR"[40UD6nTRU5nTRX 5 gr@)r�rr�r�)r�r�r�rs   �r�check�2DisTests.test_disassemble_recursive.<locals>.checkPs6����&�&�r�4�V�4�C��&�&�s�+�C����S�+rr)r�r
r1r>)�dis_nested_0�dis_nested_1�dis_nested_2)rr�s` r�test_disassemble_recursive�#DisTests.test_disassemble_recursiveOsD���	,�
	�l�!�$�
�l�!�$�
�l�!�$�
�l�!�$�
�l�$�'�
�l�rc��[R"SS5 g![a%nURUR5 SnAgSnAff=f)N�)r)r��_try_compiler�assertIsNone�__context__)rrs  r�)test__try_compile_no_context_exc_on_error�2DisTests.test__try_compile_no_context_exc_on_error\s<��	-����S�"�%���	-����a�m�m�,�,��	-�s��
A	�A�A	c�6�[U5H
nU"5 M gr@r:)�f�timesr�s   r�code_quicken�DisTests.code_quickencs���u��A�
�C�rc�|�URS5 UR[SS9nURU[5 g)Nc��[SS5$)Nrr�r#rr�<lambda>�2DisTests.test_super_instructions.<locals>.<lambda>ks
��)�A�q�/rT��adaptive)r�r�r�r��dis_load_test_quickened_code�rr�s  r�test_super_instructions� DisTests.test_super_instructionshs9��	
���1�2��"�"�9�t�"�<���#�#�C�)E�Frc�D^^^^�Sn[SSS5mURU4Sj5 URTSS9nURX!S-5 [SS	S5mURU4S
j5 URTSS9nURX!S-5 Sn[S
SS5mURU4Sj5 URTSS9nURX#S-5 [S
SS5mURU4Sj5 URTSS9nURX#S-5 g)Nz�  0           RESUME_CHECK             0

  1           LOAD_NAME                0 (a)
              LOAD_NAME                1 (b)
              %s
              RETURN_VALUE
za + bz<int>�evalc�$>�[T0SSS.5$)Nr
r1rg�r)�co_ints�rr��1DisTests.test_binary_specialize.<locals>.<lambda>{s���$�v�r���3C�"DrTr�zBINARY_OP_ADD_INT        0 (+)z	<unicode>c�$>�[T0SSS.5$)Nr6rQrgr�)�
co_unicodes�rr�r��s���$�z�2�S�s�7K�"LrzBINARY_OP_ADD_UNICODE    0 (+)z�  0           RESUME_CHECK             0

  1           LOAD_NAME                0 (a)
              LOAD_CONST               0 (0)
              %s
              RETURN_VALUE
za[0]z<list>c�$>�[T0SS/05$)Nr6rr�)�co_lists�rr�r��s���$�w��S�1�#�J�"?r�BINARY_SUBSCR_LIST_INTz<dict>c�&>�[T0SSS005$)Nr6r�1r�)�co_dicts�rr�r��s���$�w��S�1�c�(�O�"Dr�BINARY_SUBSCR_DICT��compiler�r�r�)r�binary_op_quickenr��binary_subscr_quickenr�r�r�r�s    @@@@r�test_binary_specialize�DisTests.test_binary_specializeos/�������'�6�2�����D�E��"�"�6�D�"�9���#�#�C�=]�)]�^��W�k�6�:�
����L�M��"�"�:��"�=���#�#�C�=]�)]�^�!���&�(�F�3�����?�@��"�"�7�T�"�:���#�#�C�AY�)Y�Z��&�(�F�3�����D�E��"�"�7�T�"�:���#�#�C�AU�)U�Vrc�^�Sn[SSS5mURU4Sj5 URTSS9nURX!5 g)Nz�  0           RESUME_CHECK             0

  1           LOAD_CONST               0 ('a')
              LOAD_ATTR_SLOT           0 (__class__)
              RETURN_VALUE
z
'a'.__class__rr�c�>�[T005$r@r���cos�rr��4DisTests.test_load_attr_specialize.<locals>.<lambda>�����$�r�2�r�"2rTr�r�)r�load_attr_quickenr�r�s   @r�test_load_attr_specialize�"DisTests.test_load_attr_specialize�sM������_�b�&�
1�����2�3��"�"�2��"�5���#�#�C�;rc�^�Sn[SSS5mURU4Sj5 URTSS9nURX!5 g)Nz�  0           RESUME_CHECK             0

  1           LOAD_NAME                0 (str)
              PUSH_NULL
              LOAD_CONST               0 (1)
              CALL_STR_1               1
              RETURN_VALUE
zstr(1)rr�c�>�[T005$r@r�r�s�rr��/DisTests.test_call_specialize.<locals>.<lambda>�r�rTr�r�)r�call_quickenr�r�s   @r�test_call_specialize�DisTests.test_call_specialize�sL������X�r�6�
*�����2�3��"�"�2��"�5���#�#�C�6rc��UR[S5 UR[SS9n[nUR	X5 g)NrXTr�)r�r�r��dis_loop_test_quickened_coder�r�s   r�test_loop_quicken�DisTests.test_loop_quicken�s<��	
���)�Q�'��"�"�9�t�"�<��/���#�#�C�2rc�Z�UR[5nURU[5 gr@)r�r�r��dis_extended_arg_quick_coder�s  r�test_extended_arg_quick� DisTests.test_extended_arg_quick�s$���"�"�#5�6���#�#�C�)D�Erc#�# �SnU(aURU5 OURR5Ul[[R
"USUS9SS9H#nURS:XdMURv� M% g7f)Nc�N�/n[S5HnURU5 M g)N�*)r;�append)�lr�s  rr��%DisTests.get_cached_values.<locals>.f�s ���A��2�Y�������rT)�show_cachesr��r�r	)r�r��replace�_unroll_caches_as_Instructionsr��get_instructionsr��argrepr)r�	quickenedr�r��instructions     r�get_cached_values�DisTests.get_cached_values�su���	�����a� ����+�+�-�A�J�9�#�:N�:N�
�4�(�;
���K��!�!�W�,�!�)�)�)�	�s�A+B�1Bc	��SH�nSH�nURSU<SU<35 U(aSnOSn[URX55nUHnURXS5 M SnSnUR	URS5U5 UR	[
U5U5 SSS5 M� M� g!,(df   M�=f)	N�FTz
quickened=z, adaptive=z
^(\w+: \d+)?$z^(\w+: 0)?$��r)r�r{r��assertRegexr�r�r�)rr�r��pattern�caches�cache�total_caches�empty_cachess        r�test_show_caches�DisTests.test_show_caches�s���&�I�)���\�\�Z�Y�L��8�+�">�?��"2��"0��!�$�"8�"8��"M�N�F�!'���(�(��8�"(�#%�L�#$�L��$�$�V�\�\�"�%5�|�D��$�$�S��[�,�?�@�?�*�'�?�?�s�BB6�6
Cc��Sn[[R"USS9SS9H<nURS:XaURS-
nURn O!URnM> URS5 UR
URWSS9nUR
URWSS9nURUS	W35 URXg5 g
)zX
Make sure that with lasti pointing to CACHE, it still shows the current
line correctly
c�"�[[5 gr@)r5r6r#rrr��2DisTests.test_show_currinstr_with_cache.<locals>.f�s	���!�HrTr�r	r1z@Can't find a CACHE entry in the function provided to do the testF)r�r�z--> N)
r�r�r�r��offset�failr�r�r�r�)rr��inst�	op_offset�cache_offsetr��assem_op�assem_caches        r�test_show_currinstr_with_cache�'DisTests.test_show_currinstr_with_cache�s���	�3��$�$�Q�D�9�t�M�D��{�{�g�%� �K�K�!�O�	�#�{�{�������M�
�I�I�X�Y��'�'��
�
�)�U�'�S���*�*�1�:�:�\�SX�*�Y��	
����d�6�(�#3�4�����/r�r��r�T)r�)9r*r+r,r-r�r�r�r�r�r�r�r�r�r�r�r�rrr
rrrr&r1r6r:r>rCrGrKrPrUr\r`rdrhrmrvr}r�r�r�r.�ADAPTIVE_WARMUP_DELAYr�rrr�r�r�r�r�r�r�r�r�r0r#rrr�r��s����G�!�8�	H�<�
J�F�
9�,�L�;�=�9�@�9�C�=�O�J�0K�E�,�H�O�=�<�4�
6�
6�8�2�<�H�	7�/� 8��-��3������G���G�
��#W���#W�J��<���<���
7���
7���3���3��F��F�*� �@��@� �0��0rr�c��\rSrSrSSjrSrg)�DisWithFileTestsic���[R"5nU(a)[R"U4SU0UD6 UR	5$[R"X4SU0UD6 UR	5$)N�file)r�r�r�r�r�r�s      rr�� DisWithFileTests.get_disassemblysZ���������G�G�D�0�v�0��0���� � �
�O�O�D�?�f�?��?���� � rr#Nr��r*r+r,r-r�r0r#rrr�r�s��!rr�z0: Nonez60: 'Formatted details of methods, functions, or code.'z�Name:              code_info
Filename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS
Constants:
   zN
Names:
   0: _format_code_info
   1: _get_code_object
Variable names:
   0: xT)rc	/�V^^^^^^^^
# �U4UUUUU
UUU4Sjjm
TTTTTUTTT
4	v� g7f)Nc�,>�[TTTTTUTTT5	 gr@r4)	rRr6rQr]rr�rrbrxs	 ��������rr��tricky.<locals>.f*s���
�a��A�q�!�Q��1�a�(rr#)r6rQrrbrxrRr]r�args�kwdsr�s````` ``  @r�trickyr(s,����
�)�)�
�Q��1�a��A�q�!�
#�#�s�)aName:              tricky
Filename:          (.*)
Argument count:    5
Positional-only arguments: 2
Kw-only arguments: 3
Number of locals:  10
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS, VARARGS, VARKEYWORDS, GENERATOR
Constants:
   0: None
   1: <code object f at (.*), file "(.*)", line (.*)>
Variable names:
   0: a
   1: b
   2: x
   3: y
   4: z
   5: c
   6: d
   7: e
   8: args
   9: kwds
Cell variables:
   0: [abedfxyz]
   1: [abedfxyz]
   2: [abedfxyz]
   3: [abedfxyz]
   4: [abedfxyz]
   5: [abedfxyz]aqFilename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS, NESTED
Constants:
   0: None
Names:
   0: print
Variable names:
   0: c
Free variables:
   0: [abedfxyz]
   1: [abedfxyz]
   2: [abedfxyz]
   3: [abedfxyz]
   4: [abedfxyz]
   5: [abedfxyz]z�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        \d+
Flags:             0x0
Constants:
   0: 1
Names:
   0: xz�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        \d+
Flags:             0x0
Constants:
   0: 1
   1: None
Names:
   0: xz�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        \d+
Flags:             0x0
Constants:
   0: 0
   1: 1
Names:
   0: xc���# �SIShv�N [Shv�NnMNN
[IShv�NnSSS5IShv�N g!,IShv�N(df   g=f7fr)rQrR)r6r]s  r�	async_defr�s3���
�G�G���a�d���1��q�A�q�q�q�q�q�q�s]�A��
A�"� �"�A�"�A�0�A�A�A�A�A�A�A�A�Aa/Name:              async_def
Filename:          (.*)
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  2
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS, COROUTINE
Constants:
   0: None
   1: 1
Names:
   0: b
   1: c
Variable names:
   0: a
   1: dc�n�\rSrSr\R
\4\\4\	\
4\\4\
\4\\4\\4/rSrSrSrSrSrg)�
CodeInfoTestsi�c��SUlURH+upUR[R"U5U5 M- g�Nr )r��
test_pairsr�r��	code_info)rrr�s   r�test_code_info�CodeInfoTests.test_code_info�s2������?�?�K�A����S�]�]�1�-�x�8�+rc��SUlURH�up[5n[R"U5 SSS5 URWR
5US-5 [R"5n[R"XS9 URUR
5U5 M� g!,(df   N=f)Nr r2�r�)	r�rrr��	show_coder�r�r�r�)rrr�r�s    r�test_show_code�CodeInfoTests.test_show_code�s�������?�?�K�A� �"�f��
�
�a� �#����V�_�_�.���
�>��[�[�]�F��M�M�!�)����V�_�_�.��9�
+�"�"�s�B3�3
C	c�^�UR[[R[	55 gr@)rtr�r�r
r�r�s r�test_code_info_object�#CodeInfoTests.test_code_info_object�s�����)�S�]�]�F�H�=rc�P�UR[R"S5S5 g)Nr�0x0)r�r��pretty_flagsr�s r�test_pretty_flags_no_flags�(CodeInfoTests.test_pretty_flags_no_flags�s������)�)�!�,�e�4rr�N)r*r+r,r-r�r
�code_info_code_infor�code_info_tricky�co_tricky_nested_f�code_info_tricky_nested_fr)�code_info_expr_strr+�code_info_simple_stmt_strr/�code_info_compound_stmt_strr�code_info_async_defrrrrrr0r#rrr	r	�s`��
�}�}�)�*�
�� ��4�5��#�$��1�2��5�6��%�&��J�9�
:�>�5rr	c	�>^^�SUU4Sjjn[TTSS/0S5 U$)Nc�>>^^�SUUUU4Sjjn[TTTT5 U$)Nc�$>�[TTTTX5 gr@r4)rr�r6rQrRr]s  ����r�inner�outer.<locals>.f.<locals>.inner�s����!�Q��1�a�#r�rU�r4)rRr]r(r6rQs`` ��rr��outer.<locals>.f�s ���	$�	$�
�a��A�q���rrr
�Hello world!�r>rXr4)r6rQr�s`` r�outerr/�s(�����

�!�Q��A�r�2�~�.��Hrc��[S5Hn[U5 US:aMUS:�dM O
 [S5 W(a([U5 US-nUS:�aMUS:aOU(aM([S5 SS- Un[S5 SSS5 [S
5 g!,(df   N=f![a [S	5 N4f=f![S
5 f=f)Nr9rXr+�I can haz else clause?r
�%Who let lolcatz into this test suite?r�Never reach this�%Here we go, here we go, here we go...�OK, now we're done)r;r5�ZeroDivisionError)r��dodgys  r�jumpyr8�s���
�2�Y��
�a���q�5���q�5���	�&�'�
�
�a��	�Q����q�5���q�5��
�!�	�5�6�$�	�A���%��$�%��	�"�#��Q���7�
�5�6�7��	�"�#�sB�4B,�9C�;B�C�
B)�%C�,C�C�C�C�
Cc�*�SURSS9<S3$)Nz  )�	positions�,)�_replace)�instrs r�_stringify_instructionr>s��������.�1��3�3rc��[R"5n[R"U5 [	5nU"5nSSS5 [
R"[[S9n[
R"W[S9n[
R"W[S9n[
R"[[S9nSRS/[[U5QSPSPSP[[U5QSPSPSP[[U5QSPSPSP[[U5QSP5nUR[![!["55S	5nUR[!["5S
5nUR[![![$55S5nUR[![$5S5n['U5 g!,(df   GN{=f)
N��
first_liner2zexpected_opinfo_outer = [�]rzexpected_opinfo_f = [zexpected_opinfo_inner = [zexpected_opinfo_jumpy = [zrepr(code_object_f)�
code_object_fzrepr(code_object_inner)�code_object_inner)r�r�r�r�r/r�r��expected_outer_line�expected_f_line�expected_inner_liner8�expected_jumpy_liner�mapr>r��reprrCrDr5)�ignorer�r(�_instructions_outer�_instructions_f�_instructions_inner�_instructions_jumpy�results        r�_prepare_test_casesrQs���
�[�[�]�F�	�	#�	#�F�	+��G�����
,��.�.�u�AT�U���*�*�1��I�O��.�.�u�AT�U���.�.�u�AT�U��
�Y�Y�'�	
�
�'�)<�
=�	
�
�	
�
�		
�

$�	
��'��
9�
	
�
�	
�
�	
�
(�	
��'�)<�
=�	
�
�	
�
�	
�
(�	
��'�)<�
=�	
�
�	
��F�&�^�^�D��m�!4�5�7L�
M�F�
�^�^�D��/��
A�F�
�^�^�D��&7�!8�9�;T�
U�F�
�^�^�D�!2�3�5H�
I�F�	�&�M�=
,�	+�s�F2�2
G�	MAKE_CELL�^r6�r�r��arg�argvalr�r��start_offset�starts_line�line_number�labelr:rQF�RESUME�r�Sr.z(3, 4)r+r��U�r9�BUILD_TUPLE�4���
MAKE_FUNCTION���SET_FUNCTION_ATTRIBUTE�j�closure��defaults��
STORE_FAST�nr���LOAD_GLOBAL�[r5zprint + NULL�r��
LOAD_DEREF�T�"�$z''rr��(�
BUILD_LIST�/r��	BUILD_MAP�0�,r-z'Hello world!'�.�CALL�5�POP_TOP� �8�:�<�COPY_FREE_VARS�>rRr]r*z(5, 6)r(���LOAD_FAST_LOAD_FAST�X)rr�ze, f�RETURN_CONST�g�None)r�r�rUrVr�r�rWrXrYrZr:�
cache_infor;zrange + NULL)��counterr
�)�indexr
r�)�module_keys_versionr
r�)�builtin_keys_versionr
r��10r�)�func_versionr1��GET_ITER��FOR_ITER�H�to L4r��2r[�6�
COMPARE_OP�<zbool(<)�POP_JUMP_IF_FALSE�a�Dzto L2�
JUMP_BACKWARD�M�to L1�@�6�F��>zbool(>)�POP_JUMP_IF_TRUE�dzto L3�L�P�O�
�rzto L5�V�END_FOR��Z�\r1z'I can haz else clause?'�f�h�p�LOAD_FAST_CHECK�W�TO_BOOL�t)�versionr1r���zto L9�|������	BINARY_OP�-�z-=������zto L7�������zto L8���zto L10������to L6���	r2z''Who let lolcatz into this test suite?'��������r��0���/��������BEFORE_WITH��r7��r3z'Never reach this'iiiiiiiiir5z"OK, now we're done"i(i*i2i4�
PUSH_EXC_INFO�!i6�WITH_EXCEPT_STARTi8i:iHzto L12iB�RERAISEiF�
POP_EXCEPTiJiLiNr��Nzto L11iP�COPY�=iRiTiViXr6iZ�CHECK_EXC_MATCHidi�zto L13ifijilr4z''Here we go, here we go, here we go...'ivixi�i�i�i�i�i�i�i�i�i�i�i�i�i�i�c��gr@r#r#rr�simpler��s��dr)
r�r�rUrVr�r�rWrXrYrZc��\rSrSrSrSrg)�InstructionTestCasei�c��UVs/sHo3RSSS9PM nnUVs/sHoDRSSS9PM nnURX5 gs snfs snf)N)r:r�)r<r�)r�instrs_1�instrs_2�instr_1�instr_2s     r�assertInstructionsEqual�+InstructionTestCase.assertInstructionsEqual�sa��U]�^�U]�'�$�$�t��$�E�U]��^�U]�^�U]�'�$�$�t��$�E�U]��^�����,��_��^s
�A�Ar#N)r*r+r,r-rr0r#rrr�r��s��-rr�c��^�\rSrSrU4SjrSrSrSrSrSr	Sr
S	r\"5S
5r
\"5S5r\"5S5rS
rSrSrSrSrSrSrSrSrSrU=r$)�InstructionTestsi�c�.>�[TU]"U6 SUlgr@)�superr r�)rr�	__class__s  �rr �InstructionTests.__init__�s���
���$����rc�`�[R"[5nUHn[U5 M gr@)r�r�r��str)r�instrsr=s   r�test_instruction_str�%InstructionTests.test_instruction_str�s#���%�%�f�-���E���J�rc�v�[R"[5nUR[	U5[
5 gr@�r�r�r�rr{�expected_opinfo_simple�r�actuals  r�test_default_first_line�(InstructionTests.test_default_first_lines'���%�%�f�-���$�$�T�&�\�3I�Jrc�t�[R"[SS9nUR[	U5[
5 g�Nr@rrs  r�test_first_line_set_to_None�,InstructionTests.test_first_line_set_to_Nones)���%�%�f��>���$�$�T�&�\�3I�Jrc�|�[R"[[S9nUR	[U5[5 gr)r�r�r/rErr{�expected_opinfo_outerrs  r�
test_outer�InstructionTests.test_outer�*���%�%�e�8K�L���$�$�T�&�\�3H�Irc���[5 [5nSSS5 [R"W[S9nUR[
U5[5 g!,(df   NG=fr)rr/r�r�rFrr{�expected_opinfo_f)rr�rs   r�test_nested�InstructionTests.test_nestedsD��
�
���A���%�%�a�O�D���$�$�T�&�\�3D�E��
�s�A�
A%c���[5 [5"5nSSS5 [R"W[S9nUR[
U5[5 g!,(df   NG=fr)rr/r�r�rGrr{�expected_opinfo_inner)rr(rs   r�test_doubly_nested�#InstructionTests.test_doubly_nestedsG��
�
��G�I�E���%�%�e�8K�L���$�$�T�&�\�3H�I��
�s�A�
A*c�|�[R"[[S9nUR	[U5[5 gr)r�r�r8rHrr{�expected_opinfo_jumpyrs  r�
test_jumpy�InstructionTests.test_jumpyrrc�Z�[SSS5n[R"U5Vs/sHnURPM nn/SQnUR	X45 UVs/sH1nUR
URURUR4PM3 nnUR	Xd5 gs snfs snf)Nzf(
  x, y, z
)�<test>r)	)rr
rr�r
r
rr
r,)r1r1r1r>)r1r1rUr+)r1r1r_r��r
r>rr
r-r-)	r�r�r�r:r��lineno�
end_lineno�
col_offset�end_col_offset)r�coder=r:r��pos�named_positionss       r�test_co_positions�"InstructionTests.test_co_positions s����)�8�V�<���-�-�d�3�
�3��
�O�O�3�	�
�

��	
����-�!�
� ���Z�Z��������9K�9K�L� �	�
�	
����3��+
��"
s�B#�8B(c�*�[SSS5nURSS9n[R"U5nUH�nUR	US9 UR
nUR
[U5S5 URS:XaSSS5 MUURUR5 URUR5 URUR5 URUR5 SSS5 M� g!,(df   M�=f)	Nzx, y, zr+rrrF)r�rXr[)r�r�r�r�r�r:r�r�r�r�r.r/r0r1)rr2�code_without_location_tablerr�r:s      r�test_co_positions_missing_info�/InstructionTests.test_co_positions_missing_info:s����y�(�F�3��&*�l�l��l�&D�#��%�%�&A�B��!�K����+��6�'�1�1�	�� � ��Y���3��%�%��1��	7�6�
�!�!�)�"2�"2�3��!�!�)�"6�"6�7��!�!�)�"6�"6�7��!�!�)�":�":�;�7�6�"�6�6�s�9D�
A,D�
D	c�^
�SnURnURSSS2n[RSm
[	U
4SjU55n[U5U-
nSGH
nSGHnUR
SU<SU<35 [X2R5SS	9VV	s/sHup�U(dUT
:wdMU	PM n
nn	[[R"X'US
9US9Vs/sHhnURcSOUURRURRURRURR 4PMj nnUR#X�5 SSS5 GM GM gs sn	nfs snf!,(df   GM(=f)Nc3�# �US-SU-U--
nU*[RU5-
SU--v� U(a"U*[RU5-SU--v� gg7f)Nr1rX)�cmath�sqrtr\s    r�roots�EInstructionTests.test_co_positions_with_lots_of_caches.<locals>.rootsLs_����1��q�1�u�q�y� �A��2��
�
�1�
�%�!�a�%�0�0���r�E�J�J�q�M�)�a�!�e�4�4��s�AAr1r	c3�,># �UH	oT:Hv� M g7fr@r#)rw�op�cache_opcodes  �rry�IInstructionTests.test_co_positions_with_lots_of_caches.<locals>.<genexpr>Ts����6�#�B�<�'�#�s�r�z	adaptive=z, show_caches=T)�strict)r�r�r�)r�r4r�r��sumr�r��zip�co_positionsr�r�r�r:r.r/r0r1r�)rr?r2�opsr��
non_cachesr�r�rBr:rHr��
dis_positionsrCs             @r�%test_co_positions_with_lots_of_caches�6InstructionTests.test_co_positions_with_lots_of_cachesJs����	5�
�~�~���l�l�3�Q�3����|�|�G�,���6�#�6�6����X��&�
�)�K�)���\�\�Y�X�K��+��"@�A�.1��6G�6G�6I�RV�-W�$�-W�M�B�&�"��*<�"�-W�!�$�,J�#�J^�J^� ��K�'2�,4�
%�,4�K�
!,� 5� 5� =��'�1�1�8�8�'�1�1�<�<�'�1�1�<�<�'�1�1�@�@�	D��,4�"�
%��$�$�\�A�#B�A�*�)��$��

%�
B�A�s1�>E9�E.�1E.�7"E9�A/E4
�E9�.E9�9
F	c��[S[RSSSSSSSSSSS9nURURUR
5 g)NrIrr9Tr
rT)�Instructionr�r�r�rU�oparg)rr�s  r�test_oparg_alias�!InstructionTests.test_oparg_aliasmsM��!��s�y�y��7G�T�Z^�*,�R�b�VZ�hi�qu�,0�2��	
������+�*;�*;�<rc��Sn[R"5n[R"URUSS9 UR	SUR55 g)Nc� �U(aUnU$UnU$r@r#)rrbrxr<s    rr��7InstructionTests.test_show_caches_with_label.<locals>.fts������J����JrT)r�r�zL1:)r�r�r�r�r�r�)rr�r�s   r�test_show_caches_with_label�,InstructionTests.test_show_caches_with_labelss=��	����������
�
��T�:��
�
�e�V�_�_�.�/rc�`�[RR5Hsup[XSSSSSSSSSS9nURnUR
nUR
U5 UR
U5 URX5 URX%5 Mu [RH�n[U[RUSSSSSSSSSS9nURnUR
nURU[RU5 UR[RUU5 M� g)NrrTr
rT)
r�r��itemsrO�
baseopname�
baseopcode�assertIsNotNoner�r��_specialized_opmap�
_all_opmapr��_specializations)r�namer2r�rZr[s      r�test_baseopname_and_baseopcode�/InstructionTests.test_baseopname_and_baseopcodes���)�)�/�/�+�J�D�%�T�D�QU�_a�jk�34�$�TU�]a�mq�s�K�$�/�/�J�$�/�/�J�� � ��,�� � ��,����T�.����T�.�,��-�-�D�%�T�#�.�.��:N�TX�ae�oq�-.�Q�D�^_�gk�w{�}�K�$�/�/�J�$�/�/�J��M�M�$�� 7� 7�
� C�D����V�\�\�*�5�z�B�
.rc��[S[RSSSSSSSSSSS9nURUR5 Sn[S[RSX"SSSSSSSS9nURS	UR5 [S
[RS
X"SSSSSSSS9nURSUR5 [S
[RS
X"SSSSSSSS9nURSUR5 g)NrIrr9Tr
rTr�rN��r�r�rX�SEND��)rOr�r�r��jump_targetr�)rr��deltas   r�test_jump_target�!InstructionTests.test_jump_target�s ��!��s�y�y��7G�T�Z^�*,�R�b�VZ�hi�qu�,0�2��	
���+�1�1�2���!���	�	�.�@Y�_d�*,�R�b�VZ�hi�qu�,0�2��	
�����)@�)@�A�"�����?�A[�af�*,�S�s�X\�jk�sw�,0�2��	
���.��0G�0G�H�"���	�	�&�8I�u�*,�R�b�VZ�hi�qu�,0�2��	
���-�{�/F�/F�Grc��^�SnSnSnSSS.mU4SjnSS	0nX#TXE4nURU"[RS
S/UQ76S5 URU"[RSS	/UQ76S
5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 g)Nc�L�[R"U6nURXU5$r@)r��ArgResolver�get_argval_argrepr)r�rPr��	init_args�arg_resolvers     rr��/InstructionTests.test_argval_argrepr.<locals>.f�s#���?�?�I�6�L��2�2�6�&�I�Irr�)rr
r1r>r6rQ�r
r1c�>�TU$r@r#)r��namess �rr��6InstructionTests.test_argval_argrepr.<locals>.<lambda>�s	����a�rrrr
r�)NrrK)r
r�rpr1)r6r6r�r�)rrr�r�r>)r�r�rg)r1�
kwdefaultsr�)r>z<<�CALL_INTRINSIC_1)r1�INTRINSIC_IMPORT_STAR)r�r�r�)rr�r��	co_consts�varname_from_oparg�
labels_maprrts       @r�test_argval_argrepr�$InstructionTests.test_argval_argrepr�sg���	J��� �	��C� ��0���!�W�
��5�*<�I������6�<�<�	�2�D�@�4�@�*�M�����6�<�<��5�q�@�4�@�(�K�����6�<�<�
�6��A�D�A�:�N�����6�<�<��8�"�D�t�D�m�T�����6�<�<��5�q�@�4�@�*�M�����6�<�<�(@�A�1�L�t�L�N_�`�����6�<�<��4�a�?�$�?��K�����6�<�<�(:�;�Q�F��F�Hd�erc��^�"SS[R5mU4SjnSnURU"[RSSU5S5 URU"[RSS	U5S
5 g)Nc� �\rSrSrSrSrSrg)�@InstructionTests.test_custom_arg_resolver.<locals>.MyArgResolveri�c��US-$rr#)rrBrUr�s    r�offset_from_jump_arg�UInstructionTests.test_custom_arg_resolver.<locals>.MyArgResolver.offset_from_jump_arg�s���Q�w�rc��SU-$)Nr1r#)rr�s  r�get_label_for_offset�UInstructionTests.test_custom_arg_resolver.<locals>.MyArgResolver.get_label_for_offset�s���6�z�!rr#N)r*r+r,r-r�r�r0r#rr�
MyArgResolverr��s��
�
"rr�c�2>�T"U6nURXU5$r@)rn)r�rPr�rorpr�s     �rr��4InstructionTests.test_custom_arg_resolver.<locals>.f�s ���(�)�4�L��2�2�6�&�I�Irr�r�r
)r1r��
SETUP_FINALLYr1)r>r�)r�rmr�r�r�)rr�r�r�s   @r�test_custom_arg_resolver�)InstructionTests.test_custom_arg_resolver�sd���	"�C�O�O�	"�	J�������6�<�<��8�!�V�D�l�S�����6�<�<��8�!�V�D�l�Src�.�[R"U5$r@)r��_get_instructions_bytes�rr2s  rr��!InstructionTests.get_instructions�s���*�*�4�0�0rc�0�[[R"[55nUH)nUR	UR
UR5 M+ Sn[[RSS[RSS[RSS/5n[R"U5nU"URU55nUR	SUR
5 UR	S	UR5 [[RSS[RSS[RSS[RSS[RSS[RS
S/5nU"URU55nUR	SUR
5 UR	S	UR5 [[RSS[RSS[RSS[RS
S[RSS[RSS[RSS[RSS[RS
S/5n[URU55nUR	SUS	R
5 UR	S	US	R5 UR	SUS
R
5 UR	SUS
R5 g)Nc�2�[R"SU5$)Nc��U$r@r#rgs  rr��GInstructionTests.test_start_offset.<locals>.last_item.<locals>.<lambda>�s��!r)�	functools�reduce)�iterables r�	last_item�5InstructionTests.test_start_offset.<locals>.last_item�s���#�#�O�X�>�>rr�rrHr
r�rJrXr1r	r_rcr+)r{r��Bytecoder7r�r�rW�bytesr�r��_make_labels_mapr�)r�instructionsr�r�r2r{�jumps       r�test_start_offset�"InstructionTests.test_start_offset�s����C�L�L��,�-��'�K����[�/�/��1I�1I�J�(�	?���L�L��%�t��L�L��(�$��L�L�+�,�d�
���
�)�)�$�/�
���.�.�t�4�5������D�K�K�(�����D�-�-�.���L�L��%�t��L�L��(�$��L�L��(�$��L�L��(�$��L�L�+�,�d��L�L��!�4�

�����.�.�t�4�5������D�K�K�(�����D�-�-�.���L�L��%�t��L�L��(�$��L�L�+�,�d��L�L��!�4��L�L��(�$��L�L��(�$��L�L��(�$��L�L�+�,�d��L�L��!�4�

�
���D�1�1�$�7�8������L��O�2�2�3�����L��O�8�8�9�����\�!�_�3�3�4�����L��O�8�8�9rc�
�[[RSS[RSS[RSS[RSS[RSS[RSS[RSS[RSS[RSS[RSS/5n[UR	U55nURSUSR5 URSUSR5 URS	USR5 URS	USR5 URS
USR5 URSUSR5 [[R"UR55n[X"SS5H+up4URURUR5 M- g)Nrpr
r	rr�r~r1r9rbrcrl)
r�r�r�r{r�r�r��
end_offsetr�r�� test_cache_offset_and_end_offsetrGrW)rr2r��prev�currs     rr��1InstructionTests.test_cache_offset_and_end_offsets�����L�L��'���L�L��!�4��L�L��!�4��L�L��!�4��L�L��!�4��L�L��%�t��L�L�� �$��L�L��!�4��L�L��!�4��L�L��!�4�
����D�1�1�$�7�8������L��O�8�8�9�����\�!�_�7�7�8�����\�!�_�9�9�:�����\�!�_�7�7�8�����\�!�_�9�9�:�����\�!�_�7�7�8��C�L�L��)N�)N�O�P���l���,<�=�J�D����T�_�_�d�.?�.?�@�>rr�)r*r+r,r-r rrrrr r$r(rr5r9rLrQrVrarir|r�r�r�r�r0�
__classcell__�rs@rrr�s������K�K�J�F�J�J���4��4�2��
<��
<��� B�� B�D=�
0�C�*H�2f�(
T� 1�2:�hA�Arrc�^�\rSrSrSrSrSrSrSrSr	Sr
S	r\"5S
5r
Srg)
�
BytecodeTestsi&c��[[S5RS[R4H[nUR	US9 [
R"U5nURUR[R5 SSS5 M] UR[[
R[55 g!,(df   M�=f�Nr
�a=1)�obj)r7rr r�r�r�r��assertIsInstance�codeobj�types�CodeTypertr�r�)rr�rQs   r�test_instantiation� BytecodeTests.test_instantiation(s�����1�����r�{�{�;�C����#��&��L�L��%���%�%�a�i�i����@�'�&�<�
	
���)�S�\�\�6�8�<�	'�&�s�AB9�9
C	c�Z�[[S5RS[R4HjnUR	US9 [[R"U55n[[R"U55nURX#5 SSS5 Ml g!,(df   M~=fr�)
r7rr r�r�r{r�r�r�r)rr��
via_object�
via_generators    r�test_iteration�BytecodeTests.test_iteration1st����1�����r�{�{�;�C����#��&�!�#�,�,�s�"3�4�
� $�S�%9�%9�#�%>� ?�
��,�,�Z�G�'�&�<�&�&�s�AB�
B*	c�|�[R"[[S9nUR	[U5[5 gr)r�r�r/rErr{rrs  r�test_explicit_first_line�&BytecodeTests.test_explicit_first_line8s(�����e�0C�D���$�$�T�&�\�3H�Irc��[R"[5R5nUR5R	S5Sn[[RR5nURX5 [R"[SS9R5nUR5R	S5SnURUS5 g)NrZri^r@�350)	r�r�r��strip�	partitionr
r��co_firstlinenor�)rrr�s   r�test_source_line_in_disassembly�-BytecodeTests.test_source_line_in_disassembly<s������f�%�)�)�+������)�)�#�.�q�1���v���5�5�6������*����f��5�9�9�;������)�)�#�.�q�1�������'rc��SUl[RH;up[R"U5nURUR
5U5 M= gr)r�r	rr�r�r��info)rrr�rQs    r�	test_info�BytecodeTests.test_infoGs>�����(�3�3�K�A����Q��A����Q�V�V�X�x�0�4rc��[R"[5R5nURU[5 gr@)r�r�r7r�r�rs  r�test_disassembled�BytecodeTests.test_disassembledMs)�����b�!�%�%�'���#�#�F�E�2rc��[5n[RRU5nUR(aURoR(aMURURUR5 gr@)rr�r��from_tracebackrr��current_offsetr{�rrrQs   r�test_from_traceback�!BytecodeTests.test_from_tracebackQsL��
�X���L�L�'�'��+���j�j�r�z�z�"�j�j�j�����)�)�2�;�;�7rc��SUl[5n[RR	U5nURUR5[5 gr@)r�rr�r�r�r��
dis_tracebackr�s   r�test_from_traceback_dis�%BytecodeTests.test_from_traceback_disXs:�����
�X���L�L�'�'��+���������-�0rc��[R"S5n[XRR	55Hup#M g)Nr�)r�r�rGr�rH)r�bytecoder=r:s    r�test_bytecode_co_positions�(BytecodeTests.test_bytecode_co_positions^s1���<�<��&�� #�H�.>�.>�.K�.K�.M� N��E�9� Nrr�N)r*r+r,r-r�r�r�r�r�r�r�r�rr�r0r#rrr�r�&sC��=�H�J�	(�1�3�8�1���0��0rr�c�&�\rSrSrSrSrSrSrg)�TestBytecodeTestCaseidc��[SSS5nURUSS5 URUS5 URUSS5 g)N�a = 1�<string>rrKr
�	LOAD_NAMEr6�r��assertInBytecode�assertNotInBytecoder�s  r�*test_assert_not_in_with_op_not_in_bytecode�?TestBytecodeTestCase.test_assert_not_in_with_op_not_in_bytecodeesD���w�
�F�3�����d�L�!�4�� � ��{�3�� � ��{�C�8rc��[SSS5nURUS5 URUSS5 URUSS5 g)Nr�r�rrKr
r1r�r�s  r�+test_assert_not_in_with_arg_not_in_bytecode�@TestBytecodeTestCase.test_assert_not_in_with_arg_not_in_bytecodeksD���w�
�F�3�����d�L�1����d�L�!�4�� � ��|�Q�7rc��[SSS5nUR[5 URUSS5 SSS5 g!,(df   g=f)Nr�r�rrKr
)r�rt�AssertionErrorr�r�s  r�'test_assert_not_in_with_arg_in_bytecode�<TestBytecodeTestCase.test_assert_not_in_with_arg_in_bytecodeqs<���w�
�F�3��
�
�
�~�
.��$�$�T�<��;�/�
.�
.�s�A�
Ar#N)r*r+r,r-r�r�r�r0r#rrr�r�ds��9�8�<rr�c�,�\rSrSrSrSrSrSrSrg)�TestFinderMethodsivc�.�/SQnUHyup#URUS9 [USS5n[[R"U55nUR[
U5S5 URUSU5 SSS5 M{ g!,(df   M�=f)N))zimport a.b.c)za.b.crN)zfrom a.b import c��a.brrV)zfrom a.b import c as dr�)zfrom a.b import *)r�r��*)zfrom ...a.b import c as d)r�r>rV)z from ..a.b import c as d, e as f)r�r1)rRr)zfrom ..a.b import *)r�r1r���srcr�rr
r)r�r��tupler��
_find_importsr�r��r�casesr�r�r2r<s      r�test__find_imports�$TestFinderMethods.test__find_importsws��
��#�M�C����#��&��s�J��7���C�-�-�d�3�4��� � ��S��1�-�� � ��Q���2�	'�&�#�&�&�s�AB�
B	c���/SQnUHZup#URUS9 [USS5n[[R"U55nURXS5 SSS5 M\ g!,(df   Mn=f)N))zx+yr#)zx=y=1r|)zx+=yr)zglobal x
x=y=1r|)zglobal x
z=x)rxr�r�r)r�r�r�r��_find_store_namesr�r�s      r�test__find_store_names�(TestFinderMethods.test__find_store_names�se��
��#�M�C����#��&��s�J��7���C�1�1�$�7�8��� � ��/�'�&�#�&�&�s�>A&�&
A5	c��[R"[RR5n[
Vs/sH"nUR(dMURPM$ nnUR[U5[U55 gs snfr@)
r��
findlabelsr8r�r4r'�is_jump_targetr�r��sorted)r�labelsr=�jumpss    r�test_findlabels�!TestFinderMethods.test_findlabels�sj�������� 6� 6�7��/�
�.���#�#�
�E�L�L�.�	�
�	
���������7��

s�B�Bc��SnURn[R"U5Vs/sHo3SPM	 nnURUSS/5 gs snf)Nc��gr@r#r#rrr��3TestFinderMethods.test_findlinestarts.<locals>.func�s��rrr1)r�r��findlinestartsr�)rr�r2�	linestart�offsetss     r�test_findlinestarts�%TestFinderMethods.test_findlinestarts�sO��	��}�}��14�1C�1C�D�1I�J�1I�I�Q�<�1I��J�����1�a�&�)��Ks�A
r#N)	r*r+r,r-r�r�rrr0r#rrr�r�vs��3�"0�8�*rr�c�D^�\rSrSrSU4SjjrSrSrSrSrSr	U=r
$)	�TestDisTracebacki�c�|>�[?[?[TU]5$![a N!f=f![a N*f=fr@)rprqrrrsr�setUp)rrs �rr�TestDisTraceback.setUp�sM���	���	��"��w�}����
�	��	���	��	�s��.�
+�+�
;�;c��[R"5n[R"U5 [R
"U5 SSS5 UR
5$!,(df   UR
5$=fr@�r�r�r�r�r��distbr��rrr�s   rr�� TestDisTraceback.get_disassembly�sN�������
�
'�
'��
/��I�I�b�M�0���� � �0�
/���� � �s�A�
A8c��UR[5 [R"5 SSS5 g!,(df   g=fr@)rtrur�rr�s r�test_distb_empty�!TestDisTraceback.test_distb_empty�s%��
�
�
�|�
,��I�I�K�-�
,�
,�s	�5�
Ac��SUl[5nU[lUR	URS5[5 gr@)r�rrprsr�r�r��rrs  r�test_distb_last_traceback�*TestDisTraceback.test_distb_last_traceback�s3�����
�X������#�#�D�$8�$8��$>�
�Nrc�p�SUl[5nURURU5[5 gr@)r�rr�r�r�rs  r�test_distb_explicit_arg�(TestDisTraceback.test_distb_explicit_arg�s+�����
�X���#�#�D�$8�$8��$<�m�Lrr�)�returnN)r*r+r,r-rr�rrr r0r�r�s@rrr�s$���	�!��O�M�Mrrc��\rSrSrSrSrg)�TestDisTracebackWithFilei�c���[R"5n[R"U5 [R
"XS9 SSS5 UR
5$!,(df   UR
5$=f)Nrrrs   rr��(TestDisTracebackWithFile.get_disassembly�sO�������
�
'�
'��
/��I�I�b�&�0���� � �0�
/���� � �s�A�
A6r#Nr�r#rrr$r$�s��!rr$c#�h# �UH�nUv� U(dMURnUR=(d SHsupEn[U5H^nUS-
nUS:Xa*US[R	U[
R53nOSn[S[SSX�USSSUR5v� M` Mu M� g7f)Nr#r1rz: rr	F)
r�r�r;r��
from_bytesrp�	byteorderrOr	r:)	rr�r=r�r`�size�datar�r�s	         rr�r��s��������������!&�!1�!1�!7�R�!7��D���4�[���!�����6�!%��b�����c�m�m�)L�(M�N�G� �G�!�'�5�!�T�7�F�"'��t�U�_�_�F�F�!�"8�
�s�B0B2c�N�\rSrSrSr\S5rSrSrSr	Sr
SrS	rS
r
g)�
TestDisCLIi�c��[R"5UlUR[R
UR5 gr@)�tempfile�mktemp�filename�
addCleanupr�unlinkr�s rr�TestDisCLI.setUp�s(�� ���)��
����	�(�(�$�-�-�8rc�J�[R"U5R5$)z�Dedent *string* and strip it from its surrounding whitespaces.

This method is used by the other utility functions so that any
string to write or to match against can be freely indented.
)�textwrap�dedentr�)�strings r�text_normalize�TestDisCLI.text_normalize�s�����v�&�,�,�.�.rc��[URS5nURURU55 SSS5 g!,(df   g=f)N�w)�openr1�writer9)r�content�fps   r�
set_source�TestDisCLI.set_source�s5��
�$�-�-��
%���H�H�T�(�(��1�2�&�
%�
%�s�!A�
Ac��[R"5n[R"U5 [R
"/UQURPS9 SSS5 URUR55$!,(df   N-=f)N�r)	r�r�r�r�r��mainr1r9r�)r�flagsr�s   r�
invoke_dis�TestDisCLI.invoke_dis	s\�������
�
'�
'��
/��H�H�1�E�1�4�=�=�1�2�0��"�"�6�?�?�#4�5�5�0�
/�s�#A6�6
Bc��URXS9 URU5 UR"U6nURU5nUR	UR5UR55 SSS5 g!,(df   g=f)N)�sourcerF)r�rArGr9�assertListEqual�
splitlines)rrJ�expectrFr<s     r�check_output�TestDisCLI.check_output		sf��
�\�\��\�
5��O�O�F�#��/�/�5�)�C��(�(��0�F�� � ����!1�6�3D�3D�3F�G�	6�
5�
5�s�A A9�9
Bc	�T�SS/nURS5 [S[U5S-5Hbn[R"XS9HGn[R
"U6H-nUR
USSS9 UR"U6nSSS5 M/ MI Md UR[5 [R"[R"55 URS5nSSS5 SSS5 g!,(df   M�=f!,(df   N)=f!,(df   g=f)N�z-Cz
--show-caches�z-Oz--show-offsetszS
            def f():
                print(x)
                return None
        r
)�rrDz	--unknown)rAr;r��	itertools�combinations�productr�rGrt�
SystemExitr��redirect_stderrr�r�)r�
base_flagsrS�choicesrr�s      r�test_invocation�TestDisCLI.test_invocation	s���
$�$�
�
�
	
����	
��q�#�j�/�A�-�.�A�$�1�1�*�B��%�-�-�w�7�D����4���8��4� �O�O�T�2��5�4�8�C�/��
�
�z�
*��+�+�B�K�K�M�:��O�O�K�0��;�+�
*�5�4��
;�:��+�
*�s0�0C6	�)*D�D�%D�6
D
�
D	�D�
D'c�B�SnSnSHnURXU5 M g)Nzprint()a�
            0           RESUME                   0

            1           LOAD_NAME                0 (print)
                        PUSH_NULL
                        CALL                     0
                        CACHE                    0 (counter: 0)
                        CACHE                    0 (func_version: 0)
                        CACHE                    0
                        POP_TOP
                        RETURN_CONST             0 (None)
        rQ�rN�rrJrM�flags    r�test_show_cache�TestDisCLI.test_show_cache(	s*������,�D����f�d�3�,rc�B�SnSnSHnURXU5 M g)N�passz�
            0          0       RESUME                   0

            1          2       RETURN_CONST             0 (None)
        rRr^r_s    r�test_show_offsets�TestDisCLI.test_show_offsets:	s*������
-�D����f�d�3�-r)r1N)r*r+r,r-rr.r9rArGrNr[rarer0r#rrr-r-�s:��9��/��/�3�6�H�1�04�$	4rr-�__main__)r)Trr)F)�r�r�r�r�rTr�r�rpr/r6r��unittest�test.supportrrrrr�test.support.bytecode_helperrr�r	rryrz�TRACEBACK_CODErr r�r�r=rAr(rJr$rFr*r9r7r�r�r5r=r�rA�__file__r�rCr�r�r�rrrHrr	rSrWr
rrrr"r#r%r)r*r+r,r-r.r/r0r�r^r_rcrcrergrhrkrkrlrmrorrrr�r�r�r�r�r�r�r�r�r��TestCaser�r�r�r
r��code_info_constsrr.rr�__func__ryrr r!r"r#rr$r	r/r8rE�_line_offsetrCrFrDrGrHr>rQrOrJrrr#r'r�rr�rr�r�r�rr$r�r-rEr#rr�<module>rqs>8���
��	��
�	�
�����%�%�:�	�	�	�'������"�"�)�)��
�
�	�
�{�{���*�*�B�K�K�,@�,@�,O�,O�RS�,S�U�	V����	�
�u�u�~�~�$�$�b�e�e�n�n�&C�&C�a�&G�I�	J���
�u�u�~�~�$�$�b�e�e�n�n�&C�&C�a�&G�I�J��$
�{�{���2�	�u�u�~�~�)�	�u�u�~�~�*�		,��
�		�
�{�{�!�!�	�{�{�!�!�A�%�	�{�{�!�!�A�%�'�	'��	�
�{�{�!�!�	�{�{�!�!�A�%�	�{�{�!�!�A�%�'�'���
�
�
�$���(�(����(�(�1�,����(�(�1�,����(�(�1�,����(�(�1�,����(�(�1�,�.�%.�
�4�	�
����)�)����)�)�A�-�����)�)�A�-����)�)�A�-����)�)�A�-�/�/��.	�
�%�%�-�-�7�-�C���������^�$�d����U��d����^�$�d����\�"�d����^�$�d�����
��
����
����
����
�L�L�� �#�	�����	����"�"�1�1��"�"�1�1�A�5�7�7��	����������	��������������>���� .�\�$�$��$�$�q�(��$�$�q�(��$�$�q�(��$�$�q�(��$�$�q�(��$�$�q�(��$�$�q�(�*�]5*�
�n&��(���'�'��):�):�)I�)I�A�)M�N�)O��,
�
(�P
�~�~�$�$��~�~�$�$�q�(��~�~�$�$�q�(��~�~�$�$�q�(��~�~�$�$�q�(��~�~�$�$�q�(��~�~�$�$�q�(�
	�Q/	��b
�
P�`���)�)����)�)�A�-����)�)�A�-����)�)�A�-����)�)�A�-����)�)�A�-����)�)�A�-�
	�aW	�
�t���6���*�*����*�*�Q�.����*�*�Q�.����*�*�Q�.����*�*�Q�.�		�7 	��D�4� � �/�/�� � �/�/�!�3�� � �/�/�!�3�� � �/�/�!�3�� � �/�/�!�3�		�5	��B��
���
�{�{�!�!�	�{�{�!�!�A�%��	�{�{�!�!�A�%�	�{�{�!�!�A�%�	���*�$��	�{�{�!�!�A�%�	�{�{�!�!�A�%�	�{�{�!�!�A�%��	�{�{�!�!�A�%�
�%��6�4��	�{�{�!�!�A�%�	�{�{�!�!�A�%��5��@�	 ����(�(����(�(�1�,����(�(�1�,�.� .��� �*���(�(����(�(�1�,����(�(�1�,����(�(�1�,�/�+ /��4�	��!�!�0�0��!�!�0�0�1�4�7�
7����(�(�#�#�(�0}0�{�}0�@	!�x�	!��=�=��� � ��O��
������$�$��$��$�
��@�_�_�-�-�7�7��:����,��
��
�� �
��&5�H�%�%�5�F
�$�<���~�~�,�,�q�0�����(�(��+�
��.�.��=��!�+�+�A�.��'�6�6��E����4�
 �H�o�o���[���3��TU�de�sw�FJ�RV�bf�g�
�[���3��TU�de�sx�GK�SW�cg�h�
�X�c�q��B�q�_`�nr�AB�JN�Z^�_�
�\�"�!�F�H�]^�mn�}A�OP�X\�hl�m�
�[���3��TU�de�sx�GH�PT�`d�e�
�[���3��TV�eg�uz�IJ�RV�bf�g�
�]�2�1�Q��SU�df�ty�HI�QU�ae�f�
�\�"�!�M�SW�Xe�Sf�oq�AC�QV�de�mq�}A�B�
�_�R�T�$�PR�[]�ln�}B�PQ�Y]�im�n�
�-�c�q��T]�fh�wy�HM�[\�dh�tx�y�
�-�c�q��T^�gi�xz�IN�\]�ei�uy�z�
�\�#�1�S�#�VX�gi�w|�KL�TX�dh�i�
�]�2�1�W�n�eg�vx�GK�YZ�bf�rv�w�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�\�"�!�B��UW�fh�v{�JK�SW�cg�h�
�\�"�!�A�s�SU�df�ty�HI�QU�ae�f�
�\�"�!�A�r�RT�ce�sx�GH�PT�`d�e�
�[���1�b�QS�bd�rw�FG�OS�_c�d�
�\�"�!�N�Td�mo�A�OT�bc�ko�{�@�
�V�B�A�a��B�]_�mr�AB�JN�Z^�_�
�Y�r�t�D�"�UW�fh�v{�JK�SW�cg�h�
�[���3��TV�eg�uy�HI�QU�ae�f�
�^�B�D��r�Z\�km�|A�OP�X\�hl�m�1��8�%�b�a��2�VW�fg�uy�HL�TX�dh�i�
�[���3��TU�de�sx�GK�SW�cg�h�
�[���3��TU�de�sx�GK�SW�cg�h�
�X�c�q��B�q�_`�nr�AB�JN�Z^�_�
�\�"�!�F�H�]^�mn�}A�OP�X\�hl�m�
�[���3��TV�eg�uz�IJ�RV�bf�g�
�[���3��TV�eg�uz�IJ�RV�bf�g�
�[���3��TV�eg�uz�IJ�RV�bf�g�
�[���3��TV�eg�uz�IJ�RV�bf�g�
�]�2�1�Q��SU�df�ty�HI�QU�ae�f�
�\�"�!�<M�W[�\m�Wn�wy�IK�Y^�lm�uy�EI�J�
�_�R�T�$�PR�[]�ln�}B�PQ�Y]�im�n�
�-�c�q��T]�fh�wy�HM�[\�dh�tx�y�
�-�c�q��T^�gi�xz�IN�\]�ei�uy�z�
�\�#�1�W�g�^`�oq�@E�ST�\`�lp�q�
�]�2�1�W�n�eg�vx�GK�YZ�bf�rv�w�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�V�B�A�a��B�]_�mr�AB�JN�Z^�_�
�Y�r�t�D�"�UW�fh�v{�JK�SW�cg�h�
�[���7�G�\^�mo�~B�PQ�Y]�im�n�
�^�B�D��r�Z\�km�|A�OP�X\�hl�m�1��8�%�b�a��2�VW�fg�uy�HL�TX�dh�i�
�X�c�q��B�q�_`�nr�AB�JN�Z^�_�
�]�2�1�W�n�ef�uv�EI�WX�`d�pt�u�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�\�"�!�C��UW�fh�v{�JK�SW�cg�h�
�*�2�1�Z�Y_�hj�y{�JO�]^�fj�vz�{�
�V�B�A�a��B�]_�mr�AB�JN�Z^�_�
�Y�r�t�D�"�UW�fh�v{�JK�SW�cg�h�
�^�C�Q�t�V�\^�mo�~C�QR�Z^�jn�o���v�
�X�c�q��B�q�_`�nr�AB�JN�Z^�ko�p�v�
�]�2�1�W�n�ef�uv�EI�WX�`d�pt�AL�M�v��\�"�!�B��UW�fh�v{�JK�SW�cg�tx�y�v��V�B�A�a��B�]_�mr�AB�JN�Z^�lG�Iq�kr�s�	v�
�Z���T�2�VX�gi�w|�KL�TX�dh�uy�z�v��Z���2�w�WY�hj�x}�LM�UV�bf�tO�sP�Q�
v��\�#�1�S�#�VX�gi�w|�KL�TX�dh�uy�z�v��]�2�1�W�n�eg�vx�GK�YZ�bf�rv�CN�O�v��[���3��TV�eg�uz�IJ�RV�bf�sw�x�v��V�B�A�a��B�]_�mr�AB�JN�Z^�lG�Iq�kr�s�v��Y�r�t�D�"�UW�fh�v{�JK�SW�cg�tx�y�v��[���3��TV�eg�uy�HI�QU�ae�rv�w�v��\�"�!�A�s�SU�df�ty�HI�QU�ae�rv�w�v��\�"�"�S�)�\^�mo�~C�QR�Z^�jn�|W�{X�Y�v��(���2�w�_a�pr�AF�TU�]a�mq�Z�~[�\�v� �_�R�R��G�\^�mo�~B�PQ�Y]�im�{V�zW�X�!v�"�[���3��TV�eg�uy�HI�QR�^b�os�t�#v�$�\�"�!�A�s�SU�df�ty�HI�QU�ae�rv�w�%v�&�\�"�#�c�9�]_�np�D�RS�[_�ko�}X�|Y�Z�'v�(�'���2�w�_a�pr�AF�TU�]a�mq�Z�~[�\�)v�*�_�R�R��G�\^�mo�~C�QR�Z^�jn�|W�{X�Y�+v�,�Y�r�t�D�"�UW�fh�vz�IJ�RS�_c�pt�u�-v�.�^�B�B�s�G�\^�mo�~C�QR�Z^�jn�{�@�/v�0�Y�r�t�D�"�UW�fh�vz�IJ�RS�_c�pt�u�1v�2�Y�r�t�D�"�UW�fh�v{�JK�SW�cg�tx�y�3v�4�]�2�1�W�n�eg�vx�GK�Y[�cg�sw�DO�P�5v�6�\�"�!�<T�^x�BE�TW�ej�xz�BF�RV�cg�h�7v�8�V�B�A�a��C�^a�ot�CE�MQ�]a�oJ�Lt�nu�v�9v�:�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�;v�<�&�r�q��c�Z]�lo�~B�PR�Z[�gk�x|�}�=v�>�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�xS�Ux�wy�z�?v�@�(���C�QX�ad�sv�EJ�XZ�bf�rv�D_�C`�a�Av�B�]�2�1�W�n�eh�wz�IM�[]�ef�rv�CN�O�Cv�D�[���3��TW�fi�w|�KM�UY�ei�vz�{�Ev�F�V�B�A�a��C�^a�ot�CE�MQ�]a�oJ�Lt�nu�v�Gv�H�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�Iv�J�[���3��TW�fi�w{�JL�TX�dh�uy�z�Kv�L�\�"�!�A�s�SV�eh�v{�JL�TX�dh�uy�z�Mv�N�[���B��UX�gj�x}�LN�VZ�fj�xS�wT�U�Ov�P�\�#�1�S�#�VY�hk�y~�MO�W[�gk�x|�}�Qv�R�[���3��TW�fi�w{�JL�TX�dh�uy�z�Sv�T�\�"�!�A�s�SV�eh�v{�JL�TX�dh�uy�z�Uv�V�\�"�#�c�9�]`�or�AF�TV�^b�nr�@[�\�]�Wv�X�(���3�PW�`c�ru�DI�WY�ae�qu�C^�B_�`�Yv�Z�_�R�R��W�]`�or�AE�SU�]a�mq�Z�~[�\�[v�\�[���3��TW�fi�w{�JL�TU�ae�rv�w�]v�^�\�"�!�A�s�SV�eh�v{�JL�TX�dh�uy�z�_v�`�\�"�"�S�)�\_�nq�@E�SU�]a�mq�Z�~[�\�av�b�(���3�PW�`c�ru�DI�WY�ae�qu�C^�B_�`�cv�d�^�B�B�s�H�]`�or�AE�SU�]a�mq�~B�C�ev�f�[���3��TW�fi�w{�JL�TU�ae�rv�w�gv�h�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�xS�Ux�wy�z�iv�j�(���3�PW�`c�ru�DI�WY�ae�qu�C^�B_�`�kv�l�_�R�R��W�]`�or�AF�TV�^b�nr�@[�\�]�mv�n�]�2�1�W�n�eh�wz�IM�[]�ef�rv�CN�O�ov�p�\�"�!�<c�nW�`c�ru�CH�VX�`d�pt�AE�F�qv�r�V�B�A�a��C�^a�ot�CE�MQ�]a�oJ�Lt�nu�v�sv�t�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�uv�v�U�2�4��b�QT�cf�tx�GI�QS�_c�pt�u�wv�x�\�"�!�A�s�SV�eh�vz�IK�SW�cg�tx�y�yv�z�\�"�!�A�s�SV�eh�v{�JL�TX�dh�uy�z�{v�|�[���B��TW�fi�w|�KM�UY�ei�wR�vS�T�}v�~�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�v�@�[���3��TW�fi�w{�JL�TX�dh�uy�z�Av�B�]�1�$�t�R�X[�jm�|A�OQ�Y]�im�z~��Cv�D�\�#�1�W�g�^a�ps�BG�UW�_c�os�@D�E�Ev�F�]�2�1�W�n�eh�wz�IM�[]�ei�uy�FQ�R�Gv�H�\�"�!�<N�Xl�ux�HK�Y^�ln�vz�FJ�W[�\�Iv�J�V�B�A�a��C�^a�ot�CE�MQ�]a�oJ�Lt�nu�v�Kv�L�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�Mv�N�\�"�!�D�&�Y\�kn�}A�OQ�Y]�im�z~��Ov�P�\�"�!�D�&�Y\�kn�}B�PR�Z^�jn�{�@�Qv�R�\�"�!�D�&�Y\�kn�}B�PR�Z^�jn�{�@�Sv�T�V�B�A�a��C�^a�ot�CE�MQ�]a�oJ�Lt�nu�v�Uv�V�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�Wv�X�]�2�1�W�n�eh�wz�IM�[]�eg�sw�DO�P�Yv�Z�\�"�"�=Q�[r�{~�NQ�_d�rt�|@�LP�]a�b�[v�\�V�B�A�a��C�^a�ot�CE�MQ�]a�oJ�Lt�nu�v�]v�^�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�_v�`�^�C�Q�t�V�\_�nq�@E�SU�]a�mq�~B�C�av�b�_�R�T�$�PR�[^�mp�C�QS�[_�ko�|@�A�cv�d�(���d�TV�_b�qt�CH�VX�`d�pt�AE�F�ev�f�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�xS�Ux�wy�z�gv�h�'���3�PX�ad�sv�EJ�XZ�bf�rv�D_�C`�a�iv�j�Y�s��!�R�PS�be�sx�GI�QU�ae�rv�w�kv�l�Y�r�t�D�"�UX�gj�x}�LN�VX�dh�uy�z�mv�n�\�"�$�t�R�X[�jm�|A�OQ�Y]�im�z~��ov�p�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�qv�r�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�sv�t�1�"�"�S�Zb�kn�~A�OT�bd�lp�|@�MQ�R�uv�v�V�B�A�a��C�^a�os�BF�NR�^b�os�t�wv�x�\�"�$�t�R�X[�jm�|A�OS�[_�ko�|@�A�yv�z�Y�s��!�R�PS�be�sx�GK�SW�cg�tx�y�{v�|�_�R�T�$�PR�[^�mp�D�RV�^b�nr�C�D�}v�~�]�2�1�=P�Zm�vy�IL�Z^�ln�vz�FJ�Wb�c�v�@�&�q�d�4�QS�\_�nq�@E�SU�]a�mq�~B�C�Av�B�(���C�QY�be�tw�FK�Y[�cg�sw�E`�Da�b�Cv�D�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�Ev�F�]�2�1�W�n�eh�wz�IM�[]�ei�uy�FQ�R�Gv�H�\�"�!�<c�nW�`c�ru�CH�VX�`d�pt�AE�F�Iv�J�V�B�A�a��C�^a�ot�CE�MQ�]a�oJ�Lt�nu�v�Kv�L�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�Mv�N�\�"�$�t�R�X[�jm�|A�OQ�Y]�im�z~��Ov�P�1�"�"�S�Zb�kn�~A�OT�bd�lp�|@�MQ�R�Qv�R�Y�s��!�R�PS�be�sw�FH�PR�^b�os�t�Sv�T�V�B�A�a��C�^a�os�BF�NR�^b�os�t�Uv�V�\�"�$�t�R�X[�jm�|A�OS�[_�ko�|@�A�Wv�X�Y�s��!�R�PS�be�sx�GK�SW�cg�tx�y�Yv�Z�_�R�T�$�PR�[^�mp�D�RV�^b�nr�C�D�[v�\�]�2�1�W�n�eh�wz�IM�[]�ei�uy�FQ�R�]v�^�\�"�"�=Q�[r�{~�NQ�_d�rt�|@�LP�]a�b�_v�`�V�B�A�a��C�^a�ot�CE�MQ�]a�oJ�Lt�nu�v�av�b�Y�r�t�D�"�UX�gj�x}�LN�VZ�fj�w{�|�cv�d�Y�s��!�R�PS�be�sx�GI�QU�ae�rv�w�ev�f�V�B�A�a��C�^a�os�BF�NR�^b�os�t�gv�h�\�"�$�t�R�X[�jm�|A�OS�[_�ko�|@�A�iv�j�Y�s��!�R�PS�be�sx�GK�SW�cg�tx�y�kv��r�
�X�c�q��B�q�_`�nr�AG�AP�AP�A_�A_�gk�w{�|�
�^�C�Q�t�V�\]�lm�|A�OU�O^�O^�Om�Om�uy�z���-�*�-�iA�*�iA�\	<0�'��<0�|<�+�<�$0*��)�)�0*�f"M�{�"M�J!�/�!�F�4S4��"�"�S4�l�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit