ó
    Ð]jT	  ã                  ó*  • S SK Jr  S SKrS SKrS SKrS SKrS SKJr  SSKJ	r	J
r
  \R                  " S5      S   r\R                  \R                  \\\	4   \
4      r\R                  \\R$                  \\	4   4   rSS jrSS	 jr S     SS
 jjrg)é    )ÚannotationsN)ÚBytesIOé   )Ú_TYPE_FIELD_VALUE_TUPLEÚRequestFieldzutf-8é   c                 ór   • [         R                  " [        R                  " S5      5      R	                  5       $ )zF
Our embarrassingly-simple replacement for mimetools.choose_boundary.
é   )ÚbinasciiÚhexlifyÚosÚurandomÚdecode© ó    ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/urllib3/filepost.pyÚchoose_boundaryr      s&   € ô ×ÒœBŸJšJ r›NÓ+×2Ñ2Ó4Ð4r   c              #  óâ   #   • [        U [        R                  5      (       a  U R                  5       nOU nU H3  n[        U[        5      (       a  Uv •  M  [        R
                  " U6 v •  M5     g7f)zv
Iterate over fields.

Supports list of (k, v) tuples and dicts, and lists of
:class:`~urllib3.fields.RequestField`.

N)Ú
isinstanceÚtypingÚMappingÚitemsr   Úfrom_tuples)ÚfieldsÚiterableÚfields      r   Úiter_field_objectsr      sU   é € ô �&œ&Ÿ.™.×)Ñ)Ø—<‘<“>‰àˆãˆÜ�eœ\×*Ñ*ØŒKä×*Ò*¨EÐ2Ô2ò	 ùs   ‚A-A/c                ó^  • [        5       nUc
  [        5       n[        U 5       HÍ  nUR                  SU S3R	                  S5      5        [        U5      R                  UR                  5       5        UR                  n[        U[        5      (       a  [        U5      n[        U[        5      (       a  [        U5      R                  U5        OUR                  U5        UR                  S5        MÏ     UR                  SU S3R	                  S5      5        SU 3nUR                  5       U4$ )a‚  
Encode a dictionary of ``fields`` using the multipart/form-data MIME format.

:param fields:
    Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`).
    Values are processed by :func:`urllib3.fields.RequestField.from_tuples`.

:param boundary:
    If not specified, then a random boundary will be generated using
    :func:`urllib3.filepost.choose_boundary`.
z--z
zlatin-1s   
z--
zmultipart/form-data; boundary=)r   r   r   ÚwriteÚencodeÚwriterÚrender_headersÚdatar   ÚintÚstrÚgetvalue)r   ÚboundaryÚbodyr   r#   Úcontent_types         r   Úencode_multipart_formdatar*   3   sø   € ô ‹9€DØÑÜ"Ó$ˆä# FÖ+ˆØ�
‰
�R˜�z Ð&×-Ñ-¨iÓ8Ô9äˆt‹×Ñ˜5×/Ñ/Ó1Ô2Ø�z‰zˆä�dœC× Ñ Ü�t“9ˆDä�dœC× Ñ Ü�4‹L×Ñ˜tÕ$à�J‰J�tÔà�
‰
�7Öñ ,ð  	‡J�J��H�:˜VÐ$×+Ñ+¨IÓ6Ô7à3°H°:Ð>€Là�=‰=‹?˜LÐ(Ð(r   )Úreturnr%   )r   Ú_TYPE_FIELDSr+   ztyping.Iterable[RequestField])N)r   r,   r'   z
str | Noner+   ztuple[bytes, str])Ú
__future__r   r   Úcodecsr   r   Úior   r   r   r   Úlookupr!   ÚSequenceÚUnionÚtupler%   Ú_TYPE_FIELDS_SEQUENCEr   r,   r   r   r*   r   r   r   Ú<module>r5      s®   ðÝ "ã Û Û 	Û Ý ç 9à	�Š�wÓ	 Ñ	"€àŸ™Ø
‡L�L��sÐ3Ð3Ñ4°lÐBÑCñÐ ð �|‰|ØØ
‡N�N�3Ð/Ð/Ñ0ð2ñ€ô5ô3ð. 26ð&)Øð&)Ø$.ð&)àö&)r   