File: //lib/python3/dist-packages/botocore/__pycache__/credentials.cpython-310.pyc
o
<&�a�@ � @ sX d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ d dlm
Z
d dlmZ d dlmZ d dlmZmZ d dlZd dlZd dlmZ d d lmZ d d
lmZ d dlmZ d dlmZ d d
lmZ d dlm Z d dlm!Z! d dlm"Z" d dlm#Z# d dlm$Z$ d dlm%Z% d dlm&Z& d dl'm(Z(m)Z) d dl'm*Z* d dl'm+Z+ d dl'm,Z, d dl'm-Z- e�.e/�Z0e dg d��Z1d]dd�Z2G dd� de3�Z4d d!� Z5d"d#� Z6d$d%� Z7d^d'd(�Z8d)d*� Z9d+d,� Z:d-d.� Z;G d/d0� d0e3�Z<G d1d2� d2e3�Z=G d3d4� d4e=�Z>G d5d6� d6e>�Z?G d7d8� d8e3�Z@G d9d:� d:e@�ZAG d;d<� d<eA�ZBG d=d>� d>eA�ZCG d?d@� d@e3�ZDG dAdB� dBeD�ZEG dCdD� dDeD�ZFG dEdF� dFeD�ZGG dGdH� dHeD�ZHG dIdJ� dJeD�ZIG dKdL� dLeD�ZJG dMdN� dNeD�ZKG dOdP� dPeD�ZLG dQdR� dReD�ZMG dSdT� dTe3�ZNG dUdV� dVeD�ZOG dWdX� dXe3�ZPG dYdZ� dZe@�ZQG d[d\� d\eD�ZRdS )_� N)�
namedtuple)�deepcopy)�sha1)�Path��parse)�tzlocal�tzutc)�UNSIGNED)�
total_seconds)�compat_shell_split)�Config)�UnknownCredentialError)�PartialCredentialsError)�ConfigNotFound)�InvalidConfigError)�InfiniteLoopConfigError)�RefreshWithMFAUnsupportedError)�MetadataRetrievalError)�CredentialRetrievalError)�UnauthorizedSSOTokenError)�InstanceMetadataFetcher�parse_key_val_file)�ContainerMetadataFetcher)�FileWebIdentityTokenLoader)�SSOTokenLoader)�resolve_imds_endpoint_mode�ReadOnlyCredentials��
access_key�
secret_key�tokenc s � � d�pd}� � d�}� � d�}� �� �d�du}� � d�t� �d�}|du r*i }t� }t� } tt||� �� |d�d �}
t � ||d
�}t
� fdd�t� |�||t|| |
g�|d
�}||g}
|j
||d�}t� t� | |
g}|
| | }|r|�|� t�d� t|d�}|S )z�Create a default credential resolver.
This creates a pre-configured credential resolver
that includes the default lookup chain for
credentials.
�profile�default�metadata_service_timeout�metadata_service_num_attemptsN�ec2_metadata_service_endpoint)r&