+
    šÜiN  ã                   ó&   € ^ RI Ht  ! R R4      tR# )é    )Úis_json_value_headerc                   óJ   a € ] tR t^t o RtR	R ltR
R ltR tR tR t	Rt
V tR# )ÚShapeDocumenterÚ Nc                óT   € Wn         W n        W0n        W@n        Vf   R/ /V n        R # R # )NÚspecial_shape_types)Ú_service_nameÚ_operation_nameÚ_event_emitterÚ_context)ÚselfÚservice_nameÚoperation_nameÚevent_emitterÚcontexts   &&&&&Ú5/usr/lib/python3/dist-packages/botocore/docs/shape.pyÚ__init__ÚShapeDocumenter.__init__   s1   € ð *ÔØ-ÔØ+ÔØŒØŠ?Ø2°BÐ7ˆDŽMñ ó    c                ó  € VP                   p\        VR/ 4      P                  R4      '       d   RpVP                  V9   d   V P	                  WVR7       R# VP                  VP                  4       \        V4      ^8H  p	\        VR4      '       d   VP                  '       d   Rp\        V RV 2V P                  4      ! VVVVVVV	VR7       V	'       dH   V P                  P                  R	V P                   R
V P                   R
V P                   R
V 2VR7       \        V4      ^8H  p
V
'       dF   V P                  P                  R	V P                   R
V P                   R
V P                   R2VR7       VP                  4        R# )a�  Traverses and documents a shape

Will take a self class and call its appropriate methods as a shape
is traversed.

:param section: The section to document.

:param history: A list of the names of the shapes that have been
    traversed.

:type include: Dictionary where keys are parameter names and
    values are the shapes of the parameter names.
:param include: The parameter shapes to include in the documentation.

:type exclude: List of the names of the parameters to exclude.
:param exclude: The names of the parameters to exclude from
    documentation.

:param name: The name of the shape.

:param is_required: If the shape is a required member.
ÚserializationÚeventstreamÚevent_stream)ÚnameÚis_document_typeÚdocumentÚdocument_shape_type_)Úhistoryr   ÚincludeÚexcludeÚis_top_level_paramÚis_requiredzdocs.Ú.)Úsectionz.complete-sectionN)Ú	type_nameÚgetattrÚgetr   Údocument_recursive_shapeÚappendÚlenÚhasattrr   Údocument_shape_defaultr   ÚemitÚ
EVENT_NAMEr	   r
   Úpop)r   r$   Úshaper   r   r    r   r"   Ú
param_typer!   Úat_overlying_method_sections   &&&&&&&&   r   Útraverse_and_document_shapeÚ+ShapeDocumenter.traverse_and_document_shape#   s€  € ð@ —_‘_ˆ
Ü�5˜/¨2Ó.×2Ñ2°=×AÒAØ'ˆJØ�:‰:˜Ô Ø×)Ñ)¨'¸tÐ)ÖDà�N‰N˜5Ÿ:™:Ô&Ü!$ W£°Ñ!2ÐÜ�uÐ0×1Ò1°e×6L×6LÐ6LØ'�
ÜØØ& z lÐ3Ø×+Ñ+ôð
 ØØØØØØ#5Ø'õ÷ "Ø×#Ñ#×(Ñ(Ø˜DŸO™OÐ,¨A¨d×.@Ñ.@Ð-AÀÀ4×CWÑCWÐBXÐXYÐZ^ÐY_Ð`Ø#ð )ô ô +.¨g«,¸!Ñ*;Ð'ß*Ø×#Ñ#×(Ñ(Ø˜DŸO™OÐ,¨A¨d×.@Ñ.@Ð-AÀÀ4×CWÑCWÐBXÐXiÐjØ#ð )ô ð �K‰KŽMr   c           
     ó<   € R RRRRRRRRR/pV P                  W4      # )	Údocument_typez({...}|[...]|123|123.4|'string'|True|NoneÚjsonvalue_headerÚstreaming_input_shapezb'bytes'|fileÚstreaming_output_shapezStreamingBody()Úeventstream_output_shapezEventStream()©Ú_get_value_for_special_type)r   r0   Úspecial_defaultss   && r   Ú_get_special_py_defaultÚ'ShapeDocumenter._get_special_py_defaulth   s:   € àÐIØÐ LØ#Ð%6Ø$Ð&7Ø&¨ð
Ðð ×/Ñ/°ÓHÐHr   c           
     ó<   € R RRRRRRRRR	/pV P                  W4      # )
r6   z:ref:`document<document>`r7   zJSON serializabler8   z"bytes or seekable file-like objectr9   z:class:`.StreamingBody`r:   z:class:`.EventStream`r;   )r   r0   Úspecial_type_namess   && r   Ú_get_special_py_type_nameÚ)ShapeDocumenter._get_special_py_type_namer   s;   € àÐ8ØÐ 3Ø#Ð%IØ$Ð&?Ø&Ð(?ð
Ðð ×/Ñ/°ÓJÐJr   c                ó  € \        V4      '       d
   VR ,          # \        VR4      '       d   VP                  '       d
   VR,          # V P                  R,          P	                  4        F  w  r4W29   g   K  W8X  g   K  W#,          u # 	  R# )r7   r   r6   r   N)r   r+   r   r   Úitems)r   r0   Úspecial_type_mapÚspecial_typeÚmarked_shapes   &&&  r   r<   Ú+ShapeDocumenter._get_value_for_special_type|   s~   € Ü ×&Ò&Ø#Ð$6Õ7Ð7Ü�5Ð,×-Ò-°%×2H×2HÐ2HØ# OÕ4Ð4Ø*.¯-©-Ø!õ+
ç
‰%‹'ò+Ñ&ˆLð Ö/ØÖ(Ø+Õ9Ò9ñ+ñ r   )r   r   r
   r	   )N)NNNF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r.   r   r3   r>   rB   r<   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s,   ø‡ € Ø€Jô8ôCòJIòK÷ð r   r   N)Úbotocore.utilsr   r   © r   r   Ú<module>rS      s   ðõ& 0÷qó qr   