/usr/local/lib/python3.9/site-packages/pip/_internal/req/__pycache__
a ���h�� � @ sn d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl m Z mZmZ d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d lmZ d dlmZ d dlmZ d d lm Z d dl!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z*m+Z+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m5Z9 d dl:m;Z< d dl=m>Z> d dl?m@Z@mAZA d dlBmCZC d dlDmEZE d dlFmGZG d dlHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZP d dlQmRZR d dlSmTZT d d lUmVZVmWZW d d!lXmYZY d d"lZm[Z[ d d#l\m]Z] e�^e_�Z`G d$d%� d%�Zad%d&d'�d(d)�Zbd*d+d&d,d-�d.d/�Zcd*d+d0d1�d2d3�ZddS )4� )�annotationsN)� Collection�Iterable�Sequence)�Values)�Path)�Any)�Marker)�Requirement)�SpecifierSet)�canonicalize_name)�Version)�parse)�BuildBackendHookCaller)�BuildEnvironment�NoOpBuildEnvironment)�InstallationError�PreviousBuildDirError)� get_scheme)�BaseDistribution�get_default_environment�get_directory_distribution�get_wheel_distribution)�FilesystemWheel)� DirectUrl)�Link)�generate_metadata)�generate_editable_metadata)�install_editable)� install_wheel)�load_pyproject_toml�make_pyproject_path)�UninstallPathSet)� deprecated)�Hashes)� ConfiguredBuildBackendHookCaller�ask_path_exists� backup_dir�display_path�hide_url�is_installable_dir�redact_auth_from_requirement�redact_auth_from_url)�get_requirement)�runner_with_spinner_message)� TempDirectory� tempdir_kinds)�unpack_file)�running_under_virtualenv)�vcsc @ s� e Zd ZdZdrdddddddd�dddd d dddd ddddddd�dd�Zdd�dd�Zdd�dd�Zdd�dd�Zedd�dd��Z e jdd�dd ��Zed!d�d"d#��Z edd�d$d%��Zedd�d&d'��Zdsd(dd)�d*d+�Zedd�d,d-��Zdtdd/d0�d1d2�Zdd�d3d4�Zddddd5�d6d7�Zdd�d8d9�Zdd�d:d;�Zddd<�d=d>�Zedd�d?d@��Zedd�dAdB��Zedd�dCdD��Zedd�dEdF��Zedd�dGdH��Zedd�dIdJ��Zdd�dKdL�Zdd�dMdN�Zdd�dOdP�Z edQd�dRdS��Z!dTd�dUdV�Z"dd�dWdX�Z#dudddddY�dZd[�Z$d\dd]�d^d_�Z%dd�d`da�Z&dd�dbdc�Z'dvddddde�dfdg�Z(dddddh�didj�Z)dddk�dldm�Z*dwdnddddddddo�dpdq�Z+dS )x�InstallRequirementz� Represents something that may be installed later on, may have information about where to fetch the relevant requirement and also contains logic for installing the said requirement. FN� )�global_options�hash_options�config_settings� constraint�extras� user_supplied�permit_editable_wheelszRequirement | Nonezstr | InstallRequirement | None�boolzLink | Nonez Marker | Nonezbool | Nonezlist[str] | Nonezdict[str, list[str]] | Nonez!dict[str, str | list[str]] | NonezCollection[str]�None)�req� comes_from�editable�link�markers� use_pep517�isolatedr6 r7 r8 r9 r: r; r<