U
    wy]                     @   s   d d Z G dd deZG dd deZG dd deZz,dd	lmZm	Z	m
Z
mZmZmZmZmZ W n* ek
r   dd
lmZmZ de_Y nX G dd deZG dd dedZdS )c                 C   s
   d| _ | S NT)__isabstractmethod__)Zfuncobj r   @/home/stadmin/Documents/SimTableSoftware/Python-3.8.0/Lib/abc.pyabstractmethod   s    r   c                       s    e Zd ZdZ fddZ  ZS )abstractclassmethodTc                    s   d|_ t | d S r   r   super__init__selfcallable	__class__r   r   r	   $   s    zabstractclassmethod.__init____name__
__module____qualname__r   r	   __classcell__r   r   r   r   r      s   r   c                       s    e Zd ZdZ fddZ  ZS )abstractstaticmethodTc                    s   d|_ t | d S r   r   r
   r   r   r   r	   1   s    zabstractstaticmethod.__init__r   r   r   r   r   r   )   s   r   c                   @   s   e Zd ZdZdS )abstractpropertyTN)r   r   r   r   r   r   r   r   r   6   s   r       )get_cache_token	_abc_init_abc_register_abc_instancecheck_abc_subclasscheck	_get_dump_reset_registry_reset_caches)ABCMetar   abcc                       sN   e Zd Z fddZdd Zdd Zdd Zdd
dZdd Zdd Z	  Z
S )r   c                    s"   t  j| |||f|}t| |S N)r   __new__r   )ZmclsnameZbasesZ	namespacekwargsclsr   r   r   r"   T   s    zABCMeta.__new__c                 C   s
   t | |S r!   )r   r%   Zsubclassr   r   r   registerY   s    zABCMeta.registerc                 C   s
   t | |S r!   )r   )r%   Zinstancer   r   r   __instancecheck__`   s    zABCMeta.__instancecheck__c                 C   s
   t | |S r!   )r   r&   r   r   r   __subclasscheck__d   s    zABCMeta.__subclasscheck__Nc                 C   s   t d| j d| j |d t dt  |d t| \}}}}t d||d t d||d t d||d t d||d d S )	NzClass: .)filezInv. counter: z_abc_registry: z_abc_cache: z_abc_negative_cache: z_abc_negative_cache_version: )printr   r   r   r   )r%   r+   Z_abc_registryZ
_abc_cacheZ_abc_negative_cacheZ_abc_negative_cache_versionr   r   r   _dump_registryh   s    
zABCMeta._dump_registryc                 C   s   t |  d S r!   )r   r%   r   r   r   _abc_registry_cleart   s    zABCMeta._abc_registry_clearc                 C   s   t |  d S r!   )r   r.   r   r   r   _abc_caches_clearx   s    zABCMeta._abc_caches_clear)N)r   r   r   r"   r'   r(   r)   r-   r/   r0   r   r   r   r   r   r   G   s   
r   c                   @   s   e Zd ZdZdS )ABCr   N)r   r   r   	__slots__r   r   r   r   r1   }   s   r1   )	metaclassN)r   classmethodr   staticmethodr   propertyr   Z_abcr   r   r   r   r   r   r   r   ImportErrorZ_py_abcr   r   typer1   r   r   r   r   <module>   s   	,6