Edit File: req_install.cpython-311.pyc
� Q�d<� � � � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl m Z mZmZm Z mZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d lmZ d dl m!Z!m"Z" d dl#m$Z$ d d l%m&Z& d dl'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m3Z7 d dl8m9Z: d dl;m<Z< d dl=m>Z>m?Z? d dl@mAZA d dlBmCZC d dlDmEZE d dlFmGZGmHZHmIZImJZJmKZKmLZL d dlMmNZN d dlOmPZP d dlQmRZRmSZS d dlTmUZU d dlVmWZW ejX eY� � ZZ G d � d!� � Z[d"e[d#e\fd$�Z]d%ed&ee[ d'e\d#e^fd(�Z_d%ed&ee[ d#dfd)�Z`dS )*� N)�Values)�Any� Collection�Dict�Iterable�List�Optional�Sequence�Union)�Marker)�Requirement)�SpecifierSet)�canonicalize_name)�Version)�parse)�BuildBackendHookCaller)�BuildEnvironment�NoOpBuildEnvironment)�InstallationError)� 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�redact_auth_from_url�� safe_extra)�runner_with_spinner_message)� TempDirectory� tempdir_kinds)�running_under_virtualenv)�vcsc � � e Zd ZdZ dJdddddddd�dee deeed f ded ee d ee dee ded eee deeeee f deeeeeee f f dede e dededdfd�Zdefd�Zdefd�Zdefd�Zedee fd�� � Z ej � � defd�� � Zedefd�� � Zedefd�� � Zedefd�� � ZdKdeee defd�Zedefd �� � ZdLd"edefd#�Zdee fd$�Z d%ed&ed'edefd(�Z!dMd)�Z"dMd*�Z#d+eddfd,�Z$edefd-�� � Z%edefd.�� � Z&edefd/�� � Z'edefd0�� � Z(edefd1�� � Z)edefd2�� � Z*dMd3�Z+dMd4�Z,dMd5�Z-ede.fd6�� � Z/de0fd7�Z1dMd8�Z2 dNd9ed&ed'eddfd:�Z3dMd;�Z4 dNd<ed=edee5 fd>�Z6d?ed@edAedefdB�Z7d%ee ddfdC�Z8 dOd ee9e dDee dEee dFee dGed+edHeddfdI�Z:dS )P�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_wheels�req� comes_from�editable�link�markers� use_pep517�isolatedr7 r8 r9 r: r; r<