
    Liۦ                     	   d dl 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 	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.dedeeeef   ef   d	eeeef      d
eeef   fdZ	 d.dedeeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.deeeef   ef   d	eeeef      d
eeef   fdZ	 d.dedeeeef   ef   d	eeeef      d
eeef   fdZ	 d.dedeeeef   ef   d	eeeef      d
eeef   fdZ	 d.dedeeeef   ef   d	eeeef      d
eeef   fdZ	 d.dedeeeef   ef   d	eeeef      d
eeef   fdZ 	 d.dedeeeef   ef   d	eeeef      d
eeef   fdZ!	 d.dedeeeef   ef   d	eeeef      d
eeef   fdZ"	 d.deeeef   ef   d	eeeef      d
eeef   fdZ#	 d.deeeef   ef   d	eeeef      d
eeef   fdZ$	 d.deeeef   ef   d	eeeef      d
eeef   fd Z%	 d.deeeef   ef   d	eeeef      d
eeef   fd!Z&	 d.deeeef   ef   d	eeeef      d
eeef   fd"Z'	 d.deeeef   ef   d	eeeef      d
eeef   fd#Z(	 d.deeeef   ef   d	eeeef      d
eeef   fd$Z)	 d.deeeef   ef   d	eeeef      d
eeef   fd%Z*	 d.deeeef   ef   d	eeeef      d
eeef   fd&Z+	 d.deeeef   ef   d	eeeef      d
eeef   fd'Z,	 d.deeeef   ef   d	eeeef      d
eeef   fd(Z-	 d.deeeef   ef   d	eeeef      d
eeef   fd)Z.	 d.deeeef   ef   d	eeeef      d
eeef   fd*Z/	 d.deeeef   ef   d	eeeef      d
eeef   fd+Z0	 d.deeeef   ef   d	eeeef      d
eeef   fd,Z1	 d.deeeef   ef   d	eeeef      d
eeef   fd-Z2y)/    )AnyOptionalUnion   )_transformers)BaseApiClient)get_value_by_path)set_value_by_pathNfrom_objectparent_objectreturnc                     i }t        | dg      t        |dgt        | dg             t        | dg      t        d      t        | dg      t        |dgt        | dg             |S )Ndatadisplay_name6display_name parameter is not supported in Gemini API.	mime_typemimeTypegetvsetv
ValueErrorr   r   	to_objects      [/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/google/genai/_live_converters.py_Blob_to_mldevr      sw     !)	+x ,VHd;9:	+'(4
M
NN	+}%1ZL${[M"BC	    c                     i }t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       t        | dg      t        |dgt        | dg             |S c c}w )Npartsrole)r   r   _Part_to_mldevr   r   r   items       r   _Content_to_mldevr#   +   s     !)	+y!-		 [7)4	
 4+	
 
+x ,VHd;9:		
   A)c                     i }t        | dg      t        d      t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S )Nr   r   file_urifileUrir   r   r   r   r   r   s      r   _FileData_to_mldevr)   @   sw     !)	+'(4
M
NN	+
|$0YKkJ<!@A	+}%1ZL${[M"BC	r   c                    i }t        | dg      t        d      t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      t        |d
gt        | d	g             |S )Nbehaviorz1behavior parameter is not supported in Vertex AI.descriptionname
parametersparameters_json_schemaparametersJsonSchemaresponseresponse_json_schemaresponseJsonSchemar(   r   s      r   _FunctionDeclaration_to_vertexr4   Q   s&    !)	+
|$0
H
II	+'3]OT+%GH	+x ,VHd;9:	+~&2\ND|n$EF	+012>	 [345 
+
|$0ZL${ZL"AB	+./0<	[123 
r   c           
         i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      t        |d
gt        | d	g             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      #t        |d gt        t        | dg      |             t        | d!g      t        |d"gt        | d!g             t        | d#g      t        |d#gt        | d#g             t        | d$g      t        |d%gt        | d$g             t        | d&g      t        |d'gt        | d&g             t        | d(g      t        |d)gt        | d(g             t        | d*g      t        d+      |S ),Nmodel_selection_configmodelConfigr2   r3   audio_timestampaudioTimestampcandidate_countcandidateCountenable_affective_dialogenableAffectiveDialogfrequency_penaltyfrequencyPenaltylogprobsmax_output_tokensmaxOutputTokensmedia_resolutionmediaResolutionpresence_penaltypresencePenaltyresponse_logprobsresponseLogprobsresponse_mime_typeresponseMimeTyperesponse_modalitiesresponseModalitiesresponse_schemaresponseSchemarouting_configroutingConfigseedspeech_configspeechConfigstop_sequencesstopSequencestemperaturethinking_configthinkingConfigtop_ktopKtop_ptopPenable_enhanced_civic_answerszFenable_enhanced_civic_answers parameter is not supported in Vertex AI.)r   r   _SpeechConfig_to_vertexr   r   s      r   _GenerationConfig_to_vertexr_   v   s     !)	+012>	[345 
+./0<	[123 
+)*+7%&[;L:M(NO	+)*+7%&[;L:M(NO	+123?	 ![456 
++,-9	[./0 
+
|$0ZL${ZL"AB	++,-9%&[;N:O(P 
+*+,8%&[;M:N(O 
+*+,8%&[;M:N(O 
++,-9	[./0 
+,-.:	[/01 
+-./;	[012 
+)*+7%&[;L:M(NO	+()*6_%tK:J9K'LM	+x ,VHd;9:	+()5	/0)	
 
+()*6_%tK:J9K'LM	+'3]OT+%GH	+)*+7%&[;L:M(NO	+y!-VHd;	:;	+y!-VHd;	:;	+789E
P  
r   c                     i }t        | dg      t        d      t        | dg      t        |dgt        | dg             |S )Nauth_configz5auth_config parameter is not supported in Gemini API.enable_widgetenableWidgetr(   r   s      r   _GoogleMaps_to_mldevrd      sS     !)	+'3
L
MM	+()5^$d;8I&JK	r   c                     i }t        | dg      t        d      t        | dg      t        d      t        | dg      t        |dgt        | dg             |S )Nexclude_domainsz9exclude_domains parameter is not supported in Gemini API.blocking_confidencez=blocking_confidence parameter is not supported in Gemini API.time_range_filtertimeRangeFilterr(   r   s      r   _GoogleSearch_to_mldevrj      s     !)	+)*+7
C  
+-./;
G  
++,-9%&[;N:O(P 
r   c                     i }t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       t        | dg      t        |dgt        | dg             |S c c}w )Nturnsturn_completeturnComplete)r   r   r#   r!   s       r   _LiveClientContent_to_mldevro     s     !)	+y!-		 [7)4	
 dI.	
 
+()5^$d;8I&JK		
r$   
api_clientc                 x   i }t        |dg      $t        |dgt        | t        |dg      |             t        |dg      #t        |dgt        t        |dg      |             t        |dg      #t        |dgt	        t        |dg      |             t        |dg      t        |dgt        |dg             |S Nsetupclient_contentclientContentrealtime_inputrealtimeInputtool_responsetoolResponse)r   r   _LiveClientSetup_to_mldevro   !_LiveClientRealtimeInput_to_mldevrp   r   r   r   s       r   _LiveClientMessage_to_mldevr}   '  s    
 !)	+y!-		![7)4i	
 
+()*6	#/019	
 
+()*6	)/019	
 
+()5^$d;8I&JK	r   c                 d   i }t        |dg      $t        |dgt        | t        |dg      |             t        |dg      t        |dgt        |dg             t        |dg      #t        |dgt        t        |dg      |             t        |dg      t        |dgt        |dg             |S rr   )r   r   _LiveClientSetup_to_vertex"_LiveClientRealtimeInput_to_vertexr|   s       r   _LiveClientMessage_to_vertexr   N  s    
 !)	+y!-		"[7)4i	
 
+()*6_%tK:J9K'LM	+()*6	*/019	
 
+()5^$d;8I&JK	r   c                    i }t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             t        | dg      t        |d	gt        | dg             t        | d
g      t        |dgt        | d
g             |S c c}w )Nmedia_chunksmediaChunksaudioaudio_stream_endaudioStreamEndvideotextactivity_startactivityStartactivity_endactivityEnd)r   r   r   r!   s       r   r{   r{   o  sm    !)	+'(4	 [>*:;	
 4+	
 
+y!-		tK'3Y? 
+*+,8%&[;M:N(OP	+y!-		tK'3Y? 
+x ,VHd;9:	+()*6_%tK:J9K'LM	+'(4]OT+7G%HI	A	
s   D;c                 (   i }t        | dg      't        |dgt        | dg      D cg c]  }| c}       t        | dg      t        |dgt        | dg             t        | dg      t        d      t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |d	gt        | dg             t        | d
g      t        |dgt        | d
g             |S c c}w )Nr   r   r   r   z9audio_stream_end parameter is not supported in Vertex AI.r   r   r   r   r   r   r   r!   s       r   r   r     s6    !)	+'(4	{^,<=>$> 
+y!-WItK';<	+*+,8
C  
+y!-WItK';<	+x ,VHd;9:	+()*6_%tK:J9K'LM	+'(4]OT+7G%HI	/ 	?s   	Dc                    i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      6t        |dgt        t        j                  t        |dg            |             t        |dg      Yt        |dgt        j
                  | t        |dg            D cg c]"  }t        t        j                  | |      |      $ c}       t        |dg      #t        |dgt        t        |dg      |             t        |d	g      t        |d
gt        |d	g             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S c c}w Nmodelgeneration_configgenerationConfigsystem_instructionsystemInstructiontoolssession_resumptionsessionResumptioncontext_window_compressioncontextWindowCompressioninput_audio_transcriptioninputAudioTranscriptionoutput_audio_transcriptionoutputAudioTranscriptionproactivity)	r   r   r#   t	t_contentt_tools_Tool_to_mldevt_tool!_SessionResumptionConfig_to_mldevrp   r   r   r   r"   s        r   rz   rz     s	   
 !)	+y!-WItK';<	++,-9	[./0 
+,-.:	KK[+?*@ABI	
 
+y!-		 		*d;	.JK	
 188J5yA	
 
+,-.:	)345y	
 
+456B	#$[789 
+345A	"#[678 
+456B	#$[789 
+'3]OT+%GH	O	
s   
'Gc                 z   i }t        |dg      t        |dgt        |dg             t        |dg      #t        |dgt        t        |dg      |             t        |dg      ,t        |dgt        j                  t        |dg                   t        |dg      Yt        |dgt        j
                  | t        |dg            D cg c]"  }t        t        j                  | |      |      $ c}       t        |dg      t        |dgt        |dg             t        |d	g      t        |d
gt        |d	g             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S c c}w r   )r   r   r_   r   r   r   _Tool_to_vertexr   r   s        r   r   r     s   
 !)	+y!-WItK';<	++,-9	#234i	
 
+,-.:		D';&<=> 
+y!-		 		*d;	.JK	
 AHHZ6	B	
 
+,-.:	[/01 
+456B	#$[789 
+345A	"#[678 
+456B	#$[789 
+'3]OT+%GH	K	
s   
'F8c                    i }t        |dg      t        |ddgt        |dg             t        |dg      t        |g dt        |dg             t        |dg      t        |g dt        |dg             t        |dg      t        |g d	t        |dg             t        |d
g      t        |g dt        |d
g             t        |dg      t        |g dt        |dg             t        |dg      t        |g dt        |dg             t        |dg      t        |g dt        |dg             t        |dg      -t        |g dt        j                  t        |dg                   t        |dg      t        |g dt        |dg             t        |dg      t        |g dt        |dg             t        |dg      7t        |ddgt	        t        j
                  t        |dg            |             t        |dg      Zt        |ddgt        j                  | t        |dg            D cg c]"  }t        t        j                  | |      |      $ c}       t        |dg      $t        |ddgt        t        |dg      |             t        |dg      t        |ddgt        |dg             t        |dg      t        |dd gt        |dg             t        |d!g      t        |dd"gt        |d!g             t        |d#g      t        |dd$gt        |d#g             t        |d%g      t        |dd%gt        |d%g             |S c c}w &Nr   rs   r   rK   )rs   r   rL   rV   )rs   r   rV   r[   )rs   r   r\   rY   )rs   r   rZ   rA   )rs   r   rB   rC   )rs   r   rD   rQ   )rs   r   rQ   rR   )rs   r   rS   rW   )rs   r   rX   r<   )rs   r   r=   r   r   r   r   r   r   r   r   r   realtime_input_configrealtimeInputConfigr   r   r   )
r   r   r   t_live_speech_configr#   r   r   r   r   r   r   s        r   _LiveConnectConfig_to_mldevr   J  s   
 !)	++,-9	$%[./0 
+-./;;[012 
+'34[=/* 
+y!--[7)$ 
+y!--[7)$ 
++,-98[./0 
+*+,88[-./ 
+x ,-[6(# 
+()55	tK/1BCD 
+)*+77[,-. 
+123?>[456 
+,-.:	%&KK[+?*@ABI	
 
+y!-	' 		*d;	.JK	
 188J5yA	
 
+,-.:	%&)345y	
 
+345A	+,[678 
+456B	,-[789 
+/01=	'([234 
+456B	,-[789 
+'3	- [=/* 
e	
s    'M$c                    i }t        |dg      $t        |ddgt        t        |dg      |             t        |dg      t        |g dt        |dg             t        |dg      t        |g dt        |dg             t        |dg      t        |g d	t        |dg             t        |d
g      t        |g dt        |d
g             t        |dg      t        |g dt        |dg             t        |dg      t        |g dt        |dg             t        |dg      t        |g dt        |dg             t        |dg      7t        |g dt        t	        j
                  t        |dg            |             t        |dg      t        |g dt        |dg             t        |dg      t        |g dt        |dg             t        |dg      -t        |ddgt	        j                  t        |dg                   t        |dg      Zt        |ddgt	        j                  | t        |dg            D cg c]"  }t        t	        j                  | |      |      $ c}       t        |dg      t        |ddgt        |dg             t        |dg      t        |ddgt        |dg             t        |dg      t        |dd gt        |dg             t        |d!g      t        |dd"gt        |d!g             t        |d#g      t        |dd$gt        |d#g             t        |d%g      t        |dd%gt        |d%g             |S c c}w r   )
r   r   r_   r^   r   r   r   r   r   r   r   s        r   _LiveConnectConfig_to_vertexr     s   
 !)	++,-9	$%#234i	
 
+-./;;[012 
+'34[=/* 
+y!--[7)$ 
+y!--[7)$ 
++,-98[./0 
+*+,88[-./ 
+x ,-[6(# 
+()55""4o5F#GH	
 
+)*+77[,-. 
+123?>[456 
+,-.:	%&	D';&<=> 
+y!-	' 		*d;	.JK	
 AHHZ6	B	
 
+,-.:	%&[/01 
+345A	+,[678 
+456B	,-[789 
+/01=	'([234 
+456B	,-[789 
+'3	- [=/* 
a	
s   
'M$c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      $t        |dgt	        | t        |dg      |             |S Nr   rs   config)r   r   r   t_modelr   r|   s       r   _LiveConnectParameters_to_mldevr   w  s    
 !)	+y!-	'			*d;	:; 
+z".	
#[8*5y	
 
r   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      $t        |dgt	        | t        |dg      |             |S r   )r   r   r   r   r   r|   s       r    _LiveConnectParameters_to_vertexr     s    
 !)	+y!-	'			*d;	:; 
+z".	
$[8*5y	
 
r   c                     i }t        | dg      t        d      t        | dg      t        d      t        | dg      t        d      t        | dg      t        d      |S )	Nrs   z.setup parameter is not supported in Vertex AI.rt   z7client_content parameter is not supported in Vertex AI.music_generation_config@music_generation_config parameter is not supported in Vertex AI.playback_controlz9playback_control parameter is not supported in Vertex AI.r   r   r   s      r   !_LiveMusicClientMessage_to_vertexr     s     !)	+y!-
E
FF	+()*6
N
OO	+123?
J  
+*+,8
C  
r   c                 X    i }t        | dg      t        |ddgt        | dg             |S )Nr   rs   r   r   r   s      r   $_LiveMusicConnectParameters_to_mldevr     s8     !)	+y!-Wg&[7)(DE	r   c                 :    i }t        | dg      t        d      |S )Nr   z.model parameter is not supported in Vertex AI.r   r   s      r   %_LiveMusicConnectParameters_to_vertexr     s*     !)	+y!-
E
FF	r   c                 V    i }t        | dg      t        |dgt        | dg             |S )Nr   musicGenerationConfigr   r   s      r   &_LiveMusicSetConfigParameters_to_mldevr     sA     !)	+123?	 ![456 
r   c                 :    i }t        | dg      t        d      |S )Nr   r   r   r   s      r   '_LiveMusicSetConfigParameters_to_vertexr     s2     !)	+123?
J  
r   c                 |    i }t        | dg      't        |dgt        | dg      D cg c]  }| c}       |S c c}w )Nweighted_promptsweightedPromptsr   r!   s       r   /_LiveMusicSetWeightedPromptsParameters_to_mldevr     sR     !)	+*+,8	{-?,@AB$B 
 	Cs   	9c                 :    i }t        | dg      t        d      |S )Nr   z9weighted_prompts parameter is not supported in Vertex AI.r   r   s      r   0_LiveMusicSetWeightedPromptsParameters_to_vertexr     s2     !)	+*+,8
C  
r   c                    i }t        | dg      Dt        |dgt        j                  t        | dg            D cg c]  }t	        ||       c}       t        | dg      6t        |dgt	        t        j
                  t        | dg            |             t        | dg      t        |dgt        | dg             t        | dg      6t        |dgt	        t        j                  t        | dg            |             t        | dg      t        |dgt        | dg             t        | dg      t        |d	gt        | dg             t        | d
g      t        |dgt        | d
g             |S c c}w Nmediar   r   r   r   r   r   r   r   r   r   )r   r   r   t_blobsr   t_audio_blobt_image_blobr!   s       r   )_LiveSendRealtimeInputParameters_to_mldevr     s    !)	+y!-	 		${WI">?	
 4+	
 
+y!-		q~~d;	&BCYO 
+*+,8%&[;M:N(OP	+y!-		q~~d;	&BCYO 
+x ,VHd;9:	+()*6_%tK:J9K'LM	+'(4]OT+7G%HI	A	
s   E4c           
         i }t        | dg      :t        |dgt        j                  t        | dg            D cg c]  }| c}       t        | dg      ,t        |dgt        j                  t        | dg                   t        | dg      t        |dgt        | dg             t        | dg      ,t        |dgt        j
                  t        | dg                   t        | dg      t        |dgt        | dg             t        | dg      t        |d	gt        | dg             t        | d
g      t        |dgt        | d
g             |S c c}w r   )r   r   r   r   r   r   r!   s       r   *_LiveSendRealtimeInputParameters_to_vertexr   ;  sY    !)	+y!-	))Dwi$@AB$B 
+y!-WIq~~d;	.JKL	+*+,8%&[;M:N(OP	+y!-WIq~~d;	.JKL	+x ,VHd;9:	+()*6_%tK:J9K'LM	+'(4]OT+7G%HI	+ 	Cs   	Ec           
      2   i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      #t        |d
gt        t        | d	g      |             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S )NsetupCompletesetup_completeserverContentserver_contenttoolCall	tool_calltoolCallCancellationtool_call_cancellationusageMetadatausage_metadatagoAwaygo_awaysessionResumptionUpdatesession_resumption_update)r   r   _UsageMetadata_from_vertexr   s      r   _LiveServerMessage_from_vertexr   \  sM    !)	+()5%&[?:K(LM	+()5%&[?:K(LM	+
|$0[M4j\#BC	+./0<	!"[123 
+()5	"/0)	
 
+z".YKkH:!>?	+123?	$%[456 
r   c           
      *   i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      #t        |dgt        t        | dg      |             t        | d	g      t        |d
gt        | d	g             t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S )Nfunction_callfunctionCallcode_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_responsefunctionResponseinline_data
inlineDatar   thoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadata)r   r   r)   r   r   s      r   r    r      s    !)	+()5^$d;8I&JK	+/01=	[234 
+)*+7%&[;L:M(NO	+}%1	4k];YG 
++,-9	[./0 
+'3	tK-99E 
+x ,VHd;9:	+	{#/YKkI;!?@	++,-9	[./0 
+()*6_%tK:J9K'LM	r   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        d      |S )Nhandletransparentz5transparent parameter is not supported in Gemini API.r   r   s      r   r   r     sP     !)	+z".XJ[8* =>	+'3
L
MM	r   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        d      |S )Nlanguage_codelanguageCodevoice_configvoiceConfigmulti_speaker_voice_configzCmulti_speaker_voice_config parameter is not supported in Vertex AI.r   r   s      r   r^   r^     s     !)	+()5^$d;8I&JK	+'(4]OT+7G%HI	+456B
M  
r   c           
         i }t        | dg      't        |dgt        | dg      D cg c]  }| c}       t        | dg      t        d      t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      t        |d
gt        | d	g             t        | dg      t        |dgt        | dg             t        | dg      t        d      t        | dg      #t        |dgt        t        | dg      |             t        | dg      #t        |dgt	        t        | dg      |             t        | dg      t        |dgt        | dg             |S c c}w )Nfunction_declarationsfunctionDeclarations	retrievalz3retrieval parameter is not supported in Gemini API.google_search_retrievalgoogleSearchRetrievalcomputer_usecomputerUsefile_search
fileSearchcode_executioncodeExecutionenterprise_web_searchz?enterprise_web_search parameter is not supported in Gemini API.google_maps
googleMapsgoogle_searchgoogleSearchurl_context
urlContext)r   r   r   rd   rj   r!   s       r   r   r     s    !)	+/01=	 {-D,EFG$G 
+}%1
J
KK	+123?	 ![456 
+'(4]OT+7G%HI	+'3\ND}o$FG	+()*6_%tK:J9K'LM	+/01=
I  
+'3	T+?K 
+()5	tK/1BCYO 
+'3\ND}o$FG	Y 	Hs   	Fc                     i }t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        d	      t        | d
g      t        |dgt        | d
g             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S c c}w )Nr  r  r  r  r  r	  r
  r  z4file_search parameter is not supported in Vertex AI.r  r  r  enterpriseWebSearchr  r  r  r  r  r  )r   r   r4   r   r!   s       r   r   r     s    !)	+/01=	  [+B*CD	
 +4;	
 
+}%1[M4k]#CD	+123?	 ![456 
+'(4]OT+7G%HI	+'3
K
LL	+()*6_%tK:J9K'LM	+/01=	[234 
+'3\ND}o$FG	+()5^$d;8I&JK	+'3\ND}o$FG	S	
s   Fc                    i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      t        |d
gt        | d	g             t        | dg      t        |dgt        | dg             t        | dg      't        |dgt        | dg      D cg c]  }| c}       t        | dg      't        |dgt        | dg      D cg c]  }| c}       t        | dg      't        |dgt        | dg      D cg c]  }| c}       t        | dg      't        |dgt        | dg      D cg c]  }| c}       t        | dg      t        |dgt        | dg             |S c c}w c c}w c c}w c c}w )NpromptTokenCountprompt_token_countcachedContentTokenCountcached_content_token_countcandidatesTokenCountresponse_token_counttoolUsePromptTokenCounttool_use_prompt_token_countthoughtsTokenCountthoughts_token_counttotalTokenCounttotal_token_countpromptTokensDetailsprompt_tokens_detailscacheTokensDetailscache_tokens_detailscandidatesTokensDetailsresponse_tokens_detailstoolUsePromptTokensDetailstool_use_prompt_tokens_detailstrafficTypetraffic_typer   r!   s       r   r   r   O  sm    !)	+*+,8	[-./ 
+123?	%&[456 
+./0<	 [123 
+123?	&'[456 
+,-.:	 [/01 
+)*+7'(${=N<O*P 
+-./;	 !{-B,CDE$E 
+,-.:	 {-A,BCD$D 
+123?	"#{-F,GHI$I 
+456B	)*{-I,JKL$L 
+'3^$d;&HI	7 	F 	E 	J 	Ms   	G?	G$3	G)'	G.)N)3typingr   r   r    r   r   _api_clientr   _commonr	   r   r
   r   dictstrobjectr   r#   r)   r4   r_   rd   rj   ro   r}   r   r{   r   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r^   r   r   r    r   r   <module>r7     s
  $ ( '   & . .
 /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^. /3tCH~v-.DcN+ 
#s(^& /3"tCH~v-."DcN+" 
#s(^"N /3ttCH~v-.tDcN+t 
#s(^tr /3tCH~v-.DcN+ 
#s(^  /3tCH~v-.DcN+ 
#s(^2 /3tCH~v-.DcN+ 
#s(^0 /3$$tCH~v-.$ DcN+$ 
#s(^	$T /3tCH~v-. DcN+ 
#s(^	F /3)tCH~v-.)DcN+) 
#s(^)\ /3 tCH~v-. DcN+  
#s(^ L /3DDtCH~v-.D DcN+D 
#s(^	DT /3BBtCH~v-.B DcN+B 
#s(^	BP /3SStCH~v-.S DcN+S 
#s(^	Sr /3TTtCH~v-.T DcN+T 
#s(^	Tt /3tCH~v-. DcN+ 
#s(^	8 /3tCH~v-. DcN+ 
#s(^	6 /3tCH~v-.DcN+ 
#s(^4 /3tCH~v-.DcN+ 
#s(^ /3tCH~v-.DcN+ 
#s(^ /3tCH~v-.DcN+ 
#s(^" /3
tCH~v-.
DcN+
 
#s(^
 /3tCH~v-.DcN+ 
#s(^" /3
tCH~v-.
DcN+
 
#s(^
 /3)tCH~v-.)DcN+) 
#s(^)\ /3tCH~v-.DcN+ 
#s(^F /3(tCH~v-.(DcN+( 
#s(^(Z /37tCH~v-.7DcN+7 
#s(^7x /3tCH~v-.DcN+ 
#s(^  /3tCH~v-.DcN+ 
#s(^* /35tCH~v-.5DcN+5 
#s(^5t /32tCH~v-.2DcN+2 
#s(^2n /3LtCH~v-.LDcN+L 
#s(^Lr   