File: //lib64/python3.9/importlib/__pycache__/_bootstrap.cpython-39.opt-2.pyc
a
    �DOg��  �                   @   s�  d a dd� Zdd� Zi Zi ZG dd� de�ZG dd� d�ZG d	d
� d
�ZG dd� d�Z	d
d� Z
dd� Zdd� Zdd�dd�Z
dd� Zdd� Zdd� Zdd� ZG dd � d �Zd d d!�d"d#�Zd]d$d%�Zd&d'�d(d)�Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� ZG d6d7� d7�ZG d8d9� d9�ZG d:d;� d;�Zd<d=� Zd>d?� Z d^d@dA�Z!dBdC� Z"dDZ#e#dE Z$dFdG� Z%e&� Z'dHdI� Z(d_dKdL�Z)d&dM�dNdO�Z*dPdQ� Z+d`dSdT�Z,dUdV� Z-dWdX� Z.dYdZ� Z/d[d\� Z0d S )aNc                 C   s8   dD ] }t ||�rt| |t||�� q| j�|j� d S )N)�
__module__�__name__�__qualname__�__doc__)�hasattr�setattr�getattr�__dict__�update)�new�old�replace� r
   �,/usr/lib64/python3.9/importlib/_bootstrap.py�_wrap   s    
r   c                 C   s   t t�| �S �N)�type�sys��namer
   r
   r   �_new_module#   s    r   c                   @   s   e Zd ZdS )�_DeadlockErrorN)r   r   r   r
   r
   r
   r   r   0   s   r   c                   @   s4   e Zd Zdd� Zdd� Zdd� Zdd� Zd	d
� ZdS )�_ModuleLockc                 C   s0   t �� | _t �� | _|| _d | _d| _d| _d S �N�    )�_thread�
allocate_lock�lock�wakeupr   �owner�count�waiters��selfr   r
   r
   r   �__init__:   s    
z_ModuleLock.__init__c                 C   sX   t �� }| j}t� }t�|�}|d u r*dS |j}||kr<dS ||v rHdS |�|� qd S )NFT)r   �	get_identr   �set�_blocking_on�get�add)r"