Ë
    £ªðið   ã                   ó  — d Z ddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
mZ ddlmZ ddlmZ ddlmZ ddlmZmZ dd	lmZmZmZ  ej2                  e«      Zd
dgZg d¢ZdZdZdZ dZ! G d„ d«      Z" G d„ d«      Z# G d„ de$e#«      Z%y)z²Internal module to help with normalizing botocore client args.

This module (and all function/classes within this module) should be
considered internal, and *not* a public API.

é    N)ÚConfig)ÚEndpointCreator)ÚEndpointResolverBuiltins)ÚEndpointRulesetResolver)ÚRequestSigner)ÚUserAgentStringÚregister_feature_id)Ú$PRIORITY_ORDERED_SUPPORTED_PROTOCOLSÚensure_booleanÚis_s3_accelerate_urlÚlegacyÚregional)zap-northeast-1z
ap-south-1zap-southeast-1zap-southeast-2ú
aws-globalzca-central-1zeu-central-1z
eu-north-1z	eu-west-1z	eu-west-2z	eu-west-3z	sa-east-1ú	us-east-1z	us-east-2z	us-west-1z	us-west-2é2   )Úwhen_supportedÚwhen_required)Ú	preferredÚdisabledÚrequiredc                   óþ   — e Zd Z	 d(d„Z	 	 	 d)d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd(d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%d%„ Z&d&„ Z'd'„ Z(y)*ÚClientArgsCreatorNc                 ó�   — || _         || _        || _        || _        || _        |€t        j                  «       | _        y || _        y ©N)Ú_event_emitterÚ_response_parser_factoryÚ_loaderÚ_exceptions_factoryÚ_config_storer   Úfrom_environmentÚ_session_ua_creator)ÚselfÚevent_emitterÚ
user_agentÚresponse_parser_factoryÚloaderÚexceptions_factoryÚconfig_storeÚuser_agent_creators           úd/var/www/acinvestment.org/public_html/aci/backend/venv/lib/python3.12/site-packages/botocore/args.pyÚ__init__zClientArgsCreator.__init__V   sJ   € ð ,ˆÔØ(?ˆÔ%ØˆŒØ#5ˆÔ Ø)ˆÔØÐ%Ü'6×'GÑ'GÓ'IˆDÕ$à'9ˆDÕ$ó    c                 ó<  — | j                  |||	||||«      }|d   }|d   }|d   }|d   }|d   }|d   }|d   j                  dd «      }|d	   }|d
   }|d   }|d   }|d   }|d   }|d   }t        j                  | j                  «      }t	        |j
                  ||d   |d   |||
«      }||d<   t        di |¤Ž}t        |«      }|j                  |||d   || j                  |j                  |j                  |j                  |j                  f||j                  |j                  ¬«      } d|› �}!dt         j"                  j$                  i}"|j'                  |!|||"¬«       t         j"                  j)                  |||"d   ¬«      }#t         j*                  j-                  |«      }$| j/                  |||||||| ||	|||||«      }%| j0                  j3                  |«      }&|r|j4                  nd }'|'|_        |#| |$|||| j8                  ||| j:                  |%|&dœS )NÚservice_nameÚparameter_validationÚendpoint_configÚprotocolÚconfig_kwargsÚ	s3_configÚmetadataÚ	partitionÚsocket_optionsÚconfigured_endpoint_urlÚsigning_regionÚregion_nameÚaccount_id_endpoint_modeÚs3_disable_express_session_authÚauth_scheme_preferenceÚsigning_nameÚsignature_versionÚs3Úendpoint_url)
r9   r@   Úverifyr%   Úmax_pool_connectionsÚproxiesÚtimeoutr6   Úclient_certÚproxies_configzcreating-serializer.Útimestamp_precision)Úprotocol_nameÚservice_modelÚserializer_kwargs)rG   )Ú
serializerÚendpointÚresponse_parserr#   Úrequest_signerrI   r&   Úclient_configr5   r'   Úendpoint_ruleset_resolverr)   © )Úcompute_client_argsÚgetÚcopyr   r   Ú
service_idr   r   Úcreate_endpointr   rB   rC   Úconnect_timeoutÚread_timeoutrE   rF   ÚbotocoreÚ	serializeÚTIMESTAMP_PRECISION_DEFAULTÚemitÚcreate_serializerÚparsersÚcreate_parserÚ_build_endpoint_resolverr!   Úwith_client_configr$   Ú_supplied_user_agentr   r   )(r"   rI   r9   Ú	is_securer@   rA   ÚcredentialsÚscoped_configrO   Úendpoint_bridgeÚ
auth_tokenÚendpoints_ruleset_dataÚpartition_dataÚ
final_argsr.   r/   r0   r1   r2   r3   r5   r6   r7   r8   Úendpoint_region_namer:   r;   r<   r#   ÚsignerÚ
new_configÚendpoint_creatorrL   Ú
event_namerJ   rK   rM   Úruleset_resolverÚclient_ua_creatorÚsupplied_uas(                                           r*   Úget_client_argsz!ClientArgsCreator.get_client_argsj   sâ  € ð ×-Ñ-ØØØØØØØó
ˆ
ð " .Ñ1ˆØ)Ð*@ÑAÐØ$Ð%6Ñ7ˆØ˜jÑ)ˆØ" ?Ñ3ˆØ˜{Ñ+ˆ	Ø# JÑ/×3Ñ3°KÀÓFˆ	Ø#Ð$4Ñ5ˆØ",Ð-FÑ"GÐØ(Ð)9Ñ:ˆØ.¨}Ñ=ÐØ#0Ð1KÑ#LÐ Ø*7Ø-ñ+
Ð'ð "/Ð/GÑ!HÐäŸ	™	 $×"5Ñ"5Ó6ˆÜØ×$Ñ$ØØ˜NÑ+ØÐ/Ñ0ØØØó
ˆð (ˆ�dÑÜÑ,˜mÑ,ˆ
Ü*¨=Ó9Ðà#×3Ñ3ØØ,Ø(¨Ñ8ØØ$(×$AÑ$AØ!+×!@Ñ!@Ø×&Ñ&Ø×/Ñ/°×1HÑ1HÐIØ)Ø"×.Ñ.Ø%×4Ñ4ð 4ó 
ˆð ,¨L¨>Ð:ˆ
à!¤8×#5Ñ#5×#QÑ#Qð
Ðð 	×ÑØØ"Ø'Ø/ð	 	ô 	
ô ×'Ñ'×9Ñ9ØØ Ø 1Ð2GÑ Hð :ó 
ˆ
ô
 #×*Ñ*×8Ñ8¸ÓBˆà×8Ñ8Ø"ØØØØ ØØ#ØØØØØØ$Ø+Ø"ó
Ðð& !×4Ñ4×GÑGØó
Ðñ 3@�m×.Ò.ÀTˆØ*5ˆ
Ô'ð %Ø Ø.Ø*Ø$Ø*Ø—l‘lØ'Ø"Ø"&×":Ñ":Ø)9Ø"3ñ
ð 	
r,   c                 óR  — |j                   }|j                  }	d}
|r|j                  sd}
n |r|j                  d«      }|�t	        |«      }
| j                  |«      }| j                  ||¬«      }|�t        d«       | j                  ||||||¬«      }|d   j                  dg «      }| j                  j                  |«      j                  «       }t        |d	   |d
   |¬«      }d|v r|j                  d¬«       d|v r|j                  d¬«       |��
|j                  |j                  |j                  |j                   |j"                  |j$                  |j&                  |j(                  |j*                  |j,                  |j.                  |j0                  |j2                  |j4                  |j6                  |j8                  |j:                  |j<                  |j>                  |j@                  |jB                  �|jB                  j                  d«      nd ¬«       | jE                  |«       | jG                  |«       | jI                  |«       | jK                  |«       | jM                  |«       | jO                  |«       | jQ                  |«       | jS                  ||«       | jU                  ||«       | jW                  ||«       | jY                  |«       | j                  |«      }| j[                  |«      }|rd|v r	|€i }d|d<   ||
|||	||| j]                  ||«      dœS )NTFr/   )rO   r@   ÚENDPOINT_OVERRIDE)r.   r9   r@   rc   rf   r3   r4   Útagsr9   r>   )r9   r>   r$   Ú	dualstack)Úuse_dualstack_endpointÚfips)Úuse_fips_endpointÚdisable_s3_express_session_auth)rW   rX   rB   rC   rF   ÚretriesrE   Úinject_host_prefixÚtcp_keepaliveÚuser_agent_extraÚuser_agent_appidÚ"request_min_compression_size_bytesÚdisable_request_compressionÚclient_context_paramsÚsigv4a_signing_region_setÚrequest_checksum_calculationÚresponse_checksum_validationr:   r<   r;   rx   )r.   r/   r7   r0   r1   r2   r3   r6   )/Úendpoint_prefixÚresolved_protocolr/   rS   r   Úcompute_s3_configÚ _compute_configured_endpoint_urlr	   Ú_compute_endpoint_configr!   ra   Ú	to_stringÚdictÚupdaterW   rX   rB   rC   rF   r|   rE   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r:   r<   r?   Ú_compute_retry_configÚ_compute_connect_timeoutÚ _compute_user_agent_appid_configÚ#_compute_request_compression_configÚ)_compute_sigv4a_signing_region_set_configÚ_compute_checksum_configÚ(_compute_account_id_endpoint_mode_configÚ_compute_inject_host_prefixÚ&_compute_auth_scheme_preference_configÚ!_compute_signature_version_configÚ(_compute_s3_disable_express_session_authÚ_is_s3_serviceÚ_compute_socket_options)r"   rI   rO   rf   r9   r@   rc   re   r.   r1   r/   Ú	raw_valuer3   r7   r0   Úendpoint_variant_tagsÚpreliminary_ua_stringr2   Úis_s3_services                      r*   rR   z%ClientArgsCreator.compute_client_argsì   s`  € ð %×4Ñ4ˆØ ×2Ñ2ˆØ#ÐÙ ×!CÒ!CØ#(Ñ ÙØ%×)Ñ)Ð*@ÓAˆIØÐ$Ü'5°iÓ'@Ð$à×*Ñ*¨=Ó9ˆ	à"&×"GÑ"GØ'Ø%ð #Hó #
Ðð #Ð.ÜÐ 3Ô4à×7Ñ7Ø%Ø#Ø0ØØ+Øð 8ó 
ˆð !0°
Ñ ;× ?Ñ ?ÀÈÓ KÐð !%× 8Ñ 8× KÑ KØó!
ç
‰)‹+ð 	ô Ø'¨Ñ6Ø-Ð.AÑBØ,ô
ˆð
 Ð/Ñ/Ø× Ñ ¸Ð Ô=ØÐ*Ñ*Ø× Ñ °4Ð Ô8ØÑ$Ø× Ñ Ø -× =Ñ =Ø*×7Ñ7Ø%2×%GÑ%GØ%×-Ñ-Ø,×;Ñ;Ø%×-Ñ-Ø)×5Ñ5Ø#0×#CÑ#CØ+×9Ñ9Ø!.×!?Ñ!?Ø!.×!?Ñ!?à!×DÑDð "×=Ñ=à&3×&IÑ&Ià!×;Ñ;ð "×>Ñ>ð "×>Ñ>à)6×)OÑ)OØ'4×'KÑ'Kð %×'Ñ'Ð3ð "×$Ñ$×(Ñ(Ð)JÔKàðC !ô #ðH 	×"Ñ" =Ô1Ø×%Ñ% mÔ4Ø×-Ñ-¨mÔ<Ø×0Ñ0°Ô?Ø×6Ñ6°}ÔEØ×%Ñ% mÔ4Ø×5Ñ5°mÔDØ×(Ñ(¨¸ÔFØ×3Ñ3Ø˜=ô	
ð 	×.Ñ.¨}¸mÔLØ×5Ñ5°mÔDØ×*Ñ*¨=Ó9ˆ	à×+Ñ+¨LÓ9ˆá˜[Ð,AÑAØÐ Ø�	Ø26ˆIÐ.Ñ/ð )Ø$8Ø'>Ø.Ø Ø*Ø"Ø"×:Ñ:Ø˜}óñ
ð 	
r,   c                 óz   — |�|j                   dk(  r*| j                  j                  d«      }|�| |d<   y d|d<   y y )NÚUNSETÚdisable_host_prefix_injectionr}   T)Ú_inject_host_prefixr   Úget_config_variable)r"   rO   r2   Ú(configured_disable_host_prefix_injections       r*   r–   z-ClientArgsCreator._compute_inject_host_prefixp  sf   € ð Ð!Ø×0Ñ0°GÒ;ð ×"Ñ"×6Ñ6Ø3óð 5ð
 8ÐCð AÐ@ð Ø(òð 7;�Ð2Ò3ð <r,   c                 ó�   — |�|S | j                  |«      rt        j                  d«       |S | j                  j	                  d«      S )Nz"Ignoring configured endpoint URLs.r@   )Ú _ignore_configured_endpoint_urlsÚloggerÚdebugr   r¤   )r"   rO   r@   s      r*   rŠ   z2ClientArgsCreator._compute_configured_endpoint_urlƒ  sF   € ØÐ#ØÐà×0Ñ0°Ô?Ü�L‰LÐ=Ô>ØÐà×!Ñ!×5Ñ5°nÓEÐEr,   c                 ól   — |r|j                   �|j                   S | j                  j                  d«      S )NÚignore_configured_endpoint_urls)r«   r   r¤   )r"   rO   s     r*   r§   z2ClientArgsCreator._ignore_configured_endpoint_urls�  s9   € áØ×=Ñ=ÐIà ×@Ñ@Ð@à×!Ñ!×5Ñ5Ø-ó
ð 	
r,   c                 óÎ   — | j                   j                  d«      }|�G|j                  �;|€|j                  }|S |j                  «       }|j	                  |j                  «       |S )Nr?   )r   r¤   r?   rT   rŽ   )r"   rO   Ús3_configurations      r*   r‰   z#ClientArgsCreator.compute_s3_config˜  sr   € Ø×-Ñ-×AÑAÀ$ÓGÐð Ð$Ø×ÑÐ+Ø#Ð+Ø'4×'7Ñ'7Ð$ð  Ðð (8×'<Ñ'<Ó'>Ð$Ø$×+Ñ+¨M×,<Ñ,<Ô=àÐr,   c                 ó
   — |dv S )a,  Whether the service is S3 or S3 Control.

        Note that throughout this class, service_name refers to the endpoint
        prefix, not the folder name of the service in botocore/data. For
        S3 Control, the folder name is 's3control' but the endpoint prefix is
        's3-control'.
        )r?   z
s3-controlrQ   )r"   r.   s     r*   rš   z ClientArgsCreator._is_s3_service«  s   € ð Ð3Ð3Ð3r,   c                 ó–   — |||||dœ}|dk(  r | j                   dd|i|¤ŽS |dk(  r | j                  di |¤ŽS  | j                  di |¤ŽS )N)r.   r9   r@   rc   rf   r?   r3   ÚstsrQ   )Ú_compute_s3_endpoint_configÚ_compute_sts_endpoint_configÚ_resolve_endpoint)r"   r.   r9   r@   rc   rf   r3   Úresolve_endpoint_kwargss           r*   r‹   z*ClientArgsCreator._compute_endpoint_configµ  s‚   € ð )Ø&Ø(Ø"Ø.ñ#
Ðð ˜4ÒØ3�4×3Ñ3ñ Ø#ðØ'>ñð ð ˜5Ò Ø4�4×4Ñ4ÑOÐ7NÑOÐOØ%ˆt×%Ñ%Ñ@Ð(?Ñ@Ð@r,   c                 óª   — | j                  |d   |«      }|rd |d<    | j                  di |¤Ž}| j                  ||d   «       |r|d   dk(  rd|d<   |S )Nr9   rf   r   r   rQ   )Ú_should_force_s3_globalr³   Ú!_set_region_if_custom_s3_endpoint)r"   r3   r´   Úforce_s3_globalr0   s        r*   r±   z-ClientArgsCreator._compute_s3_endpoint_configÍ  s   € ð ×6Ñ6Ø# MÑ2°Ió
ˆñ Ø59Ð# MÑ2Ø0˜$×0Ñ0ÑKÐ3JÑKˆØ×.Ñ.ØÐ4Ð5FÑGô	
ñ ˜¨}Ñ=ÀÒMØ-8ˆO˜MÑ*ØÐr,   c                 óX   — d}|rd|v r|d   }| j                  |«       |dv }|dk(  xr |S )Nr   Úus_east_1_regional_endpoint)r   N)Ú_validate_s3_regional_config)r"   r9   r3   Ús3_regional_configÚis_global_regions        r*   r¶   z)ClientArgsCreator._should_force_s3_globalâ  sK   € Ø%ÐÙÐ6¸)ÑCØ!*Ð+HÑ!IÐØ×-Ñ-Ð.@ÔAà&Ð*=Ð=ÐØ! XÑ-ÒBÐ2BÐBr,   c                 óT   — |t         vr t        j                  j                  |¬«      ‚y )N)Ú%s3_us_east_1_regional_endpoint_config)ÚVALID_REGIONAL_ENDPOINTS_CONFIGrY   Ú
exceptionsÚ+InvalidS3UsEast1RegionalEndpointConfigError)r"   Ú
config_vals     r*   r»   z.ClientArgsCreator._validate_s3_regional_configë  s2   € ØÔ<Ñ<Ü×%Ñ%×QÑQØ6@ð Ró ð ð =r,   c                 óº   — t        |t        «      xr |j                  «       dv }t        |t        «      s'|s$t        j
                  j                  d|› d�¬«      ‚y y )N)ÚtrueÚfalseúInvalid value "z>" for s3_disable_express_session_auth. Value must be a boolean©Ú	error_msg)Ú
isinstanceÚstrÚlowerÚboolrY   rÁ   ÚInvalidConfigError)r"   rÃ   Ústring_bools      r*   Ú)_validate_s3_disable_express_session_authz;ClientArgsCreator._validate_s3_disable_express_session_authñ  sq   € Ü  ¬SÓ1ò 
°j×6FÑ6FÓ6Hð M
ð 7
ˆô ˜*¤dÔ+±KÜ×%Ñ%×8Ñ8à% j \ð 2Oð Oð 9ó ð ð 5@Ð+r,   c                 ó^   — |d   €(|d   €"|j                  d«      }|d   |d<   |d   |d<   y y y )Nr8   r9   r?   ©Úresolve)r"   r0   rf   rL   s       r*   r·   z3ClientArgsCreator._set_region_if_custom_s3_endpointþ  sU   € ð Ð,Ñ-Ð5Ø Ñ.Ð6à&×.Ñ.¨tÓ4ˆHØ08Ð9IÑ0JˆOÐ,Ñ-Ø-5°mÑ-DˆO˜MÒ*ð	 7ð 6r,   c                 ó†   —  | j                   di |¤Ž}| j                  |d   |d   |«      r| j                  ||d   «       |S )Nr9   r@   rc   rQ   )r³   Ú_should_set_global_sts_endpointÚ_set_global_sts_endpoint)r"   r´   r0   s      r*   r²   z.ClientArgsCreator._compute_sts_endpoint_config  s\   € Ø0˜$×0Ñ0ÑKÐ3JÑKˆØ×/Ñ/Ø# MÑ2Ø# NÑ3Øô
ð
 ×)Ñ)ØÐ!8¸Ñ!Eôð Ðr,   c                 ó�   — |xr! |j                  di «      j                  d«      }|s|ry| j                  «       dk(  xr |t        v S )Nr4   rv   Fr   )rS   Ú"_get_sts_regional_endpoints_configÚLEGACY_GLOBAL_STS_REGIONS)r"   r9   r@   r0   Úhas_variant_tagss        r*   rÕ   z1ClientArgsCreator._should_set_global_sts_endpoint  s[   € ð +ò ¨×/BÑ/BØ˜ó0
ç
‰#ˆf‹+ð 	ñ Ñ+Øà×3Ñ3Ó5¸ÑAò 9ØÔ8Ð8ð	
r,   c                 ó”   — | j                   j                  d«      }|sd}|t        vr t        j                  j                  |¬«      ‚|S )NÚsts_regional_endpointsr   )Ústs_regional_endpoints_config)r   r¤   rÀ   rY   rÁ   Ú&InvalidSTSRegionalEndpointsConfigError)r"   rÝ   s     r*   rØ   z4ClientArgsCreator._get_sts_regional_endpoints_config%  s^   € Ø(,×(:Ñ(:×(NÑ(NØ$ó)
Ð%ñ -Ø,6Ð)à)Ü2ñ3ô ×%Ñ%×LÑLØ.Kð Mó ð ð -Ð,r,   c                 ó*   — |rdnd}|› d�|d<   d|d<   y )NÚhttpsÚhttpz://sts.amazonaws.comr@   r   r8   rQ   )r"   r0   rc   Úschemes       r*   rÖ   z*ClientArgsCreator._set_global_sts_endpoint4  s(   € Ù%‘¨6ˆØ-3¨HÐ4HÐ*Iˆ˜Ñ'Ø,7ˆÐ(Ò)r,   c                 ó*   — |j                  ||||«      S r   rÒ   )r"   r.   r9   r@   rc   rf   s         r*   r³   z#ClientArgsCreator._resolve_endpoint9  s    € ð ×&Ñ&Ø˜+ |°Yó
ð 	
r,   c                 ó  — t         j                  t         j                  dfg}|xr |j                  }|€| j                  j                  d«      }|r0|j                  t         j                  t         j                  df«       |S )Né   r~   )	ÚsocketÚIPPROTO_TCPÚTCP_NODELAYr~   r   r¤   ÚappendÚ
SOL_SOCKETÚSO_KEEPALIVE)r"   re   rO   r6   Úclient_keepalives        r*   r›   z)ClientArgsCreator._compute_socket_optionsE  s|   € ô "×-Ñ-¬v×/AÑ/AÀ1ÐEÐFˆØ(ÒH¨]×-HÑ-HÐØÐ#Ø#×1Ñ1×EÑEØó Ðñ Ø×!Ñ!¤6×#4Ñ#4´f×6IÑ6IÈ1Ð"MÔNØÐr,   c                 óH   — | j                  |«       | j                  |«       y r   )Ú_compute_retry_max_attemptsÚ_compute_retry_mode©r"   r2   s     r*   r�   z'ClientArgsCreator._compute_retry_configT  s   € Ø×(Ñ(¨Ô7Ø× Ñ  Õ/r,   c                 óì   — |j                  d«      }|�5d|v r|j                  dd «       y d|v r|j                  d«      }|dz   |d<   y | j                  j                  d«      }|�|€i }||d<   ||d<   y y )Nr|   Útotal_max_attemptsÚmax_attemptsrå   )rS   Úpopr   r¤   )r"   r2   r|   Úvalueró   s        r*   rî   z-ClientArgsCreator._compute_retry_max_attemptsX  sŸ   € ð  ×#Ñ# IÓ.ˆØÐØ# wÑ.Ø—‘˜N¨DÔ1ØØ Ñ(ØŸ™ NÓ3�ð 16¸±	�Ð,Ñ-Øð ×)Ñ)×=Ñ=¸nÓMˆØÐ#ØˆØ�Ø+2�˜iÑ(Ø,8ˆGÐ(Ò)ð	 $r,   c                 óŒ   — |j                  d«      }|€i }||d<   nd|v ry | j                  j                  d«      }|€d}||d<   y )Nr|   ÚmodeÚ
retry_moder   ©rS   r   r¤   )r"   r2   r|   rø   s       r*   rï   z%ClientArgsCreator._compute_retry_modex  s]   € Ø×#Ñ# IÓ.ˆØˆ?ØˆGØ'.ˆM˜)Ò$Ø�wÑð Ø×'Ñ'×;Ñ;¸LÓIˆ
ØÐØ!ˆJØ$ˆ�Šr,   c                 ór   — |j                  d«      }|�y | j                  j                  d«      }|r||d<   y y )NrW   rù   )r"   r2   rW   s      r*   r�   z*ClientArgsCreator._compute_connect_timeout†  sL   € ð (×+Ñ+Ð,=Ó>ˆØÐ&ØØ×,Ñ,×@Ñ@Øó
ˆñ Ø/>ˆMÐ+Ò,ð r,   c                 ó
  — |j                  d«      }|j                  d«      }|€| j                  j                  d«      }| j                  |«      }||d<   |€| j                  j                  d«      }nt	        |«      }||d<   y )Nr�   r‚   )rS   r   r¤   Ú_validate_min_compression_sizer   )r"   r2   Úmin_sizer   s       r*   r’   z5ClientArgsCreator._compute_request_compression_config“  s–   € Ø ×$Ñ$Ð%IÓJˆØ ×$Ñ$Ð%BÓCˆØÐØ×)Ñ)×=Ñ=Ø4óˆHð ×6Ñ6°xÓ@ˆØ>FˆÐ:Ñ;àÐØ×)Ñ)×=Ñ=Ø-ó‰Hô
 & hÓ/ˆHØ7?ˆÐ3Ò4r,   c                 ó¢   — |j                  d«      }|€| j                  j                  d«      }|�| j                  |«       t	        |«      |d<   y )Nr;   )rS   r   r¤   rÐ   r   )r"   r2   Údisable_expresss      r*   r™   z:ClientArgsCreator._compute_s3_disable_express_session_auth©  s[   € Ø'×+Ñ+Ð,MÓNˆØÐ"Ø"×0Ñ0×DÑDØ1óˆOð
 Ð&Ø×:Ñ:¸?ÔKÜ;IØó<
ˆÐ7Ò8r,   c                 ó*  — d}d}d|› d�}	 t        |«      }||cxk  r|k  s-n |› d|› d	|› d
�}t        j
                  j                  |¬«      ‚|S # t        t        f$ r2 |› dt        |«      › d�}t        j
                  j                  |¬«      ‚w xY w)Nrå   i   rÇ   z)" for request_min_compression_size_bytes.z$ Value must be an integer. Received z	 instead.rÈ   z Value must be between z and ú.)ÚintÚ
ValueErrorÚ	TypeErrorÚtyperY   rÁ   rÎ   )r"   rý   Úmin_allowed_min_sizeÚmax_allowed_min_sizeÚerror_msg_baseÚmsgs         r*   rü   z0ClientArgsCreator._validate_min_compression_size·  sÝ   € Ø ÐØ&Ðà˜h˜Zð (2ð 2ð 	ð	HÜ˜8“}ˆHð $ xÔGÐ3GÔGà!Ð"Ð"9Ø'Ð(¨Ð.BÐ-CÀ1ðFð ô ×%Ñ%×8Ñ8À3Ð8ÓGÐGàˆøô œIÐ&ò 	Hà!Ð"ð #Ü  ›NÐ+¨9ð6ð ô ×%Ñ%×8Ñ8À3Ð8ÓGÐGð	Hús   ŒA ÁABc                 óL   — t        |t        «      r|S |j                  «       dk(  S )NrÅ   )rÊ   rÍ   rÌ   )r"   Úvals     r*   Ú_ensure_booleanz!ClientArgsCreator._ensure_booleanÏ  s"   € Ü�cœ4Ô ØˆJà—9‘9“; &Ñ(Ð(r,   c                 ól  — |€y | j                  |«      xs i }|j                  }|dv s|€|}n|}| j                  ||||
||j                  |||¬«	      }|�|j                  xs i }ni }| j                  |«      r|j                  |«       |�||d<   |�|j                  nd }t        |||||||	||¬«	      S )N)r?   r°   )	r9   r.   r3   rf   Úclient_endpoint_urlÚlegacy_endpoint_urlrd   r:   r;   r{   )	Úendpoint_ruleset_datari   rI   ÚbuiltinsÚclient_contextr#   Úuse_sslÚrequested_auth_schemer<   )	r‰   r‡   Ú*compute_endpoint_resolver_builtin_defaultsÚhostrƒ   rš   rŽ   r>   r   )r"   rh   ri   rO   rI   rk   r9   r@   rL   rc   rf   r#   rd   r:   r;   r<   Ús3_config_rawÚservice_name_rawÚeprv2_region_nameÚresolver_builtinsr  Úsig_versions                         r*   r`   z*ClientArgsCreator._build_endpoint_resolverÕ  s  € ð$ "Ð)Øð ×.Ñ.¨}Ó=ÒCÀˆØ(×8Ñ8Ðð ˜}Ñ,°Ð0CØ 4Ñà +ÐØ ×KÑKØ)Ø)Ø#Ø+Ø ,Ø (§¡Ø#Ø%=Ø,Kð Ló 

Ðð Ð$Ø*×@Ñ@ÒFÀB‰NàˆNØ×ÑÐ/Ô0Ø×!Ñ! -Ô0Ø.Ð:à3ð Ð@ÑAð Ð(ð ×+Ò+àð 	ô
 'Ø"8Ø)Ø'Ø&Ø)Ø'ØØ"-Ø#9ô

ð 
	
r,   c
                 óÞ  — |r|}
n|j                  «       s|}
nd }
|j                  dd«      rd}n6|� t        |«      s|j                  d«      dk7  }n|j                  d«      dk(  }t        j                  |t        j
                  |
d u xr |j                  d«      xs dt        j                  |
d u xr |j                  |«      xs dt        j                  | j                  |d d ¬«      t        j                  | j                  ||«      t        j                  |j                  dd«      t        j                  |t        j                  |j                  dd	«      t        j                   |j                  dd«      t        j"                  |j                  d
d«      t        j$                  |	t        j&                  |
t        j(                  |r|j+                  d«      nd t        j,                  |iS )NÚuse_accelerate_endpointFÚaddressing_styleÚvirtualÚpathrz   )r9   r@   r0   Úuse_arn_regionTÚ$s3_disable_multiregion_access_pointsÚ
account_id)Úresolver_uses_builtin_datarS   r   ÚEPRBuiltinsÚ
AWS_REGIONÚAWS_USE_FIPSÚ$_resolve_endpoint_variant_config_varÚAWS_USE_DUALSTACKÚ_resolve_use_dualstack_endpointÚAWS_STS_USE_GLOBAL_ENDPOINTrÕ   ÚAWS_S3_USE_GLOBAL_ENDPOINTr¶   ÚAWS_S3_ACCELERATEÚAWS_S3_FORCE_PATH_STYLEÚAWS_S3_USE_ARN_REGIONÚAWS_S3CONTROL_USE_ARN_REGIONÚAWS_S3_DISABLE_MRAPÚ#AWS_S3_DISABLE_EXPRESS_SESSION_AUTHÚSDK_ENDPOINTÚ
ACCOUNT_IDÚget_deferred_propertyÚACCOUNT_ID_ENDPOINT_MODE)r"   r9   r.   r3   rf   r  r  rd   r:   r;   Úgiven_endpointÚforce_path_styles               r*   r  z<ClientArgsCreator.compute_endpoint_resolver_builtin_defaults!  s÷  € ñ Ø0‰Nð !×;Ñ;Ô=Ø0‰Nà!ˆNð �=‰=Ð2°EÔ:Ø$ÑØ Ð,Ô5IØô6
ð  )Ÿ}™}Ð-?Ó@ÀIÑMÑà(Ÿ}™}Ð-?Ó@ÀFÑJÐô ×"Ñ" KÜ×$Ñ$à $Ð&ò ð $×HÑHØ'óòð ä×)Ñ)à $Ð&ò ð $×CÑCØ óòð ä×3Ñ3Ø×4Ñ4Ø +Ø!%Ø$(ð 5ó ô ×2Ñ2Ø×,Ñ,¨[¸)ÓDä×)Ñ)¨9¯=©=Ø)¨5ó,ô ×/Ñ/Ð1AÜ×-Ñ-¨y¯}©}Ø  $ó0ô ×4Ñ4°i·m±mØ  %ó7ô ×+Ñ+¨Y¯]©]Ø6¸ó.ô ×;Ñ;Ø/ä×$Ñ$ nÜ×"Ñ"ñ ð %0×$EÑ$EØô%ð Ü×0Ñ0Ð2Jðm7
ð 7	
r,   c                 óÆ   — |j                  d«      }|€| j                  j                  d«      }|�,t        |«      t        kD  rt
        j                  dt        «       ||d<   y )Nr€   zVThe configured value for user_agent_appid exceeds the maximum length of %d characters.)rS   r   r¤   ÚlenÚUSERAGENT_APPID_MAXLENr¨   Úwarning)r"   r2   r€   s      r*   r‘   z2ClientArgsCreator._compute_user_agent_appid_config�  sl   € Ø(×,Ñ,Ð-?Ó@ÐØÐ#Ø#×1Ñ1×EÑEØ"ó Ðð Ð(ÜÐ$Ó%Ô(>Ò>ä�N‰Nð3ä&ôð
 -=ˆÐ(Ò)r,   c                 ój   — |j                  d«      }|€| j                  j                  d«      }||d<   y )Nr„   rù   )r"   r2   r„   s      r*   r“   z;ClientArgsCreator._compute_sigv4a_signing_region_set_config’  sF   € Ø$1×$5Ñ$5Ø'ó%
Ð!ð %Ð,Ø(,×(:Ñ(:×(NÑ(NØ+ó)Ð%ð 6OˆÐ1Ò2r,   c                 ód   — | j                  |dt        ¬«       | j                  |dt        ¬«       y )Nr…   )Ú
config_keyÚvalid_optionsr†   )Ú_handle_checksum_configÚ)VALID_REQUEST_CHECKSUM_CALCULATION_CONFIGÚ)VALID_RESPONSE_CHECKSUM_VALIDATION_CONFIGrð   s     r*   r”   z*ClientArgsCreator._compute_checksum_configœ  s<   € Ø×$Ñ$ØØ5ÜCð 	%ô 	
ð
 	×$Ñ$ØØ5ÜCð 	%õ 	
r,   c                 ó  — |j                  |«      }|€| j                  j                  |«      }t        |t        «      r|j                  «       }||vr"t        j                  j                  |||¬«      ‚| j                  ||«       |||<   y )N)r?  Úconfig_valuer@  )
rS   r   r¤   rÊ   rË   rÌ   rY   rÁ   ÚInvalidChecksumConfigErrorÚ%_register_checksum_config_feature_ids)r"   r2   r?  r@  rõ   s        r*   rA  z)ClientArgsCreator._handle_checksum_config¨  s�   € ð ×!Ñ! *Ó-ˆØˆ=Ø×&Ñ&×:Ñ:¸:ÓFˆEä�eœSÔ!Ø—K‘K“MˆEà˜Ñ%Ü×%Ñ%×@Ñ@Ø%Ø"Ø+ð Aó ð ð
 	×2Ñ2°5¸*ÔEØ$)ˆ�jÒ!r,   c                 ó†   — d }|dk(  rd|j                  «       › �}n|dk(  rd|j                  «       › �}|�t        |«       y y )Nr…   ÚFLEXIBLE_CHECKSUMS_REQ_r†   ÚFLEXIBLE_CHECKSUMS_RES_)Úupperr	   )r"   rõ   r?  Úchecksum_config_feature_ids       r*   rG  z7ClientArgsCreator._register_checksum_config_feature_ids¾  s\   € Ø%)Ð"ØÐ7Ò7à)¨%¯+©+«-¨Ð9ñ 'ð Ð9Ò9à)¨%¯+©+«-¨Ð9ð 'ð &Ð1ÜÐ :Õ;ð 2r,   c           	      ól  — d}|j                  d«      }|t        j                  u rd||<   y |j                  |«      }|€| j                  j	                  |«      }t        |t        «      r|j                  «       }|t        vr.t        j                  j                  d|› d|› dt        › d�¬«      ‚|||<   y )	Nr:   r>   r   zThe configured value 'z' for 'z ' is invalid. Valid values are: r  rÈ   )rS   rY   ÚUNSIGNEDr   r¤   rÊ   rË   rÌ   Ú%VALID_ACCOUNT_ID_ENDPOINT_MODE_CONFIGrÁ   rÎ   )r"   r2   r?  r>   r:   s        r*   r•   z:ClientArgsCreator._compute_account_id_endpoint_mode_configË  sâ   € Ø/ˆ
ð *×-Ñ-Ð.AÓBÐØ¤× 1Ñ 1Ñ1Ø(2ˆM˜*Ñ%Øà#0×#4Ñ#4°ZÓ#@Ð Ø#Ð+Ø'+×'9Ñ'9×'MÑ'MØó(Ð$ô Ð.´Ô4Ø'?×'EÑ'EÓ'GÐ$ð %Ü8ñ9ô ×%Ñ%×8Ñ8Ø2Ð3KÐ2LÈGÐT^ÐS_ð `.Ü.SÐ-TÐTUðWð 9ó ð ð
 %=ˆ�jÒ!r,   c                 ó‚  — d}d}|r|j                   r|j                   }d}n| j                  j                  |«      }|€d ||<   y t        |t        «      s2t
        j                  j                  |› dt        |«      › d|› d�¬«      ‚dj                  d	„ |j                  d«      D «       «      }|rt        |«      }|||<   y )
Nr<   FTz, must be a comma-delimited string. Received z
 instead: r  rÈ   ú,c              3   ó€   K  — | ]6  }|j                  «       r$|j                  d d«      j                  dd«      –— Œ8 y­w)ú Ú ú	N)ÚstripÚreplace)Ú.0Úitems     r*   ú	<genexpr>zKClientArgsCreator._compute_auth_scheme_preference_config.<locals>.<genexpr>  s9   è ø€ ò 
àØ�z‰zŒ|ð �L‰L˜˜bÓ!×)Ñ)¨$°×3ñ
ùs   ‚<>)r<   r   r¤   rÊ   rË   rY   rÁ   rÎ   r  ÚjoinÚsplitÚClientConfigString)r"   rO   r2   r?  Úset_in_config_objectrõ   s         r*   r—   z8ClientArgsCreator._compute_auth_scheme_preference_configé  sÛ   € ð .ˆ
Ø$Ðá˜]×AÒAØ!×8Ñ8ˆEØ#'Ñ à×&Ñ&×:Ñ:¸:ÓFˆEàˆ=Ø(,ˆM˜*Ñ%Øä˜%¤Ô%Ü×%Ñ%×8Ñ8à!�lð # Ü $ U£˜}¨J°u°g¸Qð@ð 9ó ð ð —‘ñ 
àŸ™ CÓ(ô
ó 
ˆñ  Ü& uÓ-ˆEà$)ˆ�jÒ!r,   c                 óz   — |r9|j                   r,|j                   }t        |t        «      rt        |«      |d<   y y y y )Nr>   )r>   rÊ   rË   r]  )r"   rO   r2   rõ   s       r*   r˜   z3ClientArgsCreator._compute_signature_version_config  s>   € Ù˜]×<Ò<Ø!×3Ñ3ˆEÜ˜%¤Ô%Ü5GÈÓ5N�Ð1Ò2ð &ð =ˆ=r,   r   )NNN))Ú__name__Ú
__module__Ú__qualname__r+   rs   rR   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”   rA  rG  r•   r—   r˜   rQ   r,   r*   r   r   U   sá   „ ð  ó:ð> Ø#Øó@
òDB
òH;ò&Fò	
ò ò&4òAò0ò*CòòòEò
ò
ò-ò8ò


óò0ò9ò@%ò?ò@ò,
òò0)òJ
òX^
ò@=ò"Oò

ò*ò,<ò=ò<!*óFOr,   r   c                   ó   — e Zd ZdZy)ÚConfigObjectWrapperz8Base class to mark values set via in-code Config object.N)r`  ra  rb  Ú__doc__rQ   r,   r*   rd  rd    s   „ ÙBàr,   rd  c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )r]  c                 ó$   •— t         ‰| �  | |«      S r   )ÚsuperÚ__new__)Úclsrõ   Ú	__class__s     €r*   ri  zClientConfigString.__new__  s   ø€ Ü‰w‰˜s EÓ*Ð*r,   r   )r`  ra  rb  ri  Ú__classcell__)rk  s   @r*   r]  r]    s   ø„ ÷+ñ +r,   r]  )&re  rT   Úloggingræ   Úbotocore.exceptionsrY   Úbotocore.parsersÚbotocore.serializeÚbotocore.configr   Úbotocore.endpointr   Úbotocore.regionsr   r%  r   Úbotocore.signersr   Úbotocore.useragentr   r	   Úbotocore.utilsr
   r   r   Ú	getLoggerr`  r¨   rÀ   rÙ   r;  rB  rC  rO  r   rd  rË   r]  rQ   r,   r*   ú<module>rx     s®   ðñó Û Û ã Û Û Ý "Ý -Ý DÝ 4Ý *ß C÷ñ ð 
ˆ×	Ñ	˜8Ó	$€ð Øð#Ð òÐ ð( Ð ð-Ð )ð-Ð )ð)Ð %÷{Oñ {O÷|	ñ 	ô+˜Ð1õ +r,   