File: //opt/alt/python311/lib/python3.11/site-packages/botocore/__pycache__/compat.cpython-311.pyc
�
/�;fS+ � �v � d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlZd dl Z d dl
Z
d dlZd dlm
Z
d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ ej e� � Z G d
� de� � Zd dlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d d
lm)Z) d dl*m+Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 e,Z3e4Z4e"Z5d� Z6d� Z7d8d�Z8d9d�Z9 d dl:m;c m<Z= n# e>$ r d dl?m;c m@Z= Y nw xY we=jA ZBd dlCZCd� ZDeEd� � � ZFeEd� � � ZGeFe_F eGe_G d� ZHd� ZI ejJ � � dZKn
# eL$ r dZKY nw xY wd� ZMd:d �ZNd!� ZOd"� ZP d dlQZRejS �T d#d$� � ZUeU�V � � d%k ZWn
# e>$ r dZWY nw xY wd&ZX e
jY d'eXz d(z � � ZZd)Z[d*�\ e[eX�+� � Z]e[e]d,�Z^g d-�Z_d.Z`d/d0�a d1� e_D � � � � z d2z Zbd3e`z d4z Zcd5ebz d/z ecz d6z Zd e
jY d'edz d(z � � Ze efd7� � Zg d dlhZhdZidS # e>$ r dZiY dS w xY w);� N)�HTTPMessage)�OrderedDict)�MutableMapping)�floor)�six)�MD5UnavailableError)�tzlocal)�
exceptionsc � � e Zd ZdS )�HTTPHeadersN)�__name__�
__module__�__qualname__� � �B/opt/alt/python311/lib/python3.11/site-packages/botocore/compat.pyr r % s � � � � � ��Dr r )
�quote� urlencode�unquote�unquote_plus�urlparse�urlsplit�
urlunsplit�urljoin� parse_qsl�parse_qs)�HTTPResponse)�IOBase)�encodebytes)�
formatdate)�zip_longestc �X � | j j j j � |� � dS )z|Set the timeout of the socket from an HTTPResponse.
:param http_response: An instance of ``httplib.HTTPResponse``
N)�_fp�fp�raw�_sock�
settimeout)�
http_response�timeouts r �set_socket_timeoutr* @ s* � � ����"�-�-�g�6�6�6�6�6r c �6 � t j | � � d S )N� )�inspect�getfullargspec)�funcs r �accepts_kwargsr0 H s � � �!�$�'�'��*�*r c � � | S �Nr ��s�encoding�errorss r �ensure_unicoder7 M s � ��Hr �utf-8�strictc �� � t | t � � r| � ||� � S t | t � � r| S t dt | � � � d�� � �)Nz Expected str or bytes, received �.)�
isinstance�str�encode�bytes�
ValueError�typer3 s r �ensure_bytesrB Q s_ � ��!�S��� *��x�x��&�)�)�)��!�U��� ���
�B��Q���B�B�B�
C�
C�Cr c �J � t j ddt j d�� � d S )N�ignorez+A true SSLContext object is not available.*z.*urllib3\.util\.ssl_)�message�category�module)�warnings�filterwarningsr
�InsecurePlatformWarningr r r �filter_ssl_warningsrK b s5 � ����=��3�'� � � � � � r c �X � | � � }|� � � D ]
\ }}|||<