+
     IiN  c                   s&    ^ RI Ht  ! R R4      tR# )i    )is_json_value_headerc                   sJ   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# )ShapeDocumenterZ Nc                sT    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)selfZservice_nameZoperation_nameZevent_emitterZcontexts   &&&&&8/usr/lib/python3.14/site-packages/botocore/docs/shape.py__init__ZShapeDocumenter.__init__   s1     *-+?2B7DM     c                s   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.
ZserializationZeventstreamZevent_stream)nameis_document_typeZdocumentZdocument_shape_type_)historyr   includeexcludeis_top_level_paramis_requiredzdocs.Z.)sectionz.complete-sectionN)Z	type_nameZgetattrZgetr   Zdocument_recursive_shapeZappendZlenhasattrr   Zdocument_shape_defaultr   Zemit
EVENT_NAMEr   r   Zpop)r   r   shaper   r   r   r   r   Z
param_typer   Zat_overlying_method_sections   &&&&&&&&   r   traverse_and_document_shapeZ+ShapeDocumenter.traverse_and_document_shape#   s   @ __
5/2.22=AA'J:: ))'t)DNN5::&!$W!2u011e6L6L6L'
&zl3++
 #5' "##((DOO,Ad.@.@-A4CWCWBXXYZ^Y_`# )  +.g,!*;'*##((DOO,Ad.@.@-A4CWCWBXXij# )  KKMr
   c           
     s<    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   r   Zspecial_defaults   && r   _get_special_py_defaultZ'ShapeDocumenter._get_special_py_defaulth   s:    I L#%6$&7&
 //HHr
   c           
     s<    R RRRRRRRRR	/pV P                  W4      # )
r   z:ref:`document<document>`r   zJSON serializabler   z"bytes or seekable file-like objectr   z:class:`.StreamingBody`r   z:class:`.EventStream`r   )r   r   Zspecial_type_namesr   r   _get_special_py_type_nameZ)ShapeDocumenter._get_special_py_type_namer   s;    8 3#%I$&?&(?
 //JJr
   c                s   \        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# )r   r   r   r   N)r    r   r   r   Zitems)r   r   Zspecial_type_mapZspecial_typeZmarked_shapes   &&&  r   r   Z+ShapeDocumenter._get_value_for_special_type|   s~    &&#$6775,--%2H2H2H#O44*.--!+

%'+&L /(+99+ r
   )r   r   r   r   )N)NNNF)Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r	   r   r   r    r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s,     J8CJIK r
   r   N)Zbotocore.utilsr    r   ) r
   r   <module>r!      s   & 0q qr
   