U e5d4�@sZddlmZddlmZdgZGdd�d�Zedd��ZGdd�d�Zdd lm Z m Z d S) �)�ref)�contextmanager�localc@s(eZdZdZdd�Zdd�Zdd�ZdS) � _localimpl)�key�dicts� localargs� locallock� __weakref__cCsdtt|��|_i|_dS)Nz_threading_local._localimpl.)�str�idrr)�self�r�(/usr/lib64/python3.8/_threading_local.py�__init__�sz_localimpl.__init__cCst�}|jt|�dS)N�)�current_threadrr )r �threadrrr�get_dict�sz_localimpl.get_dictcshi}|j}t�}t|�}|f�fdd� }|f�fdd� }t||��t||���|j|<�|f|j|<|S)Ncs��}|dk r|j|=dS�N)�__dict__)�_rr)�wrthreadrr� local_deleted�sz-_localimpl.create_dict..local_deletedcs��}|dk r|j�|�}dSr)r�pop)r�idtr�dct)�wrlocalrr�thread_deleted�sz._localimpl.create_dict..thread_deleted)rrr rrr)r Z localdictrrrrrr)rrr� create_dict�s   z_localimpl.create_dictN)�__name__� __module__� __qualname__� __slots__rrrrrrrr�src csvt�|d�}z |��}Wn2tk rJ|��}|j\}}|j||�YnX|j�t�|d|�dVW5QRXdS)N� _local__implr) �object�__getattribute__r�KeyErrorrrrr � __setattr__)r �implr�args�kwrrr�_patch�s   r,c@s0eZdZdZdd�Zdd�Zdd�Zdd �Zd S) r)r$rcOsX|s|r|jtjkrtd��t�|�}t�}||f|_t�|_t�|d|�|� �|S)Nz*Initialization arguments are not supportedr$) rr%� TypeError�__new__rr�RLockr r(r)�clsr*r+r r)rrrr.�s  z local.__new__c Cs,t|��t�||�W5QR�SQRXdSr)r,r%r&�r �namerrrr&�s zlocal.__getattribute__c CsF|dkrtd|jj��t|��t�|||�W5QR�SQRXdS�Nrz+%r object attribute '__dict__' is read-only)�AttributeError� __class__r r,r%r()r r2�valuerrrr(�s�� zlocal.__setattr__c CsD|dkrtd|jj��t|��t�||�W5QR�SQRXdSr3)r4r5r r,r%� __delattr__r1rrrr7�s�� zlocal.__delattr__N)r r!r"r#r.r&r(r7rrrrr�s )rr/N) �weakrefr� contextlibr�__all__rr,rZ threadingrr/rrrr��s   , &