Your IP : 18.217.89.130
���]�! � @ s� d d l m Z d d � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd
d � d e � Z
Gd d
� d
d e
�Z d d � Z d S)� )�WeakSetc C s
d | _ | S)NT)�__isabstractmethod__)�funcobj� r �(/opt/alt/python35/lib64/python3.5/abc.py�abstractmethod s r c s( e Z d Z d Z � f d d � Z � S)�abstractclassmethodTc s d | _ t � j | � d S)NT)r �super�__init__)�self�callable)� __class__r r r
0 s zabstractclassmethod.__init__)�__name__�
__module__�__qualname__r r
r r )r
r r s r c s( e Z d Z d Z � f d d � Z � S)�abstractstaticmethodTc s d | _ t � j | � d S)NT)r r r
)r r )r
r r r
H s zabstractstaticmethod.__init__)r r r r r
r r )r
r r 5 s r c @ s e Z d Z d Z d S)�abstractpropertyTN)r r r r r r r r r M s r c s[ e Z d Z d Z � f d d � Z d d � Z d d d � Z d d
� Z d d � Z � S)
�ABCMetar c s� t � j | | | | � } d d � | j � D� } x_ | D]W } xN t | d t � � D]7 } t | | d � } t | d d � rW | j | � qW Wq; Wt | � | _ t � | _ t � | _
t � | _ t j
| _ | S)Nc S s. h | ]$ \ } } t | d d � r | � q S)r F)�getattr)�.0�name�valuer r r � <setcomp>� s z"ABCMeta.__new__.<locals>.<setcomp>�__abstractmethods__r F)r �__new__�itemsr �set�add� frozensetr r �
_abc_registry�
_abc_cache�_abc_negative_cacher �_abc_invalidation_counter�_abc_negative_cache_version)�mclsr �bases� namespace�cls� abstracts�baser )r
r r r � s
zABCMeta.__new__c C sl t | t � s t d � � t | | � r. | St | | � rI t d � � | j j | � t j d 7_ | S)NzCan only register classesz'Refusing to create an inheritance cycle� ) �
isinstance�type� TypeError�
issubclass�RuntimeErrorr r r r"