
    g                         d Z ddlmZmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZmZ ddlmZmZ d	ed
edededeeee   f   f
dZdededeeeeef   eeef   f   fdZdedeeef   fdZy)zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    )AnyDictget_type_hintsListTuple)	BaseModel)	FieldInfo   )marshal_json)FormMetadataMultipartFormMetadatafind_field_metadata)_is_set_val_to_string
field_nameexplodeobj	delimiterformc                 0   t        |      s|S t        |t              rg }|j                  j                  }|D ]q  }||   }|j
                  |j
                  n|}	|	dk(  r(t        ||      }
t        |
      s@|rt        |
      g||	<   R|j                  |	 | t        |
              s t        |      dkD  r|j                  |      g|| <   |S t        |t              r}g }|j                         D ]C  \  }}t        |      s|rt        |      g||<   $|j                  | | t        |              E t        |      dkD  r|j                  |      g|| <   |S t        |t              rg }|D ]Q  }t        |      s|r'| |vrg || <   ||    j                  t        |             8|j                  t        |             S t        |      dkD  r,|j                  |D cg c]  }t        |       c}      g|| <   |S t        |      g|| <   |S c c}w )N r   )r   
isinstancer   	__class__model_fieldsaliasgetattrr   appendlenjoinr   itemsr   str)r   r   r   r   r   r    
obj_fieldsname	obj_fieldobj_field_namevalkeyvalueitems                 N/var/www/openai/venv/lib/python3.12/site-packages/mistralai_gcp/utils/forms.py_populate_formr+      s$    3<#y!+.==+E+E
D"4(I090KY__QUN##t$C3<(6s(;'<^$/	{>#;N:OPQ  u:> )u 56DB KA 
C	))+JC5>+E23S	uYKu0E/FGH & u:> )u 56D( K' 
C	E5>!T)')D$Z ''u(=>^E23  u:> )e/LedD	e/L MND K +3/0ZK	 0Ms   #H
media_typerequestreturnc                    i }i }t        |t              st        d      |j                  j                  }t        |j                        }|D ]l  }||   }t        ||      }t        |      s!t        |t              }	|	s4|j                  r|j                  n|}
|	j                  r|j                  j                  }d}d }d }|D ]S  }||   }t        |t              }||j                  rt        ||d       }5|dk(  rt        ||d       }Ht        ||      }U |dk(  s|t        d      |	|||f||
<   ||f||
<   |	j                  rd t        |||         df||
<   t        |t               r9g }|D ](  }t        |      s|j#                  t%        |             * |||
dz   <   _t%        |      ||
<   o | ||fS )Nzinvalid request body typer   content_typez invalid multipart/form-data filezapplication/jsonz[])r   r   	TypeErrorr   r   r   r   r   r   r   r   filecontent
ValueErrorjsonr   r   r   r   )r,   r-   r   filesrequest_fieldsrequest_field_typesr#   fieldr&   field_metadataf_namefile_fields	file_namer3   r0   file_field_name
file_fieldfile_metadatavaluesr(   s                       r*   serialize_multipart_formrB   Y   s    DEgy)344+2+<+<+I+IN():):;t$gt$s|,U4IJ %030J0JKIGL#.(9
 3J@U V ( ((%c?DAG$6#*3#FL '_ =I $/ B'/ !CDD'!*G\ Bf!*G 4f  S"5d";<"E&M #t$ E"5> MM."78 !
 '-Vd]#-c2Vu v tU""    datac                    i }t        | t              r| j                  j                  }t	        | j                        }|D ]  }||   }t        | |      }t        |      s t        |t              }|3|j                  |j                  n|}|j                  rt        |||         g||<   m|j                  dk(  rt        ||j                  |d|       t        d|        |S t        | t               r5| j#                         D ]   \  }	}
t        |
      st%        |
      g||	<   " |S t'        dt)        |        d      )Nr   ,zInvalid form style for field zInvalid request body type z for form data)r   r   r   r   r   r   r   r   r   r   r5   r   styler+   r   r4   r   r    r   r1   type)rD   r   data_fieldsdata_field_typesr#   r9   r&   metadatar;   r'   r(   s              r*   serialize_form_datarL      sB   !#D$	",0NN,G,G)$..9D%E$%C3<*5,?H$)KK$;U[[F}} ,S2B42H IJV>>V+" (( %'DTF%KLL3  B K 
D$	**,JCu~+E23S	 ' K 4T$ZLOPPrC   N)__doc__typingr   r   r   r   r   pydanticr   pydantic.fieldsr	   serializersr   rK   r   r   r   rA   r   r   r!   boolr+   rB   rL    rC   r*   <module>rT      s    G   % % 
 ,??? 
? 	?
 sDI~
?DG#G#!G#
3S#XS#X./G#T'c 'd38n 'rC   