OwlCyberSecurity - MANAGER
Edit File: req_install.cpython-39.pyc
a )��e�� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl m Z d dlmZm Z mZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d lmZ d dl m!Z! d dl"m#Z#m$Z$ d d l%m&Z&m'Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m6Z: d dl;m<Z= d dl>m?Z@ d dlAmBZB d dlCmDZDmEZE d dlFmGZG d dlHmIZImJZJ d dlKmLZLmMZM d dlNmOZO d dlPmQZQmRZRmSZSmTZTmUZUmVZV d dlWmXZX d dlYmZZZ d d l[m\Z\m]Z] d d!l^m_Z_ d d"l`maZa e�bec�ZdG d#d$� d$�Zeeeefd%�d&d'�Zge eee efehd(�d)d*�Zieef eee ehd+�d,d-�ZjG d.d/� d/e�Zke eee ekdd0�d1d2�ZldS )3� N)�Enum)�Values)�Any� Collection�Dict�Iterable�List�Optional�Sequence�Union)�Marker)�Requirement)�SpecifierSet)�canonicalize_name)�Version)�parse)�BuildBackendHookCaller)�BuildEnvironment�NoOpBuildEnvironment)�InstallationError�LegacyInstallFailure)� get_scheme)�BaseDistribution�get_default_environment�get_directory_distribution�get_wheel_distribution)�FilesystemWheel)� DirectUrl)�Link)�generate_metadata)�generate_editable_metadata)�install_editable)�install)� install_wheel)�load_pyproject_toml�make_pyproject_path)�UninstallPathSet)�LegacyInstallReason� deprecated)�direct_url_for_editable�direct_url_from_link)�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 @ s� e Zd ZdZdSee eeed f eee ee ee eeee eee eeeee f eeeef ee e eedd�dd�Zed�d d �Zed�dd�Zed�d d�Zeee d�dd��Ze�� ed�dd��Zeed�dd��Zeed�dd��ZdTeee ed�dd�Zeed�dd��ZdUeed�dd�Zee d�d d!�Zeeeed"�d#d$�Z dd�d%d&�Z!dd�d'd(�Z"edd)�d*d+�Z#eed�d,d-��Z$eed�d.d/��Z%eed�d0d1��Z&eed�d2d3��Z'eed�d4d5��Z(dd�d6d7�Z)dd�d8d9�Z*dd�d:d;�Z+ee,d�d<d=��Z-e.d�d>d?�Z/dd�d@dA�Z0dVeeeddB�dCdD�Z1dd�dEdF�Z2dWeeee3 dG�dHdI�Z4eeeedJ�dKdL�Z5ee ddM�dNdO�Z6dXee ee7e ee ee ee eeeddP� dQdR�Z8dS )Y�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� )�req� comes_from�editable�link�markers� use_pep517�isolated�install_options�global_options�hash_options�config_settings� constraint�extras� user_supplied�permit_editable_wheels�returnc C s� |d u st |t�sJ |��|| _|| _|| _|| _|| _d | _d | _| jrp|sRJ �|j rpt j�t j� |j��| _|d u r�|r�|jr�t|j�}| | _| _d| _d | _d | _| jr�| jj r�| jj| _| r�| | _n |r�dd� |jD �| _nt� | _|d u �r|�r|j}|| _d | _d| _d | _d | _|�r,|ng | _| �r<| ng | _| �rL| ni | _ || _!d| _"|| _#|| _$t%� | _&d | _'d | _(g | _)d | _*|| _+d| _,d S )NFc S s h | ]}t |��qS r: r2 ��.0�extrar: r: �^/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/pip/_internal/req/req_install.py� <setcomp>� � z.InstallRequirement.__init__.<locals>.<setcomp>)-� isinstancer r; r<