� ��^i���Z�ddlZddlmZddlmZddlmZGd�dej���ZdS)�N)� PackageFinder)�BaseDistribution)�InstallRequirementc���eZdZdZdeddf�fd� Zejdefd���Z ejde de ddfd ���Z �xZ S) �AbstractDistributiona A base class for handling installable artifacts. The requirements for anything installable are as follows: - we must be able to determine the requirement name (or we can't correctly handle the non-upgrade case). - for packages with setup requirements, we must also be able to determine their requirements without installing additional packages (for the same reason as run-time dependencies) - we must be able to create a Distribution object exposing the above metadata. �req�returnNc�V��t�����||_dS�N)�super�__init__r)�selfr� __class__s ���/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/distributions/base.pyr zAbstractDistribution.__init__s$��� �������������c��t���r ��NotImplementedError)rs r�get_metadata_distributionz.AbstractDistribution.get_metadata_distributions��!�#�#�#r�finder�build_isolationc��t���r r)rrrs r�prepare_distribution_metadataz2AbstractDistribution.prepare_distribution_metadata s��"�#�#�#r)�__name__� __module__� __qualname__�__doc__rr �abc�abstractmethodrrr�boolr� __classcell__)rs@rrrs�������� � ��.��4������� ��$�+;�$�$�$���$� ��$�#�$�6:�$� �$�$�$���$�$�$�$�$rr)� metaclass) r�"pip._internal.index.package_finderr�pip._internal.metadata.baser�pip._internal.reqr�ABCMetar�rr�r(s�� � � � �<�<�<�<�<�<�8�8�8�8�8�8�0�0�0�0�0�0�$�$�$�$�$�S�[�$�$�$�$�$�$r