
    i                     Z   S SK r S SKJrJr  S SKJrJr  S SKJr  S SKJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJr  S SKrS SKJr  S SKJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2  S SK3J4r4  S S	K5J6r6  S S
K7J8r8J9r9  S SK:J;r;J<r<  S SK=J>r>  S SK?J@r@  S SKAJBrB  S SKCJDrDJErE  S SKFJGrG  S SKHJIrI  S SKJJKrKJLrL  S SKMJNrN  S SKOJPrP  S S	KQJ6rR  S SKSJTrT  S SKUJVrVJWrWJXrXJYrYJZrZ  S SK[J\r\J]r]  S SK^J_r_  S SK`Jara  S SKbJcrcJdrdJereJfrf  SSKgJhrh  SriSrjSeS  jrkS!\R                  S"\mS\;4S# jrnS$SS%.S&\;S'\oS(\\\I      S\;4S) jjrpS*\\   S\\   4S+ jrqS&\;S\\   4S, jrrS-\
S.\	4   S\ R                  4S/ jrtS0\	S1\\m\	4   S\	4S2 jruS-\
S.\	4   S\	4S3 jrvSSS4SS5.S"\mS-\
S.\	4   S6\\m   S7\\\m      S8\oS9\\dS:   S4   S\;4S; jjrwS<\mS=\	S&\;S\\o   4S> jrx\ " S? S@5      5       ryS<\mS0\	SA\	SB\oS\y4
SC jrzSD\S&\;SS4SE jr{S&\;SF\SG\\m\	4   S\	4SH jr|\ " SI SJ5      5       r}SSSSSSK.SL\\]\a4   S&\;SM\\\\m\	4   \V4      SN\\R   SO\\_   SP\\	   SQ\\\I\	4      SR\SS\oS\}4ST jjr~SD\SA\	SU\\m\	4   SV\\mS.4   S\\	\\	   4   4
SW jr SfSD\SU\\m\	4   SX\\mS4   S\	4SY jjrS*\\   SZ\\\m\	4   \Y\W4   S\\\m\	4   \\	   4   4S[ jrS\\	S\o4S] jrS*\\   S\o4S^ jrS_\\   S`\VS\\m\	4   4Sa jrS_\\   S`\\\\m\	4   \V4      SS\oS\\\m\	4   \\\m\	4      4   4Sb jrSc\;S6\mSS\oS\\   4Sd jrg)g    N)AsyncExitStackcontextmanager)copydeepcopy)	dataclass)AnyCallable	CoroutineDict
ForwardRefListMappingOptionalSequenceTupleTypeUnioncast)params)PYDANTIC_V2
ModelFieldRequiredParam	Undefined_is_error_wrapper_is_model_classcopy_field_infocreate_body_modelevaluate_forwardreffield_annotation_is_scalarget_annotation_from_field_infoget_cached_model_fieldsget_missing_field_erroris_bytes_fieldis_bytes_sequence_fieldis_scalar_fieldis_scalar_sequence_fieldis_sequence_field.is_uploadfile_or_nonable_uploadfile_annotation!is_uploadfile_sequence_annotationlenient_issubclassmay_v1sequence_typesserialize_sequence_valuevalue_is_sequence)annotation_is_pydantic_v1)BackgroundTasks)asynccontextmanagercontextmanager_in_threadpool)	DependantSecurityRequirement)DependencyScopeError)logger)SecurityBase)OAuth2SecurityScopes)OpenIdConnect)DependencyCacheKey)create_model_fieldget_path_param_names)	BaseModel)	FieldInfo)run_in_threadpool)FormDataHeadersImmutableMultiDictQueryParams
UploadFile)HTTPConnectionRequest)Response)	WebSocket)	AnnotatedLiteralget_args
get_origin   )temp_pydantic_v1_paramszForm data requires "python-multipart" to be installed. 
You can install "python-multipart" with: 

pip install python-multipart
zForm data requires "python-multipart" to be installed. It seems you installed "multipart" instead. 
You can remove "multipart" with: 

pip uninstall multipart

And then install "python-multipart" with: 

pip install python-multipart
returnc                  n    SSK Jn   U S:  d   eg ! [        [        4 a     SSKJn   U (       d   e SSKJn  U(       d   e g ! [         a+    [        R                  " [        5        [        [        5      S ef = f! [         a+    [        R                  " [        5        [        [        5      S ef = ff = f)Nr   )__version__z0.0.12)parse_options_header)python_multipartrR   ImportErrorAssertionError	multipartmultipart.multipartrS   r6   error!multipart_incorrect_install_errorRuntimeErrormultipart_not_installed_error)rR   rS   s     b/var/www/html/qgis-automation/mouza_env/lib/python3.13/site-packages/fastapi/dependencies/utils.pyensure_multipart_is_installedr^   a   s    H0 X%%%( H	H-;	P ,++ P>?"#DE4OP  	HLL67<=4G	H!Hs+    B4A;A5A88A;;5B00B4dependspathc                    [        U R                  5      (       d   S5       e/ n[        U [        R                  5      (       a,  U R
                  (       a  UR                  U R
                  5        [        UU R                  U R                  US9$ )Nz;A parameter-less dependency must have a callable dependency)r`   callscopesecurity_scopes)	callable
dependency
isinstancer   Securityscopesextendget_dependantrc   )r_   r`   use_security_scopess      r]   get_parameterless_sub_dependantrm   |   sw    G&&'' E' &('6??++""7>>2mm+	     Fskip_repeatsvisited	dependantrp   rq   c                   Uc  / nUR                  U R                  5        [        U R                  R	                  5       U R
                  R	                  5       U R                  R	                  5       U R                  R	                  5       U R                  R	                  5       U R                  R	                  5       U R                  U R                  S9nU R                   GH  nU(       a  UR                  U;   a  M  [        XAUS9nUR                  R                  UR                  5        UR
                  R                  UR
                  5        UR                  R                  UR                  5        UR                  R                  UR                  5        UR                  R                  UR                  5        UR                  R                  UR                  5        GM     U$ )N)path_paramsquery_paramsheader_paramscookie_paramsbody_paramssecurity_requirements	use_cacher`   ro   )append	cache_keyr3   rt   r   ru   rv   rw   rx   ry   rz   r`   dependenciesget_flat_dependantrj   )rr   rp   rq   flat_dependantsub_dependantflat_subs         r]   r~   r~      s    NN9&&'))..0++002--224--224))..0'==BBD%%^^	N #//M33w>%g
 	""))(*>*>?##**8+@+@A$$++H,B,BC$$++H,B,BC""))(*>*>?,,33H4R4RS 0 rn   fieldsc                     U (       d  U $ U S   n[        U 5      S:X  a1  [        UR                  5      (       a  [        UR                  5      nU$ U $ )Nr      )lenr   type_r!   )r   first_fieldfields_to_extracts      r]   _get_flat_fields_from_paramsr      sK    )K
6{aOK,=,=>>3K4E4EF  Mrn   c                     [        U SS9n[        UR                  5      n[        UR                  5      n[        UR                  5      n[        UR
                  5      nX#-   U-   U-   $ )NT)rp   )r~   r   rt   ru   rv   rw   )rr   r   rt   ru   rv   rw   s         r]   get_flat_paramsr      sa    '	EN.~/I/IJK/0K0KLL01M1MNM01M1MNM%5EErn   rb   .c                 d   [         R                  " U 5      n[        U S0 5      nUR                  R	                  5        Vs/ s HL  n[         R
                  " UR                  UR                  UR                  [        UR                  U5      S9PMN     nn[         R                  " U5      nU$ s  snf )N__globals__)namekinddefault
annotation)inspect	signaturegetattr
parametersvalues	Parameterr   r   r   get_typed_annotationr   	Signature)rb   r   globalnsparamtyped_paramstyped_signatures         r]   get_typed_signaturer      s    !!$'It]B/H ))002 3E 	MM+E,<,<hG		
 3   ''5Os    AB-r   r   c                 |    [        U [        5      (       a&  [        U 5      n [        XU5      n U [	        S 5      L a  g U $ N)rg   strr   r   type)r   r   s     r]   r   r      s:    *c""
+
(xH
d#rn   c                     [         R                  " U 5      nUR                  nU[         R                  R                  L a  g [        U S0 5      n[        X#5      $ )Nr   )r   r   return_annotationr   emptyr   r   )rb   r   r   r   s       r]   get_typed_return_annotationr      sM    !!$'I,,JW&&,,,t]B/H
55rn   T)r   rd   rz   rc   r   rd   rz   rc   )functionrequestc           
      >   [        UUU UUUS9n[        U 5      n[        U5      nUR                  n	[	        U[
        5      (       aL  / n
[	        U[        [        45      (       a  U=(       d    U
n
[        XS9nUR                  R                  U5        U	R                  5        GHv  u  pX;   n[        UUR                  UR                  US9nUR                  Gb{  UR                  R                   (       d   eUR"                  (       d  UR$                  (       a`  UR&                  S:X  aP  UR                  R(                  S:X  a6  UR*                  (       d   e[-        SUR*                  R.                   S35      eU=(       d    / n[	        UR                  [0        R2                  5      (       a@  UR                  R4                  (       a%  UR7                  UR                  R4                  5        [9        U UR                  R                   UUUR                  R:                  UR                  R(                  S9nUR<                  R                  U5        GM  [?        UUR@                  US	9(       a  URB                  b   S
U< 35       eGM  URB                  c   e[	        URB                  RD                  [0        RF                  [H        RF                  45      (       a(  URJ                  R                  URB                  5        GMb  [M        URB                  US9  GMy     U$ )N)rb   r   r`   rd   rz   rc   )security_schemeri   )
param_namer   valueis_path_paramr   r   zThe dependency "zS" has a scope of "request", it cannot depend on dependencies with scope "function".)r`   rb   r   rd   rz   rc   r   type_annotationrr   z0Cannot specify multiple FastAPI annotations for )fieldrr   )'r3   r=   r   r   rg   r7   r8   r:   r4   ry   r{   itemsanalyze_paramr   r   r_   rf   is_gen_callableis_async_gen_callablecomputed_scoperc   rb   r5   __name__r   rh   ri   rj   rk   rz   r}   !add_non_field_param_to_dependencyr   r   
field_infoBodyrO   rx   add_param_to_fields)r`   rb   r   rd   rz   rc   rr   path_param_namesendpoint_signaturesignature_params
use_scopessecurity_requirementr   r   r   param_detailsrl   r   s                     r]   rk   rk      s    'I ,D1,T2)44$%% "
dV]344(6JJ2  
 	''../CD-335
"6%!''--'	
   , ((3333**i.M.M,,	9!))//:= ~~%~*&y~~'>'>&? @Y Y  #2"7R-//AA ((//'..}/D/D/K/KL)"**55 3'//99#++11M ""))-8,!)99

 !&&. B:.Q. ""...**V[[:Q:V:V,W
 
 !!(()<)<=m&9&9YOc 6d rn   r   r   c                 T   [        U[        5      (       a  Xl        g[        U[        5      (       a  Xl        g[        U[
        5      (       a  Xl        g[        U[        5      (       a  Xl        g[        U[        5      (       a  Xl
        g[        U[        5      (       a  Xl        gg )NT)r*   rG   request_param_namerI   websocket_param_namerF   http_connection_param_namerH   response_param_nameStarletteBackgroundTasksbackground_tasks_param_namer9   security_scopes_param_namer   s      r]   r   r   6  s     /733'1$	OY	7	7)3&	O^	<	</9,	OX	6	6(2%	O-E	F	F0:-	O^	<	</9,rn   c                   T    \ rS rSr% \\S'   \\R                     \S'   \\	   \S'   Sr
g)ParamDetailsiN  r   r_   r    N)r   
__module____qualname____firstlineno__r   __annotations__r   r   Dependsr   __static_attributes__r   rn   r]   r   r   N  s"    fnn%%Jrn   r   r   r   c                 f   S nS n[         n[         nU[        R                  R                  La  UnUn[	        U5      [
        L Ga  [        U5      nUS   nUSS   V	s/ s H;  n	[        U	[        [        R                  [        R                  45      (       d  M9  U	PM=     n
n	U
 V	s/ s Hc  n	[        U	[        R                  [        R                  [        R                  [        R                  [        R                  45      (       d  Ma  U	PMe     nn	U(       a  US   nOS n[        U[        [        R                  45      (       a  [        XS9nUR                   ["        [        R"                  1;   dG  UR                   [$        [        R$                  1;   d#   SUR&                  R(                   SU < S35       eU[        R                  R                  La  U(       a   S5       eX$l        O-[$        Ul        O![        U[        R                  5      (       a  Un[        U[        R                  5      (       a  Ub   S	U < 35       eUb   S
U < 35       eUnO[[        U[        [        R                  45      (       a6  Ub   SU < 35       eUn[*        (       a  [        U[        5      (       a  Xdl        Ub  UR.                  c  [1        U5      nXel        [3        U[4        [6        [8        [:        [<        [>        45      (       a  Ub   SU< 35       eUb   SU< 35       eOUc  Uc  U[        R                  R                  La  UO[$        nU(       a  [        R@                  " US9nO[C        U5      (       d  [E        U5      (       a  [        RF                  " X}S9nO\[I        US9(       d:  [K        U5      (       a  [        R                  " X}S9nO)[        R                  " X}S9nO[        RL                  " X}S9nS nUGb$  U(       aR  [        U[        R@                  [        R@                  45      (       d"   SUR&                  R(                   SU < 35       eO\[        U[        R                  [        R                  45      (       a-  [O        USS 5      c  [        RP                  RR                  Ul*        [W        UUU 5      n[        U[        RX                  [        RX                  45      (       a
  [[        5         UR\                  (       d%  [O        USS 5      (       a  U R_                  SS5      nOUR\                  =(       d    U nUUl.        [a        U UUR                   UUR                   [$        [        R$                  ["        4;   US9nU(       a  [c        US9(       d   S5       eO|[        U[        RL                  [        RL                  45      (       aM  [c        U5      (       d=  [e        U5      (       d-  [g        URh                  5      (       a  [O        USS5      S:X  d   e[k        XeUS9$ s  sn	f s  sn	f )Nr   r   )r   r   `z1` default value cannot be set in `Annotated` for z). Set the default value with `=` instead.z*Path parameters cannot have default valueszGCannot specify `Depends` in `Annotated` and default value together for zaCannot specify a FastAPI annotation in `Annotated` and `Depends` as a default value together for zQCannot specify FastAPI annotations in `Annotated` and default value together for z"Cannot specify `Depends` for type z+Cannot specify FastAPI annotation for type )r   )r   r   zCannot use `z` for path param in_convert_underscores_-)r   r   r   aliasrequiredr   )r   z1Path params must be of one of the supported typesshape)r   r_   r   )6r   r   r   r   rM   rJ   rL   rg   r?   r+   r   r   ParamrO   r   r   r   r   r   	__class__r   r   r   rf   r   r*   rG   rI   rF   rH   r   r9   Pathr(   r)   Filer   r/   Queryr   
ParamTypesqueryr   r    Formr^   r   replacer<   r%   r&   r   r   r   )r   r   r   r   r   r_   r   use_annotationannotated_argsargfastapi_annotationsfastapi_specific_annotationsfastapi_annotationdefault_valuer   use_annotation_from_field_infor   s                    r]   r   r   U  s    JGON**000#$.!Y.!*-(+ &ab)
)#	6+;+;V^^LM ) 	 
 +(
*LL+11KK+00NN	 * 	% (
 ( -R0  "&(9f6F6F*GHH(-J %%  *  ##v7K7K'LL J((112 3$$.>1Z\	 M G--333(V*VV(%*"%2
"*FNN;;(G%(( 	
'N,	
 ! 	
++5.:	
! 	EIv'7'78	9	9! 	
'N,	
! 
;*i00(7% w119w-, $	

 
 X"D_DW XX! 	
9/9LM	
! 
	!&g.?.?.E.E!E=  ?J;
 
.??VJ+G(88499-
 $[[-
  WJEV[[*A*F*FG   z33<<= >>#  zFLL2I2O2O#PQQ
E408#..44JN)G*
&
 j6;;0G0L0L"MNN)+GJ8Mt$T$T&&sC0E$$2
E 
"0&&''v33Y?@!
 "/ C/ 
V\\3J3P3P$QRR&&+E22#EKK00w2a7 PUVVM

(
s   8X)X)$A X.X.r   c                 ,   U R                   n[        USS 5      nU[        R                  R                  :X  a  UR
                  R                  U 5        g U[        R                  R                  :X  a  UR                  R                  U 5        g U[        R                  R                  :X  a  UR                  R                  U 5        g U[        R                  R                  :X  d   SU R                   35       eUR                  R                  U 5        g )Nr   z>non-body parameters must be in path, query, header or cookie: )r   r   r   r   r`   rt   r{   r   ru   headerrv   cookier   rw   )r   rr   r   field_info_ins       r]   r   r     s    !!JJt4M))...$$U+	&++11	1%%e,	&++22	2&&u- 1 1 8 88 	
LUZZLY	
8 	&&u-rn   stack
sub_valuesc                 *  #    U R                   (       d   eU R                  (       a%  [        [        U R                   5      " S0 UD65      nO,U R                  (       a  [        U R                   5      " S0 UD6nUR                  W5      I S h  vN $  N7f)Nr   )rb   r   r2   r   r   r1   enter_async_context)rr   r   r   cms       r]   _solve_generatorr      sm      >>>  ).*H*V:*VW		(	( 0>:>**2....s   B
BBBc                   h    \ rS rSr% \\\4   \S'   \\   \S'   \	\
   \S'   \\S'   \\\4   \S'   Srg)	SolvedDependencyi+  r   errorsbackground_tasksresponsedependency_cacher   N)r   r   r   r   r   r   r   r   r   r   r   rH   r;   r   r   rn   r]   r   r   +  s=    cNI788-s233rn   r   )bodyr   r   dependency_overrides_providerr   r   r   r   r   r   r   async_exit_stackembed_body_fieldsc        	         
  #    U R                   R                  S5      n	[        U	[        5      (       d   S5       eU R                   R                  S5      n
[        U
[        5      (       d   S5       e0 n/ nUc  [	        5       nUR
                  S	 S Ul        Uc  0 nUR                   GH  n[        [        S[        4   UR                  5      Ul        UR                  nUnU(       aq  UR                  (       a`  UR                  n[        US0 5      R                  UU5      nUR                  n[        UUUR                   UR"                  UR                   S9n[%        U UUUUUUUUS	9	I S h  vN nUR&                  nUR(                  (       a  UR+                  UR(                  5        GM  UR,                  (       a  UR.                  U;   a  XmR.                     nOUR0                  (       d  UR2                  (       a2  U	nUR                   S
:X  a  U
n[5        UUUR6                  S9I S h  vN nOJUR8                  (       a  U" S0 UR6                  D6I S h  vN nO[;        U40 UR6                  D6I S h  vN nUR                   b  UXR                   '   UR.                  U;  d  GM  UXmR.                  '   GM     [=        UR>                  U R>                  5      u  nn[=        UR@                  U R@                  5      u  nn[=        URB                  U R
                  5      u  nn[=        URD                  U RF                  5      u  nnURI                  U5        URI                  U5        URI                  U5        URI                  U5        UUU-   U-   U-   -  nURJ                  (       aB  [M        URJ                  UUS9I S h  vN u  nnURI                  U5        UR+                  U5        URN                  (       a  XURN                  '   URP                  (       a$  [        U [R        5      (       a  XURP                  '   O4URT                  (       a#  [        U [V        5      (       a  XURT                  '   URX                  (       a  Uc
  [[        5       nX;URX                  '   UR\                  (       a  XKUR\                  '   UR^                  (       a  [a        UR"                  S9XR^                  '   [c        UUUUUS9$  GN GN GN GN GNF7f)Nfastapi_inner_astackz/fastapi_inner_astack not found in request scopefastapi_function_astackz2fastapi_function_astack not found in request scopezcontent-length.dependency_overrides)r`   rb   r   rd   rc   )	r   rr   r   r   r   r   r   r   r   r   )rr   r   r   )body_fieldsreceived_bodyr   )ri   )r   r   r   r   r   r   )2rc   getrg   r   rH   headersstatus_coder}   r   r	   r   rb   r  r   r`   rk   r   rd   solve_dependenciesr   r   rj   rz   r|   r   r   r   r   is_coroutine_callabler@   request_params_to_argsrt   ru   rv   rw   cookiesupdaterx   request_body_to_argsr   r   rG   r   rI   r   r0   r   r   r9   r   )r   rr   r   r   r   r   r   r   r   request_astackfunction_astackr   r   r   rb   use_sub_dependantoriginal_calluse_pathsolved_resultsolved
use_astackpath_valuespath_errorsquery_valuesquery_errorsheader_valuesheader_errorscookie_valuescookie_errorsbody_valuesbody_errorss                                  r]   r
  r
  4  s     ]]&&'=>Nnn55 95 mm''(ABOo~66 <6  FF:-.#"//!(38"4m6H6HI!!))-BB)..M-/Erc-/  *..H -"'' - = =#))! 1'-*G--/

 

 )99MM-../""}'>'>BR'R%&=&=>F--1B1X1X'J""j0,
++ (// F
 447-"6"677F,TJ]5I5IJJF))/F%%&""*::8>445q 0r  6w22 K "8 4 4"L, $:$ M= $:$ M= MM+
MM,
MM- 
MM- 
kL(=8=HHF '!--/
 
	
 	k"k"++7>y334##
7G(D(D/6y++,		'	'Jw	,J,J18y--.,,#.08Hy445$$08y,,-++7E,,8
334 )) a

. 8J4
sc   E+T-S=.B=T+T ,+TTT6T7-T)DTT	D:T TTT	Tr   locc                 "   Uc4  U R                   (       a  S [        US9/4$ [        U R                  5      / 4$ U R	                  XUS9u  pE[        U5      (       a  S U/4$ [        U[        5      (       a  [        R                  " USS9nS U4$ U/ 4$ )N)r"  r   )r   
loc_prefix)
r   r"   r   r   validater   rg   listr+   _regenerate_error_with_loc)r   r   r   r"  v_errors_
new_errorss          r]    _validate_value_with_model_fieldr+    s     }>>1c:;;;EMM*B....C.8KB!!gY	GT	"	"66gRTU
Z2vrn   r   c                    U=(       d    U R                   n[        U 5      (       a-  [        U[        [        45      (       a  UR                  U5      nOUR                  US 5      nUbs  [        U R                  [        R                  [        R                  45      (       a  [        U[        5      (       a  US:X  d  [        U 5      (       a6  [        U5      S:X  a'  U R                  (       a  g [        U R                  5      $ U$ )N r   )r   r'   rg   rC   rB   getlistr  r   r   r   rO   r   r   r   r   r   )r   r   r   r   s       r]   _get_multidict_valuer/    s      U[[EJv8JG7T$U$Uu%

5$'u''&++7N7S7S)TUU5#&&e$$Uq>>EMM**Lrn   received_paramsc                 ^   0 n/ nU (       d  X#4$ U S   nU nSnSn[        U 5      S:X  aM  [        UR                  [        5      (       a.  [	        UR                  5      nSn[        UR                  SS5      n0 n[        5       n	U H  n
S n[        U[        5      (       a`  [        U
R                  SU5      nU(       aB  U
R                  U
R                  :w  a  U
R                  OU
R                  R                  SS5      n[        XUS9nUb  XU
R                  '   U	R                  U=(       d    U
R                  5        U	R                  U
R                  5        M     UR                  5        H  u  pX;  d  M  XU'   M     U(       aw  UR                  n[        U[         R"                  [$        R"                  45      (       d   S	5       eUR&                  R(                  4n[+        XHUUS
9u  nnUR                  U0U4$ U  H  n
[        X5      nU
R                  n[        U[         R"                  [$        R"                  45      (       d   S	5       eUR&                  R(                  U
R                  4n[+        XUUS
9u  nnU(       a  UR-                  U5        M  UX*R                  '   M     X#4$ )Nr   FTr   r   r   r   )r   z"Params must be subclasses of Paramr   r   r   r"  )r   r*   r   r>   r!   r   r   setrg   rB   r   r   r   r/  addr   r   r   rO   r   r   r+  rj   )r   r0  r   r   r   r   single_not_embedded_fielddefault_convert_underscoresparams_to_processprocessed_keysr   r   r   r   keyr   r"  r(  r)  s                      r]   r  r    s     F#%F~)K %"&
6{a.{/@/@)LL3K4E4EF$(! '.""$94'
# )+UN"ow// #*  "79T# # {{ejj0 KK++C5 
 %U5I,1ejj)5/EKK05::&% #( &++-
$%*c" . ! ++
*v||5L5R5R&STT 	
0	
T !+ 4 466v3
G   "%w..$U<%%
*v||5L5R5R&STT 	
0	
T ~~##U[[16V
G MM'"!#F::  >rn   
field_typec                     SSK Jn  [        U 5      nU[        La  X!La  g[	        U 5      nU H  n[        U5      (       a  M    g   g)zJCheck if field type is a Union where all members are BaseModel subclasses.r   )	UnionTypeFT)fastapi.typesr<  rM   r   rL   r   )r:  r<  origin
union_argsr   s        r]   is_union_of_base_modelsr@  9  sH    '
#F Uv6*%Js##  rn   c                    U (       d  gU  Vs1 s H  oR                   iM     nn[        U5      S:  a  gU S   n[        UR                  SS 5      (       a  g[	        UR                  [
        R                  [        R                  45      (       a5  [        UR                  5      (       d  [        UR                  5      (       d  ggs  snf )NFr   Tr   embed)r   r   r   r   rg   r   r   rO   r   r   r@  )r   r   body_param_names_setr   s       r]   _should_embed_body_fieldsrD  L  s     5;;F5JJF;
 1$)K{%%w55 	;))FKK9P9U9U+VWW 1 122'(9(9::! <s   Cr  r  c                   ^
#    0 nU  GH  n[        X15      nUR                  n[        U[        R                  [
        R                  45      (       a>  [        U5      (       a.  [        U[        5      (       a  UR                  5       I S h  vN nO[        U5      (       a  [        U[        R                  [
        R                  45      (       a  [        U5      (       a  [        U[        5      (       d   e/ m
S[        / [        [        [        [        4   4   SS 4U
4S jjn[        R                   " 5        IS h  vN nU H  nUR#                  XhR                  5        M      S S S 5      IS h  vN   [%        UT
S9nUc  GM}  XBUR&                  '   GM     UR)                  5        H  u  pX;  d  M  XBU	'   M     U$  GN4 N NR! , IS h  vN  (       d  f       Ng= f7f)NfnrP   c                 R   >#    U " 5       I S h  vN nTR                  U5        g  N7fr   )r{   )rF  resultresultss     r]   
process_fn&_extract_form_body.<locals>.process_fn|  s"       "tv& $s   '%')r   r   )r/  r   rg   r   r   rO   r#   rE   readr$   r.   r,   r	   r
   r   anyiocreate_task_group
start_soonr-   r   r   )r  r  r   r   r   r   rJ  tg	sub_valuer9  rI  s             @r]   _extract_form_bodyrR  d  sy     F$U:%%
zFKK1H1M1M#NOOu%%5*--**,&E#E**:5L5Q5Q'RSS!%(( e^4444/1G'R3S=!99:'' ..00B!&IMM*nn= "' 10 -5HE"'5;;; < $))+
3K , M3 '  1000sg   BG
F>B1G<G=G %G%G0G1G+G4GGGG	GG	Gc                   #    0 n/ nU (       d   S5       e[        U 5      S:H  =(       a    U(       + nU S   nUnU nU(       aD  [        UR                  5      (       a*  [        U[        5      (       a  [        UR                  5      n[        U[        5      (       a  [        X5      I S h  vN nU(       a  Sn	[        XgX9S9u  pUR                  U
0U4$ U  Hf  nSUR                  4n	S nUb   UR                  UR                  5      n[        XX9S9u  pU(       a  UR                  U5        MX  XUR                  '   Mh     X44$  N! [         a    UR                  [        U	5      5         M  f = f7f)Nz3request_body_to_args() should be called with fieldsr   r   )r   r2  r   )r   r   r   rg   rA   r!   rR  r+  r   r   r  AttributeErrorr{   r"   rj   )r  r  r   r   r   r5  r   body_to_processr   r"  r(  r)  r   r   s                 r]   r  r    sm    
  F#%FMMM; #K 0A 5 O>O:Oa.K#O*5 	"K--..}h//3K4E4EF-** 23D TT (6V
   "%w..u{{##&'++EKK8
 7V
 MM'"!#5::! " >3 U " 5c:;s7   B&E.(E)AE.+E<E.$E+'E.*E++E.r   c                 "   U R                   (       d  gU R                   S   nU(       d  U$ SU-   n[        U R                   US9n[        S U R                    5       5      nUSS.nU(       d  SUS'   [        S	 U R                    5       5      (       a  [        R                  nGOS[        S
 U R                    5       5      (       a  [
        R                  nGO [        S U R                    5       5      (       a  [        R                  nO[        S U R                    5       5      (       a  [
        R                  nO[        U5      (       a  [
        R                  nO[        R                  nU R                    V	s/ s HT  n	[        U	R                  [        R                  [
        R                  45      (       d  M>  U	R                  R                  PMV     n
n	[        [        U
5      5      S:X  a  U
S   US'   [        SUUSU" S0 UD6S9nU$ s  sn	f )a{  
Get a ModelField representing the request body for a path operation, combining
all body parameters into a single field if necessary.

Used to check if it's form data (with `isinstance(body_field, params.Form)`)
or JSON and to generate the JSON Schema for a request body.

This is **not** used to validate/parse the request body, that's done with each
individual body parameter.
Nr   Body_)r   
model_namec              3   J   #    U  H  oR                   (       d  M  S v   M     g7f)TN)r   .0fs     r]   	<genexpr>!get_body_field.<locals>.<genexpr>  s     J!;Azz44!;s   #	#r   )r   r   r   c              3   j   #    U  H)  n[        UR                  [        R                  5      v   M+     g 7fr   )rg   r   r   r   rZ  s     r]   r]  r^    s$     
U:TQ:allFKK00:T   13c              3   j   #    U  H)  n[        UR                  [        R                  5      v   M+     g 7fr   )rg   r   rO   r   rZ  s     r]   r]  r^    ,      +A 	1<<!8!=!=>>+r`  c              3   j   #    U  H)  n[        UR                  [        R                  5      v   M+     g 7fr   )rg   r   r   r   rZ  s     r]   r]  r^    s$     W<VqZfkk22<Vr`  c              3   j   #    U  H)  n[        UR                  [        R                  5      v   M+     g 7fr   )rg   r   rO   r   rZ  s     r]   r]  r^    rb  r`  r   
media_type)r   r   r   r   r   r   )rx   r   anyr   r   rO   r   r/   r   rg   r   re  r   r3  r<   )r   r   r   first_paramrX  	BodyModelr   BodyFieldInfo_kwargsBodyFieldInfor\  body_param_media_typesfinal_fields               r]   get_body_fieldrm    s    %% ,,Q/K4J!))jI J!;!;JJH, *.Y'

U.:T:T
UUU+1;;	 ++ 
 
 =T<X<X	WN<V<VW	W	W	 ++ 
 
 044$Y//388M"KKM $//"
/!,,6M6R6R(ST $ALL##/ 	 "

 s)*+q01G1J .$ 8#78K "
s   :=H;H)rP   Nr   )r   
contextlibr   r   r   r   dataclassesr   typingr   r	   r
   r   r   r   r   r   r   r   r   r   r   rM  fastapir   fastapi._compatr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   fastapi._compat.sharedr/   fastapi.backgroundr0   fastapi.concurrencyr1   r2   fastapi.dependencies.modelsr3   r4   fastapi.exceptionsr5   fastapi.loggerr6   fastapi.security.baser7   fastapi.security.oauth2r8   r9   $fastapi.security.open_id_connect_urlr:   r=  r;   fastapi.utilsr<   r=   pydanticr>   pydantic.fieldsr?   starlette.backgroundr   starlette.concurrencyr@   starlette.datastructuresrA   rB   rC   rD   rE   starlette.requestsrF   rG   starlette.responsesrH   starlette.websocketsrI   typing_extensionsrJ   rK   rL   rM   r-  rO   r\   rZ   r^   r   r   rm   boolr~   r   r   r   r   r   r   rk   r   r   r   r   r   r   r
  r+  r/  r  r@  rD  rR  r  rm  r   rn   r]   <module>r     s    5  !            6 = . G 3 ! . : > , B  % L 3  7 ( * F F &% % "H6 c i $ 26	     d-./	 
  Fj)9 d:>N Fy FT*-= FhsCx0 W5F5F  S DcN s 6hsCx&8 6S 6 +/9=N
N 38
N 3-	N
 d3i(N N ./56N Nb),9Bd^0      xWxW xW 	xW
 xW xWv.* . .t . //$2/@DS#X// 4 4 4 7;;?#'37@DI7I%&I I 5c3h12
3	I
 78I x I $,C=I t$6$;<=I %I I IX!$.238nCHc?
3S	>& MQ&sCx09>sDy9I0LZ L738,k7BCL 4S>49$%L^  &d:&6 4 0'j!'' 
#s(^'T/j!/E$sCx.(":;</ / 4S>4S#X//0	/d? ?(+?@D?j?rn   