
    wOg                     ^   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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mZ neZg dZdefd	Z G d
 de          Z ej        d          defd            ZdefdZdeee                  defdZdedefdZdededefdZde dededefdZ!dS )    N)TYPE_CHECKINGListOptionalTypecast)	strtobool   )BaseDistributionBaseEnvironmentFilesystemWheelMemoryWheelWheel)LiteralProtocol)	r
   r   r   r   r   get_default_environmentget_environmentget_wheel_distributionselect_backendreturnc                  :   t          j        t          t                    5  t	          t          t          j        d                             cddd           S # 1 swxY w Y   t          j	        dk     rdS 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_resourcess`` otherwise. 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, regardless of Python
      version.
    * On Python 3.11+, 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*).
    _PIP_USE_IMPORTLIB_METADATAN)      Fr   T)
contextlibsuppressKeyError
ValueErrorboolr   osenvironsysversion_infoimportlib.metadatagetattrmetadata	importlibs    Y/var/www/AppWebDeiv/myenv/lib/python3.11/site-packages/pip/_internal/metadata/__init__.py_should_use_importlib_metadatar)      s     
	Xz	2	2 J JIbj)FGHHIIJ J J J J J J J J J J J J J J J
'!!u	*,I4PPQQQs   ,AA Ac                   F    e Zd ZU ded<   ee         ed<   ee         ed<   dS )Backendz%Literal["importlib", "pkg_resources"]NAMEDistributionEnvironmentN)__name__
__module____qualname____annotations__r   r
   r        r(   r+   r+   4   sA         
1111'((((o&&&&&&r4   r+   )maxsizec                      t                      rddlm}  t          t          |           S ddlm} t          t          |          S )Nr	   r&   )pkg_resources)r)    r'   r   r+   r7   )r'   r7   s     r(   r   r   :   sT    %'' (GY''''''r4   c                  L    t                      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 accorss calls.
    )r   r.   defaultr3   r4   r(   r   r   E   s     '//111r4   pathsc                 N    t                      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   r.   
from_paths)r;   s    r(   r   r   O   s!     '225999r4   	directoryc                 N    t                      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   r-   from_directory)r>   s    r(   get_directory_distributionrA   Y   s!     (77	BBBr4   wheelcanonical_namec                 P    t                      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   r-   
from_wheel)rB   rC   s     r(   r   r   b   s#     (33E>JJJr4   metadata_contentsfilenamec                 R    t                      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   r-   from_metadata_file_contents)rF   rG   rC   s      r(   get_metadata_distributionrJ   m   s.     (DD  r4   )"r   	functoolsr   r!   typingr   r   r   r   r   pip._internal.utils.miscr   baser
   r   r   r   r   r   r   object__all__r   r)   r+   	lru_cacher   r   strr   rA   r   bytesrJ   r3   r4   r(   <module>rT      s2           				 



 < < < < < < < < < < < < < < . . . . . . X X X X X X X X X X X X X X (((((((((H
 
 
R R R R R.' ' ' ' 'h ' ' ' T"""( ( ( ( #"(2 2 2 2 2:8DI. :? : : : :C# C2B C C C CK% K KAQ K K K K  	     r4   