#coG%/SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK r SSK r SSK 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-rS0r?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-rZGSSNjr[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\ R5rc"SVSW\c5rd"SXSY\d5re\RRcSZrhOS[rhS\\hS]3ri\jGS/S_.S`jj5rkSarl\kRR8RS roSbrpScrqSdrrSersSfrtSgru"ShSi\ R5rvGSSjjrwSkrxS ry\wR8R:S - rz\wR8RS r{\{R:\z- r|\{RS r}\}R:\z- r~S rSlrSmr\GRr\"SnSoSSpSpSSS^SSSSq9 \"SnSoS SrSrS S SsSSSSq9 \"StSuSSSvSGS>SsSSSSS9 P\"GS?GS@SSSvGSAGSAS^GS(SSSS9 P\"GSBSSSSvGSCGSCSsGS(SSSS9 P\"SSSSSvGSDGSDSsGS(SSSS/S9 P\"SSS GSEGSFGSGGSGSsGS(SSS/S9 P\"GSHSS S SvGSIGSISsGS(SSSS9 P\"SSSSSvGSEGSESsGS(SSSS9 P\"GSJGS SSSvGSKGSKSsGS(SSSS9 P\"SSSSSvGSLGSLSsGS(SSSS9 P\"SSSSSvGSMGSMSsGS(SSSS9 P\"GSNGSOSGS8GSPGSQGSQSsGS(SSSS9 P\"GSRGSSSSSvGSTGSTS^SSSSS9 P\"GSJGS SSSvGSUGSUSsSSSSS9 P\"GSHSS S SvGSVGSVSsSSSSS9 P\"GS?GS@SSSvGSWGSWSsSSSSS9 P\"SSS._errors5 ! E  !B  !s * %*)tb_next)rrs rget_tbrs0 B ** ZZ *** Ic:\rSrSrSr\S5r\S5rSr g)_C&cUS:HUlgNr x)selfrs r__init__ _C.__init__'s arcUS:Hngrrs rsm_C.sm*s FrcUS:HUlgrr)clsrs rcm_C.cm.s QrrN) __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 grprint)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=sQ 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$SU5S-5e)Nc3$# UHov M g7fNr#).0ss r bug1333982..s~1a1sr r#rs r bug1333982rFs~1~1ra%3d RESUME 0 %3d LOAD_ASSERTION_ERROR LOAD_CONST 1 ( 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 cgrAr#r#rrbug42562rHr co_linetablezQ RESUME 0 RETURN_CONST 0 (None) EXTENDED_ARGNOP LOAD_CONST) RETURN_VALUEz EXTENDED_ARG 1 NOP EXTENDED_ARG 1 LOAD_CONST 297 RETURN_VALUE JUMP_FORWARDz L1: EXTENDED_ARG 255 EXTENDED_ARG 65535 EXTENDED_ARG 16777215 JUMP_FORWARD -4 (to L1) c grAr#)r6bcs r func_w_kwargsrXrIrc[SSSS9 g)Nr r1rW)rXr#rrwrap_func_w_kwargsr\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) zDisassembly 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 rZc$USUSSU<SU<S3$)N 4r#r6rVrWds r_fstringrcs%S!AauAaW!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 cHU SnSSS5 Sng!,(df  Sng=fNr r1r#rWrys r_withrhs!   A  As !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# UIShvN SnSSS5IShvN SngNN !,IShvN (df  Sng=f7frer#rfs r _asyncwithrjs+q q Aqqq As8A#A' A%AAA0 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=frAr#r6rVs r _tryfinallyrm~  s c.U"5 g!U"5 f=frr#)rVs r_tryfinallyconstrprns 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 g7frAr#rs r_grrs Gsc# U7v g7frAr#rs r_agrts Gs c># [U5ShvN nM N g7frA)rt)ritems r_corws!f d  fs c^U4SjnU$)Nc0>^[U4SjT55$)funcdocc3.># UH nTU-v M g7frAr#)rBzrs rrD"_h..foo..s%1aAE1s)listrrgs`rfoo_h..foos%1%%%rr#)rgrs` r_hrs& Jra -- MAKE_CELL 0 (y) %4d RESUME 0 %4d LOAD_FAST 0 (y) BUILD_TUPLE 1 LOAD_CONST 1 () MAKE_FUNCTION SET_FUNCTION_ATTRIBUTE 8 (closure) STORE_FAST 1 (foo) %4d LOAD_FAST 1 (foo) RETURN_VALUE a%s Disassembly of : -- 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 ( 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 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$rAr#)rrgr6rVs r load_testr-s q 4Krz%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 c6/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) cSGt ng)N.r#)_s rextended_arg_quickr\s EQra#%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 TestDisTracebackc2[R"SSU5$)Nz\b0x[0-9A-Fa-f]+\bz0x...)resub)rtexts rstrip_addressesDisTestBase.strip_addressespsvv+Wd;;rcSup#SnUHon[R"SU5nUR5Vs/sHn[U5PM snupUR X5 UR X5 Xp2US- nMq U$s snf)N)rrz" L(\d+) to L(\d+) -> L\d+ \[\d+\]r )rmatchgroupsintassertGreaterEqual) rlines prev_startprev_endcountlinemgstartends r!assert_exception_table_increasing-DisTestBase.assert_exception_table_increasingss% D>EA*+((*5*Q#a&*5JE  # #C /  # #E 4#( QJE  6sA>cRX:waURU5nURX5 grA)r assertEqualrgotexpecteds rdo_disassembly_compare"DisTestBase.do_disassembly_compares% ?&&s+C 'rr#N) r*r+r,r-__doc__rrrr0r#rrrrms8< (rrc\rSrSrSrS3SjrS4SjrSrSrSr Sr S r S r S r 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)5DisTestsiNc 6[R"5n[R"U5 U(a[R"U40UD6 O[R "X40UD6 SSS5 UR 5$!,(df  UR 5$=frA)ioStringIO contextlibredirect_stdoutdis disassemblegetvaluerfunclastiwrapperkwargsoutputs rget_disassemblyDisTests.get_disassemblysl  ' ' /''6v6 0   0 /   s 7A;; Bc&URXS5$)NF)r)rrrs rget_disassemble_as_string"DisTests.get_disassemble_as_strings##D77rc SUlUR"U4SS0UD6nURXB5 [US5(av[R "5n[ R"U5 [R"UR40UD6 SSS5 URUR5U5 gg!,(df  N0=f)Ndepthr__code__) maxDiffrrhasattrrrrrrdiscorr)rrrrr got_discos rdo_disassembly_testDisTests.do_disassembly_tests ""4;q;F; ##C2 4 $ $ I++I6 $--2627  ' ' (:(:(2C4D4DErc[SS/5n[[R5Hup#X1;dUR S5(aM"UR US9 [R nU[R;aUS[R-- nUR[U5U5 SSS5 M g!,(df  M=f)NJUMP_BACKWARD_NO_INTERRUPTINSTRUMENTED_CALL_FUNCTION_EX INSTRUMENTED)rr ) set enumeraterr startswithsubTest _OPNAME_WIDTHhasarg _OPARG_WIDTHassertLessEquallen)r long_opcodesopcoderwidths r test_widthsDisTests.test_widthss8;=> ' 3NF%):):>)J)JV,))SZZ'Q!1!111E$$S[%8 -,4-,s AB;; C c8UR[[5 grA)rr7dis_frs rtest_disDisTests.test_dis   U+rc6UR[[SS9 g)NT) show_offsets)rr7dis_f_with_offsetsrs rtest_dis_with_offsetsDisTests.test_dis_with_offsetss   %7d Krc8UR[[5 grA)rr= dis_bug708901rs rtest_bug_708901DisTests.test_bug_708901s   M:rc:UR[[5 grA)skipTestrrFdis_bug1333982rs rtest_bug_1333982DisTests.test_bug_1333982s    ^.funcs:I"RWWeWu_z-I%JJD  !U# #rr i,r1r9ir) dis_module)r;_BIG_LINENO_FORMATr_BIG_LINENO_FORMAT2testr$dis_module_expected_results)rrrrr$s rtest_big_linenosDisTests.test_big_linenoss $q#A)QU3H  $ $T!Wh 7 sD"%A)QU3H  $ $T!Wh 7&tT2&A*a!e4H  $ $T!Wh 7' $   -HIrcUR[[5 UR[[5 UR[ [ 5 UR[[5 grA) rexpr_str dis_expr_strsimple_stmt_strdis_simple_stmt_strannot_stmt_strdis_annot_stmt_strcompound_stmt_strdis_compound_stmt_strrs rtest_disassemble_strDisTests.test_disassemble_strsF   <8   2EF   1CD   !24IJrc`UR[RR[5 grA)rr7rco_code dis_f_co_coders rtest_disassemble_bytesDisTests.test_disassemble_bytess   !4!4mDrc8UR[[5 grA)rrdis_crs rtest_disassemble_classDisTests.test_disassemble_classrrcVUR[S5R[5 gr)rrr dis_c_instance_methodrs r test_disassemble_instance_method)DisTests.test_disassemble_instance_methods   A1FGrc[S5RRRnUR U[ 5 gr)rr rr7rdis_c_instance_method_bytes)rmethod_bytecodes r&test_disassemble_instance_method_bytes/DisTests.test_disassemble_instance_method_bytes s,Q%..1199   2MNrcLUR[R[5 grA)rrr$dis_c_static_methodrs rtest_disassemble_static_method'DisTests.test_disassemble_static_method s   (;TR"[40UD6nTRU5nTRX 5 grA)rrrr)rrrrs rcheck2DisTests.test_disassemble_recursive..checkPs6&&r4V4C&&s+C   S +rr)rr r1r>) dis_nested_0 dis_nested_1 dis_nested_2)rrs` rtest_disassemble_recursive#DisTests.test_disassemble_recursiveOsD , l!$ l!$ l!$ l!$ l$' lrc[R"SS5 g![a%nURUR5 SnAgSnAff=f)N)r)r _try_compiler assertIsNone __context__)rrs r)test__try_compile_no_context_exc_on_error2DisTests.test__try_compile_no_context_exc_on_error\s< -   S" % -   amm , , -s A AA c6[U5H nU"5 M grAr:)ftimesrs r code_quickenDisTests.code_quickencsuA Crc|URS5 UR[SS9nURU[5 g)Nc[SS5$)Nrrr#rr2DisTests.test_super_instructions..ks )Aq/rTadaptive)rrrrdis_load_test_quickened_coderrs rtest_super_instructions DisTests.test_super_instructionshs9 12""9t"< ##C)EFrcD^^^^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 + bzevalc$>[T0SSS.5$)Nr r1rlr )co_intsrr1DisTests.test_binary_specialize..{s$vr3C"DrTrzBINARY_OP_ADD_INT 0 (+)z c$>[T0SSS.5$)Nr6rVrlr) co_unicodesrrrs$z2Ss7K"LrzBINARY_OP_ADD_UNICODE 0 (+)z 0 RESUME_CHECK 0 1 LOAD_NAME 0 (a) LOAD_CONST 0 (0) %s RETURN_VALUE za[0]zc$>[T0SS/05$)Nr6rr)co_listsrrrs$wS1#J"?rBINARY_SUBSCR_LIST_INTzc&>[T0SSS005$)Nr6r1r)co_dictsrrrs$wS1c(O"DrBINARY_SUBSCR_DICTcompilerrr)rbinary_op_quickenrbinary_subscr_quickenrrrrs @@@@rtest_binary_specializeDisTests.test_binary_specializeos/'62 DE""6D"9 ##C=])]^Wk6:  LM"":"= ##C=])]^!&(F3 ?@""7T": ##CAY)YZ&(F3 DE""7T": ##CAU)UVrc^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__rrc>[T005$rArcosrr4DisTests.test_load_attr_specialize..$r2r"2rTrr)rload_attr_quickenrrs @rtest_load_attr_specialize"DisTests.test_load_attr_specializesM_b& 1 23""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)rrc>[T005$rArrsrr/DisTests.test_call_specialize..rrTrr)r call_quickenrrs @rtest_call_specializeDisTests.test_call_specializesL Xr6 * 23""2"5 ##C6rcUR[S5 UR[SS9n[nUR X5 g)Nr]Tr)rrrdis_loop_test_quickened_coderrs rtest_loop_quickenDisTests.test_loop_quickens< )Q'""9t"</ ##C2rcZUR[5nURU[5 grA)rrrdis_extended_arg_quick_coders rtest_extended_arg_quick DisTests.test_extended_arg_quicks$""#56 ##C)DErc# # SnU(aURU5 OURR5Ul[[R "USUS9SS9H#nUR S:XdMURv M% g7f)NcN/n[S5HnURU5 M g)N*)r;append)lrs rr%DisTests.get_cached_values..fs A2Y rT) show_cachesrrr )rrreplace_unroll_caches_as_Instructionsrget_instructionsrargrepr)r quickenedrr instructions rget_cached_valuesDisTests.get_cached_valuessu     a ++-AJ9#:N:N 4(; K!!W,!))) s A+B1Bc SHnSHnURSU<SU<35 U(aSnOSn[URX55nUHnURXS5 M SnSnUR UR S5U5 UR [ U5U5 SSS5 M M g!,(df  M=f) NFTz quickened=z , adaptive=z ^(\w+: \d+)?$z ^(\w+: 0)?$r)rr~r assertRegexrrr)rrrpatterncachescache total_caches empty_cachess rtest_show_cachesDisTests.test_show_cachess&I)\\ZYL 8+">?"2"0!$"8"8"MNF!'((8"(#%L#$L$$V\\"%5|D$$S[,?@?*'??s BB66 C cSn[[R"USS9SS9H<nURS:XaURS- nURn O!URnM> UR S5 UR URWSS9nUR URWSS9nURUS W35 URXg5 g ) zX Make sure that with lasti pointing to CACHE, it still shows the current line correctly c"[[5 grA)r5r6r#rrr2DisTests.test_show_currinstr_with_cache..fs !HrTrr r1z@Can't find a CACHE entry in the function provided to do the testF)rrz--> N) rrrroffsetfailrrrr)rrinst op_offset cache_offsetrassem_op assem_caches rtest_show_currinstr_with_cache'DisTests.test_show_currinstr_with_caches   3$$QD9tMD{{g% KK!O #{{ M IIX Y'' )U'S**1::\SX*Y  d6(#34 /rrrT)r)9r*r+r,r-rrrrrrrrrrrrrrr rrrr)r4r9r=rArFrJrNrSrXr_rcrgrkrpryrrrrr.ADAPTIVE_WARMUP_DELAYrrrrrrrrrrrrr0r#rrrrsG!8 H< JF 9,L;=9@9C= OJ0K E,HO=<4 6 682<H 7/ 8 -3GG #W#WJ < < 7 733FF* @@ 00rrc\rSrSrSSjrSrg)DisWithFileTestsic [R"5nU(a)[R"U4SU0UD6 UR 5$[R"X4SU0UD6 UR 5$)Nfile)rrrrrrs rr DisWithFileTests.get_disassemblysZ  GGD 0v 0 0   OOD ?f ? ?  rr#Nrr*r+r,r-rr0r#rrrrs!rrz0: Nonez60: 'Formatted details of methods, functions, or code.'zName: 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 grAr4) rWr6rVrbrrrrgr|s rrtricky..f*s aAq!Q1a(rr#) r6rVrrgr|rWrbrargskwdsrs ````` `` @rtrickyr(s, )) Q1aAq! ##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: 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]zName: Filename: 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: xzName: Filename: 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: xzName: Filename: 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# SIShvN [ShvN nM NN [IShvN nSSS5IShvN g!,IShvN (df  g=f7fr)rVrW)r6rbs r async_defr s3 GGad 1qAqqqqqqs]A A" "A" A0AA AAAA A AAa/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: dcn\rSrSr\R \4\\4\ \ 4\ \ 4\ \4\\4\\4/rSrSrSrSrSrg) CodeInfoTestsicSUlURH+upUR[R"U5U5 M- gNr#)r test_pairsrr code_info)rrrs rtest_code_infoCodeInfoTests.test_code_infos2 ??KA   S]]1-x 8+rcSUlURHup[5n[R"U5 SSS5 UR WR 5US-5 [R"5n[R"XS9 UR UR 5U5 M g!,(df  N=f)Nr#r2r) rrrr show_coderrrr)rrrrs rtest_show_codeCodeInfoTests.test_show_codes ??KA "f a #   V__. >[[]F MM! )   V__. 9 +""s B33 C c^UR[[R[ 55 grA)rwrrrrrs rtest_code_info_object#CodeInfoTests.test_code_info_objects )S]]FH=rcPUR[R"S5S5 g)Nr0x0)rr pretty_flagsrs rtest_pretty_flags_no_flags(CodeInfoTests.test_pretty_flags_no_flagss ))!,e4rrN)r*r+r,r-rrcode_info_code_inforcode_info_trickyco_tricky_nested_fcode_info_tricky_nested_fr,code_info_expr_strr.code_info_simple_stmt_strr2code_info_compound_stmt_strr code_info_async_defrrrrrr0r#rrr r s` }})*  45#$1256%&J9 :>5rr c >^^SUU4Sjjn[TTSS/0S5 U$)Nc>>^^SUUUU4Sjjn[TTTT5 U$)Nc$>[TTTTX5 grAr4)rrr6rVrWrbs rinnerouter..f..inners !Q1a #rrZr4)rWrbr+r6rVs`` rrouter..fs  $ $ aAq rrr Hello world!r>r]r4)r6rVrs`` routerr2s(  !QAr2~. 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) Nr9r]r.I can haz else clause?r %Who let lolcatz into this test suite?rNever reach this%Here we go, here we go, here we go...OK, now we're done)r;r5ZeroDivisionError)rdodgys rjumpyr;s 2Y a q5  q5   &'  a Q q5  q5  ! 56$ A% $ % "#Q 7 567 "#sB4B,9C; BC B)%C,CCCC Cc*SURSS9<S3$)Nz ) positions,)_replace)instrs r_stringify_instructionrAs.1 33rc[R"5n[R"U5 [ 5nU"5nSSS5 [ R "[[S9n[ R "W[S9n[ R "W[S9n[ R "[[S9nSRS/[[U5QSPSPSP[[U5QSPSPSP[[U5QSPSPSP[[U5QSP5nUR[![!["55S 5nUR[!["5S 5nUR[![![$55S 5nUR[![$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)rrrrr2rrexpected_outer_lineexpected_f_lineexpected_inner_liner;expected_jumpy_linermaprArreprrFrGr5)ignorerr+_instructions_outer_instructions_f_instructions_inner_instructions_jumpyresults r_prepare_test_casesrTs [[]F  # #F + G ,..uATU**1IO..uATU..uATU YY ' ')< =      $  ' 9       ( ')< =      ( ')< =   F&^^Dm!457L MF ^^D/ AF ^^D&7!89;T UF ^^D!235H IF &M= , +s F22 G MAKE_CELL^r6 rrargargvalrr start_offset starts_line line_numberlabelr=rVFRESUMErSr1z(3, 4)r.rUr9 BUILD_TUPLE4  MAKE_FUNCTIONSET_FUNCTION_ATTRIBUTEjclosuredefaults STORE_FASTnr LOAD_GLOBAL[r5z print + NULLr LOAD_DEREFT"$z''rr( BUILD_LIST/r BUILD_MAP0,r0z'Hello world!'.CALL5POP_TOP 8:<COPY_FREE_VARS>rWrbr-z(5, 6)r+LOAD_FAST_LOAD_FASTX)rrze, f RETURN_CONSTgNone) rrrXrYrrrZr[r\r]r= cache_infor;z range + NULL)counterr )indexr r)module_keys_versionr r)builtin_keys_versionr r10r) func_versionr1GET_ITERFOR_ITERHto L4r2r`6 COMPARE_OPzbool(>)POP_JUMP_IF_TRUEdzto L3LPO rzto L5VEND_FOR Z\r4z'I can haz else clause?'fhpLOAD_FAST_CHECKWTO_BOOLt)versionr1rzto L9| BINARY_OP-z-=zto L7zto L8zto L10to L6 r5z''Who let lolcatz into this test suite?'r0/ BEFORE_WITHr:r6z'Never reach this'iii iiiiiir8z"OK, now we're done"i(i*i2i4 PUSH_EXC_INFO!i6WITH_EXCEPT_STARTi8i:iHzto L12iBRERAISEiF POP_EXCEPTiJiLiNrNzto L11iPCOPY=iRiTiViXr9iZCHECK_EXC_MATCHidizto L13ifijilr7z''Here we go, here we go, here we go...'ivixiiiiiiiiiiiiiiicgrAr#r#rrsimplersdr) rrrXrYrrrZr[r\r]c\rSrSrSrSrg)InstructionTestCaseicUVs/sHo3RSSS9PM nnUVs/sHoDRSSS9PM nnURX5 gs snfs snf)N)r=r)r?r)rinstrs_1instrs_2instr_1instr_2s rassertInstructionsEqual+InstructionTestCase.assertInstructionsEqualsaU]^U]'$$t$EU]^U]^U]'$$t$EU]^ ,_^s AAr#N)r*r+r,r-rr0r#rrrrs-rrc^\rSrSrU4SjrSrSrSrSrSr Sr S r \ "5S 5r \ "5S 5r\ "5S 5rS rSrSrSrSrSrSrSrSrSrU=r$)InstructionTestsic.>[TU]"U6 SUlgrA)superr r)rr __class__s rr InstructionTests.__init__s $ rc`[R"[5nUHn[U5 M grA)rrrstr)rinstrsr@s rtest_instruction_str%InstructionTests.test_instruction_strs#%%f-E Jrcv[R"[5nUR[ U5[ 5 grArrrrr~expected_opinfo_simpleractuals rtest_default_first_line(InstructionTests.test_default_first_lines'%%f- $$T&\3IJrct[R"[SS9nUR[ U5[ 5 gNrCrrs rtest_first_line_set_to_None,InstructionTests.test_first_line_set_to_Nones)%%f> $$T&\3IJrc|[R"[[S9nUR [ U5[ 5 gr)rrr2rHrr~expected_opinfo_outerrs r test_outerInstructionTests.test_outer *%%e8KL $$T&\3HIrc[5 [5nSSS5 [R"W[S9nUR [ U5[5 g!,(df  NG=fr)rr2rrrIrr~expected_opinfo_f)rrrs r test_nestedInstructionTests.test_nestedsD  A%%aOD $$T&\3DE s A A%c[5 [5"5nSSS5 [R"W[S9nUR [ U5[5 g!,(df  NG=fr)rr2rrrJrr~expected_opinfo_inner)rr+rs rtest_doubly_nested#InstructionTests.test_doubly_nestedsG  GIE%%e8KL $$T&\3HI s A A*c|[R"[[S9nUR [ U5[ 5 gr)rrr;rKrr~expected_opinfo_jumpyrs r test_jumpyInstructionTests.test_jumpyr rcZ[SSS5n[R"U5Vs/sHnURPM nn/SQnUR X45 UVs/sH1nUR UR URUR4PM3 nnUR Xd5 gs snfs snf)Nzf( x, y, z )r ) )rr rrr r rr r/)r1r1r1r>)r1r1rZr.)r1r1rbrr r>rr r0r0) rrrr=rlineno end_lineno col_offsetend_col_offset)rcoder@r=rposnamed_positionss rtest_co_positions"InstructionTests.test_co_positions s)8V<--d3 3 OO3     -!  ZZ9K9K L    3+ " s B#8B(c*[SSS5nURSS9n[R"U5nUHnUR US9 UR nUR [U5S5 URS:Xa SSS5 MUURUR5 URUR5 URUR5 URUR5 SSS5 M g!,(df  M=f) Nzx, y, zr.r rrK)rr]r^)rrrrrr=rrrrr1r2r3r4)rr5code_without_location_tablerrr=s rtest_co_positions_missing_info/InstructionTests.test_co_positions_missing_info:sy(F3&*lll&D#%%&AB!K+6'11   Y3%%1 76 !!)"2"23!!)"6"67!!)"6"67!!)":":;76"66s9D A,D D c 6^ SnURnURSSS2n[RSm [ U 4SjU55n[ U5U- nSXE- ::dS5eSGH nSGHnUR SU<S U<35 [X2R5S S 9VV s/sHupU(dUT :wdMU PM n nn [[R"X'US 9US 9V s/sHhn U RcSOUU RRU RRU RRU RR 4PMj n n UR#X5 SSS5 GM GM gs sn nfs sn f!,(df  GM(=f)Nc3# US-SU-U-- nU*[RU5- SU-- v U(a"U*[RU5-SU-- v gg7f)Nr1r])cmathsqrtras rrootsEInstructionTests.test_co_positions_with_lots_of_caches..rootsLs_1q1uqy A2 1 %!a%0 0rEJJqM)a!e44sAAr1r c3,># UH oT:Hv M g7frAr#)rBop cache_opcodes rrDIInstructionTests.test_co_positions_with_lots_of_caches..Ts6#B<'#sgUUUUUU?zthis test needs more caches!rz adaptive=z, show_caches=T)strict)rrr)rr7rrsumrrzip co_positionsrrrr=r1r2r3r4r)rrBr5opsr non_cachesrrrEr=rKr dis_positionsrFs @r%test_co_positions_with_lots_of_caches6InstructionTests.test_co_positions_with_lots_of_cachesJs 5 ~~ll3Q3||G, 6#66X& ++K-KK+(K)\\YXK+"@A.16G6G6IRV-W$-WMB&" *<"-W!$,J#J^J^ K'2,4 %,4K !, 5 5 ='1188'11<<'11<<'11@@ D ,4" %$$\A#BA*)$ % BAs1 F)E= E= "F(A/F F= F F c[S[RSSSSSSSSSSS9 nURURUR 5 g)NrNrr9Tr rW) InstructionrrrrXoparg)rrs rtest_oparg_alias!InstructionTests.test_oparg_aliasmsM!syy7GTZ^*,RbVZhiqu,02  +*;*;.ftsJJrT)rrzL1:)rrrrrr)rrrs rtest_show_caches_with_label,InstructionTests.test_show_caches_with_labelss=   T: eV__./rc`[RR5Hsup[XSSSSSSSSSS9 nURnUR nUR U5 UR U5 URX5 URX%5 Mu [RHn[U[RUSSSSSSSSSS9 nURnUR nURU[RU5 UR[RUU5 M g)NrrTr rW) rritemsrR baseopname baseopcodeassertIsNotNonerr_specialized_opmap _all_opmapr_specializations)rnamer5rr]r^s rtest_baseopname_and_baseopcode/InstructionTests.test_baseopname_and_baseopcodes))//+JD%TDQU_ajk34$TU]amqsK$//J$//J   ,   ,   T .   T .,--D%T#..:NTXaeoq-.QD^_gkw{}K$//J$//J MM$ 7 7 C D   V\\*5z B .rc[S[RSSSSSSSSSSS9 nURUR5 Sn[S[RSX"SSSSSSSS9 nUR S UR5 [S [RS X"SS S SSSSS9 nUR S UR5 [S [RS X"SSSSSSSS9 nUR SUR5 g)NrNrr9Tr rWrrSrrr]SEND)rRrrr jump_targetr)rrdeltas rtest_jump_target!InstructionTests.test_jump_targets !syy7GTZ^*,RbVZhiqu,02  +112! .@Y_d*,RbVZhiqu,02  )@)@A"?A[af*,SsX\jksw,02  . 0G0GH" &8Iu*,RbVZhiqu,02  -{/F/FGrc^SnSnSnSSS.mU4SjnSS 0nX#TXE4nURU"[RS S/UQ76S 5 URU"[RS S /UQ76S 5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 URU"[RSS/UQ76S5 g)NcL[R"U6nURXU5$rA)r ArgResolverget_argval_argrepr)rrSr init_args arg_resolvers rr/InstructionTests.test_argval_argrepr..fs#??I6L226&I Irr)rr r1r>r6rVr r1c>TU$rAr#)rnamess rr6InstructionTests.test_argval_argrepr..s arrur r)NrrP)r rrsr1)r6r6rr)rurrr>)rrrj)r1 kwdefaultsr)r>z<<CALL_INTRINSIC_1)r1INTRINSIC_IMPORT_STAR)rrr)rrr co_constsvarname_from_oparg labels_maprrws @rtest_argval_argrepr$InstructionTests.test_argval_argreprsg J C 0!W 5*<I 6<< 2D@4@*M 6<< 5q@4@(K 6<< 6ADA:N 6<<8"DtDmT 6<< 5q@4@*M 6<<(@A1LtLN_` 6<< 4a?$?K 6<<(:;QFFHderc^"SS[R5mU4SjnSnURU"[RSSU5S5 URU"[RSS U5S 5 g) Nc \rSrSrSrSrSrg)@InstructionTests.test_custom_arg_resolver..MyArgResolveric US-$rr#)rrErXrs roffset_from_jump_argUInstructionTests.test_custom_arg_resolver..MyArgResolver.offset_from_jump_args Qwrc SU-$)Nr1r#)rrs rget_label_for_offsetUInstructionTests.test_custom_arg_resolver..MyArgResolver.get_label_for_offsets 6z!rr#N)r*r+r,r-rrr0r#rr MyArgResolverrs   "rrc2>T"U6nURXU5$rA)rq)rrSrrrrsrs rr4InstructionTests.test_custom_arg_resolver..fs ()4L226&I Irrrr )r1r SETUP_FINALLYr1)r>r)rrprrr)rrrrs @rtest_custom_arg_resolver)InstructionTests.test_custom_arg_resolversd "COO " J 6<<8!VDlS 6<<8!VDlSrc.[R"U5$rA)r_get_instructions_bytesrr5s rr!InstructionTests.get_instructionss**400rc0[[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 S UR 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 S US R 5 g)Nc2[R"SU5$)NcU$rAr#rls rrGInstructionTests.test_start_offset..last_item..s!r) functoolsreduce)iterables r last_item5InstructionTests.test_start_offset..last_items##OX> >rrrrMr rrOr]r1r rbrfr.) r~rBytecoder7rrrZbytesrr_make_labels_mapr)r instructionsrrr5r~jumps rtest_start_offset"InstructionTests.test_start_offsetsCLL,- 'K   [//1I1I J( ? LL %t LL ($ LL+ ,d   ))$/ ..t45 DKK( D--. LL %t LL ($ LL ($ LL ($ LL+ ,d LL !4   ..t45 DKK( D--. LL %t LL ($ LL+ ,d LL !4 LL ($ LL ($ LL ($ LL+ ,d LL !4   D11$78  LO223 LO889 \!_334 LO889rc [[RSS[RSS[RSS[RSS[RSS[RSS[RSS[RSS[RSS[RSS/5n[UR U55nUR SUSR 5 UR SUSR5 UR S USR 5 UR S USR5 UR S USR 5 UR S USR5 [[R"UR55n[X"SS5H+up4UR URUR5 M- g) Nrsr r rrrr1r9rerfro) rrrr~rrr end_offsetrr test_cache_offset_and_end_offsetrJrZ)rr5rprevcurrs rr1InstructionTests.test_cache_offset_and_end_offsets LL ' LL !4 LL !4 LL !4 LL !4 LL %t LL $ LL !4 LL !4 LL !4   D11$78  LO889 \!_778 \!_99: \!_778 \!_99: \!_778CLL)N)NOP l,<=JD   T__d.?.? @>rr)r*r+r,r-r rrrrr#r'r+rr8r<rOrTrYrdrlrrrrrr0 __classcell__r s@rrrs KKJF J J442 < < B BD= 0C*H2f( T 12:hAArrc^\rSrSrSrSrSrSrSrSr Sr S r \ "5S 5r S rg ) BytecodeTestsi&c[[S5RS[R4H[nUR US9 [ R "U5nURUR[R5 SSS5 M] UR[[ R [55 g!,(df  M=fNr a=1)obj)r7rr rrrrassertIsInstancecodeobjtypesCodeTyperwrr)rrrVs rtest_instantiation BytecodeTests.test_instantiation(s1r{{;C#&LL%%%aii@'&< )S\\68< '&s AB99 C cZ[[S5RS[R4HjnUR US9 [ [ R"U55n[ [ R"U55nURX#5 SSS5 Ml g!,(df  M~=fr) r7rr rrr~rrrr)rr via_object via_generators rtest_iterationBytecodeTests.test_iteration1st1r{{;C#&!#,,s"34 $S%9%9#%> ? ,,ZG'&<&&s AB B* c|[R"[[S9nUR [ U5[ 5 gr)rrr2rHrr~rrs rtest_explicit_first_line&BytecodeTests.test_explicit_first_line8s(e0CD $$T&\3HIrc[R"[5R5nUR5R S5Sn[ [R R5nURX5 [R"[SS9R5nUR5R S5SnURUS5 g)Nr_ri^rC350) rrrstrip partitionr rco_firstlinenor)rrrs rtest_source_line_in_disassembly-BytecodeTests.test_source_line_in_disassembly<sf%))+))#.q1v556 *f599;))#.q1 'rcSUl[RH;up[R"U5nUR UR 5U5 M= gr)rr rrrrinfo)rrrrVs r test_infoBytecodeTests.test_infoGs> (33KA QA   QVVXx 04rc[R"[5R5nURU[5 grA)rrr7rrrs rtest_disassembledBytecodeTests.test_disassembledMs)b!%%' ##FE2rc[5n[RRU5nUR(aURoR(aMUR UR UR5 grA)rrrfrom_tracebackrrcurrent_offsetr~rrrVs rtest_from_traceback!BytecodeTests.test_from_tracebackQsL X LL ' ' +jjrzz"jjj ))2;;7rcSUl[5n[RR U5nUR UR5[ 5 grA)rrrrrr dis_tracebackrs rtest_from_traceback_dis%BytecodeTests.test_from_traceback_disXs: X LL ' ' + -0rc[R"S5n[XRR 55Hup#UR U:XaMe g)Nr)rrrJrrKr=)rbytecoder@r=s rtest_bytecode_co_positions(BytecodeTests.test_bytecode_co_positions^sD<<& #H.>.>.K.K.M N E??i/ //!OrrN)r*r+r,r-rrrrrrrrrrr0r#rrrr&sC=HJ (1 381 00rrc&\rSrSrSrSrSrSrg)TestBytecodeTestCaseidc[SSS5nURUSS5 URUS5 URUSS5 g)Na = 1r rPr LOAD_NAMEr6rassertInBytecodeassertNotInBytecoders r*test_assert_not_in_with_op_not_in_bytecode?TestBytecodeTestCase.test_assert_not_in_with_op_not_in_bytecodeesDw F3 dL!4   {3   {C8rc[SSS5nURUS5 URUSS5 URUSS5 g)Nrrr rPr r1rrs r+test_assert_not_in_with_arg_not_in_bytecode@TestBytecodeTestCase.test_assert_not_in_with_arg_not_in_bytecodeksDw F3 dL1 dL!4   |Q7rc[SSS5nUR[5 URUSS5 SSS5 g!,(df  g=f)Nrrr rPr )rrwAssertionErrorrrs r'test_assert_not_in_with_arg_in_bytecoder[)z from ..a.b import c as d, e as f)rr1)rWr)zfrom ..a.b import *)rr1rsrcrr r r)rrtupler _find_importsrrrcasesrrr5r<s rtest__find_imports$TestFinderMethods.test__find_importsws #MC#&sJ7C--d34  S1-  Q2 '&#&&s AB B c/SQnUHZup#URUS9 [USS5n[[R"U55nUR XS5 SSS5 M\ g!,(df  Mn=f)N))zx+yr#)zx=y=1r)zx+=yr)zglobal x x=y=1r)z global x z=x)r|rrr )rrrr_find_store_namesrrs rtest__find_store_names(TestFinderMethods.test__find_store_namesse #MC#&sJ7C11$78  /'&#&&s >A&& A5 c[R"[RR5n[ Vs/sH"nUR (dMURPM$ nnUR[U5[U55 gs snfrA) r findlabelsr;rr7r*is_jump_targetrrsorted)rlabelsr@jumpss rtest_findlabels!TestFinderMethods.test_findlabelssj 6 67/ .## ELL.  7  s BBcSnURn[R"U5Vs/sHo3SPM nnURUSS/5 gs snf)NcgrAr#r#rrr3TestFinderMethods.test_findlinestarts..funcs rrr1)rrfindlinestartsr)rrr5 linestartoffsetss rtest_findlinestarts%TestFinderMethods.test_findlinestartssO }}141C1CD1IJ1IIQ<1IJ 1a&)KsA r#N) r*r+r,r-rrrrr0r#rrrrvs3" 08*rrcD^\rSrSrSU4SjjrSrSrSrSrSr U=r $) TestDisTracebackic|>[?[?[TU]5$![a N!f=f![a N*f=frA)rsrtrurvr setUp)rr s rrTestDisTraceback.setUpsM   "w}       s. ++ ;;c[R"5n[R"U5 [R "U5 SSS5 UR 5$!,(df  UR 5$=frArrrrrdistbrrrrs rr TestDisTraceback.get_disassemblysN  ' ' / IIbM0  0 /  s A A8cUR[5 [R"5 SSS5 g!,(df  g=frA)rwrxrrrs rtest_distb_empty!TestDisTraceback.test_distb_emptys%   | , IIK- , ,s 5 AcSUl[5nU[lUR UR S5[ 5 grA)rrrsrvrrrrrs rtest_distb_last_traceback*TestDisTraceback.test_distb_last_tracebacks3 X ##D$8$8$> NrcpSUl[5nURURU5[5 grA)rrrrrrs rtest_distb_explicit_arg(TestDisTraceback.test_distb_explicit_args+ X ##D$8$8$rts>8    %%: ' ""))    {{**BKK,@,@,O,ORS,SU V  uu~~$$beenn&C&Ca&GI J uu~~$$beenn&C&Ca&GIJ$ {{2 uu~~) uu~~* ,   {{!! {{!!A% {{!!A%' '  {{!! {{!!A% {{!!A%' '  $((((1,((1,((1,((1,((1, .%. 4 ))))A-))A-))A-))A- //. %%--7-C  ^$d Ud ^$d \"d ^$d       LL #     ""11""11A57 7     >  .\$$$$q($$q($$q($$q($$q($$q($$q(*]5* n&(''):):)I)IA)MN)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  D4  //  //!3  //!3  //!3  //!3  5 B     {{!! {{!!A% {{!!A% {{!!A%  *$ {{!!A% {{!!A% {{!!A% {{!!A% % 64 {{!!A% {{!!A%5 @ ((((1,((1,. . *((((1,((1,((1,/+ /4 !!00!!00147 7((##(0}0{}0@ !x !==  O  $$$$ @__--77:,         &5H%%5F $<~~,,q0 ((+ ..=!++A.'66E4 Hoo [3TUdeswFJRVbfg [3TUdesxGKSWcgh XcqBq_`nrABJNZ^_ \"!FH]^mn}AOPX\hlm [3TUdesxGHPT`de [3TVeguzIJRVbfg ]21QSUdftyHIQUaef \"!MSWXeSfoqACQVdemq}AB _RT$PR[]ln}BPQY]imn -cqT]fhwyHM[\dhtxy -cqT^gixzIN\]eiuyz \#1S#VXgiw|KLTXdhi ]21WnegvxGKYZbfrvw \"!CUWfhv{JKSWcgh \"!CUWfhv{JKSWcgh \"!BUWfhv{JKSWcgh \"!AsSUdftyHIQUaef \"!ArRTcesxGHPT`de [1bQSbdrwFGOS_cd \"!NTdmoAOTbcko{@ VBAaB]_mrABJNZ^_ YrtD"UWfhv{JKSWcgh [3TVeguyHIQUaef ^BDrZ\km|AOPX\hlm18%ba2VWfguyHLTXdhi [3TUdesxGKSWcgh [3TUdesxGKSWcgh XcqBq_`nrABJNZ^_ \"!FH]^mn}AOPX\hlm [3TVeguzIJRVbfg [3TVeguzIJRVbfg [3TVeguzIJRVbfg [3TVeguzIJRVbfg ]21QSUdftyHIQUaef \"!YrtD"UXgjx}LNVZfjxSUxwyz?v@(CQXadsvEJXZbfrvD_C`aAvB]21WnehwzIM[]efrvCNOCvD[3TWfiw|KMUYeivz{EvFVBAaC^aotCEMQ]aoJLtnuvGvHYrtD"UXgjx}LNVZfjw{|IvJ[3TWfiw{JLTXdhuyzKvL\"!AsSVehv{JLTXdhuyzMvN[BUXgjx}LNVZfjxSwTUOvP\#1S#VYhky~MOW[gkx|}QvR[3TWfiw{JLTXdhuyzSvT\"!AsSVehv{JLTXdhuyzUvV\"#c9]`orAFTV^bnr@[\]WvX(3PW`cruDIWYaequC^B_`YvZ_RRW]`orAESU]amqZ~[\[v\[3TWfiw{JLTUaervw]v^\"!AsSVehv{JLTXdhuyz_v`\""S)\_nq@ESU]amqZ~[\avb(3PW`cruDIWYaequC^B_`cvd^BBsH]`orAESU]amq~BCevf[3TWfiw{JLTUaervwgvhYrtD"UXgjx}LNVZfjxSUxwyzivj(3PW`cruDIWYaequC^B_`kvl_RRW]`orAFTV^bnr@[\]mvn]21WnehwzIM[]efrvCNOovp\"!