File: //lib/python3/dist-packages/zope/interface/__pycache__/interface.cpython-310.pyc
o
$
x`{� � @ s d Z ddlZddlmZ ddlmZ ddlZddlmZ ddlmZ ddl
mZ ddlm
Z ddlm
Z
g d �Zd
ZdZdZd
Ze� Ze� Zdd� Zdd� ZG dd� de�ZeZeG dd� de��ZG dd� de�ZeG dd� dee��Zeg d�ZG dd� de�Z G dd� de!�Z"e"dee efd d!i�Z#d"d#� Z$G d$d� de#�Z%e%d%d&d'�Z&d(d)� e&_'e&�(e&� e&j)e&fks�J �e&e _*e&e
_*G d*d+� d+e%�Z+G d,d-� d-e�Z,G d.d/� d/e,�Z-d;d0d1�Z.d<d2d3�Z/d4d5� Z0dd6l1m2Z2 dd7l1m3Z3 dd8l
m4Z4 dd9l
m5Z5 dd:l1m6Z6 e �(e6e6� dS )=z Interface object implementation
� N)�
MethodType)�FunctionType)�_use_c_impl)�PYTHON2)�Invalid)�ro)�InterfaceClass�
Specification�
adapter_hooks� � �__interface_tagged_values__�__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 �tagsr � r �:/usr/lib/python3/dist-packages/zope/interface/interface.py� invariant2 s
r c C s$ t �d�j}|�ti �}||| <