U e5d(�@s�ddlmZmZdddddgZGdd�ded�ZGd d�de�Ze�e�Gd d�de�Ze�e �Gd d�de�Z Gd d�de �Z e �e �d S)�)�ABCMeta�abstractmethod�Number�Complex�Real�Rational�Integralc@seZdZdZdZdS)r�N)�__name__� __module__� __qualname__� __slots__�__hash__r r r �/usr/lib64/python3.8/numbers.pyr s)� metaclassc@s�eZdZdZedd��Zdd�Zeedd���Zeedd ���Z ed d ��Z ed d ��Z edd��Z edd��Z dd�Zdd�Zedd��Zedd��Zedd��Zedd��Zedd��Zed d!��Zed"d#��Zed$d%��Zed&d'��Zd(S))rr cCsdS�Nr ��selfr r r� __complex__-szComplex.__complex__cCs|dkS�Nrr rr r r�__bool__1szComplex.__bool__cCst�dSr��NotImplementedErrorrr r r�real5sz Complex.realcCst�dSrrrr r r�imag>sz Complex.imagcCst�dSrr�r�otherr r r�__add__GszComplex.__add__cCst�dSrrrr r r�__radd__LszComplex.__radd__cCst�dSrrrr r r�__neg__QszComplex.__neg__cCst�dSrrrr r r�__pos__VszComplex.__pos__cCs || Srr rr r r�__sub__[szComplex.__sub__cCs | |Srr rr r r�__rsub___szComplex.__rsub__cCst�dSrrrr r r�__mul__cszComplex.__mul__cCst�dSrrrr r r�__rmul__hszComplex.__rmul__cCst�dSrrrr r r� __truediv__mszComplex.__truediv__cCst�dSrrrr r r� __rtruediv__rszComplex.__rtruediv__cCst�dSrr)r�exponentr r r�__pow__wszComplex.__pow__cCst�dSrr)r�baser r r�__rpow__|szComplex.__rpow__cCst�dSrrrr r r�__abs__�szComplex.__abs__cCst�dSrrrr r r� conjugate�szComplex.conjugatecCst�dSrrrr r r�__eq__�szComplex.__eq__N)r r r r rrr�propertyrrrrrr r!r"r#r$r%r&r(r*r+r,r-r r r rr sL                c@s�eZdZdZedd��Zedd��Zedd��Zedd ��Zed%d d ��Z d d�Z dd�Z edd��Z edd��Z edd��Zedd��Zedd��Zedd��Zdd�Zedd ��Zed!d"��Zd#d$�Zd S)&rr cCst�dSrrrr r r� __float__�szReal.__float__cCst�dSrrrr r r� __trunc__�s zReal.__trunc__cCst�dSrrrr r r� __floor__�szReal.__floor__cCst�dSrrrr r r�__ceil__�sz Real.__ceil__NcCst�dSrr)rZndigitsr r r� __round__�szReal.__round__cCs||||fSrr rr r r� __divmod__�szReal.__divmod__cCs||||fSrr rr r r� __rdivmod__�szReal.__rdivmod__cCst�dSrrrr r r� __floordiv__�szReal.__floordiv__cCst�dSrrrr r r� __rfloordiv__�szReal.__rfloordiv__cCst�dSrrrr r r�__mod__�sz Real.__mod__cCst�dSrrrr r r�__rmod__�sz Real.__rmod__cCst�dSrrrr r r�__lt__�sz Real.__lt__cCst�dSrrrr r r�__le__�sz Real.__le__cCs tt|��Sr)�complex�floatrr r rr�szReal.__complex__cCs| Srr rr r rr�sz Real.realcCsdSrr rr r rr�sz Real.imagcCs| Srr rr r rr,szReal.conjugate)N)r r r r rr/r0r1r2r3r4r5r6r7r8r9r:r;rr.rrr,r r r rr�s>              c@s8eZdZdZeedd���Zeedd���Zdd�ZdS) rr cCst�dSrrrr r r� numeratorszRational.numeratorcCst�dSrrrr r r� denominatorszRational.denominatorcCs |j|jSr)r>r?rr r rr/szRational.__float__N) r r r r r.rr>r?r/r r r rr s  c@s�eZdZdZedd��Zdd�Zed%dd��Zed d ��Zed d ��Z ed d��Z edd��Z edd��Z edd��Z edd��Zedd��Zedd��Zedd��Zedd��Zdd �Zed!d"��Zed#d$��ZdS)&rr cCst�dSrrrr r r�__int__+szIntegral.__int__cCst|�Sr)�intrr r r� __index__0szIntegral.__index__NcCst�dSrr)rr'�modulusr r rr(4s zIntegral.__pow__cCst�dSrrrr r r� __lshift__?szIntegral.__lshift__cCst�dSrrrr r r� __rlshift__DszIntegral.__rlshift__cCst�dSrrrr r r� __rshift__IszIntegral.__rshift__cCst�dSrrrr r r� __rrshift__NszIntegral.__rrshift__cCst�dSrrrr r r�__and__SszIntegral.__and__cCst�dSrrrr r r�__rand__XszIntegral.__rand__cCst�dSrrrr r r�__xor__]szIntegral.__xor__cCst�dSrrrr r r�__rxor__bszIntegral.__rxor__cCst�dSrrrr r r�__or__gszIntegral.__or__cCst�dSrrrr r r�__ror__lszIntegral.__ror__cCst�dSrrrr r r� __invert__qszIntegral.__invert__cCs tt|��Sr)r=rArr r rr/wszIntegral.__float__cCs| Srr rr r rr>{szIntegral.numeratorcCsdS)N�r rr r rr?�szIntegral.denominator)N)r r r r rr@rBr(rDrErFrGrHrIrJrKrLrMrNr/r.r>r?r r r rr&sB              N) �abcrr�__all__rr�registerr<rr=rrrAr r r r�sp u _