ó
    F\hQ  ã                   óH   • S r / SQrSSKrSSKJr  S rS	S jrS
S jrSS jrg)z1Various types of useful iterators and generators.)Úbody_line_iteratorÚtyped_subpart_iteratorÚwalké    N)ÚStringIOc              #   ó¢   #   • U v •  U R                  5       (       a0  U R                  5        H  nUR                  5        Sh  v•N   M     gg N
7f)z}Walk over the message tree, yielding each subpart.

The walk is performed in depth-first order.  This method is a
generator.
N)Úis_multipartÚget_payloadr   )ÚselfÚsubparts     Ú&/usr/lib/python3.13/email/iterators.pyr   r      sE   é € ð ‚JØ×Ñ×ÑØ×'Ñ'Ö)ˆGØ—|‘|“~×%Ò%ò *ð á%ùs   ‚A AÁAÁAc              #   ó°   #   • U R                  5        H<  nUR                  US9n[        U[        5      (       d  M)  [	        U5       Sh  v•N   M>     g N	7f)z†Iterate over the parts, returning string payloads line-by-line.

Optional decode (default False) is passed through to .get_payload().
)ÚdecodeN)r   r	   Ú
isinstanceÚstrr   )Úmsgr   r   Úpayloads       r   r   r       sJ   é € ð
 —8‘8–:ˆØ×%Ñ%¨VÐ%Ð4ˆÜ�gœs×#Ó#Ü Ó(×(Ò(ò ñ )ùs   ‚6A¼AÁ
AÁ
Ac              #   ó    #   • U R                  5        H6  nUR                  5       U:X  d  M  Ub  UR                  5       U:X  d  M2  Uv •  M8     g7f)zèIterate over the subparts with a given MIME type.

Use `maintype' as the main MIME type to match against; this defaults to
"text".  Optional `subtype' is the MIME subtype to match against; if
omitted, only the main type is matched.
N)r   Úget_content_maintypeÚget_content_subtype)r   ÚmaintypeÚsubtyper   s       r   r   r   +   sB   é € ð —8‘8–:ˆØ×'Ñ'Ó)¨XÕ5Ø‰ '×"=Ñ"=Ó"?À7Õ"JØ”ò ùs   ‚&A¬AÁ	Ac                 óB  • Uc  [         R                  nSUS-  -  n[        X@R                  5       -   SUS9  U(       a  [        SU R	                  5       -  US9  O	[        US9  U R                  5       (       a(  U R                  5        H  n[        XQUS-   U5        M     gg)	zA handy debugging aidNÚ é   Ú )ÚendÚfilez [%s])r   é   )ÚsysÚstdoutÚprintÚget_content_typeÚget_default_typer   r	   Ú
_structure)r   ÚfpÚlevelÚinclude_defaultÚtabr   s         r   r$   r$   8   s�   € à	�zÜ�Z‰ZˆØ
�˜‘Ñ
€CÜ	ˆ#×$Ñ$Ó&Ñ
&¨B°RÒ8ÞÜˆg˜×,Ñ,Ó.Ñ.°RÓ8ä�2ŠØ
×Ñ×ÑØ—‘Ö(ˆGÜ�w E¨!¡G¨_Ö=ò )ð ó    )F)ÚtextN)Nr   F)	Ú__doc__Ú__all__r   Úior   r   r   r   r$   © r)   r   Ú<module>r/      s-   ðñ
 8ò€ó Ý ò	&ô)ô
õ>r)   