File: D:/Python311/Lib/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-311.pyc
�
�miɁ � �j � d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlm
Z
ddlmZmZ ddlmZ ddlmZ ddlmZmZmZmZ dd lmZmZmZmZmZmZm Z dd
lm!Z" ddlm#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) ddl*m+Z+ dd
l,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2 dZ3 ej4 � � Z5ddd�Z6d�7 ej8 d ed�� � d � � � � Z9ej: dk rd� Z;d� Z#d� Z<d� Z=dJd�Z>d� Z?d � Z@ejA d!� � � ZBd"� ZCd#� ZDd$� ZEd%� ZFdJd&�ZGd'� ZHd(� ZId)� ZJd*� ZKd+� ZLd,� ZMd-� ZNd.� ZO ePd/� � ZQd0� ZRd1� ZSd2� ZTd3� ZUd4� ZVd5� ZWejA d6� � � ZXd7� ZYdKd8�ZZd9� Z[dLd:�Z\dMd<�Z]d=� Z^d>� Z_d?�` d@� � ZaeadAz ZbeadBz ZcdC� ZddD� ZedE� ZfdF� ZgdG� ZhdH� ZidI� ZjdS )Nz�
requests.utils
~~~~~~~~~~~~~~
This module provides utility functions that are used within Requests
that are also useful for external consumption.
� N)�OrderedDict)�make_headers� parse_url� )�certs��__version__)�_HEADER_VALIDATORS_BYTE�_HEADER_VALIDATORS_STR�HEADER_VALIDATORS�to_native_string)�Mapping�
basestring�bytes�
getproxies�getproxies_environment�
integer_types�is_urllib3_1)�parse_http_list)�proxy_bypass�proxy_bypass_environment�quote�str�unquote�urlparse�
urlunparse��cookiejar_from_dict)�FileModeWarning�
InvalidHeader�
InvalidURL�UnrewindableBodyError)�CaseInsensitiveDict)z.netrc�_netrc�P i� )�http�httpsz, z,\s*T)�accept_encodingzaccept-encoding�win32c �l � dd l }n# t $ r Y dS w xY w |� |j d� � }t |� |d� � d � � }|� |d� � d }n# t t f$ r Y dS w xY w|r|sdS |� d� � }t d |� � }|D ]t}|dk rd| vr d S |�
dd
� � }|�
dd� � }|�
d
d� � }t j || t j
� � r d S �udS )Nr Fz;Software\Microsoft\Windows\CurrentVersion\Internet Settings�ProxyEnable�
ProxyOverride�;z<local>�.Tz\.�*z.*�?)�winreg�ImportError�OpenKey�HKEY_CURRENT_USER�int�QueryValueEx�OSError�
ValueError�split�filter�replace�re�match�I)�hostr1 �internetSettings�proxyEnable�
proxyOverride�tests �<D:\Python311\Lib\site-packages\pip/_vendor/requests/utils.py�proxy_bypass_registryrE M s� � � ��M�M�M�M��� � � ��5�5� ����
�%�~�~��(�N� � ��
�f�1�1�2B�M�R�R�ST�U�V�V�K�"�/�/�0@�/�R�R�ST�U�M�M����$� � � ��5�5� ����� �-� ��5�
&�+�+�C�0�0�
��t�]�3�3�
�!� � �D��y� �
��d�?� ��4�4��<�<��U�+�+�D��<�<��U�+�+�D��<�<��T�*�*�D��x��d�B�D�)�)�
��t�t�
��us � �
��A A: �:B�Bc �Z � t � � rt | � � S t | � � S )z�Return True, if the host should be bypassed.
Checks proxy settings gathered from the environment, if specified,
or the registry.
)r r rE )r? s rD r r s s. � � "�#�#� /�+�D�1�1�1�(��.�.�.� c �N � t | d� � r| � � � } | S )z/Returns an internal sequence dictionary update.�items)�hasattrrI )�ds rD �dict_to_sequencerL s( � � �q�'��� �
�G�G�I�I���HrG c �H � d }d}t s*t | t � � r| � d� � } t | d� � rt | � � }n�t | d� � r| j }n~t | d� � rn | � � � }t j |� � j }d| j
vrt j dt � � n# t j t f$ r Y nw xY wt | d� � r� | � � � }t | d � � rW|�U | � dd
� � | � � � }| � |pd� � n'# t&