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