
    ,i                    $   d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z
 d dlmZ d dlmZ ddlmZmZmZmZmZ erd dlmZ g d	Zdd
ZddZ G d de	      Zej6                  dd       ZddZddZddZ	 	 	 	 	 	 ddZ 	 	 	 	 	 	 	 	 ddZ!y)    )annotationsN)TYPE_CHECKINGLiteralProtocolcast)
deprecated)	strtobool   )BaseDistributionBaseEnvironmentFilesystemWheelMemoryWheelWheel)NormalizedName)	r   r   r   r   r   get_default_environmentget_environmentget_wheel_distributionselect_backendc                 L   t         j                  dk\  ryt        j                  t        t
              5  t        t        t        j                  d               cddd       S # 1 sw Y   nxY wt         j                  dk  ryddl
} t        t        | j                  dd            S )a  Whether to use the ``importlib.metadata`` or ``pkg_resources`` backend.

    By default, pip uses ``importlib.metadata`` on Python 3.11+, and
    ``pkg_resources`` otherwise. Up to Python 3.13, This can be
    overridden by a couple of ways:

    * If environment variable ``_PIP_USE_IMPORTLIB_METADATA`` is set, it
      dictates whether ``importlib.metadata`` is used, for Python <3.14.
    * On Python 3.11, 3.12 and 3.13, Python distributors can patch
      ``importlib.metadata`` to add a global constant
      ``_PIP_USE_IMPORTLIB_METADATA = False``. This makes pip use
      ``pkg_resources`` (unless the user set the aforementioned environment
      variable to *True*).

    On Python 3.14+, the ``pkg_resources`` backend cannot be used.
    )      T_PIP_USE_IMPORTLIB_METADATANr      Fr   )sysversion_info
contextlibsuppressKeyError
ValueErrorboolr	   osenvironimportlib.metadatagetattrmetadata	importlibs    S/var/www/mymood/env/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py_should_use_importlib_metadatar*      s{    " 7"			Xz	2Ibjj)FGHI 
3	2	2 '! 	**,I4PQQs   %A""A+c                     t         j                  dk  ry dd l} t        | j                  d      ry t        dddd       y )	Nr   r   r   z7Using the pkg_resources metadata backend is deprecated.zpto use the default importlib.metadata backend, by unsetting the _PIP_USE_IMPORTLIB_METADATA environment variablez26.3i4  )reasonreplacementgone_inissue)r   r   r$   hasattrr&   r   r'   s    r)   )_emit_pkg_resources_deprecation_if_neededr1   ?   sI    
'! 	y!!#@A 	 HP     c                  ,    e Zd ZU ded<   ded<   ded<   y)Backendz%Literal['importlib', 'pkg_resources']NAMEztype[BaseDistribution]Distributionztype[BaseEnvironment]EnvironmentN)__name__
__module____qualname____annotations__ r2   r)   r4   r4   X   s    
//((&&r2   r4   c                     t               rddlm}  t        t        |       S t                ddlm} t        t        |      S )Nr
   r'   )pkg_resources)r*    r(   r   r4   r1   r>   )r(   r>   s     r)   r   r   ^   s.    %'GY''-/''r2   c                 F    t               j                  j                         S )a  Get the default representation for the current environment.

    This returns an Environment instance from the chosen backend. The default
    Environment instance should be built from ``sys.path`` and may use caching
    to share instance state across calls.
    )r   r7   defaultr<   r2   r)   r   r   l   s     ''//11r2   c                H    t               j                  j                  |       S )a'  Get a representation of the environment specified by ``paths``.

    This returns an Environment instance from the chosen backend based on the
    given import paths. The backend must build a fresh instance representing
    the state of installed distributions when this function is called.
    )r   r7   
from_paths)pathss    r)   r   r   v   s     ''22599r2   c                H    t               j                  j                  |       S )zGet the distribution metadata representation in the specified directory.

    This returns a Distribution instance from the chosen backend based on
    the given on-disk ``.dist-info`` directory.
    )r   r6   from_directory)	directorys    r)   get_directory_distributionrH      s     ((77	BBr2   c                J    t               j                  j                  | |      S )a  Get the representation of the specified wheel's distribution metadata.

    This returns a Distribution instance from the chosen backend based on
    the given wheel's ``.dist-info`` directory.

    :param canonical_name: Normalized project name of the given wheel.
    )r   r6   
from_wheel)wheelcanonical_names     r)   r   r      s      ((33E>JJr2   c                L    t               j                  j                  | ||      S )a  Get the dist representation of the specified METADATA file contents.

    This returns a Distribution instance from the chosen backend sourced from the data
    in `metadata_contents`.

    :param metadata_contents: Contents of a METADATA file within a dist, or one served
                              via PEP 658.
    :param filename: Filename for the dist this metadata represents.
    :param canonical_name: Normalized project name of the given dist.
    )r   r6   from_metadata_file_contents)metadata_contentsfilenamerL   s      r)   get_metadata_distributionrQ      s)     ((DD r2   )returnr!   )rR   None)rR   r4   )rR   r   )rD   zlist[str] | NonerR   r   )rG   strrR   r   )rK   r   rL   r   rR   r   )rO   bytesrP   rT   rL   rT   rR   r   )"
__future__r   r   	functoolsr"   r   typingr   r   r   r   pip._internal.utils.deprecationr   pip._internal.utils.miscr	   baser   r   r   r   r   pip._vendor.packaging.utilsr   __all__r*   r1   r4   cacher   r   r   rH   r   rQ   r<   r2   r)   <module>r_      s    "   	 
 9 9 6 . X X:
RB2'h ' 
( 
(2:C
K
K"0
K
K  	r2   