ó
    Û°›jN  ã                   ó$   • S SK Jr   " S S5      rg)é    )Úis_json_value_headerc                   óH   • \ rS rSrSr S
S jr    SS jrS rS rS r	S	r
g)ÚShapeDocumenteré   Ú Nc                 óN   • Xl         X l        X0l        X@l        Uc
  S0 0U l        g g )NÚspecial_shape_types)Ú_service_nameÚ_operation_nameÚ_event_emitterÚ_context)ÚselfÚservice_nameÚoperation_nameÚevent_emitterÚcontexts        ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/botocore/docs/shape.pyÚ__init__ÚShapeDocumenter.__init__   s1   € ð *ÔØ-ÔØ+ÔØŒØ‰?Ø2°BÐ7ˆD�Mð ó    c                 óì  • UR                   n[        US0 5      R                  S5      (       a  SnUR                  U;   a  U R	                  XUS9  gUR                  UR                  5        [        U5      S:H  n	[        US5      (       a  UR                  (       a  Sn[        U SU 3U R                  5      " UUUUUUU	US	9  U	(       aD  U R                  R                  S
U R                   SU R                   SU R                   SU 3US9  [        U5      S:H  n
U
(       aB  U R                  R                  S
U R                   SU R                   SU R                   S3US9  UR                  5         g)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.Ú.)Úsectioné   z.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Ø'�
ÜØØ& 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                 ó4   • SSSSSS.nU R                  X5      $ )Nz({...}|[...]|123|123.4|'string'|True|Nonezb'bytes'|filezStreamingBody()zEventStream()©Údocument_typeÚjsonvalue_headerÚstreaming_input_shapeÚstreaming_output_shapeÚeventstream_output_shape©Ú_get_value_for_special_type)r   r3   Úspecial_defaultss      r   Ú_get_special_py_defaultÚ'ShapeDocumenter._get_special_py_defaulth   s,   € àIØ LØ%6Ø&7Ø(7ñ
Ðð ×/Ñ/°ÓHÐHr   c                 ó4   • SSSSSS.nU R                  X5      $ )Nz:ref:`document<document>`zJSON serializablez"bytes or seekable file-like objectz:class:`.StreamingBody`z:class:`.EventStream`r9   r?   )r   r3   Úspecial_type_namess      r   Ú_get_special_py_type_nameÚ)ShapeDocumenter._get_special_py_type_namer   s,   € à8Ø 3Ø%IØ&?Ø(?ñ
Ðð ×/Ñ/°ÓJÐJr   c                 óì   • [        U5      (       a  US   $ [        US5      (       a  UR                  (       a  US   $ U R                  S   R	                  5        H  u  p4X2;   d  M  X:X  d  M  X#   s  $    g )Nr;   r   r:   r	   )r   r.   r   r   Úitems)r   r3   Úspecial_type_mapÚspecial_typeÚmarked_shapes        r   r@   Ú+ShapeDocumenter._get_value_for_special_type|   s{   € Ü ×&Ñ&Ø#Ð$6Ñ7Ð7Ü�5Ð,×-Ñ-°%×2H×2HØ# OÑ4Ð4Ø*.¯-©-Ø!ñ+
ç
‰%‹'ò+Ñ&ˆLð Õ/ØÕ(Ø+Ñ9Ò9ñ+ð r   )r   r   r   r
   )N)NNNF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r1   r   r6   rB   rF   r@   Ú__static_attributes__© r   r   r   r      s9   † Ø€Jð DHô8ð ØØØôCòJIòKõr   r   N)Úbotocore.utilsr   r   rS   r   r   Ú<module>rU      s   ðõ& 0÷qò qr   