
    #j                        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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+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-Z2	 d;deeeef         ef         d	eeeef                  d
eeef         fd.Z3	 d;deeeef         ef         d	eeeef                  d
eeef         fd/Z4	 d;deeeef         ef         d	eeeef                  d
eeef         fd0Z5	 d;deeeef         ef         d	eeeef                  d
eeef         fd1Z6	 d;deeeef         ef         d	eeeef                  d
eeef         fd2Z7	 d;deeeef         ef         d	eeeef                  d
eeef         fd3Z8	 d;deeeef         ef         d	eeeef                  d
eeef         fd4Z9	 d;deeeef         ef         d	eeeef                  d
eeef         fd5Z:	 d;deeeef         ef         d	eeeef                  d
eeef         fd6Z;	 d;deeeef         ef         d	eeeef                  d
eeef         fd7Z<	 d;deeeef         ef         d	eeeef                  d
eeef         fd8Z=	 d;deeeef         ef         d	eeeef                  d
eeef         fd9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S )<    )AnyOptionalUnion   )_transformers)BaseApiClient)get_value_by_path)set_value_by_pathNfrom_objectparent_objectreturnc                 J    i }t          | dg          t          d          |S )Nlanguage_codeszvlanguage_codes parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.getv
ValueErrorr   r   	to_objects      e/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/google/genai/_live_converters.py"_AudioTranscriptionConfig_to_mldevr      s<     !)	+()**6
	<  
 
    c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          t          d          t          | dg          t          d          t          | d	g          t          d
          t          | dg          t          d          t          | dg          t          d          |S )Napi_keyapiKeyapi_key_configzvapi_key_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.	auth_typezqauth_type parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.google_service_account_configzgoogle_service_account_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.http_basic_auth_configz~http_basic_auth_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.oauth_configztoauth_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.oidc_configzsoidc_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   setvr   r   s      r   _AuthConfig_to_mldevr#   (   sL    !)	+	{##/XJ[9+ > >???	+()**6
	<  
 
+}%%1
	<  
 
+7899E
	M  
 
+0122>
	M  
 
+'((4
	<  
 
+''3
	<  
 
r   c                    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_nametdisplay_name parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.	mime_typemimeTyper!   r   s      r   _Blob_to_mldevr*   W   s     !)	+x  ,VHd;99:::	+'((4
	<  
 
+}%%1ZL${[M"B"BCCC	r   c           	          i t          | dg          -t          dgfdt          | dg          D                        t          | dg          !t          dgt          | dg                     S )Npartsc                 0    g | ]}t          |          S  )_Part_to_mldev.0itemr   s     r   
<listcomp>z%_Content_to_mldev.<locals>.<listcomp>t   3     	
 	
 	
 4++	
 	
 	
r   roler   r"   r   s     @r   _Content_to_mldevr7   k        !)	+y!!-			
 	
 	
 	
[7)44	
 	
 	
   
+x  ,VHd;99:::	r   c           	          i t          | dg          -t          dgfdt          | dg          D                        t          | dg          !t          dgt          | dg                     S )Nr,   c                 0    g | ]}t          |          S r.   )_Part_to_vertexr0   s     r   r3   z&_Content_to_vertex.<locals>.<listcomp>   s3     	
 	
 	
 D),,	
 	
 	
r   r5   r6   r   s     @r   _Content_to_vertexr<      r8   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                     |S )Nr&   r'   file_urifileUrir(   r)   )r   r   r"   r   s      r   _FileData_to_mldevr@      s     !)	+'((4
	<  
 
+
|$$0YKkJ<!@!@AAA	+}%%1ZL${[M"B"BCCC	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          t          | dg          t          d          |S )Nidargsnamepartial_argsztpartial_args parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.will_continuezuwill_continue parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r!   r   s      r   _FunctionCall_to_mldevrG      s     !)	+v*TFDtf55666	+x  ,VHd;99:::	+x  ,VHd;99:::	+'((4
	<  
 
+())5
	<  
 
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modelConfigresponse_json_schemaresponseJsonSchema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_answerszenable_enhanced_civic_answers parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.)r   r"   _SpeechConfig_to_vertexr   r   s      r   _GenerationConfig_to_vertexrt      sd    !)	+0122>	[3455   
+./00<	[1233   
+)*++7%&[;L:M(N(NOOO	+)*++7%&[;L:M(N(NOOO	+1233?	 ![4566   
++,--9	[./00   
+
|$$0ZL${ZL"A"ABBB	++,--9%&[;N:O(P(P   
+*+,,8%&[;M:N(O(O   
+*+,,8%&[;M:N(O(O   
++,--9	[./00   
+,-..:	[/011   
+-.//;	[0122   
+)*++7%&[;L:M(N(NOOO	+()**6_%tK:J9K'L'LMMM	+x  ,VHd;99:::	+())5	/00)	
 	
   
+()**6_%tK:J9K'L'LMMM	+''3]OT+%G%GHHH	+)*++7%&[;L:M(N(NOOO	+y!!-VHd;	::;;;	+y!!-VHd;	::;;;	+7899E
	M  
 
r   c           
          i }t          | dg          /t          |dgt          t          | dg          |                     t          | dg          !t          |dgt          | dg                     |S )Nauth_config
authConfigenable_widgetenableWidget)r   r"   r#   r   s      r   _GoogleMaps_to_mldevrz   >  s     !)	+''3	T+??KK   
+())5^$d;8I&J&JKKK	r   c                 R   i }t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          t          d          t          | dg          !t          |dgt          | dg                     |S )	Nsearch_typessearchTypesblocking_confidencez{blocking_confidence parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.exclude_domainszwexclude_domains parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.time_range_filtertimeRangeFilterr!   r   s      r   _GoogleSearch_to_mldevr   P  s     !)	+'((4]OT+7G%H%HIII	+-.//;
	B  
 
+)*++7
	<  
 
++,--9%&[;N:O(P(P   
r   c           	          i t          | dg          -t          dgfdt          | dg          D                        t          | dg          !t          dgt          | dg                     S )Nturnsc                 0    g | ]}t          |          S r.   )r7   r0   s     r   r3   z/_LiveClientContent_to_mldev.<locals>.<listcomp>u  s3     	
 	
 	
 dI..	
 	
 	
r   turn_completeturnCompleter6   r   s     @r   _LiveClientContent_to_mldevr   l       !)	+y!!-			
 	
 	
 	
[7)44	
 	
 	
   
+())5^$d;8I&J&JKKK	r   c           	          i t          | dg          -t          dgfdt          | dg          D                        t          | dg          !t          dgt          | dg                     S )Nr   c                 0    g | ]}t          |          S r.   )r<   r0   s     r   r3   z0_LiveClientContent_to_vertex.<locals>.<listcomp>  s3     	
 	
 	
 tY//	
 	
 	
r   r   r   r6   r   s     @r   _LiveClientContent_to_vertexr     r   r   
api_clientc                    i }t          |dg          0t          |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_mldevr   !_LiveClientRealtimeInput_to_mldevr   r   r   r   s       r   _LiveClientMessage_to_mldevr     s4   
 !)	+y!!-		![7)44i	
 	
   
+()**6	#/0119	
 	
   
+()**6	)/0119	
 	
   
+())5^$d;8I&J&JKKK	r   c                    i }t          |dg          0t          |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 r   )r   r"   _LiveClientSetup_to_vertexr   "_LiveClientRealtimeInput_to_vertexr   s       r   _LiveClientMessage_to_vertexr     s4   
 !)	+y!!-		"[7)44i	
 	
   
+()**6	$/0119	
 	
   
+()**6	*/0119	
 	
   
+())5^$d;8I&J&JKKK	r   c           
         i t          | dg          -t          dgfdt          | dg          D                        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 )Nmedia_chunksmediaChunksc                 0    g | ]}t          |          S r.   r*   r0   s     r   r3   z5_LiveClientRealtimeInput_to_mldev.<locals>.<listcomp>  r4   r   audioaudio_stream_endaudioStreamEndvideotextactivity_startactivityStartactivity_endactivityEnd)r   r"   r*   r   s     @r   r   r     s    !)	+'((4		
 	
 	
 	
[>*:;;	
 	
 	
   
+y!!-		tK'33Y??   
+*+,,8%&[;M:N(O(OPPP	+y!!-		tK'33Y??   
+x  ,VHd;99:::	+()**6_%tK:J9K'L'LMMM	+'((4]OT+7G%H%HIII	r   c           	         i }t          | dg          +t          |dgd t          | dg          D                        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 )Nr   r   c                     g | ]}|S r.   r.   r1   r2   s     r   r3   z6_LiveClientRealtimeInput_to_vertex.<locals>.<listcomp>  s    >>>$>>>r   r   r   zxaudio_stream_end parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r   r   r   r   r   r!   r   s      r   r   r     s    !)	+'((4	>>${^,<==>>>   
+y!!-WItK';;<<<	+*+,,8
	?  
 
+y!!-WItK';;<<<	+x  ,VHd;99:::	+()**6_%tK:J9K'L'LMMM	+'((4]OT+7G%H%HIII	r   c                     i t          |dg          !t          dgt          |dg                     t          |dg          !t          dgt          |dg                     t          |dg          At          dgt          t          j        t          |dg                                         t          |dg          At          dg fdt          j         t          |dg                    D                        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          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fdt          |dg          D                        S )Nmodelgeneration_configgenerationConfigsystem_instructionsystemInstructiontoolsc                 V    g | ]%}t          t          j        |                    &S r.   _Tool_to_mldevtt_toolr1   r2   r   r   s     r   r3   z-_LiveClientSetup_to_mldev.<locals>.<listcomp>Q  ?     	
 	
 	
 18J55yAA	
 	
 	
r   session_resumptionsessionResumptioncontext_window_compressioncontextWindowCompressioninput_audio_transcriptioninputAudioTranscriptionoutput_audio_transcriptionoutputAudioTranscriptionproactivityexplicit_vad_signal{explicit_vad_signal parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.history_confighistoryConfigavatar_configavatarConfigsafety_settingssafetySettingsc                 0    g | ]}t          |          S r.   _SafetySetting_to_mldevr0   s     r   r3   z-_LiveClientSetup_to_mldev.<locals>.<listcomp>  3     	
 	
 	
 $D)44	
 	
 	
r   )	r   r"   r7   r   	t_contentt_tools!_SessionResumptionConfig_to_mldevr   r   r   s   `  @r   r   r   4  s   
 !)	+y!!-WItK';;<<<	++,--9	[./00   
+,-..:	K[+?*@AABBI	
 	
   
+y!!-			
 	
 	
 	
 	
	*d;	.J.JKK	
 	
 	
   
+,-..:	)3455y	
 	
   
+4566B	#$[7899   
+3455A	"#*:;<<i	
 	
   
+4566B	#$*;<==y	
 	
   
+''3]OT+%G%GHHH	+-.//;
	B  
 
+()**6_%tK:J9K'L'LMMM	+())5^$d;8I&J&JKKK	+)*++7		
 	
 	
 	
[+<*=>>	
 	
 	
   
r   c                     i t          |dg          !t          dgt          |dg                     t          |dg          /t          dgt          t          |dg                               t          |dg          At          dgt          t	          j        t          |dg                                         t          |dg          At          dg fdt	          j         t          |dg                    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                     t          |dg          t          d          t          |dg          !t          dgt          |dg                     t          |dg          +t          dgd t          |dg          D                        S )Nr   r   r   r   r   r   c                 V    g | ]%}t          t          j        |                    &S r.   _Tool_to_vertexr   r   r   s     r   r3   z._LiveClientSetup_to_vertex.<locals>.<listcomp>  ?     	
 	
 	
 AHZ66	BB	
 	
 	
r   r   r   r   r   r   r   r   r   r   r   explicitVadSignalr   vhistory_config parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r   r   r   c                     g | ]}|S r.   r.   r   s     r   r3   z._LiveClientSetup_to_vertex.<locals>.<listcomp>      AAA$AAAr   )r   r"   rt   r<   r   r   r   r   r   s   `  @r   r   r     s   
 !)	+y!!-WItK';;<<<	++,--9	#2344i	
 	
   
+,-..:	K[+?*@AABBI	
 	
   
+y!!-			
 	
 	
 	
 	
	*d;	.J.JKK	
 	
 	
   
+,-..:	[/011   
+4566B	#$[7899   
+3455A	"#[6788   
+4566B	#$[7899   
+''3]OT+%G%GHHH	+-.//;	[0122   
+()**6
	?  
 
+())5^$d;8I&J&JKKK	+)*++7	AA${->,?@@AAA   
r   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          4t          |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          Bt          |ddgt	          t          j        t          |dg                                         t          |dg          Bt          |ddg fdt          j         t          |dg                    D                        t          |dg          0t          |ddgt          t          |dg                               t          |dg          0t          |ddgt          t          |dg                               t          |d g          0t          |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(          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fd/t          |d-g          D                        S )0Nr   r   r   r`   r   r   ra   rk   r   r   rk   rp   r   r   rq   rn   r   r   ro   rV   r   r   rW   rX   r   r   rY   rf   r   r   rf   rg   r   r   rh   rl   r   r   rm   rQ   r   r   rR   r   r   r   c                 V    g | ]%}t          t          j        |                    &S r.   r   r   s     r   r3   z/_LiveConnectConfig_to_mldev.<locals>.<listcomp>T  r   r   r   r   r   r   r   r   realtime_input_configrealtimeInputConfigr   r   r   r   r   r   r   r   r   r   r   c                 0    g | ]}t          |          S r.   r   r0   s     r   r3   z/_LiveConnectConfig_to_mldev.<locals>.<listcomp>  r   r   )
r   r"   r   t_live_speech_configr7   r   r   r   r   r   r   s   `  @r   _LiveConnectConfig_to_mldevr     s   
 !)	++,--9	$%[./00   
+-.//;;;;[0122   
+''3444[=/**   
+y!!----[7)$$   
+y!!----[7)$$   
++,--9888[./00   
+*+,,8888[-.//   
+x  ,---[6(##   
+())5555	tK/1BCCDD   
+)*++7777[,-..   
+1233?>>>[4566   
+,-..:	%&K[+?*@AABBI	
 	
   
+y!!-	'	
 	
 	
 	
 	
	*d;	.J.JKK	
 	
 	
   
+,-..:	%&)3455y	
 	
   
+3455A	+,*:;<<i	
 	
   
+4566B	,-*;<==y	
 	
   
+/011=	'([2344   
+4566B	,-[7899   
+''3	- [=/**   
+-.//;
	B  
 
+()**6	/"[+,--   
+())5	.![?+,,   
+)*++7	"#	
 	
 	
 	
[+<*=>>	
 	
 	
   
r   c                 
    i t          |dg          0t          |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          Bt          |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          Bt          |ddgt          t	          j        t          |dg                                         t          |dg          Bt          |ddg fdt	          j         t          |dg                    D                        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                     t          |d'g          "t          |dd(gt          |d'g                     t          |d)g          t          d*          t          |d+g          "t          |dd,gt          |d+g                     t          |d-g          ,t          |dd.gd/ t          |d-g          D                        S )0Nr   r   r   r`   r   rk   r   rp   r   rn   r   rV   r   rX   r   rf   r   rg   r   rl   r   rQ   r   r   r   r   c                 V    g | ]%}t          t          j        |                    &S r.   r   r   s     r   r3   z0_LiveConnectConfig_to_vertex.<locals>.<listcomp>  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                     g | ]}|S r.   r.   r   s     r   r3   z0_LiveConnectConfig_to_vertex.<locals>.<listcomp>Y  r   r   )
r   r"   rt   rs   r   r   r<   r   r   r   r   s   `  @r   _LiveConnectConfig_to_vertexr     s   
 !)	++,--9	$%#2344i	
 	
   
+-.//;;;;[0122   
+''3444[=/**   
+y!!----[7)$$   
+y!!----[7)$$   
++,--9888[./00   
+*+,,8888[-.//   
+x  ,---[6(##   
+())5555"4o5F#G#GHH	
 	
   
+)*++7777[,-..   
+1233?>>>[4566   
+,-..:	%&K[+?*@AABBI	
 	
   
+y!!-	'	
 	
 	
 	
 	
	*d;	.J.JKK	
 	
 	
   
+,-..:	%&[/011   
+3455A	+,[6788   
+4566B	,-[7899   
+/011=	'([2344   
+4566B	,-[7899   
+''3	- [=/**   
+-.//;	%&[0122   
+()**6
	?  
 
+())5	.![?+,,   
+)*++7	"#AA${->,?@@AAA   
r   c                    i }t          |dg          5t          |ddgt          j        | t          |dg                               t          |dg          0t          |dgt	          | t          |dg          |                     |S Nr   r   config)r   r"   r   t_modelr   r   s       r   _LiveConnectParameters_to_mldevr   _  s    
 !)	+y!!-	'		*d;	::;;   
+z"".	
#[8*55y	
 	
   
r   c                    i }t          |dg          5t          |ddgt          j        | t          |dg                               t          |dg          0t          |dgt	          | t          |dg          |                     |S r   )r   r"   r   r   r   r   s       r    _LiveConnectParameters_to_vertexr   x  s    
 !)	+y!!-	'		*d;	::;;   
+z"".	
$[8*5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 )	Nr   zmsetup parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   zvclient_content parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.music_generation_configmusic_generation_config parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.playback_controlzxplayback_control parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r   s      r   !_LiveMusicClientMessage_to_vertexr     s     !)	+y!!-
	2  
 
+()**6
	?  
 
+1233?
	M  
 
+*+,,8
	?  
 
r   c                 p    i }t          | dg          "t          |ddgt          | dg                     |S )Nr   r   r6   r   s      r   $_LiveMusicConnectParameters_to_mldevr    sD     !)	+y!!-Wg&[7)(D(DEEE	r   c                 J    i }t          | dg          t          d          |S )Nr   zmmodel parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r   s      r   %_LiveMusicConnectParameters_to_vertexr    s:     !)	+y!!-
	2  
 
r   c                 n    i }t          | dg          !t          |dgt          | dg                     |S )Nr   musicGenerationConfigr6   r   s      r   &_LiveMusicSetConfigParameters_to_mldevr    sQ     !)	+1233?	 ![4566   
r   c                 J    i }t          | dg          t          d          |S )Nr   r   r   r   s      r   '_LiveMusicSetConfigParameters_to_vertexr    s=     !)	+1233?
	M  
 
r   c           	          i }t          | dg          +t          |dgd t          | dg          D                        |S )Nweighted_promptsweightedPromptsc                     g | ]}|S r.   r.   r   s     r   r3   zC_LiveMusicSetWeightedPromptsParameters_to_mldev.<locals>.<listcomp>      BBB$BBBr   r6   r   s      r   /_LiveMusicSetWeightedPromptsParameters_to_mldevr    s_     !)	+*+,,8	BB${-?,@AABBB   
r   c                 J    i }t          | dg          t          d          |S )Nr
  zxweighted_prompts parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r   s      r   0_LiveMusicSetWeightedPromptsParameters_to_vertexr    s<     !)	+*+,,8
	?  
 
r   c                    i t          | dg          ?t          dgfdt          j        t          | dg                    D                        t          | dg          At          dgt	          t          j        t          | dg                                         t          | dg          !t          dgt          | dg                     t          | dg          At          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 )Nmediar   c                 0    g | ]}t          |          S r.   r   r0   s     r   r3   z=_LiveSendRealtimeInputParameters_to_mldev.<locals>.<listcomp>  r4   r   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">">??	
 	
 	
   
+y!!-		q~d;	&B&BCCYOO   
+*+,,8%&[;M:N(O(OPPP	+y!!-		q~d;	&B&BCCYOO   
+x  ,VHd;99:::	+()**6_%tK:J9K'L'LMMM	+'((4]OT+7G%H%HIII	r   c                 F   i }t          | dg          =t          |dgd t          j        t          | dg                    D                        t          | dg          3t          |dgt          j        t          | dg                               t          | dg          !t          |dgt          | dg                     t          | dg          3t          |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 )Nr  r   c                     g | ]}|S r.   r.   r   s     r   r3   z>_LiveSendRealtimeInputParameters_to_vertex.<locals>.<listcomp>9  r  r   r   r   r   r   r   r   r   r   r   )r   r"   r   r  r  r  r   s      r   *_LiveSendRealtimeInputParameters_to_vertexr  0  s    !)	+y!!-	BB!)Dwi$@$@AABBB   
+y!!-WIq~d;	.J.JKKLLL	+*+,,8%&[;M:N(O(OPPP	+y!!-WIq~d;	.J.JKKLLL	+x  ,VHd;99:::	+()**6_%tK:J9K'L'LMMM	+'((4]OT+7G%H%HIII	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          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voiceActivityDetectionSignalvoice_activity_detection_signalvoiceActivityvoice_activity)r   r"   _VoiceActivity_from_mldevr   s      r   _LiveServerMessage_from_mldevr0  Q  s*    !)	+())5%&[?:K(L(LMMM	+())5%&[?:K(L(LMMM	+
|$$0[M4j\#B#BCCC	+./00<	!"[1233   
+())5%&[?:K(L(LMMM	+z"".YKkH:!>!>???	+1233?	$%[4566   
+6788D	*+[9:;;   
+())5	!/00)	
 	
   
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          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          |                     |S r  )r   r"   _UsageMetadata_from_vertex_VoiceActivity_from_vertexr   s      r   _LiveServerMessage_from_vertexr4    sC    !)	+())5%&[?:K(L(LMMM	+())5%&[?:K(L(LMMM	+
|$$0[M4j\#B#BCCC	+./00<	!"[1233   
+())5	"/00)	
 	
   
+z"".YKkH:!>!>???	+1233?	$%[4566   
+6788D	*+[9:;;   
+())5	"/00)	
 	
   
r   c           	          i t          | dg          -t          dgfdt          | dg          D                        S )Nspeaker_voice_configsspeakerVoiceConfigsc                 0    g | ]}t          |          S r.   )_SpeakerVoiceConfig_to_vertexr0   s     r   r3   z6_MultiSpeakerVoiceConfig_to_vertex.<locals>.<listcomp>  s3     	
 	
 	
 *$	::	
 	
 	
r   r6   r   s     @r   "_MultiSpeakerVoiceConfig_to_vertexr:    su     !)	+/011=		
 	
 	
 	
[+B*CDD	
 	
 	
   
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          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gt          | dg                     t          | dg          !t          |dgt          | dg                     |S )NrX   rY   code_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_callfunctionCallfunction_responsefunctionResponseinline_data
inlineDatar   thoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadatar"  r!  r   r   part_metadatapartMetadata)r   r"   r@   rG   r*   r   s      r   r/   r/     s]    !)	+*+,,8%&[;M:N(O(O   
+/011=	[2344   
+)*++7%&[;L:M(N(NOOO	+}%%1	4k];;YGG   
+())5	tK/1BCCYOO   
++,--9	[./00   
+''3	tK-999EE   
+x  ,VHd;99:::	+	{##/YKkI;!?!?@@@	++,--9	[./00   
+()**6_%tK:J9K'L'LMMM	+}%%1ZL${[M"B"BCCC	+())5^$d;8I&J&JKKK	+())5^$d;8I&J&JKKK	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          t          | dg          t          d          t          | dg          t          d          |S )NrX   rY   r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  r   rH  rI  rJ  rK  rL  r"  zqtool_call parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   zutool_response parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.rM  zupart_metadata parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r!   r   s      r   r;   r;     s    !)	+*+,,8%&[;M:N(O(O   
+/011=	[2344   
+)*++7%&[;L:M(N(NOOO	+}%%1ZL${[M"B"BCCC	+())5^$d;8I&J&JKKK	++,--9	[./00   
+''3\ND}o$F$FGGG	+x  ,VHd;99:::	+	{##/YKkI;!?!?@@@	++,--9	[./00   
+()**6_%tK:J9K'L'LMMM	+}%%1
	9  
 
+())5
	?  
 
+())5
	?  
 
r   c                 R   i }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          |S )	Nr(   r)   voice_sample_audiovoiceSampleAudioconsent_audiozuconsent_audio parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.voice_consent_signaturezvoice_consent_signature parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r!   r   s      r    _ReplicatedVoiceConfig_to_vertexrU  h  s     !)	+}%%1ZL${[M"B"BCCC	+,-..:	[/011   
+())5
	?  
 
+1233?
	M  
 
r   c                    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categorymethodznmethod parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.	thresholdr!   r   s      r   r   r     s     !)	+
|$$0ZL${ZL"A"ABBB	+z"".
	3  
 
+}%%1[M4k]#C#CDDD	r   c                     i }t          | dg          !t          |dgt          | dg                     t          | dg          t          d          |S )Nhandletransparentzstransparent parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r!   r   s      r   r   r     sl     !)	+z"".XJ[8* = =>>>	+''3
	<  
 
r   c           
          i }t          | dg          !t          |dgt          | dg                     t          | dg          /t          |dgt          t          | dg          |                     |S )Nspeakervoice_configvoiceConfig)r   r"   _VoiceConfig_to_vertexr   s      r   r9  r9    s     !)	+	{##/YKkI;!?!?@@@	+'((4	tK.1ABBINN   
r   c           
      n   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          |                     |S )Nr_  r`  language_codelanguageCodemulti_speaker_voice_configmultiSpeakerVoiceConfig)r   r"   ra  r:  r   s      r   rs   rs     s     !)	+'((4	tK.1ABBINN   
+())5^$d;8I&J&JKKK	+4566B	"#*;<==y	
 	
   
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          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          t          | dg          +t          |dgd t          | dg          D                        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d t          | dg          D                        |S )N	retrievalzqretrieval parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.computer_usecomputerUsefile_search
fileSearchgoogle_searchgoogleSearchgoogle_maps
googleMapscode_executioncodeExecutionenterprise_web_searchz}enterprise_web_search parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.function_declarationsfunctionDeclarationsc                     g | ]}|S r.   r.   r   s     r   r3   z"_Tool_to_mldev.<locals>.<listcomp>      GGG$GGGr   google_search_retrievalgoogleSearchRetrievalparallel_ai_searchzzparallel_ai_search parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.url_context
urlContextmcp_servers
mcpServersc                     g | ]}|S r.   r.   r   s     r   r3   z"_Tool_to_mldev.<locals>.<listcomp>  s    ===$===r   )r   r   r"   r   rz   r   s      r   r   r     s    !)	+}%%1
	<  
 
+'((4]OT+7G%H%HIII	+''3\ND}o$F$FGGG	+())5	tK/1BCCYOO   
+''3	T+??KK   
+()**6_%tK:J9K'L'LMMM	+/011=
	B  
 
+/011=	 GG${-D,EFFGGG   
+1233?	 ![4566   
+,-..:
	B  
 
+''3\ND}o$F$FGGG	+''3	==${]O<<===   
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          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 t          | dg          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          |S )Nrh  ri  rj  rk  zsfile_search parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.rm  rn  ro  rp  rq  rr  rs  enterpriseWebSearchrt  ru  c                     g | ]}|S r.   r.   r   s     r   r3   z#_Tool_to_vertex.<locals>.<listcomp>F  rw  r   rx  ry  rz  parallelAiSearchr{  r|  r}  zsmcp_servers parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r!   r   s      r   r   r   !  s    !)	+}%%1[M4k]#C#CDDD	+'((4]OT+7G%H%HIII	+''3
	9  
 
+())5^$d;8I&J&JKKK	+''3\ND}o$F$FGGG	+()**6_%tK:J9K'L'LMMM	+/011=	[2344   
+/011=	 GG${-D,EFFGGG   
+1233?	 ![4566   
+,-..:	[/011   
+''3\ND}o$F$FGGG	+''3
	9  
 
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d t          | dg          D                        t          | dg          +t          |dgd t          | dg          D                        t          | dg          +t          |dgd t          | dg          D                        t          | dg          +t          |dgd t          | dg          D                        t          | dg          !t          |dgt          | dg                     |S )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_detailsc                     g | ]}|S r.   r.   r   s     r   r3   z._UsageMetadata_from_vertex.<locals>.<listcomp>  s    EEE$EEEr   cacheTokensDetailscache_tokens_detailsc                     g | ]}|S r.   r.   r   s     r   r3   z._UsageMetadata_from_vertex.<locals>.<listcomp>  s    DDD$DDDr   candidatesTokensDetailsresponse_tokens_detailsc                     g | ]}|S r.   r.   r   s     r   r3   z._UsageMetadata_from_vertex.<locals>.<listcomp>  s    III$IIIr   toolUsePromptTokensDetailstool_use_prompt_tokens_detailsc                     g | ]}|S r.   r.   r   s     r   r3   z._UsageMetadata_from_vertex.<locals>.<listcomp>  s    LLL$LLLr   trafficTypetraffic_typer6   r   s      r   r2  r2  c  s    !)	+*+,,8	[-.//   
+1233?	%&[4566   
+./00<	 [1233   
+1233?	&'[4566   
+,-..:	 [/011   
+)*++7'(${=N<O*P*P   
+-.//;	 !EE${-B,CDDEEE   
+,-..:	 DD${-A,BCCDDD   
+1233?	"#II${-F,GHHIII   
+4566B	)*LL${-I,JKKLLL   
+''3^$d;&H&HIII	r   c                 n    i }t          | dg          !t          |dgt          | dg                     |S Ntypevoice_activity_typer6   r   s      r   r/  r/    C     !)	+x  ,*+T+x-H-HIII	r   c                 n    i }t          | dg          !t          |dgt          | dg                     |S r  r6   r   s      r   r3  r3    r  r   c           
          i }t          | dg          /t          |dgt          t          | dg          |                     t          | dg          !t          |dgt          | dg                     |S )Nreplicated_voice_configreplicatedVoiceConfigprebuilt_voice_configprebuiltVoiceConfig)r   r"   rU  r   s      r   ra  ra    s     !)	+1233?	 !(89::I	
 	
   
+/011=	[2344   
r   )N)@typingr   r   r    r   r   _api_clientr   _commonr	   r   r
   r"   dictstrobjectr   r#   r*   r7   r<   r@   rG   rt   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r0  r4  r:  r/   r;   rU  r   r   r9  rs   r   r   r2  r/  r3  ra  r.   r   r   <module>r     s  $ ( ' ' ' ' ' ' ' ' '             & & & & & & . . . . . . . . . . . .
 /3 tCH~v-.DcN+ 
#s(^     /3, ,tCH~v-.,DcN+, 
#s(^, , , ,b /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u utCH~v-.uDcN+u 
#s(^u u u ut /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(^   0 /3$ $$tCH~v-.$ DcN+$ 
#s(^	$ $ $ $T /3$ $$tCH~v-.$ DcN+$ 
#s(^	$ $ $ $R /3) )tCH~v-.)DcN+) 
#s(^) ) ) )\ /3! !tCH~v-.!DcN+! 
#s(^! ! ! !N /3^ ^^tCH~v-.^ DcN+^ 
#s(^	^ ^ ^ ^H /3[ [[tCH~v-.[ DcN+[ 
#s(^	[ [ [ [B /3u uutCH~v-.u DcN+u 
#s(^	u u u uv /3q qqtCH~v-.q DcN+q 
#s(^	q q q qn /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(^   D /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2 2tCH~v-.2DcN+2 
#s(^2 2 2 2n /38 8tCH~v-.8DcN+8 
#s(^8 8 8 8z /3 tCH~v-.DcN+ 
#s(^   ( /3I ItCH~v-.IDcN+I 
#s(^I I I I\ /3F FtCH~v-.FDcN+F 
#s(^F F F FV /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F FtCH~v-.FDcN+F 
#s(^F F F FV /3? ?tCH~v-.?DcN+? 
#s(^? ? ? ?H /3L LtCH~v-.LDcN+L 
#s(^L L L Lb /3 tCH~v-.DcN+ 
#s(^    /3 tCH~v-.DcN+ 
#s(^    /3 tCH~v-.DcN+ 
#s(^     r   