HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/botocore/__pycache__/handlers.cpython-36.pyc
3

�T_��\@s(dZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lm Z ddl!m"Z"m#Z#ddl!m$Z$ddl!m%Z%ddl!m&Z&ddl'm(Z(ddl'm)Z)ddl'm*Z*ddl'Z'ddl+Z'ej,e-�Z.e/�Z0e/�Z1ej2d�Z3dZ4dZ5ej2dj6e4e5g��Z7ej2d�Z8ddiZ9dd�Z:dd�Z;d d!�Z<d"d#�Z=d$d%�Z>d&d'�Z?d(d)�Z@d*d+�ZAd,d-�ZBd.d/�ZCd0d1�ZDd�d3d4�ZEd5d6�ZFd7d8�ZGd9d:�ZHGd;d<�d<e/�ZId=d>�ZJd?d@�ZKdAdB�ZLdCdD�ZMdEdF�ZNdGdH�ZOdIdJ�ZPdKdL�ZQdMdN�ZRdOdP�ZSdQdR�ZTdSdT�ZUdUdV�ZVdWdX�ZWdYdZ�ZXd[d\�ZYd]d^�ZZd_d`�Z[dadb�Z\dcdd�Z]dedf�Z^dgdh�Z_didj�Z`dkdl�Zadmdn�Zbdodp�Zcdqdr�Zddsdt�Zedudv�Zfdwdx�Zgdydz�ZhGd{d|�d|e/�ZiGd}d~�d~e/�ZjGdd��d�e/�Zkd�d��Zld�e:fd�ejd��fd�ege1fd�ege1fd�efd�efd�e`fd�eRfd�e>fd�eAfd�eTfd�e?fd�eBfd�ebfd�ebfd�ebfd�eKfd�eKfd�eWfd�eWfd�eWfd�eJfd�eJfd�eHfd�eZfd�e[fd�e&fd�e&fd�e\fd�e\fd�ePfd�e_fd�e;e0fd�e;e0fd�e;e0fd�eGfd�eGfd�eGfd�eGfd�eGfd�eGfd�e=fd�eCfd�eCfd�eCfd�eCfd�eDfd�eCfd�eCfd�eCfd�eDfd�eUfd�eUfd�eXfd�eYfd�ecfd�edfd�eefd�eafd�ed�d��jmfd�ed��jmfd�ed��jmfd�e]�fd�e^fd�eVd��fd�eVd��fd�edƒjmfd�edÃjmfd�edŃjmfd�edƃjmfd�eVdȃfd�ed�d�d�d�d�d�d�d�d�d�d�d�d�d�d�g
�jnfd�efd�eQfd�eQfd�eQfd�eQfd�edރjmfd�edރjmfd�edރjmfd�edރjmfd�eQfd�eQfd�edރjmfd�edރjmfd�eQfd�eQfd�edރjmfd�edރjmfd�eId�jofd�elfg[Zpehep�dS)�z_Builtin event handlers.

This module contains builtin handlers for events emitted by botocore.
�N)�unquote�json�six�unquote_str�ensure_bytes�get_md5�
MD5_AVAILABLE�OrderedDict�urlsplit�
urlunsplit�
XMLParseError�ETree)�AutoPopulatedParam)�HideParamFromOperations)�AppendParamDocumentation)�add_generate_presigned_url)�add_generate_presigned_post)�add_generate_db_auth_token)�ParamValidationError)�AliasConflictParameterError)�UnsupportedTLSVersionWarning)�MissingServiceIdError)�percent_encode�
SAFE_CHARS)�switch_host_with_param)�hyphenize_service_id)�conditionally_calculate_md5)�retryhandler)�utils)�	translatez^[a-zA-Z0-9.\-_]{1,255}$zI^arn:(aws).*:s3:[a-z\-0-9]+:[0-9]{12}:accesspoint[/:][a-zA-Z0-9\-]{1,63}$zt^arn:(aws).*:s3-outposts:[a-z\-0-9]+:[0-9]{12}:outpost[/:][a-zA-Z0-9\-]{1,63}[/:]accesspoint[/:][a-zA-Z0-9\-]{1,63}$�|z\?versionId=[^\s]+$zruntime.sagemakerzsagemaker-runtimecKstj||�S)N)�SERVICE_NAME_ALIASES�get)Zservice_name�kwargs�r$�/usr/lib/python3.6/handlers.py�handle_service_name_aliasOsr&cKs2|dkrdS|\}}t|�r.tjd|�d|_dS)NzWError found for response with 200 status code, errors: %s, changing status code to 500.i�)�_looks_like_special_case_error�logger�debug�status_code)Zresponser#�
http_response�parsedr$r$r%�check_for_200_errorSsr-cCs\|jdkrXy*tjtj�dd�}|j|j�|j�}Wntk
rHdSX|jdkrXdSdS)N��zutf-8)�target�encodingT�ErrorF)	r*r
�	XMLParser�TreeBuilder�feed�content�closer�tag)r+�parser�rootr$r$r%r'os

r'cKsR|jd�}|sdS|dkr tjS|jd�rNd}|dkr:d}|dkrJd|d	<|SdS)
a( Choose the operation-specific signer.

    Individual operations may have a different auth type than the service as a
    whole. This will most often manifest as operations that should not be
    authenticated at all, but can include other auth modes such as sigv4
    without body signing.
    �	auth_typeNZnoneZv4�s3Zs3v4zv4-unsigned-bodyFZpayload_signing_enabled)r"�botocore�UNSIGNED�
startswith)�contextZsigning_namer#r:Zsignature_versionr$r$r%�set_operation_specific_signer�s

r@c
Ks^d|krZy(tjtj|d��jdd�}||d<Wn(tttfk
rXtj	ddd�YnXdS)NZOutputzutf-8�replacezError decoding base64T)�exc_info)
�base64Z	b64decoder�b�decode�
ValueError�	TypeError�AttributeErrorr(r))r,r#�valuer$r$r%�decode_console_output�srJcKsBx<|jD]2}||krttj��||<tjd|||f�qWdS)Nz1injecting idempotency token (%s) into param '%s'.)Zidempotent_members�str�uuidZuuid4r(r))�params�modelr#�namer$r$r%�generate_idempotent_uuid�s
rPcCs>ytjt|��}Wn&ttfk
r8tjddd�YnX|S)NzError loading quoted JSONT)rB)r�loadsrrFrGr(r))rIr$r$r%�decode_quoted_jsondoc�s
rRcKsRd|krNytj|dtd�}||d<Wn&ttfk
rLtjddd�YnXdS)N�TemplateBody)Zobject_pairs_hookzerror loading JSONT)rB)rrQr	rFrGr(r))r,r#rIr$r$r%�json_decode_template_body�srTcKsLd|krdS|d}tj|�rHtj|�rHd|tjtjf}t|d��dS)N�BucketzdInvalid bucket name "%s": Bucket name must match the regex "%s" or be an ARN matching the regex "%s")�report)�VALID_BUCKET�search�VALID_S3_ARN�patternr)rMr#�bucket�	error_msgr$r$r%�validate_bucket_name�sr]cKst|d�dS)z�
    S3 server-side encryption requires the encryption key to be sent to the
    server base64 encoded, as well as a base64-encoded MD5 hash of the
    encryption key. This handler does both if the MD5 has not been set by
    the caller.
    �SSECustomerN)�_sse_md5)rMr#r$r$r%�sse_md5�sr`cKst|d�dS)a1
    S3 server-side encryption requires the encryption key to be sent to the
    server base64 encoded, as well as a base64-encoded MD5 hash of the
    encryption key. This handler does both if the MD5 has not been set by
    the caller specifically if the parameter is for the copy-source sse-c key.
    ZCopySourceSSECustomerN)r_)rMr#r$r$r%�copy_source_sse_md5�srar^cCsxt||�sdS|d}|d}||}t|tj�r<|jd�}tjt|�j��j	d�}tj|�j	d�}|||<|||<dS)N�Key�KeyMD5zutf-8)
�_needs_s3_sse_customization�
isinstancer�	text_type�encoderC�	b64encoderZdigestrE)rM�sse_member_prefixZsse_key_memberZsse_md5_memberZkey_as_bytesZkey_md5_strZkey_b64_encodedr$r$r%r_�s

r_cCs|j|d�dk	o|d|kS)Nrbrc)r")rMrir$r$r%rd�srdcKstjS)zk
    This handler disables request signing by setting the signer
    name to a special sentinel value.
    )r<r=)r#r$r$r%�disable_signing�srjcKsJ|jjdd�dkrdSd|krF|d}t|d�rFtjd�d|d	d
<dS)N�method��PUT�POST�body�readz-Adding expect 100 continue header to request.z100-continue�headersZExpect)rmrn)Zhttpr"�hasattrr(r))rNrMr#ror$r$r%�add_expect_headers

rsc@seZdZdd�Zdd�ZdS)�DeprecatedServiceDocumentercCs
||_dS)N)�_replacement_service_name)�selfZreplacement_service_namer$r$r%�__init__sz$DeprecatedServiceDocumenter.__init__cKs>|jj�|jd�|jj|j|j�|jd�|jj�dS)Nz.This service client is deprecated. Please use z	 instead.)ZstyleZstart_important�write�refruZ
end_important)rv�section�
event_namer#r$r$r%�inject_deprecation_notices


z5DeprecatedServiceDocumenter.inject_deprecation_noticeN)�__name__�
__module__�__qualname__rwr|r$r$r$r%rtsrtc	Ks�d|kr:|jd�}|jd�}|jd�}|j�|jd�nJd|kr�|jd�}|jd�}|j�|jd�|jd	�}|j�|jd
�dS)Nzrequest-examplezstructure-value�
CopySourcezmember-valuezH'string' or {'Bucket': 'string', 'Key': 'string', 'VersionId': 'string'}zrequest-paramsz
param-typez:type CopySource: str or dictzparam-documentationaqThe name of the source bucket, key name of the source object, and optional version ID of the source object.  You can either provide this value as a string or a dictionary.  The string form is {bucket}/{key} or {bucket}/{key}?versionId={versionId} if you want to copy a specific version.  You can also provide this value as a dictionary.  The dictionary format is recommended over the string format because it is more explicit.  The dictionary format is: {'Bucket': 'bucket', 'Key': 'key', 'VersionId': 'id'}.  Note that the VersionId key is optional and may be omitted. To specify an S3 access point, provide the access point ARN for the ``Bucket`` key in the copy source dictionary. If you want to provide the copy source for an S3 access point as a string instead of a dictionary, the ARN provided must be the full S3 access point object ARN (i.e. {accesspoint_arn}/object/{key}))�get_section�
clear_textrx)	rzr{r#�parent�
param_line�
value_portion�
param_section�type_sectionZdoc_sectionr$r$r%�document_copy_source_form!s






r�cKsJ|jd�}|dkrdSt|tj�r0t|�|d<nt|t�rFt|�|d<dS)aHConvert CopySource param for CopyObject/UploadPartCopy.

    This handler will deal with two cases:

        * CopySource provided as a string.  We'll make a best effort
          to URL encode the key name as required.  This will require
          parsing the bucket and version id from the CopySource value
          and only encoding the key.
        * CopySource provided as a dict.  In this case we're
          explicitly given the Bucket, Key, and VersionId so we're
          able to encode the key and ensure this value is serialized
          and correctly sent to S3.

    r�N)r"rer�string_types�_quote_source_header�dict�_quote_source_header_from_dict)rMr#�sourcer$r$r%�handle_copy_source_paramDs

r�cCs�yB|d}|d}|jd�}tj|�r4d||f}nd||f}Wn4tk
rv}ztdt|�d��WYdd}~XnXt|tdd	�}|dk	r�|d
|7}|S)NrUrbZ	VersionIdz%s/object/%sz%s/%szMissing required parameter: %s)rV�/)�safez
?versionId=%s)r"rYrX�KeyErrorrrKrr)Zsource_dictr[�key�
version_id�final�er$r$r%r�_s

"r�cCs\tj|�}|dkr"t|tdd�S|d|j��||j�d�}}t|tdd�|SdS)Nr�)r�)�VERSION_ID_SUFFIXrXrr�start)rI�result�firstr�r$r$r%r�qs

"r�cCsLtj|�}||dd<|dj||�|d<d|d<i|d<|j|||jd�S)Nro�DestinationRegion�url�GETrkrq)Zregion_nameZoperation_name)�copy�deepcopyrAZgenerate_presigned_urlrO)�request_signer�request_dictrN�
source_region�destination_regionZrequest_dict_copyr$r$r%�_get_cross_region_presigned_urlzs

r�cCs|j}|jd�}||fS)N�SourceRegion)Z_region_namer")r�rMr�r�r$r$r%�1_get_presigned_url_source_and_destination_regions�s
r�cKsNd|dkrdSt||d�\}}t|||||�}||dd<||dd<dS)N�PresignedUrlror�)r�r�)rMr�rNr#�src�destr�r$r$r%�inject_presigned_url_ec2�sr�cKs\d|dkrdSt||d�\}}|dd=d|dkr<dSt|||||�}||dd<dS)Nr�ro�PreSignedUrl)r�r�)rMr�rNr#r�r�r�r$r$r%�inject_presigned_url_rds�s
r�cKs|j}|dk	rt||j�dS)N)�output_shape�_decode_policy_types)r,rNr#r�r$r$r%�json_decode_policies�sr�cCs�d}|jdkrjxZ|jj�D]L\}}|jdkrP|j|krP||krPt||�||<q||krt|||�qW|jdkr�|j}x|D]}t||�q�WdS)NZpolicyDocumentTypeZ	structure�string�list)Z	type_name�members�itemsrOrRr��member)r,�shapeZ
shape_name�member_nameZmember_shapeZshape_member�itemr$r$r%r��s




r�cKsJ|jdkrdS|j}tjtj�dd�}|j|�|j�}|j}||d<dS)Nzutf-8)r/r0ZLocationConstraint)�rawr5r
r2r3r4r6�text)r,r+r#Z
response_bodyr8r9Zregionr$r$r%�parse_get_bucket_location�s

r�cKsFd|krBt|dtj�r*|djd�|d<tj|d�jd�|d<dS)N�UserDatazutf-8)rerrfrgrCrhrE)rMr#r$r$r%�base64_encode_user_data�s
r�cCsd}t||�}|jS)Nzw**This value will be base64 encoded automatically. Do not base64 encode this value prior to performing the operation.**)r�append_documentation)Zparam�description�appendr$r$r%�document_base64_encoding�s
r�cKs�|jd�}|st|t�r dSxf|j�D]Z\}}y|jd�|jd�Wq*tk
r�}zd||f}t|d��WYdd}~Xq*Xq*WdS)aEVerify S3 Metadata only contains ascii characters.

    From: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html

    "Amazon S3 stores user-defined metadata in lowercase. Each name, value pair
    must conform to US-ASCII when using REST and UTF-8 when using SOAP or
    browser-based uploads via POST."

    ZMetadataN�asciizvNon ascii characters found in S3 metadata for key "%s", value: "%s".  
S3 metadata can only contain ASCII characters. )rV)r"rer�r�rg�UnicodeEncodeErrorr)rMr#�metadatar�rIr�r\r$r$r%�validate_ascii_metadata�s



r�cKsx|j}|st|d�rdSdd�|jj�D�}xB|D]:}||kr6||}|jd�d||<tjd||||�q6WdS)	z�
    Check for and split apart Route53 resource IDs, setting
    only the last piece. This allows the output of one operation
    (e.g. ``'foo/1234'``) to be used as input in another
    operation (e.g. it expects just ``'1234'``).
    r�NcSsg|]\}}|jdkr|�qS)�
ResourceId�DelegationSetId)r�r�)rO)�.0rOr�r$r$r%�
<listcomp>'sz#fix_route53_ids.<locals>.<listcomp>r��z%s %s -> %s���)�input_shaperrr�r��splitr(r))rMrNr#r�r�rOZ
orig_valuer$r$r%�fix_route53_idss
r�cKs|jd�dkrd|d<dS)N�	accountId�-)r")rMr#r$r$r%�inject_account_id1sr�cKs|}|jd|dd<dS)NZ
apiVersionrqzx-amz-glacier-version)r�)rNrMr#r�r$r$r%�add_glacier_version:sr�cKs(|djdd�dkr$|}d|dd<dS)NrqZAcceptzapplication/json)r")rNrMr#r�r$r$r%�add_accept_header@sr�cKsz|}|d}|d}t|tj�r*tj|�}|j�}d|krLtj|dd�|d<|j|�d|krltj|�|d<|j|�dS)z�Add glacier checksums to the http request.

    This will add two headers to the http request:

        * x-amz-content-sha256
        * x-amz-sha256-tree-hash

    These values will only be added if they are not present
    in the HTTP request.

    rqrozx-amz-content-sha256T)Zas_hexzx-amz-sha256-tree-hashN)	rer�binary_type�BytesIO�tellrZcalculate_sha256�seekZcalculate_tree_hash)rMr#r�rqroZstarting_positionr$r$r%�add_glacier_checksumsFs

r�cCsd}td|�jS)Na�
        This is a required field.

        Ideally you will want to compute this value with checksums from
        previous uploaded parts, using the algorithm described in
        `Glacier documentation <http://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html>`_.

        But if you prefer, you can also use botocore.utils.calculate_tree_hash()
        to compute it from raw file by::

            checksum = calculate_tree_hash(open('your_file.txt', 'rb'))

        �checksum)rr�)�docr$r$r%�#document_glacier_tree_hash_checksumfs
r�cKsld|kr0|jd�}|jd�}|j�|jd�n8d|krh|jd�}|jd�}|jd�}|j�|jd�dS)	Nzresponse-paramsrSz
param-typez(*dict*) --zresponse-examplezstructure-valuezmember-valuez{})r�r�rx)rzr{r#Ztemplate_body_sectionr�r�r�r�r$r$r%�0document_cloudformation_get_template_return_typews




r�cKst|d�dS)NZPredictEndpoint)r)�requestr#r$r$r%�switch_host_machinelearning�sr�cKsFddl}y$|j}|dkr*tjd|jt�Wntk
r@YnXdS)Nrr�z�Currently installed openssl version: %s does not support TLS 1.2, which is required for use of iot-data. Please use python installed with openssl version 1.0.1 or higher.)r�rr�)�sslZOPENSSL_VERSION_INFO�warnings�warnZOPENSSL_VERSIONrrH)r#r�Zopenssl_version_tupler$r$r%�&check_openssl_supports_tls_version_1_2�s
r�cKs>|jdkr:d|jkr:d|jd<d|_|jjdd�\|_|_dS)Nr��?z!application/x-www-form-urlencodedzContent-Typernr�)rkr�rqr��data)r�r#r$r$r%�change_get_to_post�s
r�cKsd|krd|d<d|d<dS)N�EncodingTypeT�encoding_type_auto_setr�r$)rMr?r#r$r$r%�"set_list_objects_encoding_type_url�sr�cKstdddgd	d
g||d�dS)N�	DelimiterZMarkerZ
NextMarker�Contentsrb�CommonPrefixes�Prefix)�top_level_keys�nested_keysr,r?)r�rb)r�r�)�_decode_list_object)r,r?r#r$r$r%�decode_list_object�s
	r�cKstdddgdd	g||d�dS)
Nr�r�Z
StartAfterr�rbr�)r�r�r,r?)r�rb)r�r�)r�)r,r?r#r$r$r%�decode_list_object_v2�s
r�cKs"tddddgd
ddg||d	�dS)
NZ	KeyMarkerZ
NextKeyMarkerr�r��Versionsrb�
DeleteMarkersr�)r�r�r,r?)r�rb)r�rb)r�r�)r�)r,r?r#r$r$r%�decode_list_object_versions�sr�cCs~|jd�dkrz|jd�rzx$|D]}||krt||�||<qWx:|D]2\}}||krDx ||D]}t||�||<q^WqDWdS)Nr�r�r�)r"r)r�r�r,r?r�Ztop_keyZ	child_keyr�r$r$r%r��s

r�cKsVd|krRt|dtj�r0tjt|d��|d<n"t|dtj�rRtj|d�|d<dS)NZBody)rerr�r�rr�)rMr#r$r$r%� convert_body_to_file_like_object�s
r�c	Csvdddd�}xd|j�D]X\}}|jdd�\}}t||�}d||jtf}d|d	|jf}|j|�|j|�qWdS)
NZFiltersZfromTimeZreturnFields)zec2.*.Filterzlogs.CreateExportTask.fromzcloudsearchdomain.Search.return�.r�zbefore-parameter-build.zdocs.*.z.complete-section)r��rsplit�ParameterAlias�alias_parameter_in_call�REGISTER_FIRST� alias_parameter_in_documentationr�)	Zhandler_list�aliases�original�new_nameZ
event_portion�
original_nameZparameter_aliasZ#parameter_build_event_handler_tupleZdocs_event_handler_tupler$r$r%�_add_parameter_aliases�s


r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r�cCs||_||_dS)N)�_original_name�_alias_name)rvr�Z
alias_namer$r$r%rwszParameterAlias.__init__cKsR|jrN|j|jjkrN|j|krN|j|kr<t|j|j|jd��|j|j�||j<dS)N)r��aliasZ	operation)r�r�r�rrrO�pop)rvrMrNr#r$r$r%r�s


z&ParameterAlias.alias_parameter_in_callcKs�|jd�rP|j|jkrdS|j|j�}|jd�}|j|�|jd�}|j|�n:|jd�r�|jd�}|j|jkrtdS|j|j�}|j|�dS)Nzdocs.request-paramsz
param-typez
param-namezdocs.request-examplezstructure-value)r>r�Zavailable_sectionsr��_replace_content)rvr{rzr#r�Zparam_type_sectionZparam_name_sectionr$r$r%r�+s





z/ParameterAlias.alias_parameter_in_documentationcCs4|j�jd�}|j|j|j�}|j�|j|�dS)Nzutf-8)�getvaluerErAr�rr�rx)rvrzr5Zupdated_contentr$r$r%r?s
zParameterAlias._replace_contentN)r}r~rrwr�r�rr$r$r$r%r�sr�c@seZdZdd�Zdd�ZdS)�ClientMethodAliascCs
||_dS)z� Aliases a non-extant method to an existing method.

        :param actual_name: The name of the method that actually exists on
            the client.
        N)�_actual)rvZactual_namer$r$r%rwHszClientMethodAlias.__init__cKst||j�S)N)�getattrr)rvZclientr#r$r$r%�__call__PszClientMethodAlias.__call__N)r}r~rrwrr$r$r$r%rGsrc@s>eZdZdZejdej�Zdd�Zdd�Z	dd�Z
d	d
�ZdS)�HeaderToHostHoisterz@Takes a header and moves it to the front of the hoststring.
    z(?!-)[a-z\d-]{1,63}(?<!-)$cCs
||_dS)N)�_header_name)rvZheader_namer$r$r%rwZszHeaderToHostHoister.__init__cKsJ|j|dkrdS|d|j}|j|�|d}|j||�}||d<dS)aHoist a header to the hostname.

        Hoist a header to the beginning of the hostname with a suffix "." after
        it. The original header should be removed from the header map. This
        method is intended to be used as a target for the before-call event.
        rqNr�)r
�_ensure_header_is_valid_host�_prepend_to_host)rvrMr#Zheader_valueZoriginal_url�new_urlr$r$r%�hoist]s
zHeaderToHostHoister.hoistcCs|jj|�}|stdd��dS)Nz`Hostnames must contain only - and alphanumeric characters, and between 1 and 63 characters long.)rV)�_VALID_HOSTNAME�matchr)rv�headerrr$r$r%rlsz0HeaderToHostHoister._ensure_header_is_valid_hostcCsHt|�}|jjd�}|g|}dj|�}|j||j|jdf}t|�}|S)Nr�rl)r
Znetlocr��join�scheme�pathZqueryr)rvr��prefixZurl_components�partsZ
new_netlocZnew_componentsr
r$r$r%rts

z$HeaderToHostHoister._prepend_to_hostN)r}r~r�__doc__�re�compile�
IGNORECASErrwrrrr$r$r$r%r	Usr	cKs|js
dS|jj|dd<dS)Nrqzx-amz-api-version)Zis_endpoint_discovery_operationZ
service_model�api_version)rNrMr#r$r$r%�#inject_api_version_header_if_needed�srzchoose-service-namez/getattr.mturk.list_hi_ts_for_qualification_typeZ list_hits_for_qualification_typez$before-parameter-build.s3.UploadPartz#before-parameter-build.s3.PutObjectzcreating-client-classzcreating-client-class.s3zcreating-client-class.iot-datazafter-call.iamzafter-call.ec2.GetConsoleOutputz%after-call.cloudformation.GetTemplatezafter-call.s3.GetBucketLocationzbefore-parameter-buildzbefore-parameter-build.s3z%before-parameter-build.s3.ListObjectsz'before-parameter-build.s3.ListObjectsV2z,before-parameter-build.s3.ListObjectVersionsz$before-parameter-build.s3.CopyObjectz(before-parameter-build.s3.UploadPartCopyz/before-parameter-build.s3.CreateMultipartUploadz%docs.*.s3.CopyObject.complete-sectionz)docs.*.s3.UploadPartCopy.complete-sectionzbefore-call.s3zbefore-call.glacierzbefore-call.apigatewayzbefore-call.s3.PutObjectzbefore-call.s3.UploadPartz!before-call.glacier.UploadArchivez'before-call.glacier.UploadMultipartPartzbefore-call.ec2.CopySnapshotz'request-created.machinelearning.Predictzneeds-retry.s3.UploadPartCopyzneeds-retry.s3.CopyObjectz&needs-retry.s3.CompleteMultipartUploadz$choose-signer.cognito-identity.GetIdz-choose-signer.cognito-identity.GetOpenIdTokenz-choose-signer.cognito-identity.UnlinkIdentityz8choose-signer.cognito-identity.GetCredentialsForIdentityz$choose-signer.sts.AssumeRoleWithSAMLz+choose-signer.sts.AssumeRoleWithWebIdentityz
choose-signerz$before-parameter-build.s3.HeadObjectz#before-parameter-build.s3.GetObjectz'before-parameter-build.ec2.RunInstancesz<before-parameter-build.autoscaling.CreateLaunchConfigurationzbefore-parameter-build.route53zbefore-parameter-build.glacierzafter-call.s3.ListObjectszafter-call.s3.ListObjectsV2z after-call.s3.ListObjectVersionsz(request-created.cloudsearchdomain.Searchz!docs.*.glacier.*.complete-sectionr�zJNote: this parameter is set to "-" bydefault if no value is not specified.z-docs.*.glacier.UploadArchive.complete-sectionr�z3docs.*.glacier.UploadMultipartPart.complete-sectionzDdocs.request-params.glacier.CompleteMultipartUpload.complete-sectionz2docs.*.cloudformation.GetTemplate.complete-sectionz(docs.*.ec2.RunInstances.complete-sectionr�z=docs.*.autoscaling.CreateLaunchConfiguration.complete-sectionz(docs.*.ec2.CopySnapshot.complete-sectionr�r�zdocs.*.s3.*.complete-sectionZSSECustomerKeyMD5ZCopySourceSSECustomerKeyMD5z1docs.*.lambda.UpdateFunctionCode.complete-sectionZZipFiler;Z
ContentMD5Z
DeleteObjectsZPutBucketAclZ
PutBucketCorsZPutBucketLifecycleZPutBucketLoggingZPutBucketNotificationZPutBucketPolicyZPutBucketReplicationZPutBucketRequestPaymentZPutBucketTaggingZPutBucketVersioningZPutBucketWebsiteZPutObjectAclzcreating-client-class.rdsz%before-call.rds.CopyDBClusterSnapshotzbefore-call.rds.CreateDBClusterzbefore-call.rds.CopyDBSnapshotz+before-call.rds.CreateDBInstanceReadReplicaz1docs.*.rds.CopyDBClusterSnapshot.complete-sectionr�z+docs.*.rds.CreateDBCluster.complete-sectionz*docs.*.rds.CopyDBSnapshot.complete-sectionz7docs.*.rds.CreateDBInstanceReadReplica.complete-sectionz)before-call.neptune.CopyDBClusterSnapshotz#before-call.neptune.CreateDBClusterz5docs.*.neptune.CopyDBClusterSnapshot.complete-sectionz/docs.*.neptune.CreateDBCluster.complete-sectionz'before-call.docdb.CopyDBClusterSnapshotz!before-call.docdb.CreateDBClusterz3docs.*.docdb.CopyDBClusterSnapshot.complete-sectionz-docs.*.docdb.CreateDBCluster.complete-sectionzdocs.title.sms-voicezpinpoint-sms-voicezbefore-call)r^)qrrCZloggingr�rr�rLZbotocore.compatrrrrrrrr	r
rrr
Zbotocore.docs.utilsrrrZbotocore.signersrrrZbotocore.exceptionsrrrrZbotocore.utilsrrrrrr<rrrZ
botocore.authZ	getLoggerr}r(�objectr�Z
REGISTER_LASTrrWZ_ACCESSPOINT_ARNZ_OUTPOST_ARNrrYr�r!r&r-r'r@rJrPrRrTr]r`rar_rdrjrsrtr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr	rZdocument_auto_populated_paramZ
hide_paramr|ZBUILTIN_HANDLERSr$r$r$r%�<module>s�8


!




#		 	 	
 1/