�
,�ReX � �^ � d Z ddlZddlZddlZddlmZ dZdZdZ dZ
dZd � Zd
d
�Z
d
d�Zd� ZdS )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 nt j j } || |� � S �N)�
isinstance�list� importlib� machinery�
PathFinder� find_spec�util)�module�paths�finders ��/builddir/build/BUILDROOT/alt-python311-setuptools-65.6.3-2.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/setuptools/_imp.pyr r sN � � �e�T�"�"� !� ��&�&�(�(�2�2��� � �
�6�&�%� � � � c � � t | |� � }|�t d| z � � �|j s5t |d� � r%t j � d|j � � }d}d}t |j t � � }|j
dk s&|r3t |j t j j
� � rt }d}dx}}�n |j
dk s&|r2t |j t j j � � rt }d}dx}}n�|j r�|j
}t" j � |� � d }|t j j v rd
nd}|t j j v rt* }n5|t j j v rt. }n|t j j v rt2 }|t* t. hv rt5 ||� � }nd}dx}}|||||ffS )z7Just like 'imp.find_module()', but with package supportN�
Can't find %s�submodule_search_locationsz__init__.py������frozen� zbuilt-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� � ��V�U�#�#�D��|��/�F�2�3�3�3��� K���/K�!L�!L� K��~�.�.�}�d�k�J�J��
�D��D�
���T�
*�
*�F��{�h���&��Z��K��,�;�.=� .=�����������
��
� "� "�f� "���K��,�<�2>� 2>� "����������
� � ��{����!�!�$�'�'��*��� � 3� C�C�C�s�s����Y�(�8�8�8��D�D�
�y�*�<�
<�
<��D�D�
�y�*�=�
=�
=��D��I�{�+�+�+���d�#�#�D������������d�+�+�+r c �~ � t | |� � }|st d| z � � �|j � | � � S �Nr )r r r# �get_code)r r r5 s r �get_frozen_objectr? G sB � ��V�U�#�#�D�� 4��/�F�2�3�3�3��;����'�'�'r c �h � t | |� � }|st d| z � � �t |� � S r= )r r r )r r �infor5 s r �
get_modulerB N s: � ��V�U�#�#�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 �