grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026+ Q�lÌ!Uãó €RtRR.t^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RI t ^RI t ^RI t ^RI t ^RI Ht^RItRt!RR4tRtR t!R R4tR tR tRR ltRt!RR4tRt]R8Xd ]!4R#R#)a·program/module to trace Python program or function execution Sample use, command line: trace.py -c -f counts --ignore-dir '$prefix' spam.py eggs trace.py -t --ignore-dir '$prefix' spam.py eggs trace.py --trackcalls spam.py eggs Sample use, programmatically import sys # create a Trace object, telling it what to ignore, and whether to # do tracing or line-counting or both. tracer = trace.Trace(ignoredirs=[sys.base_prefix, sys.base_exec_prefix,], trace=0, count=1) # run the new command using the given tracer tracer.run('main()') # make a report, placing output in /tmp r = tracer.results() r.write_results(show_missing=True, coverdir="/tmp") ÚTraceÚCoverageResultsN)Ú monotonicz#pragma NO COVERcó0a€]tRt^CtoRRltRtRtVtR#)Ú_IgnoreNcóâ€V'g \4M \V4VnV'g.M.VUu.uF"p\PP V4NK$ upVnR^/VnR#uupi)zN)ÚsetÚ_modsÚosÚpathÚnormpathÚ_dirsÚ_ignore)ÚselfÚmodulesÚdirsÚds&&& Ú,/opt/alt/python314/lib64/python3.14/trace.pyÚ__init__Ú_Ignore.__init__DsW€ß")”S”U¬s°7«|ˆŒ ß#‘RÙ37ó*9Ù37¨aô+-¯'©'×*:Ñ*:¸1Ö*=Ù37ñ*9ˆŒ à# QÐ(ˆŽ ùò*9s±(A,cóþ€W P9dVPV,#W P9d^VPV&^#VPF3pVPVR,4'gK#^VPV&^# Vf^VPV&^#VPFApVPV\P ,4'gK1^VPV&^# ^VPV&^#)éÚ.)rr Ú startswithr r Úsep)rÚfilenameÚ modulenameÚmodrs&&& rÚnamesÚ _Ignore.namesJsØ€Ø Ÿ™Ô %Ø—<‘<  Õ+Ð +ð Ÿ™Ô #Ø'(ˆD�L‰L˜Ñ $Ùð—:”:ˆCð×$Ñ$ S¨3¥Y×/Ô/Ø+,�— ‘ ˜ZÑ(Úñ ð Ò à'(ˆD�L‰L˜Ñ $Ù𗔈Að×"Ñ" 1¤r§v¡v¥:×.Ô.Ø+,�— ‘ ˜ZÑ(Úñð$%ˆ� ‰ �ZÑ Ùó)r rr ©NN)Ú__name__Ú __module__Ú __qualname__Ú__firstlineno__rrÚ__static_attributes__Ú__classdictcell__©Ú __classdict__s@rrrCsø‡€ô)÷ )ð)r rcó†€\PPV4p\PPV4wr#V#)ú,Return a plausible module name for the path.)r r ÚbasenameÚsplitext)r ÚbaserÚexts& rÚ_modnamer0us3€ô �7‰7× Ñ ˜DÓ !€DÜ—G‘G×$Ñ$ TÓ*�M€HØ €Or cóü€\PPV4pRp\PFp\PPV4pVP V4'gK;V\ V4,\P 8XgKb\ V4\ V48”gK}TpK� V'dV\ V4^,RpMTp\PPV4wrTVP\P R4p\P'd!VP\PR4p\PPV4wrgVPR4#)r+ÚNr) r r ÚnormcaseÚsysrÚlenrÚ splitdriveÚreplaceÚaltsepr-Úlstrip)r Ú comparepathÚlongestÚdirr.Údriverr/s& rÚ _fullmodnamer>|s€ô—'‘'×"Ñ" 4Ó(€KØ€GÜ�xŒxˆÜ�g‰g×јsÓ#ˆØ × !Ñ ! #× &Ô &¨;´s¸3³xÕ+@ÄBÇFÁFÖ+JÜ�3‹xœ#˜g›,Ö&Ø’ñ ÷ Ø”C˜“L 1Õ$Ð%Ð&‰àˆä—'‘'×$Ñ$ TÓ*�K€EØ �<‰<œŸ™ Ó $€DÜ ‡y‡y€yØ�|‰|œBŸI™I sÓ+ˆÜ—G‘G×$Ñ$ TÓ*�M€HØ �?‰?˜3Ó Ðr cóRa€]tRt^˜toR RltRtRtR RR/RlltR RltR t Vt R#) rNcó0€WnVPf/VnVPP4VnW nVPf/VnVPP4VnW@nVPf/VnVPP4VnW0nWPnVP 'df\VP R4;_uu_4p\P!V4wrpRRR4VPVPWVR74R#R# +'giL6;i \\\3d9p\RTP : RT: 2\ P"R7Rp?R#Rp?ii;i)NÚrb)ÚcallerszSkipping counts file ú: ©Úfile)ÚcountsÚcopyÚcounterÚ calledfuncsrBÚinfileÚoutfileÚopenÚpickleÚloadÚupdateÚ __class__ÚOSErrorÚEOFErrorÚ ValueErrorÚprintr4Ústderr)rrFrIrJrBrKÚfÚerrs&&&&&& rrÚCoverageResults.__init__™s/€àŒ Ø �;‰;Ò ØˆDŒKØ—{‘{×'Ñ'Ó)ˆŒ Ø&ÔØ × Ñ Ò #Ø!ˆDÔ Ø×+Ñ+×0Ñ0Ó2ˆÔØŒ Ø �<‰<Ò ØˆDŒLØ—|‘|×(Ñ(Ó*ˆŒ ØŒ ØŒ Ø �;�;ˆ;ð Nܘ$Ÿ+™+ t×,Ô,°Ü39·;²;¸q³>Ñ0�F¨÷-à— ‘ ˜DŸN™N¨6ȘNÓPÖQñ ÷-×,ûôœX¤zÐ2ô NÝØ)-¯¬²cð;ÜBEÇ*Á*÷NóNûð Nús0ÃEÃ,D4Ä*EÄ4 E Ä?EÅFÅ-FÆFc óV€VPR4;'dVPR4#)zOReturn True if the filename does not refer to a file we want to have reported. Ú<Ú>)rÚendswith)rrs&&rÚis_ignored_filenameÚ#CoverageResults.is_ignored_filename³s(€ð×"Ñ" 3Ó'×BÐB¨H×,=Ñ,=¸cÓ,BÐBr c ó€VPpVPpVPpVPpVPpVPpVF$pVPV^4WX,,W(&K& VFp^W8&K VFp^WH&K R#)z.Merge in the data from another CoverageResultsN)rFrIrBÚget) rÚotherrFrIrBÚ other_countsÚother_calledfuncsÚ other_callersÚkeys && rrOÚCoverageResults.update¹sˆ€à—‘ˆØ×&Ñ&ˆ Ø—,‘,ˆØ—|‘|ˆ Ø!×-Ñ-ÐØŸ ™ ˆ ãˆCØ Ÿ*™* S¨!Ó,¨|Õ/@Õ@ˆF‹Kñ ó%ˆCØ ˆKÓ ñ%ó!ˆC؈G‹Ló!r FÚignore_missing_filesc  óx€VP'dN\4\R4VPp\V4Fwrgp\RV: RV: RV: 24K VP'd”\4\R4R;rš\VP4Fbwwr¼p wrïpW¹8wd\4\RV R4T p Rp Wë8wdW®8wd\RV4Tp \R V : R V : R V: R V: 24Kd /pVPF5wppVP V/4;pVV&VPVV3,VV&K7 /pVP 4EF¥wppVPV4'dK VPR 4'dVR RpV'd(\PPV4'gKkVfI\PP\PPV44p\V4pM%Tp\P!VRR7\!V4pV'd \#V4pM/p\$P&!V4p\PP)VVR,4p\+VR4;_uu_4p\,P.!VP04wppR R R 4VP3VVVVX4wppV'gEK’V'gEK�VVWv3VV&EK¨ V'dSV'dK\R4\V4F0pVV,wpprv\VR RVV, R RV RV R24K2 VP4'dd\+VP4R4;_uu_4p \6P8!VPVPVP3V ^4R R R 4R #R # +'giEL;i +'giR #;i \:d.p!\RT!,\<P>R7R p!?!R #R p!?!ii;i)aì Write the coverage results. :param show_missing: Show lines that had no hits. :param summary: Include coverage summary per module. :param coverdir: If None, the results of each module are placed in its directory, otherwise it is included in the directory specified. :param ignore_missing_files: If True, counts for files that no longer exist are silently ignored. Otherwise, a missing file will raise a FileNotFoundError. zfunctions called:z filename: z, modulename: ú , funcname: zcalling relationships:r2z***z -->z rz -> z.pycNT)Úexist_okz.coverrAzlines cov% module (path)Ú5dz z.1%z (Ú)Úwbz"Can't save counts files because %srDéÿÿÿÿ) rIrTÚsortedrBrFr`Úitemsr]r\r r ÚisfileÚdirnameÚabspathr0Úmakedirsr>Ú_find_executable_linenosÚ linecacheÚgetlinesÚjoinrLÚtokenizeÚdetect_encodingÚreadlineÚwrite_results_filerKrMÚdumprQr4rU)"rÚ show_missingÚsummaryÚcoverdirrgÚcallsrrÚfuncnameÚlastfileÚ lastcfileÚpfileÚpmodÚpfuncÚcfileÚcmodÚcfuncÚper_fileÚlinenoÚ lines_hitÚsumsÚcountr<ÚlnotabÚsourceÚ coverpathÚfpÚencodingÚ_Ún_hitsÚn_linesÚmrVrWs"&&&&$ rÚ write_resultsÚCoverageResults.write_resultsËsu€ð × × Ð Ü ŒGÜ Ð%Ô &Ø×$Ñ$ˆEÜ28¸¶-Ñ.� hÝÛ"£J²ð:ö<ñ3@ð �<�<ˆ<Ü ŒGÜ Ð*Ô +Ø#%Ð %ˆHä˜dŸl™lÖ+ñ=Ñ%�%˜uÑ';¨°UàÔ$Ü”Gܘ% ¨Ô.Ø$�HØ "�IØ”> iÔ&8ܘ' 5Ô)Ø %�IÝ«d³E»4ÂÐGÖHñ,ðˆØ $§ ¤ Ñ ˆH�fØ-5¯\©\¸(ÀBÓ-GÐ GˆI˜ Ñ*Ø $§ ¡ ¨X°vÐ,>Õ ?ˆI�fÓ ñ!,ð ˆà'Ÿ~™~×/‰OˆH�eØ×'Ñ'¨×1Ò1Ùà× Ñ  ×(Ò(Ø# C R˜=�ç#¬B¯G©G¯N©N¸8×,DÒ,DÙàÒÜ—g‘g—o‘o¤b§g¡g§o¡o°hÓ&?Ó@�Ü% hÓ/‘ à�Ü— ’ ˜C¨$Õ/Ü)¨(Ó3� ÷Ü1°(Ó;‘à�Ü×'Ò'¨Ó1ˆFÜŸ™Ÿ ™  S¨*°xÕ*?Ó@ˆIÜ�h ×%Ô%¨Ü&×6Ò6°r·{±{ÓC‘ �˜!÷&à"×5Ñ5°iÀØ6<¸eÀXóO‰OˆF�GçŠwŸ7š7Ø#*¨F°JÐ#H��ZÔ ñ? 0÷B —tÜ Ð2Ô 3ܘD–\�Ø8<¸Q½Ñ5�˜ Ü˜ ˜  C¨¨w­°sÐ';¸3¸z¸lÈ$ÈxÈjÐXYÐZÖ[ñ"ð �<�<ˆ<ð Sܘ$Ÿ,™,¨×-Ô-°Ü—K’K §¡¨d×.>Ñ.>ÀÇ Á Ð MØ ! 1ô&÷.Ñ-ñ ÷&×%Ð%ú÷ .×-Ð-ûôô SÜÐ:¸SÕ@ÄsÇzÁz×RÓRûð SúsBÊ!$OÍ5PÎ:O-Ï PÏ O* Ï- O> Ï8PÏ>PÐ P9Ð "P4Ð4P9c óL€\VRVR7p^p^p T;_uu_4\ T^4F™wr«Y¤9d2TP RYJ,,4T ^, p T^, pM=Y£9d'\T 9gTP R 4T^, pMTP R 4TP T P^44K› RRR4Y˜3# \d1p\RT: RT: R2\PR7R uRp?#Rp?ii;i +'giY˜3#;i) z'Return a coverage results file in path.Úw©r”ztrace: Could not open z for writing: z - skippingrDNz%5d: z>>>>>> z )érž) rLrQrTr4rUÚ enumerateÚwriteÚPRAGMA_NOCOVERÚ expandtabs) rr Úlinesr�r�r”rKrWr—r–rŒÚlines &&&&&& rr|Ú"CoverageResults.write_results_file+sþ€ð ܘ4 ¨xÔ8ˆGð ˆØˆß ŠWÜ )¨%°Ö 3‘ �ðÔ&Ø—M‘M '¨IÕ,=Õ"=Ô>ؘa•K�Fؘq•L‘GØÔ%¬nÀÔ.Dð—M‘M )Ô,ؘq•L‘Gà—M‘M )Ô,Ø— ‘ ˜dŸo™o¨aÓ0Ö1ñ!4÷ð"ˆÐøô1ô Ý Û26»ð=ÜDGÇJÁJõ Pà�Kûð ú÷ŽWð"ˆÐús)‚CžB*Dà DÃ%D ÄDÄ DÄ D# )rIrBrHrFrJrK)NNNNN)TFN©N) r"r#r$r%rr]rOr™r|r&r'r(s@rrr˜s2ø‡€ôNò4Cò ñ$^SØ+0õ^S÷@òr có`€/p\P!V4Fwr4WA9gK ^W$&K V#)z:Return dict where keys are lines in the line number table.)ÚdisÚfindlinestarts)ÚcodeÚstrsÚlinenosr•rŒs&& rÚ_find_lines_from_coder­Ks2€à€Gä×'Ò'¨Ö-‰ ˆØ Ö ØˆG‹Oñ.ð €Nr có²€\W4pVPF;p\P!V4'gK!VP \ W144K= V#)zŠ>˜!× Ô à �N‰Nœ; qÓ/Ö 0ñð €Nr cóˆ€/p\Pp\WR7;_uu_4p\P!VP 4pVFXwrgr‰p V\P 8Xd;V\P8Xd&Vwr¼V wrÞ\W½^,4Fp^W/&K TpKZ RRR4V# +'giT#;i)z´Return a dict of possible docstring positions. The dict maps line numbers to strings. There is an entry for line that contains only a string or a part of a triple-quoted string. r�N)ÚtokenÚINDENTrLryÚgenerate_tokensr{ÚSTRINGÚrange)rr”rÚ prev_ttyperVÚtokÚttypeÚtstrÚstartÚendr¤ÚslineÚscolÚelineÚecolÚis&& rÚ _find_stringsrÅas§€ð €Aô—‘€JÜ ˆh× *Õ *¨aÜ×&Ò& q§z¡zÓ2ˆÛ-0Ñ )ˆE˜ TØœŸ ™ Ô$ؤ§¡Ô-Ø"'‘K�EØ"%‘K�EÜ" 5°!­)Ö4˜Ø ˜›ñ5àŠJñ.1÷ +ð €H÷ +Ö *ð €Hús §A?B0Â0 C cór€\P!V4;_uu_4pVP4pVPpRRR4\XTR4p\TX4p\YV4# +'giL4;i \d0p\ RT: RT: 2\ PR7/uRp?#Rp?ii;i)zAReturn dict where keys are line numbers in the line number table.NzNot printing coverage data for rCrDÚexec) ryrLÚreadr”rQrTr4rUÚcompilerÅr²)rrVÚprogr”rWrªr«s& rruruxs‘€ðÜ �]Š]˜8× $Ô $¨Ø—6‘6“8ˆDØ—z‘zˆH÷%ô �4˜ 6Ó *€DÜ ˜ 8Ó ,€DÜ �tÓ "Ð"÷%× $ûô ôÝ Û!)ª3ð0Ü7:·z±zõ Cà� ûðús9‚A< A)½A<Á) A9 Á4A<Á9A<Á< B6Â$B1Â+B6Â1B6cópa€]tRtRtoRRltRtRRltRtRtRt R t R t R t R t R tRtRtVtR#)ri†Nc  ól€WpnW€n\WV4Vn/Vn/Vn^VnW n/Vn/Vn /Vn RVn V 'd\4Vn V'dVPVnR#V'dVPVnR#V'd-V'd%VP VnVP"VnR#V'd%VP VnVP&VnR#V'd%VP VnVP(VnR#^VnR#)aø @param count true iff it should count number of times each line is executed @param trace true iff it should print out each line that is being counted @param countfuncs true iff it should just output a list of (filename, modulename, funcname,) for functions that were called at least once; This overrides 'count' and 'trace' @param ignoremods a list of the names of modules to ignore @param ignoredirs a list of the names of directories to ignore all of the (recursive) contents of @param infile file from which to read stored counts to be added into the results @param outfile file in which to write the results @param timing true iff timing information be displayed N)rJrKrÚignorerFÚpathtobasenameÚ donothingÚtraceÚ _calledfuncsÚ_callersÚ _caller_cacheÚ start_timeÚ_timeÚglobaltrace_trackcallersÚ globaltraceÚglobaltrace_countfuncsÚglobaltrace_ltÚlocaltrace_trace_and_countÚ localtraceÚlocaltrace_traceÚlocaltrace_count) rr�rÐÚ countfuncsÚ countcallersÚ ignoremodsÚ ignoredirsrJrKÚtimings &&&&&&&&&&rrÚTrace.__init__‡sæ€ð(Œ ØŒ ܘjÓ5ˆŒ ؈Œ Ø ˆÔ؈ŒØŒ ØˆÔØˆŒ ØˆÔØˆŒß Ü#›gˆDŒOß Ø#×<Ñ<ˆDÖ ß Ø#×:Ñ:ˆDÖ ß —uØ#×2Ñ2ˆDÔ Ø"×=Ñ=ˆDŽOß Ø#×2Ñ2ˆDÔ Ø"×3Ñ3ˆDŽOß Ø#×2Ñ2ˆDÔ Ø"×3Ñ3ˆDŽOðˆDŽNr cóJ€^RIpVPpVPWV4R#)ržN)Ú__main__Ú__dict__Úrunctx)rÚcmdråÚdicts&& rÚrunÚ Trace.run¹s€ÛØ× Ñ ˆØ � ‰ �C˜tÖ$r cóä€Vf/pVf/pVP'gA\P!VP4\P!VP4\ WV4VP'g/\P!R4\P!R4R#R# TP'g.\P!R4\P!R4ii;ir¦)rÏÚ threadingÚsettracer×r4rÇ)rrèÚglobalsÚlocalss&&&&rrçÚ Trace.runctx¾s£€Ø Š? b˜GØ Š> B˜6Ø�~�~ˆ~Ü × Ò ˜t×/Ñ/Ô 0Ü �LŠL˜×)Ñ)Ô *ð )Ü �˜vÔ &à—>—>�>Ü— ’ ˜TÔ"Ü×"Ò" 4Ö(ñ"ø�4—>—>�>Ü— ’ ˜TÔ"Ü×"Ò" 4Õ(ð"ús Á B.Â.AC/có,€RpVP'g!\P!VP4V!V/VBpVP'g\P!R4V# TP'g\P!R4ii;ir¦)rÏr4rîr×)rÚfuncÚargsÚkwÚresults""*, rÚrunfuncÚ Trace.runfuncËsn€ØˆØ�~�~ˆ~Ü �LŠL˜×)Ñ)Ô *ð #Ù˜4Ð& 2Ñ&ˆFà—>—>�>Ü— ’ ˜TÔ"؈ øð—>—>�>Ü— ’ ˜TÕ"ð"ús ¶A(Á(+Bcó|€VPpVPpV'd \V4pMRpVPpRpW P9d+VPV,eVPV,pEM'RVPV&\ P !V4Uu.uF#p\P!V4'gK!VNK% pp\V4^8XdÆ\ P !V^,4U u.uFp \V \4'gKV NK p p \V 4^8Xdr\ P !V ^,4U u.uFp \V R4'gKV NK p p \V 4^8Xd"V ^,PpW`PV&Ve V: RV: 2pW4V3#uupiuup iuup i)NÚ __bases__r)Úf_codeÚ co_filenamer0Úco_namerÓÚgcÚ get_referrersr°Ú isfunctionr5Ú isinstanceréÚhasattrr") rÚframerªrrr‚ÚclsnamerVÚfuncsrÚdictsr³Úclassess && rÚfile_module_function_ofÚTrace.file_module_function_ofÖs‹€Ø�|‰|ˆØ×#Ñ#ˆß Ü! (Ó+‰JàˆJà—<‘<ˆØˆØ ×%Ñ%Ô %Ø×!Ñ! $Õ'Ò3Ø×,Ñ,¨TÕ2�ùà'+ˆD× Ñ ˜tÑ $ô!#× 0Ò 0°Ô 6ó3Ñ 6˜1Ü#×.Ò.¨q×1÷�QÑ 6ˆEð3ô �5‹z˜QŒÜ$&×$4Ò$4°U¸1µXÔ$>ó5Ñ$>˜qÜ *¨1¬d× 3÷˜Ñ$>�ð5ä�u“: ”?Ü*,×*:Ò*:¸5À½8Ô*Dó?Ñ*D QÜ&-¨a°×&=÷ !˜qÑ*D�Gð?ä˜7“| qÔ(à")¨!¥*×"5Ñ"5˜ð 4;×*Ñ*¨4Ñ0Ø Ò Û")ª8Ð4ˆHà XÐ-Ð-ùò-3ùò 5ùò?s$ÂF/ÃF/Ã8F4ÄF4Å F9Å%F9c ó�€VR8Xd?VPV4pVPVP4p^VPWT3&R#R#)z[Handler for call events. Adds information about who called who to the self._callers dict. ÚcallN)rÚf_backrÒ)rrÚwhyÚargÚ this_funcÚ parent_funcs&&&& rrÖÚTrace.globaltrace_trackcallersÿsE€ð �&Œ=à×4Ñ4°UÓ;ˆIØ×6Ñ6°u·|±|ÓDˆKØ67ˆD�M‰M˜;Ð2Ó 3ñ r c óX€VR8Xd#VPV4p^VPV&R#R#)z_Handler for call events. Adds (filename, modulename, funcname) to the self._calledfuncs dict. r N)rrÑ)rrr rrs&&&& rrØÚTrace.globaltrace_countfuncs s0€ð �&Œ=Ø×4Ñ4°UÓ;ˆIØ+,ˆD× Ñ ˜iÓ (ñ r c óZ€VR8Xd¤VPpVPPRR4pV'dr\V4pVeaVPP WV4pV'g<VP 'd\RV: RVP: 24VP#R#R#R#R#)zzHandler for call events. If the code block being entered is to be ignored, returns 'None', else returns self.localtrace. r Ú__file__Nz --- modulename: ri) rûÚ f_globalsr`r0rÍrrÐrTrýrÛ)rrr rrªrrÚ ignore_its&&&& rrÙÚTrace.globaltrace_lts•€ð �&Œ=Ø—<‘<ˆDØ—‘×*Ñ*¨:°tÓ<ˆHßô& hÓ/� ØÒ)Ø $§ ¡ × 1Ñ 1°(Ó G�Iß$ØŸ:Ÿ:˜:Ý!Û&0°$·,³,ð$@ôBà#Ÿ™Ð.ñ %ñ*ññ r có>€VR8XEd VPPpVPpWE3pVPP V^4^,VPV&VP 'd.\ R\4VP , ,RR7\PPV4p\P!WE4p\ RWu3,RR7V'd\ RVRR7VP#\ 4VP#©r¤z%.2fÚ )r¿z%s(%d)r2rC)rûrüÚf_linenorFr`rÔrTrÕr r r,rvÚgetlinerÛ) rrr rrrŒreÚbnamer¤s &&&& rrÚÚ Trace.localtrace_trace_and_count*sÏ€Ø �&�=à—|‘|×/Ñ/ˆHØ—^‘^ˆFØÐ"ˆCØ#Ÿ{™{Ÿ™¨s°AÓ6¸Õ:ˆD�K‰K˜Ñ à��ˆÜ�f¤£¨$¯/©/Õ 9Õ:ÀÕDÜ—G‘G×$Ñ$ XÓ.ˆEÜ×$Ò$ XÓ6ˆDÜ �(˜e˜_Õ,°"Õ 5ßÜ�d˜D bÕ)ð�‰Ðô”Ø�‰Ðr cóÖ€VR8XdØVPPpVPpVP'd.\ R\ 4VP, ,RR7\ PPV4p\P!WE4p\ RWe3,RR7V'd\ RVRR7VP#\ 4VP#r) rûrürrÔrTrÕr r r,rvrrÛ)rrr rrrŒrr¤s&&&& rrÜÚTrace.localtrace_trace=s¥€Ø �&Œ=à—|‘|×/Ñ/ˆHØ—^‘^ˆFà��ˆÜ�f¤£¨$¯/©/Õ 9Õ:ÀÕDÜ—G‘G×$Ñ$ XÓ.ˆEÜ×$Ò$ XÓ6ˆDÜ �(˜e˜_Õ,°"Õ 5ßÜ�d˜D bÕ)ð�‰Ðô”Ø�‰Ðr cóÒ€VR8XdVVPPpVPpWE3pVPP V^4^,VPV&VP #)r¤)rûrürrFr`rÛ)rrr rrrŒres&&&& rrÝÚTrace.localtrace_countNsU€Ø �&Œ=Ø—|‘|×/Ñ/ˆHØ—^‘^ˆFØÐ"ˆCØ#Ÿ{™{Ÿ™¨s°AÓ6¸Õ:ˆD�K‰K˜Ñ Ø�‰Ðr có†€\VPVPVPVPVP R7#))rJrKrIrB)rrFrJrKrÑrÒ)rs&rÚresultsÚ Trace.resultsVs2€Ü˜tŸ{™{°4·;±;Ø'+§|¡|Ø+/×+<Ñ+<Ø'+§}¡}ô6ð 6r ) rÑrÓrÒrFrÏr×rÍrJrÛrKrÎrÔrÐ) rrržrž©r'NNFr!)r"r#r$r%rrêrçr÷rrÖrØrÙrÚrÜrÝr%r&r'r(s@rrr†sHø‡€ô0òd%ô )ò ò'.òR 8ò-òò.ò&ò"÷6ð6r c óz aa€^RIpVPRR7pVPRRRR7VPRR 4pVPR R R R R7VPRRR RR7VPRRR RR7VPRRR RR7VPR4pVP 4pVPRRR RR7VPRRR RR7VPRR R!R"7VPR#R$R%R"7VPR&R'R R(R7VPR)R*R R+R7VPR,R-R R.R7VPR/R04pVPR1R2.R3R47VPR5R2.R6R47VPR7R R8R9R47VPR:R;RVP R?R=7VP 4pVP'd-\P!R@4o\P!RA4oVV3RBlpVPUUu.uF*qfPRC4FpVP4NK K, uppVn VPUUu.uF0qfP\P4F pV!V4NK K2 uppVnVP'dvVP 'gVP#RD4\%VP VP RE7p V P'VP(VP*VP,4#\/VP0VP2VP4VP6.4'gVP#RF4VP4'd6VP2'gVP0'dVP#RG4VP*'d$VP2'gVP#RH4VP8fVP#RI4\;VP2VP0VP4VP6VPVPVP VP VP<RJ7 p VP>'dt^RI p VP8p V PCV 4wrÞpVPD.VPFO\Hn%RKRLRMVPDRNVPLROVPNRPVRQR/pMÆVP8.VPFO\Hn%\PPPSVP84\HPP^&\TPV!VP84;_uu_4p\YVP[4VP8RR4pRRR4RMVP8RKRLRNRRQR/pV P]XVV4V Pe4p VPf'g4V P'VP(VP*VP,4R#R#uuppiuuppi +'giLš;i \^d>p\HP`!RS\HPJ^,: RTT: 24Rp?L¹Rp?i\bdLÉi;i)UržNT)Úcolorz --versionÚversionz trace 2.0)Úactionr*z Main optionsz(One of these (or --report) must be givenz-cz--countÚ store_truez»Count the number of times each line is executed and write the counts to .cover for each module executed, in the module's directory. See also --coverdir, --file, --no-report below.)r+Úhelpz-tz--tracez3Print each line to sys.stdout before it is executedz-lz --listfuncsz§Keep track of which functions are executed at least once and write the results to sys.stdout after the program exits. Cannot be specified alongside --trace or --count.z-Tz --trackcallsz^Keep track of caller/called pairs and write the results to sys.stdout after the program exits.Ú Modifiersz-rz--reportz¶Generate a report from a counts file; does not execute any code. --file must specify the results file to read, which must have been created in a previous run with --count --file=FILEz-Rz --no-reportz^Do not generate the coverage report files. Useful if you want to accumulate over several runs.z-fz--filez+File to accumulate counts over several runs)r-z-Cz --coverdirz†Directory where the report files go. The coverage report for . will be written to file //.coverz-mz --missingz?Annotate executable lines that were not executed with ">>>>>> "z-sz --summaryz\Write a brief summary for each file to sys.stdout. Can only be used with --count or --reportz-gz--timingzQPrefix each line with the time since the program started. Only used while tracingÚFilterszCan be specified multiple timesz--ignore-moduleÚappendzqIgnore the given module(s) and its submodules (if it is a package). Accepts comma separated list of module names.)r+Údefaultr-z --ignore-dirzWIgnore files in the given directory (multiple directories can be joined by os.pathsep).z--moduleFzTrace a module. ÚprognameÚ?zfile to run as main program)Únargsr-Ú argumentszarguments to the programÚstdlibÚ platstdlibcóþ<€\PP\PPV44pVP RS4P RS4p\PP V4#)z$prefixz $exec_prefix)r r Ú expanduserÚ expandvarsr7r )ÚsÚ _exec_prefixÚ_prefixs&€€rÚparse_ignore_dirÚmain..parse_ignore_dir§sXø€Ü �G‰G× Ñ œrŸw™w×1Ñ1°!Ó4Ó 5ˆØ �I‰I�i Ó )× 1Ñ 1°.À,Ó OˆÜ�w‰w×Ñ Ó"Ð"r Ú,z-r/--report requires -f/--file)rJrKzLmust specify one of --trace, --count, --report, --listfuncs, or --trackcallsz8cannot specify both --listfuncs and (--trace or --count)z3--summary can only be used with --count or --reportz3progname is missing: required with the main options)rÞrßràrárJrKrâr"rårÚ __package__Ú __loader__Ú__spec__Ú __cached__rÇzCannot run file z because: )4ÚargparseÚArgumentParserÚ add_argumentÚadd_argument_groupÚadd_mutually_exclusive_groupÚ REMAINDERÚ parse_argsÚ ignore_dirÚ sysconfigÚget_pathÚ ignore_moduleÚsplitÚstripr ÚpathsepÚreportrEÚerrorrr™Úmissingrr€ÚanyrÐr�Ú listfuncsÚ trackcallsr2rrâÚmoduleÚrunpyÚ_get_module_detailsrür5r4ÚargvÚparentÚloaderr rrÚioÚ open_coderÉrÈrçrQÚexitÚ SystemExitr%Ú no_report)rEÚparserÚgrpÚ_grpÚoptsr>rÄrr;r%ÚtrZÚ module_nameÚmod_nameÚmod_specrªÚglobsr“rWr<r=s @@rÚmainrm\sýù€Ûà × $Ñ $¨4Ð $Ó 0€FØ ×ј ¨I¸{ÐÔKà × #Ñ # NØ 6ó 8€Cð×Ñ�T˜9¨\ð&ðô'ð ×Ñ�T˜9¨\ØFðôHà×Ñ�T˜=°ðEðôFð×Ñ�T˜>°,ð7ðô8ð × #Ñ # KÓ 0€Cà × +Ñ +Ó -€DØ×Ñ�d˜J¨|ððô ð  ×Ñ�d˜M°,ðGðôHð×Ñ�T˜8Ø>ðô@à×Ñ�T˜<ð2ðô3ð×Ñ�T˜;¨|ððôð×Ñ�T˜;¨|ð=ðô>ð×Ñ�T˜:¨lð+ðô,ð × #Ñ # IØ -ó /€Cà×ÑÐ&¨xÀð!ðô"ð×Ñ�^¨H¸bðGðôHð ×ј ¨<ÀØ/ðô1à ×ј ¨#Ø.ðô0à ×ј ¨8×+=Ñ+=Ø+ðô-ð × Ñ Ó €Dà ‡‡€Ü×$Ò$ XÓ.ˆÜ ×)Ò)¨,Ó7ˆ ö#ð $(×#5Ò#5ôOÙ#5˜aÇÁÈÆ¸#ðŸ)™)ž+ÙAMñ&Ù#5òO€DÔð!%§¢ôNÙ /˜1¿¹ÄÇÁÖ9L°Añ(¨Ö*Ù9Lñ+Ù /òN€D„Oð ‡{‡{€{Ø�y�yˆyØ �L‰LÐ9Ô :Ü!¨¯©¸D¿I¹IÔFˆØ×$Ñ$ T§\¡\°4·<±<ÀÇÁÓOÐOä �— ‘ ˜DŸJ™J¨¯©¸¿¹ÐH× IÒ IØ� ‰ ð4ô 5ð ‡~‡~€~˜4Ÿ:Ÿ:˜:¨¯¯¨Ø� ‰ ÐOÔPà ‡|‡|€|˜DŸJŸJ˜JØ� ‰ ÐJÔKà ‡}�}ÒØ� ‰ ÐJÔKä ˆd�j‰j˜$Ÿ*™*°·±ØŸ?™?°t×7IÑ7IØŸ™°·±Ø—i‘i¨¯ © ô 5€Að Ø �;�;ˆ;Û ØŸ-™-ˆKØ',×'@Ñ'@ÀÓ'MÑ $ˆH Ø×(Ñ(Ð:¨4¯>©>Ð:ŒCŒHà˜JؘD×,Ñ,ؘxŸ™Ø˜hŸo™oؘHؘdð ‰E🠙 Ð7¨¯©Ð7ŒCŒHÜŸ'™'Ÿ/™/¨$¯-©-Ó8ŒC�H‰H�Q‰Kä—’˜dŸm™m×,Ô,°Ü˜rŸw™w›y¨$¯-©-¸Ó@�÷-ð˜DŸM™MؘJؘtؘdð ˆEð �‰��u˜eÔ$ð �i‰i‹k€Gà �>�>ˆ>Ø×јdŸl™l¨D¯L©L¸$¿-¹-ÖHñ ùóOùóN÷X-×,ûô ôHÜ �‹´S·X±X¸a·[°[Â#ÐF×GÑGûÜ ô Ù ð úsIÈ,0YÉ46Y ÒD Y&Ö&Y×/Y&Ù Y# ÙY&Ù& Z:Ù13Z)Ú) Z:Ú6Z:Ú9Z:rår¦)Ú__doc__Ú__all__r_rvr r4rMrµryr°rþr¨rMÚtimerrÕrír¡rr0r>rr­r²rÅrurrmr"r'r rÚrqs¢ðñ8ð( Ð%Ð &€ã ÛÛ Û ÛÛ ÛÛÛ Û Û Ý#ãà#€÷0ñ0òdò ÷8qñqòfò ô ò. #÷T6ñT6òlPIðd ˆZÔÙ†Fñr