o
    Ee	                     @   sd   d Z ddlZddlZddlZddlmZ dZdZdZdZ	dZ
d	d
 ZdddZdddZdd ZdS )zX
Re-implementation of find_module and get_frozen_object
from the deprecated imp module.
    N)module_from_spec               c                 C   s(   t |trtj jntjj}|| |S N)
isinstancelist	importlib	machinery
PathFinder	find_specutil)modulepathsfinder r   P/var/www/bmteknikk.ddns.net/venv/lib/python3.10/site-packages/setuptools/_imp.pyr      s
   
r   c           	      C   sJ  t | |}|du rtd|  |jst|drtjd|j}d}d}t|jt	}|j
dks8|rAt|jtjjrAt}d}d }}n\|j
dksP|rYt|jtjjrYt}d}d }}nD|jr|j
}tj|d	 }|tjjv rod
nd}|tjjv rzt}n|tjjv rt}n|tjjv rt}|tthv rt||}nd}d }}|||||ffS )z7Just like 'imp.find_module()', but with package supportNCan't find %ssubmodule_search_locationsz__init__.pyfrozen zbuilt-inr   rrb)r   ImportErrorhas_locationhasattrr   r   spec_from_loaderloaderr	   typeorigin
issubclassr   FrozenImporter	PY_FROZENBuiltinImporter	C_BUILTINospathsplitextSOURCE_SUFFIXES	PY_SOURCEBYTECODE_SUFFIXESPY_COMPILEDEXTENSION_SUFFIXESC_EXTENSIONopen)	r   r   speckindfilestaticr)   suffixmoder   r   r   find_module   sP   





r8   c                 C   s&   t | |}|std|  |j| S Nr   )r   r   r    get_code)r   r   r2   r   r   r   get_frozen_objectM   s   
r;   c                 C   s"   t | |}|std|  t|S r9   )r   r   r   )r   r   infor2   r   r   r   
get_moduleT   s   
r=   r   )__doc__r(   importlib.utilr   importlib.machineryr   r,   r.   r0   r'   r%   r   r8   r;   r=   r   r   r   r   <module>   s    
	
0