ÿØÿà JFIF    ÿÛ „ !.%+&8&+/1555$;@;4?.451 4,$,44444444444414444444444444444444444444444444444444ÿÀ  á á" ÿÄ     ÿÄ ?    !1AQaq"2‘¡±ÁðBRbrÑá#‚’¢²3S CñÿÄ   ÿÄ !    !1QAa‘2ÿÚ   ? 5˜Z¯V¦cø)›t/? z¨±>Õ5€¶‹Á¤·¼z¼Ü¬+ñ®v¤¨_ˆR­BFn©—˜ý®ç̝P8gýt·ÉSTŦˆìät?þé¼íìN/Þa)ì–í6ô… Ï¿øÃj´¿KÇü]ÿ ªô¹-eKànëÕHTx}ýSÜ›ÿ ”7Ø×&µ<¦  ¥ÑO¶[Ù¯ä¨ÞÃÿ PZ-¬;#õ|•oaÿ ©CìÞz3˜öː/¤­ñTûIØ}š^ mÓ%ªxˆ¥ÉŸu=Z+ISe¿45™¼u;ú&WØ÷€æßQ™®{|íx*TC“#ZŠìZ§²‹ 6pv…³¿¡äª*áZÐ%ÒOáˆo"x«OHk w±æ+¬V(kMúŸ5Vö«$ ÁrÏbàb57/luR ¸ÑÛj Òµì`Мq­û žICÀÊ•©4€Âcà¨Ï€O´<èÐ:›ù(Ë^L8þ‘ÍÌ#¸Ð_Ì©ÙK(Öz 4¬û+¸;ü’V’84‘¬ÃŽ:[â‡ÔÌáõp¢~§ªlæ£ö{®G>J¼"°‡7¯ÆÉèßû ‹É‹§ÁòÃýâßî ^ƾÙõ‹×óH#«LP½ïX=xÑÍ$|W?•~• îëÔ©ª‹ {ÝT…Kÿ ”hûâá)J*ö˜–ÔU;iÇ€/ ÆþjóZ\ýwØ=Ìm ºèËL9 ýèÆð/¨’¥öo=nË.%Îì ŽÕ¯È|{Oj²ƒE6e/ßdÄõ²Ìâ1O®ò×TsəԸhOMýíMˆ¿¼H˜l²,7Â¥#MF/Úf°Ö½± ¸–dr‹NýÊ íjqx{œÉ ä-È ¦ øÄër¨q°ð †nцýÑÄÆ’mä…n<0È™;ÁÝá¯ÁZƒ7FÀmì­ É&9ˆîéi¶ùN§Y• ÃZãAâ?•‡©‰ , ó¾IŸŠc1 4â&y­&pŠ­6;M À 0¹qç»p.á …ŸÅáK@%6·y6ƒ‰3?”úºŽ‰éX5ªPT §µ!=Mž«Ú½‹ÅgÂSâÉaþÓoö–¯ÁÔìR>5éÿ üs¶ÆUcÌ kÇR ]ÿ ù¬¼«VŽ;Â|‡~¢¦”ÏŰæ {L™Õ°Óv¹ò¸írޡעCÃ!íVÕ {¶»sŒNPg/ "uÕbkm²“$ďå¿é¹§°½æz¯6 †s¿!s–wÚÝ“™Œ °.ûj>·+™Òa…©Œ&rÝÎtÛë긪Ît’LAVp%c Úý[ÄzJ¾ÇàXXç@˜ó<êL]·T˜¾¥1Ó©V‡g´æ½¦Ý@¹óø!_@´ÞâSÁ —S3™•& ]@JHÚý©ZŽ €×æÔr»Áf!‡yÞ4Mv*èÓã_{‘åóUuљØ«Oïé*®EvÑ Œ÷‡U \"㪒ÍK+À 4“M¡ï:0¥5í!'<@î´”>Ç»&Z–ïCCV˜Ì5Šo&îhè.žû |ÓK©h$s6KìŒëã)¹hI¦GïOåóI;ììü#É$Š0…Ææ¥TØ.5­¾gn´ “ÂÖ\:hœ89G)J@„}œ:’Ò{/Š"¦_Æ×7Æ3VÇŠÊa]ÚŒÙ€Ä–=®uÁßâACZƒ§§£ Qnâ:«,×{tyø¬iÛcœÜÄ€H½ÄÍCk´÷šß .W'b¤Íåh]÷€=,Žv×cÚEÚHXJX¶îo¨FÒtèöŸ>ªª6[J®Fµ£sGÁeqõfe\íjÒÐïÄÐGˆe1Ø‹.Ø”‘Ëuø Y­ˆÜ ŽG|zùªüMpDnQWÄ”%JŠ™)â*p@Örš«ÕT2Ð%ˆG#ª„ ·¤!°ŸOTÂT¸aÚ%4&h™LµšØüÐ.F¿²ÐÞ_Ç‚¾ÅÃaÜ÷09Æ q€öy˜v‡85õN÷]¬äѼóS{°_MެúÔ#°Ç¸0åÞè2ëôPcvÆw9®ií1Ä8F™˜à‰´+‰Ik1òÝ7“Ñ×ÒsÝ\x‚h`ÞÑ`ó"|µEcý£n˜h`}GÞ !±ù²Ápü²ß6 0ïi󜵩SÈÇ7˜-ÕURO˜¦´f$ªž-Í6(œ}<„ éc øs]ŽŽ„*—¾ ìdŽ„)méª\¿êÎIg¾ØÞ~I#C/¼¼´EÁÈŽi8“©õådô·>euä ƒ'Ê×लR1ÉJE1ÐAát`t;ÇР%Ý<‡¥„ÍÆ`×Oyó)õiI€ñQaŸ4Ûù\áàaÃÔ¹HÃu¹*k€¦<„e S‡&õÏ B!ŽhüÞ`yj}mªf×\¿ Ç~æ­9‡û\՞Ǖg²1Žû5V7 !àöšm° c`ܬøÇìµÒ'P"?…´Ö,"§^•õލsÔ)6˜sæéÍR¼ ò|Sl”‹7 nPW Gòú÷½§O¯‡„l¡kSÞŒr½PÊ@æ¢pŽ-mÿ #Ÿ˜Àº¶Áä¦;ïÔæ$1££`“Õ>„—·ž)ßð³ñ#Ï Ô$¶œ‰ÊE‹À;÷º ¯«P:Ñ”8–IÊtpÞ3ª“>ê“þës4ò2OÏÕ­±zô†Õ§‰.÷ä¸;¿˜“'œ›žª}«Œ{ª±Ì 9ÔóÞÕ‡0 $íWV3Üì¬ —@kÝ4@¿r¼±½¬™›?øØæ´'Áé®CË3-g$˜ö‡×auÚi´Žp/êÛ æF›Ú2v‹ã¿¿,nB1̨ƃqÞa5͝@&Æû“él÷ \C²½UÍc ¯k×¢U ÖéQå™—-r wô ÞÏ<Ò=&=ÿ Ôê Òêˈt,i—;LîÜ á¸*ÚÃ1$êL•LÍ <É)ýÐà’ ;F™{ƒ™˜€&'}‚ãÄK`¡ÞT@I;®žZóè‚s’7®°›+§O­Åq©é»²9<Ô J ¼9O’HL»Ùïì¸rk¼Ž_ý‘TŸu[²ßÚŒ·ü÷B%¯E ŸÔX5êO´ Ç•€’I0 ÉJX` ñ¹õ%;µŸD‘«´€àwÒ™U ûئžÖö\×®×´8 ½‡ºÐÆÓ§?Àkmœ=;d5*@-ì0F Rªýš[Ü6âö̃ڸr*KA9· u*µæ£?U¸Âêí†8@¦X4 e-ò„0s{ HâUpU?¼mñRa°®a%Ð'tÉ×’\¾ÊÉ]t›h>·(Ë@R¼¡Ãt h}’O÷au<+nT…Ö…MӐ??Óe95 q>í/;&JSû °¯ÊéÞ øƒ*Ã2½Ài&:nôUl=¾¿5eˆ3”ñc|Ú2V”>„»&eE;«ÚäC p¢Û úy 9š[ŒÌx¼擼A&DåÒ¯ˆ¤ÀÌ;"˜ ÏQä¸åhÊ}Ûq«Û0WžÒ|»€ø®öCm5•\ÇÀ§Pe3£]0ÃàLDÉ‰1øªxjgwT‚÷¿LΨK‹›ùs—xˆÜ±µ kæ¸f‰‰ÜGk/LÛØ6d9ò¶ùA{ƒA3š/¬D¬khÓk‰`˜"㯒r¿±Óã jx‡°e}<Ñø\3y:'À•/h½Í€Ç4~g ?Û(¼]v‘ªlKÎâ~?O‚W%{Ì:“'©úNq¾›úo(X’¥¯ˆ nFê{Ç€ü?º'ë ø‹ì Þ09ŒÌç9Æ —ËC`j@ÓÄ(+a‹un¸#ÂꟋ{K`‘ÑÍÍ'à´»/Û,KW;Þ4²þð ï Nm|~fGÏ(…³Ã)«1ö­Õ ¥‡¨©ƒÃ™ü-s=à=U66Ï«Ýc蓦W¹íž®›nÔ%êÇìŒ<#Ü×84ån®Ð ÒåOC` ñânÑs‡¢ç 1õ%Îhì½Ã½® e:ݼUZo™`  ÅZŸŒÊ«ê1ÏÄo$q¹Þ€©ˆhÐÉä¯ñ[!…Ú˜àJ:x2$Íß&PåT£6ç— ‡Í*4Ýšçjÿ ‰É nófÐ ó(L5C•åÆ\rMÒ@ò }y-W}™üýVù—ú¢=Ù”c®‘< M ž ´Phr ¦©TD ‘ù.$´÷O‡‘V2Æò.=IUŒ=ž‡â¬i™aþÓåÙ?òUø'ØÖ•.~* šTŒ!•-×áºTâ®ä#õü'´ eýlYÅÓeÕKÂrT"CÚ@u!Óxƒ{š3€}1¿(r}%«nËamjÑ%ÑNEò v ˜à  σöK³,*º.àzù¨™Ó ÚçâU¦*¿ 9{%Ö¹ njûdaXöb) kÛÆ±ûÓ\°M7ˆÂ=û›ç¿Ã‚­V»Cg–8ÙêE- j)k$º`Ã-ùEýeBÆÇ]c¡°ñty&Òd0nõ'¡W+ƒ*|–øµFa\GQªEAÔp5\Ǽ·¼Ç8·õ -â§Ú[ ‡ uZeÖ 3}×d'+¹:ð+K†Û®s!Ï$úe€<Û”x)1»a­¡LC]¸µík…ÚàA»AYº{†ªS[¦5HÒ7ù --,ísòDØ€èk ÞÀîÜ ò@â( ËNˆë›4ô½•/¦o‡€Û7 ê•ÆêòðÜy'Án½µ á˜ݦ ndeo…[ì¶Ê,¥R³Ä=À±—–ß;£™´ñSâ*g§”ïaið‘Jå~™ÓÞ ß³Õ¢»8x埒²52>AÊb&-÷\7´éÄù€T˜,w;3{ï˜k…à¹ÄqÀ«œ{€\ ˆ¾[´¨јr &Úé„Ívˆ±8†¿]|¬ņ4I×pÞS1ÈÖz‰#Ìv‡G!YNògñ:màTz¢Ý1ô©^O=~ë|5Bã™ç•¼µõ•bÆ@úÕS¬ÈŒ#¬zünrŸ û” Z²•èðV"ÁHÚý©wÝ €7¼Ìu1hÑa3Éä û f$o¿É ™Ú›ÝçnpÒ3äÌ3†Í§,Äï]$‰/pê †«À¼¸e9­Æê_C]žƒ·ý·frÁN«, E=›Çq -‰öŒ:aÏ¿±í&£Í:-} 84‘ÿ eƒQÑeëSsuiA ³g㟥ú£?ÿ ʼn*”“÷aühe:ÊWa@ÒÞk±eØ] F Ô—r.åä˜ @ö¥ªZoÐýYL·¥S²G/‡ñ <~*ZÆ´è>JlòàÛÆ½ÿ 窘ìGN¢:I®KšJp/`íIÁÀõ#Ä-€ö­šµŒoF4|ÆQØÆ@Ì|£Ô…¢À{9˜è½Üó›€ôYÒÎYsið;ís¤€à²ˆ‚4qÉVŒI$ ‰"° æµ8cXGjœˏ¡Aâý•ËÜ¢ûï e·çLx']á"oÅÎê3¯Ç—¹”ó0nå‚âg{Œñ> S´˜îè°g238‚ãköÝfÚd´6Ò€;ò÷±¢™¼›º ¢Æ'¥Ðx'e¬ç ]bÈÆV¢ó‹kýBO ðÊâ$Ÿ!×T 3Mýמ žìٍàÌü‘8÷€àæØ8æ©6‰©L´«…oãpð„~Çk‰!ñ;‹”ÛžÍ àž±z Ÿôû øŸÝužÏ;ÿ #|u6™Þ¬ÚˆÐõA4¶â|ôl|Ê2ŽÇ¤ÝÅÇY.<#Aí.k§hóF‚”Y; M½Ö4hŸ4&›­¿tès´%FìL¥£Ãk‰ÇT¤haÁ¤ÚxfÉ`ÑìË›>i 3t‚:,–+^÷´–{Û–Nxi"x‘Ûg î¨>¥Õ܁ùZH,2Û“:8xÊ¢Çí9.É-Ìâã-=çjwµS˜dütžçwýGòú®®ûº_ˆýx$–¡ãøO EÚÛÏ÷R„×w+3£Á£öUMyR²¹âŒ°š›¸Ñãò9§Ó_Dl+Ùßc›úšGÅÌc†Ž!Ko=¶.‘Îÿ c²(2®V mª.ÿ ¹B›¹å ù„öŸSV>™ü¯$y:G¢Z×àøúdî¹û­·ýÇ´:•c LÍõi_‹ö+ÎæGÊè>OŠ•äž´§Þ{X}¨1ÚTc›»Qþ•êô°t¿OP?eæ~É{5]•ÙR£r5†nZ\ã@ &îJõ ¾àC°þV>fé¥/ü5ñÊIº_é5 ;e­h<@ Ä&æÃëE%;X,ÒãÆÞ`Oò¦kŸm#˜!ÀyÄ¢| óLšò¥Ä` ¶R=|ÈCâh5ò3DˆïF†ðÒ#ÅìÛœ?¸yhBãœí ZxßÎÄhºRK„`Þödvײ™ÀÈÑÒgŒuY w³%†ƒÓzõ ÖÏp‚dH®¦A´ù§»ÓÇMæ~)ˆð‡û:ù&Ä •vGD´À n ݇¼Ö8Fö óáà£~Ë¥x`oK|Ä?fxiØü%pìR>éò+Û±éÎ>núlFŤ'tq8LZÏvÃ?„¡ß±È⽆¯³íü@x|PöUäèØã¡ð‚ŒAìÏ"vÍwóŸÍ{ ý0.z È•Ö{,N¡£¡ŸKÕÙž>Ýœþ ÍÀ°<×EA!Å‚D™IúOÍ¡>ôG}Â` ÍßkÜL™Ž Þð™ {IøF²¹òQ3&!ÃÂÞz.d&Ï-sH¸,Ôõ˜ŽP€ 77ˆÝ¼ÊëÜw =cÕ Ú,ØÐ5ÎYÐ)ì´öœgŒ[¤ßv㙑8心>h]§µháYš£²ºÑ.{Ï7Sð•?´~×SÃKýJÛ˜ ™Íäiúu<µX¶1õ^kâçIÑ£sZ4h>j*ÔšD:4­¿_ ÷¸ Õxæÿ ¸?Mù _•­ÊÐ ä ÷ý ÑwL œ­ïnTkÛUÍN©ë:¦fV ¶ÜÔÜMªÅâA½–¿R×TXš-%iTÊT•‡Ù‚JôϐZxWÑè‰f‰òG º ×Õû2aZ7OU3[“×AT–ÞŒ…-‘¤”Ì ì&(ˆ¿­•ƒkï’:ðY¦W‘ Å)“†‘˜³Åtcø˜ñTÂwÚÇ4|üLÇªí–v- qˆèU qPE.†â‘˜µ Æ,ÐÅs]8¾„oúÑ i>ÜxxÈó)ƒ ´æÁâØ$À‰vžŸf$Ž |ãw;ÀÁIJ»b` {¦Ó¤Ú$©YÀ‘n@Óïž«9J¼êG m¤ ܯ¹ÌW4€ÐÒÅÛ‡#褕Ÿn-?í|с¥÷Ú¹¬'´ÞÜ9ÓK `hê£SÄSà?7—Wí_´…óB›»:=Ãïq`<8ñÓŒÑlú2d¬ê³£hÖ[l|$vÝro~'R®‰§°ñmY ͧäP |PUª¹·:3Œ[Û{Xÿ ºâ@‚W–Äé u‚ ¯´*=íή.pûÒdt @G‰¬ s¸ ëÉücr ÞæÑ¨Ê@>¤¢Ö±. Þ'¯°ÌME[YéïĵÂCå½ Ué©Áû'Ê9%eÔðNU”ë‘ÌsD3/®+UI˜9h.WC”빓$#:pz:YÓ ¿xž* ³$Í +$kñAŠ‹†¢ Uê>¸)_š¬÷©ßAÂÔb9ÇU ¯¾á•9¯ÏÏ÷O÷¼¼Fähal1‰3Ì[Ïr•´UCksNÐ] R‘¸¥H+§Šé†c©vÖÞ0iÓ76s†î!§=ß ¼~Ô'°Ãmäoäš³ªøi1úÉ)³yV8 CLÄØÁ‘WYïi€H6ÖÑiámø^ÈY´°Ñ7¥Û*—Ñ©L«Qƒï—Ùrÿ ›£Ð*š¸ˆL©ˆ$ˆ ÷¾D§9È®«qbqC)–ˆïv´çñsÑVT­Ø, <àïºÀO«Jý·õ àfPìð .wFšir´þ’2_Y *Æ€x\« ì€9š@ Ž|F⇥ˆkZ@hÖÄ0t¿-<“‹qµ¾*ZL¤Ú)&BJpÓF5=$„at*Zš$’ÑtdûÝRI1 2މ$€$I$#‰SÞ’Hë¬ï;Á$¡t$’`<(ñÇt)$‡Ð.Êf¢X’Kt=Éé$‚ˆªè¢oÝëòI%Rgcª÷ŠyI%¡‰ÿ !ñ)´õ $¤ Ô’IIGÿÙa 3gm@sddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z Gdddej ZGdddej ZGdd d ej Zed kredS) N)support) script_helperFakePathc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zejd'krd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Z d:d;Z!dd?Z#d@dAZ$e%j&dBdCZ'dDdEZ(dFdGZ)dHdIZ*dJdKZ+e%j&dLdMZ,dNdOZ-dPdQZ.e%j&dRdSZ/e%j&dTdUZ0dVdWZ1dXdYZ2dZd[Z3e%j&d\d]Z4d^d_Z5d`daZ6dbS)c TestSpecificscCst|dddS)Nzsinglecompileselfsourcer 0/opt/python39/lib/python3.9/test/test_compile.pycompile_singleszTestSpecifics.compile_singlecCs|t|j|dSN) assertRaises SyntaxErrorrr r r r assertInvalidSinglesz!TestSpecifics.assertInvalidSinglecCstdddtddddS)Nhiexeczhi rr r r r test_no_ending_newlines z$TestSpecifics.test_no_ending_newlinecCstddddS)Nrrrrr r r test_emptyszTestSpecifics.test_emptycCs4tdddtdddtdddtddddS)Nz rr zhi stuff def f(): pass z(this_is really_old_mac def f(): passrrr r r test_other_newliness   z!TestSpecifics.test_other_newlinescCsH|ttdddddl}|j}t|dd|d|t|d|dS)Nz __debug__ = 1?rr __debug__ZsureF)rrrbuiltinsrsetattr assertEqual)r rprevr r r test_debug_assignment!s   z#TestSpecifics.test_debug_assignmentcCsX|ttd|ttd|ttd|ttd|ttd|ttddS)Nz lambda a,a:0zlambda a,a=1:0zlambda a=1,a=1:0zdef f(a, a): passzdef f(a = 0, a = 1): passdef f(a): global a; a = 1)rrevalrrr r r test_argument_handling*s z$TestSpecifics.test_argument_handlingcCs|ttddddS)Nz1+*3filenamerrrrrr r r test_syntax_error3szTestSpecifics.test_syntax_errorcCs|ttddddS)Nz f(None=1)rr'rr r r test_none_keyword_arg6sz#TestSpecifics.test_none_keyword_argcCs|ttddS)Nr#rrrrr r r test_duplicate_global_local9sz)TestSpecifics.test_duplicate_global_localcCs,Gddd}|}t}td||||jdztd||WntyVYn 0|dtd||||jdtd ftd ||||jd|ftd ||||jd|f|ttd|Gd d d }|}|ttd||Gdddt }|}td||||dddS)Nc@s$eZdZddZddZddZdS)zBTestSpecifics.test_exec_with_general_mapping_for_locals..McSs|dkr dStdSNa )KeyErrorr keyr r r __getitem__@szNTestSpecifics.test_exec_with_general_mapping_for_locals..M.__getitem__cSs||f|_dSr)resultsr r2valuer r r __setitem__DszNTestSpecifics.test_exec_with_general_mapping_for_locals..M.__setitem__cSstdS)Nxyz)listrr r r keysFszGTestSpecifics.test_exec_with_general_mapping_for_locals..M.keysN)__name__ __module__ __qualname__r3r7r:r r r r M>sr>zz = a)zr/zz = bzDid not detect a KeyErrorz z = dir()r?r8z z = globals()z z = locals()c@s eZdZdS)zBTestSpecifics.test_exec_with_general_mapping_for_locals..AN)r;r<r=r r r r A[sr@c@seZdZddZdS)zBTestSpecifics.test_exec_with_general_mapping_for_locals..DcSs|dkr dSt||Sr-)dictr3r1r r r r3cszNTestSpecifics.test_exec_with_general_mapping_for_locals..D.__getitem__N)r;r<r=r3r r r r DbsrBr/) globalsrr r4 NameErrorfailr9r TypeErrorrA)r r>mgr@rBdr r r )test_exec_with_general_mapping_for_locals<s0        z7TestSpecifics.test_exec_with_general_mapping_for_localscCs@ddd}i}d|fd}t||||ddddS) Nz x = x or z-xi z def f(x): %s %s %s %s %s %s %s %s %s %s # the expressions above have no effect, x == argument while x: x -= 1 # EXTENDED_ARG/JUMP_ABSOLUTE here return x fr)rr )r ZlongexprrHcoder r r test_extended_argks  zTestSpecifics.test_extended_argcCs|ttddS)Nzdef f(a=1, b): passr+rr r r test_argument_ordersz!TestSpecifics.test_argument_ordercCs<|ttd|ttd|ttd|ttddS)NZ2ez2.0e+z1e-z3-4e/21)rrr$rr r r test_float_literalssz!TestSpecifics.test_float_literalscCsd}t|dddS)Nz if 1: if 2: passr)rrr sr r r test_indentationszTestSpecifics.test_indentationcCsDddgddg}t|dd}||jd||jtdS)Nr Zspamfnri)joinrr co_firstlineno co_lnotabbytes)r Zs256cor r r test_leading_newliness z#TestSpecifics.test_leading_newlinescCsdD]}|tt|q|tdd|tdd|tdd|tdd|tdd |td d |td d |td d|tdd|tdd |tdd|tdd |tdd |tdd|tdd|tdd|tdd|tdd|tdd|tdd |td!d"|td#d$|td%d&|td'd(dS))N)Z077787Z0xjz0x.Z0eZ090000000000000Z080000000000000Z000000000000009Z000000000000008Z0b42Z0BADCAFEZ 0o123456789z0b1.1z0o4.2Z0b101j2Z0o153j2Z0b100e1Z0o777e1Z0777Z000777Z000000000000007Z0xffz0777.i z0777.0Z8000000000000000000000000000000000000000000000000000777e0Z0777e1iZZ0e0rz 0000e-012z09.5g#@Z0777jyH@Z000Z00jz00.0Z0e3z090000000000000.g聰vBz&090000000000000.0000000000000000000000Z090000000000000e0z090000000000000e-0Z090000000000000jy聰vBz000000000000008.g @z000000000000009.g"@Z0b101010*z-0b000000000010Z0o777iz -0o0000010i)rrr$r )r argr r r !test_literals_with_leading_zeroess4z/TestSpecifics.test_literals_with_leading_zeroesc Csd}dd|d}t|t|ddWdn1s@0Yt|dz|t}t|ddWdn1s0Y|j}||jd |d t ||d t |Wdn1s0YdS) Ni za = 1 b = 2 c = 3z d = 4zrzzExceeds the limit z Consider hexadecimal ) rZadjust_int_max_str_digitsrrr exceptionr linenoassertInstr)r nr Zerr_ctxexcr r r test_int_literals_too_longs * *z(TestSpecifics.test_int_literals_too_longcCstjdkr4d}|t|d|td|dn>tjdkrhd}|t|d|td|d n |d |td tj d t|td tj d tdS)NiZ 0xffffffffl-lZ0xffffffffffffffffllz)How many bits *does* this machine have???z%sre)sysmaxsizer r$rEassertIsInstanceint)r Z all_one_bitsr r r test_unary_minuss   zTestSpecifics.test_unary_minusroc CsHd}d}d}d}d}d}d}d}|jjjD]} | dur*|| tq*dS) Nllllllrol)test_32_63_bit_values__code__ co_constsrsrt) r r.bcrIerLrHhvariabler r r rvsz#TestSpecifics.test_32_63_bit_valuescCs(dpd\}}||d||ddS)N)re)r~rerer~r )r ijr r r test_sequence_unpacking_errors  z+TestSpecifics.test_sequence_unpacking_errorcCsBgd}|D]0}|d7}|tt|dd|tt|ddq dS)N) zNone = 0z None += 0z__builtins__.None = 0zdef None(): passzclass None: passz(a, None) = 0, 0zfor None in range(10): passzdef f(None): passz import Nonezimport x as Nonezfrom x import Nonezfrom x import y as NonerUtmprrr')r Zstmtsstmtr r r test_none_assignments z"TestSpecifics.test_none_assignmentcCsFgd}gd}|D]}t|ddq|D]}|tt|ddq*dS)N)z import syszimport os, syszimport os as barzimport os.path as barz0from __future__ import nested_scopes, generatorsz2from __future__ import (nested_scopes, generators)z3from __future__ import (nested_scopes, generators,)z%from sys import stdin, stderr, stdoutz'from sys import (stdin, stderr, stdout)z(from sys import (stdin, stderr, stdout,)z(from sys import (stdin , stderr, stdout)z)from sys import (stdin , stderr, stdout,)z7from sys import stdin as si, stdout as so, stderr as sez9from sys import (stdin as si, stdout as so, stderr as se)z:from sys import (stdin as si, stdout as so, stderr as se,))zimport (os, sys)zimport (os), (sys)zimport ((os), (sys))z import (sysz import sys)z import (os,)zimport os As barzimport os.path a barzfrom sys import stdin As stdoutzfrom sys import stdin a stdoutzfrom (sys) import stdinz%from __future__ import (nested_scopesz%from __future__ import nested_scopes)z0from __future__ import nested_scopes, generatorszfrom sys import (stdinzfrom sys import stdin)z%from sys import stdin, stdout, stderrzfrom sys import stdin sizfrom sys import stdin,zfrom sys import (*)z(from sys import (stdin,, stdout, stderr)z from sys import (stdin, stdout),rr)rrr)r ZsucceedrErr r r test_import s zTestSpecifics.test_importcCs.dd}|\}}|t|jt|jdS)NcSsddd}ddd}||fS)NrecSs|Srr xr r r ;zITestSpecifics.test_for_distinct_code_objects..f..rpcSs|Srr rr r r r<r)re)rpr )f1f2r r r rL:s  z7TestSpecifics.test_for_distinct_code_objects..f)assertNotEqualidrw)r rLrrr r r test_for_distinct_code_objects8s z,TestSpecifics.test_for_distinct_code_objectscCsdd}||jdS)NcSsdS)NZfoor r r r r rBrz/TestSpecifics.test_lambda_doc..)Z assertIsNone__doc__)r lr r r test_lambda_docAszTestSpecifics.test_lambda_doccCsd}|tt|ddd}t|dd|t|dd}|t|dd}|t|dd }|t|dd }|t|dd }|t|d d }|t|dd}|t|ddS)Ns## -*- coding: badencoding -*- pass rru%# -*- coding: badencoding -*- "¤" u¤u"¤" s"¤" ¤s# -*- coding: latin1 -*- "¤" s# -*- coding: utf-8 -*- "¤" s"# -*- coding: iso8859-15 -*- "¤" u€u*"""\ # -*- coding: iso8859-15 -*- ¤""" u!# -*- coding: iso8859-15 -*- ¤s("""\ # -*- coding: iso8859-15 -*- ¤""" u# -*- coding: iso8859-15 -*- ¤)rrrr r$r rNr r r test_encodingEs& zTestSpecifics.test_encodingcCs^Gdddt}|}d|d<||dd|dd7<||dd|d=|d|d|d<||dd|dd7<||dd|d=|d|d|dd<||ddd|ddd7<||ddd|dd=|tdd|d|ddddf<||ddddfd|ddddfd7<||ddddfd|ddddf=|tddtddf|d|ddd<||dddd|dddd7<||dddd|ddd=|tddd|d|ddddddf<||ddddddfd|ddddddfd7<||ddddddfd|ddddddf=|tdddtdddf|d|d<||dd|dd7<||dd|d=|t|d|d<||dd|dd7<||dd|d=|ttf|dS) Nc@s4eZdZddZddZddZddZd d Zd S) z.TestSpecifics.test_subscripts..str_mapcSs i|_dSr)datarr r r __init__^sz7TestSpecifics.test_subscripts..str_map.__init__cSs|jt|Srrrjr1r r r r3`sz:TestSpecifics.test_subscripts..str_map.__getitem__cSs||jt|<dSrrr5r r r r7bsz:TestSpecifics.test_subscripts..str_map.__setitem__cSs|jt|=dSrrr1r r r __delitem__dsz:TestSpecifics.test_subscripts..str_map.__delitem__cSst||jvSr)rjrr1r r r __contains__fsz;TestSpecifics.test_subscripts..str_map.__contains__N)r;r<r=rr3r7rrr r r r str_map]s rrerp)rererf.)..)objectr Z assertNotInsliceEllipsis)r rrIr r r test_subscriptsZsd           zTestSpecifics.test_subscriptscCs0d}|dddtdD;}t|dddS)Nzdef f(%s): passz, css|]}d||fVqdS)za%d:%dNr .0rr r r rz6TestSpecifics.test_annotation_limit..i,rr)rXrangerrRr r r test_annotation_limitsz#TestSpecifics.test_annotation_limitcCsZGddd}|d|jjj|d|jjj|d|jjj|d|jjjdS)Nc@seZdZddZdS)z&TestSpecifics.test_mangling..AcSsd}d}ddl}ddl}dS)Nrerpr)_A__mangled_modZ__package__.module) _A__mangled__not_mangled__r __package__r r r rLsz(TestSpecifics.test_mangling..A.fN)r;r<r=rLr r r r r@sr@rrrr)rirLrw co_varnames)r r@r r r test_manglings zTestSpecifics.test_manglingc CsHt}|dr|dd}t|d}|}Wdn1sF0Yddgddgdd gd d g||gg}|D]n\}}t|d |d }t|d|d tj}|t |tj kt|d|d }| ||| |j d|qvtddd tj}| tt|dd| tttdd t }tg|_| tt|dd dS)NZpycr~rzzx = 5z zif True: pass z z!for n in [1, 2, 3]: print(n) z zdef foo(): pass foo() z%s1rz%s2z%s3zprint(1)r)zr$)__file__lowerendswithopenreadr_astZ PyCF_ONLY_AST assertTruetypeZModuler co_filenamerrFZIfZBoolOpbody) r ZfnamerLZ fcontentsZ sample_coderNZco1astZco2r r r test_compile_asts0  &   zTestSpecifics.test_compile_astcs:dfdd}||||i}||ddddS)Nrcs d7S)Nrer r rr r rLsz3TestSpecifics.test_dict_evaluation_order..frp)rerfr)r rLrIr rr test_dict_evaluation_orders z(TestSpecifics.test_dict_evaluation_orderc CsdD]}td|d}||jdqtdtdfD]H}|ttd|d}Wdn1sd0Y||jdq4|ttdt dddS)N)file.pyfile.pypassrrr) rr r bytearray memoryviewZ assertWarnsDeprecationWarningrrFr9)r r&rNr r r test_compile_filenames  *z#TestSpecifics.test_compile_filenamecCs<d}t|dd}|jD] }t|tjr||j|jqdS)Nzdef f(): pass def g(): passZmyfiler)rrx isinstancetypesCodeTypeassertIsr)r rSrzobjr r r test_same_filename_useds    z%TestSpecifics.test_same_filename_usedcCs|d|d|d|d|d|d|d|d|d |d |d |d |d |ddS)Nz1 + 2z 1 + 2z1 + 2 z1 + 2 z1 + 2 z1 + 2 z1 + 2 # one plus twoz1; 2zimport sys; syszdef f(): passzwhile False: passz if x: f(x)zif x: f(x) else: g(x)zclass T: pass)rrr r r test_single_statements             z#TestSpecifics.test_single_statementcCsT|d|d|d|d|d|d|d|ddS) Nz1 2z def f(): passza = 13 b = 187z del x del yzf() g()zf() # blah blah()zf() xy # blah blah()zx = 5 # comment x = 6 )rrr r r test_bad_single_statements       z'TestSpecifics.test_bad_single_statementc Csd}t`}tj|d}t|d}||Wdn1sF0Yt|d}Wdn1sr0Y| d|j dS)Ns0000 00000000000 bad.pywbr Non-UTF-8 tempfileTemporaryDirectoryospathrXrwriterZrun_python_until_endrierrr srcZtmpdrWfpresr r r "test_particularly_evil_undecodables  (,z0TestSpecifics.test_particularly_evil_undecodablec Csd}t`}tj|d}t|d}||Wdn1sF0Yt|d}Wdn1sr0Y| d|j dS)Ns# # rrrrrrr r r $test_yet_more_evil_still_undecodables  (,z2TestSpecifics.test_yet_more_evil_still_undecodablecsTtdtdfdd}|dd|dd|dd|dd dS) Nrfg?csl||}|||}d||}jt|d|Wdn1s^0YdS)NzCompiling ({!r} + {!r} * {}))msg)rformatrRecursionError)prefixZrepeatedZ expect_okbrokenZdetailsZ fail_depthr Z success_depthr r check_limit/s   z@TestSpecifics.test_compiler_recursion_limit..check_limitr.z()z.bz[0]z*a)rqgetrecursionlimitrt)r rr rr test_compiler_recursion_limit#s     z+TestSpecifics.test_compiler_recursion_limitcCs8|tdtdddWdn1s.0Y|td ttdddWdn1sj0Yttddddd}|t|dttd dddd}|t|dttd dddd}|t|d|ttd dddt}ttd dd|||d d dS)Nzcannot contain nullz123r$s123rer~s1234s$23$sax = 123rr/)ZassertRaisesRegex ValueErrorrrr r$rAr)r rN namespacer r r test_null_terminated=s*.z"TestSpecifics.test_null_terminatedcCs<|jjD]}t|t|krq8q|d||jjfdS)Nz unable to find constant %r in %r)rwrxreprrE)r funcZexpectedconstr r r check_constantQs   zTestSpecifics.check_constantcsfdd}|d|d|d|d|ddddd}}|j|j|tt|ttd dd d}}d d}|jjd |jjd dtt|jjd |jjd d dd d}}|j|j|t dh |ddS)Ncs`i}d||f}t|||d}|d}|j|j||t|t|dSNzf1, f2 = lambda: %r, lambda: %rrr)rrrwrr r)rnsrNrrrr r check_same_constant`s   z?TestSpecifics.test_merge_constants..check_same_constantrsabcabccSsdS)N.r r r r r rrrz4TestSpecifics.test_merge_constants..cSsdS)N not a namer r r r r rxrcSsdS)Nrr r r r r rxrcSs|dvS)N>rr rr r r ryrrecSs|dvSN>rr rr r r rr) rrwrrr rrxnextiter frozensetr)r rrrZf3r rr test_merge_constants[s,   z"TestSpecifics.test_merge_constantscCs(dd}|dtt|djdS)NcSsdS)NrfZ unreachable) RuntimeErrorr r r r unused_code_at_endszcTestSpecifics.test_peephole_opt_unreachable_code_array_access_in_bounds..unused_code_at_end RETURN_VALUEr~)r r9disget_instructionsopname)r rr r r 9test_peephole_opt_unreachable_code_array_access_in_boundss zGTestSpecifics.test_peephole_opt_unreachable_code_array_access_in_boundscs fdd}|dd|dd|dd|dd |d d d d dd }}|j|j|d|dt|tdt|tddd dd }}|j|j|tdh|tdh|d|ddS)Ncsi}td||f||d}|d}|j|j|j|j||||t|t|t|t|dSr)r assertIsNotrwrrr r)Zconst1Zconst2rrrrr r check_different_constantss  zJTestSpecifics.test_dont_merge_constants..check_different_constantsrrg)r)rr.a)r.)rcSsdS)Nr_r r r r r rrz9TestSpecifics.test_dont_merge_constants..cSsdS)Nr r r r r rrr_rcSs|dvSrr rr r r rrcSs|dvS)N>rr rr r r rr)rrwrr rrr)r rrrr rr test_dont_merge_constantss$       z'TestSpecifics.test_dont_merge_constantscCstdtdddS)NZ42Ztest_compile_pathliker)rrrr r r test_path_like_objectssz$TestSpecifics.test_path_like_objectscCstdddddS)Nzif a: b i@ rrrrr r r test_stack_overflowsz!TestSpecifics.test_stack_overflowcCsdd}dd}dd}dd}||||g}|D]X}tt|}|d t||d |d j|d|d j|d |d jq0dS)NcSsdSrr r r r r unused_block_ifszPTestSpecifics.test_dead_blocks_do_not_generate_bytecode..unused_block_ifcSsdSrr r r r r unused_block_whileszSTestSpecifics.test_dead_blocks_do_not_generate_bytecode..unused_block_whilecSsdSrr r r r r unused_block_if_elseszUTestSpecifics.test_dead_blocks_do_not_generate_bytecode..unused_block_if_elsecSsdS)Nr`r r r r r unused_block_while_elseszXTestSpecifics.test_dead_blocks_do_not_generate_bytecode..unused_block_while_elserp LOAD_CONSTrrrer9rrr lenrZargval)r rrrr funcsropcodesr r r )test_dead_blocks_do_not_generate_bytecodesz7TestSpecifics.test_dead_blocks_do_not_generate_bytecodecCszdd}dd}||g}|D]X}tt|}|dt||d|dj|d|dj|d|d jqdS) NcSsdSrr r r r r break_in_whilesz;TestSpecifics.test_false_while_loop..break_in_whilecSsdSrr r r r r continue_in_whilesz>TestSpecifics.test_false_while_loop..continue_in_whilerpr rrrer )r rrr rrr r r test_false_while_loopsz#TestSpecifics.test_false_while_loopcCs<d}ddddt|Dd}|tt||dS)Ni{,css|]}|d|VqdS):Nr )rrr r r rrz6TestSpecifics.test_big_dict_literal..})rXrr r r$)r Z dict_sizeZthe_dictr r r test_big_dict_literals z#TestSpecifics.test_big_dict_literalN)7r;r<r=rrrrrr"r%r(r*r,rJrOrPrQrTr]rcrmrurqrrrvrrrrrrrrrrrrrZ cpython_onlyrrrrrrrrrrrrrrrrr r r r r sl  / !  / H #         . ( rc@sPeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ dS)TestExpressionStackSizedcCs>t|trt|dd}ttt|j}||j |dS)Nzr) rrjrmathceillogr co_codeZassertLessEqual co_stacksize)r rNmax_sizer r r check_stack_sizes  z(TestExpressionStackSize.check_stack_sizecCs|d|jddS)Nzx and rr Nrr r r test_andsz TestExpressionStackSize.test_andcCs|d|jddS)Nzx or rr!rr r r test_orszTestExpressionStackSize.test_orcCs|d|jddS)Nz x and x or rr!rr r r test_and_orsz#TestExpressionStackSize.test_and_orcCs|d|jddS)Nzx < rr!rr r r test_chained_comparisonsz/TestExpressionStackSize.test_chained_comparisoncCs|d|jddS)Nz x if x else rr!rr r r test_if_else"sz$TestExpressionStackSize.test_if_elsecCs|d|jddS)Nzx + rr!rr r r test_binop%sz"TestExpressionStackSize.test_binopcCs d}|d|j7}||dS)Nz def f(x): z x and x )r"r rr r r test_func_and(sz%TestExpressionStackSize.test_func_andN) r;r<r=r"r r#r$r%r&r'r(r)r r r r rsrc@seZdZd5ddZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4S)6TestStackSizeStabilityFcs|fddfddtddD}tt|dkrxddl}ddl}|}|jd|d |d ||fdS) Ncs>i}d|}rd|}t|dd}t||||djS)Nz def func(): zasync z