MINI MINI MANI MO

Path : /usr/lib64/python3.6/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/__pycache__/inspect.cpython-36.opt-2.pyc

3


 \@sdZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlmZddlmZmZeZx"ejjD]\ZZeede<qWdZd	d
ZddZ d
dZ!ddZ"ddZ#e$edrddZ%nddZ%e$edr2ddZ&nddZ&ddZ'ddZ(dd Z)d!d"Z*d#d$Z+d%d&Z,d'd(Z-d)d*Z.d+d,Z/d-d.Z0d/d0Z1d1d2Z2d3d4Z3d5d6Z4dd7d8Z5ed9d:Z6d;d<Z7d=d>Z8dd?d@dAZ9dBdCZ:dDdEZ;dFdGZ<dHdIZ=dJdKZ>dLdMZ?dNdOZ@dPdQZAddRdSZBiZCiZDddTdUZEdVdWZFdXdYZGGdZd[d[eHZIGd\d]d]ZJd^d_ZKd`daZLdbdcZMdddeZNddgdhZOedidjZPdkdlZQdmdnZRedodpZSdqdrZTedsdtZUdudvZVedwdxZWdydzZXdd{d|ZYd}d~ZZdddfiie[ddddddddeYfddZ\e[ddddddfddZ]ddZ^ddZ_ddZ`eddZaddZbeddZcdddZdddZeeddecjfZgdddZhdddZiddZjdddZkdddZlemZnddZoddZpddZqddZrddZsenfddZtdZudZvdZwdZxddZyddZzdZ{dZ|dZ}dZ~ddZdd„ZeejZeejZeejdZeeeejfZddńZffddDŽZddɄZdd˄Zdd̈́ZddτZddфZdddԄZdddքZdd؄ZdddٜddۄZGdd݄d݃ZGdd߄d߃ZGdddejZejZejZejZejZejZededededediZejZGdddZGdddZGdddZddddZddZedkredS(Ka-Ping Yee <ping@lfw.org>'Yury Selivanov <yselivanov@sprymix.com>N)
attrgetter)
namedtupleOrderedDictZCO_cCst|tjS)N)
isinstancetypes
ModuleType)objectr
/usr/lib64/python3.6/inspect.pyismodule@srcCs
t|tS)N)r	type)rr
r
risclassIsrcCst|tjS)N)r	r

MethodType)rr
r
rismethodQsrcCs:t|st|st|rdSt|}t|do8t|dS)NF__get____set__)rr
isfunctionrhasattr)rtpr
r
rismethoddescriptor[srcCs8t|st|st|rdSt|}t|do6t|dS)NFrr)rrrrr)rrr
r
risdatadescriptorosrMemberDescriptorTypecCst|tjS)N)r	r
r)rr
r
rismemberdescriptorsrcCsdS)NFr
)rr
r
rrsGetSetDescriptorTypecCst|tjS)N)r	r
r)rr
r
risgetsetdescriptorsrcCsdS)NFr
)rr
r
rrscCst|tjS)N)r	r
FunctionType)rr
r
rrsrcCs tt|st|o|jjt@S)N)boolrr__code__co_flagsZCO_GENERATOR)rr
r
risgeneratorfunctionsr#cCs tt|st|o|jjt@S)N)r rrr!r"ZCO_COROUTINE)rr
r
riscoroutinefunctionsr$cCs tt|st|o|jjt@S)N)r rrr!r"ZCO_ASYNC_GENERATOR)rr
r
risasyncgenfunctionsr%cCst|tjS)N)r	r
AsyncGeneratorType)rr
r
r
isasyncgensr'cCst|tjS)N)r	r

GeneratorType)rr
r
risgeneratorsr)cCst|tjS)N)r	r

CoroutineType)rr
r
riscoroutinesr+cCs6t|tjp4t|tjr(t|jjt@p4t|tj	j
S)N)r	r
r*r(r gi_coder"ZCO_ITERABLE_COROUTINEcollectionsabc	Awaitable)rr
r
risawaitablesr0cCst|tjS)N)r	r

TracebackType)rr
r
ristracebacksr2cCst|tjS)N)r	r
	FrameType)rr
r
risframesr4cCst|tjS)N)r	r
CodeType)rr
r
riscodesr6cCst|tjS)N)r	r
BuiltinFunctionType)rr
r
r	isbuiltinsr8cCs t|pt|pt|pt|S)N)r8rrr)rr
r
r	isroutinesr9cCst|tsdS|jt@rdStt|tjs0dSt|dr>dSx&|jj	D]\}}t
|ddrJdSqJWx@|jD]6}x0t
|dfD] }t
||d}t
|ddrdSqWqnWdS)NFT__abstractmethods____isabstractmethod__)r	r	__flags__TPFLAGS_IS_ABSTRACT
issubclassr.ABCMetar__dict__itemsgetattr	__bases__)rnamevaluebaser
r
r
isabstract%s"


rGcCs&t|r|ft|}nf}g}t}t|}yBx<|jD]2}x,|jjD]\}}t|tj	rH|j
|qHWq8WWntk
rYnXx|D]}	yt||	}
|	|krtWn:tk
rx$|D]}|	|jkr|j|	}
PqWwYnX|s||
r|j
|	|
f|j
|	qW|jddd|S)NcSs|dS)Nrr
)Zpairr
r
r<lambda>fszgetmembers.<locals>.<lambda>)key)rgetmrosetdirrCr@rAr	r
DynamicClassAttributeappendAttributeErrorrBaddsort)rZ	predicatemroresults	processednamesrFkvrIrEr
r
r
getmembers=s:




rX	Attributezname kind defining_class objectcCs\t|}tt|}tdd|D}|f|}||}t|}x:|D]2}x,|jjD]\}}t|tjrV|j	|qVWqFWg}	t
}
x|D]}d}d}
d}||
kry|dkrtdt||}
Wn"tk
r}zWYdd}~XnXt|
d|}||krd}d}x(|D] }t||d}||
kr|}qWxH|D]@}y|j
||}Wntk
rhw:YnX||
kr:|}q:W|dk	r|}x4|D],}||jkr|j|}||kr|}PqW|dkrq|
dk	r|
n|}t|trd}|}n@t|trd}|}n*t|tr"d}|}nt|r2d	}nd
}|	j	t|||||
j|qW|	S)NcSsg|]}|ttfkr|qSr
)rr).0clsr
r
r
<listcomp>sz(classify_class_attrs.<locals>.<listcomp>r@z)__dict__ is special, don't want the proxy__objclass__z
static methodzclass methodpropertymethoddata)rJrtuplerLr@rAr	r
rMrNrK	ExceptionrB__getattr__rOstaticmethodclassmethodr^r9rYrP)r[rRZmetamroZclass_basesZ	all_basesrUrFrVrWresultrTrDZhomeclsZget_objZdict_objexcZlast_clsZsrch_clsZsrch_objobjkindr
r
rclassify_class_attrsks

















rjcCs|jS)N)__mro__)r[r
r
rrJsrJ)stopcsdkrdd}nfdd}|}t||i}tj}xD||rz|j}t|}||ksbt||krptdj||||<q8W|S)NcSs
t|dS)N__wrapped__)r)fr
r
r_is_wrapperszunwrap.<locals>._is_wrappercst|do|S)Nrm)r)rn)rlr
rrosz!wrapper loop when unwrapping {!r})idsysgetrecursionlimitrmlen
ValueErrorformat)funcrlrornmemoZrecursion_limitZid_funcr
)rlrunwraps

rxcCs|j}t|t|jS)N)
expandtabsrslstrip)lineZexpliner
r
r
indentsize	sr|cCsRtjj|j}|dkrdSx&|jjdddD]}t||}q0Wt|sNdS|S)N.r)rqmodulesget
__module____qualname__splitrBr)rvr[rDr
r
r
_findclasssrcCst|rRxD|jD]:}|tk	ry
|j}Wntk
r<wYnX|dk	r|SqWdSt|r|jj}|j}t|rt	t	||dd|jkr|}n|j
}nt|r|j}t|}|dkst	|||k	rdSnt
|r
|j}|j}t|o|jd||jkr|}n|j
}nzt|trJ|j}|j}t|}|dksDt	|||k	rdSn:t|s^t|r|j}|j}t	|||k	rdSndSxJ|jD]@}yt	||j}Wntk
rwYnX|dk	r|SqWdS)N__func__r})rrkr__doc__rOrr__name____self__rB	__class__rrr8rr	r^fgetrrr])rhrFdocrDselfr[rvr
r
r_finddocsb




rcCsdy
|j}Wntk
rdSX|dkrNyt|}Wnttfk
rLdSXt|ts\dSt|S)N)rrOr	TypeErrorr	strcleandoc)rrr
r
rgetdocSs

rcCsy|jjd}Wntk
r&dSXtj}x:|ddD]*}t|j}|r<t||}t||}q<W|r~|dj|d<|tjkrx*tdt|D]}|||d||<qWx|r|dr|j	qWx|r|dr|j	dqWdj
|SdS)N
rrr~)ryrUnicodeErrorrqmaxsizersrzminrangepopjoin)rlinesZmarginr{Zcontentindentir
r
rrfs(
rcCst|r&t|dr|jStdj|t|rdt|drVtjj|j	}t|drV|jStdj|t
|rr|j}t|r|j
}t|r|j}t|r|j}t|r|jStdj|dS)N__file__z{!r} is a built-in modulerz{!r} is a built-in classzO{!r} is not a module, class, method, function, traceback, frame, or code object)rrrrrurrqrrrrrrr!r2tb_framer4f_coder6co_filename)rr
r
rgetfiles,


rcCsTtjj|}ddtjjD}|jx&|D]\}}|j|r.|d|Sq.WdS)NcSsg|]}t||fqSr
)rs)rZsuffixr
r
rr\sz!getmodulename.<locals>.<listcomp>)ospathbasename	importlib	machineryall_suffixesrQendswith)rZfnamesuffixesZneglenrr
r
r
getmodulenames
rcst|tjjdd}|tjjdd7}tfdd|Dr`tjjdtjj	dntfddtjj
Dr~dStjjrStt
|dddk	rStjkrSdS)Nc3s|]}j|VqdS)N)r)rZs)filenamer
r	<genexpr>sz getsourcefile.<locals>.<genexpr>rc3s|]}j|VqdS)N)r)rZr)rr
rrs
__loader__)rrrDEBUG_BYTECODE_SUFFIXESOPTIMIZED_BYTECODE_SUFFIXESanyrrsplitextSOURCE_SUFFIXESEXTENSION_SUFFIXESexistsrB	getmodule	linecachecache)rZall_bytecode_suffixesr
)rr
getsourcefiles
rcCs,|dkrt|pt|}tjjtjj|S)N)rrrrnormcaseabspath)r	_filenamer
r
r
getabsfilesrc

Cst|r|St|dr$tjj|jS|dk	rD|tkrDtjjt|Syt||}Wntk
rfdSX|tkrtjjt|Sxnt	tjj
D]\\}}t|rt|dr|j}|tj|dkrq|t|<t|}|j
t|<ttjj|<qW|tkr
tjjt|Stjd}t|ds$dSt||j
rLt||j
}||krL|Stjd}t||j
r~t||j
}	|	|kr~|SdS)Nrr__main__rbuiltins)rrrqrrr
modulesbyfilerrlistrAr_filesbymodnamerrrrealpathrB)
rrfilemodnamemodulernmainZ
mainobjectZbuiltinZ
builtinobjectr
r
rrsD





rc
Cst|}|rtj|n$t|}|jdo2|jds<tdt||}|rZtj||j	}n
tj|}|sptdt
|r|dfSt|r |j}t
jd|d}g}xRtt|D]B}|j||}|r||ddkr||fS|j|jd	|fqW|r|j||dd	fStd
t|r0|j}t|r@|j}t|rP|j}t|r`|j}t|rt|ds~td|jd	}	t
jd
}x*|	dkr|j||	rP|	d	}	qW||	fStddS)N<>zsource code not availablezcould not get source coderz^(\s*)class\s*z\bcrzcould not find class definitionco_firstlinenoz"could not find function definitionz>^(\s*def\s)|(\s*async\s+def\s)|(.*(?<!\w)lambda(:|\s))|^(\s*@)zcould not find code object) rr
checkcacher
startswithrOSErrorrgetlinesr@rrrrecompilerrsmatchrNgrouprQrrrr!r2rr4rr6rr)
rrrrrDZpatZ
candidatesrrlnumr
r
r
findsources^









rcCs>yt|\}}Wnttfk
r(dSXt|rd}|rR|ddddkrRd}x(|t|krz||jdkrz|d}qTW|t|kr||dddkrg}|}x>|t|kr||dddkr|j||j|d}qWdj|SnH|dkr:t	||}|d}|dkr:||j
dddkr:t	|||kr:||jj
g}|dkr|d}||jj
}x\|dddkrt	|||kr|g|dd<|d}|dkrP||jj
}q|Wx*|r|djdkrg|dd<qWx*|r.|djdkr.g|d	d<qWdj|SdS)
Nrz#!r#)rrr~r~)rrrrrsstriprNryrr|rz)rrrstartZcommentsendrZcommentr
r
rgetcommentsAsJ "
$
&
rc@seZdZdS)
EndOfBlockN)rrrr
r
r
rrnsrc@seZdZddZddZdS)BlockFindercCs.d|_d|_d|_d|_d|_d|_d|_dS)NrFr)rislambdastartedpasslineindecoratordecoratorhasargslast)rr
r
r__init__rszBlockFinder.__init__cCs&|jrD|jrD|dkr d|_n|dkr<|dkr6d|_d|_d|_n|dkrZ|jrXd|_n|dkrv|jrtd|_d|_n|tjkrd|_|d	|_|jrt|jr|jrd|_nr|jrnj|tj	kr|j
d
|_
d|_nL|tjkr|j
d
|_
|j
d	kr"tn"|j
d	kr"|tjtj
fkr"tdS)N@Tdefclasslambda()Frr)rrr)rrrrrtokenizeNEWLINErrINDENTrDEDENTCOMMENTNL)rrtokenZsrowcolZerowcolr{r
r
r
tokeneater{sB


zBlockFinder.tokeneaterN)rrrrrr
r
r
rrps	rcCsZt}y,tjt|j}x|D]}|j|qWWnttfk
rJYnX|d|jS)N)	rrgenerate_tokensiter__next__rrIndentationErrorr)rZblockfindertokensZ_tokenr
r
rgetblocks
rcCsbt|}t|\}}t|r"|j}t|s>t|rF|jjdkrF|dfSt||d|dfSdS)Nz<module>rr)	rxrr2rrr4rco_namer)rrrr
r
rgetsourcelinessrcCst|\}}dj|S)Nr)rr)rrrr
r
r	getsourcesrcCsVg}|jtdddx:|D]2}|j||jf||kr|jt||||qW|S)Nrr)rI)rQrrNrCwalktree)classeschildrenparentrSrr
r
rrs
rFcCsi}g}xn|D]f}|jrbxZ|jD]<}||kr4g||<|||krN||j||r ||kr Pq Wq||kr|j|qWx|D]}||kr~|j|q~Wt||dS)N)rCrNr)runiquerrootsrrr
r
rgetclasstrees"	

r	Argumentszargs, varargs, varkwcCs t|\}}}}t||||S)N)_getfullargsr)coargsvarargs
kwonlyargsvarkwr
r
rgetargssrc	Cst|stdj||j}|j}|j}t|d|}t||||}d}||7}d}|jt@rx|j|}|d}d}|jt	@r|j|}||||fS)Nz{!r} is not a code objectrr)
r6rruco_argcountco_varnamesco_kwonlyargcountrr"
CO_VARARGSCO_VARKEYWORDS)	rnargsrUZnkwargsrr	steprr
r
r
rrs"



rArgSpeczargs varargs keywords defaultscCsDtjdtddt|\}}}}}}}|s.|r6tdt||||S)Nzhinspect.getargspec() is deprecated since Python 3.0, use inspect.signature() or inspect.getfullargspec()r)
stacklevelzdFunction has keyword-only parameters or annotations, use getfullargspec() API which can support them)warningswarnDeprecationWarninggetfullargspecrtr)rvrrr
defaultsr	kwonlydefaultsannr
r
r
getargspec s
rFullArgSpeczGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc
Cs`yt|ddtd}Wn,tk
r@}ztd|WYdd}~XnXg}d}d}g}f}i}f}i}	|j|jk	rx|j|d<x|jjD]}
|
j}|
j	}|t
kr|j|nv|tkr|j||
j
|
jk	r||
j
f7}nJ|tkr|}n<|tkr|j||
j
|
jk	r|
j
|	|<n|tkr|}|
j|
jk	r|
j||<qW|	sBd}	|sLd}t||||||	|S)NF)follow_wrapper_chainsskip_bound_argsigclszunsupported callablereturn)_signature_from_callable	Signaturerbrreturn_annotationempty
parametersvaluesrirD_POSITIONAL_ONLYrN_POSITIONAL_OR_KEYWORDdefault_VAR_POSITIONAL
_KEYWORD_ONLY_VAR_KEYWORD
annotationr)
rvsigexrrr
r	rannotations
kwdefaultsparamrirDr
r
rrAsT





rArgInfozargs varargs keywords localscCs t|j\}}}t||||jS)N)rrr4f_locals)framerrr
r
r
rgetargvaluessr7cCsVt|dddkr t|jddSt|trN|jd|fkr>|jS|jd|jSt|S)NrZtypingztyping.rrr})rBreprreplacer	rrr)r.Zbase_moduler
r
rformatannotations
r:cst|ddfdd}|S)Nrcs
t|S)N)r:)r.)rr
r_formatannotationsz5formatannotationrelativeto.<locals>._formatannotation)rB)rr;r
)rrformatannotationrelativetosr<cCsd|S)N*r
)rDr
r
rrHsrHcCsd|S)Nz**r
)rDr
r
rrHscCsdt|S)N=)r8)rEr
r
rrHscCsd|S)Nz -> r
)textr
r
rrHsc
s(fdd}
g}|r(t|t|}xFt|D]:\}}|
|}|rb||krb||
|||}|j|q2W|dk	r|j||
|n|r|jd|rx:|D]2}|
|}|r||kr||
||7}|j|qW|dk	r|j|	|
|ddj|d}dkr$||d7}|S)Ncs(|}|kr$|d|7}|S)Nz: r
)argrf)r1r:	formatargr
rformatargandannotationsz-formatargspec.<locals>.formatargandannotationr=rz, rr!)rs	enumeraterNr)rrr
rr	rr1rA
formatvarargsformatvarkwformatvalueZ
formatreturnsr:rBspecsZfirstdefaultrr@specZ	kwonlyargrfr
)r1r:rAr
formatargspecs2


rIcCsd|S)Nr=r
)rDr
r
rrHscCsd|S)Nz**r
)rDr
r
rrHscCsdt|S)Nr>)r8)rEr
r
rrHscCs|||fdd}g}	x&tt|D]}
|	j|||
q"W|rZ|	j||||||rx|	j|||||ddj|	dS)NcSs|||||S)Nr
)rDlocalsrArFr
r
rconvertsz formatargvalues.<locals>.convertrz, r)rrsrNr)rrr
rJrArDrErFrKrGrr
r
rformatargvaluessrLcsfdd|D}t|}|dkr,|d}n>|dkr@dj|}n*dj|dd}|dd=dj||}td	|||rzd
nd|dkrdnd
|fdS)Ncsg|]}|krt|qSr
)r8)rZrD)r'r
rr\sz&_missing_arguments.<locals>.<listcomp>rrrz	{} and {}z, {} and {}z, z*%s() missing %i required %s argument%s: %s
positionalzkeyword-onlyrrrN)rsrurr)f_nameZargnamesposr'rUmissingrtailr
)r'r_missing_argumentss


rSc
	st||}tfdd|D}|r:|dk}	d|f}
n2|rTd}	d|t|f}
nt|dk}	tt|}
d}|rd}||dkrd	nd||dkrd	ndf}td
||
|	rd	nd|||dkr|rdndfdS)
Ncsg|]}|kr|qSr
r
)rZr@)r'r
rr\sz_too_many.<locals>.<listcomp>rzat least %dTz
from %d to %drz7 positional argument%s (and %d keyword-only argument%s)rz5%s() takes %s positional argument%s but %d%s %s givenZwasZwere)rsrr)
rOrZkwonlyrZdefcountZgivenr'ZatleastZkwonly_givenZpluralr/Z
kwonly_sigmsgr
)r'r	_too_manys$rUcOs6|d}|dd}t|}|\}}}}}	}
}|j}i}
t|rV|jdk	rV|jf|}t|}t|}|rrt|nd}t||}x t|D]}|||
||<qW|rt||d|
|<t||	}|ri|
|<xd|j	D]X\}}||kr|st
d||f||
||<q||
kr,t
d||f||
|<qW||kr^|r^t|||	||||
||kr|d||}x&|D]}||
kr~t||d|
q~Wx8t
|||dD] \}}||
kr|||
|<qWd}x>|	D]6}||
kr|
r||
kr|
||
|<n|d7}qW|r2t||	d|
|
S)Nrrz*%s() got an unexpected keyword argument %rz(%s() got multiple values for argument %rTF)rrrrrsrrrarKrArrUrSrC)Zfunc_and_positionalZnamedrvrMrHrrr
rr	rrrOZ	arg2valueZnum_posZnum_argsZnum_defaultsnrZpossible_kwargskwrEZreqr@rQkwargr
r
rgetcallargs!sd








rYClosureVarsz"nonlocals globals builtins unboundc	Cst|r|j}t|s$tdj||j}|jdkr:i}nddt|j|jD}|j	}|j
dtj}t
|rt|j}i}i}t}xn|jD]d}|dkrqy||||<Wqtk
ry||||<Wntk
r|j|YnXYqXqWt||||S)	Nz'{!r}' is not a Python functioncSsi|]\}}|j|qSr
)
cell_contents)rZvarZcellr
r
r
<dictcomp>vsz"getclosurevars.<locals>.<dictcomp>__builtins__NoneTrueFalse)r_r`ra)rrrrrur!__closure__zipco_freevars__globals__rrr@rrKco_namesKeyErrorrPrZ)	rvcodeZ
nonlocal_varsZ	global_nsZ
builtin_nsZglobal_varsZbuiltin_varsZ
unbound_namesrDr
r
rgetclosurevarsas8	
ri	Tracebackz+filename lineno function code_context indexcCst|r|j}|j}n|j}t|s2tdj|t|p@t|}|dkr|d|d}yt	|\}}Wnt
k
rd}}YqXtdt|t
||}||||}|d|}nd}}t|||jj||S)Nz'{!r} is not a frame or traceback objectrrr)r2	tb_linenorf_linenor4rrurrrrmaxrrsrjrr)r6contextlinenorrrrindexr
r
rgetframeinfos$rqcCs|jS)N)rl)r6r
r
r	getlinenosrr	FrameInfor6cCs6g}x,|r0|ft||}|jt||j}qW|S)N)rqrNrsf_back)r6rn	framelist	frameinfor
r
rgetouterframess
rwcCs8g}x.|r2|jft||}|jt||j}qW|S)N)rrqrNrstb_next)tbrnrurvr
r
rgetinnerframess
rzcCsttdrtjdSdS)N	_getframer)rrqr{r
r
r
rcurrentframesr|cCsttjd|S)Nr)rwrqr{)rnr
r
rstacksr}cCsttjd|S)Nr)rzrqexc_info)rnr
r
rtracesrcCstjdj|S)Nrk)rr@r)klassr
r
r_static_getmrosrcCs8i}ytj|d}Wntk
r(YnXtj||tS)Nr@)r__getattribute__rOdictr	_sentinel)rhattrZ
instance_dictr
r
r_check_instancesrcCsFx@t|D]4}tt|tkr
y
|j|Stk
r<Yq
Xq
WtS)N)r_shadowed_dictrrr@rg)rrentryr
r
r_check_classs

rcCs&yt|Wntk
r dSXdS)NFT)rr)rhr
r
r_is_types
rcCsntjd}x^t|D]R}y|j|d}Wntk
r>YqXt|tjko`|jdko`|j|ks|SqWt	S)Nr@)
rr@rrrgr
rrr]r)r	dict_attrrZ
class_dictr
r
rrs


rcCst}t|s>t|}t|}|tks2t|tjkrBt||}n|}t||}|tk	r|tk	rtt|dtk	rtt|dtk	r|S|tk	r|S|tk	r|S||krxDtt|D]4}tt|tkry
|j	|St
k
rYqXqW|tk	r|St|dS)Nrr)rrrrr
rrrrr@rgrO)rhrr*Zinstance_resultrrZklass_resultrr
r
rgetattr_statics6


rGEN_CREATEDGEN_RUNNING
GEN_SUSPENDED
GEN_CLOSEDcCs,|jr
tS|jdkrtS|jjdkr(tStS)Nrr~)
gi_runningrgi_framerf_lastirr)	generatorr
r
rgetgeneratorstateGs	
rcCs:t|stdj|t|dd}|dk	r2|jjSiSdS)Nz '{!r}' is not a Python generatorr)r)rrurBrr5)rr6r
r
rgetgeneratorlocalsYsrCORO_CREATEDCORO_RUNNINGCORO_SUSPENDEDCORO_CLOSEDcCs,|jr
tS|jdkrtS|jjdkr(tStS)Nrr~)
cr_runningrcr_framerrrr)	coroutiner
r
rgetcoroutinestateqs	
rcCs"t|dd}|dk	r|jSiSdS)Nr)rBr5)rr6r
r
rgetcoroutinelocalssr
from_bytescCs6yt||}Wntk
r"dSXt|ts2|SdS)N)rBrOr	_NonUserDefinedCallables)r[Zmethod_namemethr
r
r"_signature_get_user_defined_methods
rcCs|j}t|j}|jpf}|jp$i}|r2||}y|j||}Wn6tk
rx}zdj|}	t|	|WYdd}~XnXd}
x
|jD]\}}y|j	|}
Wnt
k
rYnlX|jtkr|j
|q|jtkr||krd}
|j|
d||<n|j
|jq|jtkr"|j|
d||<|
r|jtkrV||jtd}|||<|j|q|jttfkrr|j|q|jtkr|j
|jqW|j|jdS)Nz+partial object {!r} has incorrect argumentsFT)r*)ri)r&)r&rrArkeywordsbind_partialrrurt	argumentsrgrir(rr)r9rDr,move_to_endr-r+r')wrapped_sigpartialZ
extra_argsZ
old_params
new_paramsZpartial_argsZpartial_keywordsZbar0rTZtransform_to_kwonly
param_namer3Z	arg_valueZ	new_paramr
r
r_signature_get_partialsL






rcCsnt|jj}|s&|djttfkr.td|dj}|ttfkrR|dd}n|t	k	rbtd|j
|dS)Nrzinvalid method signaturerzinvalid argument type)r&)rar&r'rir-r,rtr)r(r+r9)r/paramsrir
r
r_signature_bound_methods
rcCs&t|p$t|p$t|tp$|ttfkS)N)r8rr	rrr)rhr
r
r_signature_is_builtins
rcCst|st|rdSt|dd}t|dd}t|dt}t|dt}t|dd}t|tjot|to|dkszt|to|dkst|t	ot|t	S)NFrr!__defaults____kwdefaults____annotations__)
callablerrB_voidr	r
r5rrar)rhrDrhrr2r1r
r
r_signature_is_functionlike!s
rcCs<|jd}|dkr|jd}|jd}|jd}|d|S)N,rr:r>rr~)find)rHrPZcposr
r
r_signature_get_bound_param:s




rcCs$|s|ddfSd}d}dd|jdD}t|j}tj|}d}d}g}|j}	d}
tj}tj}t|}
x|D]}
|
j	|
j
}}||kr|dkr|rd}qnd}|
d7}
qn|d	krd}|
d}qn||kr|d
kr|
}qn|rd}||ko|dks|	d|	||dkrn|	d
qnWdj|}|||fS)NcSsg|]}|jdqS)ascii)encode)rZlr
r
rr\dsz6_signature_strip_non_python_syntax.<locals>.<listcomp>rFrrTr/$rz,  r)rrrrrNrOP
ERRORTOKENnextrstringr)	signatureself_parameterlast_positional_onlyrrZtoken_streamZ
delayed_commaZskip_next_commar?rPZcurrent_parameterrrtrrclean_signaturer
r
r"_signature_strip_non_python_syntaxQsP





rTcsV|jt|\}}}d|d}ytj|}Wntk
rFd}YnXt|tjsbtdj||j	d}	gj
td}it|dd}
|
rt
jj|
d}|r|jt
jjddfdd		G	fd
ddtjffdd
	}t|	jj}t|	jj}
tj||
dd}|dk	r8jnjx<ttt|D](\}\}}|||||krPjqPW|	jjrj||	jjjx*t|	jj |	jj!D]\}}|||qW|	jj"rj#||	jj"|dk	rHt|dd}|dk	}t$|}|r.|s"|r.j%dndj&jd}|d<||j
dS)Nzdef fooz: passz"{!r} builtin has invalid signaturerrcSs|jdkrtd|jS)Nz'Annotations are not currently supported)r.rtr@)noder
r
r
parse_names
z&_signature_fromstr.<locals>.parse_namecsyt|}Wn>tk
rLyt|}Wntk
rFtYnXYnXt|trbtj|St|ttfrztj	|St|t
rtj|S|dkrtj|StdS)NTF)TFN)
eval	NameErrorRuntimeErrorr	rastZStrintfloatZNumbytesZBytesZNameConstant)rrE)module_dictsys_module_dictr
r
wrap_values 





z&_signature_fromstr.<locals>.wrap_valuecs$eZdZfddZfddZdS)z,_signature_fromstr.<locals>.RewriteSymbolicscs`g}|}x"t|tjr*|j|j|j}q
Wt|tjs>t|j|jdj	t
|}|S)Nr})r	rrYrNrrENamerrprreversed)rrarVrE)rr
rvisit_Attributes
z<_signature_fromstr.<locals>.RewriteSymbolics.visit_Attributecst|jtjst|jS)N)r	ZctxrZLoadrtrp)rr)rr
r
visit_Namesz7_signature_fromstr.<locals>.RewriteSymbolics.visit_NameN)rrrrrr
)rr
rRewriteSymbolicssrcs|}|krdS|rp|tk	rpyj|}tj|}Wntk
rR}YnX|kr`dS|k	rl|n|}j||ddS)N)r*r.)_emptyZvisitrZliteral_evalrtrN)Z	name_nodeZdefault_noder*rDo)	Parameterrr%invalidrir&rr
rps
z_signature_fromstr.<locals>.p)	fillvaluer)ri)r$)'_parameter_clsrrparseSyntaxErrorr	ZModulertruZbodyr%rrBrqrrr@copyZNodeTransformerrrr	itertoolszip_longestPOSITIONAL_ONLYPOSITIONAL_OR_KEYWORDrCrZvarargVAR_POSITIONALKEYWORD_ONLYrcr	Zkw_defaultsrXVAR_KEYWORDrrr9)r[rhrrrrrZprogramrrnZmodule_namerrrrrrDr*_selfZself_isboundZ
self_ismoduler
)
rrr%rrirr&rrrr_signature_fromstrsj








rcCsBt|stdj|t|dd}|s4tdj|t||||S)Nz%{!r} is not a Python builtin function__text_signature__z#no signature found for builtin {!r})rrrurBrtr)r[rvrrr
r
r_signature_from_builtin&srcCsd}t|s(t|rd}ntdj||j}|j}|j}|j}t|d|}|j	}||||}	|j
}
|j}|j}|rt
|}
nd}
g}||
}x4|d|D]$}|
j|t}|j|||tdqWxBt||dD].\}}|
j|t}|j|||t||dqW|jt@rH|||}|
j|t}|j|||tdxJ|	D]B}t}|dk	rl|j|t}|
j|t}|j|||t|dqNW|jt@r||}|jt@r|d7}||}|
j|t}|j|||td|||
jdt|d	S)
NFTz{!r} is not a Python functionr)r.ri)r.rir*rr!)r$__validate_parameters__)rrrrurr!rr
rarrrrrsrrrNr)rCr"rr+r,rr-)r[rvZis_duck_functionrZ	func_codeZ	pos_countZ	arg_namesrMZkeyword_only_countZkeyword_onlyr1rr2Zpos_default_countr&Znon_default_countrDr.offsetr*rpr
r
r_signature_from_function6sj










r)rrc!Cst|stdj|t|tjrDt|j|||d}|r@t|S|S|rtt	|ddd}t|tjrtt||||dSy
|j
}Wntk
rYn&X|dk	rt|tstdj||Sy
|j
}Wntk
rYnvXt|tjrLt|j|||d}t||d}t|jjd}|jtjkr(|St|jj}|f|}	|j|	dSt|s`t|rjt||St|rt|||d	St|tjrt|j|||d}t||Sd}t|trt t|d
}
|
dk	rt|
|||d}nJt |d}|dk	rt||||d}n$t |d}|dk	r0t||||d}|dkr:xL|j!ddD]:}
y
|
j"}Wntk
rnYnX|rJt#|||SqJWt|j!kr:|j$t%j$kr|j&t%j&krt't%St(dj|nrt|t)s:t t|d
}
|
dk	r:yt|
|||d}Wn8t(k
r8}zdj|}t(||WYdd}~XnX|dk	rV|rRt|S|St|tj*rvdj|}t(|t(dj|dS)Nz{!r} is not a callable object)rrr cSs
t|dS)N
__signature__)r)rnr
r
rrHsz*_signature_from_callable.<locals>.<lambda>)rlz1unexpected object {!r} in __signature__ attributer)r&)r__call____new__rrz(no signature found for builtin type {!r}zno signature found for {!r}z,no signature found for builtin function {!r}z+callable {!r} is not supported by signature)Nr~)+rrrur	r
rr"rrrxrrOr#_partialmethod	functools
partialmethodrvrrar&r'rirrr9rrrrrrrrrkrrrrrrrtrr7)rhrrr r/rrZfirst_wrapped_paramZ
sig_paramsrZcallnewZinitrFZtext_sigr0rTr
r
rr"s	



















r"c@seZdZdS)rN)rrrr
r
r
rrP	src@seZdZdS)rN)rrrr
r
r
rrT	src@s(eZdZdZdZdZdZdZddZdS)	_ParameterKindrrrcCs|jS)N)_name_)rr
r
r__str___	sz_ParameterKind.__str__N)	rrrrrrrrrr
r
r
rrX	srzpositional-onlyzpositional or keywordzvariadic positionalzkeyword-onlyzvariadic keywordc@seZdZd ZeZeZeZ	e
ZeZ
eZeedddZdd	Zd
dZedd
ZeddZeddZeddZeeeedddZddZddZddZddZdS)!r_name_kind_default_annotation)r*r.cCs"yt||_Wn$tk
r2td|dYnX|tk	rf|jttfkrfd}|jt|j}t|||_||_	|tkrtdt
|tsdjt|j
}t||ddko|ddjr|jtkrd	}|jt|j}t|t|_d
j|dd}|jstdj|||_dS)Nzvalue z is not a valid Parameter.kindz({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {}rr}rzLimplicit arguments must be passed as positional or keyword arguments, not {}z
implicit{}z"{!r} is not a valid parameter name)rrrtrr+r-ru_get_paramkind_descrrrr	rrrrisdigitr)r(isidentifierr)rrDrir*r.rTr
r
rr	s4


zParameter.__init__cCs t||j|jf|j|jdfS)N)rr)rrrrr)rr
r
r
__reduce__	s
zParameter.__reduce__cCs|d|_|d|_dS)Nrr)rr)rstater
r
r__setstate__	s
zParameter.__setstate__cCs|jS)N)r)rr
r
rrD	szParameter.namecCs|jS)N)r)rr
r
rr*	szParameter.defaultcCs|jS)N)r)rr
r
rr.	szParameter.annotationcCs|jS)N)r)rr
r
rri	szParameter.kind)rDrir.r*cCsL|tkr|j}|tkr|j}|tkr*|j}|tkr8|j}t|||||dS)N)r*r.)rrrrrr)rrDrir.r*r
r
rr9	szParameter.replacecCsj|j}|j}|jtk	r(dj|t|j}|jtk	rDdj|t|j}|tkrVd|}n|t	krfd|}|S)Nz{}:{}z{}={}r=z**)
rirrrrur:rr8r+r-)rri	formattedr
r
rr	s


zParameter.__str__cCsdj|jj|S)Nz	<{} "{}">)rurr)rr
r
r__repr__	szParameter.__repr__cCst|j|j|j|jfS)N)hashrDrir.r*)rr
r
r__hash__	szParameter.__hash__cCsJ||krdSt|tstS|j|jkoH|j|jkoH|j|jkoH|j|jkS)NT)r	rNotImplementedrrrr)rotherr
r
r__eq__
s
zParameter.__eq__N)rrrr)rrr	__slots__r(rr)rr+rr,rr-rrr%rrr	r^rDr*r.rirr9rrr
rr
r
r
rrt	s((rc@sdeZdZdZddZeddZedd	Zed
dZdd
Z	ddZ
ddZddZddZ
dS)BoundArgumentsr
_signature__weakref__cCs||_||_dS)N)rr)rrrr
r
rr
szBoundArguments.__init__cCs|jS)N)r)rr
r
rr#
szBoundArguments.signaturecCs|g}xn|jjjD]^\}}|jttfkr*Py|j|}Wntk
rNPYqX|jtkrf|j	|q|j
|qWt|S)N)rr&rArir-r,rrgr+extendrNra)rrrr3r@r
r
rr'
s
zBoundArguments.argscCsi}d}x|jjjD]x\}}|sF|jttfkr6d}n||jkrFd}q|sLqy|j|}Wntk
rnYqX|jtkr|j|q|||<qW|S)NFT)	rr&rArir-r,rrgupdate)rkwargsZkwargs_startedrr3r@r
r
rr>
s&

zBoundArguments.kwargscCs|j}g}x|jjjD]v\}}y|j|||fWqtk
r|jtk	rX|j}n"|jt	krhf}n|jt
krxi}nw|j||fYqXqWt||_dS)N)rrr&rArNrgr*rrir+r-r)rrZ
new_argumentsrDr3valr
r
rapply_defaults\
s	


zBoundArguments.apply_defaultscCs2||krdSt|tstS|j|jko0|j|jkS)NT)r	rrrr)rrr
r
rrx
s
zBoundArguments.__eq__cCs|d|_|d|_dS)Nrr)rr)rrr
r
rr	
s
zBoundArguments.__setstate__cCs|j|jdS)N)rr)rr)rr
r
r__getstate__
szBoundArguments.__getstate__cCsDg}x(|jjD]\}}|jdj||qWdj|jjdj|S)Nz{}={!r}z	<{} ({})>z, )rrArNrurrr)rrr@rEr
r
rr
szBoundArguments.__repr__N)rrr)rrrrrr^rrrrrr	rrr
r
r
rr
src@seZdZd,ZeZeZeZ	d-eddddZ
edd	Zed
dZ
eddd
dZeddZeddZeedddZddZddZddZddddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+ZdS).r#_return_annotation_parametersNT)r$rcCs|dkrt}n|rt}t}d}xt|D]\}}|j}	|j}
|	|krjd}|jt|t|	}t|n|	|krzd}|	}|	ttfkr|j	t
kr|rd}t|nd}|
|krdj|
}t||||
<q,Wntdd|D}tj||_
||_dS)NFz7wrong parameter order: {} parameter before {} parameterz-non-default argument follows default argumentTzduplicate parameter name: {!r}css|]}|j|fVqdS)N)rD)rZr3r
r
rr
sz%Signature.__init__.<locals>.<genexpr>)rr(rCrirDrurrtr)r*rr
MappingProxyTyperr)rr&r$rrZtop_kindZ
kind_defaultsidxr3rirDrTr
r
rr
s>






zSignature.__init__cCstjdtddt||S)Nz_inspect.Signature.from_function() is deprecated since Python 3.5, use Signature.from_callable()r)r)rrrr)r[rvr
r
r
from_function
s
zSignature.from_functioncCstjdtddt||S)Nz^inspect.Signature.from_builtin() is deprecated since Python 3.5, use Signature.from_callable()r)r)rrrr)r[rvr
r
rfrom_builtin
s
zSignature.from_builtin)follow_wrappedcCst|||dS)N)r r)r")r[rhr!r
r
r
from_callable
szSignature.from_callablecCs|jS)N)r)rr
r
rr&szSignature.parameterscCs|jS)N)r)rr
r
rr$szSignature.return_annotation)r&r$cCs0|tkr|jj}|tkr |j}t|||dS)N)r$)rr&r'rr)rr&r$r
r
rr9	s
zSignature.replacecCs8tdd|jjD}dd|jjD}|||jfS)Ncss|]}|jtkr|VqdS)N)rir,)rZr3r
r
rrsz(Signature._hash_basis.<locals>.<genexpr>cSsi|]}|jtkr||jqSr
)rir,rD)rZr3r
r
rr]sz)Signature._hash_basis.<locals>.<dictcomp>)rar&r'r$)rr
kwo_paramsr
r
r_hash_basisszSignature._hash_basiscCs(|j\}}}t|j}t|||fS)N)r$	frozensetr'r)rrr#r$r
r
rr
!szSignature.__hash__cCs*||krdSt|tstS|j|jkS)NT)r	r#rr$)rrr
r
rr&s

zSignature.__eq__F)rcCst}t|jj}f}t|}xxyt|}Wntk
ryt|}	Wntk
rbPYnX|	jtkrrPn|	j|kr|	jt	krd}
|
j
|	jd}
t|
d|	f}PnH|	jtks|	j
tk	r|	f}Pn*|r|	f}Pnd}
|
j
|	jd}
t|
dYq$Xyt|}	Wn tk
r&tddYq$X|	jttfkrBtdd|	jtkrn|g}|j|t|||	j<P|	j|krtdj
|	jdd|||	j<q$Wd}xtj||D]}	|	jtkr|	}q|	jtkr֐q|	j}
y|j|
}WnHtk
r2|r.|	jtkr.|	j
tkr.tdj
|
ddYn(X|	jt	krRtdj
|	jd|||
<qW|r|dk	r||||j<ntdj
tt|d|j||S)NzA{arg!r} parameter is positional only, but was passed as a keyword)r@z$missing a required argument: {arg!r}ztoo many positional argumentsz$multiple values for argument {arg!r}z*got an unexpected keyword argument {arg!r})rrr&r'r
StopIterationrir+rDr(rurr-r*rr,rrarchainrrg_bound_arguments_cls)rrrrrr&Z
parameters_exZarg_valsZarg_valr3rTr'Zkwargs_paramrr
r
r_bind-s







zSignature._bindcOs|dj|dd|S)Nrr)r))rrr
r
rbindszSignature.bindcOs|dj|dd|ddS)NrrT)r)r))rrr
r
rrszSignature.bind_partialcCs t|t|jjfd|jifS)Nr)rrarr'r)rr
r
rrszSignature.__reduce__cCs|d|_dS)Nr)r)rrr
r
rr	szSignature.__setstate__cCsdj|jj|S)Nz<{} {}>)rurr)rr
r
rrszSignature.__repr__c	Csg}d}d}xr|jjD]d}t|}|j}|tkr8d}n|rJ|jdd}|tkrXd}n|tkrr|rr|jdd}|j|qW|r|jddjdj	|}|j
tk	rt|j
}|dj|7}|S)NFTrr=z({})z, z -> {})
r&r'rrir(rNr+r,rurr$rr:)	rrfZrender_pos_only_separatorZrender_kw_only_separatorr3r
riZrenderedZannor
r
rrs0




zSignature.__str__)rr)N)rrrrrrrr(rr%rrerr r"r^r&r$rr9r$r
rr)r*rrr	rrr
r
r
rr#
s06	r#)r!cCstj||dS)N)r!)r#r")rhr!r
r
rrsrcCsddl}ddl}|j}|jddd|jddddd	|j}|j}|jd
\}}}y|j|}}	WnLtk
r}
z0dj	|t
|
j|
}t|t
jdtd
WYdd}
~
XnX|r|jd}|	}x|D]}
t||
}qW|	jt
jkrtdt
jdtd|jrtdj	|tdj	t|	tdj	|	j||	krxtdj	t|	jt|	drtdj	|	jn6yt|\}}Wntk
rYnXtdj	|tdntt|dS)NrrzCThe object to be analysed. It supports the 'module:qualname' syntax)helpz-dz	--details
store_truez9Display info about the module rather than its source code)actionr+rzFailed to import {} ({}: {}))rrr}z#Can't get info for builtin modules.rz
Target: {}z
Origin: {}z
Cached: {}z
Loader: {}__path__zSubmodule search path: {}zLine: {}r)argparserArgumentParseradd_argument
parse_argsr	partition
import_modulerbrurrprintrqstderrexitrrBbuiltin_module_namesZdetailsr
__cached__r8rrr.rr)r/rparserrtargetZmod_nameZ	has_attrsZattrsrhrrgrTpartspart__ror
r
r_mainsV



r?r)rri)N)N)N)F)N)r)r6)r)r)r)r)T)T)
__author__r.rZdiscollections.abcr-enumimportlib.machineryrrrrrrqrrr
rrroperatorrrrglobalsZmod_dictZCOMPILER_FLAG_NAMESrArVrWr=rrrrrrrrrr#r$r%r'r)r+r0r2r4r6r8r9rGrXrYrjrJrxr|rrrrrrrrrrrrrrbrrrrrrrrrrrrrrr4r7r:r<rrIrLrSrUrYrZrirjrqrr_fieldsrsrwrzr|r}rrrrrrrrrrrrrrrrrrrrrrrZ_WrapperDescriptorallZ_MethodWrapperrr@Z_ClassMethodWrapperr7rrrrrrrrrrrr"rrIntEnumrrr(rr)rr+rr,rr-Z_PARAM_NAME_MAPPING__getitem__rrrr#rr?rr
r
r
r<module>sd	



	
	
,
t$
;
	
.I-7





[


	(>
5

 



		0

LHRHk:


OHA YOOOO