bgHdZdZdZdZGddZGddZGdd ZGd d ZGd d ZdS)c@|dkrgSg}d}|t|kr||}|dzt|kr||dzrd}|dz}|t|krg||rM|dzt||z}|dz }|t|kr||Mn|dz }d}t|D]}|||t|k|S)N_ )lenisdigitintrangeappend)satrivnjs I/opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/heapy/RefPat.py str_as_atrrsCxx C A c!ff** aD q53q66>>a!fnn..>AAAc!ff**1*FS1YY&Qc!ff**1* FAAq  A JJqMMMM c!ff** Jc>|sdSg}dd|D}d}|t|kr||}|dz}|t|kr0|||kr$|dz }|t|kr |||k$||z dkr;|||t||z n&||kr |||dz }||k |}|t|kd|S)Nrc,g|]}t|S)str).0xs r zatr_as_str..s***c!ff***rrr)joinrr r)r preflprestrrcrs r atr_as_strr"s, s E WW**c*** + +F A c&kk// 1I aC#f++oo&)q.. FA#f++oo&)q.. q5199 LLOOO LLQqS " " " "a%% QQa%%  c&kk// 775>>rc4dt|DS)NcLg|]!}t|tdz "Sa)ord)rchs rrzstr_as_ixl..-s) 5 5 5CGGCHH  5 5 5r)r)r s r str_as_ixlr),s 5 5z!}} 5 5 55rc4td|DS)NcLg|]!}t|tdz"Sr%)chrr')rixs rrzixl_as_str..1s*888bs2C=))888r)r")ixls r ixl_as_strr/0s 88C888 9 99rc@eZdZd dZdZdZdZdZd Zd Z d Z d S)PathsTrrc||_|j|_||_||_||_||j|_||_i|_|j}|"|j j |j|j <|j }|"t|tr|j|nqt|t t"frF|j}t%|D].\}} |t'd| | |j|j <|j }/nt)d|j||dkdS)Nzandsets argument is too longz-andsets argument must be dict, tuple, or listr)stop_only_when_told)mod _hiding_tag_keyrpextendedget_rowsrcrowvariant andsetbynameUseAnythingixlstrparent isinstancedictupdatetuplelist enumerate ValueError TypeErrorOutputHandlingsetup_printing) selfr4r7r6r8andsetsr;rowrr s r__init__zPaths.__init__5s^,  jj**  ko,/G,)brieflstriprstrip)rKsets r#get_str_of_path_component_singletonz)Paths.get_str_of_path_component_singletonTs&y&&--c222rc#Kd}d}d}|j}d}||j|}n|tur|}n|}d|z|z}|j}|dzddtjtzzt |z t |z zz|zdz}||tjt |z zV|j}|tz }|dSdS)NSourceTargetViar : ) r:r@r?depthindincr getsummaryr4 line_length)rKsrctgtviarMindentr&names rsource_to_target_infozPaths.source_to_target_infoWskoz!F QA:DC#qf!44"4yy )),Q 011378:>?ACNN3?3q66#9::: : : :*C f Fooooorc(d|jjdddS)NzPaths from source z to target r.)r:r?rKs r _oh_get_labelzPaths._oh_get_labelms7;{7I7I7I333OOrcBt|d|jS)Nget_line_iter_)getattrr;ris r_oh_get_line_iterzPaths._oh_get_line_iterps#Bwtt4<<ABBDDDrcdS)Nrr)rK startindex lastindexs r_oh_get_more_state_msgzPaths._oh_get_more_state_msgssrrc#Kjjjdjdkrddfd fd}|D]}|VdS)Nrrrrc3F K|j |D]\}}}d|j|fz}jr|}nd}|dddt |z t |z zd|d|}|V h  fd}  | || zD]} | VdS)Nz%s[%d]rrZ(c3DK|j jz}t|jjD]s\}} j|j|j}|D]F}| jjur| jj urd}nt|dz}d zz|z}|||fVGtdS)N??rrZ) referentsrTrFbyidpartsPath relationstheoneidentity norelationr) r6rTparsetrprelsrelkrdr^r4pars rget_nksz8Paths.get_line_iter_1..genlines..get_nkss ]SW4F )&+*; < < * *1"x11#*ahGG#'**C"ch&777 ("ch&999$($'HHrM #VF] 3A 5A"#Q'MMMM* * *r)r@r?r8rUr)rMksrdr6rrTsidxstrsingvlinerlinergenlinesr^r4rKs ` @rrz'Paths.get_line_iter_1..genliness*C!" "  Q3:q/1=!"FFsKKGG GCCCHHs4yy0111DDG  ; * * * * * * * *%HS''#s*;*;VF]KKDJJJJC" " rc3KtjjD]6\}}d|z}|dddt|z jz z}|||fV7dS)Nz[%d] z( - - - - - - - - - - - - - - - - - - - -$)rFryrzrr])rr rr:srcsets rget_ksz%Paths.get_line_iter_1..get_kssq!&+"344  1qL"92c!ff9V\#9"9::Ag   rr)r4r:rTr])rKrrrr^r4r:rs` @@@@@rget_line_iter_1zPaths.get_line_iter_1vsh <2  F$ $ $ $ $ $ $ $ $ L       HVVVXX..  DJJJJrc #r Kj j d jdkrddgi ddkrd d }|rt|j krt|j tt t|jj kr3tt t|jj |j}| f dt jj jzj j D]\}} ||D]}|VdS)Nrrrc3 Kd|j|jf<|j}d|z}dkrM|jz}|dd|zt|z t|z z|}|j |d|jzz }nc|ddzzt|z t|z z|}|djdz|jz zz }|j|dz }n |d |jzz }|j&dd d |}dxxdz cc<d |fVdS|j|jjzj|jjzj j j j }|j fd tjjD}|D]\} } } g} | D]I} | j jur| j jurd}nt'| dz}| |Jd| }| j|jjf}dd d |}dxxdz cc<||d|zz }d |dz|zfV|dz|zV|j| | D]}|VdS)Nrz[%d]rZz == %sr@z= %sz>2r\ STOP_AFTERcng|]1\}}|j|j|f2Sr)r}byer)rrrrxr|r s rrz;Paths.get_line_iter_2..genlines..sV@@@a)Aqx((!$$y|*<* #%d)nodesr]r?rr@rQrxrTr<r{r|r=isor}rFryrzr~rrr rget)rMpartidxridxsrdrrtrrr relstringsrrrelsstrseenlnorrxr|r rr^indirlnomax_ixlstr_lenmax_str_len_setr4seenrKr:s @@@rrz'Paths.get_line_iter_2..genlinessF*-a&DSY& ':DC>@@@A ! # # q! ))Cch/// ch111 HHrM%%a((((**Z00((AGSZ-=#>??%(VVVVTT2A! &y722G'w)>?????#+//// (Q : :##" #) # #r) r4r:r]rr?rrTrr@rFr<ryrz)rKrMrrrrr^rrrrr4rr:s` @@@@@@@@@rget_line_iter_2zPaths.get_line_iter_2sh <2  Fc A::NOC !sz??^33%(__Ns3sw}--..///AA&)#c#'-.@.@*A*A&B&BOj  !: #: #: #: #: #: #: #: #: #: #: #: #: #: #xvzD,=fm,LLRXYY  DAq A..      rN)Trr) __name__ __module__ __qualname__rNrUrfrjrnrrrrrrrr1r14s....>333,PPPEEE:::xZZZZZrr1c"eZdZddZdZdZdS) RefPatIterrc:||_|j|_||_dSN)r7r5r-)rKr7starts rrNzRefPatIter.__init__sOrc|Srrris r__iter__zRefPatIter.__iter__s rcx |j|j}n#t$rtwxYw|xjdz c_|S)Nr)r7r- IndexError StopIteration)rKrs r__next__zRefPatIter.__next__sL  AA      1 s'Nr)rrrrNrrrrrrrsF rrc&eZdZdZdZdZdZdS) RefPatRowct||_|j|_||_|\|_|_|j|jksJ||_|dd|_||_||jdz|_nd|_d|_ |j|_ |j j |_ t||_d|_g|_dS)Nrr)r7r5kindsetkindrTseenliner.r@r]indexmaxdepthr4r` max_str_lenr/r?isreadychildren)rKr7rrr.r@s rrNzRefPatRow.__init__"sO % 48x49$$$$  qqq6  )DJJDJ  6- oo   rcd|j|jfz}|jdzrd}nd}t|}||d|jz}|jrd|jjz}nB|jrd}n8|jdkr|j|jjkrd }n|j|j krd }nd }||d |d }|| |j t|z S) Nz%2d: %s rzd zd---------------------------------------------------------------------------------------------------- z[^ %s]z[R]rz[S]z[-]z[+]rZ) rr?rr]risrootrTr7stopkindrr_r)rKr fillpatlpsfillrefprefixs r__str__zRefPatRow.__str__7stz4;77 :> GGG&kks1TZ<'( = T]00CC [ CC Z!^^DG,< < <CC Z$- ' 'CCC%vtttSSS11A#f++1M!N!N!NOOrc|t|jkrW|jsP|jt|jj|t|jkr|jP|j|Sr)rrrr7generatelinesrKr-s rgetchildzRefPatRow.getchildPskC &&&&t|& G  S// 0 0 0C &&&&t|&}R  rcZ|j|j}}|j|||}|Sr)rrTfamget_str_refpat)rKmax_lenrrTsummarys rr_zRefPatRow.getsummaryUs-Itxc'((dG<<rN)rrrrNrrr_rrrrr!sS*PPP2!!! rrceZdZdZdZdZdZdZddZdZ d Z d Z d Z dd Z dZdZdZddZddZdZdZdZdZdZd S)ReferencePatternz 1-- -    D  $$$Q''CC $ $ $ ## # $ws- ::AA.c6||jSr)get_row_indexedrTrs r __getitem__zReferencePattern.__getitem__s##B''++rrc"t||Sr)rrKrs rrzReferencePattern.__iter__s$&&&rcR|t|jSr)rrrris r__len__zReferencePattern.__len__s 4:rcJd|jjzdzS)NzReference Pattern by .)r classifier get_bynameris rrjzReferencePattern._oh_get_labels#'$'*<*G*G*I*IIDPPrcV|jrdt|jdz |z fz}nd}|S)Nz%d more lines. rr)isfullygeneratedrr)rKrprqmsgs rrrz'ReferencePattern._oh_get_more_state_msgs8   #s4:':9'D&FFCCC rc#`K|d}|D]}t|VdSNr) iterlinesr)rKitels rrnz"ReferencePattern._oh_get_line_itersA ^^A    Bb''MMMM  rNcd||dks|t|jkr |jt|jn#t $r d|_YdSwxYwt|jdz |jd_|o|dku|t|jkdSdS)Nrr)rrr nextlgrrrrs rrzReferencePattern.generatesjBFFbC OO&;&;  !!$tw--0000    ()% $'tz??Q#6DJrN jBFFbC OO&;&;&;&;&;&;s,AA$#A$c g|dS#t$r||cYSt$r||cYSwxYwr)rHrrr)rKr6s rr9zReferencePattern.get_rowsu - sGGGG + + +%%c** * * * - - -'',, , , , -s AA AcF|||j|Sr)rrrs rrz ReferencePattern.get_row_indexeds  bz"~rc|d}t|D]8} ||}#t$rt d|zwxYw|S)Nrz%Reference pattern has no row named %r)rr)rrrG)rKrerMr-s rrzReferencePattern.get_row_nameds""1%%T"" D DB Dll2&& D D D ;dBDDD D s >Ac#pK|d} ||Vn#t$rYdSwxYw|dz }0r)rrrs rrzReferencePattern.iterlinessg =E  **5111111     QJE  s ! //c#HK|\}}|j|j}t|}t |||f|||}||}| |_|||j|j<||j||V|j } |sx| |j krm| dks ||j ks\t|D]L\} } || | | ||D]} | V| Md|_dS)N)rr.r@rr)seensetsrrrEr get_childrenrrr r]rrF linegeneratorpopr) rKxxx_todo_changemer.r@rrTrrrr]rcsrls rr zReferencePattern.linegeneratorsI' s=$$SY//3iic{X 111$$T**"l  '+DM#) $   O " "4 ( ( (   UTZ//!C4=$8$8"8,,  2 1 ,,Rd;;BHHHH  rc|j\}}||}|jr|||jz}|j}|d|||jDS)Nc*g|]}|j|jfSr)rrT)rrMs rrz1ReferencePattern.get_children..s7JJJ37#JJJr)rrrrTr@ get_partitionrget_rows)rKrrrTchsets rr zReferencePattern.get_childrensl s C   : #"!{"JJ--eTW==FFHHJJJ JrcF|jj||}|Sr)r4Part partition)rKrTrrs rrzReferencePattern.get_partitions HM # #C , ,rc *t|j||fi|Sr)r1r4)rKr6kwdss rpathszReferencePattern.pathssTXtS11D111rc||j|jjjdSr)rprinterresetr4_rootgccollectris rrzReferencePattern.resetsE   !!#####rc~d|_i|_g|_||jg|_d|_dSr)rr rr rrrqris rrzReferencePattern.reset_nogcs< !  $$T\266rrr)rrr__doc__helprNrrrrrjrrrnrr9rrrr r rrrrrrrrr[sWG D   0   ,,,''''QQQ 7777---0JJJ222$$$ rrc>eZdZdZdZdZdZdZdZdZ dZ d d Z d S) _GLUECLAMP_)r5P)r7)rr]r`)z_parent:OutputHandlingz _parent:Partz _parent:Pathz_parent:UniSetz _parent:Usez _parent:Viewz_parent.View:_hiding_tag_c|jjSr)r=Clodoris r_get_erz_GLUECLAMP_._get_ers dhn,rc|j}|jj|jjz|jjjz|jjjz|jjz|jjzSr)r=TypeModuledictofCodeFrame)rKhps r _get_stopkindz_GLUECLAMP_._get_stopkinds] X GN GL  GN ! " GL   GL   GM   rNrFc B|j}j|}|j|}jjjjjt|j j _ j |j }|j}|rd} nF| A| dkrd} n:| dkrfd} n.| dkrd} n$t| r| } nt!d d } |j}t%|||| |||} | S) arp(X, depth=None, er=None, imdom=0, bf=0, src=None, stopkind=None, nocyc=False, ref=None) Reference pattern forming. Arguments X Set of objects for which a reference pattern is sought. depth The depth to which the pattern will be generated. The default is taken from depth of this module. er The equivalence relation to partition the referrers. The default is Clodo. imdom If true, the immediate dominators will be used instead of the referrers. This will take longer time to calculate, but may be useful to reduce the complexity of the reference pattern. bf If true, the pattern will be printed in breadth-first order instead of depth-first. (Experimental.) src If specified, an alternative reference source instead of the default root. stopkind nocyc ref Description Return a reference pattern object based on the objects in the set X. The reference pattern object is of class ReferencePattern. It is described in XXX. Nc|jSrimdomXs rrz_GLUECLAMP_.rp..relimgTs!'>rrc|jSr) referrers_gcr7s rrz_GLUECLAMP_.rp..relimgWs an4rgcxc~|jjjjjz jjjz jj z Sr) r:rguppysets ImmNodeSet_parentheapyc NodeGraphrObservationList)rrKs rz _GLUECLAMP_.rp..Ys;AN J,1<%= L/9%:!I5%6rr6c|jSrr5r7s rrz_GLUECLAMP_.rp..relimg^sag~rz1ref should be 'gc', 'gcx', 'imdom', or a callablec|jSr) referrersr7s rrz_GLUECLAMP_.rp..relimges !+-r)r]UniSet idset_adaptrr=RootheapyRefPatrDrrrootr=idsetrcallablerGrr) rKr8r]rr6rrarrrrr7s ` rr7z_GLUECLAMP_.rp*sa6 =JE K # #A & & ?+))#..C:#((**06=D"39--DINqw''A :B  . ) ) ) ) _d{{44446666----# I GIII . - -  }H dAub&"h N N r)NNrrNNFN) rrr _preload_r]r`_uniset_exports _chgable_ _imports_r*r2r7rrrr%r%sn!I EKOII-,,    LP ??????rr%N) rr"r)r/r1rrrr%rrrrTs0*,666:::XXXXXXXXv$77777777teeeeeeeePffffffffffr