PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  lY@sddfZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlmZddlmZmZeZx+ejjD]\ZZeedeZd d Zd d Zd dZ ddZ!ddZ"e#edrddZ$n ddZ$e#edrddZ%n ddZ%ddZ&ddZ'dd Z(d!d"Z)d#d$Z*d%d&Z+d'd(Z,d)d*Z-d+d,Z.d-d.Z/d/d0Z0d1d2Z1dd3d4Z2ed5d6Z3d7d8Z4d9d:Z5d;dd<d=Z6d>d?Z7d@dAZ8dBdCZ9dDdEZ:dFdGZ;dHdIZ<edJdKZ=dLdMZ>dNdOZ?dPdQZ@ddRdSZAiZBiZCddTdUZDdVdWZEdXdYZFGdZd[d[eGZHGd\d]d]ZId^d_ZJd`daZKdbdcZLdddeZMdfdgdhZNedidjZOdkdlZPdmdnZQedodpZRdqdrZSedsdtZTdudvZUedwdxZVdydzZWdd{d|ZXd}d~ZYdddfiieZddddddddeXdd Z[eZddddddddZ\ddZ]ddZ^ddZ_eddZ`ddZaeddZbdddZcddZdeddfebjeZfdddZgdddZhddZidddZjdddZkelZmddZnddZoddZpddZqddZremddZsdZtdZudZvdZwddZxddZydZzdZ{dZ|dZ}ddZ~ddZeejZeejZeejdZeeeejfZddZfddZddZddZddZddZddZdddZdddZddZddddddZGdddZGdddZGdddejZejZejZejZejZejZGdddZGdddZGdddZddddZddZedkredS)zKa-Ping Yee z'Yury Selivanov N) attrgetter) namedtuple OrderedDictZCO_cCst|tjS)N) isinstancetypes ModuleType)objectr &/opt/python35/lib/python3.5/inspect.pyismodule?sr cCs t|tS)N)rtype)r r r r isclassHsrcCst|tjS)N)rr MethodType)r r r r ismethodPsrcCsQt|s$t|s$t|r(dSt|}t|doPt|d S)NF__get____set__)rr isfunctionrhasattr)r tpr r r ismethoddescriptorZs$ rcCsPt|s$t|s$t|r(dSt|}t|doOt|dS)NFrr)rrrrr)r rr r r isdatadescriptorns$ rMemberDescriptorTypecCst|tjS)N)rrr)r r r r ismemberdescriptor~srcCsdS)NFr )r r r r rsGetSetDescriptorTypecCst|tjS)N)rrr)r r r r isgetsetdescriptorsrcCsdS)NFr )r r r r rscCst|tjS)N)rr FunctionType)r r r r rs rcCs,tt|st|o(|jjt@S)N)boolrr__code__co_flagsZ CO_GENERATOR)r r r r isgeneratorfunctionsr!cCs,tt|st|o(|jjt@S)N)rrrrr Z CO_COROUTINE)r r r r iscoroutinefunctionsr"cCst|tjS)N)rr GeneratorType)r r r r isgeneratorsr$cCst|tjS)N)rr CoroutineType)r r r r iscoroutinesr&cCsMt|tjpLt|tjr:t|jjt@pLt|tj j S)N) rrr%r#rgi_coder ZCO_ITERABLE_COROUTINE collectionsabc Awaitable)r r r r isawaitablesr+cCst|tjS)N)rr TracebackType)r r r r istracebacksr-cCst|tjS)N)rr FrameType)r r r r isframes r/cCst|tjS)N)rrCodeType)r r r r iscodesr1cCst|tjS)N)rrBuiltinFunctionType)r r r r isbuiltinsr3cCs.t|p-t|p-t|p-t|S)N)r3rrr)r r r r isroutines   r4cCs tt|to|jt@S)N)rrr __flags__TPFLAGS_IS_ABSTRACT)r r r r isabstractsr7c Csxt|r"|ft|}nf}g}t}t|}yWxP|jD]E}x<|jjD]+\}}t|tj rf|j |qfWqPWWnt k rYnXx|D]} y%t || } | |krt WnCt k r&x.|D]#}| |jkr|j| } PqWwYnX| s:|| rM|j | | f|j | qW|jddd|S)NkeycSs|dS)Nrr )Zpairr r r Eszgetmembers..)rgetmrosetdir __bases____dict__itemsrrDynamicClassAttributeappendAttributeErrorgetattraddsort) r predicatemroresults processednamesbasekvr8valuer r r getmemberss:          rO Attributezname kind defining_class objectcCst|}tt|}tdd|D}|f|}||}t|}xM|D]E}x<|jjD]+\}}t|tjrw|j |qwWqaWg} t } xF|D]>} d} d} d}| | kry+| dkrt dt || } Wn%t k r6}zWYdd}~XnXt | d| } | |krd} d}x2|D]*}t || d}|| krh|}qhWxN|D]F}y|j || }Wntk rwYnX|| kr|}qW|dk r|} x=|D]5}| |jkr|j| }| |kr4|} PqW| dkrHq| dk rZ| n|}t|tr~d}|}nWt|trd}|}n9t|trd}|}nt|rd }nd }| j t| || || j| qW| S) NcSs(g|]}|ttfkr|qSr )rr ).0clsr r r gs z(classify_class_attrs..r>z)__dict__ is special, don't want the proxy __objclass__z static methodz class methodpropertymethoddata)r:rtupler<r>r?rrr@rAr; ExceptionrC __getattr__rB staticmethod classmethodrUr4rPrD)rRrGZmetamroZ class_basesZ all_basesrJrKrLrMresultrInameZhomeclsZget_objZdict_objexcZlast_clsZsrch_clsZsrch_objobjkindr r r classify_class_attrsJs                            rbcCs|jS)N)__mro__)rRr r r r:sr:stopcsdkrdd}nfdd}|}t|h}xS||r|j}t|}||krtdj||j|qEW|S)NcSs t|dS)N __wrapped__)r)fr r r _is_wrapperszunwrap.._is_wrappercst|do| S)Nre)r)rf)rdr r rgsz!wrapper loop when unwrapping {!r})idre ValueErrorformatrD)funcrdrgrfmemoZid_funcr )rdr unwraps    rmcCs&|j}t|t|jS)N) expandtabslenlstrip)lineZexpliner r r indentsizes rrcCsotjj|j}|dkr%dSx3|jjdddD]}t||}qBWt|skdS|S)N.r)sysmodulesget __module__ __qualname__splitrCr)rkrRr^r r r _findclasss # r{c Csbt|rexR|jD]G}|tk ry |j}Wntk rLwYnX|dk r|SqWdSt|r|jj}|j}t|rt t ||dd|jkr|}q |j }nAt |r|j}t |}|dks t |||k r dSnt |rm|j}|j}t|ra|jd||jkra|}q |j }nt|tr|j}|j}t |}|dkst |||k r dSnJt|st|r|j}|j}t |||k r dSndSxO|jD]D}yt ||j}Wntk rIwYnX|dk r|SqWdS)N__func__rs)rrcr __doc__rBrr|__name____self__rC __class__rr{r3ryrrUfgetrrrT)r`rKdocr^selfrRrkr r r _finddocsb         $     !         !    rcCs~y |j}Wntk r%dSYnX|dkrayt|}Wnttfk r`dSYnXt|tstdSt|S)N)r}rBr TypeErrorrstrcleandoc)r rr r r getdoc/s     rc CsFy|jjd}Wntk r1dSYnXtj}xO|ddD]=}t|j}|rLt||}t||}qLW|r|dj|d<|tjkrx5tdt|D]}|||d||.) warningswarnDeprecationWarningcatch_warnings simplefilterPendingDeprecationWarningimpospathbasenameZ get_suffixesrEr)rrfilenamesuffixesneglenrrrr r r getmoduleinfozs    rcCsptjj|}ddtjjD}|jx1|D])\}}|j|r?|d|Sq?WdS)NcSs#g|]}t| |fqSr )ro)rQrr r r rSs z!getmodulename..)rrr importlib machinery all_suffixesrEendswith)rZfnamerrrr r r getmodulenames  rcst|tjjdd}|tjjdd7}tfdd|Drtjjdtjj dn)tfddtjj DrdStjj rSt t |dddk rStjkrSdS)Nc3s|]}j|VqdS)N)r)rQs)rr r sz getsourcefile..rc3s|]}j|VqdS)N)r)rQr)rr r rs __loader__)rrrDEBUG_BYTECODE_SUFFIXESOPTIMIZED_BYTECODE_SUFFIXESanyrrsplitextSOURCE_SUFFIXESEXTENSION_SUFFIXESexistsrC getmodule linecachecache)r Zall_bytecode_suffixesr )rr getsourcefiles !rcCs@|dkr$t|p!t|}tjjtjj|S)N)rrrrnormcaseabspath)r _filenamer r r getabsfiles rc Cst|r|St|dr2tjj|jS|dk r^|tkr^tjjt|Syt||}Wntk rdSYnX|tkrtjjt|Sxt tjj D]\}}t|rt|dr|j }|t j|dkr q|t |||fS|j|jd |fqW|r|j||dd fStd t|r|j}t|r|j}t|r|j}t|r|j}t|r^t|d std |jd } t jd }x.| dkrS|j|| rFP| d } q&W|| 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)|(.*(?r rr~recompilerromatchrAgrouprErr|rrr-rr/rr1rr) r rrrr^patZ candidatesrrlnumr r r findsources^                        rc Csyt|\}}Wnttfk r4dSYnXt|rBd}|rm|ddddkrmd}x6|t|kr||jdkr|d}qpW|t|kr||dddkrg}|}xQ|t|kr1||dddkr1|j||j|d}qWdj|Sn|dkrt ||}|d}|dkr||j dddkrt |||kr||jj g}|dkrb|d}||jj }xp|dddkrat |||kra|g|dd<|d}|dkrHP||jj }qWx0|r|djdkrg|dd._formatannotation)rC)r r=r )rr formatannotationrelativetosr>cCsd|S)N*r )r^r r r r9sr9cCsd|S)Nz**r )r^r r r r9scCsdt|S)N=)r:)rNr r r r9scCsd|S)Nz -> r )textr r r r9sc sfdd} g}|r:t|t|}x]t|D]O\}}| |}|r||kr|| |||}|j|qGW|dk r|j|| |n|r|jd|r+xM|D]E}| |}|r||kr|| ||7}|j|qW|dk rP|j| | |ddj|d}dkr|| d7}|S)Ncs4|}|kr0|d|7}|S)Nz: r )argr])r3r< formatargr r formatargandannotations  z-formatargspec..formatargandannotationr?rz, rr#)ro enumeraterAr)r r rrrrr3rC formatvarargs formatvarkw formatvalueZ formatreturnsr<rDspecsZ firstdefaultrrBspecZ kwonlyargr]r )r3r<rCr formatargspecs2       rKcCsd|S)Nr?r )r^r r r r9scCsd|S)Nz**r )r^r r r r9scCsdt|S)Nr@)r:)rNr r r r9sc Cs|||dd}g} x1tt|D]} | j||| q.W|rv| j||||||r| j|||||ddj| dS)NcSs|||||S)Nr )r^localsrCrHr r r convertsz formatargvalues..convertrz, r)rrorAr) r r rrLrCrFrGrHrMrIrr r r formatargvaluess !!rNcsfdd|D}t|}|dkr>|d}nW|dkr\dj|}n9dj|dd}|dd=dj||}td |||rd nd |dkrd nd |fdS)Ncs(g|]}|krt|qSr )r:)rQr^)r)r r rSs z&_missing_arguments..rrrz {} and {}z , {} and {}z, z*%s() missing %i required %s argument%s: %s positionalz keyword-onlyrrrP)rorjrr)f_nameZargnamesposr)rJmissingrtailr )r)r _missing_argumentss     rUc s.t||}tfdd|D}|rQ|dk} d|f} nI|rvd} d|t|f} n$t|dk} tt|} d} |rd} | |dkrd nd||dkrd ndf} td || | rd nd|| |dkr| rd nd fdS) Ncs"g|]}|kr|qSr r )rQrB)r)r r rSs z_too_many..rz at 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)rorr) rQr Zkwonlyr ZdefcountZgivenr)ZatleastZ kwonly_givenpluralr1Z kwonly_sigmsgr )r)r _too_manys$ rXcOs|d}|dd}t|}|\}}}}} } } |j} i} t|r{|jdk r{|jf|}t|}t|}|rt|nd}t||}x&t|D]}||| ||Ws z"getclosurevars.. __builtins__NoneTrueFalse)rcrdre)rr|rrrjr __closure__zip co_freevars __globals__rwrr>r r;co_namesKeyErrorrDr^) rkcodeZ nonlocal_varsZ global_nsZ builtin_nsZ global_varsZ builtin_varsZ unbound_namesr^r r r getclosurevarsBs8              rm Tracebackz+filename lineno function code_context indexcCs#t|r!|j}|j}n |j}t|sKtdj|t|p`t|}|dkr|d|d}yt |\}}Wnt k rd}}YqXt dt |t ||}||||}|d|}n d}}t|||jj||S)Nz'{!r} is not a frame or traceback objectrrr)r- tb_linenorf_linenor/rrjrrrrmaxrrornrco_name)r8contextlinenorrrrindexr r r getframeinfoys$       " rvcCs|jS)N)rp)r8r r r getlinenosrw FrameInfor8cCsIg}x<|rD|ft||}|jt||j}q W|S)N)rvrArxf_back)r8rs framelist frameinfor r r getouterframess   r|cCsLg}x?|rG|jft||}|jt||j}q W|S)N)rrvrArxtb_next)tbrsrzr{r r r getinnerframess   rcCs ttdrtjdSdS)N _getframer)rrurr r r r currentframesrcCsttjd|S)Nr)r|rur)rsr r r stacksrcCsttjd|S)Nr)rruexc_info)rsr r r tracesrcCstjdj|S)Nrc)rr>r)klassr r r _static_getmrosrc CsDi}ytj|d}Wntk r0YnXtj||tS)Nr>)r __getattribute__rBdictrw _sentinel)r`attrZ instance_dictr r r _check_instances  rc CsWxPt|D]B}tt|tkr y|j|SWq tk rNYq Xq WtS)N)r_shadowed_dictrrr>rk)rrentryr r r _check_classs  rc Cs+yt|Wntk r&dSYnXdS)NFT)rr)r`r r r _is_types   rc Cstjd}xwt|D]i}y|j|d}Wntk rKYqXt|tjko||jdko||j|ks|SqWt S)Nr>) rr>rrrkrrr~rTr)r dict_attrrZ class_dictr r r rs  rc Csit}t|s]t|}t|}|tksKt|tjkrct||}n|}t||}|tk r|tk rtt|dtk rtt|dtk r|S|tk r|S|tk r|S||krIxVtt|D]B}tt|tkry|j |SWqt k rDYqXqW|tk rY|St |dS)Nrr) rrrrrrrrrr>rkrB)r`rr,Zinstance_resultrrZ klass_resultrr r r getattr_statics6           r GEN_CREATED GEN_RUNNING GEN_SUSPENDED GEN_CLOSEDcCs:|jr tS|jdkr tS|jjdkr6tStS)Nrrt) gi_runningrgi_framerf_lastirr) generatorr r r getgeneratorstate(s rcCsQt|s!tdj|t|dd}|dk rI|jjSiSdS)Nz '{!r}' is not a Python generatorr)r$rrjrCrr7)rr8r r r getgeneratorlocals:s    r CORO_CREATED CORO_RUNNINGCORO_SUSPENDED CORO_CLOSEDcCs:|jr tS|jdkr tS|jjdkr6tStS)Nrrt) cr_runningrcr_framerrrr) coroutiner r r getcoroutinestateRs rcCs-t|dd}|dk r%|jSiSdS)Nr)rCr7)rr8r r r getcoroutinelocalsds r from_bytesc CsCyt||}Wntk r+dSYnXt|ts?|SdS)N)rCrBr_NonUserDefinedCallables)rRZ method_namemethr r r "_signature_get_user_defined_methods   rcCs|j}t|j}|jp'f}|jp6i}|rI||}y|j||}WnCtk r}z#dj|} t| |WYdd}~XnXd} xZ|jD]L\} } y|j | } Wnt k rYnX| j t kr |j | q| j tkrV| |krCd} | jd| || .rFrrTr/$rz,  r) rzrrrrArOP ERRORTOKENnextrstringr) signatureself_parameterlast_positional_onlyrrZ token_streamZ delayed_commaZskip_next_commarArDZcurrent_parameterrrtrrclean_signaturer r r "_signature_strip_non_python_syntax2sP                rTcs,|jt|\}}}d|d}ytj|}Wntk rYd}YnXt|tjstdj||j d} gj t d}it |dd} | rt jj| d}|r|jt jddfdd G fd d d tjfd d } t| jj} t| jj} tj| | dd}|dk rjn jxNttt|D]4\}\}}| ||||krjqW| jjr4j| | jjjx6t| jj| jj D]\}}| ||qYW| jj!rj"| | jj!|dk rt |dd}|dk }t#|}|r|s|rj$dn#dj%dj} | d<|d|j S)Nzdef fooz: passz"{!r} builtin has invalid signaturerrxcSs"|jdkrtd|jS)Nz'Annotations are not currently supported)r0rirB)noder r r parse_names z&_signature_fromstr..parse_namecsyt|}WnCtk rXyt|}Wntk rStYnXYnXt|trutj|St|ttfrtj |St|t rtj |S|dkrtj |StdS)NTF)TFN) eval NameError RuntimeErrorrrastZStrintfloatZNumbytesZBytesZ NameConstant)rrN) module_dictsys_module_dictr r wrap_values        z&_signature_fromstr..wrap_valuecs4eZdZfddZfddZdS)z,_signature_fromstr..RewriteSymbolicscsg}|}x/t|tjr=|j|j|j}qWt|tjsYt|j|jdj t |}|S)Nrs) rrrPrArrNNamerrhrreversed)rrarZrN)rr r visit_Attributes  z<_signature_fromstr..RewriteSymbolics.visit_Attributecs+t|jtjst|jS)N)rctxrZLoadrirh)rr)rr r visit_Names z7_signature_fromstr..RewriteSymbolics.visit_NameN)r~rxryrrr )rr r RewriteSymbolicss  rcs|}|krdS|r|tk ry%j|}tj|}Wntk rm}YnX|kr~dS|k r|n|}j|d|ddS)Nr,r0)_emptyZvisitrZ literal_evalrirA)Z name_nodeZ default_noder,r^o) Parameterrr'invalidrar(rr r ps     z_signature_fromstr..p fillvaluerrar&)&_parameter_clsrrparse SyntaxErrorrZModulerirjZbodyr'r rCrurvrwr>ZNodeTransformerrr r itertools zip_longestPOSITIONAL_ONLYPOSITIONAL_OR_KEYWORDrErZvarargVAR_POSITIONAL KEYWORD_ONLYrgrZ kw_defaultsr\ VAR_KEYWORDr rr;)rRr`rr!rrrZprogramrrf module_namerr rrrr^r,_selfZ self_isboundZ self_ismoduler ) rrr'rrarr(rrrr _signature_fromstrzsj         '   +      (      rcCsat|s!tdj|t|dd}|sNtdj|t||||S)Nz%{!r} is not a Python builtin function__text_signature__z#no signature found for builtin {!r})rrrjrCrir)rRrkr!rr r r _signature_from_builtins   rc Csd}t|s<t|r'd}ntdj||j}|j}|j}|j}t|d|}|j }||||} |j } |j } |j } | rt | } nd} g}|| }xI|d|D]7}| j|t}|j||d|dtqWx_t||dD]G\}}| j|t}|j||d|dtd| |q<W|jt@r|||}| j|t}|j||d|dtxi| D]a}t}| dk r| j|t}| j|t}|j||d|dtd|qW|jt@r||}|jt@rm|d7}||}| j|t}|j||d|dt||d | jd td |S) NFTz{!r} is not a Python functionrr0rar,rr&r#__validate_parameters__)rrrrjrrrrrXrrrrrorwrrAr+rEr rr-r.rr/)rRrkZis_duck_functionrZ func_codeZ pos_countZ arg_namesrOZkeyword_only_countZ keyword_onlyr3rr4Zpos_default_countr(Znon_default_countr^r0offsetr,rur r r _signature_from_functionsj            #           rr r!c!Cst|s!tdj|t|tjrht|jd|d|d|}|rdt|S|S|rt |ddd}t|tjrt|d|d|d|Sy |j }Wnt k rYn5X|dk r t|t stdj||Sy |j }Wnt k r+YnXt|tjrt|jd|d|d|}t||d}t|jjd }|jtjkr|St|jj}|f|} |jd | St|st|rt||St|rt||d|St|tjrVt|jd|d|d|}t||Sd}t|trt t|d } | dk rt| d|d|d|}nut |d } | dk rt| d|d|d|}n9t |d } | dk r"t| d|d|d|}|dkrqxS|j!ddD]>} y | j"}Wnt k riYqBX|rBt#|||SqBWt|j!krq|j$t%j$kr|j&t%j&krt't%St(dj|nt|t)sqt t|d } | dk rqy"t| d|d|d|}WnCt(k rp}z#dj|}t(||WYdd}~XnX|dk r|rt|S|St|tj*rdj|}t(|t(dj|dS)Nz{!r} is not a callable objectr r!r"rdcSs t|dS)N __signature__)r)rfr r r r9sz*_signature_from_callable..z1unexpected object {!r} in __signature__ attributerr(__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)Nrt)+rrrjrrrr$r|rrmrrBr%_partialmethod functools partialmethodrkrrXr(r)rarrr;rrrrrrrrrcrrrr rrrirr2)r`r r!r"r1rrZfirst_wrapped_paramZ sig_paramsrcallnewZinitrKZtext_sigr2rWr r r r$hs                               "   r$c@seZdZdS)rN)r~rxryr r r r r0 s rc@seZdZdS)rN)r~rxryr r r r r4 s rc@s:eZdZdZdZdZdZdZddZdS) _ParameterKindrrrcCs|jS)N)_name_)rr r r __str__? sz_ParameterKind.__str__N) r~rxryrrrrrrr r r r r8 s rc @seZdZd"ZeZeZeZ e Z e Z eZdededdZd d Zd d Zed dZeddZeddZeddZdededededdZddZddZddZdd Zd!S)#r_name_kind_default _annotationr,r0cCs|tttttfkr'td||_|tk ri|ttfkridj|}t|||_ ||_ |tkrtdt |t st dj||jstdj|||_dS)Nz,invalid value for 'Parameter.kind' attributez({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {!r}z"{!r} is not a valid parameter name)r*r+r-r.r/rir rrjr r rrr isidentifierr)rr^rar,r0rWr r r rj s"          zParameter.__init__cCs1t||j|jfd|jd|jifS)Nr r )rrr r r )rr r r __reduce__ s  zParameter.__reduce__cCs|d|_|d|_dS)Nr r )r r )rstater r r __setstate__ s zParameter.__setstate__cCs|jS)N)r)rr r r r^ szParameter.namecCs|jS)N)r )rr r r r, szParameter.defaultcCs|jS)N)r )rr r r r0 szParameter.annotationcCs|jS)N)r )rr r r ra szParameter.kindr^racCss|tkr|j}|tkr*|j}|tkr?|j}|tkrT|j}t|||d|d|S)Nr,r0)rrr r r r)rr^rar0r,r r r r; s        zParameter.replacecCs|j}|j}|jtk r<dj|t|j}|jtk rfdj|t|j}|tkrd|}n|t krd|}|S)Nz{}:{}z{}={}r?z**) rarr rrjr<r r:r-r/)rra formattedr r r r s       zParameter.__str__cCsdj|jj|S)Nz <{} "{}">)rjrr~)rr r r __repr__ szParameter.__repr__cCs"t|j|j|j|jfS)N)hashr^rar0r,)rr r r __hash__ szParameter.__hash__cCsi||krdSt|ts#tS|j|jkoh|j|jkoh|j|jkoh|j|jkS)NT)rrNotImplementedrr r r )rotherr r r __eq__ s zParameter.__eq__N)rr r r )r~rxry __slots__r*rr+rr-rr.rr/rrr'rr rrUr^r,r0rarr;rrrrr r r r rJ s(      rc@seZdZdZddZeddZedd Zed d Zd d Z ddZ ddZ ddZ ddZ dS)BoundArgumentsr _signature __weakref__cCs||_||_dS)N)rr)rrrr r r r s zBoundArguments.__init__cCs|jS)N)r)rr r r r szBoundArguments.signaturec Csg}x|jjjD]u\}}|jttfkr;Py|j|}Wntk raPYqX|jtkr|j |q|j |qWt |S)N) rr(r?rar/r.rrkr-extendrArX)rr rr5rBr r r r  s zBoundArguments.argsc Csi}d}x|jjjD]\}}|sg|jttfkrOd}n||jkrgd}q|spqy|j|}Wntk rYqX|jtkr|j|q|||z, )rr?rArjrr~r)rr rBrNr r r rN szBoundArguments.__repr__N)rrr)r~rxryrrrUrr rrrrr rr r r r r s      rc@s9eZdZd-ZeZeZeZ ddeddddZ e d d Z e d d Z e d dddZeddZeddZdededdZddZddZddZdddd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,ZdS).r%_return_annotation _parametersNr&rTc Cs[|dkrt}n$|r#t}t}d}xt|D]\}}|j} |j} | |krd} | j|| } t| n| |krd}| }| ttfkr|jt kr|rd} t| nd}| |krdj| } t| ||| .)rr*rErar^rjrir+r,rrMappingProxyTyper"r!) rr(r&rrZtop_kindZ kind_defaultsidxr5rar^rWr r r rs s<           zSignature.__init__cCs#tjdtddt||S)NzNinspect.Signature.from_function() is deprecated, use Signature.from_callable()rr)rrrr)rRrkr r r from_function s  zSignature.from_functioncCs#tjdtddt||S)NzMinspect.Signature.from_builtin() is deprecated, use Signature.from_callable()rr)rrrr)rRrkr r r from_builtin s  zSignature.from_builtinfollow_wrappedcCst|d|d|S)Nr"r )r$)rRr`r'r r r from_callable szSignature.from_callablecCs|jS)N)r")rr r r r( szSignature.parameterscCs|jS)N)r!)rr r r r& szSignature.return_annotationr(cCsF|tkr|jj}|tkr0|j}t||d|S)Nr&)rr(r)r!r)rr(r&r r r r; s    zSignature.replacecCsNtdd|jjD}dd|jjD}|||jfS)Ncss$|]}|jtkr|VqdS)N)rar.)rQr5r r r r sz(Signature._hash_basis..cSs+i|]!}|jtkr||jqSr )rar.r^)rQr5r r r ra s z)Signature._hash_basis..)rXr(r)r&)rr kwo_paramsr r r _hash_basis s"zSignature._hash_basiscCs:|j\}}}t|j}t|||fS)N)r* frozensetr)r)rrr)r&r r r r szSignature.__hash__cCs9||krdSt|ts#tS|j|jkS)NT)rr%rr*)rrr r r r s  zSignature.__eq__rFcCset}t|jj}f}t|}xyt|}Wntk rMyt|} Wntk rxPYnX| jtkrPn| j|kr| jt krd} | j d| j} t | d| f}Pnh| jt ks| j tk r | f}Pn=|r| f}Pn*d} | j d| j} t | dYq3Xyt|} Wn!tk rt ddYq3X| jt tfkrt dd| jtkr|g} | j|t| || j)rjrr~)rr r r r szSignature.__repr__c Csg}d}d}x|jjD]}t|}|j}|tkrRd}n|rk|jdd}|tkrd}n%|tkr|r|jdd}|j|q"W|r|jddjdj |}|j t k rt |j }|dj|7}|S)NFTrr?z({})z, z -> {}) r(r)rrar*rAr-r.rjrr&rr<) rr]Zrender_pos_only_separatorZrender_kw_only_separatorr5rraZrenderedZannor r r r s0         zSignature.__str__)r!r")r~rxryrrrrr.rr'rr\r%r&r(rUr(r&rr;r*rrr/r0rr rrrr r r r r%U s.  2         r%r'cCstj|d|S)Nr')r%r()r`r'r r r r srcCs^ddl}ddl}|j}|jddd|jdddddd |j}|j}|jd \}}}y|j|}} Wn`tk r} z@d j |t | j | } t | d t jtd WYdd} ~ XnX|r5|jd} | }x| D]} t|| }qW| j t jkrdt dd t jtd|jrJt dj |t dj t| t dj | j|| krt dj t| jt| dr=t dj | jn>yt|\}}Wntk r)YnXt dj |t dnt t|dS)Nrr helpzCThe object to be analysed. It supports the 'module:qualname' syntaxz-dz --detailsaction store_truez9Display info about the module rather than its source coderzFailed to import {} ({}: {})rrrsz#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_modulerYrjrr~printrustderrexitrzrCbuiltin_module_namesZdetailsr __cached__r:rrr4rr)r5rparserr targetZmod_nameZ has_attrsZattrsr`rr_rWpartspart__rtr r r _main sV              rEr) __author__rZdiscollections.abcr(enumZimportlib.machineryrrrrrrurrrrrroperatorrrrglobalsZmod_dictZCOMPILER_FLAG_NAMESr?rLrMr6r rrrrrrrrr!r"r$r&r+r-r/r1r3r4r7rOrPrbr:rmrrr{rrrrrrrrrrrrrrrYrrrrrrrr rr rrrrr6r9r<r>rrKrNrUrXr]r^rmrnrvrw_fieldsrxr|rrrrr rrrrrrrrrrrrrrrrrrrrrZ_WrapperDescriptorallZ_MethodWrapperrr>Z_ClassMethodWrapperr2rrrrrrrrrrrr$rrIntEnumrrr*rr+rr-rr.rr/rrr%rrEr~r r r r sN                                , t !  ;      . I -7      [        )     > 5       0      L    H Q     ` :