Your IP : 3.146.206.87
U
e5d�S �
@ s� d Z ddlmZmZmZmZmZmZmZm Z ddl
mZmZ ddl
Z
ddlZddlZeefZddddd d
ddd
ddddg
ZG dd� de�ZG dd� de
j�ZG dd� de�ZG dd � d e
j�ZG dd� d�ZdS )z{Weak reference support for Python.
This module is an implementation of PEP 205:
http://www.python.org/dev/peps/pep-0205/
� )�getweakrefcount�getweakrefs�ref�proxy�CallableProxyType� ProxyType�
ReferenceType�_remove_dead_weakref)�WeakSet�_IterationGuardNr r r r �WeakKeyDictionaryr r r �
ProxyTypes�WeakValueDictionaryr
�
WeakMethod�finalizec sD e Zd ZdZdZddd�Z� fdd�Zdd � Zd
d� Ze j
Z
� ZS )
r z�
A custom `weakref.ref` subclass which simulates a weak reference to
a bound method, working around the lifetime problem of bound methods.
)� _func_ref�
_meth_type�_alive�__weakref__Nc s~ z|j }|j}W n( tk
r8 td�t|���d �Y nX � �fdd�}t�| ||�}t||�|_t|�|_ d|_
t|��|S )Nz)argument should be a bound method, not {}c s&