File: //usr/lib/python3/dist-packages/zope/interface/__pycache__/interface.cpython-38.pyc
U
$
x`{� � @ s d Z ddlZddlmZ ddlmZ ddlZddlmZ ddlmZ ddl
mZ ddlm
Z ddlm
Z
d d
dgZdZd
ZdZdZe� Ze� Zdd� Zdd� ZG dd� de�ZeZeG dd� de��ZG dd� de�ZeG dd� dee��Zeg d�ZG dd
� d
e�Z G dd� de!�Z"e"d ee efdd i�Z#d!d"� Z$G d#d � d e#�Z%e%d$d%d&�Z&d'd(� e&_'e&�(e&� e&j)e&fk�svt*�e&e _+e&e
_+G d)d*� d*e%�Z,G d+d,� d,e�Z-G d-d.� d.e-�Z.d:d/d0�Z/d;d1d2�Z0d3d4� Z1dd5l2m3Z3 dd6l2m4Z4 dd7l
m5Z5 dd8l
m6Z6 dd9l2m7Z7 e �(e7e7� dS )<z Interface object implementation
� N)�
MethodType)�FunctionType)�_use_c_impl)�PYTHON2)�Invalid)�ro�InterfaceClass�
Specification�
adapter_hooks� � Z__interface_tagged_values__Z__interface_methods__c C s2 t �d�j}|�ti �}|�dg �}|�| � tS )N� �
invariants)�sys� _getframe�f_locals�
setdefault�TAGGED_DATA�append�_decorator_non_return)�callr Ztagsr � r �:/usr/lib/python3/dist-packages/zope/interface/interface.py� invariant2 s
r c C s$ t �d�j}|�ti �}||| <