Ë ‚Ö¦iFãó\—ddlmZmZddlmZddlZddlZddlZddl Z ddl ­ddl m Z m Z d„Z Gd„d«ZGd „d «Zd „ZeGd „d ««ZeGd„de««Zd„ZGd„d«ZGd„de«Zd„ZGd„d«ZGd„de«ZGd„de«ZGd„d«Zd„Zy)é)ÚSequenceÚIterable)Útotal_orderingN)Ú*)Ú_get_object_tracebackÚ _get_tracescó¸—dD]U}t|«dkr|dk7r|r d||fzcSd||fzcSt|«dks|dk(r|r d||fzcSd ||fzcS|d z}ŒWy) N)ÚBÚKiBÚMiBÚGiBÚTiBédr z%+.1f %sz%.1f %si(rz%+.0f %sz%.0f %si)Úabs)ÚsizeÚsignÚunits ú$/usr/lib64/python3.12/tracemalloc.pyÚ _format_sizer sz€Û1ˆÜ ˆt‹9�sŠ?˜t sš{áØ! T¨4 LÑ0Ò0à  D¨$ <Ñ/Ò/Ü ˆt‹9�yÒ  D¨E¢MáØ! T¨4 LÑ0Ò0à  D¨$ <Ñ/Ò/Ø �‰ ‰ñ2ócó6—eZdZ dZd„Zd„Zd„Zd„Zd„Zd„Z y) Ú Statistic©Ú tracebackrÚcountcó.—||_||_||_y©Nr)Úselfrrrs rÚ__init__zStatistic.__init__%s€Ø"ˆŒØˆŒ ؈� rcóZ—t|j|j|jf«Sr)Úhashrrr©rs rÚ__hash__zStatistic.__hash__*s €Ü�T—^‘^ T§Y¡Y°· ± Ð;Ó<Ðrr"s rÚ__repr__zStatistic.__repr__>s%€Ø;Ø—>‘> 4§9¡9¨d¯j©jÐ9ñ:ð ;rcóH—|j|j|jfSr)rrrr"s rÚ _sort_keyzStatistic._sort_keyBs€Ø— ‘ ˜4Ÿ:™: t§~¡~Ð6Ð6rN© Ú__name__Ú __module__Ú __qualname__Ú __slots__rr#r)r/r1r3©rrrrs,„ðð/€Iòò =ò/òò;ó7rrcó6—eZdZ dZd„Zd„Zd„Zd„Zd„Zd„Z y) Ú StatisticDiff©rrÚ size_diffrÚ count_diffcóJ—||_||_||_||_||_yrr<)rrrr=rr>s rrzStatisticDiff.__init__Ms%€Ø"ˆŒØˆŒ Ø"ˆŒØˆŒ Ø$ˆ�rcó†—t|j|j|j|j|j f«Sr)r!rrr=rr>r"s rr#zStatisticDiff.__hash__Ts3€Ü�T—^‘^ T§Y¡Y°·±Ø—Z‘Z §¡ð2ó3ð 3rcó8—t|t«stS|j|jk(xrj|j|jk(xrO|j |j k(xr4|j |j k(xr|j|jk(Sr)r%r;r&rrr=rr>r's rr)zStatisticDiff.__eq__Xs�€Ü˜%¤Ô/Ü!Ð !Ø—‘ %§/¡/Ñ1ò8Ø—I‘I §¡Ñ+ò8à—N‘N e§o¡oÑ5ò8ð—J‘J %§+¡+Ñ-ò8ð—O‘O u×'7Ñ'7Ñ7ð  9rcó—d|jt|jd«t|jd«|j|j fz}|jr+|j|jz }|dt|d«zz }|S)Nz %s: size=%s (%s), count=%i (%+i)FTr+)rrrr=rr>r,s rr/zStatisticDiff.__str__asx€Ø2Ø—>‘>Ü § ¡ ¨5Ó1Ü §¡°Ó5Ø—:‘:Ø—?‘?ð $ñ$ˆð �:Š:Ø—i‘i $§*¡*Ñ,ˆGØ �N¤\°'¸5Ó%AÑAÑ AˆD؈ rcóz—d|j|j|j|j|jfzS)Nz9r<r"s rr1zStatisticDiff.__repr__ms4€ØKØ—>‘> 4§9¡9¨d¯n©nØ—:‘:˜tŸ™ð0ñ0ð 1rcó˜—t|j«|jt|j«|j|j fSr)rr=rr>rrr"s rr3zStatisticDiff._sort_keyrs7€Ü�D—N‘NÓ# T§Y¡YÜ�D—O‘OÓ$ d§j¡jØ—‘ð ð rNr4r9rrr;r;Fs-„ððJ€Iò%ò3ò9ò ò1ó  rr;c ó2—g}|j«D]³\}}|j|d«}|�Rt||j|j|jz |j|j|jz «}n7t||j|j|j|j«}|j |«Œµ|j«D];\}}t|d|j d|j «}|j |«Œ=|S©Nr)ÚitemsÚpopr;rrÚappend)Ú old_groupÚ new_groupÚ statisticsrÚstatÚpreviouss rÚ_compare_grouped_statsrOxsî€Ø€JØ$Ÿ?™?Ö,‰ˆ �4Ø—=‘= ¨DÓ1ˆØ Ð Ü  Ø!%§¡¨D¯I©I¸¿ ¹ Ñ,EØ!%§¡¨T¯Z©Z¸(¿.¹.Ñ-HóJ‰Dô! Ø!%§¡¨D¯I©IØ!%§¡¨T¯Z©Zó9ˆDð ×ј$Õð-ð%Ÿ?™?Ö,‰ˆ �4ܘY¨¨D¯I©I¨:°q¸4¿:¹:¸+ÓFˆØ×ј$Õð-ð ÐrcóV—eZdZ dZd„Zed„«Zed„«Zd„Zd„Z d„Z d„Z d „Z y ) ÚFrame©Ú_framecó—||_yrrR©rÚframes rrzFrame.__init__“s €àˆ� rcó —|jdSrFrRr"s rÚfilenamezFrame.filename—ó€à�{‰{˜1‰~Ðrcó —|jdS©NérRr"s rÚlinenoz Frame.lineno›rYrcó`—t|t«stS|j|jk(Sr©r%rQr&rSr's rr)z Frame.__eq__Ÿó%€Ü˜%¤Ô'Ü!Ð !Ø— ‘ ˜uŸ|™|Ñ+Ð,rcó`—t|t«stS|j|jkSrr_r's rÚ__lt__z Frame.__lt__¤s%€Ü˜%¤Ô'Ü!Ð !Ø— ‘ ˜eŸl™lÑ*Ð+rcó,—t|j«Sr)r!rSr"s rr#zFrame.__hash__©ó€Ü�D—K‘KÓ Ð rcó8—|j›d|j›�S)NÚ:©rXr]r"s rr/z Frame.__str__¬s€ØŸ-›-¨¯ªÐ5Ð5rcó<—d|j›d|j›d�S)Nzrgr"s rr1zFrame.__repr__¯s�Ø26·-³-ÀÇÃÐMÐMrN) r5r6r7r8rÚpropertyrXr]r)rbr#r/r1r9rrrQrQŒsU„ðð€Iòðñóððñóðò-ò ,ò !ò6óNrrQcób—eZdZ dZdd„Zed„«Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zdd „Zy)Ú Traceback)Ú_framesÚ _total_nframeNcón—tj|«tt|««|_||_yr)rrÚtupleÚreversedrmrn)rÚframesÚ total_nframes rrzTraceback.__init__»s+€Ü×ј$Ôô œX fÓ-Ó.ˆŒ Ø)ˆÕrcó—|jSr)rnr"s rrszTraceback.total_nframeÄs€à×!Ñ!Ð!rcó,—t|j«Sr)Úlenrmr"s rÚ__len__zTraceback.__len__Èó€Ü�4—<‘<Ó Ð rcó�—t|t«rtd„|j|D««St |j|«S)Nc3ó2K—|]}t|«–—Œy­wr)rQ©Ú.0Útraces rÚ z(Traceback.__getitem__..Íóèø€ÐGÑ3F¨%œ˜uŸÑ3Fùó‚)r%ÚslicerprmrQ©rÚindexs rÚ __getitem__zTraceback.__getitem__Ëó:€Ü �eœUÔ #ÜÑG°4·<±<ÀÒ3FÓGÓGÐ G䘟™ eÑ,Ó-Ð -rcó2—|j|jvSr)rSrmrUs rÚ __contains__zTraceback.__contains__Ñó€Ø�|‰|˜tŸ|™|Ð+Ð+rcó,—t|j«Sr)r!rmr"s rr#zTraceback.__hash__Ôs€Ü�D—L‘LÓ!Ð!rcó`—t|t«stS|j|jk(Sr©r%rlr&rmr's rr)zTraceback.__eq__×s%€Ü˜%¤Ô+Ü!Ð !Ø— ‘  § ¡ Ñ-Ð.rcó`—t|t«stS|j|jkSrr‹r's rrbzTraceback.__lt__Üs%€Ü˜%¤Ô+Ü!Ð !Ø— ‘ ˜uŸ}™}Ñ,Ð-rcó—t|d«SrF)Ústrr"s rr/zTraceback.__str__ás€Ü�4˜‘7‹|Ðrcón—dt|«›�}|j€|dz }|S|d|j›d�z }|S)Nz  $×"3Ñ"3Ð!4°AÐ6Ñ 6ˆA؈rcóR—g}|�|dkDr|| d}n|d|}n|}|r t|«}|D]|}|jd|j›d|j›�«t j |j|j«j «}|sŒi|jd|z«Œ~|S)Nrz File "z", line z %s)rqrIrXr]Ú linecacheÚgetlineÚstrip)rÚlimitÚmost_recent_firstÚlinesÚ frame_slicerVÚlines rÚformatzTraceback.formatìs£€ØˆØ Ð Ø�qŠyØ" E 6 7˜m‘ à" 6 E˜l‘ àˆKá Ü" ;Ó/ˆKÛ ˆEØ �LŠLØ!ŸN›N¨E¯LªLð:ô ;ä×$Ñ$ U§^¡^°U·\±\ÓB×HÑHÓJˆDÚØ— ‘ ˜X¨™_Õ-ð !ð ˆ rr)NF)r5r6r7r8rrjrsrwr„r‡r#r)rbr/r1ršr9rrrlrl³sT„ðð-€Ió*ðñ"óð"ò!ò.ò ,ò"ò/ò .ò òôrrlcó6— t|«}|� t|«Syr)rrl)Úobjrrs rÚget_object_tracebackr�s'€ðô# 3Ó '€FØ ÐÜ˜Ó Ð àrcó`—eZdZ dZd„Zed„«Zed„«Zed„«Zd„Z d„Z d„Z d „Z y ) ÚTrace©Ú_tracecó—||_yrr ©rr}s rrzTrace.__init__s €ðˆ� rcó —|jdSrFr r"s rÚdomainz Trace.domainrYrcó —|jdSr[r r"s rrz Trace.sizerYrcó,—t|jddŽS)Né)rlr¡r"s rrzTrace.traceback#s€ä˜$Ÿ+™+ a b˜/Ð*Ð*rcó`—t|t«stS|j|jk(Sr)r%rŸr&r¡r's rr)z Trace.__eq__'r`rcó,—t|j«Sr)r!r¡r"s rr#zTrace.__hash__,rdrcóL—|j›dt|jd«›�S)Nz: F)rrrr"s rr/z Trace.__str__/s€ØŸ>›>¬<¸¿ ¹ À5Ô+IÐJÐJrcój—d|j›dt|jd«›d|j›d�S)NzÀÇÃðPð QrN) r5r6r7r8rrjr¥rrr)r#r/r1r9rrrŸrŸse„ðð€Iòð ñóððñóððñ+óð+ò-ò !òKóQrrŸcó0—eZdZd„Zd„Zd„Zd„Zd„Zd„Zy)Ú_Tracescó<—tj|«||_yr)rrÚ_traces)rÚtracess rrz_Traces.__init__8s€Ü×ј$Ôàˆ� rcó,—t|j«Sr)rvr°r"s rrwz_Traces.__len__=rxrcó�—t|t«rtd„|j|D««St |j|«S)Nc3ó2K—|]}t|«–—Œy­wr)rŸr{s rr~z&_Traces.__getitem__..Brr€)r%r�rpr°rŸr‚s rr„z_Traces.__getitem__@r…rcó2—|j|jvSr)r¡r°r£s rr‡z_Traces.__contains__Frˆrcó`—t|t«stS|j|jk(Sr)r%r®r&r°r's rr)z_Traces.__eq__Is%€Ü˜%¤Ô)Ü!Ð !Ø— ‘  § ¡ Ñ-Ð.rcó—dt|«zS)Nz)rvr"s rr1z_Traces.__repr__Ns€Ø ¤3 t£9Ñ,Ð,rN) r5r6r7rrwr„r‡r)r1r9rrr®r®7s „òò !ò.ò ,ò/ó -rr®cóp—tjj|«}|jd«r|dd}|S)Nz.pycéÿÿÿÿ)ÚosÚpathÚnormcaseÚendswith)rXs rÚ_normalize_filenamer¾Rs4€Ü�w‰w×Ñ Ó)€HØ×Ñ˜Ô Ø˜C˜R�=ˆØ €Orcó—eZdZd„Zd„Zy)Ú BaseFiltercó—||_yr)Ú inclusive)rrÂs rrzBaseFilter.__init__Zs €Ø"ˆ�rcó—t‚r)ÚNotImplementedErrorr£s rÚ_matchzBaseFilter._match]s€Ü!Ð!rN)r5r6r7rrÅr9rrrÀrÀYs „ò#ó"rrÀcóJ‡—eZdZ dˆfd„ Zed„«Zd„Zd„Zd„Zd„Z ˆxZ S)ÚFiltercó|•—t‰|�|«||_t|«|_||_||_||_yr)ÚsuperrrÂr¾Ú_filename_patternr]Ú all_framesr¥)rrÂÚfilename_patternr]rËr¥Ú __class__s €rrzFilter.__init__bs:ø€ä ‰Ñ˜Ô#Ø"ˆŒÜ!4Ð5EÓ!FˆÔ؈Œ Ø$ˆŒØˆ� rcó—|jSr)rÊr"s rrÌzFilter.filename_patternks€à×%Ñ%Ð%rcó’—t|«}tj||j«sy|j€y||jk(S)NFT)r¾ÚfnmatchrÊr]©rrXr]s rÚ_match_frame_implzFilter._match_frame_implos?€Ü& xÓ0ˆÜ�‰˜x¨×)?Ñ)?Ô@ØØ �;‰;Ð Øà˜dŸk™kÑ)Ð *rcóB—|j||«|j z Sr)rÒrÂrÑs rÚ _match_framezFilter._match_framexs!€Ø×%Ñ% h°Ó7¸t¿~¹~Ð;MÑNÐNrc󪇗‰jr-tˆfd„|D««r ‰jS‰j S|d\}}‰j||«S)Nc3óH•K—|]\}}‰j||«–—Œy­wr)rÒ)r|rXr]rs €rr~z*Filter._match_traceback..}s+øèø€ð6Ù+4Ñ'�x ð×)Ñ)¨(°F×;Ù+4ùsƒ"r)rËÚanyrÂrÔ)rrrXr]s` rÚ_match_tracebackzFilter._match_traceback{sWø€Ø �?Š?Üó6Ù+4ó6ô6à—~‘~Ð%à ŸN™NÐ*Ð+à(¨™|Ñ ˆH�fØ×$Ñ$ X¨vÓ6Ð 6rcó²—|\}}}}|j|«}|j�2|jr|xr||jk(S|xs||jk7S|Sr)rØr¥rÂ)rr}r¥rrrsÚress rrÅz Filter._match†s^€Ø05Ñ-ˆ��i Ø×#Ñ# IÓ.ˆØ �;‰;Ð "Ø�~Š~ØÒ6 ¨$¯+©+Ñ 5Ð6àÒ5˜v¨¯©Ñ4Ð5؈ r)NFN) r5r6r7rrjrÌrÒrÔrØrÅÚ __classcell__©rÍs@rrÇrÇas4ø„à7;õðñ&óð&ò+òOò 7örrÇcó4‡—eZdZˆfd„Zed„«Zd„ZˆxZS)Ú DomainFiltercó2•—t‰|�|«||_yr)rÉrÚ_domain)rrÂr¥rÍs €rrzDomainFilter.__init__’sø€Ü ‰Ñ˜Ô#؈� rcó—|jSr)ràr"s rr¥zDomainFilter.domain–s €à�|‰|ÐrcóJ—|\}}}}||jk(|j z Sr)r¥rÂ)rr}r¥rrrss rrÅzDomainFilter._matchšs+€Ø05Ñ-ˆ��i Ø˜$Ÿ+™+Ñ%¨d¯n©nÐ*<Ñ=Ð=r)r5r6r7rrjr¥rÅrÛrÜs@rrÞrÞ‘s!ø„ôðñóðö>rrÞcóL—eZdZ d„Zd„Zed„«Zd„Zd„Zd„Z d d„Z d d„Z y ) ÚSnapshotcó2—t|«|_||_yr)r®r±Útraceback_limit)rr±ræs rrzSnapshot.__init__¤s€ô˜f“oˆŒ Ø.ˆÕrcó’— t|d«5}tj||tj«ddd«y#1swYyxYw)NÚwb)ÚopenÚpickleÚdumpÚHIGHEST_PROTOCOL)rrXÚfps rrëz Snapshot.dumpªs7€ð ô�(˜DÔ ! RÜ �K‰K˜˜b¤&×"9Ñ"9Ô :÷"× !Ñ !ús Ž&=½Acór— t|d«5}tj|«cddd«S#1swYyxYw)NÚrb)rérêÚload)rXrís rrðz Snapshot.load±s,€ð ô�(˜DÔ ! RÜ—;‘;˜r“?÷"× !Ò !úsŽ-­6cób‡—|rtˆfd„|D««sy|rtˆfd„|D««ryy)Nc3ó@•K—|]}|j‰«–—Œy­wr©rÅ©r|Ú trace_filterr}s €rr~z)Snapshot._filter_trace..»s$øèø€ð<Ù+:˜<ð$×*Ñ*¨5×1Ù+:ùsƒFc3óB•K—|]}|j‰« –—Œy­wrrórôs €rr~z)Snapshot._filter_trace..¿s'øèø€ð8Ù'6�|ð$×*Ñ*¨5Ó1Ô1Ù'6ùsƒT)r×)rÚinclude_filtersÚexclude_filtersr}s `rÚ _filter_tracezSnapshot._filter_trace¹s<ø€Ù Üó<Ù+:ó<ô<àÙ Üó8Ù'6ó8ô8àØrcóÊ— t|t«s!tdt|«jz«‚|rqg}g}|D]1}|j r|j |«Œ!|j |«Œ3|jjD�cgc]}|j|||«r|‘Œ}}n$|jjj«}t||j«Scc}w)Nz)filters must be a list of filters, not %s) r%rÚ TypeErrorÚtyper5rÂrIr±r°rùÚcopyräræ)rÚfiltersr÷rørõr}Ú new_tracess rÚ filter_traceszSnapshot.filter_tracesÄsâ€ð ô ˜'¤8Ô,ÜÐGÜ" 7›m×4Ñ4ñ5ó6ð 6á Ø ˆOØ ˆOÛ '� Ø×)Ò)Ø#×*Ñ*¨<Õ8à#×*Ñ*¨<Õ8ð !(ð .2¯[©[×-@Ò-@ó8Ñ-@ EØ!×/Ñ/°Ø0?Ø05ô7ò Ð-@ˆJñ8ð Ÿ™×,Ñ,×1Ñ1Ó3ˆJܘ  D×$8Ñ$8Ó9Ð9ùò 8sÂC có&—|dvrtd|›�«‚|r|dvrtd|z«‚i}i}|sZ|jjD]?}|\}}}} ||} || } | xj |z c_| xj dz c_ŒA|S|jjD]F}|\}}}} |D]8} || } || } | xj |z c_| xj dz c_Œ:ŒH|S#t$r1|dk(r|} n|dk(r|dd} n |dddff} t | «} | ||<YŒÎwxYw#t$rt| |d«|| <YŒýwxYw#t$r$|dk(r| f} n| ddff} t | «} | || <YŒ¾wxYw#t$rt| |d«|| <YŒæwxYw) N)rrXr]zunknown key_type: )r]rXz/cumulative mode cannot by used with key type %rrr]r\r)Ú ValueErrorr±r°ÚKeyErrorrlrrr)rÚkey_typeÚ cumulativeÚstatsÚ tracebacksr}r¥rÚtrace_tracebackrsrrrrMrVs rÚ _group_byzSnapshot._group_byÝs €Ø Ð>Ñ >ݱxÐAÓBÐ BÙ ˜(Ð*@Ñ@Üð0Ø2:ñ;ó<ð <ðˆØˆ ÙØŸ™×,Ô,�Ø>CÑ;�˜˜o¨|ð <Ø *¨?Ñ ;�IðEØ  Ñ+�DØ—I’I Ñ%•IØ—J’J !‘O–Jð!-ðNˆ ð%Ÿ™×,Ô,�Ø>CÑ;�˜˜o¨|Û,�Eð6Ø$.¨uÑ$5˜ ðIØ$ YÑ/˜ØŸ š  TÑ)� ØŸ š  a™ž ñ-ð-ð$ˆ øôG ò<Ø ;Ò.Ø!0™Ø! XÒ-Ø!0°°!Ð!4™à#2°1Ñ#5°aÑ#8¸!Ð"<Ð!>˜Ü )¨&Ó 1�IØ2;�J˜Ó/ð<ûô òEÜ'0°¸DÀ!Ó'D�E˜)Ó$ðEûô$ò6Ø# xÒ/Ø&+ X™Fà',¨Q¡x° mÐ%5˜FÜ$-¨fÓ$5˜ Ø,5˜  5Ó)ð 6ûô$òIÜ+4°YÀÀaÓ+H˜˜iÓ(ðIúsHÁC(Á/D%Â-EÂ3/E4Ã(7D"Ä!D"Ä%EÅEÅ*E1Å0E1Å4FÆFcó — |j||«}t|j««}|jdtj ¬«|S©NT)ÚreverseÚkey)r ÚlistÚvaluesÚsortrr3)rrrÚgroupedrLs rrLzSnapshot.statisticssF€ð ð—.‘. ¨:Ó6ˆÜ˜'Ÿ.™.Ó*Ó+ˆ Ø�‰ ¬)×*=Ñ*=ˆÔ>ØÐrcóª— |j||«}|j||«}t||«}|jdtj¬«|Sr )r rOrr;r3)rÚ old_snapshotrrrKrJrLs rÚ compare_tozSnapshot.compare_tosS€ð ð —N‘N 8¨ZÓ8ˆ Ø ×*Ñ*¨8°ZÓ@ˆ Ü+¨I°yÓAˆ Ø�‰ ¬-×*AÑ*AˆÔBØÐrN)F) r5r6r7rrëÚ staticmethodrðrùrr rLrr9rrräräŸs?„ðò/ò ;ðñ#óð#ò ò:ò21ófô rräcón— t«s td«‚t«}t«}t ||«S)NzLthe tracemalloc module must be tracing memory allocations to take a snapshot)Ú is_tracingÚ RuntimeErrorrÚget_traceback_limiträ)r±ræs rÚ take_snapshotr's<€ðô Œ<Üð<ó=ð =ä ‹]€FÜ)Ó+€OÜ �F˜OÓ ,Ð,r)Úcollections.abcrrÚ functoolsrrÐr’Úos.pathrºrêÚ _tracemallocrrrrr;rOrQrlr�rŸr®r¾rÀrÇrÞrärr9rrÚrsÓðß.Ý$ÛÛÛÛ ôß;ò÷"%7ñ%7÷P/ ñ/ òdð(÷#Nð#Nóð#NðLôJ�óJóðJòZ ÷$Qñ$QôN-ˆhô-ò6÷"ñ"ô-ˆZô-ô` >�:ô >÷EñEóP -r