OwlCyberSecurity - MANAGER
Edit File: misc.cpython-39.pyc
a )��e�V � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Z d dlZd dlZ d dlmZ d dlmZmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& d dl'm(Z(m)Z)m*Z* d dl+m,Z, d d l-m.Z.m/Z/ d d l0m1Z1 d dl2m3Z3 d dl4m5Z5 g d �Z6e�7e8�Z9e#d�Z:e!e"e; e;ef Z<e!e=e=e=f Z>e!e?e!ee? ee? f f Z@e?d�dd�ZAe!e=df e!e=e=e=f d�dd�ZBe?dd�dd�ZCe?d�dd�ZDe(de)d�e*d�d�d�e?eEdd �d!d"��ZFedef e?e<dd#�d$d%�ZGe?e?d�d&d'�ZHd�e?e?e?d)�d*d+�ZIe?ee? e?d,�d-d.�ZJe?dd/�d0d1�ZKe?ee? e?d,�d2d3�ZLe?e?d/�d4d5�ZMe?e?d/�d6d7�ZNe?e=d8�d9d:�ZOePe?d;�d<d=�ZQeee e!ee? ee= f d>�d?d@�ZRe?eEd�dAdB�ZSejTfee=eeUddf dC�dDdE�ZVd�e?eEe?dF�dGdH�ZWe?e!e?e?f d�dIdJ�ZXe?e?ddK�dLdM�ZYe?eEd�dNdO�ZZeeddP�dQdR�Z[G dSdT� dTe�Z\e j]e?ee\ddf dU�dVdW��Z^ee\ d�dXdY�Z_ee\ d�dZd[�Z`eee"e d\�d]d^�Zae?ee= e?d_�d`da�Zbd�e?e?e?dc�ddde�Zce?e!e?ee= f df�dgdh�Zde?e@df�didj�Zee?e?df�dkdl�Zfe?ee?ge!edf f e!e?e@f dm�dndo�Zge?e@df�dpdq�Zhe?e!e? df�drds�Zie?e!e?e?e!e?e?f f dt�dudv�Zje?e?dt�dwdx�Zke?e?dt�dydz�ZlG d{d|� d|�Zme?emd}�d~d�Zne?emdt�d�d��ZoeEdd��d�d��Zpdd�d�d��ZqeEd�d�d��Zrd�e?e=e!ee=f d��d�d��ZseEd�d�d��Ztee ee!eef d��d�d��Zuee:geEf ee: e!ee: ee: f d��d�d��ZvG d�d�� d�e&�ZwdS )�� N)�StringIO)�filterfalse�tee�zip_longest)� TracebackType)�Any�BinaryIO�Callable�ContextManager�Dict� Generator�Iterable�Iterator�List�Optional�TextIO�Tuple�Type�TypeVar�cast)�BuildBackendHookCaller)�retry�stop_after_delay� wait_fixed)�__version__)�CommandError�ExternallyManagedEnvironment)�get_major_minor_version)�WINDOWS)�running_under_virtualenv)�rmtree�display_path� backup_dir�ask�splitext�format_size�is_installable_dir�normalize_path�renames�get_prog�captured_stdout� ensure_dir�remove_auth_from_url�check_externally_managed� ConfiguredBuildBackendHookCaller�T��returnc C s4 t j�t j�t�dd�} t j�| �} d�t| t� �S )Nz..zpip {} from {} (python {})) �os�path�join�dirname�__file__�abspath�formatr r )Zpip_pkg_dir� r9 �Y/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/pip/_internal/utils/misc.py�get_pip_versionI s �r; .)�py_version_infor1 c C sD t | �dk r"| dt | � d 7 } nt | �dkr:| dd� } td| �S )ax Convert a tuple of ints representing a Python version to one of length three. :param py_version_info: a tuple of ints representing a Python version, or None to specify no version. The tuple can have any length. :return: a tuple of length three if `py_version_info` is non-None. Otherwise, return `py_version_info` unchanged (i.e. None). � )r N�VersionInfo)�lenr )r<