shell bypass 403
�
f7� � �
� d dl Z d dlmZ d dlZd dlZd dlZd dlZd dlZ d dlZd dlZddlm
Z
ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZm Z m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- dd l.m/Z/m0Z0 dd
l1m2Z2m3Z3 ejh e5� Z6 ejn d� Z8 ejn dejr � Z: ejn d
� Z;dZ<d+d�Z= G d� de� Z> G d� de?� Z@ G d� de@� ZA G d� de@� ZB G d� de?� ZC G d� de@� ZD G d� de@� ZE G d� de@� ZF G d � d!e@� ZG G d"� d#e@� ZH eH eDd$d%�&� d'�(� ZIeIj� ZJ G d)� d*e?� ZKy# e $ r d dl
ZY ��]w xY w),� N)�BytesIO� )�DistlibException)�urljoin�urlparse�
urlunparse�url2pathname�pathname2url�queue�quote�unescape�build_opener�HTTPRedirectHandler� text_type�Request� HTTPError�URLError)�Distribution�DistributionPath� make_dist)�Metadata�MetadataInvalidError)�cached_property�ensure_slash�split_filename�get_project_data�parse_requirement�parse_name_and_version�ServerProxy�normalize_name)�
get_scheme�UnsupportedVersionError)�Wheel�
is_compatiblez^(\w+)=([a-f0-9]+)z;\s*charset\s*=\s*(.*)\s*$ztext/html|application/x(ht)?mlzhttps://pypi.org/pypic � � | �t } t | d�� } |j � |d� � S # |d� � w xY w)z�
Return all distribution names known by an index.
:param url: The URL of the index.
:return: A list of all known distribution names.
� @��timeout�close)�
DEFAULT_INDEXr �
list_packages)�url�clients �G/usr/local/python-3.12/lib/python3.12/site-packages/distlib/locators.py�get_all_distribution_namesr/ * sD � � �{���
��c�
*�F���#�#�%���w������w���s �4 �Ac �"