File: //opt/alt/python311/lib/python3.11/site-packages/botocore/__pycache__/auth.cpython-311.pyc
�
/�;f� � �n � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ d dlm
Z
mZ d dlmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZmZ d dlmZm Z m!Z! d d lm"Z" ej# e$� � Z%d
Z&dZ'dZ(d
Z)g d�Z*dZ+dZ,d� Z-d� Z. G d� d� � Z/ G d� de/� � Z0 G d� de/� � Z1 G d� de/� � Z2 G d� de/� � Z3 G d� de3� � Z4 G d� d e4� � Z5 G d!� d"e5� � Z6 G d#� d$e5� � Z7 G d%� d&e3� � Z8 G d'� d(e8� � Z9 G d)� d*e3� � Z: G d+� d,e/� � Z; G d-� d.e;� � Z< G d/� d0e;� � Z= G d1� d2e0� � Z>e1e2e2e;e<e=e:e5e7e6e>d3�Z?erd d4l@mAZA e?�B eA� � dS e?�B e3e8e4e9d5�� � dS )6� N)�Mapping��
formatdate)�sha1�sha256)�
itemgetter) �HAS_CRT�HTTPHeaders�encodebytes�ensure_unicode�parse_qs�quote�unquote�urlsplit�
urlunsplit)�NoAuthTokenError�NoCredentialsError)�is_valid_ipv6_endpoint_url�normalize_url_path�percent_encode_sequence)�
MD5_AVAILABLE�@e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855i z%Y-%m-%dT%H:%M:%SZz%Y%m%dT%H%M%SZ)�expectz
user-agentzx-amzn-trace-idzUNSIGNED-PAYLOADz"STREAMING-UNSIGNED-PAYLOAD-TRAILERc �� � t | � � }|j }t | � � rd|� d�}ddd�}|j �/|j |� |j � � k rd||j fz }|S )N�[�]�P i� )�http�httpsz%s:%d)r �hostnamer �port�get�scheme)�url� url_parts�host�
default_portss �@/opt/alt/python311/lib/python3.11/site-packages/botocore/auth.py�_host_from_urlr) F s� � �
��
�
�I���D�!�#�&�&� ��4�{�{�{����� �M� �~�!��>�]�.�.�y�/?�@�@�@�@��d�I�N�3�3�D��K� c �� � | j }t |t � � r(t j |� d� � � � }n)t |t � � rt j |� � }|S �N�utf-8)�data�
isinstance�bytes�json�loads�decode�str)�requestr. s r( �_get_body_as_dictr6 Y s` � �
�<�D��$���� ��z�$�+�+�g�.�.�/�/��� �D�#� � � ��z�$�����Kr* c � � e Zd ZdZdZd� ZdS )�
BaseSignerFc � � t d� � �)N�add_auth)�NotImplementedError��selfr5 s r( r: zBaseSigner.add_authj s � �!�*�-�-�-r* N)�__name__�
__module__�__qualname__�REQUIRES_REGION�REQUIRES_TOKENr: � r* r( r8 r8 f s- � � � � � ��O��N�.� .� .� .� .r* r8 c � � e Zd ZdZ d� ZdS )�TokenSignerTc � � || _ d S �N)�
auth_token)r= rH s r( �__init__zTokenSigner.__init__t s
� �$����r* N)r>