Ë
    rPêjÏ-  ã                   ó^   — d dl mZ d dlmZ  G d„ de«      Z G d„ de«      Z G d„ de«      Zy	)
é    )ÚShapeDocumenter)Úpy_type_namec                   ód   — e Zd Zdd„Zd„ Z	 dd„Z	 dd„Z	 dd„Z	 	 	 dd„Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zy)ÚBaseParamsDocumenterNc                 ó6   — g }| j                  |||d||¬«       y)a3  Fills out the documentation for a section given a model shape.

        :param section: The section to write the documentation to.

        :param shape: The shape of the operation.

        :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.
        N)ÚsectionÚshapeÚhistoryÚnameÚincludeÚexclude)Útraverse_and_document_shape)Úselfr   r	   r   r   r
   s         úY/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/botocore/docs/params.pyÚdocument_paramsz$BaseParamsDocumenter.document_params   s.   € ð ˆØ×(Ñ(ØØØØØØð 	)õ 	
ó    c                 ó,   —  | j                   ||fi |¤Ž y ©N©Ú_add_member_documentation©r   r   r	   Úkwargss       r   Údocument_recursive_shapez-BaseParamsDocumenter.document_recursive_shape+   s   € Ø&ˆ×&Ñ& w°Ñ@¸Ó@r   c                 ó,   —  | j                   ||fi |¤Ž y r   r   )r   r   r	   r
   r   r   r   s          r   Údocument_shape_defaultz+BaseParamsDocumenter.document_shape_default.   s   € ð 	'ˆ×&Ñ& w°Ñ@¸Ó@r   c                 ó:  —  | j                   ||fi |¤Ž |j                  }|j                  |j                  d|j                  j                  i¬«      }| j	                  |«       | j                  |||d ¬«       |j                  d«      }| j                  |«       y )Nr	   ©Úcontext©r   r	   r
   r   zend-list)r   ÚmemberÚadd_new_sectionr   Ú_start_nested_paramr   Ú_end_nested_param)	r   r   r	   r
   r   r   r   Úparam_shapeÚparam_sections	            r   Údocument_shape_type_listz-BaseParamsDocumenter.document_shape_type_list3   s¢   € ð 	'ˆ×&Ñ& w°Ñ@¸Ò@Ø—l‘lˆØ×/Ñ/Ø×Ñ w°·±×0AÑ0AÐ&Bð 0ó 
ˆð 	× Ñ  Ô/Ø×(Ñ(Ø!ØØØð	 	)ô 	
ð ×)Ñ)¨*Ó5ˆØ×Ñ˜wÕ'r   c                 óL  —  | j                   ||fi |¤Ž |j                  dd|j                  j                  i¬«      }| j	                  |«       | j                  ||j                  «       |j                  |j
                  j                  d|j
                  j                  i¬«      }|j                  j                  «        | j	                  |«       | j                  ||j
                  |d ¬«       |j                  d«      }	| j                  |	«       | j                  |	«       y )NÚkeyr	   r   r   zend-map)
r   r!   r(   r   r"   ÚvalueÚstyleÚindentr   r#   )
r   r   r	   r
   r   r   r   Úkey_sectionr%   Úend_sections
             r   Údocument_shape_type_mapz,BaseParamsDocumenter.document_shape_type_mapE   s  € ð 	'ˆ×&Ñ& w°Ñ@¸Ò@à×-Ñ-Ø˜G U§Y¡Y§^¡^Ð4ð .ó 
ˆð 	× Ñ  Ô-Ø×&Ñ& {°E·I±IÔ>à×/Ñ/Ø�K‰K×Ñ w°·±×0@Ñ0@Ð&Að 0ó 
ˆð 	×Ñ×"Ñ"Ô$Ø× Ñ  Ô/Ø×(Ñ(Ø!Ø—+‘+ØØð	 	)ô 	
ð ×-Ñ-¨iÓ8ˆØ×Ñ˜{Ô+Ø×Ñ˜{Õ+r   c                 óX  — | j                  |j                  |«      }| j                  |||¬«       |D ]S  }	|r|	|v rŒ
||	   }
|j                  |	d|
j                  i¬«      }| j                  |«       | j                  ||
||	¬«       ŒU |j                  d«      }| j                  |«       y )N)r   r	   r   r   úend-structure)Ú_add_members_to_shapeÚmembersr   r!   r   r"   r   r#   )r   r   r	   r
   r   r   r   r   r2   Úparamr$   r%   s               r   Údocument_shape_type_structurez2BaseParamsDocumenter.document_shape_type_structure`   sÈ   € ð ×,Ñ,¨U¯]©]¸GÓDˆØ×&Ñ& w°¸DÐ&ÔAØò 	ˆEÙ˜5 GÑ+ØØ! %™.ˆKØ#×3Ñ3Ø ¨×)9Ñ)9Ð:ð 4ó ˆMð ×$Ñ$ ]Ô3Ø×,Ñ,Ø%Ø!ØØð	 -õ ð	ð ×)Ñ)¨/Ó:ˆØ×Ñ˜wÕ'r   c                  ó   — y r   © r   s       r   r   z.BaseParamsDocumenter._add_member_documentation}   s   € Ør   c                 óV   — |r&|j                  «       }|D ]  }|||j                  <   Œ |S r   )Úcopyr   )r   r2   r   r3   s       r   r1   z*BaseParamsDocumenter._add_members_to_shape€   s2   € ÙØ—l‘l“nˆGØ ò ,�Ø&+�˜Ÿ
™
Ò#ð,àˆr   c                 óà   — | j                  |«      }t        |j                  «      }d}|�|j                  ||z  «       n|j                  j                  ||z  «       |j                  d«       y )Nz(%s) --ú )Ú_get_special_py_type_namer   Ú	type_nameÚwriter*   Úitalics)r   Útype_sectionr	   Úspecial_py_typeÚpy_typeÚtype_formats         r   Ú"_document_non_top_level_param_typez7BaseParamsDocumenter._document_non_top_level_param_type‡   sg   € Ø×8Ñ8¸Ó?ˆÜ˜uŸ™Ó/ˆàˆØÐ&ð ×Ñ˜{¨_Ñ<Õ=à×Ñ×&Ñ& {°WÑ'<Ô=Ø×Ñ˜3Õr   c                 ól   — |j                   j                  «        |j                   j                  «        y r   )r*   r+   Únew_line©r   r   s     r   r"   z(BaseParamsDocumenter._start_nested_param”   ó"   € Ø�‰×ÑÔØ�‰×ÑÕ r   c                 ól   — |j                   j                  «        |j                   j                  «        y r   )r*   ÚdedentrE   rF   s     r   r#   z&BaseParamsDocumenter._end_nested_param˜   rG   r   ©NN)NNN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r&   r.   r4   r   r1   rC   r"   r#   r6   r   r   r   r      sY   „ ó
ò2Að >BóAð >Bó(ð& >Bó,ð@ ØØó(ò:òò ò!ó!r   r   c                   ó"   — e Zd ZdZdZdd„Zd„ Zy)ÚResponseParamsDocumenterz5Generates the description for the response parameterszresponse-paramsNc                 ó  — |j                  d«      }|j                  d«       |�-|j                  j                  |› «       |j                  d«       |j                  d«      }| j	                  ||«       |j                  d«      }|j
                  rÒ|j                  j                  «        t        |dd«      r�|j                  d«      }d	}	d
j                  |j                  j                  «       D �
cg c]  }
d|
› d�‘Œ
 c}
«      }d}|j                  |	|z  «       |j                  d«      }|j                  j                  |«       |j                  |j
                  «       |j                  j                  «        y c c}
w )Nú
param-nameú- r:   ú
param-typeúparam-documentationÚis_tagged_unionFúparam-tagged-union-docsaK  .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: %s.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as followsú, ú``z3'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}zparam-unknown-example)r!   r=   r*   ÚboldrC   Údocumentationr+   ÚgetattrÚjoinr2   ÚkeysÚ	codeblockÚinclude_doc_stringÚnew_paragraph)r   r   r	   r   r   Úname_sectionr?   Údocumentation_sectionÚtagged_union_docsÚnoter(   Útagged_union_members_strÚunknown_code_exampleÚexamples                 r   r   z2ResponseParamsDocumenter._add_member_documentation¢   se  € Ø×.Ñ.¨|Ó<ˆØ×Ñ˜4Ô ØÐØ×Ñ×#Ñ# t fÔ.Ø×Ñ˜sÔ#Ø×.Ñ.¨|Ó<ˆØ×/Ñ/°¸eÔDà '× 7Ñ 7Ð8MÓ NÐØ×ÒØ!×'Ñ'×.Ñ.Ô0Ü�uÐ/°Ô7Ø$+×$;Ñ$;Ø-ó%Ð!ð%ð ð ,0¯9©9Ø-2¯]©]×-?Ñ-?Ó-AÖB c�r˜#˜˜b’\ÒBó,Ð(ð Pð %ð "×'Ñ'¨Ð0HÑ(IÔJØ!×1Ñ1Ð2IÓJ�Ø—‘×'Ñ'Ð(<Ô=Ø!×4Ñ4°U×5HÑ5HÔIØ�‰×#Ñ#Õ%ùò Cs   Ã3E?c                 ó.   —  | j                   |||fi |¤Ž y r   )r4   )r   r   r	   r
   r   s        r   Ú document_shape_type_event_streamz9ResponseParamsDocumenter.document_shape_type_event_streamÈ   s   € ð 	+ˆ×*Ñ*¨7°E¸7ÑMÀfÓMr   r   )rK   rL   rM   Ú__doc__Ú
EVENT_NAMEr   ri   r6   r   r   rO   rO   �   s   „ Ù?à"€Jó$&óLNr   rO   c                   ó8   — e Zd ZdZdZ	 dd„Z	 	 	 d	d„Zd„ Zd„ Zy)
ÚRequestParamsDocumenterz4Generates the description for the request parameterszrequest-paramsNc                 óR  — t        |«      dkD  r. | j                  ||fi |¤Ž |j                  j                  «        | j	                  |j
                  |«      }t        |«      D ]n  \  }}	|r|	|v rŒ||	   }
|j                  |	d|
j                  i¬«      }|j                  j                  «        |	|j                  v }| j                  ||
||	|¬«       Œp |j                  d«      }t        |«      dkD  r|j                  j                  «        |j                  j                  «        y )Né   r	   r   )r   r	   r
   r   Úis_requiredr0   )Úlenr   r*   r+   r1   r2   Ú	enumerater!   r   rE   Úrequired_membersr   rI   )r   r   r	   r
   r   r   r   r2   Úir3   r$   r%   rp   s                r   r4   z5RequestParamsDocumenter.document_shape_type_structureÓ   s$  € ô ˆw‹<˜!ÒØ*ˆD×*Ñ*¨7°EÑD¸VÒDØ�M‰M× Ñ Ô"Ø×,Ñ,¨U¯]©]¸GÓDˆÜ! 'Ó*ò 	‰HˆAˆuÙ˜5 GÑ+ØØ! %™.ˆKØ#×3Ñ3Ø ¨×)9Ñ)9Ð:ð 4ó ˆMð ×Ñ×(Ñ(Ô*Ø 5×#9Ñ#9Ð9ˆKØ×,Ñ,Ø%Ø!ØØØ'ð -õ ð	ð  ×)Ñ)¨/Ó:ˆÜˆw‹<˜!ÒØ�M‰M× Ñ Ô"Ø�‰×ÑÕ r   c                 óì  — | j                  |«      }|€t        |j                  «      }|rz|j                  d«      }|j	                  d|› d|› �«       |j                  d«      }	|	j
                  j                  «        |j                  d«      }
|
j	                  d|› d�«       nt|j                  d«      }
|
j	                  d«       |�-|
j
                  j                  |› «       |
j	                  d«       |j                  d«      }| j                  ||«       |rW|j                  d	«      }|j
                  j                  «        |j
                  j                  d
«       |j	                  d«       |j                  rÇ|j                  d«      }|j
                  j                  «        t        |dd«      rb|j                  d«      }d}dj                  |j                  j                  «       D �cg c]  }d|› d�‘Œ
 c}«      }|j	                  ||z  «       |j                  |j                  «       | j!                  ||«       |j                  d«      }|j
                  j#                  «        y c c}w )NrS   z:type z: zend-param-typerQ   z:param rR   r:   zis-requiredz
[REQUIRED]rT   rU   FrV   zl.. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: %s. rW   rX   z	end-param)r;   r   r<   r!   r=   r*   rE   rY   rC   r+   rZ   r[   r\   r2   r]   r_   Ú _add_special_trait_documentationr`   )r   r   r	   r   Úis_top_level_paramrp   r   rA   r?   Úend_type_sectionra   Úis_required_sectionrb   rc   rd   r(   re   Úend_param_sections                     r   r   z1RequestParamsDocumenter._add_member_documentationï   sG  € ð ×0Ñ0°Ó7ˆØˆ?Ü" 5§?¡?Ó3ˆGÙØ"×2Ñ2°<Ó@ˆLØ×Ñ ¨ v¨R°¨yÐ9Ô:Ø+×;Ñ;Ð<LÓMÐØ×"Ñ"×+Ñ+Ô-Ø"×2Ñ2°<Ó@ˆLØ×Ñ ¨¨¨bÐ1Õ2ð #×2Ñ2°<Ó@ˆLØ×Ñ˜tÔ$ØÐØ×"Ñ"×'Ñ'¨4¨&Ô2Ø×"Ñ" 3Ô'Ø"×2Ñ2°<Ó@ˆLØ×3Ñ3°LÀ%ÔHáØ")×"9Ñ"9¸-Ó"HÐØ×%Ñ%×,Ñ,Ô.Ø×%Ñ%×*Ñ*¨<Ô8Ø×%Ñ% cÔ*Ø×ÒØ$+×$;Ñ$;Ø%ó%Ð!ð "×'Ñ'×.Ñ.Ô0Ü�uÐ/°Ô7Ø$+×$;Ñ$;Ø-ó%Ð!ðDð ð
 ,0¯9©9Ø-2¯]©]×-?Ñ-?Ó-AÖB c�r˜#˜˜b’\ÒBó,Ð(ð "×'Ñ'¨Ð0HÑ(IÔJØ!×4Ñ4°U×5HÑ5HÔIØ×1Ñ1Ð2GÈÔOØ#×3Ñ3°KÓ@ÐØ×Ñ×-Ñ-Õ/ùò Cs   Ç0I1c                 óD   — d|j                   v r| j                  |«       y y )NÚidempotencyToken)ÚmetadataÚ!_append_idempotency_documentation)r   r   r	   s      r   rv   z8RequestParamsDocumenter._add_special_trait_documentation(  s!   € Ø §¡Ñ/Ø×2Ñ2°7Õ;ð 0r   c                 ó*   — d}|j                  |«       y )Nz,This field is autopopulated if not provided.)r=   )r   r   Ú	docstrings      r   r~   z9RequestParamsDocumenter._append_idempotency_documentation,  s   € ØBˆ	Ø�‰�iÕ r   rJ   )NFF)	rK   rL   rM   rj   rk   r4   r   rv   r~   r6   r   r   rm   rm   Î   s1   „ Ù>à!€Jð >Bó!ð@ Ø Øó70òr<ó!r   rm   N)Úbotocore.docs.shaper   Úbotocore.docs.utilsr   r   rO   rm   r6   r   r   ú<module>rƒ      s;   ðõ 0Ý ,ôI!˜?ô I!ôX.NÐ3ô .Nôb`!Ð2õ `!r   