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


 \���@s�d�ZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlmZddlmZmZe�Zx"ejj�D]\ZZeede<q�Wd�Zd	d
�Zdd�Z d
d�Z!dd�Z"dd�Z#e$ed��rdd�Z%ndd�Z%e$ed��r2dd�Z&ndd�Z&dd�Z'dd�Z(dd �Z)d!d"�Z*d#d$�Z+d%d&�Z,d'd(�Z-d)d*�Z.d+d,�Z/d-d.�Z0d/d0�Z1d1d2�Z2d3d4�Z3d5d6�Z4d�d7d8�Z5ed9d:�Z6d;d<�Z7d=d>�Z8dd?�d@dA�Z9dBdC�Z:dDdE�Z;dFdG�Z<dHdI�Z=dJdK�Z>dLdM�Z?dNdO�Z@dPdQ�ZAd�dRdS�ZBiZCiZDd�dTdU�ZEdVdW�ZFdXdY�ZGGdZd[�d[eH�ZIGd\d]�d]�ZJd^d_�ZKd`da�ZLdbdc�ZMddde�ZNd�dgdh�ZOedidj�ZPdkdl�ZQdmdn�ZRedodp�ZSdqdr�ZTedsdt�ZUdudv�ZVedwdx�ZWdydz�ZXd�d{d|�ZYd}d~�ZZdddfiie[dd��d�d��d�d��d�d��eYfd�d��Z\e[d�d��d�d��d�d��fd�d��Z]d�d��Z^d�d��Z_d�d��Z`ed�d��Zad�d��Zbed�d��Zcd�d�d��Zdd�d��Zeed�d�ecjf�Zgd�d�d��Zhd�d�d��Zid�d��Zjd�d�d��Zkd�d�d��Zlem�Znd�d��Zod�d��Zpd�d��Zqd�d��Zrd�d��Zsenfd�d��Ztd�Zud�Zvd�Zwd�Zxd�d��Zyd�d��Zzd�Z{d�Z|d�Z}d�Z~d�d��Zd�d„Z�e�e�j��Z�e�e�j��Z�e�e�j�d��Z�e�e�e�ej�fZ�d�dńZ�ffd�dDŽZ�d�dɄZ�d�d˄Z�d�d̈́Z�d�dτZ�d�dфZ��dd�dԄZ��dd�dքZ�d�d؄Z�d�d�dٜd�dۄZ�Gd�d݄d݃Z�Gd�d߄d߃Z�Gd�d�d�ej��Z�e�j�Z�e�j�Z�e�j�Z�e�j�Z�e�j�Z�e�d�e�d�e�d�e�d�e�d�iZ�e�j�Z�Gd�d�d�Z�Gd�d�d�Z�Gd�d�d�Z�d�d�d�d�Z�d�d�Z�e�d�k�r�e��dS(�Ka-Ping Yee <[email protected]>�'Yury Selivanov <[email protected]>�N)�
attrgetter)�
namedtuple�OrderedDictZCO_��cCst|tj�S)N)�
isinstance�types�
ModuleType)�object�r
�/usr/lib64/python3.6/inspect.py�ismodule@srcCs
t|t�S)N)r	�type)rr
r
r�isclassIsrcCst|tj�S)N)r	r
�
MethodType)rr
r
r�ismethodQsrcCs:t|�st|�st|�rdSt|�}t|d�o8t|d�S)NF�__get__�__set__)rr�
isfunctionr�hasattr)r�tpr
r
r�ismethoddescriptor[srcCs8t|�st|�st|�rdSt|�}t|d�o6t|d�S)NFrr)rrrrr)rrr
r
r�isdatadescriptorosr�MemberDescriptorTypecCst|tj�S)N)r	r
r)rr
r
r�ismemberdescriptorsrcCsdS)NFr
)rr
r
rr�s�GetSetDescriptorTypecCst|tj�S)N)r	r
r)rr
r
r�isgetsetdescriptor�srcCsdS)NFr
)rr
r
rr�scCst|tj�S)N)r	r
�FunctionType)rr
r
rr�srcCs tt|�st|�o|jjt@�S)N)�boolrr�__code__�co_flagsZCO_GENERATOR)rr
r
r�isgeneratorfunction�sr#cCs tt|�st|�o|jjt@�S)N)r rrr!r"ZCO_COROUTINE)rr
r
r�iscoroutinefunction�sr$cCs tt|�st|�o|jjt@�S)N)r rrr!r"ZCO_ASYNC_GENERATOR)rr
r
r�isasyncgenfunction�sr%cCst|tj�S)N)r	r
�AsyncGeneratorType)rr
r
r�
isasyncgen�sr'cCst|tj�S)N)r	r
�
GeneratorType)rr
r
r�isgenerator�sr)cCst|tj�S)N)r	r
�
CoroutineType)rr
r
r�iscoroutine�sr+cCs6t|tj�p4t|tj�r(t|jjt@�p4t|tj	j
�S)N)r	r
r*r(r �gi_coder"ZCO_ITERABLE_COROUTINE�collections�abc�	Awaitable)rr
r
r�isawaitable�sr0cCst|tj�S)N)r	r
�
TracebackType)rr
r
r�istraceback�sr2cCst|tj�S)N)r	r
�	FrameType)rr
r
r�isframe�sr4cCst|tj�S)N)r	r
�CodeType)rr
r
r�iscode�sr6cCst|tj�S)N)r	r
�BuiltinFunctionType)rr
r
r�	isbuiltinsr8cCs t|�pt|�pt|�pt|�S)N)r8rrr)rr
r
r�	isroutinesr9cCs�t|t�sdS|jt@rdStt|�tj�s0dSt|d�r>dSx&|jj	�D]\}}t
|dd�rJdSqJWx@|jD]6}x0t
|df�D] }t
||d�}t
|dd�r�dSq�WqnWdS)NFT�__abstractmethods__�__isabstractmethod__)r	r�	__flags__�TPFLAGS_IS_ABSTRACT�
issubclassr.�ABCMetar�__dict__�items�getattr�	__bases__)r�name�value�baser
r
r�
isabstract%s"


rGcCs&t|�r|ft|�}nf}g}t�}t|�}yBx<|jD]2}x,|jj�D]\}}t|tj	�rH|j
|�qHWq8WWntk
r�YnXx�|D]�}	yt||	�}
|	|kr�t�Wn:tk
r�x$|D]}|	|jkr�|j|	}
Pq�Ww�YnX|s�||
��r|j
|	|
f�|j
|	�q�W|jdd�d�|S)NcSs|dS)Nrr
)Zpairr
r
r�<lambda>fszgetmembers.<locals>.<lambda>)�key)r�getmro�set�dirrCr@rAr	r
�DynamicClassAttribute�append�AttributeErrorrB�add�sort)rZ	predicate�mro�results�	processed�namesrF�k�vrIrEr
r
r�
getmembers=s:




rX�	Attributezname kind defining_class objectcCs\t|�}tt|��}tdd�|D��}|f|}||}t|�}x:|D]2}x,|jj�D]\}}t|tj�rV|j	|�qVWqFWg}	t
�}
�x�|D�]�}d}d}
d}||
k�r�y|dkr�td��t||�}
Wn"tk
r�}zWYdd}~Xn�Xt|
d|�}||k�r�d}d}x(|D] }t||d�}||
k�r|}�qWxH|D]@}y|j
||�}Wntk
�rh�w:YnX||
k�r:|}�q:W|dk	�r�|}x4|D],}||jk�r�|j|}||k�r�|}P�q�W|dk�r�q�|
dk	�r�|
n|}t|t��r�d}|}n@t|t��rd}|}n*t|t��r"d}|}nt|��r2d	}nd
}|	j	t||||��|
j|�q�W|	S)NcSsg|]}|ttfkr|�qSr
)rr)�.0�clsr
r
r�
<listcomp>�sz(classify_class_attrs.<locals>.<listcomp>r@z)__dict__ is special, don't want the proxy�__objclass__z
static methodzclass method�property�method�data)rJr�tuplerLr@rAr	r
rMrNrK�	ExceptionrB�__getattr__rO�staticmethod�classmethodr^r9rYrP)r[rRZmetamroZclass_basesZ	all_basesrUrFrVrW�resultrTrDZhomeclsZget_objZdict_obj�excZlast_clsZsrch_clsZsrch_obj�obj�kindr
r
r�classify_class_attrsks�

















rjcCs|jS)N)�__mro__)r[r
r
rrJ�srJ)�stopcs��dkrdd�}n�fdd�}|}t|�|i}tj�}xD||�rz|j}t|�}||ksbt|�|krptdj|���|||<q8W|S)NcSs
t|d�S)N�__wrapped__)r)�fr
r
r�_is_wrapper�szunwrap.<locals>._is_wrappercst|d�o�|�S)Nrm)r)rn)rlr
rro�sz!wrapper loop when unwrapping {!r})�id�sys�getrecursionlimitrm�len�
ValueError�format)�funcrlrorn�memoZrecursion_limitZid_funcr
)rlr�unwrap�s

rxcCs|j�}t|�t|j��S)N)�
expandtabsrs�lstrip)�lineZexpliner
r
r�
indentsize	sr|cCsRtjj|j�}|dkrdSx&|jjd�dd�D]}t||�}q0Wt|�sNdS|S)N�.r���)rq�modules�get�
__module__�__qualname__�splitrBr)rvr[rDr
r
r�
_findclasssr�cCs�t|�rRxD|jD]:}|tk	ry
|j}Wntk
r<wYnX|dk	r|SqWdSt|�r�|jj}|j}t|�r�t	t	||d�d�|jkr�|}n|j
}n�t|�r�|j}t|�}|dks�t	||�|k	r�dSn�t
|��r
|j}|j}t|�o�|jd||jk�r|}n|j
}nzt|t��rJ|j}|j}t|�}|dk�sDt	||�|k	�r�dSn:t|��s^t|��r�|j}|j}t	||�|k	�r�dSndSxJ|jD]@}yt	||�j}Wntk
�r��w�YnX|dk	�r�|S�q�WdS)N�__func__r})rrkr�__doc__rOrr��__name__�__self__rB�	__class__rr�r8r�r	r^�fgetrrr])rhrF�docrD�selfr[rvr
r
r�_finddocsb




r�cCsdy
|j}Wntk
rdSX|dkrNyt|�}Wnttfk
rLdSXt|t�s\dSt|�S)N)r�rOr��	TypeErrorr	�str�cleandoc)rr�r
r
r�getdocSs

r�cCs�y|j�jd�}Wntk
r&dSXtj}x:|dd�D]*}t|j��}|r<t|�|}t||�}q<W|r~|dj�|d<|tjkr�x*tdt|��D]}|||d�||<q�Wx|r�|dr�|j	�q�Wx|r�|dr�|j	d�q�Wdj
|�SdS)N�
rrr~)ryr��UnicodeErrorrq�maxsizersrz�min�range�pop�join)r��linesZmarginr{Zcontent�indent�ir
r
rr�fs(
r�cCs�t|�r&t|d�r|jStdj|���t|�rdt|d�rVtjj|j	�}t|d�rV|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 moduler�z{!r} is a built-in classzO{!r} is not a module, class, method, function, traceback, frame, or code object)rrr�r�rurrqrr�r�rr�rr!r2�tb_framer4�f_coder6�co_filename)rr
r
r�getfile�s,


r�cCsTtjj|�}dd�tjj�D�}|j�x&|D]\}}|j|�r.|d|�Sq.WdS)NcSsg|]}t|�|f�qSr
)rs)rZ�suffixr
r
rr\�sz!getmodulename.<locals>.<listcomp>)�os�path�basename�	importlib�	machinery�all_suffixesrQ�endswith)r�Zfname�suffixesZneglenr�r
r
r�
getmodulename�s
r�cs�t|��tjjdd�}|tjjdd�7}t�fdd�|D��r`tjj��dtjj	d�nt�fdd�tjj
D��r~dStjj��r��Stt
|��dd�dk	r��S�tjkr��SdS)Nc3s|]}�j|�VqdS)N)r�)rZ�s)�filenamer
r�	<genexpr>�sz getsourcefile.<locals>.<genexpr>rc3s|]}�j|�VqdS)N)r�)rZr�)r�r
rr��s�
__loader__)r�r�r��DEBUG_BYTECODE_SUFFIXES�OPTIMIZED_BYTECODE_SUFFIXES�anyr�r��splitext�SOURCE_SUFFIXES�EXTENSION_SUFFIXES�existsrB�	getmodule�	linecache�cache)rZall_bytecode_suffixesr
)r�r�
getsourcefile�s
r�cCs,|dkrt|�pt|�}tjjtjj|��S)N)r�r�r�r��normcase�abspath)r�	_filenamer
r
r�
getabsfile�sr�c

Cs�t|�r|St|d�r$tjj|j�S|dk	rD|tkrDtjjt|�Syt||�}Wntk
rfdSX|tkr�tjjt|�Sxnt	tjj
��D]\\}}t|�r�t|d�r�|j}|tj|d�kr�q�|t|<t|�}|j
t|<ttjj|�<q�W|tk�r
tjjt|�Stjd}t|d��s$dSt||j
��rLt||j
�}||k�rL|Stjd}t||j
��r~t||j
�}	|	|k�r~|SdS)Nr�r��__main__r��builtins)rrrqrr�r��
modulesbyfiler�r��listrAr��_filesbymodnamer�r�r��realpathrB)
rr��file�modname�modulern�mainZ
mainobjectZbuiltinZ
builtinobjectr
r
rr��sD





r�c
Cs�t|�}|rtj|�n$t|�}|jd�o2|jd�s<td��t||�}|rZtj||j	�}n
tj|�}|sptd��t
|�r�|dfSt|��r |j}t
jd|d�}g}xRtt|��D]B}|j||�}|r�||ddkr�||fS|j|jd	�|f�q�W|�r|j�||dd	fStd
��t|��r0|j}t|��r@|j}t|��rP|j}t|��r`|j}t|��r�t|d��s~td��|jd	}	t
jd
�}x*|	dk�r�|j||	��r�P|	d	}	�q�W||	fStd��dS)N�<�>zsource code not availablezcould not get source coderz^(\s*)class\s*z\b�crzcould not find class definition�co_firstlinenoz"could not find function definitionz>^(\s*def\s)|(\s*async\s+def\s)|(.*(?<!\w)lambda(:|\s))|^(\s*@)zcould not find code object) r�r��
checkcacher��
startswithr��OSErrorr��getlinesr@rrr��re�compiler�rs�matchrN�grouprQrr�rr!r2r�r4r�r6rr�)
rr�r�r�rDZpatZ
candidatesr�r��lnumr
r
r�
findsource�s^









r�cCs>yt|�\}}Wnttfk
r(dSXt|�r�d}|rR|ddd�dkrRd}x(|t|�krz||j�dkrz|d}qTW|t|�kr�||dd�dkr�g}|}x>|t|�kr�||dd�dkr�|j||j��|d}q�Wdj|�S�nH|dk�r:t	||�}|d}|dk�r:||j
�dd�dk�r:t	||�|k�r:||j�j
�g}|dk�r�|d}||j�j
�}x\|dd�dk�r�t	||�|k�r�|g|dd�<|d}|dk�r�P||j�j
�}�q|Wx*|�r|dj�dk�rg|dd�<�q�Wx*|�r.|dj�dk�r.g|d	d�<�qWdj|�SdS)
Nr�z#!r��#)r�r�r~r~)r�r�r�rrs�striprNryr�r|rz)rr�r��startZcomments�endr�Zcommentr
r
r�getcommentsAsJ "
$
&
r�c@seZdZdS)�
EndOfBlockN)r�r�r�r
r
r
rr�nsr�c@seZdZdd�Zdd�ZdS)�BlockFindercCs.d|_d|_d|_d|_d|_d|_d|_dS)NrFr)r��islambda�started�passline�indecorator�decoratorhasargs�last)r�r
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�|tjkr�d|_|d	|_|jr�t�|jr�|jr�d|_nr|jr�nj|tj	kr�|j
d
|_
d|_nL|tjk�r|j
d
|_
|j
d	k�r"t�n"|j
d	k�r"|tjtj
fk�r"t�dS)N�@T�def�class�lambda�(�)Frr)r�r�r�)r�r�r�r�r��tokenize�NEWLINEr�r��INDENTr��DEDENT�COMMENT�NL)r�r�tokenZsrowcolZerowcolr{r
r
r�
tokeneater{sB


zBlockFinder.tokeneaterN)r�r�r�r�r�r
r
r
rr�ps	r�cCsZt�}y,tjt|�j�}x|D]}|j|�qWWnttfk
rJYnX|d|j�S)N)	r�r��generate_tokens�iter�__next__r�r��IndentationErrorr�)r�Zblockfinder�tokensZ_tokenr
r
r�getblock�s
r�cCsbt|�}t|�\}}t|�r"|j}t|�s>t|�rF|jjdkrF|dfSt||d��|dfSdS)Nz<module>rr)	rxr�r2r�rr4r��co_namer�)rr�r�r
r
r�getsourcelines�sr�cCst|�\}}dj|�S)Nr�)r�r�)rr�r�r
r
r�	getsource�sr�cCsVg}|jtdd�d�x:|D]2}|j||jf�||kr|jt||||��qW|S)Nr�r�)rI)rQrrNrC�walktree)�classes�children�parentrSr�r
r
rr��s
r�FcCs�i}g}xn|D]f}|jrbxZ|jD]<}||kr4g||<|||krN||j|�|r ||kr Pq Wq||kr|j|�qWx|D]}||kr~|j|�q~Wt||d�S)N)rCrNr�)r��uniquer��rootsr�rr
r
r�getclasstree�s"	

r�	Argumentszargs, varargs, varkwcCs t|�\}}}}t||||�S)N)�_getfullargsr)�co�args�varargs�
kwonlyargs�varkwr
r
r�getargs�src	Cs�t|�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)
r6r�ru�co_argcount�co_varnames�co_kwonlyargcountr�r"�
CO_VARARGS�CO_VARKEYWORDS)	r�nargsrUZnkwargsrr	�steprr
r
r
rrs"



r�ArgSpeczargs varargs keywords defaultscCsDtjdtdd�t|�\}}}}}}}|s.|r6td��t||||�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)�warnings�warn�DeprecationWarning�getfullargspecrtr)rvrrr
�defaultsr	�kwonlydefaults�annr
r
r�
getargspec s
r�FullArgSpeczGargs, 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�|jj�D]�}
|
j}|
j	}|t
kr�|j|�nv|tkr�|j|�|
j
|
jk	r�||
j
f7}nJ|tkr�|}n<|tk�r|j|�|
j
|
jk	�r|
j
|	|<n|tk�r|}|
j|
jk	r�|
j||<q�W|	�sBd}	|�sLd}t||||||	|�S)NF)�follow_wrapper_chains�skip_bound_arg�sigclszunsupported callable�return)�_signature_from_callable�	Signaturerbr��return_annotation�empty�
parameters�valuesrirD�_POSITIONAL_ONLYrN�_POSITIONAL_OR_KEYWORD�default�_VAR_POSITIONAL�
_KEYWORD_ONLY�_VAR_KEYWORD�
annotationr)
rv�sig�exrrr
r	r�annotations�
kwdefaults�paramrirDr
r
rrAsT





r�ArgInfozargs varargs keywords localscCs t|j�\}}}t||||j�S)N)rr�r4�f_locals)�framerrr
r
r
r�getargvalues�sr7cCsVt|dd�dkr t|�jdd�St|t�rN|jd|fkr>|jS|jd|jSt|�S)Nr�Ztypingztyping.r�r�r})rB�repr�replacer	rr�r�)r.Zbase_moduler
r
r�formatannotation�s
r:cst|dd���fdd�}|S)Nr�cs
t|��S)N)r:)r.)r�r
r�_formatannotation�sz5formatannotationrelativeto.<locals>._formatannotation)rB)rr;r
)r�r�formatannotationrelativeto�sr<cCsd|S)N�*r
)rDr
r
rrH�srHcCsd|S)Nz**r
)rDr
r
rrH�scCsdt|�S)N�=)r8)rEr
r
rrH�scCsd|S)Nz -> r
)�textr
r
rrH�sc
s(���fdd�}
g}|r(t|�t|�}xFt|�D]:\}}|
|�}|rb||krb||
|||�}|j|�q2W|dk	r�|j||
|���n|r�|jd�|r�x:|D]2}|
|�}|r�||kr�||
||�7}|j|�q�W|dk	r�|j|	|
|���ddj|�d}d�k�r$||��d��7}|S)Ncs(�|�}|�kr$|d��|�7}|S)Nz: r
)�argrf)r1r:�	formatargr
r�formatargandannotation�sz-formatargspec.<locals>.formatargandannotationr=r�z, r�r!)rs�	enumeraterNr�)rrr
rr	rr1rA�
formatvarargs�formatvarkw�formatvalueZ
formatreturnsr:rB�specsZfirstdefaultr�r@�specZ	kwonlyargrfr
)r1r:rAr�
formatargspec�s2


rIcCsd|S)Nr=r
)rDr
r
rrH�scCsd|S)Nz**r
)rDr
r
rrH�scCsdt|�S)Nr>)r8)rEr
r
rrH�scCs�|||fdd�}g}	x&tt|��D]}
|	j|||
��q"W|rZ|	j||�|||��|rx|	j||�|||��ddj|	�dS)NcSs||�|||�S)Nr
)rD�localsrArFr
r
r�convert�sz formatargvalues.<locals>.convertr�z, r�)r�rsrNr�)rrr
rJrArDrErFrKrGr�r
r
r�formatargvalues�srLcs��fdd�|D�}t|�}|dkr,|d}n>|dkr@dj|�}n*dj|dd��}|dd�=dj|�|}td	|||rzd
nd|dkr�dnd
|f��dS)Ncsg|]}|�krt|��qSr
)r8)rZrD)r'r
rr\�sz&_missing_arguments.<locals>.<listcomp>rrr�z	{} and {}z, {} and {}z, z*%s() missing %i required %s argument%s: %s�
positionalzkeyword-onlyr�r����rN)rsrur�r�)�f_nameZargnames�posr'rU�missingr��tailr
)r'r�_missing_arguments�s


rSc
	s�t|�|}t�fdd�|D��}|r:|dk}	d|f}
n2|rTd}	d|t|�f}
nt|�dk}	tt|��}
d}|r�d}||dkr�d	nd||dkr�d	ndf}td
||
|	r�d	nd|||dkr�|r�dndf��dS)
Ncsg|]}|�kr|�qSr
r
)rZr@)r'r
rr\sz_too_many.<locals>.<listcomp>rzat least %dTz
from %d to %dr�z7 positional argument%s (and %d keyword-only argument%s)r�z5%s() takes %s positional argument%s but %d%s %s givenZwasZwere)rsr�r�)
rOrZkwonlyrZdefcountZgivenr'ZatleastZkwonly_givenZpluralr/Z
kwonly_sig�msgr
)r'r�	_too_manys$rUcOs6|d}|dd�}t|�}|\}}}}}	}
}|j}i}
t|�rV|jdk	rV|jf|}t|�}t|�}|rrt|�nd}t||�}x t|�D]}|||
||<q�W|r�t||d��|
|<t||	�}|r�i|
|<xd|j	�D]X\}}||k�r|�st
d||f��||
||<q�||
k�r,t
d||f��||
|<q�W||k�r^|�r^t|||	||||
�||k�r�|d||�}x&|D]}||
k�r~t||d|
��q~Wx8t
|||d��D] \}}||
k�r�|||
|<�q�Wd}x>|	D]6}||
k�r�|
�r||
k�r|
||
|<n|d7}�q�W|�r2t||	d|
�|
S)Nrrz*%s() got an unexpected keyword argument %rz(%s() got multiple values for argument %rTF)rr�rr�rsr�r�rarKrAr�rUrSrC)Zfunc_and_positionalZnamedrvrMrHrrr
rr	rrrOZ	arg2valueZnum_posZnum_argsZnum_defaults�nr�Zpossible_kwargs�kwrEZreqr@rQ�kwargr
r
r�getcallargs!sd








rY�ClosureVarsz"nonlocals globals builtins unboundc	Cst|�r|j}t|�s$tdj|���|j}|jdkr:i}ndd�t|j|j�D�}|j	}|j
dtj�}t
|�rt|j}i}i}t�}xn|jD]d}|dkr�q�y||||<Wq�tk
r�y||||<Wntk
r�|j|�YnXYq�Xq�Wt||||�S)	Nz'{!r}' is not a Python functioncSsi|]\}}|j|�qSr
)�
cell_contents)rZ�varZcellr
r
r�
<dictcomp>vsz"getclosurevars.<locals>.<dictcomp>�__builtins__�None�True�False)r_r`ra)rr�rr�rur!�__closure__�zip�co_freevars�__globals__r�r�r@rrK�co_names�KeyErrorrPrZ)	rv�codeZ
nonlocal_varsZ	global_nsZ
builtin_nsZglobal_varsZbuiltin_varsZ
unbound_namesrDr
r
r�getclosurevarsas8	
ri�	Tracebackz+filename lineno function code_context indexcCs�t|�r|j}|j}n|j}t|�s2tdj|���t|�p@t|�}|dkr�|d|d}yt	|�\}}Wnt
k
r�d}}Yq�Xtdt|t
|�|��}||||�}|d|}nd}}t|||jj||�S)Nz'{!r} is not a frame or traceback objectrrr�)r2�	tb_linenor��f_linenor4r�rur�r�r�r��maxr�rsrjr�r�)r6�context�linenor�r�r�r��indexr
r
r�getframeinfo�s$rqcCs|jS)N)rl)r6r
r
r�	getlineno�srr�	FrameInfor6cCs6g}x,|r0|ft||�}|jt|��|j}qW|S)N)rqrNrs�f_back)r6rn�	framelist�	frameinfor
r
r�getouterframes�s
rwcCs8g}x.|r2|jft||�}|jt|��|j}qW|S)N)r�rqrNrs�tb_next)�tbrnrurvr
r
r�getinnerframes�s
rzcCsttd�rtjd�SdS)N�	_getframer)rrqr{r
r
r
r�currentframe�sr|cCsttjd�|�S)Nr)rwrqr{)rnr
r
r�stack�sr}cCsttj�d|�S)Nr�)rzrq�exc_info)rnr
r
r�trace�srcCstjdj|�S)Nrk)rr@r)�klassr
r
r�_static_getmro�sr�cCs8i}ytj|d�}Wntk
r(YnXtj||t�S)Nr@)r�__getattribute__rO�dictr��	_sentinel)rh�attrZ
instance_dictr
r
r�_check_instance�sr�cCsFx@t|�D]4}tt|��tkr
y
|j|Stk
r<Yq
Xq
WtS)N)r��_shadowed_dictrr�r@rg)r�r��entryr
r
r�_check_class�s

r�cCs&yt|�Wntk
r dSXdS)NFT)r�r�)rhr
r
r�_is_type�s
r�cCsntjd}x^t|�D]R}y|j|�d}Wntk
r>YqXt|�tjko`|jdko`|j|ks|SqWt	S)Nr@)
rr@r�rrgr
rr�r]r�)r��	dict_attrr�Z
class_dictr
r
rr�s


r�cCst}t|�s>t|�}t|�}|tks2t|�tjkrBt||�}n|}t||�}|tk	r�|tk	r�tt|�d�tk	r�tt|�d�tk	r�|S|tk	r�|S|tk	r�|S||kr�xDtt|��D]4}tt|��tkr�y
|j	|St
k
r�Yq�Xq�W|tk	r�|St|��dS)Nrr)r�r�rr�r
rr�r�r�r@rgrO)rhr�r*Zinstance_resultr�r�Zklass_resultr�r
r
r�getattr_statics6


r��GEN_CREATED�GEN_RUNNING�
GEN_SUSPENDED�
GEN_CLOSEDcCs,|jr
tS|jdkrtS|jjdkr(tStS)Nrr~)�
gi_runningr��gi_framer��f_lastir�r�)�	generatorr
r
r�getgeneratorstateGs	
r�cCs:t|�stdj|���t|dd�}|dk	r2|jjSiSdS)Nz '{!r}' is not a Python generatorr�)r)r�rurBr�r5)r�r6r
r
r�getgeneratorlocalsYsr��CORO_CREATED�CORO_RUNNING�CORO_SUSPENDED�CORO_CLOSEDcCs,|jr
tS|jdkrtS|jjdkr(tStS)Nrr~)�
cr_runningr��cr_framer�r�r�r�)�	coroutiner
r
r�getcoroutinestateqs	
r�cCs"t|dd�}|dk	r|jSiSdS)Nr�)rBr5)r�r6r
r
r�getcoroutinelocals�sr��
from_bytescCs6yt||�}Wntk
r"dSXt|t�s2|SdS)N)rBrOr	�_NonUserDefinedCallables)r[Zmethod_name�methr
r
r�"_signature_get_user_defined_method�s
r�cCs�|j}t|j��}|jpf}|jp$i}|r2||}y|j||�}Wn6tk
rx}zdj|�}	t|	�|�WYdd}~XnXd}
�x
|j�D�]�\}}y|j	|}
Wnt
k
r�YnlX|jtkr�|j
|�q�|jtk�r||kr�d}
|j|
d�||<n|j
|j�q�|jtk�r"|j|
d�||<|
r�|jtk�rV||jtd�}|||<|j|�q�|jttfk�rr|j|�q�|jtkr�|j
|j�q�W|j|j�d�S)Nz+partial object {!r} has incorrect argumentsFT)r*)ri)r&)r&rrAr�keywords�bind_partialr�rurt�	argumentsrgrir(r�r)r9rDr,�move_to_endr-r+r')�wrapped_sig�partialZ
extra_argsZ
old_params�
new_paramsZpartial_argsZpartial_keywordsZbar0rTZtransform_to_kwonly�
param_namer3Z	arg_valueZ	new_paramr
r
r�_signature_get_partial�sL






r�cCsnt|jj��}|s&|djttfkr.td��|dj}|ttfkrR|dd�}n|t	k	rbtd��|j
|d�S)Nrzinvalid method signaturerzinvalid argument type)r&)rar&r'rir-r,rtr)r(r+r9)r/�paramsrir
r
r�_signature_bound_method�s
r�cCs&t|�p$t|�p$t|t�p$|ttfkS)N)r8rr	r�rr)rhr
r
r�_signature_is_builtins
r�cCs�t|�st|�rdSt|dd�}t|dd�}t|dt�}t|dt�}t|dd�}t|tj�o�t|t�o�|dkszt|t�o�|dks�t|t	�o�t|t	�S)NFr�r!�__defaults__�__kwdefaults__�__annotations__)
�callablerrB�_voidr	r
r5r�rar�)rhrDrhrr2r1r
r
r�_signature_is_functionlike!s
r�cCs<|jd�}|dkr|jd�}|jd�}|jd�}|d|�S)N�,rr��:r>r�r~)�find)rHrPZcposr
r
r�_signature_get_bound_param:s




r�cCs$|s|ddfSd}d}dd�|jd�D�}t|�j}tj|�}d}d}g}|j}	d}
tj}tj}t|�}
x�|D]�}
|
j	|
j
}}||kr�|dkr�|r�d}qnd}|
d7}
qn|d	kr�d}|
d}qn||kr�|d
kr�|
}qn|r�d}||ko�|dks�|	d�|	|�|dkrn|	d
�qnWdj|�}|||fS)NcSsg|]}|jd��qS)�ascii)�encode)rZ�lr
r
rr\dsz6_signature_strip_non_python_syntax.<locals>.<listcomp>r�Frr�Tr�/�$r�z, � r�)r�r�r�r�rNr��OP�
ERRORTOKEN�nextr�stringr�)�	signature�self_parameter�last_positional_onlyr�r�Ztoken_streamZ
delayed_commaZskip_next_commar?rPZcurrent_parameterr�r��trr��clean_signaturer
r
r�"_signature_strip_non_python_syntaxQsP





r�TcsV|j�t|�\}}}d|d}ytj|�}Wntk
rFd}YnXt|tj�sbtdj|���|j	d}	g��j
�t��d}i�t|dd�}
|
r�t
jj|
d�}|r�|j�t
jj��dd����fdd	��	G�	fd
d�dtj���f�������fdd
�	}t|	jj�}t|	jj�}
tj||
dd�}|dk	�r8�j�n�j�x<ttt|���D](\}\}}|||�||k�rP�j��qPW|	jj�r��j�||	jj���j�x*t|	jj |	jj!�D]\}}|||��q�W|	jj"�r�j#�||	jj"��|dk	�rHt|dd�}|dk	}t$|�}|�r.|�s"|�r.�j%d�n�dj&�jd�}|�d<|�|j
d�S)Nzdef fooz: passz"{!r} builtin has invalid signaturerr�cSs|jdkrtd��|jS)Nz'Annotations are not currently supported)r.rtr@)�noder
r
r�
parse_name�s
z&_signature_fromstr.<locals>.parse_namecs�yt|��}Wn>tk
rLyt|��}Wntk
rFt��YnXYnXt|t�rbtj|�St|ttf�rztj	|�St|t
�r�tj|�S|dkr�tj|�St��dS)NTF)TFN)
�eval�	NameError�RuntimeErrorr	r��astZStr�int�floatZNum�bytesZBytesZNameConstant)r�rE)�module_dict�sys_module_dictr
r�
wrap_value�s 





z&_signature_fromstr.<locals>.wrap_valuecs$eZdZ�fdd�Z�fdd�ZdS)z,_signature_fromstr.<locals>.RewriteSymbolicscs`g}|}x"t|tj�r*|j|j�|j}q
Wt|tj�s>t��|j|j�dj	t
|��}�|�S)Nr})r	r�rYrNr�rE�Namer�rpr��reversed)r�r��arVrE)r�r
r�visit_Attribute�s
z<_signature_fromstr.<locals>.RewriteSymbolics.visit_Attributecst|jtj�st���|j�S)N)r	Zctxr�ZLoadrtrp)r�r�)r�r
r�
visit_Name�sz7_signature_fromstr.<locals>.RewriteSymbolics.visit_NameN)r�r�r�r�r�r
)r�r
r�RewriteSymbolics�sr�cs��|�}|�krdS|rp|tk	rpy��j|�}tj|�}Wntk
rR�}YnX|�kr`dS|�k	rl|n|}�j�|�|�d��dS)N)r*r.)�_emptyZvisitr�Zliteral_evalrtrN)Z	name_nodeZdefault_noder*rD�o)�	Parameterr�r%�invalidrir&r�r
r�p�s
z_signature_fromstr.<locals>.p)�	fillvaluer�)ri)r$)'�_parameter_clsr�r��parse�SyntaxErrorr	ZModulertruZbodyr%rrBrqrr�r@�copyZNodeTransformerr�rr�	itertools�zip_longest�POSITIONAL_ONLY�POSITIONAL_OR_KEYWORDrCr�Zvararg�VAR_POSITIONAL�KEYWORD_ONLYrcr	Zkw_defaultsrX�VAR_KEYWORDrr�r9)r[rhr�rr�r�r�Zprogramr�rnZmodule_namer�rrr�r�rDr*�_selfZself_isboundZ
self_ismoduler
)
r�r�r%r�rir�r&r�r�r�r�_signature_fromstr�sj








r�cCsBt|�stdj|���t|dd�}|s4tdj|���t||||�S)Nz%{!r} is not a Python builtin function�__text_signature__z#no signature found for builtin {!r})r�r�rurBrtr�)r[rvrr�r
r
r�_signature_from_builtin&sr�cCs�d}t|�s(t|�rd}ntdj|���|j}|j}|j}|j}t|d|��}|j	}||||�}	|j
}
|j}|j}|r�t
|�}
nd}
g}||
}x4|d|�D]$}|
j|t�}|j|||td��q�WxBt||d��D].\}}|
j|t�}|j|||t||d��q�W|jt@�rH|||}|
j|t�}|j|||td��xJ|	D]B}t}|dk	�rl|j|t�}|
j|t�}|j|||t|d���qNW|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__)rr�r�rur�r!rr
rarr�r�r�rsr�r�rNr)rCr"rr+r,rr-)r[rvZis_duck_functionr�Z	func_codeZ	pos_countZ	arg_namesrMZkeyword_only_countZkeyword_onlyr1rr2Zpos_default_countr&Znon_default_countrDr.�offsetr*rpr
r
r�_signature_from_function6sj










r�)rrc!Cs�t|�stdj|���t|tj�rDt|j|||d�}|r@t|�S|S|rtt	|dd�d�}t|tj�rtt||||d�Sy
|j
}Wntk
r�Yn&X|dk	r�t|t�s�tdj|���|Sy
|j
}Wntk
r�YnvXt|tj��rLt|j|||d�}t||d�}t|jj��d}|jtjk�r(|St|jj��}|f|}	|j|	d�St|��s`t|��rjt||�St|��r�t|||d	�St|tj��r�t|j|||d�}t||�Sd}t|t��r�t t|�d
�}
|
dk	�r�t|
|||d�}nJt |d�}|dk	�rt||||d�}n$t |d�}|dk	�r0t||||d�}|dk�r:xL|j!dd�D]:}
y
|
j"}Wntk
�rnYnX|�rJt#|||�S�qJWt|j!k�r:|j$t%j$k�r�|j&t%j&k�r�t'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|d�S)N�
__signature__)r)rnr
r
rrH�sz*_signature_from_callable.<locals>.<lambda>)rlz1unexpected object {!r} in __signature__ attributer)r&)r�__call__�__new__r�rz(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~)+r�r�rur	r
rr"r�r�rxr�rOr#�_partialmethod�	functools�
partialmethodrvr�rar&r'rir�r�r9rr�r�r�r�r�rr�rkr�r�r�rr�r�rtr�r7)rhrrr r/r�r�Zfirst_wrapped_paramZ
sig_paramsr�Zcall�newZinitrFZtext_sigr0rTr
r
rr"�s�	



















r"c@seZdZdS)r�N)r�r�r�r
r
r
rr�P	sr�c@seZdZdS)r�N)r�r�r�r
r
r
rr�T	sr�c@s(eZdZdZdZdZdZdZdd�ZdS)	�_ParameterKindrrr���cCs|jS)N)�_name_)r�r
r
r�__str___	sz_ParameterKind.__str__N)	r�r�r�r�r�r�r�r�r�r
r
r
rr�X	sr�zpositional-onlyzpositional or keywordzvariadic positionalzkeyword-onlyzvariadic keywordc@s�eZdZd ZeZeZeZ	e
ZeZ
eZeed�dd�Zdd	�Zd
d�Zedd
��Zedd��Zedd��Zedd��Zeeeed�dd�Zdd�Zdd�Zdd�Zdd�ZdS)!r��_name�_kind�_default�_annotation)r*r.cCs"yt|�|_Wn$tk
r2td|�d���YnX|tk	rf|jttfkrfd}|jt|j��}t|��||_||_	|tkr�td��t
|t�s�djt|�j
�}t|��|ddko�|dd�j��r|jtkr�d	}|jt|j��}t|��t|_d
j|dd��}|j��stdj|���||_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)r�rrtr�r+r-ru�_get_paramkind_descrrrr	r�rr�r��isdigitr)r(�isidentifierr)r�rDrir*r.rTr
r
rr��	s4


zParameter.__init__cCs t|�|j|jf|j|jd�fS)N)rr)rrrrr)r�r
r
r�
__reduce__�	s
zParameter.__reduce__cCs|d|_|d|_dS)Nrr)rr)r��stater
r
r�__setstate__�	s
zParameter.__setstate__cCs|jS)N)r)r�r
r
rrD�	szParameter.namecCs|jS)N)r)r�r
r
rr*�	szParameter.defaultcCs|jS)N)r)r�r
r
rr.�	szParameter.annotationcCs|jS)N)r)r�r
r
rri�	szParameter.kind)rDrir.r*cCsL|tkr|j}|tkr|j}|tkr*|j}|tkr8|j}t|�||||d�S)N)r*r.)r�rrrrr)r�rDrir.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**)
rirrr�rur:rr8r+r-)r�ri�	formattedr
r
rr��	s


zParameter.__str__cCsdj|jj|�S)Nz	<{} "{}">)rur�r�)r�r
r
r�__repr__�	szParameter.__repr__cCst|j|j|j|jf�S)N)�hashrDrir.r*)r�r
r
r�__hash__�	szParameter.__hash__cCsJ||krdSt|t�stS|j|jkoH|j|jkoH|j|jkoH|j|jkS)NT)r	r��NotImplementedrrrr)r��otherr
r
r�__eq__
s
zParameter.__eq__N)rrrr)r�r�r��	__slots__r(r�r)r�r+r�r,r�r-r�r�r%r�rr	r^rDr*r.rir�r9r�rr
rr
r
r
rr�t	s((r�c@sdeZdZdZdd�Zedd��Zedd	��Zed
d��Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�BoundArgumentsr��
_signature�__weakref__cCs||_||_dS)N)r�r)r�r�r�r
r
rr�
szBoundArguments.__init__cCs|jS)N)r)r�r
r
rr�#
szBoundArguments.signaturecCs|g}xn|jjj�D]^\}}|jttfkr*Py|j|}Wntk
rNPYqX|jtkrf|j	|�q|j
|�qWt|�S)N)rr&rArir-r,r�rgr+�extendrNra)r�rr�r3r@r
r
rr'
s
zBoundArguments.argscCs�i}d}x�|jjj�D]x\}}|sF|jttfkr6d}n||jkrFd}q|sLqy|j|}Wntk
rnYqX|jtkr�|j|�q|||<qW|S)NFT)	rr&rArir-r,r�rg�update)r��kwargsZkwargs_startedr�r3r@r
r
rr>
s&

zBoundArguments.kwargscCs�|j}g}x�|jjj�D]v\}}y|j|||f�Wqtk
r�|jtk	rX|j}n"|jt	krhf}n|jt
krxi}nw|j||f�YqXqWt|�|_dS)N)r�rr&rArNrgr*r�rir+r-r)r�r�Z
new_argumentsrDr3�valr
r
r�apply_defaults\
s	


zBoundArguments.apply_defaultscCs2||krdSt|t�stS|j|jko0|j|jkS)NT)r	rrr�r�)r�rr
r
rrx
s
zBoundArguments.__eq__cCs|d|_|d|_dS)Nrr�)rr�)r�rr
r
rr	�
s
zBoundArguments.__setstate__cCs|j|jd�S)N)rr�)rr�)r�r
r
r�__getstate__�
szBoundArguments.__getstate__cCsDg}x(|jj�D]\}}|jdj||��qWdj|jjdj|��S)Nz{}={!r}z	<{} ({})>z, )r�rArNrur�r�r�)r�rr@rEr
r
rr�
szBoundArguments.__repr__N)r�rr)r�r�r�rr�r^r�rrrrr	rrr
r
r
rr
src@s�eZdZd,ZeZeZeZ	d-edd�dd�Z
edd	��Zed
d��Z
edd�d
d��Zedd��Zedd��Zeed�dd�Zdd�Zdd�Zdd�Zdd�dd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�ZdS).r#�_return_annotation�_parametersNT)r$r�cCs�|dkrt�}n�|r�t�}t}d}x�t|�D]�\}}|j}	|j}
|	|krjd}|jt|�t|	��}t|��n|	|krzd}|	}|	ttfkr�|j	t
kr�|r�d}t|��nd}|
|kr�dj|
�}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*r�r
�MappingProxyTyperr)r�r&r$r�r�Ztop_kindZ
kind_defaults�idxr3rirDrTr
r
rr��
s>






zSignature.__init__cCstjdtdd�t||�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_functioncCstjdtdd�t||�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|||d�S)N)r r)r")r[rhr!r
r
r�
from_callable�
szSignature.from_callablecCs|jS)N)r)r�r
r
rr&szSignature.parameterscCs|jS)N)r)r�r
r
rr$szSignature.return_annotation)r&r$cCs0|tkr|jj�}|tkr |j}t|�||d�S)N)r$)r�r&r'rr)r�r&r$r
r
rr9	s
zSignature.replacecCs8tdd�|jj�D��}dd�|jj�D�}|||jfS)Ncss|]}|jtkr|VqdS)N)rir,)rZr3r
r
rr�sz(Signature._hash_basis.<locals>.<genexpr>cSsi|]}|jtkr||j�qSr
)rir,rD)rZr3r
r
rr]sz)Signature._hash_basis.<locals>.<dictcomp>)rar&r'r$)r�r��
kwo_paramsr
r
r�_hash_basisszSignature._hash_basiscCs(|j�\}}}t|j��}t|||f�S)N)r$�	frozensetr'r)r�r�r#r$r
r
rr
!szSignature.__hash__cCs*||krdSt|t�stS|j�|j�kS)NT)r	r#rr$)r�rr
r
rr&s

zSignature.__eq__F)r�cCs�t�}t|jj��}f}t|�}�xxyt|�}Wn�tk
r�yt|�}	Wntk
rbPYn�X|	jtkrrPn�|	j|kr�|	jt	kr�d}
|
j
|	jd�}
t|
�d�|	f}PnH|	jtks�|	j
tk	r�|	f}Pn*|r�|	f}Pnd}
|
j
|	jd�}
t|
�d�Yq$Xyt|�}	Wn tk
�r&td�d�Yq$X|	jttfk�rBtd�d�|	jtk�rn|g}|j|�t|�||	j<P|	j|k�r�tdj
|	jd��d�|||	j<q$Wd}x�tj||�D]�}	|	jtk�r�|	}�q�|	jtk�r֐q�|	j}
y|j|
�}WnHtk
�r2|�r.|	jtk�r.|	j
tk�r.tdj
|
d��d�Yn(X|	jt	k�rRtdj
|	jd���|||
<�q�W|�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})rr�r&r'r��
StopIterationrir+rDr(rur�r-r*r�r,rrar��chainr�rg�_bound_arguments_cls)r�rrr�r�r&Z
parameters_exZarg_valsZarg_valr3rTr'Zkwargs_paramr�r
r
r�_bind-s�







zSignature._bindcOs|dj|dd�|�S)Nrr)r))rrr
r
r�bind�szSignature.bindcOs|dj|dd�|dd�S)NrrT)r�)r))rrr
r
rr��szSignature.bind_partialcCs t|�t|jj��fd|jifS)Nr)rrarr'r)r�r
r
rr�szSignature.__reduce__cCs|d|_dS)Nr)r)r�rr
r
rr	�szSignature.__setstate__cCsdj|jj|�S)Nz<{} {}>)rur�r�)r�r
r
rr�szSignature.__repr__c	Cs�g}d}d}xr|jj�D]d}t|�}|j}|tkr8d}n|rJ|jd�d}|tkrXd}n|tkrr|rr|jd�d}|j|�qW|r�|jd�djdj	|��}|j
tk	r�t|j
�}|dj|�7}|S)NFTr�r=z({})z, z -> {})
r&r'r�rir(rNr+r,rur�r$r�r:)	r�rfZrender_pos_only_separatorZrender_kw_only_separatorr3r
riZrenderedZannor
r
rr��s0




zSignature.__str__)rr)N)r�r�r�rr�r�rr(r�r%r�rerr r"r^r&r$r�r9r$r
rr)r*r�rr	rr�r
r
r
rr#�
s06	r#)r!cCstj||d�S)N)r!)r#r")rhr!r
r
rr��sr�cCs�ddl}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||
�}q�W|	jt
jk�rtdt
jd�td�|j�r�tdj	|��tdj	t|	���tdj	|	j��||	k�rxtdj	t|	j���t|	d��r�tdj	|	j��n6yt|�\}}Wntk
�r�YnXtdj	|��td�n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+r�zFailed to import {} ({}: {}))r�r�r}z#Can't get info for builtin modules.rz
Target: {}z
Origin: {}z
Cached: {}z
Loader: {}�__path__zSubmodule search path: {}zLine: {}r�)�argparser��ArgumentParser�add_argument�
parse_argsr�	partition�
import_modulerbrurr��printrq�stderr�exitr�rB�builtin_module_namesZdetailsr��
__cached__r8r�rr.r�r�)r/r��parserr�targetZmod_nameZ	has_attrsZattrsrhr�rgrT�parts�part�__ror
r
r�_main�sV



r?r�)rri)N)N)N)F)N)r)r6)r)r)r)r)T)T)��
__author__r.r�Zdis�collections.abcr-�enum�importlib.machineryr�r�r�r�r�rqr�r�r
rr�r��operatorrrr�globalsZmod_dictZCOMPILER_FLAG_NAMESrArVrWr=rrrrrrrrrr#r$r%r'r)r+r0r2r4r6r8r9rGrXrYrjrJrxr|r�r�r�r�r�r�r�r�r�r�r�r�r�rbr�r�r�r�r�r�rrrrrrrrr4r7r:r<r�rIrLrSrUrYrZrirjrqrr�_fieldsrsrwrzr|r}rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�Z_WrapperDescriptor�allZ_MethodWrapperr�r@Z_ClassMethodWrapperr7r�r�r�r�r�r�r�r�r�r�r�r"r�r��IntEnumr�r�r(r�r)r�r+r�r,r�r-Z_PARAM_NAME_MAPPING�__getitem__rr�rr#r�r?r�r
r
r
r�<module>sd	



	
	
,
t$
;
	
.I-7





[


	(>
5

 



		0

LHRHk:

No se encontró la página – Alquiler de Limusinas, Autos Clásicos y Microbuses

Alquiler de Autos Clásicos para Sesiones Fotográficas: Estilo y Elegancia en Cada Toma

Si buscas darle un toque auténtico, elegante o retro a tus fotos, el alquiler de autos clásicos para sesiones fotográficas es la opción ideal. Este tipo de vehículos no solo son íconos del diseño automotriz, sino que se convierten en un elemento visual impactante que transforma cualquier sesión en una experiencia única.


¿Por Qué Usar Autos Clásicos en Sesiones Fotográficas?

1. Estética Visual Única

Un auto clásico aporta personalidad, historia y carácter a tus imágenes. Desde tomas urbanas hasta escenarios naturales, estos vehículos se adaptan a diferentes estilos visuales.

2. Ideal para Diversos Usos

  • Sesiones de boda y pre-boda
  • Campañas publicitarias
  • Editoriales de moda
  • Proyectos cinematográficos
  • Contenido para redes sociales

3. Variedad de Modelos

Desde convertibles vintage hasta muscle cars de los años 60 y 70, puedes elegir el modelo que mejor se ajuste a la estética de tu sesión.


Beneficios del Alquiler Profesional

  • Vehículos en excelente estado estético y mecánico
  • Choferes disponibles si se requiere movilidad
  • Asesoría para elegir el modelo adecuado
  • Posibilidad de ambientación adicional (flores, letreros, decoración retro)

Conclusión: Captura Momentos con Estilo

Un auto clásico puede transformar tu sesión fotográfica en una obra de arte visual. No importa el propósito: el estilo, la elegancia y el impacto están garantizados.


📸 ¡Reserva tu auto clásico y crea fotos memorables!

Consulta disponibilidad y haz de tu sesión algo realmente especial. ¡Llama la atención con cada toma!

Not Found

404

Sorry, the page you’re looking for doesn’t exist.