o
    ?Zh                     @   s   zd dl T W dS  eyW   d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlZd dlZd dlZd ZdZdZdZd	Zd
ZdZdZdZdZdd ZdddZdddZY dS w )    )*)acquire_lockrelease_lock
is_builtin	is_frozen)_load)	machineryN                        	   c                  C   s<   dd t jD } dd t jD }dd t jD }| | | S )Nc                 S      g | ]}|d t fqS rb)C_EXTENSION.0s r   J/var/www/html/lang_env/lib/python3.10/site-packages/cffi/_imp_emulation.py
<listcomp>!   s    z get_suffixes.<locals>.<listcomp>c                 S   r   )r)	PY_SOURCEr   r   r   r   r   #       c                 S   r   r   )PY_COMPILEDr   r   r   r   r   $   r   )r   EXTENSION_SUFFIXESSOURCE_SUFFIXESBYTECODE_SUFFIXES)
extensionssourcebytecoder   r   r   get_suffixes    s   r&   c                 C   s  t | tstdt| t |td tfs tdt||d u r?t| r0d d ddtffS t	| r<d d ddt
ffS tj}|D ]N}tj|| }dtjd fD ]}d| }tj||}tj|rpd |ddtff    S qQt D ]\}}}| | }	tj||	}tj|r nqtqA nt| | dd }
d|vrt|d	}t|jd }
W d    n1 sw   Y  t|||
d
}|||||ffS )Nz'name' must be a str, not {}z%'path' must be None or a list, not {} z.pyr   __init__)namebr   )encoding)
isinstancestr	TypeErrorformattypelistRuntimeErrorr   	C_BUILTINr   	PY_FROZENsyspathosjoinr   r"   isfilePKG_DIRECTORYr&   ImportErroropentokenizedetect_encodingreadline)r)   r6   entryZpackage_directorysuffixZpackage_file_name	file_pathmodetype_	file_namer+   filer   r   r   find_module'   sH   

rG   c                 C   s$   t | |}t j| ||d}t|S )N)r)   loaderorigin)r   ExtensionFileLoader
ModuleSpecr   )r)   r6   rF   rH   specr   r   r   load_dynamicP   s   rM   )N)impr;   _impr   r   r   r   Zimportlib._bootstrapr   	importlibr   r7   r5   r=   ZSEARCH_ERRORr   r   r   ZPY_RESOURCEr:   r3   r4   ZPY_CODERESOURCEZIMP_HOOKr&   rG   rM   r   r   r   r   <module>   s.   
)