403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/botocore/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/botocore/__pycache__/serialize.cpython-314.pyc
+
��i������Rt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RI	H
t
^RIHt^RI
Ht^RIHt^RIHt^RIHtHtHtHtRtR	tR
t]P6!R4tRtR
t]]3tR]3Rlt !RR4t!!RR]!4t"!RR]"4t#!RR]!4t$!RR]!4t%!RR]!4t&!RR]!4t'!RR]&]$4t(!R R!]&4t)!R"R#]']%4t*R$]#R%]"R&]$R'](R(])R)]*/t+R#)*a�Protocol input serializes.

This module contains classes that implement input serialization
for the various AWS protocol types.

These classes essentially take user input, a model object that
represents what the expected input should look like, and it returns
a dictionary that contains the various parts of a request.  A few
high level design decisions:


* Each protocol type maps to a separate class, all inherit from
  ``Serializer``.
* The return value for ``serialize_to_request`` (the main entry
  point) returns a dictionary that represents a request.  This
  will have keys like ``url_path``, ``query_string``, etc.  This
  is done so that it's a) easy to test and b) not tied to a
  particular HTTP library.  See the ``serialize_to_request`` docstring
  for more details.

Unicode
-------

The input to the serializers should be text (str/unicode), not bytes,
with the exception of blob types.  Those are assumed to be binary,
and if a str/unicode type is passed in, it will be encoded as utf-8.
N)�ElementTree)�validate)�
formatdate)�ParamValidationError)�register_feature_id)�
has_header�is_json_value_header�parse_to_aware_datetime�percent_encode�iso8601z%Y-%m-%dT%H:%M:%SZz%Y-%m-%dT%H:%M:%S.%fZz^[A-Za-z0-9\.\-]+$�default�millisecondTc��\V,!VR7pV'd,\P!4p\P!WC4pV#)aCreate a serializer for the given protocol.
:param protocol_name: The protocol name to create a serializer for.
:type protocol_name: str
:param include_validation: Whether to include parameter validation.
:type include_validation: bool
:param timestamp_precision: Timestamp precision level.
    - 'default': Microseconds for ISO timestamps, seconds for Unix and RFC
    - 'millisecond': Millisecond precision (ISO/Unix), seconds for RFC
:type timestamp_precision: str
:return: A serializer instance for the given protocol.
)�timestamp_precision)�SERIALIZERSr�ParamValidator�ParamValidationDecorator)�
protocol_name�include_validationr�
serializer�	validators&&&  �4/usr/lib/python3/dist-packages/botocore/serialize.py�create_serializerrMs?��"�]�+�/��J���+�+�-�	��6�6�y�M�
���c�a�]tRt^gtoRt]tRt]3Rlt	Rt
RtRtRt
RtRR
ltRtRtR
tRtRtRtRtVtR	#)�
Serializer�POST�utf-8c�D�V\9d\RV24hWnR#)z=Invalid timestamp precision found while creating serializer: N)�TIMESTAMP_PRECISION_OPTIONS�
ValueError�_timestamp_precision)�selfrs&&r�__init__�Serializer.__init__ps,���&A�A��O�Pc�Od�e��
�%8�!rc��\R4h)aSerialize parameters into an HTTP request.

This method takes user provided parameters and a shape
model and serializes the parameters to an HTTP request.
More specifically, this method returns information about
parts of the HTTP request, it does not enforce a particular
interface or standard for an HTTP request.  It instead returns
a dictionary of:

    * 'url_path'
    * 'host_prefix'
    * 'query_string'
    * 'headers'
    * 'body'
    * 'method'

It is then up to consumers to decide how to map this to a Request
object of their HTTP library of choice.  Below is an example
return value::

    {'body': {'Action': 'OperationName',
              'Bar': 'val2',
              'Foo': 'val1',
              'Version': '2014-01-01'},
     'headers': {},
     'method': 'POST',
     'query_string': '',
     'host_prefix': 'value.',
     'url_path': '/'}

:param parameters: The dictionary input parameters for the
    operation (i.e the user input).
:param operation_model: The OperationModel object that describes
    the operation.
�serialize_to_request��NotImplementedError)r"�
parameters�operation_models&&&rr&�Serializer.serialize_to_requestws��H"�"8�9�9rc
�2�RRRRRVPR/RR/pV#)�url_path�/�query_string��method�headers�bodyr)�DEFAULT_METHOD)r"�
serializeds& r�_create_default_request�"Serializer._create_default_request�s2��
���B��d�)�)��r��C�

�
��rc���VP\8Xd1VPR,pVPR4RVR
R2,#VP^8�d\pM\
pVPV4#)zEReturn ISO8601 timestamp with precision based on timestamp_precision.��z%Y-%m-%dT%H:%M:%S�.�03d�Z)r!�TIMESTAMP_PRECISION_MILLISECOND�microsecond�strftime�
ISO8601_MICRO�ISO8601)r"�value�milliseconds�timestamp_formats&&  r�_timestamp_iso8601�Serializer._timestamp_iso8601�sr���$�$�(G�G� �,�,��4�L����2�3��,�s�9K�1�6M�M�
�
� � �1�$�#0� �#*� ��>�>�"2�3�3rc��VP\8XdG\P!VP	44pVP
R,R,pW#,#\
\P!VP	444#)zBReturn unix timestamp with precision based on timestamp_precision.r9g@�@)r!r=�calendar�timegm�	timetupler>�int)r"rB�base_timestamprCs&&  r�_timestamp_unixtimestamp�#Serializer._timestamp_unixtimestamp�sa���$�$�(G�G�%�_�_�U�_�_�->�?�N�!�-�-��5��?�L�!�0�0��x���u���'8�9�:�:rc��\V\P4'd.\\P!VP444p\
VRR7#)zSReturn RFC822 timestamp (always second precision - RFC doesn't support sub-second).T)�usegmt)�
isinstance�datetimerKrHrIrJr�r"rBs&&r�_timestamp_rfc822�Serializer._timestamp_rfc822�s>���e�X�.�.�/�/��������(9�:�;�E��%��-�-rNc��Vf
VPpVP4p\V4p\VRV24pV!V4pV#)N�_timestamp_)�TIMESTAMP_FORMAT�lowerr	�getattr)r"rBrD�datetime_obj�	converter�final_values&&&   r�_convert_timestamp_to_str�$Serializer._convert_timestamp_to_str�sR���#�#�4�4��+�1�1�3��.�u�5���D�K�0@�/A�"B�C�	���-���rc�:�VPPRV4#)�name��
serialization�get)r"�shape�default_names&&&r�_get_serialized_name�Serializer._get_serialized_name�s���"�"�&�&�v�|�<�<rc���\V\4'dVPVP4p\P
!V4P
4PVP4#�N)rQ�str�encode�DEFAULT_ENCODING�base64�	b64encode�strip�decoderSs&&r�_get_base64�Serializer._get_base64�sP���e�S�!�!��L�L��!6�!6�7�E�����&�,�,�.�5�5�d�6K�6K�L�Lrc�&�VPpVeRV9dR#VR,pVPfV#VPPpVP4UUu.uF*wrgVPPR4'gK(VNK,	ppp/p	.p
VF;pW,p\PV4'gV
PV4W�V&K=	V
'd \RRPV
4R2R7hVP!R/V	B#uuppi)N�
hostPrefix�	hostLabelz Invalid value for parameter(s): z, z?. Must contain only alphanumeric characters, hyphen, or period.)�report�)�endpoint�input_shape�members�itemsrcrd�HOST_PREFIX_RE�match�appendr�join�format)
r"r)r*�operation_endpoint�host_prefix_expression�
input_members�memberre�host_labels�
format_kwargs�
bad_labelsra�params
&&&          r�_expand_host_prefix�Serializer._expand_host_prefix�s��,�5�5���&��#5�5��!3�L�!A���&�&�.�)�)�'�3�3�;�;�
�"/�!4�!4�!6�
�!6�
���"�"�&�&�{�3�
�F�!6�	�
�
�
��
��D��$�E�!�'�'��.�.��!�!�$�'�"'�$��	 �
�&�6�t�y�y��7L�6M�N!�!��
�&�,�,�=�}�=�=��)
s�%D
�D
c�8�VPPR4#)�	flattenedrb�r"res&&r�_is_shape_flattened�Serializer._is_shape_flatteneds���"�"�&�&�{�3�3rc��V\R48XdRpV#V\R48XdRpV#\P!V4'dRpV#)�Infinityz	-Infinity�NaN)�float�math�isnanrSs&&r�
_handle_float�Serializer._handle_floatsQ���E�*�%�%��E�
��	�e�K�(�
(��E����Z�Z��
�
��E��rc�Z�VPP'dRVR,R&R#R#)�truer2zx-amzn-query-modeN)�
service_model�is_query_compatible)r"r*r5s&&&r�_handle_query_compatible_trait�)Serializer._handle_query_compatible_traits)���(�(�<�<�<�9?�J�y�!�"5�6�=r)r!rj)�__name__�
__module__�__qualname__�__firstlineno__r4�dict�MAP_TYPErm�TIMESTAMP_PRECISION_DEFAULTr#r&r6rErMrTr^rgrrr�r�r�r��__static_attributes__�__classdictcell__��
__classdict__s@rrrgse�����N�
�H���+F�8�$:�L�4� ;�.��=�
M� >�D4��@�@rrc�a�]tRtRtoRtRtRRltRRltRRltRRlt	RRlt
RR	ltRR
ltRRlt
RRltRR
ltRtVtR#)�QuerySerializerirc�n�VPpVP4pVPPRVP4VR&RR/VR&VP4pVPVR&VPR,VR&VeVPWQV4WTR&VPW4pVeWdR&V#)	r1�Content-Typez0application/x-www-form-urlencoded; charset=utf-8r2�Action�
apiVersion�Versionr3�host_prefix)
rzr6�httprdr4r�ra�metadata�
_serializer�)r"r)r*rer5�body_paramsr�s&&&    rr&�$QuerySerializer.serialize_to_requests����+�+���1�1�3�
�.�3�3�7�7��d�)�)� 
�
�8��
�N�!
�
�9��
�m�m�o�� /� 4� 4��H��!0�!9�!9�,�!G��I�����O�O�K�U�;�(�6���.�.�z�K���"�(3�}�%��rc�b�\VRVP2VP4pV!WW4R7R#)�_serialize_type_)�prefixN�rZ�	type_name�_default_serialize)r"r5rBrer�r1s&&&&& rr��QuerySerializer._serialize1s5�����u���/�0��#�#�
��
	�z�%�7rc���VPpVP4F?wrbWV,pVPWv4pV'dVRV2pVPWWx4KA	R#)r:N)r{r|rgr�)	r"r5rBrer�r{�key�member_shape�
member_prefixs	&&&&&    r�_serialize_type_structure�)QuerySerializer._serialize_type_structure@sU���-�-���+�+�-�J�C�"�<�L� �5�5�l�H�M��#)�(�!�M�?� ;�
��O�O�J�|�K�(rc�
�V'gRW&R#VPV4'dwTpVPPPR4'dIVP	VPRR7pRPVP
R4RRV.,4pM-VPPPRR4pVRV2p\V^4F*wr�VRV2p
VPpVPWW�4K,	R#)r0Nra�rfr:r����)	r�r�rcrdrgr��split�	enumerater�)r"r5rBrer��list_prefixra�	list_name�i�element�element_prefix�
element_shapes&&&&&       r�_serialize_type_list�$QuerySerializer._serialize_type_listIs����!#�J����#�#�E�*�*� �K��|�|�)�)�-�-�f�5�5��0�0����B�0�O��!�h�h�v�|�|�C�'8��"�'=���'F�G������2�2�6�6�v�x�H�I�#�H�A�i�[�1�K�#�E�1�-�J�A� +�}�A�a�S�1�N�!�L�L�M��O�O�J��O�.rc��VPV4'dTpMVR2pVR,pVPpVPpVPVRR7p	VPVR4p
\	V^4FTwr�VPW�R7p
VPW�R7pVP
WW}4VP
WV,W�4KV	R#)z.entryz
.{i}.{suffix}r�r�rB)r��suffixN)r�r�rBrgr�r�r�)r"r5rBrer��full_prefix�template�	key_shape�value_shape�
key_suffix�value_suffixr�r��
key_prefix�value_prefixs&&&&&          r�_serialize_type_map�#QuerySerializer._serialize_type_map\s����#�#�E�*�*� �K�#�H�F�+�K���0���I�I�	��k�k���.�.�y�u�.�M�
��0�0��g�F����q�)�F�A�!���1��@�J�#�?�?�Q�?�D�L��O�O�J�Y�C��O�O�J�c�
�K�N�	*rc�,�VPV4W&R#rj�rr�r"r5rBrer�s&&&&&r�_serialize_type_blob�$QuerySerializer._serialize_type_blobls��!�-�-�e�4�
�rc�^�VPW#PPR44W&R#��timestampFormatN�r^rcrdr�s&&&&&r�_serialize_type_timestamp�)QuerySerializer._serialize_type_timestampps*��!�;�;��&�&�*�*�+<�=�
�
�rc�*�V'dRW&R#RW&R#�r��falseNrxr�s&&&&&r�_serialize_type_boolean�'QuerySerializer._serialize_type_booleanus���!'�J��!(�J�rc��W!V&R#rjrxr�s&&&&&rr��"QuerySerializer._default_serialize{s
��"�6�rc�,�VPV4W&R#rj)r�r�s&&&&&r�_serialize_type_float�%QuerySerializer._serialize_type_float~s��!�/�/��6�
�rc�*�VPWW44R#rj�r�r�s&&&&&r�_serialize_type_double�&QuerySerializer._serialize_type_double�����"�"�:�e�DrrxN�r0)r�r�r�r�rXr&r�r�r�r�r�r�r�r�r�r�r�r�r�s@rr�r�sL���� ���0
8�L�P�&O� 5�
�
)�#�7�E�Err�c�4a�]tRtRtoRtRtRRltRtVtR#)�
EC2Serializeri�aAEC2 specific customizations to the query protocol serializers.

The EC2 model is almost, but not exactly, similar to the query protocol
serializer.  This class encapsulates those differences.  The model
will have be marked with a ``protocol`` of ``ec2``, so you don't need
to worry about wiring this class up correctly.

c���RVP9dVPR,#RVP9d9VPR,pV^,P4VR,,#V#)�	queryNamera:�NN)rc�upper)r"rerfras&&& rrg�"EC2Serializer._get_serialized_name�sb���%�-�-�-��&�&�{�3�3�
�u�*�*�
*��&�&�v�.�D���7�=�=�?�T�"�X�-�-��rc�z�\V^4F*wrVVRV2pVPpVPWW�4K,	R#)r�r:N)r�r�r�)	r"r5rBrer�r�r�r�r�s	&&&&&    rr��"EC2Serializer._serialize_type_list�s;��#�E�1�-�J�A� &�x�q���_�N�!�L�L�M��O�O�J��O�.rrxNr�)	r�r�r�r��__doc__rgr�r�r�r�s@rr�r��s����� �P�Prr�c�la�]tRtRtoRtRtRRltRtRtRt	R	t
R
tRtRRlt
RR
ltRtVtR#)�JSONSerializeri��
unixtimestampc�,�RPVPR,VP4pVPR,pVP4pVPPRVP4VR&RVRRV2/VR&VPW%4VP4pVPpVeVPWaV4\P!V4PVP4VR&VPW4pVeW�R	&V#)
z{}.{}�targetPrefix�jsonVersionr1zX-Amz-Targetr�zapplication/x-amz-json-r2r3r�)r�r�rar6r�rdr4r�r�rzr��json�dumpsrlrmr�)	r"r)r*�target�json_versionr5r3rzr�s	&&&      rr&�#JSONSerializer.serialize_to_request�s������$�$�^�4�� � �
��'�/�/�
�>���1�1�3�
�.�3�3�7�7��d�)�)� 
�
�8��
�F��5�l�^�D�!
�
�9��	
�+�+�O�H��}�}���%�1�1���"��O�O�D�k�:�!�Z�Z��-�4�4�T�5J�5J�K�
�6���.�.�z�K���"�(3�}�%��rNc�`�\VRVP2VP4pV!WW44R#�r�Nr��r"r5rBrer�r1s&&&&& rr��JSONSerializer._serialize�s3�����u���/�0��#�#�
��
	�z�%�-rc�0�VP'dW!V&R#VeVP4pWQV&TpVPpVP4FCwrxWg,p	RV	P9dV	PR,pVPWW�4KE	R#)Nra)�is_document_typer�r{r|rcr�)
r"r5rBrer��new_serializedr{�
member_key�member_valuer�s
&&&&&     rr��(JSONSerializer._serialize_type_structure�s����!�!�!�#�s�O���"&�����"0�3��+�
��m�m�G�,1�K�K�M�(�
�&�2���\�7�7�7�!-�!;�!;�F�!C�J�����l��	-:rc��VP4pWQV&VP4F"wrgVPWWVPV4K$	R#rj)r�r|r�rB)r"r5rBrer��map_obj�sub_key�	sub_values&&&&&   rr��"JSONSerializer._serialize_type_map�s;���-�-�/��!�3��"'�+�+�-��G��O�O�G����W�E�#0rc��.pWQV&VF:p/pVPWvVPR4VPVR,4K<	R#)�__current__N)r�r�r)r"r5rBrer��list_obj�	list_item�wrappers&&&&&   rr��#JSONSerializer._serialize_type_list�sD����"�3���I��G�

�O�O�G����m�L��O�O�G�M�2�3�rc��W!V&R#rjrx�r"r5rBrer�s&&&&&rr��!JSONSerializer._default_serialize�s	���3�rc�^�VPW#PPR44W&R#r�r�r#s&&&&&rr��(JSONSerializer._serialize_type_timestamp�s)���8�8��&�&�*�*�+<�=�
�
�rc�,�VPV4W&R#rjr�r#s&&&&&rr��#JSONSerializer._serialize_type_blob�s���*�*�5�1�
�rc��\V\P4'd\V4pVP	V4W&R#rj)rQ�decimal�Decimalr�r�r�s&&&&&rr��$JSONSerializer._serialize_type_float�s/���e�W�_�_�-�-��%�L�E�!�/�/��6�
�rc�*�VPWW44R#rjr�r�s&&&&&rr��%JSONSerializer._serialize_type_doubler�rrxrjr�)r�r�r�r�rXr&r�r�r�r�r�r�r�r�r�r�r�r�s@rrr�sE����&���8.��,F�
4� �
�
2�7�
E�Errc�a�]tRtRto^t^t^t^t^t^t	^t
^tRRltRt
RtRtRtRtR	tR
tRtRtR
tRtRtRtRtRtRtVtR#)�CBORSerializeriNc��\VRVP24pVf\RVPR24hV!WW44R#)r�NzUnrecognized C2J type: z, unable to serialize request)rZr�r rs&&&&& r�_serialize_data_item�#CBORSerializer._serialize_data_itemsO����!1�%�/�/�1B�C�D���>��)�%�/�/�):�;$�%��
�	�z�%�-rc�"�V^8�dVPpMVPpRV,
pVPV4wrgVPWV4pV^8XdVP	V4R#VP	W�PVR4,4R#)��bigNr�)�UNSIGNED_INT_MAJOR_TYPE�NEGATIVE_INT_MAJOR_TYPE�"_get_additional_info_and_num_bytes�_get_initial_byte�extend�to_bytes)	r"r5rBrer��
major_type�additional_info�	num_bytes�initial_bytes	&&&&&    r�_serialize_type_integer�&CBORSerializer._serialize_type_integers����A�:��5�5�J��5�5�J���J�E�%)�%L�%L��&
�"���-�-�j�J����>����l�+����l�^�^�I�u�-M�M�Nrc�*�VPWW44R#rj)rAr#s&&&&&r�_serialize_type_long�#CBORSerializer._serialize_type_long+s���$�$�Z��Crc���\V\4'dVPR4pM,\V\\34'gVP4p\
V4pVPV4wrgVPVPV4pV^8XdVPV4M'VPW�PVR4,4VPV4R#�rr6N)rQrkrl�bytes�	bytearray�read�lenr9r:�BLOB_MAJOR_TYPEr;r<)	r"r5rBrer��lengthr>r?r@s	&&&&&    rr��#CBORSerializer._serialize_type_blob.s����e�S�!�!��L�L��)�E��E�E�9�#5�6�6��J�J�L�E��U���%)�%L�%L��&
�"���-�-�� � �/�
����>����l�+����l�_�_�Y��-N�N�O����%� rc�8�VPR4p\V4pVPV4wrxVPVPV4p	V^8XdVPW�,4R#VPW�P
VR4,V,4R#rG)rlrKr9r:�STRING_MAJOR_TYPEr;r<)
r"r5rBrer��encodedrMr>r?r@s
&&&&&     r�_serialize_type_string�%CBORSerializer._serialize_type_stringBs����,�,�w�'���W���%)�%L�%L��&
�"���-�-��"�"�O�
����>����l�4�5�������y�%�@�@�7�J�
rc�D�\V4pVPV4wrgVPVPV4pV^8XdVP	V4M'VP	W�PVR4,4VFp	VP
WVP4K!	R#�r5r6N)rKr9r:�LIST_MAJOR_TYPEr;r<r2r�)
r"r5rBrer�rMr>r?r@�items
&&&&&     rr��#CBORSerializer._serialize_type_listRs����U���%)�%L�%L��&
�"���-�-�� � �/�
����>����l�+����l�_�_�Y��-N�N�O��D��%�%�j����E�rc��\V4pVPV4wrgVPVPV4pV^8XdVP	V4M'VP	W�PVR4,4VP
4F=wr�VPWVP4VPWVP4K?	R#rU)
rKr9r:�MAP_MAJOR_TYPEr;r<r|r2r�rB)r"r5rBrer�rMr>r?r@�key_itemrWs&&&&&      rr��"CBORSerializer._serialize_type_mapas����U���%)�%L�%L��&
�"���-�-�����
����>����l�+����l�_�_�Y��-N�N�O�#�k�k�m�N�H��%�%�j�E�I�I�F��%�%�j����D�,rc��VeVPWVP4VP4UUu/uF
wrVVfKWVbK	ppp\V4pVP	V4wr�VPVPV4p
V	^8XdVPV
4M'VPW�PV	R4,4VPpVP4F\wr�W�,pRVP9dVPR,pV
fK7VPWRR4VPWV4K^	R#uuppi)Nr6ra)r2r�r|rKr9r:rZr;r<r{rcrR)r"r5rBrer��k�v�
map_lengthr>r?r@r{rrr�s&&&&&          rr��(CBORSerializer._serialize_type_structureqs(���?��%�%�j�u���G�#(�+�+�-�A�-�$�!�1����-��A���Z�
�%)�%L�%L��&
�"���-�-�����
����>����l�+�����2�2�9�e�D�D�
��-�-��(-���
�$�J�"�.�L���3�3�3�)�7�7��?�
��'��+�+�J�D�$�O��)�)��l��
)6��#Bs�E�Ec��VPV4p^pVPVPV4pVPV4VP	V4wr�V	^8Xd0VPVP
V4pVPV4R#VPVP
V4pVPWuP
V	R4,4R#)r�r6N)r^r:�TAG_MAJOR_TYPEr;r9r7r<)
r"r5rBrer��	timestamp�tagr@r>r?s
&&&&&     rr��(CBORSerializer._serialize_type_timestamp�s����2�2�5�9�	����-�-�d�.A�.A�3�G�����,�'�%)�%L�%L��&
�"����>��1�1��,�,�i��L�
���l�+��1�1��,�,�o��L�
����1�1�)�U�C�C�
rc�
�VPV4'd#VPVPV44R#VPVP^4pVPV\
P!RV4,4R#)�z>fN��_is_special_numberr;�_get_bytes_for_special_numbersr:�FLOAT_AND_SIMPLE_MAJOR_TYPE�struct�pack�r"r5rBrer�r@s&&&&& rr��$CBORSerializer._serialize_type_float��l���"�"�5�)�)�����3�3�E�:�
� �1�1��0�0�"��L�
���l�V�[�[��u�-E�E�Frc�
�VPV4'd#VPVPV44R#VPVP^4pVPV\
P!RV4,4R#)�z>dNriros&&&&& rr��%CBORSerializer._serialize_type_double�rqrc�t�V'd^M^pVPVPVPV44R#)�N)r;r:rl)r"r5rBrer�r>s&&&&& rr��&CBORSerializer._serialize_type_boolean�s2�� %�"�2������"�"��0�0�/�
�	
rc�R�V^8dV^3#VR8dR#VR8dR#VR8dR#R#)��il)ryr�)��)rh�)rs�rxrSs&&rr9�1CBORSerializer._get_additional_info_and_num_bytes�sF���2�:��!�8�O��S�[��L��U�]��L��Z�
��L��Lrc�D�V^,pW2,P^R4#)�r6)r<)r"r=r>�major_type_bytess&&& rr:� CBORSerializer._get_initial_byte�s$��&��?�� �2�<�<�Q��F�Frc�v�\V\R48HV\R48H\P!V4.4#)�inf�-inf)�anyr�r�r�rSs&&rrj�!CBORSerializer._is_special_number�s8�����u��%���v��&��
�
�5�!�
�
�	
rc�n�^pVPVPV4pV\R48XdV\P!RR4,#V\R48XdV\P!RR4,#\
P!V4'dV\P!RR4,#R#)r{r�z>Hi|r�i�i~N)r:rlr�rmrnr�r�)r"rBr>r@s&&  rrk�-CBORSerializer._get_bytes_for_special_numbers�s������-�-��,�,�o�
���E�%�L� ��&�+�+�d�F�";�;�;�
�e�F�m�
#��&�+�+�d�F�";�;�;�
�Z�Z��
�
��&�+�+�d�F�";�;�;�rrxrj)r�r�r�r�r7r8rLrPrVrZrcrlr2rArDr�rRr�r�r�r�r�r�r�r9r:rjrkr�r�r�s@rr0r0s����������O����O��N��N�"#��.�O�$D�!�(� 
F�E� �B�,	G�	G�
��,G�
�
<�
<rr0c�a�]tRtRtoRtRtRt.ROtRtRt	Rt
RtR	tR
t
RtRtR
tRtRtRtRtRtRtVtR#)�BaseRestSerializeri�a)Base class for rest protocols.

The only variance between the various rest protocols is the
way that the body is serialized.  All other aspects (headers, uri, etc.)
are the same and logic for serializing those aspects lives here.

Subclasses must implement the ``_serialize_body_params`` method.

r�rfc822c	�f�VP4pVPPRVP4VR&VPpVPW4pVeWSR&VfVPR,VR&V#VPpRVP4RVP4RVP4RVP4/pVP4Fwr�V	fKVPWxW�4K	VPVPR,VR,4VR&RVP9d.VPVPR,VR,4VR	&VR,VR
&VR,'d
VR,VR&VPWqW4V4VPW4V4V#)r1r��
requestUrir-�uri_path_kwargs�query_string_kwargs�body_kwargsr2�authPath�	auth_pathr/)
r6r�rdr4rzr�r{r�r|�_partition_parameters�_render_uri_template�_serialize_payload�_serialize_content_type)
r"r)r*r5rer��
shape_members�partitioned�
param_name�param_values
&&&       rr&�'BaseRestSerializer.serialize_to_request
s����1�1�3�
�.�3�3�7�7��d�)�)� 
�
�8�� �+�+���.�.�z�K���"�(3�}�%��=�%4�%9�%9�,�%G�J�z�"����
�
�
�
�t�}�}��!�4�=�=�?��4�=�=�?��t�}�}��	
��(2�'7�'7�'9�#�J��"���&�&���
�	(:�"&�!:�!:�� � ��.��<M�0N�"
�
�:����-�-�-�&*�&?�&?��$�$�Z�0��-�.�'�J�{�#�&1�1F�%G�
�>�"��y�!�!�$/�	�$:�J�y�!�����Z�
�	
�	
�$�$�Z�
�F��rc���/p\P!RV4FGpVPR4'd\W$RR,RR7W4&K4\W$,4W4&KI	VP!R/VB#)z{(.*?)}�+Nz/~)�safer�rx)�re�findall�endswithr
r�)r"�uri_template�params�encoded_params�template_params&&&  rr��'BaseRestSerializer._render_uri_templateFsx���� �j�j��\�B�N��&�&�s�+�+�1?��#�2�.�/�d�2��.�2@��*�2��.�
C��"�"�4�^�4�4rc��VPPR4pVPWe4'd*VPVR4pVPV4pWsR&R#VeHVPV4pVeVP	W�V,4VR&R#VP4VR&R#VR,'dVP	VR,V4VR&R#VP
V4'dVP4VR&R#R#)�payloadrr3Nr�)rcrd�_has_streaming_payload�_encode_payload�_serialize_body_params�_serialize_empty_body�_requires_empty_body)	r"r�r)r5rer��payload_member�body_payloadr�s	&&&&&&   rr��%BaseRestSerializer._serialize_payloadYs����,�,�0�0��;���&�&�~�E�E�&�>�>�.�#�>�L��/�/��=�L�!-�v��
�
'�%�.�.��8�K��&�%)�%@�%@��~�!>�&�
�6�"�&*�%?�%?�%A�
�6�"�
��
'�
'�!%�!<�!<��M�*�E�"�J�v���
&�
&�u�
-�
-�!%�!;�!;�!=�J�v��.rc��R#)rrx�r"s&rr��(BaseRestSerializer._serialize_empty_bodyys��rc��R#)z�
Some protocols require varied Content-Type headers
depending on user input. This allows subclasses to apply
this conditionally.
Nrx)r"r5rer�s&&&&rr��*BaseRestSerializer._serialize_content_type|s��	
rc��R#)z{
Some protocols require a specific body to represent an empty
payload. This allows subclasses to apply this conditionally.
Frxr�s&&rr��'BaseRestSerializer._requires_empty_body�s��
rc�D�VRJ;'dW!,PR9#)z5Determine if payload is streaming (a blob or string).N)�blob�string)r�)r"r�r�s&&&rr��)BaseRestSerializer._has_streaming_payload�s/���d�"�
�
�}�'=�'G�'G�L
�(
�	
rc�h�\V\4'dVPVP4#V#rj)rQrkrlrm)r"r3s&&rr��"BaseRestSerializer._encode_payload�s)���d�C� � ��;�;�t�4�4�5�5��rc��WB,pVPPR4pVPPRV4pVR8XdVPW54pW�R,V&R#VR8Xd�\V\4'dVR,PV4R#VPR8Xd8VU	u.uFp	VPW�P4NK 	p
p	W�R,V&R#VPW54p
W�R,V&R#VR8XdAWB,pV'gVPR8XdR#VPW�4VR	,V&R#VR	8XdTpVPW�R	,V4R#W1R
,V&R#uup	i)�locationra�urir��querystringr��list�headerNr2r�)
rcrd�_get_uri_and_query_string_valuerQr��updater�r��_convert_header_value�_do_serialize_header_map)
r"r�r�r�r�r�r��key_name�uri_path_valuerB�	new_paramre�
header_prefixs
&&&&&        rr��(BaseRestSerializer._partition_parameters�s����*���'�'�+�+�J�7���'�'�+�+�F�J�?���u��!�A�A���N�8F�)�*�8�4�
��
&��+�t�,�,��1�2�9�9�+�F��!�!�V�+�"-��!,���8�8��
�
�N�!,���@I�1�2�8�<� �@�@���	�@I�1�2�8�<�
��
!�!�-�E��5�?�?�f�#<��/3�/I�/I��0�K�	�"�8�,���
"�%�M�

�)�)��9�5�{�
�6A�
�&�z�2��=s�1$E:c�@�VPR8Xd\V4P4#VPR8Xd8VPP	RVP
4pVP
W4#VPR9d\VPV44#V#)�booleanrdr��r��double)r�rkrYrcrd�QUERY_STRING_TIMESTAMP_FORMATr^r�)r"r�r�rDs&&& rr��2BaseRestSerializer._get_uri_and_query_string_value�s������y�(��{�#�)�)�+�+�
�
�
��
,�%�3�3�7�7�!�4�#E�#E� ���1�1���
��
�
�!4�
4��t�)�)�+�6�7�7��rc�P�VP4FwrEW,pWRV&K	R#rj)r|)r"r�r2�
user_inputr��val�full_keys&&&&   rr��+BaseRestSerializer._do_serialize_header_map�s'��"�(�(�*�H�C�$�*�H� #�H��+rc��\R4h�r�r')r"r�res&&&rr��)BaseRestSerializer._serialize_body_params����!�":�;�;rc�p�VPR8Xdp\V4p\P!VP	44pVP
P
RVP4p\VPWE44#VPR8Xd�VPPR8Xd(VUu.uFpVfK	VPV4NK	ppM1VUu.uF%pVfK	VPVPV4NK'	ppRPV4#\V4'd(VP\ P"!VRR74#VPR8Xd\V4P%4#VPR9d\VP'V44#\V4#uupiuupi)	rdr�r�r��,)�
separatorsr�)r��:r�)r�r	rHrI�utctimetuplercrd�HEADER_TIMESTAMP_FORMATrkr^r��_escape_header_list_stringr�r�rrrrr	rYr�)r"rerBr[rdrDr_�converted_values&&&     rr��(BaseRestSerializer._convert_header_value�s����?�?�k�)�2�5�9�L� ����(A�(A�(C�D�I�$�2�2�6�6�!�4�#?�#?� ����.�.�y�K��
��_�_��
&��|�|�%�%��1�#�#�"���7�D�3�3�A�6�"� �#��#�#�"���@�D�.�.�u�|�|�Q�?�"� �#�
�8�8�O�,�,�
!�%�
(�
(��#�#�D�J�J�u��$L�M�M�
�_�_�	�
)��u�:�#�#�%�%�
�_�_� 3�
3��t�)�)�%�0�1�1��u�:���+#��#s�1F.�<F.�F3�# F3c�b�RV9gRV9d!RVPRR4,R,#V#)�"r�z\")�replacerSs&&rr��-BaseRestSerializer._escape_header_list_strings1���%�<�3�%�<�����s�E�2�2�S�8�8��LrrxN)r�r�r�r2)r�r�r�r�rr�r��KNOWN_LOCATIONSr&r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�s@rr�r��sp�����%.�!�&��B�O�:�x5�&>�@�
��
��
1A�f�$�
<�!�F�rr�c�<a�]tRtRtoRtRtRtRtRtRt	Vt
R#)	�BaseRpcV2SerializeriaHBase class for RPCv2 protocols.

The only variance between the various RPCv2 protocols is the
way that the body is serialized.  All other aspects (headers, uri, etc.)
are the same and logic for serializing those aspects lives here.

Subclasses must implement the ``_serialize_body_params``  and
``_serialize_headers`` methods.

c���VP4pVPPR,pVPpRVRV2VR&VPpVeVPWV4VP
W24V#)rz	/service/z/operation/r-)r6r�r�rarzr��_serialize_headers)r"r)r*r5�service_name�operation_namerzs&&&    rr&�(BaseRpcV2Serializer.serialize_to_requests����1�1�3�
�&�4�4�=�=�n�M��(�-�-����~�[��0@�A�	�:��&�1�1���"��#�#�J�K�H����
�<��rc�0�VPW4pWBR&R#)r3Nr�)r"r)r5rer�s&&&& rr��&BaseRpcV2Serializer._serialize_payload(s���2�2�:�E��)�6�rc��\R4h)r�r')r"r5r*s&&&rr��&BaseRpcV2Serializer._serialize_headers,s��!�"6�7�7rc��\R4hr�r')r"r)res&&&rr��*BaseRpcV2Serializer._serialize_body_params/r�rrxN)r�r�r�r�rr&r�r�r�r�r�r�s@rr�r�s#����	�� *�8�<�<rr�c�8a�]tRtRtoRtRtRtRtRtVt	R#)�RestJSONSerializeri3c��R#)s{}rxr�s&rr��(RestJSONSerializer._serialize_empty_body4s��rc�t�VPP4Fwr#RVP9gKR#	R#)zY
Serialize an empty JSON object whenever the shape has
members not targeting a location.
r�TF)r{r|rc)r"rer�r�s&&  rr��'RestJSONSerializer._requires_empty_body7s3��
!�=�=�.�.�0�K�F���!2�!2�2��1�rc���VPPR4pVPWC4'dR#VR,R8gp\RVR,4pV'dV'gRVR,R&R#R#R#)z?Set Content-Type to application/json for all structured bodies.r�Nr3rr�r2zapplication/json)rcrdr�r)r"r5rer�r��has_body�has_content_types&&&&   rr��*RestJSONSerializer._serialize_content_typeAsi���%�%�)�)�)�4���&�&�w�>�>���f�%��,��%�n�j��6K�L���,�4F�J�y�!�.�1�-�8rc��VP4pVPW1V4\P!V4P	VP
4#rj)r�r�rr	rlrm)r"r�re�serialized_bodys&&& rr��)RestJSONSerializer._serialize_body_paramsMs;���-�-�/�������7��z�z�/�*�1�1�$�2G�2G�H�HrrxN)
r�r�r�r�r�r�r�r�r�r�r�s@rr�r�3s!������
G�I�Irr�c�la�]tRtRtoRtRtRtRtRtRt	Rt
R	tR
tRt
RtR
tRtRtVtR#)�RestXMLSerializeriSrc���VPR,p\P!R4pVPW!WC4\	V4^,p\P
!WPPR7#)rar0)�encoding)rcr�Elementr�r��tostringrm)r"r�re�	root_name�pseudo_root�	real_roots&&&   rr��(RestXMLSerializer._serialize_body_paramsVsV���'�'��/�	�!�)�)�"�-������{�>���%�a�(�	��#�#�I�8M�8M�N�Nrc�`�\VRVP2VP4pV!W2W4R#rr�)r"rer��xmlnoderar1s&&&&& rr��RestXMLSerializer._serialize]s3�����u���/�0��#�#�
��
	�w��,rc��\P!W4pVPW54VP4F�wrgVPV,pVP
P
RV4p	VfR#VP
P
R4'd$VP
R,p
WuPV
&KVPW�WY4K�	R#)raN�xmlAttribute)	r�
SubElement�_add_xml_namespacer|r{rcrd�attribr�)r"rr�rera�structure_noder�rBr��member_name�xml_attribute_names&&&&&      rr��+RestXMLSerializer._serialize_type_structurees���$�/�/��>������6� �,�,�.�J�C� �=�=��-�L�&�4�4�8�8���E�K�
�}���)�)�-�-�n�=�=�%1�%?�%?��%G�"�<A�%�%�&8�9���O�O�L��M�)rc�&�VPpVPPR4'dTpTpM2VPPRR4p\P!W4pVPW74VFpVP
WXWv4K	R#)r�rar�N)r�rcrdrrrr�)	r"rr�rerar��element_name�	list_noderWs	&&&&&    rr��&RestXMLSerializer._serialize_type_listzsz���|�|�����"�"�;�/�/��L��I�'�5�5�9�9�&�(�K�L�#�.�.�w�=�I�����1��D��O�O�L�	�H�rc�$�VPV4'g(\P!W4pVPW54VP	4F�wrgVPV4'd\P!W4M\P!XR4pVPVPRR7p	VPVPRR7p
VPVPWhV	4VPVPWxV
4K�	R#)�entryr�r�rBN)	r�rrrr|rgr�rBr�)r"rr�rera�noder�rB�sub_noder��val_names&&&&&      rr��%RestXMLSerializer._serialize_type_map�s����'�'��.�.��)�)�'�8�D��#�#�E�0� �,�,�.�J�C��+�+�E�2�2��&�&�w�5� �+�+�D�'�:�
�
�0�0�����0�O�H��0�0����'�1��H�
�O�O�E�I�I�s�h�?��O�O�E�K�K��(�C�)rc�z�\P!W4pV'dRpMRpWenVPW54R#r�)rr�textr)r"rr�rerar"�	str_values&&&&&  rr��)RestXMLSerializer._serialize_type_boolean�s4���%�%�g�4����I��I��	�����,rc��\P!W4pVPV4VnVP	W54R#rj)rrrrr'r�r"rr�rerar"s&&&&& rr��&RestXMLSerializer._serialize_type_blob�s2���%�%�g�4���$�$�V�,��	�����,rc���\P!W4p\VPW#PPR444VnVPW54R#r�)rrrkr^rcrdr'rr+s&&&&& rr��+RestXMLSerializer._serialize_type_timestamp�sQ���%�%�g�4����*�*��+�+�/�/�0A�B�
�
��	�
	
����,rc��\P!W4p\VPV44VnVPW54R#rj)rrrkr�r'rr+s&&&&& rr��'RestXMLSerializer._serialize_type_float�s7���%�%�g�4����*�*�6�2�3��	�����,rc�*�VPWW44R#rjr�)r"rr�reras&&&&&rr��(RestXMLSerializer._serialize_type_double�s���"�"�7�E�@rc�t�\P!W4p\V4VnVP	W54R#rj)rrrkr'rr+s&&&&& rr��$RestXMLSerializer._default_serialize�s+���%�%�g�4����K��	�����,rc�R�RVP9d�VPR,pRp\V\4'dCVPR4'dVRVR,2,
pVR,VPV&R#\V\
4'dW2PV&R#R#R#)�xmlNamespace�xmlnsr�r�r�N)rcrQr�rdrrk)r"rer�namespace_metadata�attribute_names&&&  rr�$RestXMLSerializer._add_xml_namespace�s����U�0�0�0�!&�!4�!4�^�!D��$�N��,�d�3�3�%�)�)�(�3�3�"��*<�X�*F�)G�&H�H�N�8J��9��%�%�n�5��.��4�4�8J�%�%�n�5�5�1rrxN)r�r�r�r�rXr�r�r�r�r�r�r�r�r�r�r�rr�r�r�s@rrrSsS���� ��O�-�N�*
I�D�4
-�-�
-�-�
A�-�
K�Krrc�Baa�]tRtRtoRtV3RltRtRtRtVt	V;t
#)�RpcV2CBORSerializeri�rc�8<�\R4\SV`	W4#)�PROTOCOL_RPC_V2_CBOR)r�superr&)r"r)r*�	__class__s&&&�rr&�(RpcV2CBORSerializer.serialize_to_request�s����2�3��w�+�J�H�Hrc�P�\4pVPW1V4\V4#rj)rIr2rH)r"r)rzr3s&&& rr��*RpcV2CBORSerializer._serialize_body_params�s#���{���!�!�$�K�@��T�{�rc��RVR,R&VP'dRpMRpVPW!4VR,R8gp\RVR,4pW1R,R&V'gV'dW1R,R&R	#R	#R	#)
zrpc-v2-cborr2zsmithy-protocolz"application/vnd.amazon.eventstreamzapplication/cborr3rr��AcceptN)�has_event_stream_outputr�r)r"r5r*�
header_valrrs&&&   rr��&RpcV2CBORSerializer._serialize_headers�s~��3@�
�9��/�0��2�2�2�=�J�+�J��+�+�O�H��f�%��,��%�n�j��6K�L��*4�9��h�'��H�4>�y�!�.�1�%-�rrx)r�r�r�r�rXr&r�r�r�r��
__classcell__)r@r�s@@rr<r<�s ����&��I��
?�?rr<�ec2�queryrz	rest-jsonzrest-xmlzsmithy-rpc-v2-cbor),rrnrHrRr*rr�r�rm�	xml.etreer�botocorer�botocore.compatr�botocore.exceptionsr�botocore.useragentr�botocore.utilsrrr	r
�DEFAULT_TIMESTAMP_FORMATrAr@�compiler}r�r=rrrr�r�rr0r�r�r�rr<rrxrr�<module>rTsL���8������	�
�!��&�4�2���%��
��'�
����1�2��'��"/���#����3��4l@�l@�^lE�j�lE�^P�O�P�<`E�Z�`E�Fo<�Z�o<�dQ��Q�h$<�*�$<�NI�+�^�I�@K�*�K�D?�-�~�?�<
�=��_�
�N��#��!��-�
�r

Youez - 2016 - github.com/yon3zu
LinuXploit