^c&|ddlZddlZddlmZejZeeddZddgZdZGdd ZiZ d Z dS) Ngetattrprofiler_entrysprofilesStatsct}|dd ||i||n#|wxYwt|S) XXX docstringT)subcallsbuiltins)ProfilerenabledisableStatsgetstats)fargskwdsps 2/usr/lib/python3/dist-packages/mercurial/lsprof.pyprofilersr AHHdTH*** 44    s AAc.eZdZdZdZddZd dZdZdS) rrc||_dSN)data)selfrs r__init__zStats.__init__s  inlinetimec`tr!tjvrtdzn5|jr.t |jddstdz|jfdd|jD](}|jr|jfdd)dS)rsCan't sort by %srNc$t|Srrxcrits rzStats.sort..(sWQ%5%5rT)keyreversec$t|Srrr s rr#zStats.sort..+s71d+;+;r)r__dict__ ValueErrorrrsortcalls)rr"es ` rr)z Stats.sorts  9>222 !4t!;<<<3 Y 9wty|T4@@ 904788 8 5555tDDD K KAw K !;!;!;!;T JJJ K KrNc *| tj}|j}| |d|}d}d}||dzd}|D]} ||| j| j| j| jt| j fz|dz }| ||krdSd} |rw| j rp| j D]h} ||| j| j| j| jdt| j zfz|dz }| dz } | ||krdS|| |krnidS)rNs% 12d %12d %11.4f %11.4f %s s% 12s %12s %12s %12s %s )s CallCounts RecursivesTotal(s)s Inline(s)smodule:lineno(function)rrs %s) sysstdoutrwrite callcount reccallcount totaltimerlabelcoder*) rtopfilelimitclimitdcolshcolscountr+ccountses rpprintz Stats.pprint-s <:D I ?$3$A1,     A JJKNKL!&MM     QJE Ue^^F !' 'BJJLOLM%bg6    QJEaKF(Ue^^)f.>.>A  rc8tt|jD]}|j|}t|jt s>t |t|jf|ddz|j|<|jrtt|jD]g}|j|}t|jt s>t |t|jf|ddz|j|<hdS)zwReplace all references to code objects with string descriptions; this makes it possible to pickle the instance.rN) rangelenr isinstancer4strtyper3r*)rir+jr>s rfreezez Stats.freezecs s49~~&& J JA ! Aafc** A&tAwwaf '7!ABB%'?@@ ! w Js17||,,JJAB%bgs33J%-T"XXuRW~~.?"QRR&.H%I%I  J Jr)r)NNNN)__name__ __module__ __qualname____doc__rr)r?rHrrrrsj K K K K4444l J J J J Jrrc 4t|tr|dS t|j}n#t $rt tj D]_\}}|tt|ddts-|j |jr|x}t|j<n`d|jzx}t|j<YnwxYwd||j |jfz}|dS)Nzlatin-1__file__z<%s>z %s:%d(%s))rCrDencode_fn2mod co_filenameKeyErrorlistr-modulesitemsrrO startswithco_firstlinenoco_name)r4mnamekvress rr3r3vs-$&{{9%%% J()  J J J**,,-- J JDAqygaT::C@@ z$$T%566 455 01 179I0I IEGD,- J  3T\B BC ::i  s?B.C0/C0) _lsprofr-pycompatrr r__all__rrrQr3rMrrras   "2D99 x WJWJWJWJWJWJWJWJt !!!!!r