1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/translate/v3/translation_service.proto
20
21package translate
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	longrunning "google.golang.org/genproto/googleapis/longrunning"
30	_ "google.golang.org/genproto/googleapis/rpc/status"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	_ "google.golang.org/protobuf/types/known/emptypb"
37	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// State of the job.
48type BatchTranslateMetadata_State int32
49
50const (
51	// Invalid.
52	BatchTranslateMetadata_STATE_UNSPECIFIED BatchTranslateMetadata_State = 0
53	// Request is being processed.
54	BatchTranslateMetadata_RUNNING BatchTranslateMetadata_State = 1
55	// The batch is processed, and at least one item was successfully
56	// processed.
57	BatchTranslateMetadata_SUCCEEDED BatchTranslateMetadata_State = 2
58	// The batch is done and no item was successfully processed.
59	BatchTranslateMetadata_FAILED BatchTranslateMetadata_State = 3
60	// Request is in the process of being canceled after caller invoked
61	// longrunning.Operations.CancelOperation on the request id.
62	BatchTranslateMetadata_CANCELLING BatchTranslateMetadata_State = 4
63	// The batch is done after the user has called the
64	// longrunning.Operations.CancelOperation. Any records processed before the
65	// cancel command are output as specified in the request.
66	BatchTranslateMetadata_CANCELLED BatchTranslateMetadata_State = 5
67)
68
69// Enum value maps for BatchTranslateMetadata_State.
70var (
71	BatchTranslateMetadata_State_name = map[int32]string{
72		0: "STATE_UNSPECIFIED",
73		1: "RUNNING",
74		2: "SUCCEEDED",
75		3: "FAILED",
76		4: "CANCELLING",
77		5: "CANCELLED",
78	}
79	BatchTranslateMetadata_State_value = map[string]int32{
80		"STATE_UNSPECIFIED": 0,
81		"RUNNING":           1,
82		"SUCCEEDED":         2,
83		"FAILED":            3,
84		"CANCELLING":        4,
85		"CANCELLED":         5,
86	}
87)
88
89func (x BatchTranslateMetadata_State) Enum() *BatchTranslateMetadata_State {
90	p := new(BatchTranslateMetadata_State)
91	*p = x
92	return p
93}
94
95func (x BatchTranslateMetadata_State) String() string {
96	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
97}
98
99func (BatchTranslateMetadata_State) Descriptor() protoreflect.EnumDescriptor {
100	return file_google_cloud_translate_v3_translation_service_proto_enumTypes[0].Descriptor()
101}
102
103func (BatchTranslateMetadata_State) Type() protoreflect.EnumType {
104	return &file_google_cloud_translate_v3_translation_service_proto_enumTypes[0]
105}
106
107func (x BatchTranslateMetadata_State) Number() protoreflect.EnumNumber {
108	return protoreflect.EnumNumber(x)
109}
110
111// Deprecated: Use BatchTranslateMetadata_State.Descriptor instead.
112func (BatchTranslateMetadata_State) EnumDescriptor() ([]byte, []int) {
113	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{20, 0}
114}
115
116// Enumerates the possible states that the creation request can be in.
117type CreateGlossaryMetadata_State int32
118
119const (
120	// Invalid.
121	CreateGlossaryMetadata_STATE_UNSPECIFIED CreateGlossaryMetadata_State = 0
122	// Request is being processed.
123	CreateGlossaryMetadata_RUNNING CreateGlossaryMetadata_State = 1
124	// The glossary was successfully created.
125	CreateGlossaryMetadata_SUCCEEDED CreateGlossaryMetadata_State = 2
126	// Failed to create the glossary.
127	CreateGlossaryMetadata_FAILED CreateGlossaryMetadata_State = 3
128	// Request is in the process of being canceled after caller invoked
129	// longrunning.Operations.CancelOperation on the request id.
130	CreateGlossaryMetadata_CANCELLING CreateGlossaryMetadata_State = 4
131	// The glossary creation request was successfully canceled.
132	CreateGlossaryMetadata_CANCELLED CreateGlossaryMetadata_State = 5
133)
134
135// Enum value maps for CreateGlossaryMetadata_State.
136var (
137	CreateGlossaryMetadata_State_name = map[int32]string{
138		0: "STATE_UNSPECIFIED",
139		1: "RUNNING",
140		2: "SUCCEEDED",
141		3: "FAILED",
142		4: "CANCELLING",
143		5: "CANCELLED",
144	}
145	CreateGlossaryMetadata_State_value = map[string]int32{
146		"STATE_UNSPECIFIED": 0,
147		"RUNNING":           1,
148		"SUCCEEDED":         2,
149		"FAILED":            3,
150		"CANCELLING":        4,
151		"CANCELLED":         5,
152	}
153)
154
155func (x CreateGlossaryMetadata_State) Enum() *CreateGlossaryMetadata_State {
156	p := new(CreateGlossaryMetadata_State)
157	*p = x
158	return p
159}
160
161func (x CreateGlossaryMetadata_State) String() string {
162	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
163}
164
165func (CreateGlossaryMetadata_State) Descriptor() protoreflect.EnumDescriptor {
166	return file_google_cloud_translate_v3_translation_service_proto_enumTypes[1].Descriptor()
167}
168
169func (CreateGlossaryMetadata_State) Type() protoreflect.EnumType {
170	return &file_google_cloud_translate_v3_translation_service_proto_enumTypes[1]
171}
172
173func (x CreateGlossaryMetadata_State) Number() protoreflect.EnumNumber {
174	return protoreflect.EnumNumber(x)
175}
176
177// Deprecated: Use CreateGlossaryMetadata_State.Descriptor instead.
178func (CreateGlossaryMetadata_State) EnumDescriptor() ([]byte, []int) {
179	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{29, 0}
180}
181
182// Enumerates the possible states that the creation request can be in.
183type DeleteGlossaryMetadata_State int32
184
185const (
186	// Invalid.
187	DeleteGlossaryMetadata_STATE_UNSPECIFIED DeleteGlossaryMetadata_State = 0
188	// Request is being processed.
189	DeleteGlossaryMetadata_RUNNING DeleteGlossaryMetadata_State = 1
190	// The glossary was successfully deleted.
191	DeleteGlossaryMetadata_SUCCEEDED DeleteGlossaryMetadata_State = 2
192	// Failed to delete the glossary.
193	DeleteGlossaryMetadata_FAILED DeleteGlossaryMetadata_State = 3
194	// Request is in the process of being canceled after caller invoked
195	// longrunning.Operations.CancelOperation on the request id.
196	DeleteGlossaryMetadata_CANCELLING DeleteGlossaryMetadata_State = 4
197	// The glossary deletion request was successfully canceled.
198	DeleteGlossaryMetadata_CANCELLED DeleteGlossaryMetadata_State = 5
199)
200
201// Enum value maps for DeleteGlossaryMetadata_State.
202var (
203	DeleteGlossaryMetadata_State_name = map[int32]string{
204		0: "STATE_UNSPECIFIED",
205		1: "RUNNING",
206		2: "SUCCEEDED",
207		3: "FAILED",
208		4: "CANCELLING",
209		5: "CANCELLED",
210	}
211	DeleteGlossaryMetadata_State_value = map[string]int32{
212		"STATE_UNSPECIFIED": 0,
213		"RUNNING":           1,
214		"SUCCEEDED":         2,
215		"FAILED":            3,
216		"CANCELLING":        4,
217		"CANCELLED":         5,
218	}
219)
220
221func (x DeleteGlossaryMetadata_State) Enum() *DeleteGlossaryMetadata_State {
222	p := new(DeleteGlossaryMetadata_State)
223	*p = x
224	return p
225}
226
227func (x DeleteGlossaryMetadata_State) String() string {
228	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
229}
230
231func (DeleteGlossaryMetadata_State) Descriptor() protoreflect.EnumDescriptor {
232	return file_google_cloud_translate_v3_translation_service_proto_enumTypes[2].Descriptor()
233}
234
235func (DeleteGlossaryMetadata_State) Type() protoreflect.EnumType {
236	return &file_google_cloud_translate_v3_translation_service_proto_enumTypes[2]
237}
238
239func (x DeleteGlossaryMetadata_State) Number() protoreflect.EnumNumber {
240	return protoreflect.EnumNumber(x)
241}
242
243// Deprecated: Use DeleteGlossaryMetadata_State.Descriptor instead.
244func (DeleteGlossaryMetadata_State) EnumDescriptor() ([]byte, []int) {
245	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{30, 0}
246}
247
248// State of the job.
249type BatchTranslateDocumentMetadata_State int32
250
251const (
252	// Invalid.
253	BatchTranslateDocumentMetadata_STATE_UNSPECIFIED BatchTranslateDocumentMetadata_State = 0
254	// Request is being processed.
255	BatchTranslateDocumentMetadata_RUNNING BatchTranslateDocumentMetadata_State = 1
256	// The batch is processed, and at least one item was successfully processed.
257	BatchTranslateDocumentMetadata_SUCCEEDED BatchTranslateDocumentMetadata_State = 2
258	// The batch is done and no item was successfully processed.
259	BatchTranslateDocumentMetadata_FAILED BatchTranslateDocumentMetadata_State = 3
260	// Request is in the process of being canceled after caller invoked
261	// longrunning.Operations.CancelOperation on the request id.
262	BatchTranslateDocumentMetadata_CANCELLING BatchTranslateDocumentMetadata_State = 4
263	// The batch is done after the user has called the
264	// longrunning.Operations.CancelOperation. Any records processed before the
265	// cancel command are output as specified in the request.
266	BatchTranslateDocumentMetadata_CANCELLED BatchTranslateDocumentMetadata_State = 5
267)
268
269// Enum value maps for BatchTranslateDocumentMetadata_State.
270var (
271	BatchTranslateDocumentMetadata_State_name = map[int32]string{
272		0: "STATE_UNSPECIFIED",
273		1: "RUNNING",
274		2: "SUCCEEDED",
275		3: "FAILED",
276		4: "CANCELLING",
277		5: "CANCELLED",
278	}
279	BatchTranslateDocumentMetadata_State_value = map[string]int32{
280		"STATE_UNSPECIFIED": 0,
281		"RUNNING":           1,
282		"SUCCEEDED":         2,
283		"FAILED":            3,
284		"CANCELLING":        4,
285		"CANCELLED":         5,
286	}
287)
288
289func (x BatchTranslateDocumentMetadata_State) Enum() *BatchTranslateDocumentMetadata_State {
290	p := new(BatchTranslateDocumentMetadata_State)
291	*p = x
292	return p
293}
294
295func (x BatchTranslateDocumentMetadata_State) String() string {
296	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
297}
298
299func (BatchTranslateDocumentMetadata_State) Descriptor() protoreflect.EnumDescriptor {
300	return file_google_cloud_translate_v3_translation_service_proto_enumTypes[3].Descriptor()
301}
302
303func (BatchTranslateDocumentMetadata_State) Type() protoreflect.EnumType {
304	return &file_google_cloud_translate_v3_translation_service_proto_enumTypes[3]
305}
306
307func (x BatchTranslateDocumentMetadata_State) Number() protoreflect.EnumNumber {
308	return protoreflect.EnumNumber(x)
309}
310
311// Deprecated: Use BatchTranslateDocumentMetadata_State.Descriptor instead.
312func (BatchTranslateDocumentMetadata_State) EnumDescriptor() ([]byte, []int) {
313	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{36, 0}
314}
315
316// Configures which glossary should be used for a specific target language,
317// and defines options for applying that glossary.
318type TranslateTextGlossaryConfig struct {
319	state         protoimpl.MessageState
320	sizeCache     protoimpl.SizeCache
321	unknownFields protoimpl.UnknownFields
322
323	// Required. The `glossary` to be applied for this translation.
324	//
325	// The format depends on glossary:
326	//
327	// - User provided custom glossary:
328	//   `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`
329	Glossary string `protobuf:"bytes,1,opt,name=glossary,proto3" json:"glossary,omitempty"`
330	// Optional. Indicates match is case-insensitive.
331	// Default value is false if missing.
332	IgnoreCase bool `protobuf:"varint,2,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"`
333}
334
335func (x *TranslateTextGlossaryConfig) Reset() {
336	*x = TranslateTextGlossaryConfig{}
337	if protoimpl.UnsafeEnabled {
338		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[0]
339		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
340		ms.StoreMessageInfo(mi)
341	}
342}
343
344func (x *TranslateTextGlossaryConfig) String() string {
345	return protoimpl.X.MessageStringOf(x)
346}
347
348func (*TranslateTextGlossaryConfig) ProtoMessage() {}
349
350func (x *TranslateTextGlossaryConfig) ProtoReflect() protoreflect.Message {
351	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[0]
352	if protoimpl.UnsafeEnabled && x != nil {
353		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
354		if ms.LoadMessageInfo() == nil {
355			ms.StoreMessageInfo(mi)
356		}
357		return ms
358	}
359	return mi.MessageOf(x)
360}
361
362// Deprecated: Use TranslateTextGlossaryConfig.ProtoReflect.Descriptor instead.
363func (*TranslateTextGlossaryConfig) Descriptor() ([]byte, []int) {
364	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{0}
365}
366
367func (x *TranslateTextGlossaryConfig) GetGlossary() string {
368	if x != nil {
369		return x.Glossary
370	}
371	return ""
372}
373
374func (x *TranslateTextGlossaryConfig) GetIgnoreCase() bool {
375	if x != nil {
376		return x.IgnoreCase
377	}
378	return false
379}
380
381// The request message for synchronous translation.
382type TranslateTextRequest struct {
383	state         protoimpl.MessageState
384	sizeCache     protoimpl.SizeCache
385	unknownFields protoimpl.UnknownFields
386
387	// Required. The content of the input in string format.
388	// We recommend the total content be less than 30k codepoints. The max length
389	// of this field is 1024.
390	// Use BatchTranslateText for larger text.
391	Contents []string `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"`
392	// Optional. The format of the source text, for example, "text/html",
393	//  "text/plain". If left blank, the MIME type defaults to "text/html".
394	MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
395	// Optional. The BCP-47 language code of the input text if
396	// known, for example, "en-US" or "sr-Latn". Supported language codes are
397	// listed in Language Support. If the source language isn't specified, the API
398	// attempts to identify the source language automatically and returns the
399	// source language within the response.
400	SourceLanguageCode string `protobuf:"bytes,4,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
401	// Required. The BCP-47 language code to use for translation of the input
402	// text, set to one of the language codes listed in Language Support.
403	TargetLanguageCode string `protobuf:"bytes,5,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"`
404	// Required. Project or location to make a call. Must refer to a caller's
405	// project.
406	//
407	// Format: `projects/{project-number-or-id}` or
408	// `projects/{project-number-or-id}/locations/{location-id}`.
409	//
410	// For global calls, use `projects/{project-number-or-id}/locations/global` or
411	// `projects/{project-number-or-id}`.
412	//
413	// Non-global location is required for requests using AutoML models or
414	// custom glossaries.
415	//
416	// Models and glossaries must be within the same region (have same
417	// location-id), otherwise an INVALID_ARGUMENT (400) error is returned.
418	Parent string `protobuf:"bytes,8,opt,name=parent,proto3" json:"parent,omitempty"`
419	// Optional. The `model` type requested for this translation.
420	//
421	// The format depends on model type:
422	//
423	// - AutoML Translation models:
424	//   `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
425	//
426	// - General (built-in) models:
427	//   `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
428	//
429	//
430	// For global (non-regionalized) requests, use `location-id` `global`.
431	// For example,
432	// `projects/{project-number-or-id}/locations/global/models/general/nmt`.
433	//
434	// If not provided, the default Google model (NMT) will be used.
435	Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
436	// Optional. Glossary to be applied. The glossary must be
437	// within the same region (have the same location-id) as the model, otherwise
438	// an INVALID_ARGUMENT (400) error is returned.
439	GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,7,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"`
440	// Optional. The labels with user-defined metadata for the request.
441	//
442	// Label keys and values can be no longer than 63 characters
443	// (Unicode codepoints), can only contain lowercase letters, numeric
444	// characters, underscores and dashes. International characters are allowed.
445	// Label values are optional. Label keys must start with a letter.
446	//
447	// See https://cloud.google.com/translate/docs/advanced/labels for more
448	// information.
449	Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
450}
451
452func (x *TranslateTextRequest) Reset() {
453	*x = TranslateTextRequest{}
454	if protoimpl.UnsafeEnabled {
455		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[1]
456		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
457		ms.StoreMessageInfo(mi)
458	}
459}
460
461func (x *TranslateTextRequest) String() string {
462	return protoimpl.X.MessageStringOf(x)
463}
464
465func (*TranslateTextRequest) ProtoMessage() {}
466
467func (x *TranslateTextRequest) ProtoReflect() protoreflect.Message {
468	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[1]
469	if protoimpl.UnsafeEnabled && x != nil {
470		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
471		if ms.LoadMessageInfo() == nil {
472			ms.StoreMessageInfo(mi)
473		}
474		return ms
475	}
476	return mi.MessageOf(x)
477}
478
479// Deprecated: Use TranslateTextRequest.ProtoReflect.Descriptor instead.
480func (*TranslateTextRequest) Descriptor() ([]byte, []int) {
481	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{1}
482}
483
484func (x *TranslateTextRequest) GetContents() []string {
485	if x != nil {
486		return x.Contents
487	}
488	return nil
489}
490
491func (x *TranslateTextRequest) GetMimeType() string {
492	if x != nil {
493		return x.MimeType
494	}
495	return ""
496}
497
498func (x *TranslateTextRequest) GetSourceLanguageCode() string {
499	if x != nil {
500		return x.SourceLanguageCode
501	}
502	return ""
503}
504
505func (x *TranslateTextRequest) GetTargetLanguageCode() string {
506	if x != nil {
507		return x.TargetLanguageCode
508	}
509	return ""
510}
511
512func (x *TranslateTextRequest) GetParent() string {
513	if x != nil {
514		return x.Parent
515	}
516	return ""
517}
518
519func (x *TranslateTextRequest) GetModel() string {
520	if x != nil {
521		return x.Model
522	}
523	return ""
524}
525
526func (x *TranslateTextRequest) GetGlossaryConfig() *TranslateTextGlossaryConfig {
527	if x != nil {
528		return x.GlossaryConfig
529	}
530	return nil
531}
532
533func (x *TranslateTextRequest) GetLabels() map[string]string {
534	if x != nil {
535		return x.Labels
536	}
537	return nil
538}
539
540type TranslateTextResponse struct {
541	state         protoimpl.MessageState
542	sizeCache     protoimpl.SizeCache
543	unknownFields protoimpl.UnknownFields
544
545	// Text translation responses with no glossary applied.
546	// This field has the same length as
547	// [`contents`][google.cloud.translation.v3.TranslateTextRequest.contents].
548	Translations []*Translation `protobuf:"bytes,1,rep,name=translations,proto3" json:"translations,omitempty"`
549	// Text translation responses if a glossary is provided in the request.
550	// This can be the same as
551	// [`translations`][google.cloud.translation.v3.TranslateTextResponse.translations]
552	// if no terms apply. This field has the same length as
553	// [`contents`][google.cloud.translation.v3.TranslateTextRequest.contents].
554	GlossaryTranslations []*Translation `protobuf:"bytes,3,rep,name=glossary_translations,json=glossaryTranslations,proto3" json:"glossary_translations,omitempty"`
555}
556
557func (x *TranslateTextResponse) Reset() {
558	*x = TranslateTextResponse{}
559	if protoimpl.UnsafeEnabled {
560		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[2]
561		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
562		ms.StoreMessageInfo(mi)
563	}
564}
565
566func (x *TranslateTextResponse) String() string {
567	return protoimpl.X.MessageStringOf(x)
568}
569
570func (*TranslateTextResponse) ProtoMessage() {}
571
572func (x *TranslateTextResponse) ProtoReflect() protoreflect.Message {
573	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[2]
574	if protoimpl.UnsafeEnabled && x != nil {
575		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
576		if ms.LoadMessageInfo() == nil {
577			ms.StoreMessageInfo(mi)
578		}
579		return ms
580	}
581	return mi.MessageOf(x)
582}
583
584// Deprecated: Use TranslateTextResponse.ProtoReflect.Descriptor instead.
585func (*TranslateTextResponse) Descriptor() ([]byte, []int) {
586	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{2}
587}
588
589func (x *TranslateTextResponse) GetTranslations() []*Translation {
590	if x != nil {
591		return x.Translations
592	}
593	return nil
594}
595
596func (x *TranslateTextResponse) GetGlossaryTranslations() []*Translation {
597	if x != nil {
598		return x.GlossaryTranslations
599	}
600	return nil
601}
602
603// A single translation response.
604type Translation struct {
605	state         protoimpl.MessageState
606	sizeCache     protoimpl.SizeCache
607	unknownFields protoimpl.UnknownFields
608
609	// Text translated into the target language.
610	// If an error occurs during translation, this field might be excluded from
611	// the response.
612	TranslatedText string `protobuf:"bytes,1,opt,name=translated_text,json=translatedText,proto3" json:"translated_text,omitempty"`
613	// Only present when `model` is present in the request.
614	// `model` here is normalized to have project number.
615	//
616	// For example:
617	// If the `model` requested in TranslationTextRequest is
618	// `projects/{project-id}/locations/{location-id}/models/general/nmt` then
619	// `model` here would be normalized to
620	// `projects/{project-number}/locations/{location-id}/models/general/nmt`.
621	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
622	// The BCP-47 language code of source text in the initial request, detected
623	// automatically, if no source language was passed within the initial
624	// request. If the source language was passed, auto-detection of the language
625	// does not occur and this field is empty.
626	DetectedLanguageCode string `protobuf:"bytes,4,opt,name=detected_language_code,json=detectedLanguageCode,proto3" json:"detected_language_code,omitempty"`
627	// The `glossary_config` used for this translation.
628	GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,3,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"`
629}
630
631func (x *Translation) Reset() {
632	*x = Translation{}
633	if protoimpl.UnsafeEnabled {
634		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[3]
635		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
636		ms.StoreMessageInfo(mi)
637	}
638}
639
640func (x *Translation) String() string {
641	return protoimpl.X.MessageStringOf(x)
642}
643
644func (*Translation) ProtoMessage() {}
645
646func (x *Translation) ProtoReflect() protoreflect.Message {
647	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[3]
648	if protoimpl.UnsafeEnabled && x != nil {
649		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
650		if ms.LoadMessageInfo() == nil {
651			ms.StoreMessageInfo(mi)
652		}
653		return ms
654	}
655	return mi.MessageOf(x)
656}
657
658// Deprecated: Use Translation.ProtoReflect.Descriptor instead.
659func (*Translation) Descriptor() ([]byte, []int) {
660	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{3}
661}
662
663func (x *Translation) GetTranslatedText() string {
664	if x != nil {
665		return x.TranslatedText
666	}
667	return ""
668}
669
670func (x *Translation) GetModel() string {
671	if x != nil {
672		return x.Model
673	}
674	return ""
675}
676
677func (x *Translation) GetDetectedLanguageCode() string {
678	if x != nil {
679		return x.DetectedLanguageCode
680	}
681	return ""
682}
683
684func (x *Translation) GetGlossaryConfig() *TranslateTextGlossaryConfig {
685	if x != nil {
686		return x.GlossaryConfig
687	}
688	return nil
689}
690
691// The request message for language detection.
692type DetectLanguageRequest struct {
693	state         protoimpl.MessageState
694	sizeCache     protoimpl.SizeCache
695	unknownFields protoimpl.UnknownFields
696
697	// Required. Project or location to make a call. Must refer to a caller's
698	// project.
699	//
700	// Format: `projects/{project-number-or-id}/locations/{location-id}` or
701	// `projects/{project-number-or-id}`.
702	//
703	// For global calls, use `projects/{project-number-or-id}/locations/global` or
704	// `projects/{project-number-or-id}`.
705	//
706	// Only models within the same region (has same location-id) can be used.
707	// Otherwise an INVALID_ARGUMENT (400) error is returned.
708	Parent string `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
709	// Optional. The language detection model to be used.
710	//
711	// Format:
712	// `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/{model-id}`
713	//
714	// Only one language detection model is currently supported:
715	// `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/default`.
716	//
717	// If not specified, the default model is used.
718	Model string `protobuf:"bytes,4,opt,name=model,proto3" json:"model,omitempty"`
719	// Required. The source of the document from which to detect the language.
720	//
721	// Types that are assignable to Source:
722	//	*DetectLanguageRequest_Content
723	Source isDetectLanguageRequest_Source `protobuf_oneof:"source"`
724	// Optional. The format of the source text, for example, "text/html",
725	// "text/plain". If left blank, the MIME type defaults to "text/html".
726	MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
727	// Optional. The labels with user-defined metadata for the request.
728	//
729	// Label keys and values can be no longer than 63 characters
730	// (Unicode codepoints), can only contain lowercase letters, numeric
731	// characters, underscores and dashes. International characters are allowed.
732	// Label values are optional. Label keys must start with a letter.
733	//
734	// See https://cloud.google.com/translate/docs/advanced/labels for more
735	// information.
736	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
737}
738
739func (x *DetectLanguageRequest) Reset() {
740	*x = DetectLanguageRequest{}
741	if protoimpl.UnsafeEnabled {
742		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[4]
743		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
744		ms.StoreMessageInfo(mi)
745	}
746}
747
748func (x *DetectLanguageRequest) String() string {
749	return protoimpl.X.MessageStringOf(x)
750}
751
752func (*DetectLanguageRequest) ProtoMessage() {}
753
754func (x *DetectLanguageRequest) ProtoReflect() protoreflect.Message {
755	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[4]
756	if protoimpl.UnsafeEnabled && x != nil {
757		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
758		if ms.LoadMessageInfo() == nil {
759			ms.StoreMessageInfo(mi)
760		}
761		return ms
762	}
763	return mi.MessageOf(x)
764}
765
766// Deprecated: Use DetectLanguageRequest.ProtoReflect.Descriptor instead.
767func (*DetectLanguageRequest) Descriptor() ([]byte, []int) {
768	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{4}
769}
770
771func (x *DetectLanguageRequest) GetParent() string {
772	if x != nil {
773		return x.Parent
774	}
775	return ""
776}
777
778func (x *DetectLanguageRequest) GetModel() string {
779	if x != nil {
780		return x.Model
781	}
782	return ""
783}
784
785func (m *DetectLanguageRequest) GetSource() isDetectLanguageRequest_Source {
786	if m != nil {
787		return m.Source
788	}
789	return nil
790}
791
792func (x *DetectLanguageRequest) GetContent() string {
793	if x, ok := x.GetSource().(*DetectLanguageRequest_Content); ok {
794		return x.Content
795	}
796	return ""
797}
798
799func (x *DetectLanguageRequest) GetMimeType() string {
800	if x != nil {
801		return x.MimeType
802	}
803	return ""
804}
805
806func (x *DetectLanguageRequest) GetLabels() map[string]string {
807	if x != nil {
808		return x.Labels
809	}
810	return nil
811}
812
813type isDetectLanguageRequest_Source interface {
814	isDetectLanguageRequest_Source()
815}
816
817type DetectLanguageRequest_Content struct {
818	// The content of the input stored as a string.
819	Content string `protobuf:"bytes,1,opt,name=content,proto3,oneof"`
820}
821
822func (*DetectLanguageRequest_Content) isDetectLanguageRequest_Source() {}
823
824// The response message for language detection.
825type DetectedLanguage struct {
826	state         protoimpl.MessageState
827	sizeCache     protoimpl.SizeCache
828	unknownFields protoimpl.UnknownFields
829
830	// The BCP-47 language code of source content in the request, detected
831	// automatically.
832	LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
833	// The confidence of the detection result for this language.
834	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
835}
836
837func (x *DetectedLanguage) Reset() {
838	*x = DetectedLanguage{}
839	if protoimpl.UnsafeEnabled {
840		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[5]
841		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
842		ms.StoreMessageInfo(mi)
843	}
844}
845
846func (x *DetectedLanguage) String() string {
847	return protoimpl.X.MessageStringOf(x)
848}
849
850func (*DetectedLanguage) ProtoMessage() {}
851
852func (x *DetectedLanguage) ProtoReflect() protoreflect.Message {
853	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[5]
854	if protoimpl.UnsafeEnabled && x != nil {
855		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
856		if ms.LoadMessageInfo() == nil {
857			ms.StoreMessageInfo(mi)
858		}
859		return ms
860	}
861	return mi.MessageOf(x)
862}
863
864// Deprecated: Use DetectedLanguage.ProtoReflect.Descriptor instead.
865func (*DetectedLanguage) Descriptor() ([]byte, []int) {
866	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{5}
867}
868
869func (x *DetectedLanguage) GetLanguageCode() string {
870	if x != nil {
871		return x.LanguageCode
872	}
873	return ""
874}
875
876func (x *DetectedLanguage) GetConfidence() float32 {
877	if x != nil {
878		return x.Confidence
879	}
880	return 0
881}
882
883// The response message for language detection.
884type DetectLanguageResponse struct {
885	state         protoimpl.MessageState
886	sizeCache     protoimpl.SizeCache
887	unknownFields protoimpl.UnknownFields
888
889	// The most probable language detected by the Translation API. For each
890	// request, the Translation API will always return only one result.
891	Languages []*DetectedLanguage `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"`
892}
893
894func (x *DetectLanguageResponse) Reset() {
895	*x = DetectLanguageResponse{}
896	if protoimpl.UnsafeEnabled {
897		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[6]
898		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
899		ms.StoreMessageInfo(mi)
900	}
901}
902
903func (x *DetectLanguageResponse) String() string {
904	return protoimpl.X.MessageStringOf(x)
905}
906
907func (*DetectLanguageResponse) ProtoMessage() {}
908
909func (x *DetectLanguageResponse) ProtoReflect() protoreflect.Message {
910	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[6]
911	if protoimpl.UnsafeEnabled && x != nil {
912		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
913		if ms.LoadMessageInfo() == nil {
914			ms.StoreMessageInfo(mi)
915		}
916		return ms
917	}
918	return mi.MessageOf(x)
919}
920
921// Deprecated: Use DetectLanguageResponse.ProtoReflect.Descriptor instead.
922func (*DetectLanguageResponse) Descriptor() ([]byte, []int) {
923	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{6}
924}
925
926func (x *DetectLanguageResponse) GetLanguages() []*DetectedLanguage {
927	if x != nil {
928		return x.Languages
929	}
930	return nil
931}
932
933// The request message for discovering supported languages.
934type GetSupportedLanguagesRequest struct {
935	state         protoimpl.MessageState
936	sizeCache     protoimpl.SizeCache
937	unknownFields protoimpl.UnknownFields
938
939	// Required. Project or location to make a call. Must refer to a caller's
940	// project.
941	//
942	// Format: `projects/{project-number-or-id}` or
943	// `projects/{project-number-or-id}/locations/{location-id}`.
944	//
945	// For global calls, use `projects/{project-number-or-id}/locations/global` or
946	// `projects/{project-number-or-id}`.
947	//
948	// Non-global location is required for AutoML models.
949	//
950	// Only models within the same region (have same location-id) can be used,
951	// otherwise an INVALID_ARGUMENT (400) error is returned.
952	Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
953	// Optional. The language to use to return localized, human readable names
954	// of supported languages. If missing, then display names are not returned
955	// in a response.
956	DisplayLanguageCode string `protobuf:"bytes,1,opt,name=display_language_code,json=displayLanguageCode,proto3" json:"display_language_code,omitempty"`
957	// Optional. Get supported languages of this model.
958	//
959	// The format depends on model type:
960	//
961	// - AutoML Translation models:
962	//   `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
963	//
964	// - General (built-in) models:
965	//   `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
966	//
967	//
968	// Returns languages supported by the specified model.
969	// If missing, we get supported languages of Google general NMT model.
970	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
971}
972
973func (x *GetSupportedLanguagesRequest) Reset() {
974	*x = GetSupportedLanguagesRequest{}
975	if protoimpl.UnsafeEnabled {
976		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[7]
977		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
978		ms.StoreMessageInfo(mi)
979	}
980}
981
982func (x *GetSupportedLanguagesRequest) String() string {
983	return protoimpl.X.MessageStringOf(x)
984}
985
986func (*GetSupportedLanguagesRequest) ProtoMessage() {}
987
988func (x *GetSupportedLanguagesRequest) ProtoReflect() protoreflect.Message {
989	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[7]
990	if protoimpl.UnsafeEnabled && x != nil {
991		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
992		if ms.LoadMessageInfo() == nil {
993			ms.StoreMessageInfo(mi)
994		}
995		return ms
996	}
997	return mi.MessageOf(x)
998}
999
1000// Deprecated: Use GetSupportedLanguagesRequest.ProtoReflect.Descriptor instead.
1001func (*GetSupportedLanguagesRequest) Descriptor() ([]byte, []int) {
1002	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{7}
1003}
1004
1005func (x *GetSupportedLanguagesRequest) GetParent() string {
1006	if x != nil {
1007		return x.Parent
1008	}
1009	return ""
1010}
1011
1012func (x *GetSupportedLanguagesRequest) GetDisplayLanguageCode() string {
1013	if x != nil {
1014		return x.DisplayLanguageCode
1015	}
1016	return ""
1017}
1018
1019func (x *GetSupportedLanguagesRequest) GetModel() string {
1020	if x != nil {
1021		return x.Model
1022	}
1023	return ""
1024}
1025
1026// The response message for discovering supported languages.
1027type SupportedLanguages struct {
1028	state         protoimpl.MessageState
1029	sizeCache     protoimpl.SizeCache
1030	unknownFields protoimpl.UnknownFields
1031
1032	// A list of supported language responses. This list contains an entry
1033	// for each language the Translation API supports.
1034	Languages []*SupportedLanguage `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"`
1035}
1036
1037func (x *SupportedLanguages) Reset() {
1038	*x = SupportedLanguages{}
1039	if protoimpl.UnsafeEnabled {
1040		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[8]
1041		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1042		ms.StoreMessageInfo(mi)
1043	}
1044}
1045
1046func (x *SupportedLanguages) String() string {
1047	return protoimpl.X.MessageStringOf(x)
1048}
1049
1050func (*SupportedLanguages) ProtoMessage() {}
1051
1052func (x *SupportedLanguages) ProtoReflect() protoreflect.Message {
1053	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[8]
1054	if protoimpl.UnsafeEnabled && x != nil {
1055		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1056		if ms.LoadMessageInfo() == nil {
1057			ms.StoreMessageInfo(mi)
1058		}
1059		return ms
1060	}
1061	return mi.MessageOf(x)
1062}
1063
1064// Deprecated: Use SupportedLanguages.ProtoReflect.Descriptor instead.
1065func (*SupportedLanguages) Descriptor() ([]byte, []int) {
1066	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{8}
1067}
1068
1069func (x *SupportedLanguages) GetLanguages() []*SupportedLanguage {
1070	if x != nil {
1071		return x.Languages
1072	}
1073	return nil
1074}
1075
1076// A single supported language response corresponds to information related
1077// to one supported language.
1078type SupportedLanguage struct {
1079	state         protoimpl.MessageState
1080	sizeCache     protoimpl.SizeCache
1081	unknownFields protoimpl.UnknownFields
1082
1083	// Supported language code, generally consisting of its ISO 639-1
1084	// identifier, for example, 'en', 'ja'. In certain cases, BCP-47 codes
1085	// including language and region identifiers are returned (for example,
1086	// 'zh-TW' and 'zh-CN')
1087	LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1088	// Human readable name of the language localized in the display language
1089	// specified in the request.
1090	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
1091	// Can be used as source language.
1092	SupportSource bool `protobuf:"varint,3,opt,name=support_source,json=supportSource,proto3" json:"support_source,omitempty"`
1093	// Can be used as target language.
1094	SupportTarget bool `protobuf:"varint,4,opt,name=support_target,json=supportTarget,proto3" json:"support_target,omitempty"`
1095}
1096
1097func (x *SupportedLanguage) Reset() {
1098	*x = SupportedLanguage{}
1099	if protoimpl.UnsafeEnabled {
1100		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[9]
1101		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1102		ms.StoreMessageInfo(mi)
1103	}
1104}
1105
1106func (x *SupportedLanguage) String() string {
1107	return protoimpl.X.MessageStringOf(x)
1108}
1109
1110func (*SupportedLanguage) ProtoMessage() {}
1111
1112func (x *SupportedLanguage) ProtoReflect() protoreflect.Message {
1113	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[9]
1114	if protoimpl.UnsafeEnabled && x != nil {
1115		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1116		if ms.LoadMessageInfo() == nil {
1117			ms.StoreMessageInfo(mi)
1118		}
1119		return ms
1120	}
1121	return mi.MessageOf(x)
1122}
1123
1124// Deprecated: Use SupportedLanguage.ProtoReflect.Descriptor instead.
1125func (*SupportedLanguage) Descriptor() ([]byte, []int) {
1126	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{9}
1127}
1128
1129func (x *SupportedLanguage) GetLanguageCode() string {
1130	if x != nil {
1131		return x.LanguageCode
1132	}
1133	return ""
1134}
1135
1136func (x *SupportedLanguage) GetDisplayName() string {
1137	if x != nil {
1138		return x.DisplayName
1139	}
1140	return ""
1141}
1142
1143func (x *SupportedLanguage) GetSupportSource() bool {
1144	if x != nil {
1145		return x.SupportSource
1146	}
1147	return false
1148}
1149
1150func (x *SupportedLanguage) GetSupportTarget() bool {
1151	if x != nil {
1152		return x.SupportTarget
1153	}
1154	return false
1155}
1156
1157// The Google Cloud Storage location for the input content.
1158type GcsSource struct {
1159	state         protoimpl.MessageState
1160	sizeCache     protoimpl.SizeCache
1161	unknownFields protoimpl.UnknownFields
1162
1163	// Required. Source data URI. For example, `gs://my_bucket/my_object`.
1164	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
1165}
1166
1167func (x *GcsSource) Reset() {
1168	*x = GcsSource{}
1169	if protoimpl.UnsafeEnabled {
1170		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[10]
1171		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1172		ms.StoreMessageInfo(mi)
1173	}
1174}
1175
1176func (x *GcsSource) String() string {
1177	return protoimpl.X.MessageStringOf(x)
1178}
1179
1180func (*GcsSource) ProtoMessage() {}
1181
1182func (x *GcsSource) ProtoReflect() protoreflect.Message {
1183	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[10]
1184	if protoimpl.UnsafeEnabled && x != nil {
1185		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1186		if ms.LoadMessageInfo() == nil {
1187			ms.StoreMessageInfo(mi)
1188		}
1189		return ms
1190	}
1191	return mi.MessageOf(x)
1192}
1193
1194// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead.
1195func (*GcsSource) Descriptor() ([]byte, []int) {
1196	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{10}
1197}
1198
1199func (x *GcsSource) GetInputUri() string {
1200	if x != nil {
1201		return x.InputUri
1202	}
1203	return ""
1204}
1205
1206// Input configuration for BatchTranslateText request.
1207type InputConfig struct {
1208	state         protoimpl.MessageState
1209	sizeCache     protoimpl.SizeCache
1210	unknownFields protoimpl.UnknownFields
1211
1212	// Optional. Can be "text/plain" or "text/html".
1213	// For `.tsv`, "text/html" is used if mime_type is missing.
1214	// For `.html`, this field must be "text/html" or empty.
1215	// For `.txt`, this field must be "text/plain" or empty.
1216	MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
1217	// Required. Specify the input.
1218	//
1219	// Types that are assignable to Source:
1220	//	*InputConfig_GcsSource
1221	Source isInputConfig_Source `protobuf_oneof:"source"`
1222}
1223
1224func (x *InputConfig) Reset() {
1225	*x = InputConfig{}
1226	if protoimpl.UnsafeEnabled {
1227		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[11]
1228		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1229		ms.StoreMessageInfo(mi)
1230	}
1231}
1232
1233func (x *InputConfig) String() string {
1234	return protoimpl.X.MessageStringOf(x)
1235}
1236
1237func (*InputConfig) ProtoMessage() {}
1238
1239func (x *InputConfig) ProtoReflect() protoreflect.Message {
1240	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[11]
1241	if protoimpl.UnsafeEnabled && x != nil {
1242		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1243		if ms.LoadMessageInfo() == nil {
1244			ms.StoreMessageInfo(mi)
1245		}
1246		return ms
1247	}
1248	return mi.MessageOf(x)
1249}
1250
1251// Deprecated: Use InputConfig.ProtoReflect.Descriptor instead.
1252func (*InputConfig) Descriptor() ([]byte, []int) {
1253	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{11}
1254}
1255
1256func (x *InputConfig) GetMimeType() string {
1257	if x != nil {
1258		return x.MimeType
1259	}
1260	return ""
1261}
1262
1263func (m *InputConfig) GetSource() isInputConfig_Source {
1264	if m != nil {
1265		return m.Source
1266	}
1267	return nil
1268}
1269
1270func (x *InputConfig) GetGcsSource() *GcsSource {
1271	if x, ok := x.GetSource().(*InputConfig_GcsSource); ok {
1272		return x.GcsSource
1273	}
1274	return nil
1275}
1276
1277type isInputConfig_Source interface {
1278	isInputConfig_Source()
1279}
1280
1281type InputConfig_GcsSource struct {
1282	// Required. Google Cloud Storage location for the source input.
1283	// This can be a single file (for example,
1284	// `gs://translation-test/input.tsv`) or a wildcard (for example,
1285	// `gs://translation-test/*`). If a file extension is `.tsv`, it can
1286	// contain either one or two columns. The first column (optional) is the id
1287	// of the text request. If the first column is missing, we use the row
1288	// number (0-based) from the input file as the ID in the output file. The
1289	// second column is the actual text to be
1290	//  translated. We recommend each row be <= 10K Unicode codepoints,
1291	// otherwise an error might be returned.
1292	// Note that the input tsv must be RFC 4180 compliant.
1293	//
1294	// You could use https://github.com/Clever/csvlint to check potential
1295	// formatting errors in your tsv file.
1296	// csvlint --delimiter='\t' your_input_file.tsv
1297	//
1298	// The other supported file extensions are `.txt` or `.html`, which is
1299	// treated as a single large chunk of text.
1300	GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
1301}
1302
1303func (*InputConfig_GcsSource) isInputConfig_Source() {}
1304
1305// The Google Cloud Storage location for the output content.
1306type GcsDestination struct {
1307	state         protoimpl.MessageState
1308	sizeCache     protoimpl.SizeCache
1309	unknownFields protoimpl.UnknownFields
1310
1311	// Required. The bucket used in 'output_uri_prefix' must exist and there must
1312	// be no files under 'output_uri_prefix'. 'output_uri_prefix' must end with
1313	// "/" and start with "gs://". One 'output_uri_prefix' can only be used by one
1314	// batch translation job at a time. Otherwise an INVALID_ARGUMENT (400) error
1315	// is returned.
1316	OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"`
1317}
1318
1319func (x *GcsDestination) Reset() {
1320	*x = GcsDestination{}
1321	if protoimpl.UnsafeEnabled {
1322		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[12]
1323		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1324		ms.StoreMessageInfo(mi)
1325	}
1326}
1327
1328func (x *GcsDestination) String() string {
1329	return protoimpl.X.MessageStringOf(x)
1330}
1331
1332func (*GcsDestination) ProtoMessage() {}
1333
1334func (x *GcsDestination) ProtoReflect() protoreflect.Message {
1335	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[12]
1336	if protoimpl.UnsafeEnabled && x != nil {
1337		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1338		if ms.LoadMessageInfo() == nil {
1339			ms.StoreMessageInfo(mi)
1340		}
1341		return ms
1342	}
1343	return mi.MessageOf(x)
1344}
1345
1346// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead.
1347func (*GcsDestination) Descriptor() ([]byte, []int) {
1348	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{12}
1349}
1350
1351func (x *GcsDestination) GetOutputUriPrefix() string {
1352	if x != nil {
1353		return x.OutputUriPrefix
1354	}
1355	return ""
1356}
1357
1358// Output configuration for BatchTranslateText request.
1359type OutputConfig struct {
1360	state         protoimpl.MessageState
1361	sizeCache     protoimpl.SizeCache
1362	unknownFields protoimpl.UnknownFields
1363
1364	// Required. The destination of output.
1365	//
1366	// Types that are assignable to Destination:
1367	//	*OutputConfig_GcsDestination
1368	Destination isOutputConfig_Destination `protobuf_oneof:"destination"`
1369}
1370
1371func (x *OutputConfig) Reset() {
1372	*x = OutputConfig{}
1373	if protoimpl.UnsafeEnabled {
1374		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[13]
1375		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1376		ms.StoreMessageInfo(mi)
1377	}
1378}
1379
1380func (x *OutputConfig) String() string {
1381	return protoimpl.X.MessageStringOf(x)
1382}
1383
1384func (*OutputConfig) ProtoMessage() {}
1385
1386func (x *OutputConfig) ProtoReflect() protoreflect.Message {
1387	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[13]
1388	if protoimpl.UnsafeEnabled && x != nil {
1389		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1390		if ms.LoadMessageInfo() == nil {
1391			ms.StoreMessageInfo(mi)
1392		}
1393		return ms
1394	}
1395	return mi.MessageOf(x)
1396}
1397
1398// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead.
1399func (*OutputConfig) Descriptor() ([]byte, []int) {
1400	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{13}
1401}
1402
1403func (m *OutputConfig) GetDestination() isOutputConfig_Destination {
1404	if m != nil {
1405		return m.Destination
1406	}
1407	return nil
1408}
1409
1410func (x *OutputConfig) GetGcsDestination() *GcsDestination {
1411	if x, ok := x.GetDestination().(*OutputConfig_GcsDestination); ok {
1412		return x.GcsDestination
1413	}
1414	return nil
1415}
1416
1417type isOutputConfig_Destination interface {
1418	isOutputConfig_Destination()
1419}
1420
1421type OutputConfig_GcsDestination struct {
1422	// Google Cloud Storage destination for output content.
1423	// For every single input file (for example, gs://a/b/c.[extension]), we
1424	// generate at most 2 * n output files. (n is the # of target_language_codes
1425	// in the BatchTranslateTextRequest).
1426	//
1427	// Output files (tsv) generated are compliant with RFC 4180 except that
1428	// record delimiters are '\n' instead of '\r\n'. We don't provide any way to
1429	// change record delimiters.
1430	//
1431	// While the input files are being processed, we write/update an index file
1432	// 'index.csv'  under 'output_uri_prefix' (for example,
1433	// gs://translation-test/index.csv) The index file is generated/updated as
1434	// new files are being translated. The format is:
1435	//
1436	// input_file,target_language_code,translations_file,errors_file,
1437	// glossary_translations_file,glossary_errors_file
1438	//
1439	// input_file is one file we matched using gcs_source.input_uri.
1440	// target_language_code is provided in the request.
1441	// translations_file contains the translations. (details provided below)
1442	// errors_file contains the errors during processing of the file. (details
1443	// below). Both translations_file and errors_file could be empty
1444	// strings if we have no content to output.
1445	// glossary_translations_file and glossary_errors_file are always empty
1446	// strings if the input_file is tsv. They could also be empty if we have no
1447	// content to output.
1448	//
1449	// Once a row is present in index.csv, the input/output matching never
1450	// changes. Callers should also expect all the content in input_file are
1451	// processed and ready to be consumed (that is, no partial output file is
1452	// written).
1453	//
1454	// Since index.csv will be keeping updated during the process, please make
1455	// sure there is no custom retention policy applied on the output bucket
1456	// that may avoid file updating.
1457	// (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy)
1458	//
1459	// The format of translations_file (for target language code 'trg') is:
1460	// gs://translation_test/a_b_c_'trg'_translations.[extension]
1461	//
1462	// If the input file extension is tsv, the output has the following
1463	// columns:
1464	// Column 1: ID of the request provided in the input, if it's not
1465	// provided in the input, then the input row number is used (0-based).
1466	// Column 2: source sentence.
1467	// Column 3: translation without applying a glossary. Empty string if there
1468	// is an error.
1469	// Column 4 (only present if a glossary is provided in the request):
1470	// translation after applying the glossary. Empty string if there is an
1471	// error applying the glossary. Could be same string as column 3 if there is
1472	// no glossary applied.
1473	//
1474	// If input file extension is a txt or html, the translation is directly
1475	// written to the output file. If glossary is requested, a separate
1476	// glossary_translations_file has format of
1477	// gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]
1478	//
1479	// The format of errors file (for target language code 'trg') is:
1480	// gs://translation_test/a_b_c_'trg'_errors.[extension]
1481	//
1482	// If the input file extension is tsv, errors_file contains the following:
1483	// Column 1: ID of the request provided in the input, if it's not
1484	// provided in the input, then the input row number is used (0-based).
1485	// Column 2: source sentence.
1486	// Column 3: Error detail for the translation. Could be empty.
1487	// Column 4 (only present if a glossary is provided in the request):
1488	// Error when applying the glossary.
1489	//
1490	// If the input file extension is txt or html, glossary_error_file will be
1491	// generated that contains error details. glossary_error_file has format of
1492	// gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]
1493	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
1494}
1495
1496func (*OutputConfig_GcsDestination) isOutputConfig_Destination() {}
1497
1498// A document translation request input config.
1499type DocumentInputConfig struct {
1500	state         protoimpl.MessageState
1501	sizeCache     protoimpl.SizeCache
1502	unknownFields protoimpl.UnknownFields
1503
1504	// Specifies the source for the document's content.
1505	// The input file size should be <= 20MB for
1506	// - application/vnd.openxmlformats-officedocument.wordprocessingml.document
1507	// - application/vnd.openxmlformats-officedocument.presentationml.presentation
1508	// - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
1509	// The input file size should be <= 20MB and the maximum page limit is 20 for
1510	// - application/pdf
1511	//
1512	// Types that are assignable to Source:
1513	//	*DocumentInputConfig_Content
1514	//	*DocumentInputConfig_GcsSource
1515	Source isDocumentInputConfig_Source `protobuf_oneof:"source"`
1516	// Specifies the input document's mime_type.
1517	//
1518	// If not specified it will be determined using the file extension for
1519	// gcs_source provided files. For a file provided through bytes content the
1520	// mime_type must be provided.
1521	// Currently supported mime types are:
1522	// - application/pdf
1523	// - application/vnd.openxmlformats-officedocument.wordprocessingml.document
1524	// - application/vnd.openxmlformats-officedocument.presentationml.presentation
1525	// - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
1526	MimeType string `protobuf:"bytes,4,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
1527}
1528
1529func (x *DocumentInputConfig) Reset() {
1530	*x = DocumentInputConfig{}
1531	if protoimpl.UnsafeEnabled {
1532		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[14]
1533		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1534		ms.StoreMessageInfo(mi)
1535	}
1536}
1537
1538func (x *DocumentInputConfig) String() string {
1539	return protoimpl.X.MessageStringOf(x)
1540}
1541
1542func (*DocumentInputConfig) ProtoMessage() {}
1543
1544func (x *DocumentInputConfig) ProtoReflect() protoreflect.Message {
1545	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[14]
1546	if protoimpl.UnsafeEnabled && x != nil {
1547		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1548		if ms.LoadMessageInfo() == nil {
1549			ms.StoreMessageInfo(mi)
1550		}
1551		return ms
1552	}
1553	return mi.MessageOf(x)
1554}
1555
1556// Deprecated: Use DocumentInputConfig.ProtoReflect.Descriptor instead.
1557func (*DocumentInputConfig) Descriptor() ([]byte, []int) {
1558	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{14}
1559}
1560
1561func (m *DocumentInputConfig) GetSource() isDocumentInputConfig_Source {
1562	if m != nil {
1563		return m.Source
1564	}
1565	return nil
1566}
1567
1568func (x *DocumentInputConfig) GetContent() []byte {
1569	if x, ok := x.GetSource().(*DocumentInputConfig_Content); ok {
1570		return x.Content
1571	}
1572	return nil
1573}
1574
1575func (x *DocumentInputConfig) GetGcsSource() *GcsSource {
1576	if x, ok := x.GetSource().(*DocumentInputConfig_GcsSource); ok {
1577		return x.GcsSource
1578	}
1579	return nil
1580}
1581
1582func (x *DocumentInputConfig) GetMimeType() string {
1583	if x != nil {
1584		return x.MimeType
1585	}
1586	return ""
1587}
1588
1589type isDocumentInputConfig_Source interface {
1590	isDocumentInputConfig_Source()
1591}
1592
1593type DocumentInputConfig_Content struct {
1594	// Document's content represented as a stream of bytes.
1595	Content []byte `protobuf:"bytes,1,opt,name=content,proto3,oneof"`
1596}
1597
1598type DocumentInputConfig_GcsSource struct {
1599	// Google Cloud Storage location. This must be a single file.
1600	// For example: gs://example_bucket/example_file.pdf
1601	GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
1602}
1603
1604func (*DocumentInputConfig_Content) isDocumentInputConfig_Source() {}
1605
1606func (*DocumentInputConfig_GcsSource) isDocumentInputConfig_Source() {}
1607
1608// A document translation request output config.
1609type DocumentOutputConfig struct {
1610	state         protoimpl.MessageState
1611	sizeCache     protoimpl.SizeCache
1612	unknownFields protoimpl.UnknownFields
1613
1614	// A URI destination for the translated document.
1615	// It is optional to provide a destination. If provided the results from
1616	// TranslateDocument will be stored in the destination.
1617	// Whether a destination is provided or not, the translated documents will be
1618	// returned within TranslateDocumentResponse.document_translation and
1619	// TranslateDocumentResponse.glossary_document_translation.
1620	//
1621	// Types that are assignable to Destination:
1622	//	*DocumentOutputConfig_GcsDestination
1623	Destination isDocumentOutputConfig_Destination `protobuf_oneof:"destination"`
1624	// Optional. Specifies the translated document's mime_type.
1625	// If not specified, the translated file's mime type will be the same as the
1626	// input file's mime type.
1627	// Currently only support the output mime type to be the same as input mime
1628	// type.
1629	// - application/pdf
1630	// - application/vnd.openxmlformats-officedocument.wordprocessingml.document
1631	// - application/vnd.openxmlformats-officedocument.presentationml.presentation
1632	// - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
1633	MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
1634}
1635
1636func (x *DocumentOutputConfig) Reset() {
1637	*x = DocumentOutputConfig{}
1638	if protoimpl.UnsafeEnabled {
1639		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[15]
1640		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1641		ms.StoreMessageInfo(mi)
1642	}
1643}
1644
1645func (x *DocumentOutputConfig) String() string {
1646	return protoimpl.X.MessageStringOf(x)
1647}
1648
1649func (*DocumentOutputConfig) ProtoMessage() {}
1650
1651func (x *DocumentOutputConfig) ProtoReflect() protoreflect.Message {
1652	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[15]
1653	if protoimpl.UnsafeEnabled && x != nil {
1654		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1655		if ms.LoadMessageInfo() == nil {
1656			ms.StoreMessageInfo(mi)
1657		}
1658		return ms
1659	}
1660	return mi.MessageOf(x)
1661}
1662
1663// Deprecated: Use DocumentOutputConfig.ProtoReflect.Descriptor instead.
1664func (*DocumentOutputConfig) Descriptor() ([]byte, []int) {
1665	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{15}
1666}
1667
1668func (m *DocumentOutputConfig) GetDestination() isDocumentOutputConfig_Destination {
1669	if m != nil {
1670		return m.Destination
1671	}
1672	return nil
1673}
1674
1675func (x *DocumentOutputConfig) GetGcsDestination() *GcsDestination {
1676	if x, ok := x.GetDestination().(*DocumentOutputConfig_GcsDestination); ok {
1677		return x.GcsDestination
1678	}
1679	return nil
1680}
1681
1682func (x *DocumentOutputConfig) GetMimeType() string {
1683	if x != nil {
1684		return x.MimeType
1685	}
1686	return ""
1687}
1688
1689type isDocumentOutputConfig_Destination interface {
1690	isDocumentOutputConfig_Destination()
1691}
1692
1693type DocumentOutputConfig_GcsDestination struct {
1694	// Optional. Google Cloud Storage destination for the translation output,
1695	// e.g., `gs://my_bucket/my_directory/`.
1696	//
1697	// The destination directory provided does not have to be empty, but the
1698	// bucket must exist. If a file with the same name as the output file
1699	// already exists in the destination an error will be returned.
1700	//
1701	// For a DocumentInputConfig.contents provided document, the output file
1702	// will have the name "output_[trg]_translations.[ext]", where
1703	// - [trg] corresponds to the translated file's language code,
1704	// - [ext] corresponds to the translated file's extension according to its
1705	// mime type.
1706	//
1707	//
1708	// For a DocumentInputConfig.gcs_uri provided document, the output file will
1709	// have a name according to its URI. For example: an input file with URI:
1710	// "gs://a/b/c.[extension]" stored in a gcs_destination bucket with name
1711	// "my_bucket" will have an output URI:
1712	// "gs://my_bucket/a_b_c_[trg]_translations.[ext]", where
1713	// - [trg] corresponds to the translated file's language code,
1714	// - [ext] corresponds to the translated file's extension according to its
1715	// mime type.
1716	//
1717	//
1718	// If the document was directly provided through the request, then the
1719	// output document will have the format:
1720	// "gs://my_bucket/translated_document_[trg]_translations.[ext], where
1721	// - [trg] corresponds to the translated file's language code,
1722	// - [ext] corresponds to the translated file's extension according to its
1723	// mime type.
1724	//
1725	// If a glossary was provided, then the output URI for the glossary
1726	// translation will be equal to the default output URI but have
1727	// `glossary_translations` instead of `translations`. For the previous
1728	// example, its glossary URI would be:
1729	// "gs://my_bucket/a_b_c_[trg]_glossary_translations.[ext]".
1730	//
1731	// Thus the max number of output files will be 2 (Translated document,
1732	// Glossary translated document).
1733	//
1734	// Callers should expect no partial outputs. If there is any error during
1735	// document translation, no output will be stored in the Cloud Storage
1736	// bucket.
1737	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
1738}
1739
1740func (*DocumentOutputConfig_GcsDestination) isDocumentOutputConfig_Destination() {}
1741
1742// A document translation request.
1743type TranslateDocumentRequest struct {
1744	state         protoimpl.MessageState
1745	sizeCache     protoimpl.SizeCache
1746	unknownFields protoimpl.UnknownFields
1747
1748	// Required. Location to make a regional call.
1749	//
1750	// Format: `projects/{project-number-or-id}/locations/{location-id}`.
1751	//
1752	// For global calls, use `projects/{project-number-or-id}/locations/global` or
1753	// `projects/{project-number-or-id}`.
1754	//
1755	// Non-global location is required for requests using AutoML models or custom
1756	// glossaries.
1757	//
1758	// Models and glossaries must be within the same region (have the same
1759	// location-id), otherwise an INVALID_ARGUMENT (400) error is returned.
1760	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1761	// Optional. The BCP-47 language code of the input document if known, for
1762	// example, "en-US" or "sr-Latn". Supported language codes are listed in
1763	// Language Support. If the source language isn't specified, the API attempts
1764	// to identify the source language automatically and returns the source
1765	// language within the response. Source language must be specified if the
1766	// request contains a glossary or a custom model.
1767	SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
1768	// Required. The BCP-47 language code to use for translation of the input
1769	// document, set to one of the language codes listed in Language Support.
1770	TargetLanguageCode string `protobuf:"bytes,3,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"`
1771	// Required. Input configurations.
1772	DocumentInputConfig *DocumentInputConfig `protobuf:"bytes,4,opt,name=document_input_config,json=documentInputConfig,proto3" json:"document_input_config,omitempty"`
1773	// Optional. Output configurations.
1774	// Defines if the output file should be stored within Cloud Storage as well
1775	// as the desired output format. If not provided the translated file will
1776	// only be returned through a byte-stream and its output mime type will be
1777	// the same as the input file's mime type.
1778	DocumentOutputConfig *DocumentOutputConfig `protobuf:"bytes,5,opt,name=document_output_config,json=documentOutputConfig,proto3" json:"document_output_config,omitempty"`
1779	// Optional. The `model` type requested for this translation.
1780	//
1781	// The format depends on model type:
1782	//
1783	// - AutoML Translation models:
1784	//   `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
1785	//
1786	// - General (built-in) models:
1787	//   `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
1788	//
1789	//
1790	// If not provided, the default Google model (NMT) will be used for
1791	// translation.
1792	Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"`
1793	// Optional. Glossary to be applied. The glossary must be within the same
1794	// region (have the same location-id) as the model, otherwise an
1795	// INVALID_ARGUMENT (400) error is returned.
1796	GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,7,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"`
1797	// Optional. The labels with user-defined metadata for the request.
1798	//
1799	// Label keys and values can be no longer than 63 characters (Unicode
1800	// codepoints), can only contain lowercase letters, numeric characters,
1801	// underscores and dashes. International characters are allowed. Label values
1802	// are optional. Label keys must start with a letter.
1803	//
1804	// See https://cloud.google.com/translate/docs/advanced/labels for more
1805	// information.
1806	Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1807}
1808
1809func (x *TranslateDocumentRequest) Reset() {
1810	*x = TranslateDocumentRequest{}
1811	if protoimpl.UnsafeEnabled {
1812		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[16]
1813		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1814		ms.StoreMessageInfo(mi)
1815	}
1816}
1817
1818func (x *TranslateDocumentRequest) String() string {
1819	return protoimpl.X.MessageStringOf(x)
1820}
1821
1822func (*TranslateDocumentRequest) ProtoMessage() {}
1823
1824func (x *TranslateDocumentRequest) ProtoReflect() protoreflect.Message {
1825	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[16]
1826	if protoimpl.UnsafeEnabled && x != nil {
1827		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1828		if ms.LoadMessageInfo() == nil {
1829			ms.StoreMessageInfo(mi)
1830		}
1831		return ms
1832	}
1833	return mi.MessageOf(x)
1834}
1835
1836// Deprecated: Use TranslateDocumentRequest.ProtoReflect.Descriptor instead.
1837func (*TranslateDocumentRequest) Descriptor() ([]byte, []int) {
1838	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{16}
1839}
1840
1841func (x *TranslateDocumentRequest) GetParent() string {
1842	if x != nil {
1843		return x.Parent
1844	}
1845	return ""
1846}
1847
1848func (x *TranslateDocumentRequest) GetSourceLanguageCode() string {
1849	if x != nil {
1850		return x.SourceLanguageCode
1851	}
1852	return ""
1853}
1854
1855func (x *TranslateDocumentRequest) GetTargetLanguageCode() string {
1856	if x != nil {
1857		return x.TargetLanguageCode
1858	}
1859	return ""
1860}
1861
1862func (x *TranslateDocumentRequest) GetDocumentInputConfig() *DocumentInputConfig {
1863	if x != nil {
1864		return x.DocumentInputConfig
1865	}
1866	return nil
1867}
1868
1869func (x *TranslateDocumentRequest) GetDocumentOutputConfig() *DocumentOutputConfig {
1870	if x != nil {
1871		return x.DocumentOutputConfig
1872	}
1873	return nil
1874}
1875
1876func (x *TranslateDocumentRequest) GetModel() string {
1877	if x != nil {
1878		return x.Model
1879	}
1880	return ""
1881}
1882
1883func (x *TranslateDocumentRequest) GetGlossaryConfig() *TranslateTextGlossaryConfig {
1884	if x != nil {
1885		return x.GlossaryConfig
1886	}
1887	return nil
1888}
1889
1890func (x *TranslateDocumentRequest) GetLabels() map[string]string {
1891	if x != nil {
1892		return x.Labels
1893	}
1894	return nil
1895}
1896
1897// A translated document message.
1898type DocumentTranslation struct {
1899	state         protoimpl.MessageState
1900	sizeCache     protoimpl.SizeCache
1901	unknownFields protoimpl.UnknownFields
1902
1903	// The array of translated documents. It is expected to be size 1 for now. We
1904	// may produce multiple translated documents in the future for other type of
1905	// file formats.
1906	ByteStreamOutputs [][]byte `protobuf:"bytes,1,rep,name=byte_stream_outputs,json=byteStreamOutputs,proto3" json:"byte_stream_outputs,omitempty"`
1907	// The translated document's mime type.
1908	MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
1909	// The detected language for the input document.
1910	// If the user did not provide the source language for the input document,
1911	// this field will have the language code automatically detected. If the
1912	// source language was passed, auto-detection of the language does not occur
1913	// and this field is empty.
1914	DetectedLanguageCode string `protobuf:"bytes,3,opt,name=detected_language_code,json=detectedLanguageCode,proto3" json:"detected_language_code,omitempty"`
1915}
1916
1917func (x *DocumentTranslation) Reset() {
1918	*x = DocumentTranslation{}
1919	if protoimpl.UnsafeEnabled {
1920		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[17]
1921		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1922		ms.StoreMessageInfo(mi)
1923	}
1924}
1925
1926func (x *DocumentTranslation) String() string {
1927	return protoimpl.X.MessageStringOf(x)
1928}
1929
1930func (*DocumentTranslation) ProtoMessage() {}
1931
1932func (x *DocumentTranslation) ProtoReflect() protoreflect.Message {
1933	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[17]
1934	if protoimpl.UnsafeEnabled && x != nil {
1935		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1936		if ms.LoadMessageInfo() == nil {
1937			ms.StoreMessageInfo(mi)
1938		}
1939		return ms
1940	}
1941	return mi.MessageOf(x)
1942}
1943
1944// Deprecated: Use DocumentTranslation.ProtoReflect.Descriptor instead.
1945func (*DocumentTranslation) Descriptor() ([]byte, []int) {
1946	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{17}
1947}
1948
1949func (x *DocumentTranslation) GetByteStreamOutputs() [][]byte {
1950	if x != nil {
1951		return x.ByteStreamOutputs
1952	}
1953	return nil
1954}
1955
1956func (x *DocumentTranslation) GetMimeType() string {
1957	if x != nil {
1958		return x.MimeType
1959	}
1960	return ""
1961}
1962
1963func (x *DocumentTranslation) GetDetectedLanguageCode() string {
1964	if x != nil {
1965		return x.DetectedLanguageCode
1966	}
1967	return ""
1968}
1969
1970// A translated document response message.
1971type TranslateDocumentResponse struct {
1972	state         protoimpl.MessageState
1973	sizeCache     protoimpl.SizeCache
1974	unknownFields protoimpl.UnknownFields
1975
1976	// Translated document.
1977	DocumentTranslation *DocumentTranslation `protobuf:"bytes,1,opt,name=document_translation,json=documentTranslation,proto3" json:"document_translation,omitempty"`
1978	// The document's translation output if a glossary is provided in the request.
1979	// This can be the same as [TranslateDocumentResponse.document_translation]
1980	// if no glossary terms apply.
1981	GlossaryDocumentTranslation *DocumentTranslation `protobuf:"bytes,2,opt,name=glossary_document_translation,json=glossaryDocumentTranslation,proto3" json:"glossary_document_translation,omitempty"`
1982	// Only present when 'model' is present in the request.
1983	// 'model' is normalized to have a project number.
1984	//
1985	// For example:
1986	// If the 'model' field in TranslateDocumentRequest is:
1987	// `projects/{project-id}/locations/{location-id}/models/general/nmt` then
1988	// `model` here would be normalized to
1989	// `projects/{project-number}/locations/{location-id}/models/general/nmt`.
1990	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
1991	// The `glossary_config` used for this translation.
1992	GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,4,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"`
1993}
1994
1995func (x *TranslateDocumentResponse) Reset() {
1996	*x = TranslateDocumentResponse{}
1997	if protoimpl.UnsafeEnabled {
1998		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[18]
1999		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2000		ms.StoreMessageInfo(mi)
2001	}
2002}
2003
2004func (x *TranslateDocumentResponse) String() string {
2005	return protoimpl.X.MessageStringOf(x)
2006}
2007
2008func (*TranslateDocumentResponse) ProtoMessage() {}
2009
2010func (x *TranslateDocumentResponse) ProtoReflect() protoreflect.Message {
2011	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[18]
2012	if protoimpl.UnsafeEnabled && x != nil {
2013		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2014		if ms.LoadMessageInfo() == nil {
2015			ms.StoreMessageInfo(mi)
2016		}
2017		return ms
2018	}
2019	return mi.MessageOf(x)
2020}
2021
2022// Deprecated: Use TranslateDocumentResponse.ProtoReflect.Descriptor instead.
2023func (*TranslateDocumentResponse) Descriptor() ([]byte, []int) {
2024	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{18}
2025}
2026
2027func (x *TranslateDocumentResponse) GetDocumentTranslation() *DocumentTranslation {
2028	if x != nil {
2029		return x.DocumentTranslation
2030	}
2031	return nil
2032}
2033
2034func (x *TranslateDocumentResponse) GetGlossaryDocumentTranslation() *DocumentTranslation {
2035	if x != nil {
2036		return x.GlossaryDocumentTranslation
2037	}
2038	return nil
2039}
2040
2041func (x *TranslateDocumentResponse) GetModel() string {
2042	if x != nil {
2043		return x.Model
2044	}
2045	return ""
2046}
2047
2048func (x *TranslateDocumentResponse) GetGlossaryConfig() *TranslateTextGlossaryConfig {
2049	if x != nil {
2050		return x.GlossaryConfig
2051	}
2052	return nil
2053}
2054
2055// The batch translation request.
2056type BatchTranslateTextRequest struct {
2057	state         protoimpl.MessageState
2058	sizeCache     protoimpl.SizeCache
2059	unknownFields protoimpl.UnknownFields
2060
2061	// Required. Location to make a call. Must refer to a caller's project.
2062	//
2063	// Format: `projects/{project-number-or-id}/locations/{location-id}`.
2064	//
2065	// The `global` location is not supported for batch translation.
2066	//
2067	// Only AutoML Translation models or glossaries within the same region (have
2068	// the same location-id) can be used, otherwise an INVALID_ARGUMENT (400)
2069	// error is returned.
2070	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2071	// Required. Source language code.
2072	SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
2073	// Required. Specify up to 10 language codes here.
2074	TargetLanguageCodes []string `protobuf:"bytes,3,rep,name=target_language_codes,json=targetLanguageCodes,proto3" json:"target_language_codes,omitempty"`
2075	// Optional. The models to use for translation. Map's key is target language
2076	// code. Map's value is model name. Value can be a built-in general model,
2077	// or an AutoML Translation model.
2078	//
2079	// The value format depends on model type:
2080	//
2081	// - AutoML Translation models:
2082	//   `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
2083	//
2084	// - General (built-in) models:
2085	//   `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
2086	//
2087	//
2088	// If the map is empty or a specific model is
2089	// not requested for a language pair, then default google model (nmt) is used.
2090	Models map[string]string `protobuf:"bytes,4,rep,name=models,proto3" json:"models,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
2091	// Required. Input configurations.
2092	// The total number of files matched should be <= 100.
2093	// The total content size should be <= 100M Unicode codepoints.
2094	// The files must use UTF-8 encoding.
2095	InputConfigs []*InputConfig `protobuf:"bytes,5,rep,name=input_configs,json=inputConfigs,proto3" json:"input_configs,omitempty"`
2096	// Required. Output configuration.
2097	// If 2 input configs match to the same file (that is, same input path),
2098	// we don't generate output for duplicate inputs.
2099	OutputConfig *OutputConfig `protobuf:"bytes,6,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2100	// Optional. Glossaries to be applied for translation.
2101	// It's keyed by target language code.
2102	Glossaries map[string]*TranslateTextGlossaryConfig `protobuf:"bytes,7,rep,name=glossaries,proto3" json:"glossaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
2103	// Optional. The labels with user-defined metadata for the request.
2104	//
2105	// Label keys and values can be no longer than 63 characters
2106	// (Unicode codepoints), can only contain lowercase letters, numeric
2107	// characters, underscores and dashes. International characters are allowed.
2108	// Label values are optional. Label keys must start with a letter.
2109	//
2110	// See https://cloud.google.com/translate/docs/advanced/labels for more
2111	// information.
2112	Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
2113}
2114
2115func (x *BatchTranslateTextRequest) Reset() {
2116	*x = BatchTranslateTextRequest{}
2117	if protoimpl.UnsafeEnabled {
2118		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[19]
2119		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2120		ms.StoreMessageInfo(mi)
2121	}
2122}
2123
2124func (x *BatchTranslateTextRequest) String() string {
2125	return protoimpl.X.MessageStringOf(x)
2126}
2127
2128func (*BatchTranslateTextRequest) ProtoMessage() {}
2129
2130func (x *BatchTranslateTextRequest) ProtoReflect() protoreflect.Message {
2131	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[19]
2132	if protoimpl.UnsafeEnabled && x != nil {
2133		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2134		if ms.LoadMessageInfo() == nil {
2135			ms.StoreMessageInfo(mi)
2136		}
2137		return ms
2138	}
2139	return mi.MessageOf(x)
2140}
2141
2142// Deprecated: Use BatchTranslateTextRequest.ProtoReflect.Descriptor instead.
2143func (*BatchTranslateTextRequest) Descriptor() ([]byte, []int) {
2144	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{19}
2145}
2146
2147func (x *BatchTranslateTextRequest) GetParent() string {
2148	if x != nil {
2149		return x.Parent
2150	}
2151	return ""
2152}
2153
2154func (x *BatchTranslateTextRequest) GetSourceLanguageCode() string {
2155	if x != nil {
2156		return x.SourceLanguageCode
2157	}
2158	return ""
2159}
2160
2161func (x *BatchTranslateTextRequest) GetTargetLanguageCodes() []string {
2162	if x != nil {
2163		return x.TargetLanguageCodes
2164	}
2165	return nil
2166}
2167
2168func (x *BatchTranslateTextRequest) GetModels() map[string]string {
2169	if x != nil {
2170		return x.Models
2171	}
2172	return nil
2173}
2174
2175func (x *BatchTranslateTextRequest) GetInputConfigs() []*InputConfig {
2176	if x != nil {
2177		return x.InputConfigs
2178	}
2179	return nil
2180}
2181
2182func (x *BatchTranslateTextRequest) GetOutputConfig() *OutputConfig {
2183	if x != nil {
2184		return x.OutputConfig
2185	}
2186	return nil
2187}
2188
2189func (x *BatchTranslateTextRequest) GetGlossaries() map[string]*TranslateTextGlossaryConfig {
2190	if x != nil {
2191		return x.Glossaries
2192	}
2193	return nil
2194}
2195
2196func (x *BatchTranslateTextRequest) GetLabels() map[string]string {
2197	if x != nil {
2198		return x.Labels
2199	}
2200	return nil
2201}
2202
2203// State metadata for the batch translation operation.
2204type BatchTranslateMetadata struct {
2205	state         protoimpl.MessageState
2206	sizeCache     protoimpl.SizeCache
2207	unknownFields protoimpl.UnknownFields
2208
2209	// The state of the operation.
2210	State BatchTranslateMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.translation.v3.BatchTranslateMetadata_State" json:"state,omitempty"`
2211	// Number of successfully translated characters so far (Unicode codepoints).
2212	TranslatedCharacters int64 `protobuf:"varint,2,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"`
2213	// Number of characters that have failed to process so far (Unicode
2214	// codepoints).
2215	FailedCharacters int64 `protobuf:"varint,3,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"`
2216	// Total number of characters (Unicode codepoints).
2217	// This is the total number of codepoints from input files times the number of
2218	// target languages and appears here shortly after the call is submitted.
2219	TotalCharacters int64 `protobuf:"varint,4,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"`
2220	// Time when the operation was submitted.
2221	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
2222}
2223
2224func (x *BatchTranslateMetadata) Reset() {
2225	*x = BatchTranslateMetadata{}
2226	if protoimpl.UnsafeEnabled {
2227		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[20]
2228		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2229		ms.StoreMessageInfo(mi)
2230	}
2231}
2232
2233func (x *BatchTranslateMetadata) String() string {
2234	return protoimpl.X.MessageStringOf(x)
2235}
2236
2237func (*BatchTranslateMetadata) ProtoMessage() {}
2238
2239func (x *BatchTranslateMetadata) ProtoReflect() protoreflect.Message {
2240	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[20]
2241	if protoimpl.UnsafeEnabled && x != nil {
2242		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2243		if ms.LoadMessageInfo() == nil {
2244			ms.StoreMessageInfo(mi)
2245		}
2246		return ms
2247	}
2248	return mi.MessageOf(x)
2249}
2250
2251// Deprecated: Use BatchTranslateMetadata.ProtoReflect.Descriptor instead.
2252func (*BatchTranslateMetadata) Descriptor() ([]byte, []int) {
2253	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{20}
2254}
2255
2256func (x *BatchTranslateMetadata) GetState() BatchTranslateMetadata_State {
2257	if x != nil {
2258		return x.State
2259	}
2260	return BatchTranslateMetadata_STATE_UNSPECIFIED
2261}
2262
2263func (x *BatchTranslateMetadata) GetTranslatedCharacters() int64 {
2264	if x != nil {
2265		return x.TranslatedCharacters
2266	}
2267	return 0
2268}
2269
2270func (x *BatchTranslateMetadata) GetFailedCharacters() int64 {
2271	if x != nil {
2272		return x.FailedCharacters
2273	}
2274	return 0
2275}
2276
2277func (x *BatchTranslateMetadata) GetTotalCharacters() int64 {
2278	if x != nil {
2279		return x.TotalCharacters
2280	}
2281	return 0
2282}
2283
2284func (x *BatchTranslateMetadata) GetSubmitTime() *timestamppb.Timestamp {
2285	if x != nil {
2286		return x.SubmitTime
2287	}
2288	return nil
2289}
2290
2291// Stored in the
2292// [google.longrunning.Operation.response][google.longrunning.Operation.response]
2293// field returned by BatchTranslateText if at least one sentence is translated
2294// successfully.
2295type BatchTranslateResponse struct {
2296	state         protoimpl.MessageState
2297	sizeCache     protoimpl.SizeCache
2298	unknownFields protoimpl.UnknownFields
2299
2300	// Total number of characters (Unicode codepoints).
2301	TotalCharacters int64 `protobuf:"varint,1,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"`
2302	// Number of successfully translated characters (Unicode codepoints).
2303	TranslatedCharacters int64 `protobuf:"varint,2,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"`
2304	// Number of characters that have failed to process (Unicode codepoints).
2305	FailedCharacters int64 `protobuf:"varint,3,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"`
2306	// Time when the operation was submitted.
2307	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
2308	// The time when the operation is finished and
2309	// [google.longrunning.Operation.done][google.longrunning.Operation.done] is
2310	// set to true.
2311	EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
2312}
2313
2314func (x *BatchTranslateResponse) Reset() {
2315	*x = BatchTranslateResponse{}
2316	if protoimpl.UnsafeEnabled {
2317		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[21]
2318		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2319		ms.StoreMessageInfo(mi)
2320	}
2321}
2322
2323func (x *BatchTranslateResponse) String() string {
2324	return protoimpl.X.MessageStringOf(x)
2325}
2326
2327func (*BatchTranslateResponse) ProtoMessage() {}
2328
2329func (x *BatchTranslateResponse) ProtoReflect() protoreflect.Message {
2330	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[21]
2331	if protoimpl.UnsafeEnabled && x != nil {
2332		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2333		if ms.LoadMessageInfo() == nil {
2334			ms.StoreMessageInfo(mi)
2335		}
2336		return ms
2337	}
2338	return mi.MessageOf(x)
2339}
2340
2341// Deprecated: Use BatchTranslateResponse.ProtoReflect.Descriptor instead.
2342func (*BatchTranslateResponse) Descriptor() ([]byte, []int) {
2343	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{21}
2344}
2345
2346func (x *BatchTranslateResponse) GetTotalCharacters() int64 {
2347	if x != nil {
2348		return x.TotalCharacters
2349	}
2350	return 0
2351}
2352
2353func (x *BatchTranslateResponse) GetTranslatedCharacters() int64 {
2354	if x != nil {
2355		return x.TranslatedCharacters
2356	}
2357	return 0
2358}
2359
2360func (x *BatchTranslateResponse) GetFailedCharacters() int64 {
2361	if x != nil {
2362		return x.FailedCharacters
2363	}
2364	return 0
2365}
2366
2367func (x *BatchTranslateResponse) GetSubmitTime() *timestamppb.Timestamp {
2368	if x != nil {
2369		return x.SubmitTime
2370	}
2371	return nil
2372}
2373
2374func (x *BatchTranslateResponse) GetEndTime() *timestamppb.Timestamp {
2375	if x != nil {
2376		return x.EndTime
2377	}
2378	return nil
2379}
2380
2381// Input configuration for glossaries.
2382type GlossaryInputConfig struct {
2383	state         protoimpl.MessageState
2384	sizeCache     protoimpl.SizeCache
2385	unknownFields protoimpl.UnknownFields
2386
2387	// Required. Specify the input.
2388	//
2389	// Types that are assignable to Source:
2390	//	*GlossaryInputConfig_GcsSource
2391	Source isGlossaryInputConfig_Source `protobuf_oneof:"source"`
2392}
2393
2394func (x *GlossaryInputConfig) Reset() {
2395	*x = GlossaryInputConfig{}
2396	if protoimpl.UnsafeEnabled {
2397		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[22]
2398		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2399		ms.StoreMessageInfo(mi)
2400	}
2401}
2402
2403func (x *GlossaryInputConfig) String() string {
2404	return protoimpl.X.MessageStringOf(x)
2405}
2406
2407func (*GlossaryInputConfig) ProtoMessage() {}
2408
2409func (x *GlossaryInputConfig) ProtoReflect() protoreflect.Message {
2410	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[22]
2411	if protoimpl.UnsafeEnabled && x != nil {
2412		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2413		if ms.LoadMessageInfo() == nil {
2414			ms.StoreMessageInfo(mi)
2415		}
2416		return ms
2417	}
2418	return mi.MessageOf(x)
2419}
2420
2421// Deprecated: Use GlossaryInputConfig.ProtoReflect.Descriptor instead.
2422func (*GlossaryInputConfig) Descriptor() ([]byte, []int) {
2423	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{22}
2424}
2425
2426func (m *GlossaryInputConfig) GetSource() isGlossaryInputConfig_Source {
2427	if m != nil {
2428		return m.Source
2429	}
2430	return nil
2431}
2432
2433func (x *GlossaryInputConfig) GetGcsSource() *GcsSource {
2434	if x, ok := x.GetSource().(*GlossaryInputConfig_GcsSource); ok {
2435		return x.GcsSource
2436	}
2437	return nil
2438}
2439
2440type isGlossaryInputConfig_Source interface {
2441	isGlossaryInputConfig_Source()
2442}
2443
2444type GlossaryInputConfig_GcsSource struct {
2445	// Required. Google Cloud Storage location of glossary data.
2446	// File format is determined based on the filename extension. API returns
2447	// [google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file
2448	// formats. Wildcards are not allowed. This must be a single file in one of
2449	// the following formats:
2450	//
2451	// For unidirectional glossaries:
2452	//
2453	// - TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated.
2454	//   The first column is source text. The second column is target text.
2455	//   The file must not contain headers. That is, the first row is data, not
2456	//   column names.
2457	//
2458	// - TMX (`.tmx`): TMX file with parallel data defining source/target term
2459	// pairs.
2460	//
2461	// For equivalent term sets glossaries:
2462	//
2463	// - CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms
2464	//   in multiple languages. See documentation for more information -
2465	//   [glossaries](https://cloud.google.com/translate/docs/advanced/glossary).
2466	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
2467}
2468
2469func (*GlossaryInputConfig_GcsSource) isGlossaryInputConfig_Source() {}
2470
2471// Represents a glossary built from user provided data.
2472type Glossary struct {
2473	state         protoimpl.MessageState
2474	sizeCache     protoimpl.SizeCache
2475	unknownFields protoimpl.UnknownFields
2476
2477	// Required. The resource name of the glossary. Glossary names have the form
2478	// `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`.
2479	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2480	// Languages supported by the glossary.
2481	//
2482	// Types that are assignable to Languages:
2483	//	*Glossary_LanguagePair
2484	//	*Glossary_LanguageCodesSet_
2485	Languages isGlossary_Languages `protobuf_oneof:"languages"`
2486	// Required. Provides examples to build the glossary from.
2487	// Total glossary must not exceed 10M Unicode codepoints.
2488	InputConfig *GlossaryInputConfig `protobuf:"bytes,5,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2489	// Output only. The number of entries defined in the glossary.
2490	EntryCount int32 `protobuf:"varint,6,opt,name=entry_count,json=entryCount,proto3" json:"entry_count,omitempty"`
2491	// Output only. When CreateGlossary was called.
2492	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
2493	// Output only. When the glossary creation was finished.
2494	EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
2495}
2496
2497func (x *Glossary) Reset() {
2498	*x = Glossary{}
2499	if protoimpl.UnsafeEnabled {
2500		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[23]
2501		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2502		ms.StoreMessageInfo(mi)
2503	}
2504}
2505
2506func (x *Glossary) String() string {
2507	return protoimpl.X.MessageStringOf(x)
2508}
2509
2510func (*Glossary) ProtoMessage() {}
2511
2512func (x *Glossary) ProtoReflect() protoreflect.Message {
2513	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[23]
2514	if protoimpl.UnsafeEnabled && x != nil {
2515		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2516		if ms.LoadMessageInfo() == nil {
2517			ms.StoreMessageInfo(mi)
2518		}
2519		return ms
2520	}
2521	return mi.MessageOf(x)
2522}
2523
2524// Deprecated: Use Glossary.ProtoReflect.Descriptor instead.
2525func (*Glossary) Descriptor() ([]byte, []int) {
2526	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{23}
2527}
2528
2529func (x *Glossary) GetName() string {
2530	if x != nil {
2531		return x.Name
2532	}
2533	return ""
2534}
2535
2536func (m *Glossary) GetLanguages() isGlossary_Languages {
2537	if m != nil {
2538		return m.Languages
2539	}
2540	return nil
2541}
2542
2543func (x *Glossary) GetLanguagePair() *Glossary_LanguageCodePair {
2544	if x, ok := x.GetLanguages().(*Glossary_LanguagePair); ok {
2545		return x.LanguagePair
2546	}
2547	return nil
2548}
2549
2550func (x *Glossary) GetLanguageCodesSet() *Glossary_LanguageCodesSet {
2551	if x, ok := x.GetLanguages().(*Glossary_LanguageCodesSet_); ok {
2552		return x.LanguageCodesSet
2553	}
2554	return nil
2555}
2556
2557func (x *Glossary) GetInputConfig() *GlossaryInputConfig {
2558	if x != nil {
2559		return x.InputConfig
2560	}
2561	return nil
2562}
2563
2564func (x *Glossary) GetEntryCount() int32 {
2565	if x != nil {
2566		return x.EntryCount
2567	}
2568	return 0
2569}
2570
2571func (x *Glossary) GetSubmitTime() *timestamppb.Timestamp {
2572	if x != nil {
2573		return x.SubmitTime
2574	}
2575	return nil
2576}
2577
2578func (x *Glossary) GetEndTime() *timestamppb.Timestamp {
2579	if x != nil {
2580		return x.EndTime
2581	}
2582	return nil
2583}
2584
2585type isGlossary_Languages interface {
2586	isGlossary_Languages()
2587}
2588
2589type Glossary_LanguagePair struct {
2590	// Used with unidirectional glossaries.
2591	LanguagePair *Glossary_LanguageCodePair `protobuf:"bytes,3,opt,name=language_pair,json=languagePair,proto3,oneof"`
2592}
2593
2594type Glossary_LanguageCodesSet_ struct {
2595	// Used with equivalent term set glossaries.
2596	LanguageCodesSet *Glossary_LanguageCodesSet `protobuf:"bytes,4,opt,name=language_codes_set,json=languageCodesSet,proto3,oneof"`
2597}
2598
2599func (*Glossary_LanguagePair) isGlossary_Languages() {}
2600
2601func (*Glossary_LanguageCodesSet_) isGlossary_Languages() {}
2602
2603// Request message for CreateGlossary.
2604type CreateGlossaryRequest struct {
2605	state         protoimpl.MessageState
2606	sizeCache     protoimpl.SizeCache
2607	unknownFields protoimpl.UnknownFields
2608
2609	// Required. The project name.
2610	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2611	// Required. The glossary to create.
2612	Glossary *Glossary `protobuf:"bytes,2,opt,name=glossary,proto3" json:"glossary,omitempty"`
2613}
2614
2615func (x *CreateGlossaryRequest) Reset() {
2616	*x = CreateGlossaryRequest{}
2617	if protoimpl.UnsafeEnabled {
2618		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[24]
2619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2620		ms.StoreMessageInfo(mi)
2621	}
2622}
2623
2624func (x *CreateGlossaryRequest) String() string {
2625	return protoimpl.X.MessageStringOf(x)
2626}
2627
2628func (*CreateGlossaryRequest) ProtoMessage() {}
2629
2630func (x *CreateGlossaryRequest) ProtoReflect() protoreflect.Message {
2631	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[24]
2632	if protoimpl.UnsafeEnabled && x != nil {
2633		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2634		if ms.LoadMessageInfo() == nil {
2635			ms.StoreMessageInfo(mi)
2636		}
2637		return ms
2638	}
2639	return mi.MessageOf(x)
2640}
2641
2642// Deprecated: Use CreateGlossaryRequest.ProtoReflect.Descriptor instead.
2643func (*CreateGlossaryRequest) Descriptor() ([]byte, []int) {
2644	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{24}
2645}
2646
2647func (x *CreateGlossaryRequest) GetParent() string {
2648	if x != nil {
2649		return x.Parent
2650	}
2651	return ""
2652}
2653
2654func (x *CreateGlossaryRequest) GetGlossary() *Glossary {
2655	if x != nil {
2656		return x.Glossary
2657	}
2658	return nil
2659}
2660
2661// Request message for GetGlossary.
2662type GetGlossaryRequest struct {
2663	state         protoimpl.MessageState
2664	sizeCache     protoimpl.SizeCache
2665	unknownFields protoimpl.UnknownFields
2666
2667	// Required. The name of the glossary to retrieve.
2668	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2669}
2670
2671func (x *GetGlossaryRequest) Reset() {
2672	*x = GetGlossaryRequest{}
2673	if protoimpl.UnsafeEnabled {
2674		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[25]
2675		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2676		ms.StoreMessageInfo(mi)
2677	}
2678}
2679
2680func (x *GetGlossaryRequest) String() string {
2681	return protoimpl.X.MessageStringOf(x)
2682}
2683
2684func (*GetGlossaryRequest) ProtoMessage() {}
2685
2686func (x *GetGlossaryRequest) ProtoReflect() protoreflect.Message {
2687	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[25]
2688	if protoimpl.UnsafeEnabled && x != nil {
2689		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2690		if ms.LoadMessageInfo() == nil {
2691			ms.StoreMessageInfo(mi)
2692		}
2693		return ms
2694	}
2695	return mi.MessageOf(x)
2696}
2697
2698// Deprecated: Use GetGlossaryRequest.ProtoReflect.Descriptor instead.
2699func (*GetGlossaryRequest) Descriptor() ([]byte, []int) {
2700	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{25}
2701}
2702
2703func (x *GetGlossaryRequest) GetName() string {
2704	if x != nil {
2705		return x.Name
2706	}
2707	return ""
2708}
2709
2710// Request message for DeleteGlossary.
2711type DeleteGlossaryRequest struct {
2712	state         protoimpl.MessageState
2713	sizeCache     protoimpl.SizeCache
2714	unknownFields protoimpl.UnknownFields
2715
2716	// Required. The name of the glossary to delete.
2717	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2718}
2719
2720func (x *DeleteGlossaryRequest) Reset() {
2721	*x = DeleteGlossaryRequest{}
2722	if protoimpl.UnsafeEnabled {
2723		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[26]
2724		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2725		ms.StoreMessageInfo(mi)
2726	}
2727}
2728
2729func (x *DeleteGlossaryRequest) String() string {
2730	return protoimpl.X.MessageStringOf(x)
2731}
2732
2733func (*DeleteGlossaryRequest) ProtoMessage() {}
2734
2735func (x *DeleteGlossaryRequest) ProtoReflect() protoreflect.Message {
2736	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[26]
2737	if protoimpl.UnsafeEnabled && x != nil {
2738		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2739		if ms.LoadMessageInfo() == nil {
2740			ms.StoreMessageInfo(mi)
2741		}
2742		return ms
2743	}
2744	return mi.MessageOf(x)
2745}
2746
2747// Deprecated: Use DeleteGlossaryRequest.ProtoReflect.Descriptor instead.
2748func (*DeleteGlossaryRequest) Descriptor() ([]byte, []int) {
2749	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{26}
2750}
2751
2752func (x *DeleteGlossaryRequest) GetName() string {
2753	if x != nil {
2754		return x.Name
2755	}
2756	return ""
2757}
2758
2759// Request message for ListGlossaries.
2760type ListGlossariesRequest struct {
2761	state         protoimpl.MessageState
2762	sizeCache     protoimpl.SizeCache
2763	unknownFields protoimpl.UnknownFields
2764
2765	// Required. The name of the project from which to list all of the glossaries.
2766	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2767	// Optional. Requested page size. The server may return fewer glossaries than
2768	// requested. If unspecified, the server picks an appropriate default.
2769	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2770	// Optional. A token identifying a page of results the server should return.
2771	// Typically, this is the value of [ListGlossariesResponse.next_page_token]
2772	// returned from the previous call to `ListGlossaries` method.
2773	// The first page is returned if `page_token`is empty or missing.
2774	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2775	// Optional. Filter specifying constraints of a list operation.
2776	// Specify the constraint by the format of "key=value", where key must be
2777	// "src" or "tgt", and the value must be a valid language code.
2778	// For multiple restrictions, concatenate them by "AND" (uppercase only),
2779	// such as: "src=en-US AND tgt=zh-CN". Notice that the exact match is used
2780	// here, which means using 'en-US' and 'en' can lead to different results,
2781	// which depends on the language code you used when you create the glossary.
2782	// For the unidirectional glossaries, the "src" and "tgt" add restrictions
2783	// on the source and target language code separately.
2784	// For the equivalent term set glossaries, the "src" and/or "tgt" add
2785	// restrictions on the term set.
2786	// For example: "src=en-US AND tgt=zh-CN" will only pick the unidirectional
2787	// glossaries which exactly match the source language code as "en-US" and the
2788	// target language code "zh-CN", but all equivalent term set glossaries which
2789	// contain "en-US" and "zh-CN" in their language set will be picked.
2790	// If missing, no filtering is performed.
2791	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
2792}
2793
2794func (x *ListGlossariesRequest) Reset() {
2795	*x = ListGlossariesRequest{}
2796	if protoimpl.UnsafeEnabled {
2797		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[27]
2798		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2799		ms.StoreMessageInfo(mi)
2800	}
2801}
2802
2803func (x *ListGlossariesRequest) String() string {
2804	return protoimpl.X.MessageStringOf(x)
2805}
2806
2807func (*ListGlossariesRequest) ProtoMessage() {}
2808
2809func (x *ListGlossariesRequest) ProtoReflect() protoreflect.Message {
2810	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[27]
2811	if protoimpl.UnsafeEnabled && x != nil {
2812		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2813		if ms.LoadMessageInfo() == nil {
2814			ms.StoreMessageInfo(mi)
2815		}
2816		return ms
2817	}
2818	return mi.MessageOf(x)
2819}
2820
2821// Deprecated: Use ListGlossariesRequest.ProtoReflect.Descriptor instead.
2822func (*ListGlossariesRequest) Descriptor() ([]byte, []int) {
2823	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{27}
2824}
2825
2826func (x *ListGlossariesRequest) GetParent() string {
2827	if x != nil {
2828		return x.Parent
2829	}
2830	return ""
2831}
2832
2833func (x *ListGlossariesRequest) GetPageSize() int32 {
2834	if x != nil {
2835		return x.PageSize
2836	}
2837	return 0
2838}
2839
2840func (x *ListGlossariesRequest) GetPageToken() string {
2841	if x != nil {
2842		return x.PageToken
2843	}
2844	return ""
2845}
2846
2847func (x *ListGlossariesRequest) GetFilter() string {
2848	if x != nil {
2849		return x.Filter
2850	}
2851	return ""
2852}
2853
2854// Response message for ListGlossaries.
2855type ListGlossariesResponse struct {
2856	state         protoimpl.MessageState
2857	sizeCache     protoimpl.SizeCache
2858	unknownFields protoimpl.UnknownFields
2859
2860	// The list of glossaries for a project.
2861	Glossaries []*Glossary `protobuf:"bytes,1,rep,name=glossaries,proto3" json:"glossaries,omitempty"`
2862	// A token to retrieve a page of results. Pass this value in the
2863	// [ListGlossariesRequest.page_token] field in the subsequent call to
2864	// `ListGlossaries` method to retrieve the next page of results.
2865	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2866}
2867
2868func (x *ListGlossariesResponse) Reset() {
2869	*x = ListGlossariesResponse{}
2870	if protoimpl.UnsafeEnabled {
2871		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[28]
2872		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2873		ms.StoreMessageInfo(mi)
2874	}
2875}
2876
2877func (x *ListGlossariesResponse) String() string {
2878	return protoimpl.X.MessageStringOf(x)
2879}
2880
2881func (*ListGlossariesResponse) ProtoMessage() {}
2882
2883func (x *ListGlossariesResponse) ProtoReflect() protoreflect.Message {
2884	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[28]
2885	if protoimpl.UnsafeEnabled && x != nil {
2886		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2887		if ms.LoadMessageInfo() == nil {
2888			ms.StoreMessageInfo(mi)
2889		}
2890		return ms
2891	}
2892	return mi.MessageOf(x)
2893}
2894
2895// Deprecated: Use ListGlossariesResponse.ProtoReflect.Descriptor instead.
2896func (*ListGlossariesResponse) Descriptor() ([]byte, []int) {
2897	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{28}
2898}
2899
2900func (x *ListGlossariesResponse) GetGlossaries() []*Glossary {
2901	if x != nil {
2902		return x.Glossaries
2903	}
2904	return nil
2905}
2906
2907func (x *ListGlossariesResponse) GetNextPageToken() string {
2908	if x != nil {
2909		return x.NextPageToken
2910	}
2911	return ""
2912}
2913
2914// Stored in the
2915// [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata]
2916// field returned by CreateGlossary.
2917type CreateGlossaryMetadata struct {
2918	state         protoimpl.MessageState
2919	sizeCache     protoimpl.SizeCache
2920	unknownFields protoimpl.UnknownFields
2921
2922	// The name of the glossary that is being created.
2923	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2924	// The current state of the glossary creation operation.
2925	State CreateGlossaryMetadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.translation.v3.CreateGlossaryMetadata_State" json:"state,omitempty"`
2926	// The time when the operation was submitted to the server.
2927	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
2928}
2929
2930func (x *CreateGlossaryMetadata) Reset() {
2931	*x = CreateGlossaryMetadata{}
2932	if protoimpl.UnsafeEnabled {
2933		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[29]
2934		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2935		ms.StoreMessageInfo(mi)
2936	}
2937}
2938
2939func (x *CreateGlossaryMetadata) String() string {
2940	return protoimpl.X.MessageStringOf(x)
2941}
2942
2943func (*CreateGlossaryMetadata) ProtoMessage() {}
2944
2945func (x *CreateGlossaryMetadata) ProtoReflect() protoreflect.Message {
2946	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[29]
2947	if protoimpl.UnsafeEnabled && x != nil {
2948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2949		if ms.LoadMessageInfo() == nil {
2950			ms.StoreMessageInfo(mi)
2951		}
2952		return ms
2953	}
2954	return mi.MessageOf(x)
2955}
2956
2957// Deprecated: Use CreateGlossaryMetadata.ProtoReflect.Descriptor instead.
2958func (*CreateGlossaryMetadata) Descriptor() ([]byte, []int) {
2959	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{29}
2960}
2961
2962func (x *CreateGlossaryMetadata) GetName() string {
2963	if x != nil {
2964		return x.Name
2965	}
2966	return ""
2967}
2968
2969func (x *CreateGlossaryMetadata) GetState() CreateGlossaryMetadata_State {
2970	if x != nil {
2971		return x.State
2972	}
2973	return CreateGlossaryMetadata_STATE_UNSPECIFIED
2974}
2975
2976func (x *CreateGlossaryMetadata) GetSubmitTime() *timestamppb.Timestamp {
2977	if x != nil {
2978		return x.SubmitTime
2979	}
2980	return nil
2981}
2982
2983// Stored in the
2984// [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata]
2985// field returned by DeleteGlossary.
2986type DeleteGlossaryMetadata struct {
2987	state         protoimpl.MessageState
2988	sizeCache     protoimpl.SizeCache
2989	unknownFields protoimpl.UnknownFields
2990
2991	// The name of the glossary that is being deleted.
2992	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2993	// The current state of the glossary deletion operation.
2994	State DeleteGlossaryMetadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.translation.v3.DeleteGlossaryMetadata_State" json:"state,omitempty"`
2995	// The time when the operation was submitted to the server.
2996	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
2997}
2998
2999func (x *DeleteGlossaryMetadata) Reset() {
3000	*x = DeleteGlossaryMetadata{}
3001	if protoimpl.UnsafeEnabled {
3002		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[30]
3003		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3004		ms.StoreMessageInfo(mi)
3005	}
3006}
3007
3008func (x *DeleteGlossaryMetadata) String() string {
3009	return protoimpl.X.MessageStringOf(x)
3010}
3011
3012func (*DeleteGlossaryMetadata) ProtoMessage() {}
3013
3014func (x *DeleteGlossaryMetadata) ProtoReflect() protoreflect.Message {
3015	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[30]
3016	if protoimpl.UnsafeEnabled && x != nil {
3017		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3018		if ms.LoadMessageInfo() == nil {
3019			ms.StoreMessageInfo(mi)
3020		}
3021		return ms
3022	}
3023	return mi.MessageOf(x)
3024}
3025
3026// Deprecated: Use DeleteGlossaryMetadata.ProtoReflect.Descriptor instead.
3027func (*DeleteGlossaryMetadata) Descriptor() ([]byte, []int) {
3028	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{30}
3029}
3030
3031func (x *DeleteGlossaryMetadata) GetName() string {
3032	if x != nil {
3033		return x.Name
3034	}
3035	return ""
3036}
3037
3038func (x *DeleteGlossaryMetadata) GetState() DeleteGlossaryMetadata_State {
3039	if x != nil {
3040		return x.State
3041	}
3042	return DeleteGlossaryMetadata_STATE_UNSPECIFIED
3043}
3044
3045func (x *DeleteGlossaryMetadata) GetSubmitTime() *timestamppb.Timestamp {
3046	if x != nil {
3047		return x.SubmitTime
3048	}
3049	return nil
3050}
3051
3052// Stored in the
3053// [google.longrunning.Operation.response][google.longrunning.Operation.response]
3054// field returned by DeleteGlossary.
3055type DeleteGlossaryResponse struct {
3056	state         protoimpl.MessageState
3057	sizeCache     protoimpl.SizeCache
3058	unknownFields protoimpl.UnknownFields
3059
3060	// The name of the deleted glossary.
3061	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3062	// The time when the operation was submitted to the server.
3063	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
3064	// The time when the glossary deletion is finished and
3065	// [google.longrunning.Operation.done][google.longrunning.Operation.done] is
3066	// set to true.
3067	EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
3068}
3069
3070func (x *DeleteGlossaryResponse) Reset() {
3071	*x = DeleteGlossaryResponse{}
3072	if protoimpl.UnsafeEnabled {
3073		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[31]
3074		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3075		ms.StoreMessageInfo(mi)
3076	}
3077}
3078
3079func (x *DeleteGlossaryResponse) String() string {
3080	return protoimpl.X.MessageStringOf(x)
3081}
3082
3083func (*DeleteGlossaryResponse) ProtoMessage() {}
3084
3085func (x *DeleteGlossaryResponse) ProtoReflect() protoreflect.Message {
3086	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[31]
3087	if protoimpl.UnsafeEnabled && x != nil {
3088		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3089		if ms.LoadMessageInfo() == nil {
3090			ms.StoreMessageInfo(mi)
3091		}
3092		return ms
3093	}
3094	return mi.MessageOf(x)
3095}
3096
3097// Deprecated: Use DeleteGlossaryResponse.ProtoReflect.Descriptor instead.
3098func (*DeleteGlossaryResponse) Descriptor() ([]byte, []int) {
3099	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{31}
3100}
3101
3102func (x *DeleteGlossaryResponse) GetName() string {
3103	if x != nil {
3104		return x.Name
3105	}
3106	return ""
3107}
3108
3109func (x *DeleteGlossaryResponse) GetSubmitTime() *timestamppb.Timestamp {
3110	if x != nil {
3111		return x.SubmitTime
3112	}
3113	return nil
3114}
3115
3116func (x *DeleteGlossaryResponse) GetEndTime() *timestamppb.Timestamp {
3117	if x != nil {
3118		return x.EndTime
3119	}
3120	return nil
3121}
3122
3123// The BatchTranslateDocument request.
3124type BatchTranslateDocumentRequest struct {
3125	state         protoimpl.MessageState
3126	sizeCache     protoimpl.SizeCache
3127	unknownFields protoimpl.UnknownFields
3128
3129	// Required. Location to make a regional call.
3130	//
3131	// Format: `projects/{project-number-or-id}/locations/{location-id}`.
3132	//
3133	// The `global` location is not supported for batch translation.
3134	//
3135	// Only AutoML Translation models or glossaries within the same region (have
3136	// the same location-id) can be used, otherwise an INVALID_ARGUMENT (400)
3137	// error is returned.
3138	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
3139	// Required. The BCP-47 language code of the input document if known, for
3140	// example, "en-US" or "sr-Latn". Supported language codes are listed in
3141	// Language Support (https://cloud.google.com/translate/docs/languages).
3142	SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
3143	// Required. The BCP-47 language code to use for translation of the input
3144	// document. Specify up to 10 language codes here.
3145	TargetLanguageCodes []string `protobuf:"bytes,3,rep,name=target_language_codes,json=targetLanguageCodes,proto3" json:"target_language_codes,omitempty"`
3146	// Required. Input configurations.
3147	// The total number of files matched should be <= 100.
3148	// The total content size to translate should be <= 100M Unicode codepoints.
3149	// The files must use UTF-8 encoding.
3150	InputConfigs []*BatchDocumentInputConfig `protobuf:"bytes,4,rep,name=input_configs,json=inputConfigs,proto3" json:"input_configs,omitempty"`
3151	// Required. Output configuration.
3152	// If 2 input configs match to the same file (that is, same input path),
3153	// we don't generate output for duplicate inputs.
3154	OutputConfig *BatchDocumentOutputConfig `protobuf:"bytes,5,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
3155	// Optional. The models to use for translation. Map's key is target language
3156	// code. Map's value is the model name. Value can be a built-in general model,
3157	// or an AutoML Translation model.
3158	//
3159	// The value format depends on model type:
3160	//
3161	// - AutoML Translation models:
3162	//   `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}`
3163	//
3164	// - General (built-in) models:
3165	//   `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`,
3166	//
3167	//
3168	// If the map is empty or a specific model is
3169	// not requested for a language pair, then default google model (nmt) is used.
3170	Models map[string]string `protobuf:"bytes,6,rep,name=models,proto3" json:"models,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
3171	// Optional. Glossaries to be applied. It's keyed by target language code.
3172	Glossaries map[string]*TranslateTextGlossaryConfig `protobuf:"bytes,7,rep,name=glossaries,proto3" json:"glossaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
3173	// Optional. File format conversion map to be applied to all input files.
3174	// Map's key is the original mime_type. Map's value is the target mime_type of
3175	// translated documents.
3176	//
3177	// Supported file format conversion includes:
3178	// - `application/pdf` to
3179	//   `application/vnd.openxmlformats-officedocument.wordprocessingml.document`
3180	//
3181	// If nothing specified, output files will be in the same format as the
3182	// original file.
3183	FormatConversions map[string]string `protobuf:"bytes,8,rep,name=format_conversions,json=formatConversions,proto3" json:"format_conversions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
3184}
3185
3186func (x *BatchTranslateDocumentRequest) Reset() {
3187	*x = BatchTranslateDocumentRequest{}
3188	if protoimpl.UnsafeEnabled {
3189		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[32]
3190		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3191		ms.StoreMessageInfo(mi)
3192	}
3193}
3194
3195func (x *BatchTranslateDocumentRequest) String() string {
3196	return protoimpl.X.MessageStringOf(x)
3197}
3198
3199func (*BatchTranslateDocumentRequest) ProtoMessage() {}
3200
3201func (x *BatchTranslateDocumentRequest) ProtoReflect() protoreflect.Message {
3202	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[32]
3203	if protoimpl.UnsafeEnabled && x != nil {
3204		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3205		if ms.LoadMessageInfo() == nil {
3206			ms.StoreMessageInfo(mi)
3207		}
3208		return ms
3209	}
3210	return mi.MessageOf(x)
3211}
3212
3213// Deprecated: Use BatchTranslateDocumentRequest.ProtoReflect.Descriptor instead.
3214func (*BatchTranslateDocumentRequest) Descriptor() ([]byte, []int) {
3215	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{32}
3216}
3217
3218func (x *BatchTranslateDocumentRequest) GetParent() string {
3219	if x != nil {
3220		return x.Parent
3221	}
3222	return ""
3223}
3224
3225func (x *BatchTranslateDocumentRequest) GetSourceLanguageCode() string {
3226	if x != nil {
3227		return x.SourceLanguageCode
3228	}
3229	return ""
3230}
3231
3232func (x *BatchTranslateDocumentRequest) GetTargetLanguageCodes() []string {
3233	if x != nil {
3234		return x.TargetLanguageCodes
3235	}
3236	return nil
3237}
3238
3239func (x *BatchTranslateDocumentRequest) GetInputConfigs() []*BatchDocumentInputConfig {
3240	if x != nil {
3241		return x.InputConfigs
3242	}
3243	return nil
3244}
3245
3246func (x *BatchTranslateDocumentRequest) GetOutputConfig() *BatchDocumentOutputConfig {
3247	if x != nil {
3248		return x.OutputConfig
3249	}
3250	return nil
3251}
3252
3253func (x *BatchTranslateDocumentRequest) GetModels() map[string]string {
3254	if x != nil {
3255		return x.Models
3256	}
3257	return nil
3258}
3259
3260func (x *BatchTranslateDocumentRequest) GetGlossaries() map[string]*TranslateTextGlossaryConfig {
3261	if x != nil {
3262		return x.Glossaries
3263	}
3264	return nil
3265}
3266
3267func (x *BatchTranslateDocumentRequest) GetFormatConversions() map[string]string {
3268	if x != nil {
3269		return x.FormatConversions
3270	}
3271	return nil
3272}
3273
3274// Input configuration for BatchTranslateDocument request.
3275type BatchDocumentInputConfig struct {
3276	state         protoimpl.MessageState
3277	sizeCache     protoimpl.SizeCache
3278	unknownFields protoimpl.UnknownFields
3279
3280	// Specify the input.
3281	//
3282	// Types that are assignable to Source:
3283	//	*BatchDocumentInputConfig_GcsSource
3284	Source isBatchDocumentInputConfig_Source `protobuf_oneof:"source"`
3285}
3286
3287func (x *BatchDocumentInputConfig) Reset() {
3288	*x = BatchDocumentInputConfig{}
3289	if protoimpl.UnsafeEnabled {
3290		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[33]
3291		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3292		ms.StoreMessageInfo(mi)
3293	}
3294}
3295
3296func (x *BatchDocumentInputConfig) String() string {
3297	return protoimpl.X.MessageStringOf(x)
3298}
3299
3300func (*BatchDocumentInputConfig) ProtoMessage() {}
3301
3302func (x *BatchDocumentInputConfig) ProtoReflect() protoreflect.Message {
3303	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[33]
3304	if protoimpl.UnsafeEnabled && x != nil {
3305		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3306		if ms.LoadMessageInfo() == nil {
3307			ms.StoreMessageInfo(mi)
3308		}
3309		return ms
3310	}
3311	return mi.MessageOf(x)
3312}
3313
3314// Deprecated: Use BatchDocumentInputConfig.ProtoReflect.Descriptor instead.
3315func (*BatchDocumentInputConfig) Descriptor() ([]byte, []int) {
3316	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{33}
3317}
3318
3319func (m *BatchDocumentInputConfig) GetSource() isBatchDocumentInputConfig_Source {
3320	if m != nil {
3321		return m.Source
3322	}
3323	return nil
3324}
3325
3326func (x *BatchDocumentInputConfig) GetGcsSource() *GcsSource {
3327	if x, ok := x.GetSource().(*BatchDocumentInputConfig_GcsSource); ok {
3328		return x.GcsSource
3329	}
3330	return nil
3331}
3332
3333type isBatchDocumentInputConfig_Source interface {
3334	isBatchDocumentInputConfig_Source()
3335}
3336
3337type BatchDocumentInputConfig_GcsSource struct {
3338	// Google Cloud Storage location for the source input.
3339	// This can be a single file (for example,
3340	// `gs://translation-test/input.docx`) or a wildcard (for example,
3341	// `gs://translation-test/*`).
3342	//
3343	// File mime type is determined based on extension. Supported mime type
3344	// includes:
3345	// - `pdf`, application/pdf
3346	// - `docx`,
3347	// application/vnd.openxmlformats-officedocument.wordprocessingml.document
3348	// - `pptx`,
3349	// application/vnd.openxmlformats-officedocument.presentationml.presentation
3350	// - `xlsx`,
3351	// application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
3352	//
3353	// The max file size to support for `.docx`, `.pptx` and `.xlsx` is 100MB.
3354	// The max file size to support for `.pdf` is 1GB and the max page limit is
3355	// 1000 pages.
3356	// The max file size to support for all input documents is 1GB.
3357	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
3358}
3359
3360func (*BatchDocumentInputConfig_GcsSource) isBatchDocumentInputConfig_Source() {}
3361
3362// Output configuration for BatchTranslateDocument request.
3363type BatchDocumentOutputConfig struct {
3364	state         protoimpl.MessageState
3365	sizeCache     protoimpl.SizeCache
3366	unknownFields protoimpl.UnknownFields
3367
3368	// The destination of output. The destination directory provided must exist
3369	// and be empty.
3370	//
3371	// Types that are assignable to Destination:
3372	//	*BatchDocumentOutputConfig_GcsDestination
3373	Destination isBatchDocumentOutputConfig_Destination `protobuf_oneof:"destination"`
3374}
3375
3376func (x *BatchDocumentOutputConfig) Reset() {
3377	*x = BatchDocumentOutputConfig{}
3378	if protoimpl.UnsafeEnabled {
3379		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[34]
3380		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3381		ms.StoreMessageInfo(mi)
3382	}
3383}
3384
3385func (x *BatchDocumentOutputConfig) String() string {
3386	return protoimpl.X.MessageStringOf(x)
3387}
3388
3389func (*BatchDocumentOutputConfig) ProtoMessage() {}
3390
3391func (x *BatchDocumentOutputConfig) ProtoReflect() protoreflect.Message {
3392	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[34]
3393	if protoimpl.UnsafeEnabled && x != nil {
3394		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3395		if ms.LoadMessageInfo() == nil {
3396			ms.StoreMessageInfo(mi)
3397		}
3398		return ms
3399	}
3400	return mi.MessageOf(x)
3401}
3402
3403// Deprecated: Use BatchDocumentOutputConfig.ProtoReflect.Descriptor instead.
3404func (*BatchDocumentOutputConfig) Descriptor() ([]byte, []int) {
3405	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{34}
3406}
3407
3408func (m *BatchDocumentOutputConfig) GetDestination() isBatchDocumentOutputConfig_Destination {
3409	if m != nil {
3410		return m.Destination
3411	}
3412	return nil
3413}
3414
3415func (x *BatchDocumentOutputConfig) GetGcsDestination() *GcsDestination {
3416	if x, ok := x.GetDestination().(*BatchDocumentOutputConfig_GcsDestination); ok {
3417		return x.GcsDestination
3418	}
3419	return nil
3420}
3421
3422type isBatchDocumentOutputConfig_Destination interface {
3423	isBatchDocumentOutputConfig_Destination()
3424}
3425
3426type BatchDocumentOutputConfig_GcsDestination struct {
3427	// Google Cloud Storage destination for output content.
3428	// For every single input document (for example, gs://a/b/c.[extension]), we
3429	// generate at most 2 * n output files. (n is the # of target_language_codes
3430	// in the BatchTranslateDocumentRequest).
3431	//
3432	// While the input documents are being processed, we write/update an index
3433	// file `index.csv` under `gcs_destination.output_uri_prefix` (for example,
3434	// gs://translation_output/index.csv) The index file is generated/updated as
3435	// new files are being translated. The format is:
3436	//
3437	// input_document,target_language_code,translation_output,error_output,
3438	// glossary_translation_output,glossary_error_output
3439	//
3440	// `input_document` is one file we matched using gcs_source.input_uri.
3441	// `target_language_code` is provided in the request.
3442	// `translation_output` contains the translations. (details provided below)
3443	// `error_output` contains the error message during processing of the file.
3444	// Both translations_file and errors_file could be empty strings if we have
3445	// no content to output.
3446	// `glossary_translation_output` and `glossary_error_output` are the
3447	// translated output/error when we apply glossaries. They could also be
3448	// empty if we have no content to output.
3449	//
3450	// Once a row is present in index.csv, the input/output matching never
3451	// changes. Callers should also expect all the content in input_file are
3452	// processed and ready to be consumed (that is, no partial output file is
3453	// written).
3454	//
3455	// Since index.csv will be keeping updated during the process, please make
3456	// sure there is no custom retention policy applied on the output bucket
3457	// that may avoid file updating.
3458	// (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy)
3459	//
3460	// The naming format of translation output files follows (for target
3461	// language code [trg]): `translation_output`:
3462	// gs://translation_output/a_b_c_[trg]_translation.[extension]
3463	// `glossary_translation_output`:
3464	// gs://translation_test/a_b_c_[trg]_glossary_translation.[extension] The
3465	// output document will maintain the same file format as the input document.
3466	//
3467	// The naming format of error output files follows (for target language code
3468	// [trg]): `error_output`: gs://translation_test/a_b_c_[trg]_errors.txt
3469	// `glossary_error_output`:
3470	// gs://translation_test/a_b_c_[trg]_glossary_translation.txt The error
3471	// output is a txt file containing error details.
3472	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
3473}
3474
3475func (*BatchDocumentOutputConfig_GcsDestination) isBatchDocumentOutputConfig_Destination() {}
3476
3477// Stored in the
3478// [google.longrunning.Operation.response][google.longrunning.Operation.response]
3479// field returned by BatchTranslateDocument if at least one document is
3480// translated successfully.
3481type BatchTranslateDocumentResponse struct {
3482	state         protoimpl.MessageState
3483	sizeCache     protoimpl.SizeCache
3484	unknownFields protoimpl.UnknownFields
3485
3486	// Total number of pages to translate in all documents. Documents without
3487	// clear page definition (such as XLSX) are not counted.
3488	TotalPages int64 `protobuf:"varint,1,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
3489	// Number of successfully translated pages in all documents. Documents without
3490	// clear page definition (such as XLSX) are not counted.
3491	TranslatedPages int64 `protobuf:"varint,2,opt,name=translated_pages,json=translatedPages,proto3" json:"translated_pages,omitempty"`
3492	// Number of pages that failed to process in all documents. Documents without
3493	// clear page definition (such as XLSX) are not counted.
3494	FailedPages int64 `protobuf:"varint,3,opt,name=failed_pages,json=failedPages,proto3" json:"failed_pages,omitempty"`
3495	// Number of billable pages in documents with clear page definition (such as
3496	// PDF, DOCX, PPTX)
3497	TotalBillablePages int64 `protobuf:"varint,4,opt,name=total_billable_pages,json=totalBillablePages,proto3" json:"total_billable_pages,omitempty"`
3498	// Total number of characters (Unicode codepoints) in all documents.
3499	TotalCharacters int64 `protobuf:"varint,5,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"`
3500	// Number of successfully translated characters (Unicode codepoints) in all
3501	// documents.
3502	TranslatedCharacters int64 `protobuf:"varint,6,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"`
3503	// Number of characters that have failed to process (Unicode codepoints) in
3504	// all documents.
3505	FailedCharacters int64 `protobuf:"varint,7,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"`
3506	// Number of billable characters (Unicode codepoints) in documents without
3507	// clear page definition, such as XLSX.
3508	TotalBillableCharacters int64 `protobuf:"varint,8,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"`
3509	// Time when the operation was submitted.
3510	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
3511	// The time when the operation is finished and
3512	// [google.longrunning.Operation.done][google.longrunning.Operation.done] is
3513	// set to true.
3514	EndTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
3515}
3516
3517func (x *BatchTranslateDocumentResponse) Reset() {
3518	*x = BatchTranslateDocumentResponse{}
3519	if protoimpl.UnsafeEnabled {
3520		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[35]
3521		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3522		ms.StoreMessageInfo(mi)
3523	}
3524}
3525
3526func (x *BatchTranslateDocumentResponse) String() string {
3527	return protoimpl.X.MessageStringOf(x)
3528}
3529
3530func (*BatchTranslateDocumentResponse) ProtoMessage() {}
3531
3532func (x *BatchTranslateDocumentResponse) ProtoReflect() protoreflect.Message {
3533	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[35]
3534	if protoimpl.UnsafeEnabled && x != nil {
3535		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3536		if ms.LoadMessageInfo() == nil {
3537			ms.StoreMessageInfo(mi)
3538		}
3539		return ms
3540	}
3541	return mi.MessageOf(x)
3542}
3543
3544// Deprecated: Use BatchTranslateDocumentResponse.ProtoReflect.Descriptor instead.
3545func (*BatchTranslateDocumentResponse) Descriptor() ([]byte, []int) {
3546	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{35}
3547}
3548
3549func (x *BatchTranslateDocumentResponse) GetTotalPages() int64 {
3550	if x != nil {
3551		return x.TotalPages
3552	}
3553	return 0
3554}
3555
3556func (x *BatchTranslateDocumentResponse) GetTranslatedPages() int64 {
3557	if x != nil {
3558		return x.TranslatedPages
3559	}
3560	return 0
3561}
3562
3563func (x *BatchTranslateDocumentResponse) GetFailedPages() int64 {
3564	if x != nil {
3565		return x.FailedPages
3566	}
3567	return 0
3568}
3569
3570func (x *BatchTranslateDocumentResponse) GetTotalBillablePages() int64 {
3571	if x != nil {
3572		return x.TotalBillablePages
3573	}
3574	return 0
3575}
3576
3577func (x *BatchTranslateDocumentResponse) GetTotalCharacters() int64 {
3578	if x != nil {
3579		return x.TotalCharacters
3580	}
3581	return 0
3582}
3583
3584func (x *BatchTranslateDocumentResponse) GetTranslatedCharacters() int64 {
3585	if x != nil {
3586		return x.TranslatedCharacters
3587	}
3588	return 0
3589}
3590
3591func (x *BatchTranslateDocumentResponse) GetFailedCharacters() int64 {
3592	if x != nil {
3593		return x.FailedCharacters
3594	}
3595	return 0
3596}
3597
3598func (x *BatchTranslateDocumentResponse) GetTotalBillableCharacters() int64 {
3599	if x != nil {
3600		return x.TotalBillableCharacters
3601	}
3602	return 0
3603}
3604
3605func (x *BatchTranslateDocumentResponse) GetSubmitTime() *timestamppb.Timestamp {
3606	if x != nil {
3607		return x.SubmitTime
3608	}
3609	return nil
3610}
3611
3612func (x *BatchTranslateDocumentResponse) GetEndTime() *timestamppb.Timestamp {
3613	if x != nil {
3614		return x.EndTime
3615	}
3616	return nil
3617}
3618
3619// State metadata for the batch translation operation.
3620type BatchTranslateDocumentMetadata struct {
3621	state         protoimpl.MessageState
3622	sizeCache     protoimpl.SizeCache
3623	unknownFields protoimpl.UnknownFields
3624
3625	// The state of the operation.
3626	State BatchTranslateDocumentMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.translation.v3.BatchTranslateDocumentMetadata_State" json:"state,omitempty"`
3627	// Total number of pages to translate in all documents so far. Documents
3628	// without clear page definition (such as XLSX) are not counted.
3629	TotalPages int64 `protobuf:"varint,2,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
3630	// Number of successfully translated pages in all documents so far. Documents
3631	// without clear page definition (such as XLSX) are not counted.
3632	TranslatedPages int64 `protobuf:"varint,3,opt,name=translated_pages,json=translatedPages,proto3" json:"translated_pages,omitempty"`
3633	// Number of pages that failed to process in all documents so far. Documents
3634	// without clear page definition (such as XLSX) are not counted.
3635	FailedPages int64 `protobuf:"varint,4,opt,name=failed_pages,json=failedPages,proto3" json:"failed_pages,omitempty"`
3636	// Number of billable pages in documents with clear page definition (such as
3637	// PDF, DOCX, PPTX) so far.
3638	TotalBillablePages int64 `protobuf:"varint,5,opt,name=total_billable_pages,json=totalBillablePages,proto3" json:"total_billable_pages,omitempty"`
3639	// Total number of characters (Unicode codepoints) in all documents so far.
3640	TotalCharacters int64 `protobuf:"varint,6,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"`
3641	// Number of successfully translated characters (Unicode codepoints) in all
3642	// documents so far.
3643	TranslatedCharacters int64 `protobuf:"varint,7,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"`
3644	// Number of characters that have failed to process (Unicode codepoints) in
3645	// all documents so far.
3646	FailedCharacters int64 `protobuf:"varint,8,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"`
3647	// Number of billable characters (Unicode codepoints) in documents without
3648	// clear page definition (such as XLSX) so far.
3649	TotalBillableCharacters int64 `protobuf:"varint,9,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"`
3650	// Time when the operation was submitted.
3651	SubmitTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
3652}
3653
3654func (x *BatchTranslateDocumentMetadata) Reset() {
3655	*x = BatchTranslateDocumentMetadata{}
3656	if protoimpl.UnsafeEnabled {
3657		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[36]
3658		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3659		ms.StoreMessageInfo(mi)
3660	}
3661}
3662
3663func (x *BatchTranslateDocumentMetadata) String() string {
3664	return protoimpl.X.MessageStringOf(x)
3665}
3666
3667func (*BatchTranslateDocumentMetadata) ProtoMessage() {}
3668
3669func (x *BatchTranslateDocumentMetadata) ProtoReflect() protoreflect.Message {
3670	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[36]
3671	if protoimpl.UnsafeEnabled && x != nil {
3672		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3673		if ms.LoadMessageInfo() == nil {
3674			ms.StoreMessageInfo(mi)
3675		}
3676		return ms
3677	}
3678	return mi.MessageOf(x)
3679}
3680
3681// Deprecated: Use BatchTranslateDocumentMetadata.ProtoReflect.Descriptor instead.
3682func (*BatchTranslateDocumentMetadata) Descriptor() ([]byte, []int) {
3683	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{36}
3684}
3685
3686func (x *BatchTranslateDocumentMetadata) GetState() BatchTranslateDocumentMetadata_State {
3687	if x != nil {
3688		return x.State
3689	}
3690	return BatchTranslateDocumentMetadata_STATE_UNSPECIFIED
3691}
3692
3693func (x *BatchTranslateDocumentMetadata) GetTotalPages() int64 {
3694	if x != nil {
3695		return x.TotalPages
3696	}
3697	return 0
3698}
3699
3700func (x *BatchTranslateDocumentMetadata) GetTranslatedPages() int64 {
3701	if x != nil {
3702		return x.TranslatedPages
3703	}
3704	return 0
3705}
3706
3707func (x *BatchTranslateDocumentMetadata) GetFailedPages() int64 {
3708	if x != nil {
3709		return x.FailedPages
3710	}
3711	return 0
3712}
3713
3714func (x *BatchTranslateDocumentMetadata) GetTotalBillablePages() int64 {
3715	if x != nil {
3716		return x.TotalBillablePages
3717	}
3718	return 0
3719}
3720
3721func (x *BatchTranslateDocumentMetadata) GetTotalCharacters() int64 {
3722	if x != nil {
3723		return x.TotalCharacters
3724	}
3725	return 0
3726}
3727
3728func (x *BatchTranslateDocumentMetadata) GetTranslatedCharacters() int64 {
3729	if x != nil {
3730		return x.TranslatedCharacters
3731	}
3732	return 0
3733}
3734
3735func (x *BatchTranslateDocumentMetadata) GetFailedCharacters() int64 {
3736	if x != nil {
3737		return x.FailedCharacters
3738	}
3739	return 0
3740}
3741
3742func (x *BatchTranslateDocumentMetadata) GetTotalBillableCharacters() int64 {
3743	if x != nil {
3744		return x.TotalBillableCharacters
3745	}
3746	return 0
3747}
3748
3749func (x *BatchTranslateDocumentMetadata) GetSubmitTime() *timestamppb.Timestamp {
3750	if x != nil {
3751		return x.SubmitTime
3752	}
3753	return nil
3754}
3755
3756// Used with unidirectional glossaries.
3757type Glossary_LanguageCodePair struct {
3758	state         protoimpl.MessageState
3759	sizeCache     protoimpl.SizeCache
3760	unknownFields protoimpl.UnknownFields
3761
3762	// Required. The BCP-47 language code of the input text, for example,
3763	// "en-US". Expected to be an exact match for GlossaryTerm.language_code.
3764	SourceLanguageCode string `protobuf:"bytes,1,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"`
3765	// Required. The BCP-47 language code for translation output, for example,
3766	// "zh-CN". Expected to be an exact match for GlossaryTerm.language_code.
3767	TargetLanguageCode string `protobuf:"bytes,2,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"`
3768}
3769
3770func (x *Glossary_LanguageCodePair) Reset() {
3771	*x = Glossary_LanguageCodePair{}
3772	if protoimpl.UnsafeEnabled {
3773		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[43]
3774		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3775		ms.StoreMessageInfo(mi)
3776	}
3777}
3778
3779func (x *Glossary_LanguageCodePair) String() string {
3780	return protoimpl.X.MessageStringOf(x)
3781}
3782
3783func (*Glossary_LanguageCodePair) ProtoMessage() {}
3784
3785func (x *Glossary_LanguageCodePair) ProtoReflect() protoreflect.Message {
3786	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[43]
3787	if protoimpl.UnsafeEnabled && x != nil {
3788		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3789		if ms.LoadMessageInfo() == nil {
3790			ms.StoreMessageInfo(mi)
3791		}
3792		return ms
3793	}
3794	return mi.MessageOf(x)
3795}
3796
3797// Deprecated: Use Glossary_LanguageCodePair.ProtoReflect.Descriptor instead.
3798func (*Glossary_LanguageCodePair) Descriptor() ([]byte, []int) {
3799	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{23, 0}
3800}
3801
3802func (x *Glossary_LanguageCodePair) GetSourceLanguageCode() string {
3803	if x != nil {
3804		return x.SourceLanguageCode
3805	}
3806	return ""
3807}
3808
3809func (x *Glossary_LanguageCodePair) GetTargetLanguageCode() string {
3810	if x != nil {
3811		return x.TargetLanguageCode
3812	}
3813	return ""
3814}
3815
3816// Used with equivalent term set glossaries.
3817type Glossary_LanguageCodesSet struct {
3818	state         protoimpl.MessageState
3819	sizeCache     protoimpl.SizeCache
3820	unknownFields protoimpl.UnknownFields
3821
3822	// The BCP-47 language code(s) for terms defined in the glossary.
3823	// All entries are unique. The list contains at least two entries.
3824	// Expected to be an exact match for GlossaryTerm.language_code.
3825	LanguageCodes []string `protobuf:"bytes,1,rep,name=language_codes,json=languageCodes,proto3" json:"language_codes,omitempty"`
3826}
3827
3828func (x *Glossary_LanguageCodesSet) Reset() {
3829	*x = Glossary_LanguageCodesSet{}
3830	if protoimpl.UnsafeEnabled {
3831		mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[44]
3832		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3833		ms.StoreMessageInfo(mi)
3834	}
3835}
3836
3837func (x *Glossary_LanguageCodesSet) String() string {
3838	return protoimpl.X.MessageStringOf(x)
3839}
3840
3841func (*Glossary_LanguageCodesSet) ProtoMessage() {}
3842
3843func (x *Glossary_LanguageCodesSet) ProtoReflect() protoreflect.Message {
3844	mi := &file_google_cloud_translate_v3_translation_service_proto_msgTypes[44]
3845	if protoimpl.UnsafeEnabled && x != nil {
3846		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3847		if ms.LoadMessageInfo() == nil {
3848			ms.StoreMessageInfo(mi)
3849		}
3850		return ms
3851	}
3852	return mi.MessageOf(x)
3853}
3854
3855// Deprecated: Use Glossary_LanguageCodesSet.ProtoReflect.Descriptor instead.
3856func (*Glossary_LanguageCodesSet) Descriptor() ([]byte, []int) {
3857	return file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP(), []int{23, 1}
3858}
3859
3860func (x *Glossary_LanguageCodesSet) GetLanguageCodes() []string {
3861	if x != nil {
3862		return x.LanguageCodes
3863	}
3864	return nil
3865}
3866
3867var File_google_cloud_translate_v3_translation_service_proto protoreflect.FileDescriptor
3868
3869var file_google_cloud_translate_v3_translation_service_proto_rawDesc = []byte{
3870	0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74,
3871	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x72, 0x61, 0x6e,
3872	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
3873	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3874	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
3875	0x76, 0x33, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
3876	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3877	0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
3878	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3879	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
3880	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
3881	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
3882	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f,
3883	0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
3884	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67,
3885	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74,
3886	0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
3887	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3888	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3889	0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3890	0x6f, 0x22, 0x64, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65,
3891	0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3892	0x12, 0x1f, 0x0a, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
3893	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
3894	0x79, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65,
3895	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x69, 0x67, 0x6e,
3896	0x6f, 0x72, 0x65, 0x43, 0x61, 0x73, 0x65, 0x22, 0xa4, 0x04, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e,
3897	0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3898	0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
3899	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
3900	0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
3901	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54,
3902	0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61,
3903	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
3904	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61,
3905	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x74, 0x61,
3906	0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f,
3907	0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x74,
3908	0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64,
3909	0x65, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28,
3910	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74,
3911	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
3912	0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61,
3913	0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20,
3914	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12,
3915	0x66, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
3916	0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3917	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
3918	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
3919	0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66,
3920	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
3921	0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
3922	0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3923	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69,
3924	0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54,
3925	0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
3926	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62,
3927	0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
3928	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3929	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
3930	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc4,
3931	0x01, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74,
3932	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e,
3933	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28,
3934	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
3935	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61,
3936	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
3937	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x15, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61,
3938	0x72, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
3939	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3940	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3941	0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3942	0x14, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
3943	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c,
3944	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
3945	0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
3946	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x14,
3947	0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d,
3948	0x6f, 0x64, 0x65, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64,
3949	0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04,
3950	0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61,
3951	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x61, 0x0a, 0x0f, 0x67, 0x6c,
3952	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20,
3953	0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3954	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3955	0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47,
3956	0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x67,
3957	0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xd5, 0x02,
3958	0x0a, 0x15, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
3959	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3960	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a,
3961	0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3962	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3963	0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f,
3964	0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05,
3965	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
3966	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
3967	0x74, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
3968	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54,
3969	0x79, 0x70, 0x65, 0x12, 0x5b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20,
3970	0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3971	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3972	0x33, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
3973	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
3974	0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73,
3975	0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
3976	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
3977	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3978	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x73,
3979	0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x10, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65,
3980	0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e,
3981	0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
3982	0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e,
3983	0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
3984	0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x65,
3985	0x0a, 0x16, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
3986	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67,
3987	0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f,
3988	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73,
3989	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
3990	0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67,
3991	0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70,
3992	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x52,
3993	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
3994	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21,
3995	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3996	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
3997	0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x64, 0x69, 0x73,
3998	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f,
3999	0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64,
4000	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f,
4001	0x64, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
4002	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x62, 0x0a,
4003	0x12, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
4004	0x67, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73,
4005	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4006	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f,
4007	0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61,
4008	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
4009	0x73, 0x22, 0xa9, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c,
4010	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75,
4011	0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
4012	0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c,
4013	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
4014	0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12,
4015	0x25, 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
4016	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74,
4017	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
4018	0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
4019	0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x2d, 0x0a,
4020	0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6e,
4021	0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
4022	0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x82, 0x01, 0x0a,
4023	0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x09,
4024	0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4025	0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x47,
4026	0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
4027	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4028	0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33,
4029	0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63,
4030	0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
4031	0x65, 0x22, 0x41, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
4032	0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72,
4033	0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
4034	0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72,
4035	0x65, 0x66, 0x69, 0x78, 0x22, 0x75, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f,
4036	0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74,
4037	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
4038	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
4039	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x63, 0x73, 0x44,
4040	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63,
4041	0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b,
4042	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x13,
4043	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
4044	0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01,
4045	0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12,
4046	0x47, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
4047	0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4048	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
4049	0x33, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67,
4050	0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65,
4051	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d,
4052	0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22,
4053	0xa4, 0x01, 0x0a, 0x14, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70,
4054	0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f,
4055	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
4056	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4057	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
4058	0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
4059	0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
4060	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79,
4061	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d,
4062	0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69,
4063	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x05, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73,
4064	0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
4065	0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
4066	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
4067	0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75,
4068	0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
4069	0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75,
4070	0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65,
4071	0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
4072	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67,
4073	0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x69,
4074	0x0a, 0x15, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
4075	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e,
4076	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
4077	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x63, 0x75,
4078	0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42,
4079	0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
4080	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6c, 0x0a, 0x16, 0x64, 0x6f, 0x63,
4081	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
4082	0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4083	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
4084	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
4085	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
4086	0x01, 0x52, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75,
4087	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
4088	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64,
4089	0x65, 0x6c, 0x12, 0x66, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63,
4090	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f,
4091	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73,
4092	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4093	0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43,
4094	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73,
4095	0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x06, 0x6c, 0x61,
4096	0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f,
4097	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4098	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
4099	0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4100	0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0,
4101	0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61,
4102	0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
4103	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
4104	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
4105	0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x01, 0x0a, 0x13, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
4106	0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a,
4107	0x13, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x75, 0x74,
4108	0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x11, 0x62, 0x79, 0x74, 0x65,
4109	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1b, 0x0a,
4110	0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
4111	0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65,
4112	0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f,
4113	0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x74, 0x65,
4114	0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65,
4115	0x22, 0xef, 0x02, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f,
4116	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63,
4117	0x0a, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73,
4118	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
4119	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
4120	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d,
4121	0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
4122	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4123	0x69, 0x6f, 0x6e, 0x12, 0x74, 0x0a, 0x1d, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f,
4124	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
4125	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
4126	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4127	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
4128	0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x67, 0x6c,
4129	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72,
4130	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64,
4131	0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12,
4132	0x61, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
4133	0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4134	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4135	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4136	0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66,
4137	0x69, 0x67, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66,
4138	0x69, 0x67, 0x22, 0x95, 0x07, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e,
4139	0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4140	0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4141	0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
4142	0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
4143	0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72,
4144	0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61,
4145	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
4146	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61,
4147	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x74, 0x61,
4148	0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f,
4149	0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13,
4150	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f,
4151	0x64, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20,
4152	0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4153	0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
4154	0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4155	0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
4156	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 0x6f,
4157	0x64, 0x65, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f,
4158	0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f,
4159	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73,
4160	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43,
4161	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75,
4162	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70,
4163	0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
4164	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
4165	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4f, 0x75,
4166	0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
4167	0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a,
4168	0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
4169	0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4170	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
4171	0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65,
4172	0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61,
4173	0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a,
4174	0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x06, 0x6c, 0x61,
4175	0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f,
4176	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4177	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72,
4178	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
4179	0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03,
4180	0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4d,
4181	0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
4182	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
4183	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
4184	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x77, 0x0a, 0x0f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61,
4185	0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
4186	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x05, 0x76,
4187	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f,
4188	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4189	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
4190	0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f,
4191	0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
4192	0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
4193	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
4194	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
4195	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9a, 0x03, 0x0a, 0x16, 0x42,
4196	0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74,
4197	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01,
4198	0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4199	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
4200	0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4201	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
4202	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4203	0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18,
4204	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4205	0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66,
4206	0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73,
4207	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68,
4208	0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61,
4209	0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01,
4210	0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
4211	0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69,
4212	0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4213	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
4214	0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65,
4215	0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41,
4216	0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
4217	0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a,
4218	0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06,
4219	0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43,
4220	0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43,
4221	0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0x99, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63,
4222	0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4223	0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72,
4224	0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f,
4225	0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a,
4226	0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72,
4227	0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72,
4228	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
4229	0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61,
4230	0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66,
4231	0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12,
4232	0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04,
4233	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
4234	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
4235	0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08,
4236	0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
4237	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
4238	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
4239	0x69, 0x6d, 0x65, 0x22, 0x68, 0x0a, 0x13, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x49,
4240	0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x0a, 0x67, 0x63,
4241	0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
4242	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
4243	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x63, 0x73,
4244	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75,
4245	0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8a, 0x06,
4246	0x0a, 0x08, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61,
4247	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e,
4248	0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f,
4249	0x70, 0x61, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f,
4250	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4251	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
4252	0x79, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x61,
4253	0x69, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x50, 0x61,
4254	0x69, 0x72, 0x12, 0x66, 0x0a, 0x12, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63,
4255	0x6f, 0x64, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36,
4256	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
4257	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x6c, 0x6f,
4258	0x73, 0x73, 0x61, 0x72, 0x79, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f,
4259	0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
4260	0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12, 0x53, 0x0a, 0x0c, 0x69, 0x6e,
4261	0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
4262	0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4263	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47,
4264	0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
4265	0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
4266	0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06,
4267	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79,
4268	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f,
4269	0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
4270	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
4271	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x75, 0x62,
4272	0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
4273	0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4274	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
4275	0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
4276	0x69, 0x6d, 0x65, 0x1a, 0x76, 0x0a, 0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43,
4277	0x6f, 0x64, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63,
4278	0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
4279	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e,
4280	0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x72,
4281	0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64,
4282	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c,
4283	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x39, 0x0a, 0x10, 0x4c,
4284	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12,
4285	0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65,
4286	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
4287	0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x3a, 0x65, 0xea, 0x41, 0x62, 0x0a, 0x21, 0x74, 0x72, 0x61,
4288	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
4289	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x3d,
4290	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4291	0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f,
4292	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69,
4293	0x65, 0x73, 0x2f, 0x7b, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x7d, 0x42, 0x0b, 0x0a,
4294	0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x43,
4295	0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71,
4296	0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
4297	0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f,
4298	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
4299	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
4300	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73,
4301	0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4302	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
4303	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79,
4304	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x22,
4305	0x53, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65,
4306	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
4307	0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x74, 0x72, 0x61,
4308	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
4309	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x04,
4310	0x6e, 0x61, 0x6d, 0x65, 0x22, 0x56, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c,
4311	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a,
4312	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
4313	0xfa, 0x41, 0x23, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67,
4314	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c,
4315	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbd, 0x01, 0x0a,
4316	0x15, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52,
4317	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
4318	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21,
4319	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4320	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
4321	0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67,
4322	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
4323	0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70,
4324	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
4325	0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
4326	0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
4327	0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x87, 0x01, 0x0a,
4328	0x16, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52,
4329	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73,
4330	0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
4331	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73,
4332	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61,
4333	0x72, 0x79, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x26,
4334	0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4335	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67,
4336	0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa1, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74,
4337	0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4338	0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
4339	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02,
4340	0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4341	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
4342	0x76, 0x33, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
4343	0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
4344	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74,
4345	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
4346	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
4347	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54,
4348	0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11,
4349	0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
4350	0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01,
4351	0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12,
4352	0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43,
4353	0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43,
4354	0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xa1, 0x02, 0x0a, 0x16, 0x44,
4355	0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74,
4356	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
4357	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x73, 0x74, 0x61,
4358	0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4359	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4360	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f,
4361	0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74,
4362	0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75,
4363	0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
4364	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
4365	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62,
4366	0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65,
4367	0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
4368	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49,
4369	0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45,
4370	0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12,
4371	0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12,
4372	0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xa0,
4373	0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
4374	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
4375	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a,
4376	0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
4377	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
4378	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a,
4379	0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e,
4380	0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
4381	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
4382	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
4383	0x65, 0x22, 0xed, 0x07, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73,
4384	0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
4385	0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
4386	0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63,
4387	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
4388	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06,
4389	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
4390	0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
4391	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63,
4392	0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a,
4393	0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
4394	0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
4395	0x02, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
4396	0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f,
4397	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e,
4398	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
4399	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63,
4400	0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f,
4401	0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74,
4402	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x60, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75,
4403	0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36,
4404	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72,
4405	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74,
4406	0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
4407	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74,
4408	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x06, 0x6d, 0x6f, 0x64,
4409	0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4410	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
4411	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61,
4412	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
4413	0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
4414	0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x6f,
4415	0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03,
4416	0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4417	0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33,
4418	0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44,
4419	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47,
4420	0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03,
4421	0xe0, 0x41, 0x01, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12,
4422	0x85, 0x01, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65,
4423	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67,
4424	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
4425	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
4426	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
4427	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43,
4428	0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42,
4429	0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x76,
4430	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
4431	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
4432	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
4433	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
4434	0x38, 0x01, 0x1a, 0x77, 0x0a, 0x0f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73,
4435	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
4436	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
4437	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4438	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f,
4439	0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65,
4440	0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
4441	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x46,
4442	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
4443	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
4444	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
4445	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
4446	0x01, 0x22, 0x6d, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
4447	0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a,
4448	0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
4449	0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4450	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
4451	0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73,
4452	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
4453	0x22, 0x82, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
4454	0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56,
4455	0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
4456	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4457	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69,
4458	0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
4459	0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69,
4460	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,
4461	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfe, 0x03, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54,
4462	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
4463	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61,
4464	0x6c, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74,
4465	0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61,
4466	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20,
4467	0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50,
4468	0x61, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70,
4469	0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c,
4470	0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c,
4471	0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18,
4472	0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c,
4473	0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74,
4474	0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20,
4475	0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63,
4476	0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4477	0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20,
4478	0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43,
4479	0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69,
4480	0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07,
4481	0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72,
4482	0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
4483	0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
4484	0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c,
4485	0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
4486	0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d,
4487	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4488	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
4489	0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
4490	0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
4491	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4492	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65,
4493	0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x87, 0x05, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68,
4494	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
4495	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x57, 0x0a, 0x05, 0x73, 0x74, 0x61,
4496	0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4497	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4498	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e,
4499	0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74,
4500	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
4501	0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x67, 0x65,
4502	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61,
4503	0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4504	0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74,
4505	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x21,
4506	0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04,
4507	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65,
4508	0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61,
4509	0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
4510	0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61,
4511	0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61,
4512	0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74,
4513	0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33,
4514	0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61,
4515	0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74,
4516	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
4517	0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68,
4518	0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10,
4519	0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73,
4520	0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62,
4521	0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20,
4522	0x01, 0x28, 0x03, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62,
4523	0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b,
4524	0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
4525	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4526	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73,
4527	0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61,
4528	0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
4529	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e,
4530	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45,
4531	0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10,
4532	0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10,
4533	0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05,
4534	0x32, 0xd6, 0x13, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4535	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd4, 0x02, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e,
4536	0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4537	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
4538	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4539	0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67,
4540	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e,
4541	0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
4542	0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
4543	0x22, 0xdb, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, 0x22, 0x31, 0x2f, 0x76, 0x33, 0x2f, 0x7b,
4544	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
4545	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74,
4546	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 0x5a,
4547	0x2a, 0x22, 0x25, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
4548	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x6e, 0x73,
4549	0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x24, 0x70, 0x61,
4550	0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67,
4551	0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
4552	0x74, 0x73, 0xda, 0x41, 0x49, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65,
4553	0x6c, 0x2c, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x73, 0x6f, 0x75, 0x72,
4554	0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65,
4555	0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
4556	0x5f, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x87,
4557	0x02, 0x0a, 0x0e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
4558	0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4559	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
4560	0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65,
4561	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4562	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4563	0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
4564	0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x82, 0xd3, 0xe4,
4565	0x93, 0x02, 0x64, 0x22, 0x32, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
4566	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
4567	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c,
4568	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x2b, 0x22, 0x26, 0x2f, 0x76,
4569	0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4570	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67,
4571	0x75, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
4572	0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
4573	0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x97, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74,
4574	0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
4575	0x65, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4576	0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33,
4577	0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e,
4578	0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e,
4579	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61,
4580	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x75, 0x70, 0x70,
4581	0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0x91,
4582	0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x12, 0x36, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61,
4583	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
4584	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70,
4585	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x5a,
4586	0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
4587	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6f,
4588	0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0xda, 0x41, 0x22,
4589	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x64, 0x69, 0x73,
4590	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f,
4591	0x64, 0x65, 0x12, 0xc4, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4592	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4593	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4594	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4595	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
4596	0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
4597	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72,
4598	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52,
4599	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x22,
4600	0x35, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
4601	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4602	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f,
4603	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xe1, 0x01, 0x0a, 0x12, 0x42, 0x61,
4604	0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74,
4605	0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4606	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x42,
4607	0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78,
4608	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4609	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
4610	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x22,
4611	0x36, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
4612	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4613	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4614	0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x30, 0x0a, 0x16, 0x42,
4615	0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
4616	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e,
4617	0x73, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xfe, 0x01,
4618	0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4619	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4620	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,
4621	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e,
4622	0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
4623	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
4624	0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
4625	0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76,
4626	0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4627	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
4628	0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4629	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x40, 0x0a, 0x1e,
4630	0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f,
4631	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e,
4632	0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f,
4633	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xdc,
4634	0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
4635	0x79, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4636	0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e,
4637	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65,
4638	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c,
4639	0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61,
4640	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x22, 0x2e, 0x2f, 0x76,
4641	0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4642	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
4643	0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x67, 0x6c,
4644	0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c,
4645	0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0xca, 0x41, 0x22, 0x0a, 0x08, 0x47, 0x6c, 0x6f,
4646	0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f,
4647	0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xba, 0x01,
4648	0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73,
4649	0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4650	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c,
4651	0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71,
4652	0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4653	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
4654	0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65,
4655	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02,
4656	0x30, 0x12, 0x2e, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
4657	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
4658	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65,
4659	0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa4, 0x01, 0x0a, 0x0b, 0x47,
4660	0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
4661	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,
4662	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73,
4663	0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f,
4664	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73,
4665	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61,
4666	0x72, 0x79, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x76, 0x33, 0x2f,
4667	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
4668	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6c, 0x6f,
4669	0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
4670	0x65, 0x12, 0xd5, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73,
4671	0x73, 0x61, 0x72, 0x79, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4672	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
4673	0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
4674	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4675	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
4676	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x2a,
4677	0x2e, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
4678	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
4679	0x2a, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
4680	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74,
4681	0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4682	0x65, 0x12, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72,
4683	0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x7e, 0xca, 0x41, 0x18, 0x74, 0x72,
4684	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
4685	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x60, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
4686	0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
4687	0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70,
4688	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
4689	0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
4690	0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x74, 0x72,
4691	0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xd8, 0x01, 0x0a, 0x1d, 0x63, 0x6f,
4692	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
4693	0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x17, 0x54, 0x72, 0x61,
4694	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50,
4695	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
4696	0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
4697	0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c,
4698	0x6f, 0x75, 0x64, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33,
4699	0x3b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x19,
4700	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x72, 0x61,
4701	0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67,
4702	0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,
4703	0x74, 0x65, 0x5c, 0x56, 0x33, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a,
4704	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65,
4705	0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
4706}
4707
4708var (
4709	file_google_cloud_translate_v3_translation_service_proto_rawDescOnce sync.Once
4710	file_google_cloud_translate_v3_translation_service_proto_rawDescData = file_google_cloud_translate_v3_translation_service_proto_rawDesc
4711)
4712
4713func file_google_cloud_translate_v3_translation_service_proto_rawDescGZIP() []byte {
4714	file_google_cloud_translate_v3_translation_service_proto_rawDescOnce.Do(func() {
4715		file_google_cloud_translate_v3_translation_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_translate_v3_translation_service_proto_rawDescData)
4716	})
4717	return file_google_cloud_translate_v3_translation_service_proto_rawDescData
4718}
4719
4720var file_google_cloud_translate_v3_translation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
4721var file_google_cloud_translate_v3_translation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
4722var file_google_cloud_translate_v3_translation_service_proto_goTypes = []interface{}{
4723	(BatchTranslateMetadata_State)(0),         // 0: google.cloud.translation.v3.BatchTranslateMetadata.State
4724	(CreateGlossaryMetadata_State)(0),         // 1: google.cloud.translation.v3.CreateGlossaryMetadata.State
4725	(DeleteGlossaryMetadata_State)(0),         // 2: google.cloud.translation.v3.DeleteGlossaryMetadata.State
4726	(BatchTranslateDocumentMetadata_State)(0), // 3: google.cloud.translation.v3.BatchTranslateDocumentMetadata.State
4727	(*TranslateTextGlossaryConfig)(nil),       // 4: google.cloud.translation.v3.TranslateTextGlossaryConfig
4728	(*TranslateTextRequest)(nil),              // 5: google.cloud.translation.v3.TranslateTextRequest
4729	(*TranslateTextResponse)(nil),             // 6: google.cloud.translation.v3.TranslateTextResponse
4730	(*Translation)(nil),                       // 7: google.cloud.translation.v3.Translation
4731	(*DetectLanguageRequest)(nil),             // 8: google.cloud.translation.v3.DetectLanguageRequest
4732	(*DetectedLanguage)(nil),                  // 9: google.cloud.translation.v3.DetectedLanguage
4733	(*DetectLanguageResponse)(nil),            // 10: google.cloud.translation.v3.DetectLanguageResponse
4734	(*GetSupportedLanguagesRequest)(nil),      // 11: google.cloud.translation.v3.GetSupportedLanguagesRequest
4735	(*SupportedLanguages)(nil),                // 12: google.cloud.translation.v3.SupportedLanguages
4736	(*SupportedLanguage)(nil),                 // 13: google.cloud.translation.v3.SupportedLanguage
4737	(*GcsSource)(nil),                         // 14: google.cloud.translation.v3.GcsSource
4738	(*InputConfig)(nil),                       // 15: google.cloud.translation.v3.InputConfig
4739	(*GcsDestination)(nil),                    // 16: google.cloud.translation.v3.GcsDestination
4740	(*OutputConfig)(nil),                      // 17: google.cloud.translation.v3.OutputConfig
4741	(*DocumentInputConfig)(nil),               // 18: google.cloud.translation.v3.DocumentInputConfig
4742	(*DocumentOutputConfig)(nil),              // 19: google.cloud.translation.v3.DocumentOutputConfig
4743	(*TranslateDocumentRequest)(nil),          // 20: google.cloud.translation.v3.TranslateDocumentRequest
4744	(*DocumentTranslation)(nil),               // 21: google.cloud.translation.v3.DocumentTranslation
4745	(*TranslateDocumentResponse)(nil),         // 22: google.cloud.translation.v3.TranslateDocumentResponse
4746	(*BatchTranslateTextRequest)(nil),         // 23: google.cloud.translation.v3.BatchTranslateTextRequest
4747	(*BatchTranslateMetadata)(nil),            // 24: google.cloud.translation.v3.BatchTranslateMetadata
4748	(*BatchTranslateResponse)(nil),            // 25: google.cloud.translation.v3.BatchTranslateResponse
4749	(*GlossaryInputConfig)(nil),               // 26: google.cloud.translation.v3.GlossaryInputConfig
4750	(*Glossary)(nil),                          // 27: google.cloud.translation.v3.Glossary
4751	(*CreateGlossaryRequest)(nil),             // 28: google.cloud.translation.v3.CreateGlossaryRequest
4752	(*GetGlossaryRequest)(nil),                // 29: google.cloud.translation.v3.GetGlossaryRequest
4753	(*DeleteGlossaryRequest)(nil),             // 30: google.cloud.translation.v3.DeleteGlossaryRequest
4754	(*ListGlossariesRequest)(nil),             // 31: google.cloud.translation.v3.ListGlossariesRequest
4755	(*ListGlossariesResponse)(nil),            // 32: google.cloud.translation.v3.ListGlossariesResponse
4756	(*CreateGlossaryMetadata)(nil),            // 33: google.cloud.translation.v3.CreateGlossaryMetadata
4757	(*DeleteGlossaryMetadata)(nil),            // 34: google.cloud.translation.v3.DeleteGlossaryMetadata
4758	(*DeleteGlossaryResponse)(nil),            // 35: google.cloud.translation.v3.DeleteGlossaryResponse
4759	(*BatchTranslateDocumentRequest)(nil),     // 36: google.cloud.translation.v3.BatchTranslateDocumentRequest
4760	(*BatchDocumentInputConfig)(nil),          // 37: google.cloud.translation.v3.BatchDocumentInputConfig
4761	(*BatchDocumentOutputConfig)(nil),         // 38: google.cloud.translation.v3.BatchDocumentOutputConfig
4762	(*BatchTranslateDocumentResponse)(nil),    // 39: google.cloud.translation.v3.BatchTranslateDocumentResponse
4763	(*BatchTranslateDocumentMetadata)(nil),    // 40: google.cloud.translation.v3.BatchTranslateDocumentMetadata
4764	nil,                                       // 41: google.cloud.translation.v3.TranslateTextRequest.LabelsEntry
4765	nil,                                       // 42: google.cloud.translation.v3.DetectLanguageRequest.LabelsEntry
4766	nil,                                       // 43: google.cloud.translation.v3.TranslateDocumentRequest.LabelsEntry
4767	nil,                                       // 44: google.cloud.translation.v3.BatchTranslateTextRequest.ModelsEntry
4768	nil,                                       // 45: google.cloud.translation.v3.BatchTranslateTextRequest.GlossariesEntry
4769	nil,                                       // 46: google.cloud.translation.v3.BatchTranslateTextRequest.LabelsEntry
4770	(*Glossary_LanguageCodePair)(nil),         // 47: google.cloud.translation.v3.Glossary.LanguageCodePair
4771	(*Glossary_LanguageCodesSet)(nil),         // 48: google.cloud.translation.v3.Glossary.LanguageCodesSet
4772	nil,                                       // 49: google.cloud.translation.v3.BatchTranslateDocumentRequest.ModelsEntry
4773	nil,                                       // 50: google.cloud.translation.v3.BatchTranslateDocumentRequest.GlossariesEntry
4774	nil,                                       // 51: google.cloud.translation.v3.BatchTranslateDocumentRequest.FormatConversionsEntry
4775	(*timestamppb.Timestamp)(nil),             // 52: google.protobuf.Timestamp
4776	(*longrunning.Operation)(nil),             // 53: google.longrunning.Operation
4777}
4778var file_google_cloud_translate_v3_translation_service_proto_depIdxs = []int32{
4779	4,  // 0: google.cloud.translation.v3.TranslateTextRequest.glossary_config:type_name -> google.cloud.translation.v3.TranslateTextGlossaryConfig
4780	41, // 1: google.cloud.translation.v3.TranslateTextRequest.labels:type_name -> google.cloud.translation.v3.TranslateTextRequest.LabelsEntry
4781	7,  // 2: google.cloud.translation.v3.TranslateTextResponse.translations:type_name -> google.cloud.translation.v3.Translation
4782	7,  // 3: google.cloud.translation.v3.TranslateTextResponse.glossary_translations:type_name -> google.cloud.translation.v3.Translation
4783	4,  // 4: google.cloud.translation.v3.Translation.glossary_config:type_name -> google.cloud.translation.v3.TranslateTextGlossaryConfig
4784	42, // 5: google.cloud.translation.v3.DetectLanguageRequest.labels:type_name -> google.cloud.translation.v3.DetectLanguageRequest.LabelsEntry
4785	9,  // 6: google.cloud.translation.v3.DetectLanguageResponse.languages:type_name -> google.cloud.translation.v3.DetectedLanguage
4786	13, // 7: google.cloud.translation.v3.SupportedLanguages.languages:type_name -> google.cloud.translation.v3.SupportedLanguage
4787	14, // 8: google.cloud.translation.v3.InputConfig.gcs_source:type_name -> google.cloud.translation.v3.GcsSource
4788	16, // 9: google.cloud.translation.v3.OutputConfig.gcs_destination:type_name -> google.cloud.translation.v3.GcsDestination
4789	14, // 10: google.cloud.translation.v3.DocumentInputConfig.gcs_source:type_name -> google.cloud.translation.v3.GcsSource
4790	16, // 11: google.cloud.translation.v3.DocumentOutputConfig.gcs_destination:type_name -> google.cloud.translation.v3.GcsDestination
4791	18, // 12: google.cloud.translation.v3.TranslateDocumentRequest.document_input_config:type_name -> google.cloud.translation.v3.DocumentInputConfig
4792	19, // 13: google.cloud.translation.v3.TranslateDocumentRequest.document_output_config:type_name -> google.cloud.translation.v3.DocumentOutputConfig
4793	4,  // 14: google.cloud.translation.v3.TranslateDocumentRequest.glossary_config:type_name -> google.cloud.translation.v3.TranslateTextGlossaryConfig
4794	43, // 15: google.cloud.translation.v3.TranslateDocumentRequest.labels:type_name -> google.cloud.translation.v3.TranslateDocumentRequest.LabelsEntry
4795	21, // 16: google.cloud.translation.v3.TranslateDocumentResponse.document_translation:type_name -> google.cloud.translation.v3.DocumentTranslation
4796	21, // 17: google.cloud.translation.v3.TranslateDocumentResponse.glossary_document_translation:type_name -> google.cloud.translation.v3.DocumentTranslation
4797	4,  // 18: google.cloud.translation.v3.TranslateDocumentResponse.glossary_config:type_name -> google.cloud.translation.v3.TranslateTextGlossaryConfig
4798	44, // 19: google.cloud.translation.v3.BatchTranslateTextRequest.models:type_name -> google.cloud.translation.v3.BatchTranslateTextRequest.ModelsEntry
4799	15, // 20: google.cloud.translation.v3.BatchTranslateTextRequest.input_configs:type_name -> google.cloud.translation.v3.InputConfig
4800	17, // 21: google.cloud.translation.v3.BatchTranslateTextRequest.output_config:type_name -> google.cloud.translation.v3.OutputConfig
4801	45, // 22: google.cloud.translation.v3.BatchTranslateTextRequest.glossaries:type_name -> google.cloud.translation.v3.BatchTranslateTextRequest.GlossariesEntry
4802	46, // 23: google.cloud.translation.v3.BatchTranslateTextRequest.labels:type_name -> google.cloud.translation.v3.BatchTranslateTextRequest.LabelsEntry
4803	0,  // 24: google.cloud.translation.v3.BatchTranslateMetadata.state:type_name -> google.cloud.translation.v3.BatchTranslateMetadata.State
4804	52, // 25: google.cloud.translation.v3.BatchTranslateMetadata.submit_time:type_name -> google.protobuf.Timestamp
4805	52, // 26: google.cloud.translation.v3.BatchTranslateResponse.submit_time:type_name -> google.protobuf.Timestamp
4806	52, // 27: google.cloud.translation.v3.BatchTranslateResponse.end_time:type_name -> google.protobuf.Timestamp
4807	14, // 28: google.cloud.translation.v3.GlossaryInputConfig.gcs_source:type_name -> google.cloud.translation.v3.GcsSource
4808	47, // 29: google.cloud.translation.v3.Glossary.language_pair:type_name -> google.cloud.translation.v3.Glossary.LanguageCodePair
4809	48, // 30: google.cloud.translation.v3.Glossary.language_codes_set:type_name -> google.cloud.translation.v3.Glossary.LanguageCodesSet
4810	26, // 31: google.cloud.translation.v3.Glossary.input_config:type_name -> google.cloud.translation.v3.GlossaryInputConfig
4811	52, // 32: google.cloud.translation.v3.Glossary.submit_time:type_name -> google.protobuf.Timestamp
4812	52, // 33: google.cloud.translation.v3.Glossary.end_time:type_name -> google.protobuf.Timestamp
4813	27, // 34: google.cloud.translation.v3.CreateGlossaryRequest.glossary:type_name -> google.cloud.translation.v3.Glossary
4814	27, // 35: google.cloud.translation.v3.ListGlossariesResponse.glossaries:type_name -> google.cloud.translation.v3.Glossary
4815	1,  // 36: google.cloud.translation.v3.CreateGlossaryMetadata.state:type_name -> google.cloud.translation.v3.CreateGlossaryMetadata.State
4816	52, // 37: google.cloud.translation.v3.CreateGlossaryMetadata.submit_time:type_name -> google.protobuf.Timestamp
4817	2,  // 38: google.cloud.translation.v3.DeleteGlossaryMetadata.state:type_name -> google.cloud.translation.v3.DeleteGlossaryMetadata.State
4818	52, // 39: google.cloud.translation.v3.DeleteGlossaryMetadata.submit_time:type_name -> google.protobuf.Timestamp
4819	52, // 40: google.cloud.translation.v3.DeleteGlossaryResponse.submit_time:type_name -> google.protobuf.Timestamp
4820	52, // 41: google.cloud.translation.v3.DeleteGlossaryResponse.end_time:type_name -> google.protobuf.Timestamp
4821	37, // 42: google.cloud.translation.v3.BatchTranslateDocumentRequest.input_configs:type_name -> google.cloud.translation.v3.BatchDocumentInputConfig
4822	38, // 43: google.cloud.translation.v3.BatchTranslateDocumentRequest.output_config:type_name -> google.cloud.translation.v3.BatchDocumentOutputConfig
4823	49, // 44: google.cloud.translation.v3.BatchTranslateDocumentRequest.models:type_name -> google.cloud.translation.v3.BatchTranslateDocumentRequest.ModelsEntry
4824	50, // 45: google.cloud.translation.v3.BatchTranslateDocumentRequest.glossaries:type_name -> google.cloud.translation.v3.BatchTranslateDocumentRequest.GlossariesEntry
4825	51, // 46: google.cloud.translation.v3.BatchTranslateDocumentRequest.format_conversions:type_name -> google.cloud.translation.v3.BatchTranslateDocumentRequest.FormatConversionsEntry
4826	14, // 47: google.cloud.translation.v3.BatchDocumentInputConfig.gcs_source:type_name -> google.cloud.translation.v3.GcsSource
4827	16, // 48: google.cloud.translation.v3.BatchDocumentOutputConfig.gcs_destination:type_name -> google.cloud.translation.v3.GcsDestination
4828	52, // 49: google.cloud.translation.v3.BatchTranslateDocumentResponse.submit_time:type_name -> google.protobuf.Timestamp
4829	52, // 50: google.cloud.translation.v3.BatchTranslateDocumentResponse.end_time:type_name -> google.protobuf.Timestamp
4830	3,  // 51: google.cloud.translation.v3.BatchTranslateDocumentMetadata.state:type_name -> google.cloud.translation.v3.BatchTranslateDocumentMetadata.State
4831	52, // 52: google.cloud.translation.v3.BatchTranslateDocumentMetadata.submit_time:type_name -> google.protobuf.Timestamp
4832	4,  // 53: google.cloud.translation.v3.BatchTranslateTextRequest.GlossariesEntry.value:type_name -> google.cloud.translation.v3.TranslateTextGlossaryConfig
4833	4,  // 54: google.cloud.translation.v3.BatchTranslateDocumentRequest.GlossariesEntry.value:type_name -> google.cloud.translation.v3.TranslateTextGlossaryConfig
4834	5,  // 55: google.cloud.translation.v3.TranslationService.TranslateText:input_type -> google.cloud.translation.v3.TranslateTextRequest
4835	8,  // 56: google.cloud.translation.v3.TranslationService.DetectLanguage:input_type -> google.cloud.translation.v3.DetectLanguageRequest
4836	11, // 57: google.cloud.translation.v3.TranslationService.GetSupportedLanguages:input_type -> google.cloud.translation.v3.GetSupportedLanguagesRequest
4837	20, // 58: google.cloud.translation.v3.TranslationService.TranslateDocument:input_type -> google.cloud.translation.v3.TranslateDocumentRequest
4838	23, // 59: google.cloud.translation.v3.TranslationService.BatchTranslateText:input_type -> google.cloud.translation.v3.BatchTranslateTextRequest
4839	36, // 60: google.cloud.translation.v3.TranslationService.BatchTranslateDocument:input_type -> google.cloud.translation.v3.BatchTranslateDocumentRequest
4840	28, // 61: google.cloud.translation.v3.TranslationService.CreateGlossary:input_type -> google.cloud.translation.v3.CreateGlossaryRequest
4841	31, // 62: google.cloud.translation.v3.TranslationService.ListGlossaries:input_type -> google.cloud.translation.v3.ListGlossariesRequest
4842	29, // 63: google.cloud.translation.v3.TranslationService.GetGlossary:input_type -> google.cloud.translation.v3.GetGlossaryRequest
4843	30, // 64: google.cloud.translation.v3.TranslationService.DeleteGlossary:input_type -> google.cloud.translation.v3.DeleteGlossaryRequest
4844	6,  // 65: google.cloud.translation.v3.TranslationService.TranslateText:output_type -> google.cloud.translation.v3.TranslateTextResponse
4845	10, // 66: google.cloud.translation.v3.TranslationService.DetectLanguage:output_type -> google.cloud.translation.v3.DetectLanguageResponse
4846	12, // 67: google.cloud.translation.v3.TranslationService.GetSupportedLanguages:output_type -> google.cloud.translation.v3.SupportedLanguages
4847	22, // 68: google.cloud.translation.v3.TranslationService.TranslateDocument:output_type -> google.cloud.translation.v3.TranslateDocumentResponse
4848	53, // 69: google.cloud.translation.v3.TranslationService.BatchTranslateText:output_type -> google.longrunning.Operation
4849	53, // 70: google.cloud.translation.v3.TranslationService.BatchTranslateDocument:output_type -> google.longrunning.Operation
4850	53, // 71: google.cloud.translation.v3.TranslationService.CreateGlossary:output_type -> google.longrunning.Operation
4851	32, // 72: google.cloud.translation.v3.TranslationService.ListGlossaries:output_type -> google.cloud.translation.v3.ListGlossariesResponse
4852	27, // 73: google.cloud.translation.v3.TranslationService.GetGlossary:output_type -> google.cloud.translation.v3.Glossary
4853	53, // 74: google.cloud.translation.v3.TranslationService.DeleteGlossary:output_type -> google.longrunning.Operation
4854	65, // [65:75] is the sub-list for method output_type
4855	55, // [55:65] is the sub-list for method input_type
4856	55, // [55:55] is the sub-list for extension type_name
4857	55, // [55:55] is the sub-list for extension extendee
4858	0,  // [0:55] is the sub-list for field type_name
4859}
4860
4861func init() { file_google_cloud_translate_v3_translation_service_proto_init() }
4862func file_google_cloud_translate_v3_translation_service_proto_init() {
4863	if File_google_cloud_translate_v3_translation_service_proto != nil {
4864		return
4865	}
4866	if !protoimpl.UnsafeEnabled {
4867		file_google_cloud_translate_v3_translation_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4868			switch v := v.(*TranslateTextGlossaryConfig); i {
4869			case 0:
4870				return &v.state
4871			case 1:
4872				return &v.sizeCache
4873			case 2:
4874				return &v.unknownFields
4875			default:
4876				return nil
4877			}
4878		}
4879		file_google_cloud_translate_v3_translation_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4880			switch v := v.(*TranslateTextRequest); i {
4881			case 0:
4882				return &v.state
4883			case 1:
4884				return &v.sizeCache
4885			case 2:
4886				return &v.unknownFields
4887			default:
4888				return nil
4889			}
4890		}
4891		file_google_cloud_translate_v3_translation_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4892			switch v := v.(*TranslateTextResponse); i {
4893			case 0:
4894				return &v.state
4895			case 1:
4896				return &v.sizeCache
4897			case 2:
4898				return &v.unknownFields
4899			default:
4900				return nil
4901			}
4902		}
4903		file_google_cloud_translate_v3_translation_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4904			switch v := v.(*Translation); i {
4905			case 0:
4906				return &v.state
4907			case 1:
4908				return &v.sizeCache
4909			case 2:
4910				return &v.unknownFields
4911			default:
4912				return nil
4913			}
4914		}
4915		file_google_cloud_translate_v3_translation_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4916			switch v := v.(*DetectLanguageRequest); i {
4917			case 0:
4918				return &v.state
4919			case 1:
4920				return &v.sizeCache
4921			case 2:
4922				return &v.unknownFields
4923			default:
4924				return nil
4925			}
4926		}
4927		file_google_cloud_translate_v3_translation_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4928			switch v := v.(*DetectedLanguage); i {
4929			case 0:
4930				return &v.state
4931			case 1:
4932				return &v.sizeCache
4933			case 2:
4934				return &v.unknownFields
4935			default:
4936				return nil
4937			}
4938		}
4939		file_google_cloud_translate_v3_translation_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4940			switch v := v.(*DetectLanguageResponse); i {
4941			case 0:
4942				return &v.state
4943			case 1:
4944				return &v.sizeCache
4945			case 2:
4946				return &v.unknownFields
4947			default:
4948				return nil
4949			}
4950		}
4951		file_google_cloud_translate_v3_translation_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4952			switch v := v.(*GetSupportedLanguagesRequest); i {
4953			case 0:
4954				return &v.state
4955			case 1:
4956				return &v.sizeCache
4957			case 2:
4958				return &v.unknownFields
4959			default:
4960				return nil
4961			}
4962		}
4963		file_google_cloud_translate_v3_translation_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4964			switch v := v.(*SupportedLanguages); i {
4965			case 0:
4966				return &v.state
4967			case 1:
4968				return &v.sizeCache
4969			case 2:
4970				return &v.unknownFields
4971			default:
4972				return nil
4973			}
4974		}
4975		file_google_cloud_translate_v3_translation_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4976			switch v := v.(*SupportedLanguage); i {
4977			case 0:
4978				return &v.state
4979			case 1:
4980				return &v.sizeCache
4981			case 2:
4982				return &v.unknownFields
4983			default:
4984				return nil
4985			}
4986		}
4987		file_google_cloud_translate_v3_translation_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4988			switch v := v.(*GcsSource); i {
4989			case 0:
4990				return &v.state
4991			case 1:
4992				return &v.sizeCache
4993			case 2:
4994				return &v.unknownFields
4995			default:
4996				return nil
4997			}
4998		}
4999		file_google_cloud_translate_v3_translation_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
5000			switch v := v.(*InputConfig); i {
5001			case 0:
5002				return &v.state
5003			case 1:
5004				return &v.sizeCache
5005			case 2:
5006				return &v.unknownFields
5007			default:
5008				return nil
5009			}
5010		}
5011		file_google_cloud_translate_v3_translation_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
5012			switch v := v.(*GcsDestination); i {
5013			case 0:
5014				return &v.state
5015			case 1:
5016				return &v.sizeCache
5017			case 2:
5018				return &v.unknownFields
5019			default:
5020				return nil
5021			}
5022		}
5023		file_google_cloud_translate_v3_translation_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
5024			switch v := v.(*OutputConfig); i {
5025			case 0:
5026				return &v.state
5027			case 1:
5028				return &v.sizeCache
5029			case 2:
5030				return &v.unknownFields
5031			default:
5032				return nil
5033			}
5034		}
5035		file_google_cloud_translate_v3_translation_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
5036			switch v := v.(*DocumentInputConfig); i {
5037			case 0:
5038				return &v.state
5039			case 1:
5040				return &v.sizeCache
5041			case 2:
5042				return &v.unknownFields
5043			default:
5044				return nil
5045			}
5046		}
5047		file_google_cloud_translate_v3_translation_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
5048			switch v := v.(*DocumentOutputConfig); i {
5049			case 0:
5050				return &v.state
5051			case 1:
5052				return &v.sizeCache
5053			case 2:
5054				return &v.unknownFields
5055			default:
5056				return nil
5057			}
5058		}
5059		file_google_cloud_translate_v3_translation_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
5060			switch v := v.(*TranslateDocumentRequest); i {
5061			case 0:
5062				return &v.state
5063			case 1:
5064				return &v.sizeCache
5065			case 2:
5066				return &v.unknownFields
5067			default:
5068				return nil
5069			}
5070		}
5071		file_google_cloud_translate_v3_translation_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
5072			switch v := v.(*DocumentTranslation); i {
5073			case 0:
5074				return &v.state
5075			case 1:
5076				return &v.sizeCache
5077			case 2:
5078				return &v.unknownFields
5079			default:
5080				return nil
5081			}
5082		}
5083		file_google_cloud_translate_v3_translation_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
5084			switch v := v.(*TranslateDocumentResponse); i {
5085			case 0:
5086				return &v.state
5087			case 1:
5088				return &v.sizeCache
5089			case 2:
5090				return &v.unknownFields
5091			default:
5092				return nil
5093			}
5094		}
5095		file_google_cloud_translate_v3_translation_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
5096			switch v := v.(*BatchTranslateTextRequest); i {
5097			case 0:
5098				return &v.state
5099			case 1:
5100				return &v.sizeCache
5101			case 2:
5102				return &v.unknownFields
5103			default:
5104				return nil
5105			}
5106		}
5107		file_google_cloud_translate_v3_translation_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
5108			switch v := v.(*BatchTranslateMetadata); i {
5109			case 0:
5110				return &v.state
5111			case 1:
5112				return &v.sizeCache
5113			case 2:
5114				return &v.unknownFields
5115			default:
5116				return nil
5117			}
5118		}
5119		file_google_cloud_translate_v3_translation_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
5120			switch v := v.(*BatchTranslateResponse); i {
5121			case 0:
5122				return &v.state
5123			case 1:
5124				return &v.sizeCache
5125			case 2:
5126				return &v.unknownFields
5127			default:
5128				return nil
5129			}
5130		}
5131		file_google_cloud_translate_v3_translation_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
5132			switch v := v.(*GlossaryInputConfig); i {
5133			case 0:
5134				return &v.state
5135			case 1:
5136				return &v.sizeCache
5137			case 2:
5138				return &v.unknownFields
5139			default:
5140				return nil
5141			}
5142		}
5143		file_google_cloud_translate_v3_translation_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
5144			switch v := v.(*Glossary); i {
5145			case 0:
5146				return &v.state
5147			case 1:
5148				return &v.sizeCache
5149			case 2:
5150				return &v.unknownFields
5151			default:
5152				return nil
5153			}
5154		}
5155		file_google_cloud_translate_v3_translation_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
5156			switch v := v.(*CreateGlossaryRequest); i {
5157			case 0:
5158				return &v.state
5159			case 1:
5160				return &v.sizeCache
5161			case 2:
5162				return &v.unknownFields
5163			default:
5164				return nil
5165			}
5166		}
5167		file_google_cloud_translate_v3_translation_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
5168			switch v := v.(*GetGlossaryRequest); i {
5169			case 0:
5170				return &v.state
5171			case 1:
5172				return &v.sizeCache
5173			case 2:
5174				return &v.unknownFields
5175			default:
5176				return nil
5177			}
5178		}
5179		file_google_cloud_translate_v3_translation_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
5180			switch v := v.(*DeleteGlossaryRequest); i {
5181			case 0:
5182				return &v.state
5183			case 1:
5184				return &v.sizeCache
5185			case 2:
5186				return &v.unknownFields
5187			default:
5188				return nil
5189			}
5190		}
5191		file_google_cloud_translate_v3_translation_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
5192			switch v := v.(*ListGlossariesRequest); i {
5193			case 0:
5194				return &v.state
5195			case 1:
5196				return &v.sizeCache
5197			case 2:
5198				return &v.unknownFields
5199			default:
5200				return nil
5201			}
5202		}
5203		file_google_cloud_translate_v3_translation_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
5204			switch v := v.(*ListGlossariesResponse); i {
5205			case 0:
5206				return &v.state
5207			case 1:
5208				return &v.sizeCache
5209			case 2:
5210				return &v.unknownFields
5211			default:
5212				return nil
5213			}
5214		}
5215		file_google_cloud_translate_v3_translation_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
5216			switch v := v.(*CreateGlossaryMetadata); i {
5217			case 0:
5218				return &v.state
5219			case 1:
5220				return &v.sizeCache
5221			case 2:
5222				return &v.unknownFields
5223			default:
5224				return nil
5225			}
5226		}
5227		file_google_cloud_translate_v3_translation_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
5228			switch v := v.(*DeleteGlossaryMetadata); i {
5229			case 0:
5230				return &v.state
5231			case 1:
5232				return &v.sizeCache
5233			case 2:
5234				return &v.unknownFields
5235			default:
5236				return nil
5237			}
5238		}
5239		file_google_cloud_translate_v3_translation_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
5240			switch v := v.(*DeleteGlossaryResponse); i {
5241			case 0:
5242				return &v.state
5243			case 1:
5244				return &v.sizeCache
5245			case 2:
5246				return &v.unknownFields
5247			default:
5248				return nil
5249			}
5250		}
5251		file_google_cloud_translate_v3_translation_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
5252			switch v := v.(*BatchTranslateDocumentRequest); i {
5253			case 0:
5254				return &v.state
5255			case 1:
5256				return &v.sizeCache
5257			case 2:
5258				return &v.unknownFields
5259			default:
5260				return nil
5261			}
5262		}
5263		file_google_cloud_translate_v3_translation_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
5264			switch v := v.(*BatchDocumentInputConfig); i {
5265			case 0:
5266				return &v.state
5267			case 1:
5268				return &v.sizeCache
5269			case 2:
5270				return &v.unknownFields
5271			default:
5272				return nil
5273			}
5274		}
5275		file_google_cloud_translate_v3_translation_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
5276			switch v := v.(*BatchDocumentOutputConfig); i {
5277			case 0:
5278				return &v.state
5279			case 1:
5280				return &v.sizeCache
5281			case 2:
5282				return &v.unknownFields
5283			default:
5284				return nil
5285			}
5286		}
5287		file_google_cloud_translate_v3_translation_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
5288			switch v := v.(*BatchTranslateDocumentResponse); i {
5289			case 0:
5290				return &v.state
5291			case 1:
5292				return &v.sizeCache
5293			case 2:
5294				return &v.unknownFields
5295			default:
5296				return nil
5297			}
5298		}
5299		file_google_cloud_translate_v3_translation_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
5300			switch v := v.(*BatchTranslateDocumentMetadata); i {
5301			case 0:
5302				return &v.state
5303			case 1:
5304				return &v.sizeCache
5305			case 2:
5306				return &v.unknownFields
5307			default:
5308				return nil
5309			}
5310		}
5311		file_google_cloud_translate_v3_translation_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
5312			switch v := v.(*Glossary_LanguageCodePair); i {
5313			case 0:
5314				return &v.state
5315			case 1:
5316				return &v.sizeCache
5317			case 2:
5318				return &v.unknownFields
5319			default:
5320				return nil
5321			}
5322		}
5323		file_google_cloud_translate_v3_translation_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
5324			switch v := v.(*Glossary_LanguageCodesSet); i {
5325			case 0:
5326				return &v.state
5327			case 1:
5328				return &v.sizeCache
5329			case 2:
5330				return &v.unknownFields
5331			default:
5332				return nil
5333			}
5334		}
5335	}
5336	file_google_cloud_translate_v3_translation_service_proto_msgTypes[4].OneofWrappers = []interface{}{
5337		(*DetectLanguageRequest_Content)(nil),
5338	}
5339	file_google_cloud_translate_v3_translation_service_proto_msgTypes[11].OneofWrappers = []interface{}{
5340		(*InputConfig_GcsSource)(nil),
5341	}
5342	file_google_cloud_translate_v3_translation_service_proto_msgTypes[13].OneofWrappers = []interface{}{
5343		(*OutputConfig_GcsDestination)(nil),
5344	}
5345	file_google_cloud_translate_v3_translation_service_proto_msgTypes[14].OneofWrappers = []interface{}{
5346		(*DocumentInputConfig_Content)(nil),
5347		(*DocumentInputConfig_GcsSource)(nil),
5348	}
5349	file_google_cloud_translate_v3_translation_service_proto_msgTypes[15].OneofWrappers = []interface{}{
5350		(*DocumentOutputConfig_GcsDestination)(nil),
5351	}
5352	file_google_cloud_translate_v3_translation_service_proto_msgTypes[22].OneofWrappers = []interface{}{
5353		(*GlossaryInputConfig_GcsSource)(nil),
5354	}
5355	file_google_cloud_translate_v3_translation_service_proto_msgTypes[23].OneofWrappers = []interface{}{
5356		(*Glossary_LanguagePair)(nil),
5357		(*Glossary_LanguageCodesSet_)(nil),
5358	}
5359	file_google_cloud_translate_v3_translation_service_proto_msgTypes[33].OneofWrappers = []interface{}{
5360		(*BatchDocumentInputConfig_GcsSource)(nil),
5361	}
5362	file_google_cloud_translate_v3_translation_service_proto_msgTypes[34].OneofWrappers = []interface{}{
5363		(*BatchDocumentOutputConfig_GcsDestination)(nil),
5364	}
5365	type x struct{}
5366	out := protoimpl.TypeBuilder{
5367		File: protoimpl.DescBuilder{
5368			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
5369			RawDescriptor: file_google_cloud_translate_v3_translation_service_proto_rawDesc,
5370			NumEnums:      4,
5371			NumMessages:   48,
5372			NumExtensions: 0,
5373			NumServices:   1,
5374		},
5375		GoTypes:           file_google_cloud_translate_v3_translation_service_proto_goTypes,
5376		DependencyIndexes: file_google_cloud_translate_v3_translation_service_proto_depIdxs,
5377		EnumInfos:         file_google_cloud_translate_v3_translation_service_proto_enumTypes,
5378		MessageInfos:      file_google_cloud_translate_v3_translation_service_proto_msgTypes,
5379	}.Build()
5380	File_google_cloud_translate_v3_translation_service_proto = out.File
5381	file_google_cloud_translate_v3_translation_service_proto_rawDesc = nil
5382	file_google_cloud_translate_v3_translation_service_proto_goTypes = nil
5383	file_google_cloud_translate_v3_translation_service_proto_depIdxs = nil
5384}
5385
5386// Reference imports to suppress errors if they are not otherwise used.
5387var _ context.Context
5388var _ grpc.ClientConnInterface
5389
5390// This is a compile-time assertion to ensure that this generated file
5391// is compatible with the grpc package it is being compiled against.
5392const _ = grpc.SupportPackageIsVersion6
5393
5394// TranslationServiceClient is the client API for TranslationService service.
5395//
5396// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
5397type TranslationServiceClient interface {
5398	// Translates input text and returns translated text.
5399	TranslateText(ctx context.Context, in *TranslateTextRequest, opts ...grpc.CallOption) (*TranslateTextResponse, error)
5400	// Detects the language of text within a request.
5401	DetectLanguage(ctx context.Context, in *DetectLanguageRequest, opts ...grpc.CallOption) (*DetectLanguageResponse, error)
5402	// Returns a list of supported languages for translation.
5403	GetSupportedLanguages(ctx context.Context, in *GetSupportedLanguagesRequest, opts ...grpc.CallOption) (*SupportedLanguages, error)
5404	// Translates documents in synchronous mode.
5405	TranslateDocument(ctx context.Context, in *TranslateDocumentRequest, opts ...grpc.CallOption) (*TranslateDocumentResponse, error)
5406	// Translates a large volume of text in asynchronous batch mode.
5407	// This function provides real-time output as the inputs are being processed.
5408	// If caller cancels a request, the partial results (for an input file, it's
5409	// all or nothing) may still be available on the specified output location.
5410	//
5411	// This call returns immediately and you can
5412	// use google.longrunning.Operation.name to poll the status of the call.
5413	BatchTranslateText(ctx context.Context, in *BatchTranslateTextRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
5414	// Translates a large volume of document in asynchronous batch mode.
5415	// This function provides real-time output as the inputs are being processed.
5416	// If caller cancels a request, the partial results (for an input file, it's
5417	// all or nothing) may still be available on the specified output location.
5418	//
5419	// This call returns immediately and you can use
5420	// google.longrunning.Operation.name to poll the status of the call.
5421	BatchTranslateDocument(ctx context.Context, in *BatchTranslateDocumentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
5422	// Creates a glossary and returns the long-running operation. Returns
5423	// NOT_FOUND, if the project doesn't exist.
5424	CreateGlossary(ctx context.Context, in *CreateGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
5425	// Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't
5426	// exist.
5427	ListGlossaries(ctx context.Context, in *ListGlossariesRequest, opts ...grpc.CallOption) (*ListGlossariesResponse, error)
5428	// Gets a glossary. Returns NOT_FOUND, if the glossary doesn't
5429	// exist.
5430	GetGlossary(ctx context.Context, in *GetGlossaryRequest, opts ...grpc.CallOption) (*Glossary, error)
5431	// Deletes a glossary, or cancels glossary construction
5432	// if the glossary isn't created yet.
5433	// Returns NOT_FOUND, if the glossary doesn't exist.
5434	DeleteGlossary(ctx context.Context, in *DeleteGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
5435}
5436
5437type translationServiceClient struct {
5438	cc grpc.ClientConnInterface
5439}
5440
5441func NewTranslationServiceClient(cc grpc.ClientConnInterface) TranslationServiceClient {
5442	return &translationServiceClient{cc}
5443}
5444
5445func (c *translationServiceClient) TranslateText(ctx context.Context, in *TranslateTextRequest, opts ...grpc.CallOption) (*TranslateTextResponse, error) {
5446	out := new(TranslateTextResponse)
5447	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/TranslateText", in, out, opts...)
5448	if err != nil {
5449		return nil, err
5450	}
5451	return out, nil
5452}
5453
5454func (c *translationServiceClient) DetectLanguage(ctx context.Context, in *DetectLanguageRequest, opts ...grpc.CallOption) (*DetectLanguageResponse, error) {
5455	out := new(DetectLanguageResponse)
5456	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/DetectLanguage", in, out, opts...)
5457	if err != nil {
5458		return nil, err
5459	}
5460	return out, nil
5461}
5462
5463func (c *translationServiceClient) GetSupportedLanguages(ctx context.Context, in *GetSupportedLanguagesRequest, opts ...grpc.CallOption) (*SupportedLanguages, error) {
5464	out := new(SupportedLanguages)
5465	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/GetSupportedLanguages", in, out, opts...)
5466	if err != nil {
5467		return nil, err
5468	}
5469	return out, nil
5470}
5471
5472func (c *translationServiceClient) TranslateDocument(ctx context.Context, in *TranslateDocumentRequest, opts ...grpc.CallOption) (*TranslateDocumentResponse, error) {
5473	out := new(TranslateDocumentResponse)
5474	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/TranslateDocument", in, out, opts...)
5475	if err != nil {
5476		return nil, err
5477	}
5478	return out, nil
5479}
5480
5481func (c *translationServiceClient) BatchTranslateText(ctx context.Context, in *BatchTranslateTextRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
5482	out := new(longrunning.Operation)
5483	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/BatchTranslateText", in, out, opts...)
5484	if err != nil {
5485		return nil, err
5486	}
5487	return out, nil
5488}
5489
5490func (c *translationServiceClient) BatchTranslateDocument(ctx context.Context, in *BatchTranslateDocumentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
5491	out := new(longrunning.Operation)
5492	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/BatchTranslateDocument", in, out, opts...)
5493	if err != nil {
5494		return nil, err
5495	}
5496	return out, nil
5497}
5498
5499func (c *translationServiceClient) CreateGlossary(ctx context.Context, in *CreateGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
5500	out := new(longrunning.Operation)
5501	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/CreateGlossary", in, out, opts...)
5502	if err != nil {
5503		return nil, err
5504	}
5505	return out, nil
5506}
5507
5508func (c *translationServiceClient) ListGlossaries(ctx context.Context, in *ListGlossariesRequest, opts ...grpc.CallOption) (*ListGlossariesResponse, error) {
5509	out := new(ListGlossariesResponse)
5510	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/ListGlossaries", in, out, opts...)
5511	if err != nil {
5512		return nil, err
5513	}
5514	return out, nil
5515}
5516
5517func (c *translationServiceClient) GetGlossary(ctx context.Context, in *GetGlossaryRequest, opts ...grpc.CallOption) (*Glossary, error) {
5518	out := new(Glossary)
5519	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/GetGlossary", in, out, opts...)
5520	if err != nil {
5521		return nil, err
5522	}
5523	return out, nil
5524}
5525
5526func (c *translationServiceClient) DeleteGlossary(ctx context.Context, in *DeleteGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
5527	out := new(longrunning.Operation)
5528	err := c.cc.Invoke(ctx, "/google.cloud.translation.v3.TranslationService/DeleteGlossary", in, out, opts...)
5529	if err != nil {
5530		return nil, err
5531	}
5532	return out, nil
5533}
5534
5535// TranslationServiceServer is the server API for TranslationService service.
5536type TranslationServiceServer interface {
5537	// Translates input text and returns translated text.
5538	TranslateText(context.Context, *TranslateTextRequest) (*TranslateTextResponse, error)
5539	// Detects the language of text within a request.
5540	DetectLanguage(context.Context, *DetectLanguageRequest) (*DetectLanguageResponse, error)
5541	// Returns a list of supported languages for translation.
5542	GetSupportedLanguages(context.Context, *GetSupportedLanguagesRequest) (*SupportedLanguages, error)
5543	// Translates documents in synchronous mode.
5544	TranslateDocument(context.Context, *TranslateDocumentRequest) (*TranslateDocumentResponse, error)
5545	// Translates a large volume of text in asynchronous batch mode.
5546	// This function provides real-time output as the inputs are being processed.
5547	// If caller cancels a request, the partial results (for an input file, it's
5548	// all or nothing) may still be available on the specified output location.
5549	//
5550	// This call returns immediately and you can
5551	// use google.longrunning.Operation.name to poll the status of the call.
5552	BatchTranslateText(context.Context, *BatchTranslateTextRequest) (*longrunning.Operation, error)
5553	// Translates a large volume of document in asynchronous batch mode.
5554	// This function provides real-time output as the inputs are being processed.
5555	// If caller cancels a request, the partial results (for an input file, it's
5556	// all or nothing) may still be available on the specified output location.
5557	//
5558	// This call returns immediately and you can use
5559	// google.longrunning.Operation.name to poll the status of the call.
5560	BatchTranslateDocument(context.Context, *BatchTranslateDocumentRequest) (*longrunning.Operation, error)
5561	// Creates a glossary and returns the long-running operation. Returns
5562	// NOT_FOUND, if the project doesn't exist.
5563	CreateGlossary(context.Context, *CreateGlossaryRequest) (*longrunning.Operation, error)
5564	// Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't
5565	// exist.
5566	ListGlossaries(context.Context, *ListGlossariesRequest) (*ListGlossariesResponse, error)
5567	// Gets a glossary. Returns NOT_FOUND, if the glossary doesn't
5568	// exist.
5569	GetGlossary(context.Context, *GetGlossaryRequest) (*Glossary, error)
5570	// Deletes a glossary, or cancels glossary construction
5571	// if the glossary isn't created yet.
5572	// Returns NOT_FOUND, if the glossary doesn't exist.
5573	DeleteGlossary(context.Context, *DeleteGlossaryRequest) (*longrunning.Operation, error)
5574}
5575
5576// UnimplementedTranslationServiceServer can be embedded to have forward compatible implementations.
5577type UnimplementedTranslationServiceServer struct {
5578}
5579
5580func (*UnimplementedTranslationServiceServer) TranslateText(context.Context, *TranslateTextRequest) (*TranslateTextResponse, error) {
5581	return nil, status.Errorf(codes.Unimplemented, "method TranslateText not implemented")
5582}
5583func (*UnimplementedTranslationServiceServer) DetectLanguage(context.Context, *DetectLanguageRequest) (*DetectLanguageResponse, error) {
5584	return nil, status.Errorf(codes.Unimplemented, "method DetectLanguage not implemented")
5585}
5586func (*UnimplementedTranslationServiceServer) GetSupportedLanguages(context.Context, *GetSupportedLanguagesRequest) (*SupportedLanguages, error) {
5587	return nil, status.Errorf(codes.Unimplemented, "method GetSupportedLanguages not implemented")
5588}
5589func (*UnimplementedTranslationServiceServer) TranslateDocument(context.Context, *TranslateDocumentRequest) (*TranslateDocumentResponse, error) {
5590	return nil, status.Errorf(codes.Unimplemented, "method TranslateDocument not implemented")
5591}
5592func (*UnimplementedTranslationServiceServer) BatchTranslateText(context.Context, *BatchTranslateTextRequest) (*longrunning.Operation, error) {
5593	return nil, status.Errorf(codes.Unimplemented, "method BatchTranslateText not implemented")
5594}
5595func (*UnimplementedTranslationServiceServer) BatchTranslateDocument(context.Context, *BatchTranslateDocumentRequest) (*longrunning.Operation, error) {
5596	return nil, status.Errorf(codes.Unimplemented, "method BatchTranslateDocument not implemented")
5597}
5598func (*UnimplementedTranslationServiceServer) CreateGlossary(context.Context, *CreateGlossaryRequest) (*longrunning.Operation, error) {
5599	return nil, status.Errorf(codes.Unimplemented, "method CreateGlossary not implemented")
5600}
5601func (*UnimplementedTranslationServiceServer) ListGlossaries(context.Context, *ListGlossariesRequest) (*ListGlossariesResponse, error) {
5602	return nil, status.Errorf(codes.Unimplemented, "method ListGlossaries not implemented")
5603}
5604func (*UnimplementedTranslationServiceServer) GetGlossary(context.Context, *GetGlossaryRequest) (*Glossary, error) {
5605	return nil, status.Errorf(codes.Unimplemented, "method GetGlossary not implemented")
5606}
5607func (*UnimplementedTranslationServiceServer) DeleteGlossary(context.Context, *DeleteGlossaryRequest) (*longrunning.Operation, error) {
5608	return nil, status.Errorf(codes.Unimplemented, "method DeleteGlossary not implemented")
5609}
5610
5611func RegisterTranslationServiceServer(s *grpc.Server, srv TranslationServiceServer) {
5612	s.RegisterService(&_TranslationService_serviceDesc, srv)
5613}
5614
5615func _TranslationService_TranslateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5616	in := new(TranslateTextRequest)
5617	if err := dec(in); err != nil {
5618		return nil, err
5619	}
5620	if interceptor == nil {
5621		return srv.(TranslationServiceServer).TranslateText(ctx, in)
5622	}
5623	info := &grpc.UnaryServerInfo{
5624		Server:     srv,
5625		FullMethod: "/google.cloud.translation.v3.TranslationService/TranslateText",
5626	}
5627	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5628		return srv.(TranslationServiceServer).TranslateText(ctx, req.(*TranslateTextRequest))
5629	}
5630	return interceptor(ctx, in, info, handler)
5631}
5632
5633func _TranslationService_DetectLanguage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5634	in := new(DetectLanguageRequest)
5635	if err := dec(in); err != nil {
5636		return nil, err
5637	}
5638	if interceptor == nil {
5639		return srv.(TranslationServiceServer).DetectLanguage(ctx, in)
5640	}
5641	info := &grpc.UnaryServerInfo{
5642		Server:     srv,
5643		FullMethod: "/google.cloud.translation.v3.TranslationService/DetectLanguage",
5644	}
5645	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5646		return srv.(TranslationServiceServer).DetectLanguage(ctx, req.(*DetectLanguageRequest))
5647	}
5648	return interceptor(ctx, in, info, handler)
5649}
5650
5651func _TranslationService_GetSupportedLanguages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5652	in := new(GetSupportedLanguagesRequest)
5653	if err := dec(in); err != nil {
5654		return nil, err
5655	}
5656	if interceptor == nil {
5657		return srv.(TranslationServiceServer).GetSupportedLanguages(ctx, in)
5658	}
5659	info := &grpc.UnaryServerInfo{
5660		Server:     srv,
5661		FullMethod: "/google.cloud.translation.v3.TranslationService/GetSupportedLanguages",
5662	}
5663	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5664		return srv.(TranslationServiceServer).GetSupportedLanguages(ctx, req.(*GetSupportedLanguagesRequest))
5665	}
5666	return interceptor(ctx, in, info, handler)
5667}
5668
5669func _TranslationService_TranslateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5670	in := new(TranslateDocumentRequest)
5671	if err := dec(in); err != nil {
5672		return nil, err
5673	}
5674	if interceptor == nil {
5675		return srv.(TranslationServiceServer).TranslateDocument(ctx, in)
5676	}
5677	info := &grpc.UnaryServerInfo{
5678		Server:     srv,
5679		FullMethod: "/google.cloud.translation.v3.TranslationService/TranslateDocument",
5680	}
5681	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5682		return srv.(TranslationServiceServer).TranslateDocument(ctx, req.(*TranslateDocumentRequest))
5683	}
5684	return interceptor(ctx, in, info, handler)
5685}
5686
5687func _TranslationService_BatchTranslateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5688	in := new(BatchTranslateTextRequest)
5689	if err := dec(in); err != nil {
5690		return nil, err
5691	}
5692	if interceptor == nil {
5693		return srv.(TranslationServiceServer).BatchTranslateText(ctx, in)
5694	}
5695	info := &grpc.UnaryServerInfo{
5696		Server:     srv,
5697		FullMethod: "/google.cloud.translation.v3.TranslationService/BatchTranslateText",
5698	}
5699	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5700		return srv.(TranslationServiceServer).BatchTranslateText(ctx, req.(*BatchTranslateTextRequest))
5701	}
5702	return interceptor(ctx, in, info, handler)
5703}
5704
5705func _TranslationService_BatchTranslateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5706	in := new(BatchTranslateDocumentRequest)
5707	if err := dec(in); err != nil {
5708		return nil, err
5709	}
5710	if interceptor == nil {
5711		return srv.(TranslationServiceServer).BatchTranslateDocument(ctx, in)
5712	}
5713	info := &grpc.UnaryServerInfo{
5714		Server:     srv,
5715		FullMethod: "/google.cloud.translation.v3.TranslationService/BatchTranslateDocument",
5716	}
5717	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5718		return srv.(TranslationServiceServer).BatchTranslateDocument(ctx, req.(*BatchTranslateDocumentRequest))
5719	}
5720	return interceptor(ctx, in, info, handler)
5721}
5722
5723func _TranslationService_CreateGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5724	in := new(CreateGlossaryRequest)
5725	if err := dec(in); err != nil {
5726		return nil, err
5727	}
5728	if interceptor == nil {
5729		return srv.(TranslationServiceServer).CreateGlossary(ctx, in)
5730	}
5731	info := &grpc.UnaryServerInfo{
5732		Server:     srv,
5733		FullMethod: "/google.cloud.translation.v3.TranslationService/CreateGlossary",
5734	}
5735	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5736		return srv.(TranslationServiceServer).CreateGlossary(ctx, req.(*CreateGlossaryRequest))
5737	}
5738	return interceptor(ctx, in, info, handler)
5739}
5740
5741func _TranslationService_ListGlossaries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5742	in := new(ListGlossariesRequest)
5743	if err := dec(in); err != nil {
5744		return nil, err
5745	}
5746	if interceptor == nil {
5747		return srv.(TranslationServiceServer).ListGlossaries(ctx, in)
5748	}
5749	info := &grpc.UnaryServerInfo{
5750		Server:     srv,
5751		FullMethod: "/google.cloud.translation.v3.TranslationService/ListGlossaries",
5752	}
5753	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5754		return srv.(TranslationServiceServer).ListGlossaries(ctx, req.(*ListGlossariesRequest))
5755	}
5756	return interceptor(ctx, in, info, handler)
5757}
5758
5759func _TranslationService_GetGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5760	in := new(GetGlossaryRequest)
5761	if err := dec(in); err != nil {
5762		return nil, err
5763	}
5764	if interceptor == nil {
5765		return srv.(TranslationServiceServer).GetGlossary(ctx, in)
5766	}
5767	info := &grpc.UnaryServerInfo{
5768		Server:     srv,
5769		FullMethod: "/google.cloud.translation.v3.TranslationService/GetGlossary",
5770	}
5771	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5772		return srv.(TranslationServiceServer).GetGlossary(ctx, req.(*GetGlossaryRequest))
5773	}
5774	return interceptor(ctx, in, info, handler)
5775}
5776
5777func _TranslationService_DeleteGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5778	in := new(DeleteGlossaryRequest)
5779	if err := dec(in); err != nil {
5780		return nil, err
5781	}
5782	if interceptor == nil {
5783		return srv.(TranslationServiceServer).DeleteGlossary(ctx, in)
5784	}
5785	info := &grpc.UnaryServerInfo{
5786		Server:     srv,
5787		FullMethod: "/google.cloud.translation.v3.TranslationService/DeleteGlossary",
5788	}
5789	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5790		return srv.(TranslationServiceServer).DeleteGlossary(ctx, req.(*DeleteGlossaryRequest))
5791	}
5792	return interceptor(ctx, in, info, handler)
5793}
5794
5795var _TranslationService_serviceDesc = grpc.ServiceDesc{
5796	ServiceName: "google.cloud.translation.v3.TranslationService",
5797	HandlerType: (*TranslationServiceServer)(nil),
5798	Methods: []grpc.MethodDesc{
5799		{
5800			MethodName: "TranslateText",
5801			Handler:    _TranslationService_TranslateText_Handler,
5802		},
5803		{
5804			MethodName: "DetectLanguage",
5805			Handler:    _TranslationService_DetectLanguage_Handler,
5806		},
5807		{
5808			MethodName: "GetSupportedLanguages",
5809			Handler:    _TranslationService_GetSupportedLanguages_Handler,
5810		},
5811		{
5812			MethodName: "TranslateDocument",
5813			Handler:    _TranslationService_TranslateDocument_Handler,
5814		},
5815		{
5816			MethodName: "BatchTranslateText",
5817			Handler:    _TranslationService_BatchTranslateText_Handler,
5818		},
5819		{
5820			MethodName: "BatchTranslateDocument",
5821			Handler:    _TranslationService_BatchTranslateDocument_Handler,
5822		},
5823		{
5824			MethodName: "CreateGlossary",
5825			Handler:    _TranslationService_CreateGlossary_Handler,
5826		},
5827		{
5828			MethodName: "ListGlossaries",
5829			Handler:    _TranslationService_ListGlossaries_Handler,
5830		},
5831		{
5832			MethodName: "GetGlossary",
5833			Handler:    _TranslationService_GetGlossary_Handler,
5834		},
5835		{
5836			MethodName: "DeleteGlossary",
5837			Handler:    _TranslationService_DeleteGlossary_Handler,
5838		},
5839	},
5840	Streams:  []grpc.StreamDesc{},
5841	Metadata: "google/cloud/translate/v3/translation_service.proto",
5842}
5843