B }e^@sddlZddlZddlZddlZddlZddlZejddkZerJefZ ne fZ ddZ Gddde Z GdddeZGd d d e eZGd d d eZGd ddeZGdddeZGdddeZGdddeZy2ejds ddlmZmZmZmZmZmZWnek r$YnXddZddZdifddZGdd d e Zdifd!d"Zd#d$Zd%d&Z d'd(Z!d)d*Z"d+d,Z#Gd-d.d.eZ$dS)/NcGs |d|iS)z%Create a base class with a metaclass.ZNewBase)metabasesrr7/tmp/pip-target-9_2btsuh/lib64/python/wrapt/wrappers.pywith_metaclasssrc@sXeZdZeddZejddZeddZejddZeddZed d Zd S) _ObjectProxyMethodscCs|jjS)N) __wrapped__ __module__)selfrrrr sz_ObjectProxyMethods.__module__cCs ||j_dS)N)r r )r valuerrrr "scCs|jjS)N)r __doc__)r rrrr &sz_ObjectProxyMethods.__doc__cCs ||j_dS)N)r r )r r rrrr *scCs|jjS)N)r __dict__)r rrrr1sz_ObjectProxyMethods.__dict__cCs|jjS)N)r __weakref__)r rrrr:sz_ObjectProxyMethods.__weakref__N)__name__r __qualname__propertysetterr rrrrrrrs    rc@seZdZddZdS)_ObjectProxyMetaTypecCs|ttt||||S)N)updatevarsrtype__new__)clsnamer dictionaryrrrr?sz_ObjectProxyMetaType.__new__N)rr rrrrrrr>src@s(eZdZdZddZeddZejddZeddZejd dZed d Zejd d Zd dZ ddZ e s~ddZ ddZ ddZe sddZejdkrddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Z d8d9Z!d:d;Z"dd?Z$d@dAZ%dBdCZ&dDdEZ'dFdGZ(dHdIZ)dJdKZ*dLdMZ+dNdOZ,dPdQZ-dRdSZ.dTdUZ/dVdWZ0dXdYZ1dZd[Z2d\d]Z3d^d_Z4d`daZ5dbdcZ6dddeZ7dfdgZ8dhdiZ9djdkZ:dldmZ;dndoZdtduZ?dvdwZ@dxdyZAdzd{ZBd|d}ZCd~dZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQddZRddZSddZTddZUddZVddZWddZXddZYddZZddZ[ddZ\ddZ]ddZ^ddZ_ddZ`ddZadS) ObjectProxyr cCs<t|d|yt|d|jWntk r6YnXdS)Nr r)object __setattr__rAttributeError)r wrappedrrr__init__Ms zObjectProxy.__init__cCs|jjS)N)r r)r rrrrYszObjectProxy.__name__cCs ||j_dS)N)r r)r r rrrr]scCs|jjS)N)r __class__)r rrrr"aszObjectProxy.__class__cCs ||j_dS)N)r r")r r rrrr"escCs|jjS)N)r __annotations__)r rrrr#iszObjectProxy.__annotations__cCs ||j_dS)N)r r#)r r rrrr#mscCs t|jS)N)dirr )r rrr__dir__qszObjectProxy.__dir__cCs t|jS)N)strr )r rrr__str__tszObjectProxy.__str__cCs t|jS)N)bytesr )r rrr __bytes__xszObjectProxy.__bytes__cCs(dt|jt|t|jjt|jS)Nz<{} at 0x{:x} for {} at 0x{:x}>)formatrridr )r rrr__repr__{s zObjectProxy.__repr__cCs t|jS)N)reversedr )r rrr __reversed__szObjectProxy.__reversed__cCs t|jS)N)roundr )r rrr __round__szObjectProxy.__round__icCs|jfS)N)r )r rrrr__mro_entries__szObjectProxy.__mro_entries__cCs |j|kS)N)r )r otherrrr__lt__szObjectProxy.__lt__cCs |j|kS)N)r )r r2rrr__le__szObjectProxy.__le__cCs |j|kS)N)r )r r2rrr__eq__szObjectProxy.__eq__cCs |j|kS)N)r )r r2rrr__ne__szObjectProxy.__ne__cCs |j|kS)N)r )r r2rrr__gt__szObjectProxy.__gt__cCs |j|kS)N)r )r r2rrr__ge__szObjectProxy.__ge__cCs t|jS)N)hashr )r rrr__hash__szObjectProxy.__hash__cCs t|jS)N)boolr )r rrr __nonzero__szObjectProxy.__nonzero__cCs t|jS)N)r;r )r rrr__bool__szObjectProxy.__bool__cCs|drt|||n|dkrt|||yt|dWntk rTYnXyt|d|jWqtk r~YqXnR|dkrt|j||t|||n,tt ||rt|||nt|j||dS)N_self_r r) startswithrr __delattr__rrsetattrr hasattrr)r rr rrrrs$ zObjectProxy.__setattr__cCs|dkrtdt|j|S)Nr z wrapper has not been initialised) ValueErrorgetattrr )r rrrr __getattr__szObjectProxy.__getattr__cCsx|drt||n\|dkr*tdnJ|dkrLt||t|j|n(tt||rht||n t|j|dS)Nr>r z__wrapped__ must be an objectr)r?rr@ TypeErrordelattrr rBr)r rrrrr@s   zObjectProxy.__delattr__cCs |j|S)N)r )r r2rrr__add__szObjectProxy.__add__cCs |j|S)N)r )r r2rrr__sub__szObjectProxy.__sub__cCs |j|S)N)r )r r2rrr__mul__szObjectProxy.__mul__cCst|j|S)N)operatordivr )r r2rrr__div__szObjectProxy.__div__cCst|j|S)N)rKtruedivr )r r2rrr __truediv__szObjectProxy.__truediv__cCs |j|S)N)r )r r2rrr __floordiv__szObjectProxy.__floordiv__cCs |j|S)N)r )r r2rrr__mod__szObjectProxy.__mod__cCs t|j|S)N)divmodr )r r2rrr __divmod__szObjectProxy.__divmod__cGst|j|f|S)N)powr )r r2argsrrr__pow__szObjectProxy.__pow__cCs |j|>S)N)r )r r2rrr __lshift__szObjectProxy.__lshift__cCs |j|?S)N)r )r r2rrr __rshift__szObjectProxy.__rshift__cCs |j|@S)N)r )r r2rrr__and__szObjectProxy.__and__cCs |j|AS)N)r )r r2rrr__xor__szObjectProxy.__xor__cCs |j|BS)N)r )r r2rrr__or__szObjectProxy.__or__cCs ||jS)N)r )r r2rrr__radd__szObjectProxy.__radd__cCs ||jS)N)r )r r2rrr__rsub__szObjectProxy.__rsub__cCs ||jS)N)r )r r2rrr__rmul__ szObjectProxy.__rmul__cCst||jS)N)rKrLr )r r2rrr__rdiv__ szObjectProxy.__rdiv__cCst||jS)N)rKrNr )r r2rrr __rtruediv__szObjectProxy.__rtruediv__cCs ||jS)N)r )r r2rrr __rfloordiv__szObjectProxy.__rfloordiv__cCs ||jS)N)r )r r2rrr__rmod__szObjectProxy.__rmod__cCs t||jS)N)rRr )r r2rrr __rdivmod__szObjectProxy.__rdivmod__cGst||jf|S)N)rTr )r r2rUrrr__rpow__szObjectProxy.__rpow__cCs ||j>S)N)r )r r2rrr __rlshift__szObjectProxy.__rlshift__cCs ||j?S)N)r )r r2rrr __rrshift__"szObjectProxy.__rrshift__cCs ||j@S)N)r )r r2rrr__rand__%szObjectProxy.__rand__cCs ||jAS)N)r )r r2rrr__rxor__(szObjectProxy.__rxor__cCs ||jBS)N)r )r r2rrr__ror__+szObjectProxy.__ror__cCs|j|7_|S)N)r )r r2rrr__iadd__.szObjectProxy.__iadd__cCs|j|8_|S)N)r )r r2rrr__isub__2szObjectProxy.__isub__cCs|j|9_|S)N)r )r r2rrr__imul__6szObjectProxy.__imul__cCst|j||_|S)N)rKZidivr )r r2rrr__idiv__:szObjectProxy.__idiv__cCst|j||_|S)N)rKitruedivr )r r2rrr __itruediv__>szObjectProxy.__itruediv__cCs|j|_|S)N)r )r r2rrr __ifloordiv__BszObjectProxy.__ifloordiv__cCs|j|;_|S)N)r )r r2rrr__imod__FszObjectProxy.__imod__cCs|j|C_|S)N)r )r r2rrr__ipow__JszObjectProxy.__ipow__cCs|j|K_|S)N)r )r r2rrr __ilshift__NszObjectProxy.__ilshift__cCs|j|L_|S)N)r )r r2rrr __irshift__RszObjectProxy.__irshift__cCs|j|M_|S)N)r )r r2rrr__iand__VszObjectProxy.__iand__cCs|j|N_|S)N)r )r r2rrr__ixor__ZszObjectProxy.__ixor__cCs|j|O_|S)N)r )r r2rrr__ior__^szObjectProxy.__ior__cCs|j S)N)r )r rrr__neg__bszObjectProxy.__neg__cCs|j S)N)r )r rrr__pos__eszObjectProxy.__pos__cCs t|jS)N)absr )r rrr__abs__hszObjectProxy.__abs__cCs|jS)N)r )r rrr __invert__kszObjectProxy.__invert__cCs t|jS)N)intr )r rrr__int__nszObjectProxy.__int__cCs t|jS)N)longr )r rrr__long__qszObjectProxy.__long__cCs t|jS)N)floatr )r rrr __float__tszObjectProxy.__float__cCs t|jS)N)complexr )r rrr __complex__wszObjectProxy.__complex__cCs t|jS)N)octr )r rrr__oct__zszObjectProxy.__oct__cCs t|jS)N)hexr )r rrr__hex__}szObjectProxy.__hex__cCs t|jS)N)rKindexr )r rrr __index__szObjectProxy.__index__cCs t|jS)N)lenr )r rrr__len__szObjectProxy.__len__cCs ||jkS)N)r )r r rrr __contains__szObjectProxy.__contains__cCs |j|S)N)r )r keyrrr __getitem__szObjectProxy.__getitem__cCs||j|<dS)N)r )r rr rrr __setitem__szObjectProxy.__setitem__cCs |j|=dS)N)r )r rrrr __delitem__szObjectProxy.__delitem__cCs|j||S)N)r )r ijrrr __getslice__szObjectProxy.__getslice__cCs||j||<dS)N)r )r rrr rrr __setslice__szObjectProxy.__setslice__cCs|j||=dS)N)r )r rrrrr __delslice__szObjectProxy.__delslice__cCs |jS)N)r __enter__)r rrrrszObjectProxy.__enter__cOs|jj||S)N)r __exit__)r rUkwargsrrrrszObjectProxy.__exit__cCs t|jS)N)iterr )r rrr__iter__szObjectProxy.__iter__cCs tddS)Nz#object proxy must define __copy__())NotImplementedError)r rrr__copy__szObjectProxy.__copy__cCs tddS)Nz'object proxy must define __deepcopy__())r)r memorrr __deepcopy__szObjectProxy.__deepcopy__cCs tddS)Nz(object proxy must define __reduce_ex__())r)r rrr __reduce__szObjectProxy.__reduce__cCs tddS)Nz(object proxy must define __reduce_ex__())r)r protocolrrr __reduce_ex__szObjectProxy.__reduce_ex__N)brr r __slots__r!rrr"r#r%r'PY2r)r,r.r0sys hexversionr1r3r4r5r6r7r8r:r<r=rrEr@rHrIrJrMrOrPrQrSrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrorprqrrrsrtrurvrwrxryr{r|r~rrrrrrrrrrrrrrrrrrrrrrrrrrIs     rc@seZdZddZdS)CallableObjectProxycOs |j||S)N)r )r rUrrrr__call__szCallableObjectProxy.__call__N)rr rrrrrrrsrcs$eZdZfddZddZZS)PartialCallableObjectProxycsZt|dkrtd|d|dd}}t|s:tdtt||||_||_dS)Nz(partial type takes at least one argumentrz#the first argument must be callable)rrFcallablesuperrr! _self_args _self_kwargs)r rUrr )r"rrr!s z#PartialCallableObjectProxy.__init__cOs*|j|}t|j}|||j||S)N)rdictrrr )r rUr_args_kwargsrrrrs   z#PartialCallableObjectProxy.__call__)rr rr!r __classcell__rr)r"rrs rcs2eZdZdZd fdd ZddZdd ZZS) _FunctionWrapperBase)_self_instance _self_wrapper _self_enabled _self_binding _self_parentNfunctioncsZtt||t|d|t|d|t|d|t|d|t|d|dS)Nrrrrr)rrr!rr)r r instancewrapperenabledbindingparent)r"rrr!s z_FunctionWrapperBase.__init__cCs|jdkrBt|js>|j||}||||j|j|j|S|S|j dkr|jdkr|jj||}|j|||j|j|j|jS|S)Nr) rinspectisclassr __get____bound_function_wrapper__rrrr)r rownerZ descriptorrrrrs    z_FunctionWrapperBase.__get__cOs|jdk r.lookup_attributer)r string_types __import__rmodulessplit)modulerrpathrroriginalrrr resolve_paths    rcCst|||dS)N)rA)rr replacementrrr apply_patchsrrc Cs0t||\}}}||f||}t||||S)N)rr) rrfactoryrUrrrrrrrr wrap_objects rc@s,eZdZddZddZddZddZd S) AttributeWrappercCs||_||_||_||_dS)N)rrrUr)r rrrUrrrrr!szAttributeWrapper.__init__cCs"|j|j}|j|f|j|jS)N)rrrrUr)r rrr rrrrs zAttributeWrapper.__get__cCs||j|j<dS)N)rr)r rr rrr__set__ szAttributeWrapper.__set__cCs|j|j=dS)N)rr)r rrrr __delete__#szAttributeWrapper.__delete__N)rr rr!rrrrrrrrsrc Cs<|dd\}}t||d}t||||}t||||S)Nrrr)rsplitrrr) rrrrUrrrrrrrrwrap_object_attribute&s  rcsfdd}t|S)NcsH|d}|dkr}n(t|r.d|}n|t|}t||S)Nr)rrrrr)r rrUrtarget_wrappedtarget_wrapper)rrr_wrapper3s z"function_wrapper.._wrapper)r)rrr)rrfunction_wrapper2s rcCst||t|fS)N)rr)rrrrrrwrap_function_wrapper>srcsfdd}|S)Ncstt|fS)N)rr)r)rrrrrBsz(patch_function_wrapper.._wrapperr)rrrr)rrrpatch_function_wrapperAsrcsfdd}|S)Ncsfdd}t|S)NcsX|d}|dkrn(t|r.d|n|t|fdd}t||S)Nrc sDt\}}}t|}t|||z |||St|||XdS)N)rrrA)r rrUrrrrr)rrrrr_executePs    zRtransient_function_wrapper.._decorator.._wrapper.._execute)rrrrr)r rrUrrr)rrr)rrrHs z@transient_function_wrapper.._decorator.._wrapper)r)rr)rr)rr _decoratorGsz.transient_function_wrapper.._decoratorr)rrrr)rrrtransient_function_wrapperFsrcCs$|jr dSd|_|dk r ||dS)NT) _self_expired)refproxycallbackrrr_weak_function_proxy_callbackes rcs*eZdZdZdfdd ZddZZS)WeakFunctionProxy)rrNc s|otjt||d}d|_t|trvt|j||_|j dk rZt t | t |j |nt t | t ||dSy.t|j||_t t | t |j|Wn2tk rd|_t t | t ||YnXdS)N)rrF) functoolspartialrrrrweakrefrrrrrr!rr__func__r)r r rZ _callback)r"rrr!vs*       zWeakFunctionProxy.__init__cOsD|jo |}|jo|j}|dkr.|j||S||t|||S)N)rr rr)r rUrrrrrrrs   zWeakFunctionProxy.__call__)N)rr rrr!rrrr)r"rrrs-r)%osrrrKrr version_infor basestringrr&rrrrrrrrrrrenvirongetZ _wrappers ImportErrorrrrrrrrrrrrrrrrsH+ kj:_$)