
    IxhX	                     ^    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	 Zdd
ZddZd ZdS )zX
Re-implementation of find_module and get_frozen_object
from the deprecated imp module.
    N   )module_from_spec            c                     t          |t                    r#t          j                                        j        nt          j        j        } || |          S N)
isinstancelist	importlib	machinery
PathFinder	find_specutil)modulepathsfinders      B/var/www/html/what/lib/python3.11/site-packages/setuptools/_imp.pyr   r      sN     eT""	!	&&((22  
 6&%       c                    t          | |          }|t          d| z            |j        s5t          |d          r%t          j                            d|j                  }d}d}t          |j        t                    }|j
        dk    s&|r3t          |j        t          j        j                  rt          }d}dx}}n |j
        dk    s&|r2t          |j        t          j        j                  rt           }d}dx}}n|j        r|j
        }t"          j                            |          d	         }|t          j        j        v rd
nd}|t          j        j        v rt*          }n5|t          j        j        v rt.          }n|t          j        j        v rt2          }|t*          t.          hv rt5          ||          }nd}dx}}|||||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modes	            r   find_moduler;      s   VU##D|/F2333 K/K!L!L K~..}dkJJDDT**F{h&ZK,;.= .=	
	"	"f	"K,<2> 2>	"		 {!!$''*	 3 CCCssY(888DDy*<<<DDy*===DI{+++d##Dd+++r   c                 ~    t          | |          }|st          d| z            |j                            |           S Nr   )r   r   r#   get_code)r   r   r5   s      r   get_frozen_objectr?   G   sB    VU##D 4/F2333;'''r   c                 h    t          | |          }|st          d| z            t          |          S r=   )r   r   r   )r   r   infor5   s       r   
get_modulerB   N   s:    VU##D 4/F2333D!!!r   r
   )__doc__r+   importlib.utilr   importlib.machinery
py34compatr   r/   r1   r3   r*   r(   r   r;   r?   rB    r   r   <module>rH      s    
 
			         ( ( ( ( ( ( 			! ! !', ', ', ',T( ( ( (" " " " "r   