cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/prediction_service.pb.go (about) 1 // Copyright 2025 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.35.2 18 // protoc v4.25.7 19 // source: google/cloud/aiplatform/v1/prediction_service.proto 20 21 package aiplatformpb 22 23 import ( 24 _ "google.golang.org/genproto/googleapis/api/annotations" 25 httpbody "google.golang.org/genproto/googleapis/api/httpbody" 26 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 27 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 28 structpb "google.golang.org/protobuf/types/known/structpb" 29 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 30 reflect "reflect" 31 sync "sync" 32 ) 33 34 const ( 35 // Verify that this generated code is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 37 // Verify that runtime/protoimpl is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 39 ) 40 41 // Blocked reason enumeration. 42 type GenerateContentResponse_PromptFeedback_BlockedReason int32 43 44 const ( 45 // Unspecified blocked reason. 46 GenerateContentResponse_PromptFeedback_BLOCKED_REASON_UNSPECIFIED GenerateContentResponse_PromptFeedback_BlockedReason = 0 47 // Candidates blocked due to safety. 48 GenerateContentResponse_PromptFeedback_SAFETY GenerateContentResponse_PromptFeedback_BlockedReason = 1 49 // Candidates blocked due to other reason. 50 GenerateContentResponse_PromptFeedback_OTHER GenerateContentResponse_PromptFeedback_BlockedReason = 2 51 // Candidates blocked due to the terms which are included from the 52 // terminology blocklist. 53 GenerateContentResponse_PromptFeedback_BLOCKLIST GenerateContentResponse_PromptFeedback_BlockedReason = 3 54 // Candidates blocked due to prohibited content. 55 GenerateContentResponse_PromptFeedback_PROHIBITED_CONTENT GenerateContentResponse_PromptFeedback_BlockedReason = 4 56 // The user prompt was blocked by Model Armor. 57 GenerateContentResponse_PromptFeedback_MODEL_ARMOR GenerateContentResponse_PromptFeedback_BlockedReason = 5 58 // The user prompt was blocked due to jailbreak. 59 GenerateContentResponse_PromptFeedback_JAILBREAK GenerateContentResponse_PromptFeedback_BlockedReason = 6 60 ) 61 62 // Enum value maps for GenerateContentResponse_PromptFeedback_BlockedReason. 63 var ( 64 GenerateContentResponse_PromptFeedback_BlockedReason_name = map[int32]string{ 65 0: "BLOCKED_REASON_UNSPECIFIED", 66 1: "SAFETY", 67 2: "OTHER", 68 3: "BLOCKLIST", 69 4: "PROHIBITED_CONTENT", 70 5: "MODEL_ARMOR", 71 6: "JAILBREAK", 72 } 73 GenerateContentResponse_PromptFeedback_BlockedReason_value = map[string]int32{ 74 "BLOCKED_REASON_UNSPECIFIED": 0, 75 "SAFETY": 1, 76 "OTHER": 2, 77 "BLOCKLIST": 3, 78 "PROHIBITED_CONTENT": 4, 79 "MODEL_ARMOR": 5, 80 "JAILBREAK": 6, 81 } 82 ) 83 84 func (x GenerateContentResponse_PromptFeedback_BlockedReason) Enum() *GenerateContentResponse_PromptFeedback_BlockedReason { 85 p := new(GenerateContentResponse_PromptFeedback_BlockedReason) 86 *p = x 87 return p 88 } 89 90 func (x GenerateContentResponse_PromptFeedback_BlockedReason) String() string { 91 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 92 } 93 94 func (GenerateContentResponse_PromptFeedback_BlockedReason) Descriptor() protoreflect.EnumDescriptor { 95 return file_google_cloud_aiplatform_v1_prediction_service_proto_enumTypes[0].Descriptor() 96 } 97 98 func (GenerateContentResponse_PromptFeedback_BlockedReason) Type() protoreflect.EnumType { 99 return &file_google_cloud_aiplatform_v1_prediction_service_proto_enumTypes[0] 100 } 101 102 func (x GenerateContentResponse_PromptFeedback_BlockedReason) Number() protoreflect.EnumNumber { 103 return protoreflect.EnumNumber(x) 104 } 105 106 // Deprecated: Use GenerateContentResponse_PromptFeedback_BlockedReason.Descriptor instead. 107 func (GenerateContentResponse_PromptFeedback_BlockedReason) EnumDescriptor() ([]byte, []int) { 108 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{21, 0, 0} 109 } 110 111 // Request message for 112 // [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]. 113 type PredictRequest struct { 114 state protoimpl.MessageState 115 sizeCache protoimpl.SizeCache 116 unknownFields protoimpl.UnknownFields 117 118 // Required. The name of the Endpoint requested to serve the prediction. 119 // Format: 120 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 121 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 122 // Required. The instances that are the input to the prediction call. 123 // A DeployedModel may have an upper limit on the number of instances it 124 // supports per request, and when it is exceeded the prediction call errors 125 // in case of AutoML Models, or, in case of customer created Models, the 126 // behaviour is as documented by that Model. 127 // The schema of any single instance may be specified via Endpoint's 128 // DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model] 129 // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] 130 // [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]. 131 Instances []*structpb.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 132 // The parameters that govern the prediction. The schema of the parameters may 133 // be specified via Endpoint's DeployedModels' [Model's 134 // ][google.cloud.aiplatform.v1.DeployedModel.model] 135 // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] 136 // [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]. 137 Parameters *structpb.Value `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` 138 // Optional. The user labels for Imagen billing usage only. Only Imagen 139 // supports labels. For other use cases, it will be ignored. 140 Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 141 } 142 143 func (x *PredictRequest) Reset() { 144 *x = PredictRequest{} 145 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[0] 146 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 147 ms.StoreMessageInfo(mi) 148 } 149 150 func (x *PredictRequest) String() string { 151 return protoimpl.X.MessageStringOf(x) 152 } 153 154 func (*PredictRequest) ProtoMessage() {} 155 156 func (x *PredictRequest) ProtoReflect() protoreflect.Message { 157 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[0] 158 if x != nil { 159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 160 if ms.LoadMessageInfo() == nil { 161 ms.StoreMessageInfo(mi) 162 } 163 return ms 164 } 165 return mi.MessageOf(x) 166 } 167 168 // Deprecated: Use PredictRequest.ProtoReflect.Descriptor instead. 169 func (*PredictRequest) Descriptor() ([]byte, []int) { 170 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{0} 171 } 172 173 func (x *PredictRequest) GetEndpoint() string { 174 if x != nil { 175 return x.Endpoint 176 } 177 return "" 178 } 179 180 func (x *PredictRequest) GetInstances() []*structpb.Value { 181 if x != nil { 182 return x.Instances 183 } 184 return nil 185 } 186 187 func (x *PredictRequest) GetParameters() *structpb.Value { 188 if x != nil { 189 return x.Parameters 190 } 191 return nil 192 } 193 194 func (x *PredictRequest) GetLabels() map[string]string { 195 if x != nil { 196 return x.Labels 197 } 198 return nil 199 } 200 201 // Response message for 202 // [PredictionService.Predict][google.cloud.aiplatform.v1.PredictionService.Predict]. 203 type PredictResponse struct { 204 state protoimpl.MessageState 205 sizeCache protoimpl.SizeCache 206 unknownFields protoimpl.UnknownFields 207 208 // The predictions that are the output of the predictions call. 209 // The schema of any single prediction may be specified via Endpoint's 210 // DeployedModels' [Model's ][google.cloud.aiplatform.v1.DeployedModel.model] 211 // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] 212 // [prediction_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.prediction_schema_uri]. 213 Predictions []*structpb.Value `protobuf:"bytes,1,rep,name=predictions,proto3" json:"predictions,omitempty"` 214 // ID of the Endpoint's DeployedModel that served this prediction. 215 DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` 216 // Output only. The resource name of the Model which is deployed as the 217 // DeployedModel that this prediction hits. 218 Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` 219 // Output only. The version ID of the Model which is deployed as the 220 // DeployedModel that this prediction hits. 221 ModelVersionId string `protobuf:"bytes,5,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` 222 // Output only. The [display 223 // name][google.cloud.aiplatform.v1.Model.display_name] of the Model which is 224 // deployed as the DeployedModel that this prediction hits. 225 ModelDisplayName string `protobuf:"bytes,4,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` 226 // Output only. Request-level metadata returned by the model. The metadata 227 // type will be dependent upon the model implementation. 228 Metadata *structpb.Value `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` 229 } 230 231 func (x *PredictResponse) Reset() { 232 *x = PredictResponse{} 233 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[1] 234 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 235 ms.StoreMessageInfo(mi) 236 } 237 238 func (x *PredictResponse) String() string { 239 return protoimpl.X.MessageStringOf(x) 240 } 241 242 func (*PredictResponse) ProtoMessage() {} 243 244 func (x *PredictResponse) ProtoReflect() protoreflect.Message { 245 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[1] 246 if x != nil { 247 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 248 if ms.LoadMessageInfo() == nil { 249 ms.StoreMessageInfo(mi) 250 } 251 return ms 252 } 253 return mi.MessageOf(x) 254 } 255 256 // Deprecated: Use PredictResponse.ProtoReflect.Descriptor instead. 257 func (*PredictResponse) Descriptor() ([]byte, []int) { 258 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{1} 259 } 260 261 func (x *PredictResponse) GetPredictions() []*structpb.Value { 262 if x != nil { 263 return x.Predictions 264 } 265 return nil 266 } 267 268 func (x *PredictResponse) GetDeployedModelId() string { 269 if x != nil { 270 return x.DeployedModelId 271 } 272 return "" 273 } 274 275 func (x *PredictResponse) GetModel() string { 276 if x != nil { 277 return x.Model 278 } 279 return "" 280 } 281 282 func (x *PredictResponse) GetModelVersionId() string { 283 if x != nil { 284 return x.ModelVersionId 285 } 286 return "" 287 } 288 289 func (x *PredictResponse) GetModelDisplayName() string { 290 if x != nil { 291 return x.ModelDisplayName 292 } 293 return "" 294 } 295 296 func (x *PredictResponse) GetMetadata() *structpb.Value { 297 if x != nil { 298 return x.Metadata 299 } 300 return nil 301 } 302 303 // Request message for 304 // [PredictionService.RawPredict][google.cloud.aiplatform.v1.PredictionService.RawPredict]. 305 type RawPredictRequest struct { 306 state protoimpl.MessageState 307 sizeCache protoimpl.SizeCache 308 unknownFields protoimpl.UnknownFields 309 310 // Required. The name of the Endpoint requested to serve the prediction. 311 // Format: 312 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 313 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 314 // The prediction input. Supports HTTP headers and arbitrary data payload. 315 // 316 // A [DeployedModel][google.cloud.aiplatform.v1.DeployedModel] may have an 317 // upper limit on the number of instances it supports per request. When this 318 // limit it is exceeded for an AutoML model, the 319 // [RawPredict][google.cloud.aiplatform.v1.PredictionService.RawPredict] 320 // method returns an error. When this limit is exceeded for a custom-trained 321 // model, the behavior varies depending on the model. 322 // 323 // You can specify the schema for each instance in the 324 // [predict_schemata.instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri] 325 // field when you create a [Model][google.cloud.aiplatform.v1.Model]. This 326 // schema applies when you deploy the `Model` as a `DeployedModel` to an 327 // [Endpoint][google.cloud.aiplatform.v1.Endpoint] and use the `RawPredict` 328 // method. 329 HttpBody *httpbody.HttpBody `protobuf:"bytes,2,opt,name=http_body,json=httpBody,proto3" json:"http_body,omitempty"` 330 } 331 332 func (x *RawPredictRequest) Reset() { 333 *x = RawPredictRequest{} 334 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[2] 335 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 336 ms.StoreMessageInfo(mi) 337 } 338 339 func (x *RawPredictRequest) String() string { 340 return protoimpl.X.MessageStringOf(x) 341 } 342 343 func (*RawPredictRequest) ProtoMessage() {} 344 345 func (x *RawPredictRequest) ProtoReflect() protoreflect.Message { 346 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[2] 347 if x != nil { 348 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 349 if ms.LoadMessageInfo() == nil { 350 ms.StoreMessageInfo(mi) 351 } 352 return ms 353 } 354 return mi.MessageOf(x) 355 } 356 357 // Deprecated: Use RawPredictRequest.ProtoReflect.Descriptor instead. 358 func (*RawPredictRequest) Descriptor() ([]byte, []int) { 359 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{2} 360 } 361 362 func (x *RawPredictRequest) GetEndpoint() string { 363 if x != nil { 364 return x.Endpoint 365 } 366 return "" 367 } 368 369 func (x *RawPredictRequest) GetHttpBody() *httpbody.HttpBody { 370 if x != nil { 371 return x.HttpBody 372 } 373 return nil 374 } 375 376 // Request message for 377 // [PredictionService.StreamRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamRawPredict]. 378 type StreamRawPredictRequest struct { 379 state protoimpl.MessageState 380 sizeCache protoimpl.SizeCache 381 unknownFields protoimpl.UnknownFields 382 383 // Required. The name of the Endpoint requested to serve the prediction. 384 // Format: 385 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 386 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 387 // The prediction input. Supports HTTP headers and arbitrary data payload. 388 HttpBody *httpbody.HttpBody `protobuf:"bytes,2,opt,name=http_body,json=httpBody,proto3" json:"http_body,omitempty"` 389 } 390 391 func (x *StreamRawPredictRequest) Reset() { 392 *x = StreamRawPredictRequest{} 393 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[3] 394 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 395 ms.StoreMessageInfo(mi) 396 } 397 398 func (x *StreamRawPredictRequest) String() string { 399 return protoimpl.X.MessageStringOf(x) 400 } 401 402 func (*StreamRawPredictRequest) ProtoMessage() {} 403 404 func (x *StreamRawPredictRequest) ProtoReflect() protoreflect.Message { 405 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[3] 406 if x != nil { 407 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 408 if ms.LoadMessageInfo() == nil { 409 ms.StoreMessageInfo(mi) 410 } 411 return ms 412 } 413 return mi.MessageOf(x) 414 } 415 416 // Deprecated: Use StreamRawPredictRequest.ProtoReflect.Descriptor instead. 417 func (*StreamRawPredictRequest) Descriptor() ([]byte, []int) { 418 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{3} 419 } 420 421 func (x *StreamRawPredictRequest) GetEndpoint() string { 422 if x != nil { 423 return x.Endpoint 424 } 425 return "" 426 } 427 428 func (x *StreamRawPredictRequest) GetHttpBody() *httpbody.HttpBody { 429 if x != nil { 430 return x.HttpBody 431 } 432 return nil 433 } 434 435 // Request message for 436 // [PredictionService.DirectPredict][google.cloud.aiplatform.v1.PredictionService.DirectPredict]. 437 type DirectPredictRequest struct { 438 state protoimpl.MessageState 439 sizeCache protoimpl.SizeCache 440 unknownFields protoimpl.UnknownFields 441 442 // Required. The name of the Endpoint requested to serve the prediction. 443 // Format: 444 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 445 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 446 // The prediction input. 447 Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"` 448 // The parameters that govern the prediction. 449 Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` 450 } 451 452 func (x *DirectPredictRequest) Reset() { 453 *x = DirectPredictRequest{} 454 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[4] 455 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 456 ms.StoreMessageInfo(mi) 457 } 458 459 func (x *DirectPredictRequest) String() string { 460 return protoimpl.X.MessageStringOf(x) 461 } 462 463 func (*DirectPredictRequest) ProtoMessage() {} 464 465 func (x *DirectPredictRequest) ProtoReflect() protoreflect.Message { 466 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[4] 467 if x != nil { 468 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 469 if ms.LoadMessageInfo() == nil { 470 ms.StoreMessageInfo(mi) 471 } 472 return ms 473 } 474 return mi.MessageOf(x) 475 } 476 477 // Deprecated: Use DirectPredictRequest.ProtoReflect.Descriptor instead. 478 func (*DirectPredictRequest) Descriptor() ([]byte, []int) { 479 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{4} 480 } 481 482 func (x *DirectPredictRequest) GetEndpoint() string { 483 if x != nil { 484 return x.Endpoint 485 } 486 return "" 487 } 488 489 func (x *DirectPredictRequest) GetInputs() []*Tensor { 490 if x != nil { 491 return x.Inputs 492 } 493 return nil 494 } 495 496 func (x *DirectPredictRequest) GetParameters() *Tensor { 497 if x != nil { 498 return x.Parameters 499 } 500 return nil 501 } 502 503 // Response message for 504 // [PredictionService.DirectPredict][google.cloud.aiplatform.v1.PredictionService.DirectPredict]. 505 type DirectPredictResponse struct { 506 state protoimpl.MessageState 507 sizeCache protoimpl.SizeCache 508 unknownFields protoimpl.UnknownFields 509 510 // The prediction output. 511 Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` 512 // The parameters that govern the prediction. 513 Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` 514 } 515 516 func (x *DirectPredictResponse) Reset() { 517 *x = DirectPredictResponse{} 518 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[5] 519 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 520 ms.StoreMessageInfo(mi) 521 } 522 523 func (x *DirectPredictResponse) String() string { 524 return protoimpl.X.MessageStringOf(x) 525 } 526 527 func (*DirectPredictResponse) ProtoMessage() {} 528 529 func (x *DirectPredictResponse) ProtoReflect() protoreflect.Message { 530 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[5] 531 if x != nil { 532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 533 if ms.LoadMessageInfo() == nil { 534 ms.StoreMessageInfo(mi) 535 } 536 return ms 537 } 538 return mi.MessageOf(x) 539 } 540 541 // Deprecated: Use DirectPredictResponse.ProtoReflect.Descriptor instead. 542 func (*DirectPredictResponse) Descriptor() ([]byte, []int) { 543 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{5} 544 } 545 546 func (x *DirectPredictResponse) GetOutputs() []*Tensor { 547 if x != nil { 548 return x.Outputs 549 } 550 return nil 551 } 552 553 func (x *DirectPredictResponse) GetParameters() *Tensor { 554 if x != nil { 555 return x.Parameters 556 } 557 return nil 558 } 559 560 // Request message for 561 // [PredictionService.DirectRawPredict][google.cloud.aiplatform.v1.PredictionService.DirectRawPredict]. 562 type DirectRawPredictRequest struct { 563 state protoimpl.MessageState 564 sizeCache protoimpl.SizeCache 565 unknownFields protoimpl.UnknownFields 566 567 // Required. The name of the Endpoint requested to serve the prediction. 568 // Format: 569 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 570 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 571 // Fully qualified name of the API method being invoked to perform 572 // predictions. 573 // 574 // Format: 575 // `/namespace.Service/Method/` 576 // Example: 577 // `/tensorflow.serving.PredictionService/Predict` 578 MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` 579 // The prediction input. 580 Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` 581 } 582 583 func (x *DirectRawPredictRequest) Reset() { 584 *x = DirectRawPredictRequest{} 585 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[6] 586 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 587 ms.StoreMessageInfo(mi) 588 } 589 590 func (x *DirectRawPredictRequest) String() string { 591 return protoimpl.X.MessageStringOf(x) 592 } 593 594 func (*DirectRawPredictRequest) ProtoMessage() {} 595 596 func (x *DirectRawPredictRequest) ProtoReflect() protoreflect.Message { 597 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[6] 598 if x != nil { 599 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 600 if ms.LoadMessageInfo() == nil { 601 ms.StoreMessageInfo(mi) 602 } 603 return ms 604 } 605 return mi.MessageOf(x) 606 } 607 608 // Deprecated: Use DirectRawPredictRequest.ProtoReflect.Descriptor instead. 609 func (*DirectRawPredictRequest) Descriptor() ([]byte, []int) { 610 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{6} 611 } 612 613 func (x *DirectRawPredictRequest) GetEndpoint() string { 614 if x != nil { 615 return x.Endpoint 616 } 617 return "" 618 } 619 620 func (x *DirectRawPredictRequest) GetMethodName() string { 621 if x != nil { 622 return x.MethodName 623 } 624 return "" 625 } 626 627 func (x *DirectRawPredictRequest) GetInput() []byte { 628 if x != nil { 629 return x.Input 630 } 631 return nil 632 } 633 634 // Response message for 635 // [PredictionService.DirectRawPredict][google.cloud.aiplatform.v1.PredictionService.DirectRawPredict]. 636 type DirectRawPredictResponse struct { 637 state protoimpl.MessageState 638 sizeCache protoimpl.SizeCache 639 unknownFields protoimpl.UnknownFields 640 641 // The prediction output. 642 Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` 643 } 644 645 func (x *DirectRawPredictResponse) Reset() { 646 *x = DirectRawPredictResponse{} 647 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[7] 648 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 649 ms.StoreMessageInfo(mi) 650 } 651 652 func (x *DirectRawPredictResponse) String() string { 653 return protoimpl.X.MessageStringOf(x) 654 } 655 656 func (*DirectRawPredictResponse) ProtoMessage() {} 657 658 func (x *DirectRawPredictResponse) ProtoReflect() protoreflect.Message { 659 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[7] 660 if x != nil { 661 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 662 if ms.LoadMessageInfo() == nil { 663 ms.StoreMessageInfo(mi) 664 } 665 return ms 666 } 667 return mi.MessageOf(x) 668 } 669 670 // Deprecated: Use DirectRawPredictResponse.ProtoReflect.Descriptor instead. 671 func (*DirectRawPredictResponse) Descriptor() ([]byte, []int) { 672 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{7} 673 } 674 675 func (x *DirectRawPredictResponse) GetOutput() []byte { 676 if x != nil { 677 return x.Output 678 } 679 return nil 680 } 681 682 // Request message for 683 // [PredictionService.StreamDirectPredict][google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict]. 684 // 685 // The first message must contain 686 // [endpoint][google.cloud.aiplatform.v1.StreamDirectPredictRequest.endpoint] 687 // field and optionally [input][]. The subsequent messages must contain 688 // [input][]. 689 type StreamDirectPredictRequest struct { 690 state protoimpl.MessageState 691 sizeCache protoimpl.SizeCache 692 unknownFields protoimpl.UnknownFields 693 694 // Required. The name of the Endpoint requested to serve the prediction. 695 // Format: 696 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 697 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 698 // Optional. The prediction input. 699 Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"` 700 // Optional. The parameters that govern the prediction. 701 Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` 702 } 703 704 func (x *StreamDirectPredictRequest) Reset() { 705 *x = StreamDirectPredictRequest{} 706 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[8] 707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 708 ms.StoreMessageInfo(mi) 709 } 710 711 func (x *StreamDirectPredictRequest) String() string { 712 return protoimpl.X.MessageStringOf(x) 713 } 714 715 func (*StreamDirectPredictRequest) ProtoMessage() {} 716 717 func (x *StreamDirectPredictRequest) ProtoReflect() protoreflect.Message { 718 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[8] 719 if x != nil { 720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 721 if ms.LoadMessageInfo() == nil { 722 ms.StoreMessageInfo(mi) 723 } 724 return ms 725 } 726 return mi.MessageOf(x) 727 } 728 729 // Deprecated: Use StreamDirectPredictRequest.ProtoReflect.Descriptor instead. 730 func (*StreamDirectPredictRequest) Descriptor() ([]byte, []int) { 731 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{8} 732 } 733 734 func (x *StreamDirectPredictRequest) GetEndpoint() string { 735 if x != nil { 736 return x.Endpoint 737 } 738 return "" 739 } 740 741 func (x *StreamDirectPredictRequest) GetInputs() []*Tensor { 742 if x != nil { 743 return x.Inputs 744 } 745 return nil 746 } 747 748 func (x *StreamDirectPredictRequest) GetParameters() *Tensor { 749 if x != nil { 750 return x.Parameters 751 } 752 return nil 753 } 754 755 // Response message for 756 // [PredictionService.StreamDirectPredict][google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict]. 757 type StreamDirectPredictResponse struct { 758 state protoimpl.MessageState 759 sizeCache protoimpl.SizeCache 760 unknownFields protoimpl.UnknownFields 761 762 // The prediction output. 763 Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` 764 // The parameters that govern the prediction. 765 Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` 766 } 767 768 func (x *StreamDirectPredictResponse) Reset() { 769 *x = StreamDirectPredictResponse{} 770 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[9] 771 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 772 ms.StoreMessageInfo(mi) 773 } 774 775 func (x *StreamDirectPredictResponse) String() string { 776 return protoimpl.X.MessageStringOf(x) 777 } 778 779 func (*StreamDirectPredictResponse) ProtoMessage() {} 780 781 func (x *StreamDirectPredictResponse) ProtoReflect() protoreflect.Message { 782 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[9] 783 if x != nil { 784 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 785 if ms.LoadMessageInfo() == nil { 786 ms.StoreMessageInfo(mi) 787 } 788 return ms 789 } 790 return mi.MessageOf(x) 791 } 792 793 // Deprecated: Use StreamDirectPredictResponse.ProtoReflect.Descriptor instead. 794 func (*StreamDirectPredictResponse) Descriptor() ([]byte, []int) { 795 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{9} 796 } 797 798 func (x *StreamDirectPredictResponse) GetOutputs() []*Tensor { 799 if x != nil { 800 return x.Outputs 801 } 802 return nil 803 } 804 805 func (x *StreamDirectPredictResponse) GetParameters() *Tensor { 806 if x != nil { 807 return x.Parameters 808 } 809 return nil 810 } 811 812 // Request message for 813 // [PredictionService.StreamDirectRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict]. 814 // 815 // The first message must contain 816 // [endpoint][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.endpoint] 817 // and 818 // [method_name][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.method_name] 819 // fields and optionally 820 // [input][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.input]. The 821 // subsequent messages must contain 822 // [input][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.input]. 823 // [method_name][google.cloud.aiplatform.v1.StreamDirectRawPredictRequest.method_name] 824 // in the subsequent messages have no effect. 825 type StreamDirectRawPredictRequest struct { 826 state protoimpl.MessageState 827 sizeCache protoimpl.SizeCache 828 unknownFields protoimpl.UnknownFields 829 830 // Required. The name of the Endpoint requested to serve the prediction. 831 // Format: 832 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 833 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 834 // Optional. Fully qualified name of the API method being invoked to perform 835 // predictions. 836 // 837 // Format: 838 // `/namespace.Service/Method/` 839 // Example: 840 // `/tensorflow.serving.PredictionService/Predict` 841 MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` 842 // Optional. The prediction input. 843 Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` 844 } 845 846 func (x *StreamDirectRawPredictRequest) Reset() { 847 *x = StreamDirectRawPredictRequest{} 848 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[10] 849 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 850 ms.StoreMessageInfo(mi) 851 } 852 853 func (x *StreamDirectRawPredictRequest) String() string { 854 return protoimpl.X.MessageStringOf(x) 855 } 856 857 func (*StreamDirectRawPredictRequest) ProtoMessage() {} 858 859 func (x *StreamDirectRawPredictRequest) ProtoReflect() protoreflect.Message { 860 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[10] 861 if x != nil { 862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 863 if ms.LoadMessageInfo() == nil { 864 ms.StoreMessageInfo(mi) 865 } 866 return ms 867 } 868 return mi.MessageOf(x) 869 } 870 871 // Deprecated: Use StreamDirectRawPredictRequest.ProtoReflect.Descriptor instead. 872 func (*StreamDirectRawPredictRequest) Descriptor() ([]byte, []int) { 873 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{10} 874 } 875 876 func (x *StreamDirectRawPredictRequest) GetEndpoint() string { 877 if x != nil { 878 return x.Endpoint 879 } 880 return "" 881 } 882 883 func (x *StreamDirectRawPredictRequest) GetMethodName() string { 884 if x != nil { 885 return x.MethodName 886 } 887 return "" 888 } 889 890 func (x *StreamDirectRawPredictRequest) GetInput() []byte { 891 if x != nil { 892 return x.Input 893 } 894 return nil 895 } 896 897 // Response message for 898 // [PredictionService.StreamDirectRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict]. 899 type StreamDirectRawPredictResponse struct { 900 state protoimpl.MessageState 901 sizeCache protoimpl.SizeCache 902 unknownFields protoimpl.UnknownFields 903 904 // The prediction output. 905 Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` 906 } 907 908 func (x *StreamDirectRawPredictResponse) Reset() { 909 *x = StreamDirectRawPredictResponse{} 910 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[11] 911 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 912 ms.StoreMessageInfo(mi) 913 } 914 915 func (x *StreamDirectRawPredictResponse) String() string { 916 return protoimpl.X.MessageStringOf(x) 917 } 918 919 func (*StreamDirectRawPredictResponse) ProtoMessage() {} 920 921 func (x *StreamDirectRawPredictResponse) ProtoReflect() protoreflect.Message { 922 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[11] 923 if x != nil { 924 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 925 if ms.LoadMessageInfo() == nil { 926 ms.StoreMessageInfo(mi) 927 } 928 return ms 929 } 930 return mi.MessageOf(x) 931 } 932 933 // Deprecated: Use StreamDirectRawPredictResponse.ProtoReflect.Descriptor instead. 934 func (*StreamDirectRawPredictResponse) Descriptor() ([]byte, []int) { 935 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{11} 936 } 937 938 func (x *StreamDirectRawPredictResponse) GetOutput() []byte { 939 if x != nil { 940 return x.Output 941 } 942 return nil 943 } 944 945 // Request message for 946 // [PredictionService.StreamingPredict][google.cloud.aiplatform.v1.PredictionService.StreamingPredict]. 947 // 948 // The first message must contain 949 // [endpoint][google.cloud.aiplatform.v1.StreamingPredictRequest.endpoint] field 950 // and optionally [input][]. The subsequent messages must contain [input][]. 951 type StreamingPredictRequest struct { 952 state protoimpl.MessageState 953 sizeCache protoimpl.SizeCache 954 unknownFields protoimpl.UnknownFields 955 956 // Required. The name of the Endpoint requested to serve the prediction. 957 // Format: 958 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 959 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 960 // The prediction input. 961 Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"` 962 // The parameters that govern the prediction. 963 Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` 964 } 965 966 func (x *StreamingPredictRequest) Reset() { 967 *x = StreamingPredictRequest{} 968 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[12] 969 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 970 ms.StoreMessageInfo(mi) 971 } 972 973 func (x *StreamingPredictRequest) String() string { 974 return protoimpl.X.MessageStringOf(x) 975 } 976 977 func (*StreamingPredictRequest) ProtoMessage() {} 978 979 func (x *StreamingPredictRequest) ProtoReflect() protoreflect.Message { 980 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[12] 981 if x != nil { 982 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 983 if ms.LoadMessageInfo() == nil { 984 ms.StoreMessageInfo(mi) 985 } 986 return ms 987 } 988 return mi.MessageOf(x) 989 } 990 991 // Deprecated: Use StreamingPredictRequest.ProtoReflect.Descriptor instead. 992 func (*StreamingPredictRequest) Descriptor() ([]byte, []int) { 993 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{12} 994 } 995 996 func (x *StreamingPredictRequest) GetEndpoint() string { 997 if x != nil { 998 return x.Endpoint 999 } 1000 return "" 1001 } 1002 1003 func (x *StreamingPredictRequest) GetInputs() []*Tensor { 1004 if x != nil { 1005 return x.Inputs 1006 } 1007 return nil 1008 } 1009 1010 func (x *StreamingPredictRequest) GetParameters() *Tensor { 1011 if x != nil { 1012 return x.Parameters 1013 } 1014 return nil 1015 } 1016 1017 // Response message for 1018 // [PredictionService.StreamingPredict][google.cloud.aiplatform.v1.PredictionService.StreamingPredict]. 1019 type StreamingPredictResponse struct { 1020 state protoimpl.MessageState 1021 sizeCache protoimpl.SizeCache 1022 unknownFields protoimpl.UnknownFields 1023 1024 // The prediction output. 1025 Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` 1026 // The parameters that govern the prediction. 1027 Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` 1028 } 1029 1030 func (x *StreamingPredictResponse) Reset() { 1031 *x = StreamingPredictResponse{} 1032 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[13] 1033 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1034 ms.StoreMessageInfo(mi) 1035 } 1036 1037 func (x *StreamingPredictResponse) String() string { 1038 return protoimpl.X.MessageStringOf(x) 1039 } 1040 1041 func (*StreamingPredictResponse) ProtoMessage() {} 1042 1043 func (x *StreamingPredictResponse) ProtoReflect() protoreflect.Message { 1044 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[13] 1045 if x != nil { 1046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1047 if ms.LoadMessageInfo() == nil { 1048 ms.StoreMessageInfo(mi) 1049 } 1050 return ms 1051 } 1052 return mi.MessageOf(x) 1053 } 1054 1055 // Deprecated: Use StreamingPredictResponse.ProtoReflect.Descriptor instead. 1056 func (*StreamingPredictResponse) Descriptor() ([]byte, []int) { 1057 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{13} 1058 } 1059 1060 func (x *StreamingPredictResponse) GetOutputs() []*Tensor { 1061 if x != nil { 1062 return x.Outputs 1063 } 1064 return nil 1065 } 1066 1067 func (x *StreamingPredictResponse) GetParameters() *Tensor { 1068 if x != nil { 1069 return x.Parameters 1070 } 1071 return nil 1072 } 1073 1074 // Request message for 1075 // [PredictionService.StreamingRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict]. 1076 // 1077 // The first message must contain 1078 // [endpoint][google.cloud.aiplatform.v1.StreamingRawPredictRequest.endpoint] 1079 // and 1080 // [method_name][google.cloud.aiplatform.v1.StreamingRawPredictRequest.method_name] 1081 // fields and optionally 1082 // [input][google.cloud.aiplatform.v1.StreamingRawPredictRequest.input]. The 1083 // subsequent messages must contain 1084 // [input][google.cloud.aiplatform.v1.StreamingRawPredictRequest.input]. 1085 // [method_name][google.cloud.aiplatform.v1.StreamingRawPredictRequest.method_name] 1086 // in the subsequent messages have no effect. 1087 type StreamingRawPredictRequest struct { 1088 state protoimpl.MessageState 1089 sizeCache protoimpl.SizeCache 1090 unknownFields protoimpl.UnknownFields 1091 1092 // Required. The name of the Endpoint requested to serve the prediction. 1093 // Format: 1094 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 1095 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 1096 // Fully qualified name of the API method being invoked to perform 1097 // predictions. 1098 // 1099 // Format: 1100 // `/namespace.Service/Method/` 1101 // Example: 1102 // `/tensorflow.serving.PredictionService/Predict` 1103 MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` 1104 // The prediction input. 1105 Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` 1106 } 1107 1108 func (x *StreamingRawPredictRequest) Reset() { 1109 *x = StreamingRawPredictRequest{} 1110 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[14] 1111 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1112 ms.StoreMessageInfo(mi) 1113 } 1114 1115 func (x *StreamingRawPredictRequest) String() string { 1116 return protoimpl.X.MessageStringOf(x) 1117 } 1118 1119 func (*StreamingRawPredictRequest) ProtoMessage() {} 1120 1121 func (x *StreamingRawPredictRequest) ProtoReflect() protoreflect.Message { 1122 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[14] 1123 if x != nil { 1124 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1125 if ms.LoadMessageInfo() == nil { 1126 ms.StoreMessageInfo(mi) 1127 } 1128 return ms 1129 } 1130 return mi.MessageOf(x) 1131 } 1132 1133 // Deprecated: Use StreamingRawPredictRequest.ProtoReflect.Descriptor instead. 1134 func (*StreamingRawPredictRequest) Descriptor() ([]byte, []int) { 1135 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{14} 1136 } 1137 1138 func (x *StreamingRawPredictRequest) GetEndpoint() string { 1139 if x != nil { 1140 return x.Endpoint 1141 } 1142 return "" 1143 } 1144 1145 func (x *StreamingRawPredictRequest) GetMethodName() string { 1146 if x != nil { 1147 return x.MethodName 1148 } 1149 return "" 1150 } 1151 1152 func (x *StreamingRawPredictRequest) GetInput() []byte { 1153 if x != nil { 1154 return x.Input 1155 } 1156 return nil 1157 } 1158 1159 // Response message for 1160 // [PredictionService.StreamingRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict]. 1161 type StreamingRawPredictResponse struct { 1162 state protoimpl.MessageState 1163 sizeCache protoimpl.SizeCache 1164 unknownFields protoimpl.UnknownFields 1165 1166 // The prediction output. 1167 Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` 1168 } 1169 1170 func (x *StreamingRawPredictResponse) Reset() { 1171 *x = StreamingRawPredictResponse{} 1172 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[15] 1173 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1174 ms.StoreMessageInfo(mi) 1175 } 1176 1177 func (x *StreamingRawPredictResponse) String() string { 1178 return protoimpl.X.MessageStringOf(x) 1179 } 1180 1181 func (*StreamingRawPredictResponse) ProtoMessage() {} 1182 1183 func (x *StreamingRawPredictResponse) ProtoReflect() protoreflect.Message { 1184 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[15] 1185 if x != nil { 1186 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1187 if ms.LoadMessageInfo() == nil { 1188 ms.StoreMessageInfo(mi) 1189 } 1190 return ms 1191 } 1192 return mi.MessageOf(x) 1193 } 1194 1195 // Deprecated: Use StreamingRawPredictResponse.ProtoReflect.Descriptor instead. 1196 func (*StreamingRawPredictResponse) Descriptor() ([]byte, []int) { 1197 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{15} 1198 } 1199 1200 func (x *StreamingRawPredictResponse) GetOutput() []byte { 1201 if x != nil { 1202 return x.Output 1203 } 1204 return nil 1205 } 1206 1207 // Request message for 1208 // [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. 1209 type ExplainRequest struct { 1210 state protoimpl.MessageState 1211 sizeCache protoimpl.SizeCache 1212 unknownFields protoimpl.UnknownFields 1213 1214 // Required. The name of the Endpoint requested to serve the explanation. 1215 // Format: 1216 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 1217 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 1218 // Required. The instances that are the input to the explanation call. 1219 // A DeployedModel may have an upper limit on the number of instances it 1220 // supports per request, and when it is exceeded the explanation call errors 1221 // in case of AutoML Models, or, in case of customer created Models, the 1222 // behaviour is as documented by that Model. 1223 // The schema of any single instance may be specified via Endpoint's 1224 // DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model] 1225 // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] 1226 // [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]. 1227 Instances []*structpb.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 1228 // The parameters that govern the prediction. The schema of the parameters may 1229 // be specified via Endpoint's DeployedModels' [Model's 1230 // ][google.cloud.aiplatform.v1.DeployedModel.model] 1231 // [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] 1232 // [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]. 1233 Parameters *structpb.Value `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"` 1234 // If specified, overrides the 1235 // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] 1236 // of the DeployedModel. Can be used for explaining prediction results with 1237 // different configurations, such as: 1238 // - Explaining top-5 predictions results as opposed to top-1; 1239 // - Increasing path count or step count of the attribution methods to reduce 1240 // approximate errors; 1241 // - Using different baselines for explaining the prediction results. 1242 ExplanationSpecOverride *ExplanationSpecOverride `protobuf:"bytes,5,opt,name=explanation_spec_override,json=explanationSpecOverride,proto3" json:"explanation_spec_override,omitempty"` 1243 // If specified, this ExplainRequest will be served by the chosen 1244 // DeployedModel, overriding 1245 // [Endpoint.traffic_split][google.cloud.aiplatform.v1.Endpoint.traffic_split]. 1246 DeployedModelId string `protobuf:"bytes,3,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` 1247 } 1248 1249 func (x *ExplainRequest) Reset() { 1250 *x = ExplainRequest{} 1251 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[16] 1252 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1253 ms.StoreMessageInfo(mi) 1254 } 1255 1256 func (x *ExplainRequest) String() string { 1257 return protoimpl.X.MessageStringOf(x) 1258 } 1259 1260 func (*ExplainRequest) ProtoMessage() {} 1261 1262 func (x *ExplainRequest) ProtoReflect() protoreflect.Message { 1263 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[16] 1264 if x != nil { 1265 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1266 if ms.LoadMessageInfo() == nil { 1267 ms.StoreMessageInfo(mi) 1268 } 1269 return ms 1270 } 1271 return mi.MessageOf(x) 1272 } 1273 1274 // Deprecated: Use ExplainRequest.ProtoReflect.Descriptor instead. 1275 func (*ExplainRequest) Descriptor() ([]byte, []int) { 1276 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{16} 1277 } 1278 1279 func (x *ExplainRequest) GetEndpoint() string { 1280 if x != nil { 1281 return x.Endpoint 1282 } 1283 return "" 1284 } 1285 1286 func (x *ExplainRequest) GetInstances() []*structpb.Value { 1287 if x != nil { 1288 return x.Instances 1289 } 1290 return nil 1291 } 1292 1293 func (x *ExplainRequest) GetParameters() *structpb.Value { 1294 if x != nil { 1295 return x.Parameters 1296 } 1297 return nil 1298 } 1299 1300 func (x *ExplainRequest) GetExplanationSpecOverride() *ExplanationSpecOverride { 1301 if x != nil { 1302 return x.ExplanationSpecOverride 1303 } 1304 return nil 1305 } 1306 1307 func (x *ExplainRequest) GetDeployedModelId() string { 1308 if x != nil { 1309 return x.DeployedModelId 1310 } 1311 return "" 1312 } 1313 1314 // Response message for 1315 // [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. 1316 type ExplainResponse struct { 1317 state protoimpl.MessageState 1318 sizeCache protoimpl.SizeCache 1319 unknownFields protoimpl.UnknownFields 1320 1321 // The explanations of the Model's 1322 // [PredictResponse.predictions][google.cloud.aiplatform.v1.PredictResponse.predictions]. 1323 // 1324 // It has the same number of elements as 1325 // [instances][google.cloud.aiplatform.v1.ExplainRequest.instances] to be 1326 // explained. 1327 Explanations []*Explanation `protobuf:"bytes,1,rep,name=explanations,proto3" json:"explanations,omitempty"` 1328 // ID of the Endpoint's DeployedModel that served this explanation. 1329 DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` 1330 // The predictions that are the output of the predictions call. 1331 // Same as 1332 // [PredictResponse.predictions][google.cloud.aiplatform.v1.PredictResponse.predictions]. 1333 Predictions []*structpb.Value `protobuf:"bytes,3,rep,name=predictions,proto3" json:"predictions,omitempty"` 1334 } 1335 1336 func (x *ExplainResponse) Reset() { 1337 *x = ExplainResponse{} 1338 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[17] 1339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1340 ms.StoreMessageInfo(mi) 1341 } 1342 1343 func (x *ExplainResponse) String() string { 1344 return protoimpl.X.MessageStringOf(x) 1345 } 1346 1347 func (*ExplainResponse) ProtoMessage() {} 1348 1349 func (x *ExplainResponse) ProtoReflect() protoreflect.Message { 1350 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[17] 1351 if x != nil { 1352 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1353 if ms.LoadMessageInfo() == nil { 1354 ms.StoreMessageInfo(mi) 1355 } 1356 return ms 1357 } 1358 return mi.MessageOf(x) 1359 } 1360 1361 // Deprecated: Use ExplainResponse.ProtoReflect.Descriptor instead. 1362 func (*ExplainResponse) Descriptor() ([]byte, []int) { 1363 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{17} 1364 } 1365 1366 func (x *ExplainResponse) GetExplanations() []*Explanation { 1367 if x != nil { 1368 return x.Explanations 1369 } 1370 return nil 1371 } 1372 1373 func (x *ExplainResponse) GetDeployedModelId() string { 1374 if x != nil { 1375 return x.DeployedModelId 1376 } 1377 return "" 1378 } 1379 1380 func (x *ExplainResponse) GetPredictions() []*structpb.Value { 1381 if x != nil { 1382 return x.Predictions 1383 } 1384 return nil 1385 } 1386 1387 // Request message for [PredictionService.CountTokens][]. 1388 type CountTokensRequest struct { 1389 state protoimpl.MessageState 1390 sizeCache protoimpl.SizeCache 1391 unknownFields protoimpl.UnknownFields 1392 1393 // Required. The name of the Endpoint requested to perform token counting. 1394 // Format: 1395 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 1396 Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 1397 // Optional. The name of the publisher model requested to serve the 1398 // prediction. Format: 1399 // `projects/{project}/locations/{location}/publishers/*/models/*` 1400 Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` 1401 // Optional. The instances that are the input to token counting call. 1402 // Schema is identical to the prediction schema of the underlying model. 1403 Instances []*structpb.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` 1404 // Optional. Input content. 1405 Contents []*Content `protobuf:"bytes,4,rep,name=contents,proto3" json:"contents,omitempty"` 1406 // Optional. The user provided system instructions for the model. 1407 // Note: only text should be used in parts and content in each part will be in 1408 // a separate paragraph. 1409 SystemInstruction *Content `protobuf:"bytes,5,opt,name=system_instruction,json=systemInstruction,proto3,oneof" json:"system_instruction,omitempty"` 1410 // Optional. A list of `Tools` the model may use to generate the next 1411 // response. 1412 // 1413 // A `Tool` is a piece of code that enables the system to interact with 1414 // external systems to perform an action, or set of actions, outside of 1415 // knowledge and scope of the model. 1416 Tools []*Tool `protobuf:"bytes,6,rep,name=tools,proto3" json:"tools,omitempty"` 1417 // Optional. Generation config that the model will use to generate the 1418 // response. 1419 GenerationConfig *GenerationConfig `protobuf:"bytes,7,opt,name=generation_config,json=generationConfig,proto3,oneof" json:"generation_config,omitempty"` 1420 } 1421 1422 func (x *CountTokensRequest) Reset() { 1423 *x = CountTokensRequest{} 1424 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[18] 1425 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1426 ms.StoreMessageInfo(mi) 1427 } 1428 1429 func (x *CountTokensRequest) String() string { 1430 return protoimpl.X.MessageStringOf(x) 1431 } 1432 1433 func (*CountTokensRequest) ProtoMessage() {} 1434 1435 func (x *CountTokensRequest) ProtoReflect() protoreflect.Message { 1436 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[18] 1437 if x != nil { 1438 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1439 if ms.LoadMessageInfo() == nil { 1440 ms.StoreMessageInfo(mi) 1441 } 1442 return ms 1443 } 1444 return mi.MessageOf(x) 1445 } 1446 1447 // Deprecated: Use CountTokensRequest.ProtoReflect.Descriptor instead. 1448 func (*CountTokensRequest) Descriptor() ([]byte, []int) { 1449 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{18} 1450 } 1451 1452 func (x *CountTokensRequest) GetEndpoint() string { 1453 if x != nil { 1454 return x.Endpoint 1455 } 1456 return "" 1457 } 1458 1459 func (x *CountTokensRequest) GetModel() string { 1460 if x != nil { 1461 return x.Model 1462 } 1463 return "" 1464 } 1465 1466 func (x *CountTokensRequest) GetInstances() []*structpb.Value { 1467 if x != nil { 1468 return x.Instances 1469 } 1470 return nil 1471 } 1472 1473 func (x *CountTokensRequest) GetContents() []*Content { 1474 if x != nil { 1475 return x.Contents 1476 } 1477 return nil 1478 } 1479 1480 func (x *CountTokensRequest) GetSystemInstruction() *Content { 1481 if x != nil { 1482 return x.SystemInstruction 1483 } 1484 return nil 1485 } 1486 1487 func (x *CountTokensRequest) GetTools() []*Tool { 1488 if x != nil { 1489 return x.Tools 1490 } 1491 return nil 1492 } 1493 1494 func (x *CountTokensRequest) GetGenerationConfig() *GenerationConfig { 1495 if x != nil { 1496 return x.GenerationConfig 1497 } 1498 return nil 1499 } 1500 1501 // Response message for [PredictionService.CountTokens][]. 1502 type CountTokensResponse struct { 1503 state protoimpl.MessageState 1504 sizeCache protoimpl.SizeCache 1505 unknownFields protoimpl.UnknownFields 1506 1507 // The total number of tokens counted across all instances from the request. 1508 TotalTokens int32 `protobuf:"varint,1,opt,name=total_tokens,json=totalTokens,proto3" json:"total_tokens,omitempty"` 1509 // The total number of billable characters counted across all instances from 1510 // the request. 1511 TotalBillableCharacters int32 `protobuf:"varint,2,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"` 1512 // Output only. List of modalities that were processed in the request input. 1513 PromptTokensDetails []*ModalityTokenCount `protobuf:"bytes,3,rep,name=prompt_tokens_details,json=promptTokensDetails,proto3" json:"prompt_tokens_details,omitempty"` 1514 } 1515 1516 func (x *CountTokensResponse) Reset() { 1517 *x = CountTokensResponse{} 1518 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[19] 1519 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1520 ms.StoreMessageInfo(mi) 1521 } 1522 1523 func (x *CountTokensResponse) String() string { 1524 return protoimpl.X.MessageStringOf(x) 1525 } 1526 1527 func (*CountTokensResponse) ProtoMessage() {} 1528 1529 func (x *CountTokensResponse) ProtoReflect() protoreflect.Message { 1530 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[19] 1531 if x != nil { 1532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1533 if ms.LoadMessageInfo() == nil { 1534 ms.StoreMessageInfo(mi) 1535 } 1536 return ms 1537 } 1538 return mi.MessageOf(x) 1539 } 1540 1541 // Deprecated: Use CountTokensResponse.ProtoReflect.Descriptor instead. 1542 func (*CountTokensResponse) Descriptor() ([]byte, []int) { 1543 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{19} 1544 } 1545 1546 func (x *CountTokensResponse) GetTotalTokens() int32 { 1547 if x != nil { 1548 return x.TotalTokens 1549 } 1550 return 0 1551 } 1552 1553 func (x *CountTokensResponse) GetTotalBillableCharacters() int32 { 1554 if x != nil { 1555 return x.TotalBillableCharacters 1556 } 1557 return 0 1558 } 1559 1560 func (x *CountTokensResponse) GetPromptTokensDetails() []*ModalityTokenCount { 1561 if x != nil { 1562 return x.PromptTokensDetails 1563 } 1564 return nil 1565 } 1566 1567 // Request message for [PredictionService.GenerateContent]. 1568 type GenerateContentRequest struct { 1569 state protoimpl.MessageState 1570 sizeCache protoimpl.SizeCache 1571 unknownFields protoimpl.UnknownFields 1572 1573 // Required. The fully qualified name of the publisher model or tuned model 1574 // endpoint to use. 1575 // 1576 // Publisher model format: 1577 // `projects/{project}/locations/{location}/publishers/*/models/*` 1578 // 1579 // Tuned model endpoint format: 1580 // `projects/{project}/locations/{location}/endpoints/{endpoint}` 1581 Model string `protobuf:"bytes,5,opt,name=model,proto3" json:"model,omitempty"` 1582 // Required. The content of the current conversation with the model. 1583 // 1584 // For single-turn queries, this is a single instance. For multi-turn queries, 1585 // this is a repeated field that contains conversation history + latest 1586 // request. 1587 Contents []*Content `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty"` 1588 // Optional. The user provided system instructions for the model. 1589 // Note: only text should be used in parts and content in each part will be in 1590 // a separate paragraph. 1591 SystemInstruction *Content `protobuf:"bytes,8,opt,name=system_instruction,json=systemInstruction,proto3,oneof" json:"system_instruction,omitempty"` 1592 // Optional. The name of the cached content used as context to serve the 1593 // prediction. Note: only used in explicit caching, where users can have 1594 // control over caching (e.g. what content to cache) and enjoy guaranteed cost 1595 // savings. Format: 1596 // `projects/{project}/locations/{location}/cachedContents/{cachedContent}` 1597 CachedContent string `protobuf:"bytes,9,opt,name=cached_content,json=cachedContent,proto3" json:"cached_content,omitempty"` 1598 // Optional. A list of `Tools` the model may use to generate the next 1599 // response. 1600 // 1601 // A `Tool` is a piece of code that enables the system to interact with 1602 // external systems to perform an action, or set of actions, outside of 1603 // knowledge and scope of the model. 1604 Tools []*Tool `protobuf:"bytes,6,rep,name=tools,proto3" json:"tools,omitempty"` 1605 // Optional. Tool config. This config is shared for all tools provided in the 1606 // request. 1607 ToolConfig *ToolConfig `protobuf:"bytes,7,opt,name=tool_config,json=toolConfig,proto3" json:"tool_config,omitempty"` 1608 // Optional. The labels with user-defined metadata for the request. It is used 1609 // for billing and reporting only. 1610 // 1611 // Label keys and values can be no longer than 63 characters 1612 // (Unicode codepoints) and can only contain lowercase letters, numeric 1613 // characters, underscores, and dashes. International characters are allowed. 1614 // Label values are optional. Label keys must start with a letter. 1615 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"` 1616 // Optional. Per request settings for blocking unsafe content. 1617 // Enforced on GenerateContentResponse.candidates. 1618 SafetySettings []*SafetySetting `protobuf:"bytes,3,rep,name=safety_settings,json=safetySettings,proto3" json:"safety_settings,omitempty"` 1619 // Optional. Settings for prompt and response sanitization using the Model 1620 // Armor service. If supplied, safety_settings must not be supplied. 1621 ModelArmorConfig *ModelArmorConfig `protobuf:"bytes,11,opt,name=model_armor_config,json=modelArmorConfig,proto3" json:"model_armor_config,omitempty"` 1622 // Optional. Generation config. 1623 GenerationConfig *GenerationConfig `protobuf:"bytes,4,opt,name=generation_config,json=generationConfig,proto3" json:"generation_config,omitempty"` 1624 } 1625 1626 func (x *GenerateContentRequest) Reset() { 1627 *x = GenerateContentRequest{} 1628 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[20] 1629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1630 ms.StoreMessageInfo(mi) 1631 } 1632 1633 func (x *GenerateContentRequest) String() string { 1634 return protoimpl.X.MessageStringOf(x) 1635 } 1636 1637 func (*GenerateContentRequest) ProtoMessage() {} 1638 1639 func (x *GenerateContentRequest) ProtoReflect() protoreflect.Message { 1640 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[20] 1641 if x != nil { 1642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1643 if ms.LoadMessageInfo() == nil { 1644 ms.StoreMessageInfo(mi) 1645 } 1646 return ms 1647 } 1648 return mi.MessageOf(x) 1649 } 1650 1651 // Deprecated: Use GenerateContentRequest.ProtoReflect.Descriptor instead. 1652 func (*GenerateContentRequest) Descriptor() ([]byte, []int) { 1653 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{20} 1654 } 1655 1656 func (x *GenerateContentRequest) GetModel() string { 1657 if x != nil { 1658 return x.Model 1659 } 1660 return "" 1661 } 1662 1663 func (x *GenerateContentRequest) GetContents() []*Content { 1664 if x != nil { 1665 return x.Contents 1666 } 1667 return nil 1668 } 1669 1670 func (x *GenerateContentRequest) GetSystemInstruction() *Content { 1671 if x != nil { 1672 return x.SystemInstruction 1673 } 1674 return nil 1675 } 1676 1677 func (x *GenerateContentRequest) GetCachedContent() string { 1678 if x != nil { 1679 return x.CachedContent 1680 } 1681 return "" 1682 } 1683 1684 func (x *GenerateContentRequest) GetTools() []*Tool { 1685 if x != nil { 1686 return x.Tools 1687 } 1688 return nil 1689 } 1690 1691 func (x *GenerateContentRequest) GetToolConfig() *ToolConfig { 1692 if x != nil { 1693 return x.ToolConfig 1694 } 1695 return nil 1696 } 1697 1698 func (x *GenerateContentRequest) GetLabels() map[string]string { 1699 if x != nil { 1700 return x.Labels 1701 } 1702 return nil 1703 } 1704 1705 func (x *GenerateContentRequest) GetSafetySettings() []*SafetySetting { 1706 if x != nil { 1707 return x.SafetySettings 1708 } 1709 return nil 1710 } 1711 1712 func (x *GenerateContentRequest) GetModelArmorConfig() *ModelArmorConfig { 1713 if x != nil { 1714 return x.ModelArmorConfig 1715 } 1716 return nil 1717 } 1718 1719 func (x *GenerateContentRequest) GetGenerationConfig() *GenerationConfig { 1720 if x != nil { 1721 return x.GenerationConfig 1722 } 1723 return nil 1724 } 1725 1726 // Response message for [PredictionService.GenerateContent]. 1727 type GenerateContentResponse struct { 1728 state protoimpl.MessageState 1729 sizeCache protoimpl.SizeCache 1730 unknownFields protoimpl.UnknownFields 1731 1732 // Output only. Generated candidates. 1733 Candidates []*Candidate `protobuf:"bytes,2,rep,name=candidates,proto3" json:"candidates,omitempty"` 1734 // Output only. The model version used to generate the response. 1735 ModelVersion string `protobuf:"bytes,11,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"` 1736 // Output only. Timestamp when the request is made to the server. 1737 CreateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 1738 // Output only. response_id is used to identify each response. It is the 1739 // encoding of the event_id. 1740 ResponseId string `protobuf:"bytes,13,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"` 1741 // Output only. Content filter results for a prompt sent in the request. 1742 // Note: Sent only in the first stream chunk. 1743 // Only happens when no candidates were generated due to content violations. 1744 PromptFeedback *GenerateContentResponse_PromptFeedback `protobuf:"bytes,3,opt,name=prompt_feedback,json=promptFeedback,proto3" json:"prompt_feedback,omitempty"` 1745 // Usage metadata about the response(s). 1746 UsageMetadata *GenerateContentResponse_UsageMetadata `protobuf:"bytes,4,opt,name=usage_metadata,json=usageMetadata,proto3" json:"usage_metadata,omitempty"` 1747 } 1748 1749 func (x *GenerateContentResponse) Reset() { 1750 *x = GenerateContentResponse{} 1751 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[21] 1752 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1753 ms.StoreMessageInfo(mi) 1754 } 1755 1756 func (x *GenerateContentResponse) String() string { 1757 return protoimpl.X.MessageStringOf(x) 1758 } 1759 1760 func (*GenerateContentResponse) ProtoMessage() {} 1761 1762 func (x *GenerateContentResponse) ProtoReflect() protoreflect.Message { 1763 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[21] 1764 if x != nil { 1765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1766 if ms.LoadMessageInfo() == nil { 1767 ms.StoreMessageInfo(mi) 1768 } 1769 return ms 1770 } 1771 return mi.MessageOf(x) 1772 } 1773 1774 // Deprecated: Use GenerateContentResponse.ProtoReflect.Descriptor instead. 1775 func (*GenerateContentResponse) Descriptor() ([]byte, []int) { 1776 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{21} 1777 } 1778 1779 func (x *GenerateContentResponse) GetCandidates() []*Candidate { 1780 if x != nil { 1781 return x.Candidates 1782 } 1783 return nil 1784 } 1785 1786 func (x *GenerateContentResponse) GetModelVersion() string { 1787 if x != nil { 1788 return x.ModelVersion 1789 } 1790 return "" 1791 } 1792 1793 func (x *GenerateContentResponse) GetCreateTime() *timestamppb.Timestamp { 1794 if x != nil { 1795 return x.CreateTime 1796 } 1797 return nil 1798 } 1799 1800 func (x *GenerateContentResponse) GetResponseId() string { 1801 if x != nil { 1802 return x.ResponseId 1803 } 1804 return "" 1805 } 1806 1807 func (x *GenerateContentResponse) GetPromptFeedback() *GenerateContentResponse_PromptFeedback { 1808 if x != nil { 1809 return x.PromptFeedback 1810 } 1811 return nil 1812 } 1813 1814 func (x *GenerateContentResponse) GetUsageMetadata() *GenerateContentResponse_UsageMetadata { 1815 if x != nil { 1816 return x.UsageMetadata 1817 } 1818 return nil 1819 } 1820 1821 // Content filter results for a prompt sent in the request. 1822 type GenerateContentResponse_PromptFeedback struct { 1823 state protoimpl.MessageState 1824 sizeCache protoimpl.SizeCache 1825 unknownFields protoimpl.UnknownFields 1826 1827 // Output only. Blocked reason. 1828 BlockReason GenerateContentResponse_PromptFeedback_BlockedReason `protobuf:"varint,1,opt,name=block_reason,json=blockReason,proto3,enum=google.cloud.aiplatform.v1.GenerateContentResponse_PromptFeedback_BlockedReason" json:"block_reason,omitempty"` 1829 // Output only. Safety ratings. 1830 SafetyRatings []*SafetyRating `protobuf:"bytes,2,rep,name=safety_ratings,json=safetyRatings,proto3" json:"safety_ratings,omitempty"` 1831 // Output only. A readable block reason message. 1832 BlockReasonMessage string `protobuf:"bytes,3,opt,name=block_reason_message,json=blockReasonMessage,proto3" json:"block_reason_message,omitempty"` 1833 } 1834 1835 func (x *GenerateContentResponse_PromptFeedback) Reset() { 1836 *x = GenerateContentResponse_PromptFeedback{} 1837 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[24] 1838 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1839 ms.StoreMessageInfo(mi) 1840 } 1841 1842 func (x *GenerateContentResponse_PromptFeedback) String() string { 1843 return protoimpl.X.MessageStringOf(x) 1844 } 1845 1846 func (*GenerateContentResponse_PromptFeedback) ProtoMessage() {} 1847 1848 func (x *GenerateContentResponse_PromptFeedback) ProtoReflect() protoreflect.Message { 1849 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[24] 1850 if x != nil { 1851 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1852 if ms.LoadMessageInfo() == nil { 1853 ms.StoreMessageInfo(mi) 1854 } 1855 return ms 1856 } 1857 return mi.MessageOf(x) 1858 } 1859 1860 // Deprecated: Use GenerateContentResponse_PromptFeedback.ProtoReflect.Descriptor instead. 1861 func (*GenerateContentResponse_PromptFeedback) Descriptor() ([]byte, []int) { 1862 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{21, 0} 1863 } 1864 1865 func (x *GenerateContentResponse_PromptFeedback) GetBlockReason() GenerateContentResponse_PromptFeedback_BlockedReason { 1866 if x != nil { 1867 return x.BlockReason 1868 } 1869 return GenerateContentResponse_PromptFeedback_BLOCKED_REASON_UNSPECIFIED 1870 } 1871 1872 func (x *GenerateContentResponse_PromptFeedback) GetSafetyRatings() []*SafetyRating { 1873 if x != nil { 1874 return x.SafetyRatings 1875 } 1876 return nil 1877 } 1878 1879 func (x *GenerateContentResponse_PromptFeedback) GetBlockReasonMessage() string { 1880 if x != nil { 1881 return x.BlockReasonMessage 1882 } 1883 return "" 1884 } 1885 1886 // Usage metadata about response(s). 1887 type GenerateContentResponse_UsageMetadata struct { 1888 state protoimpl.MessageState 1889 sizeCache protoimpl.SizeCache 1890 unknownFields protoimpl.UnknownFields 1891 1892 // Number of tokens in the request. When `cached_content` is set, this is 1893 // still the total effective prompt size meaning this includes the number of 1894 // tokens in the cached content. 1895 PromptTokenCount int32 `protobuf:"varint,1,opt,name=prompt_token_count,json=promptTokenCount,proto3" json:"prompt_token_count,omitempty"` 1896 // Number of tokens in the response(s). 1897 CandidatesTokenCount int32 `protobuf:"varint,2,opt,name=candidates_token_count,json=candidatesTokenCount,proto3" json:"candidates_token_count,omitempty"` 1898 // Output only. Number of tokens present in thoughts output. 1899 ThoughtsTokenCount int32 `protobuf:"varint,14,opt,name=thoughts_token_count,json=thoughtsTokenCount,proto3" json:"thoughts_token_count,omitempty"` 1900 // Total token count for prompt and response candidates. 1901 TotalTokenCount int32 `protobuf:"varint,3,opt,name=total_token_count,json=totalTokenCount,proto3" json:"total_token_count,omitempty"` 1902 // Output only. Number of tokens in the cached part in the input (the cached 1903 // content). 1904 CachedContentTokenCount int32 `protobuf:"varint,5,opt,name=cached_content_token_count,json=cachedContentTokenCount,proto3" json:"cached_content_token_count,omitempty"` 1905 // Output only. List of modalities that were processed in the request input. 1906 PromptTokensDetails []*ModalityTokenCount `protobuf:"bytes,9,rep,name=prompt_tokens_details,json=promptTokensDetails,proto3" json:"prompt_tokens_details,omitempty"` 1907 // Output only. List of modalities of the cached content in the request 1908 // input. 1909 CacheTokensDetails []*ModalityTokenCount `protobuf:"bytes,10,rep,name=cache_tokens_details,json=cacheTokensDetails,proto3" json:"cache_tokens_details,omitempty"` 1910 // Output only. List of modalities that were returned in the response. 1911 CandidatesTokensDetails []*ModalityTokenCount `protobuf:"bytes,11,rep,name=candidates_tokens_details,json=candidatesTokensDetails,proto3" json:"candidates_tokens_details,omitempty"` 1912 } 1913 1914 func (x *GenerateContentResponse_UsageMetadata) Reset() { 1915 *x = GenerateContentResponse_UsageMetadata{} 1916 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[25] 1917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1918 ms.StoreMessageInfo(mi) 1919 } 1920 1921 func (x *GenerateContentResponse_UsageMetadata) String() string { 1922 return protoimpl.X.MessageStringOf(x) 1923 } 1924 1925 func (*GenerateContentResponse_UsageMetadata) ProtoMessage() {} 1926 1927 func (x *GenerateContentResponse_UsageMetadata) ProtoReflect() protoreflect.Message { 1928 mi := &file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[25] 1929 if x != nil { 1930 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1931 if ms.LoadMessageInfo() == nil { 1932 ms.StoreMessageInfo(mi) 1933 } 1934 return ms 1935 } 1936 return mi.MessageOf(x) 1937 } 1938 1939 // Deprecated: Use GenerateContentResponse_UsageMetadata.ProtoReflect.Descriptor instead. 1940 func (*GenerateContentResponse_UsageMetadata) Descriptor() ([]byte, []int) { 1941 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP(), []int{21, 1} 1942 } 1943 1944 func (x *GenerateContentResponse_UsageMetadata) GetPromptTokenCount() int32 { 1945 if x != nil { 1946 return x.PromptTokenCount 1947 } 1948 return 0 1949 } 1950 1951 func (x *GenerateContentResponse_UsageMetadata) GetCandidatesTokenCount() int32 { 1952 if x != nil { 1953 return x.CandidatesTokenCount 1954 } 1955 return 0 1956 } 1957 1958 func (x *GenerateContentResponse_UsageMetadata) GetThoughtsTokenCount() int32 { 1959 if x != nil { 1960 return x.ThoughtsTokenCount 1961 } 1962 return 0 1963 } 1964 1965 func (x *GenerateContentResponse_UsageMetadata) GetTotalTokenCount() int32 { 1966 if x != nil { 1967 return x.TotalTokenCount 1968 } 1969 return 0 1970 } 1971 1972 func (x *GenerateContentResponse_UsageMetadata) GetCachedContentTokenCount() int32 { 1973 if x != nil { 1974 return x.CachedContentTokenCount 1975 } 1976 return 0 1977 } 1978 1979 func (x *GenerateContentResponse_UsageMetadata) GetPromptTokensDetails() []*ModalityTokenCount { 1980 if x != nil { 1981 return x.PromptTokensDetails 1982 } 1983 return nil 1984 } 1985 1986 func (x *GenerateContentResponse_UsageMetadata) GetCacheTokensDetails() []*ModalityTokenCount { 1987 if x != nil { 1988 return x.CacheTokensDetails 1989 } 1990 return nil 1991 } 1992 1993 func (x *GenerateContentResponse_UsageMetadata) GetCandidatesTokensDetails() []*ModalityTokenCount { 1994 if x != nil { 1995 return x.CandidatesTokensDetails 1996 } 1997 return nil 1998 } 1999 2000 var File_google_cloud_aiplatform_v1_prediction_service_proto protoreflect.FileDescriptor 2001 2002 var file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc = []byte{ 2003 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 2004 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65, 2005 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 2006 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2007 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2008 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 2009 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2010 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 2011 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2012 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 2013 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2014 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x70, 2015 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 2016 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2017 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 2018 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 2019 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2020 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2021 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 2022 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2023 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2024 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 2025 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 2026 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 2027 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 2028 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 2029 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 2030 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 2031 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 2032 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 2033 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 2034 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 2035 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 2036 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 2037 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 2038 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 2039 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 2040 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x70, 2041 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2042 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2043 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 2044 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 2045 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2046 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 2047 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 2048 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 2049 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 2050 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 2051 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 2052 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 2053 0x02, 0x38, 0x01, 0x22, 0xd1, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 2054 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 2055 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 2056 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 2057 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2058 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 2059 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 2060 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x3d, 0x0a, 2061 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 2062 0x03, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2063 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2064 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, 0x10, 2065 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 2066 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 2067 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x6d, 2068 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 2069 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x6f, 2070 0x64, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 2071 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 2072 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 2073 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6d, 2074 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x52, 0x61, 0x77, 0x50, 2075 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 2076 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 2077 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 2078 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 2079 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 2080 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 2081 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2082 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x08, 2083 0x68, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x94, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 2084 0x65, 0x61, 0x6d, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 2085 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 2086 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 2087 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2088 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 2089 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 2090 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 2091 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 2092 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 2093 0xde, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 2094 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 2095 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 2096 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 2097 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 2098 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 2099 0x12, 0x3a, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 2100 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 2101 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 2102 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 2103 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 2104 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 2105 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 2106 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 2107 0x22, 0x99, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 2108 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x6f, 0x75, 2109 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 2110 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2111 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 2112 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 2113 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 2114 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 2115 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 2116 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x98, 0x01, 0x0a, 2117 0x17, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 2118 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 2119 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 2120 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 2121 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 2122 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 2123 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 2124 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 2125 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 2126 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x32, 0x0a, 0x18, 0x44, 0x69, 0x72, 0x65, 0x63, 2127 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 2128 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 2129 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0xee, 0x01, 0x0a, 0x1a, 2130 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 2131 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 2132 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 2133 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2134 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2135 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 2136 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 2137 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2138 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 2139 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x69, 0x6e, 0x70, 2140 0x75, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 2141 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2142 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2143 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 2144 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9f, 0x01, 0x0a, 2145 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 2146 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 2147 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 2148 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 2149 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 2150 0x72, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 2151 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 2152 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 2153 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 2154 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xa8, 2155 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 2156 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2157 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 2158 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 2159 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 2160 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 2161 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 2162 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2163 0x41, 0x01, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 2164 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 2165 0x41, 0x01, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x38, 0x0a, 0x1e, 0x53, 0x74, 0x72, 2166 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 2167 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 2168 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 2169 0x70, 0x75, 0x74, 0x22, 0xe1, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 2170 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 2171 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 2172 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 2173 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 2174 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 2175 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 2176 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2177 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2178 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x06, 0x69, 0x6e, 0x70, 2179 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 2180 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2181 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2182 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 2183 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 2184 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 2185 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 2186 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2187 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 2188 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 2189 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 2190 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2191 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2192 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 2193 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 2194 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 2195 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 2196 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 2197 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2198 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 2199 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 2200 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 2201 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 2202 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 2203 0x6e, 0x70, 0x75, 0x74, 0x22, 0x35, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 2204 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 2205 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 2206 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0xe8, 0x02, 0x0a, 0x0e, 2207 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 2208 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2209 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2210 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 2211 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 2212 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 2213 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2214 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 2215 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 2216 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 2217 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 2218 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 2219 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6f, 0x0a, 0x19, 0x65, 0x78, 0x70, 2220 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x6f, 0x76, 2221 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 2222 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 2223 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 2224 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 2225 0x65, 0x52, 0x17, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 2226 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 2227 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 2228 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 2229 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 2230 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x65, 0x78, 2231 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 2232 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 2233 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 2234 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 2235 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 2236 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 2237 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 2238 0x6c, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 2239 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2240 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 2241 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa5, 0x04, 2242 0x0a, 0x12, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 2243 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 2244 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 2245 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2246 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 2247 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 2248 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 2249 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 2250 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 2251 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 2252 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 2253 0x65, 0x73, 0x12, 0x44, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 2254 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2255 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2256 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 2257 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x74, 2258 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 2259 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2260 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2261 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 2262 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 2263 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 2264 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2265 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 2266 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x6f, 2267 0x6f, 0x6c, 0x73, 0x12, 0x63, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 2268 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 2269 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 2270 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 2271 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 2272 0x01, 0x48, 0x01, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 2273 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x79, 0x73, 2274 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 2275 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 2276 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdd, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 2277 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 2278 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 2279 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 2280 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 2281 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 2282 0x01, 0x28, 0x05, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 2283 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x15, 2284 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x64, 0x65, 2285 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 2286 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2287 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 2288 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 2289 0x52, 0x13, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x44, 0x65, 2290 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x83, 0x07, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 2291 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2292 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 2293 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x08, 0x63, 2294 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 2295 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 2296 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 2297 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 2298 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 2299 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 2300 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 2301 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 2302 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 2303 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 2304 0x56, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 2305 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x29, 0x0a, 2306 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2307 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x63, 0x68, 0x65, 2308 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 2309 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 2310 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2311 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2312 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 2313 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x4c, 0x0a, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 2314 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2315 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 2316 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 2317 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 2318 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 2319 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2320 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 2321 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 2322 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 2323 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 2324 0x57, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 2325 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2326 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2327 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 2328 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 2329 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5f, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, 2330 0x6c, 0x5f, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 2331 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2332 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2333 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x72, 0x6d, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 2334 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x72, 2335 0x6d, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5e, 0x0a, 0x11, 0x67, 0x65, 0x6e, 2336 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 2337 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2338 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2339 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 2340 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 2341 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 2342 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 2343 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 2344 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 2345 0x3a, 0x02, 0x38, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 2346 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x0b, 0x0a, 0x17, 2347 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 2348 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 2349 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 2350 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2351 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 2352 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 2353 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 2354 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 2355 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 2356 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 2357 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2358 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 2359 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 2360 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 2361 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70, 0x6f, 2362 0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x70, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 2363 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 2364 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 2365 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 2366 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 2367 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 2368 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 2369 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x68, 0x0a, 0x0e, 0x75, 0x73, 0x61, 0x67, 0x65, 2370 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 2371 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 2372 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 2373 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 2374 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 2375 0x74, 0x61, 0x52, 0x0d, 0x75, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 2376 0x61, 0x1a, 0xa7, 0x03, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 2377 0x62, 0x61, 0x63, 0x6b, 0x12, 0x78, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 2378 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 2379 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2380 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 2381 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 2382 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x42, 2383 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 2384 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x54, 2385 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 2386 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2387 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2388 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 2389 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 2390 0x69, 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 2391 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 2392 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 2393 0x61, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 2394 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 2395 0x1a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 2396 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 2397 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 2398 0x45, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x4c, 0x49, 0x53, 2399 0x54, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x48, 0x49, 0x42, 0x49, 0x54, 0x45, 2400 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 2401 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x41, 0x52, 0x4d, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 2402 0x4a, 0x41, 0x49, 0x4c, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x06, 0x1a, 0xd9, 0x04, 0x0a, 0x0d, 2403 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 2404 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 2405 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x70, 2406 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x63, 2407 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 2408 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x63, 0x61, 0x6e, 2409 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 2410 0x74, 0x12, 0x35, 0x0a, 0x14, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x73, 0x5f, 0x74, 0x6f, 2411 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x42, 2412 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x73, 0x54, 0x6f, 2413 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 2414 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 2415 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 2416 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x1a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 2417 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 2418 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 0x63, 2419 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 2420 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 2421 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 2422 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2423 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 2424 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 2425 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x6d, 2426 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 2427 0x65, 0x0a, 0x14, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 2428 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 2429 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 2430 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 2431 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 2432 0x41, 0x03, 0x52, 0x12, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x44, 2433 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x6f, 0x0a, 0x19, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 2434 0x61, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 2435 0x69, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2436 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 2437 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, 2438 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 2439 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 2440 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x32, 0xf2, 0x19, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, 2441 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x94, 0x02, 2442 0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2443 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 2444 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 2445 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2446 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 2447 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2448 0x73, 0x65, 0x22, 0xaf, 0x01, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 2449 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 2450 0x65, 0x74, 0x65, 0x72, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 2451 0x48, 0x3a, 0x01, 0x2a, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 2452 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 2453 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 2454 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 2455 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 2456 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 2457 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 2458 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 2459 0x64, 0x69, 0x63, 0x74, 0x12, 0xfe, 0x01, 0x0a, 0x0a, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 2460 0x69, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2461 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 2462 0x2e, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 2463 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 2464 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, 2465 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 2466 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8e, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, 0x01, 0x2a, 0x22, 2467 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 2468 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 2469 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 2470 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 2471 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 2472 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 2473 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 2474 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72, 2475 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x98, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 2476 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 2477 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2478 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, 2479 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2480 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 2481 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 2482 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x82, 0xd3, 0xe4, 2483 0x93, 0x02, 0x9a, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, 2484 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 2485 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2486 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 2487 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 2488 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 2489 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 2490 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 2491 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 2492 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x30, 0x01, 2493 0x12, 0xc0, 0x01, 0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 2494 0x63, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2495 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 2496 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 2497 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2498 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2499 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 2500 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 2501 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 2502 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 2503 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 2504 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 2505 0x69, 0x63, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 2506 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2507 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2508 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 2509 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 2510 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 2511 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 2512 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 2513 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x01, 0x2a, 0x22, 0x42, 2514 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 2515 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 2516 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 2517 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 2518 0x63, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 2519 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 2520 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2521 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 2522 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 2523 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2524 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 2525 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 2526 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 2527 0x01, 0x12, 0x95, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 2528 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x39, 0x2e, 0x67, 2529 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 2530 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 2531 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 2532 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2533 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2534 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 2535 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 2536 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x53, 0x74, 2537 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33, 2538 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 2539 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 2540 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 2541 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2542 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 2543 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 2544 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 2545 0xb5, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 2546 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 2547 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2548 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 2549 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2550 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 2551 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 2552 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 2553 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa6, 0x01, 0x3a, 2554 0x01, 0x2a, 0x5a, 0x57, 0x3a, 0x01, 0x2a, 0x22, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 2555 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 2556 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 2557 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 2558 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 2559 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x48, 0x2f, 0x76, 0x31, 2560 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2561 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2562 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 2563 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 2564 0x65, 0x64, 0x69, 0x63, 0x74, 0x30, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 2565 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 2566 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 2567 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 2568 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 2569 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2570 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2571 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 2572 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2573 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xda, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, 2574 0x69, 0x6e, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2575 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 2576 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 2577 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 2578 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 2579 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0xda, 0x41, 0x2f, 2580 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 2581 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x64, 0x65, 2582 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x82, 2583 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 2584 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 2585 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 2586 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c, 2587 0x61, 0x69, 0x6e, 0x12, 0x8d, 0x03, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 2588 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2589 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2590 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 2591 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 2592 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2593 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 2594 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2595 0x22, 0x90, 0x02, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 2596 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xf8, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4d, 2597 0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 2598 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2599 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 2600 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 2601 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5a, 0x2c, 0x3a, 2602 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x65, 2603 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 2604 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5a, 0x36, 0x3a, 0x01, 0x2a, 2605 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x75, 0x62, 2606 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 2607 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 2608 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 2609 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2610 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 2611 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 2612 0x65, 0x6e, 0x74, 0x12, 0xad, 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 2613 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e, 2614 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 2615 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 2616 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2617 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2618 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 2619 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 2620 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x02, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 2621 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x90, 2622 0x02, 0x3a, 0x01, 0x2a, 0x5a, 0x53, 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 2623 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 2624 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 2625 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 2626 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 2627 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5a, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 2628 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 2629 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 2630 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5a, 0x3c, 0x3a, 2631 0x01, 0x2a, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 2632 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 2633 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 2634 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x2f, 0x76, 0x31, 2635 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 2636 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 2637 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 2638 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 2639 0x74, 0x30, 0x01, 0x1a, 0x86, 0x01, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 2640 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 2641 0x6f, 0x6d, 0xd2, 0x41, 0x67, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 2642 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2643 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 2644 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 2645 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 2646 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2647 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0xd4, 0x01, 0x0a, 2648 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2649 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 2650 0x16, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 2651 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2652 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 2653 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 2654 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 2655 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 2656 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 2657 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 2658 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2659 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 2660 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 2661 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2662 } 2663 2664 var ( 2665 file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescOnce sync.Once 2666 file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescData = file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc 2667 ) 2668 2669 func file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescGZIP() []byte { 2670 file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescOnce.Do(func() { 2671 file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescData) 2672 }) 2673 return file_google_cloud_aiplatform_v1_prediction_service_proto_rawDescData 2674 } 2675 2676 var file_google_cloud_aiplatform_v1_prediction_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 2677 var file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes = make([]protoimpl.MessageInfo, 26) 2678 var file_google_cloud_aiplatform_v1_prediction_service_proto_goTypes = []any{ 2679 (GenerateContentResponse_PromptFeedback_BlockedReason)(0), // 0: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.BlockedReason 2680 (*PredictRequest)(nil), // 1: google.cloud.aiplatform.v1.PredictRequest 2681 (*PredictResponse)(nil), // 2: google.cloud.aiplatform.v1.PredictResponse 2682 (*RawPredictRequest)(nil), // 3: google.cloud.aiplatform.v1.RawPredictRequest 2683 (*StreamRawPredictRequest)(nil), // 4: google.cloud.aiplatform.v1.StreamRawPredictRequest 2684 (*DirectPredictRequest)(nil), // 5: google.cloud.aiplatform.v1.DirectPredictRequest 2685 (*DirectPredictResponse)(nil), // 6: google.cloud.aiplatform.v1.DirectPredictResponse 2686 (*DirectRawPredictRequest)(nil), // 7: google.cloud.aiplatform.v1.DirectRawPredictRequest 2687 (*DirectRawPredictResponse)(nil), // 8: google.cloud.aiplatform.v1.DirectRawPredictResponse 2688 (*StreamDirectPredictRequest)(nil), // 9: google.cloud.aiplatform.v1.StreamDirectPredictRequest 2689 (*StreamDirectPredictResponse)(nil), // 10: google.cloud.aiplatform.v1.StreamDirectPredictResponse 2690 (*StreamDirectRawPredictRequest)(nil), // 11: google.cloud.aiplatform.v1.StreamDirectRawPredictRequest 2691 (*StreamDirectRawPredictResponse)(nil), // 12: google.cloud.aiplatform.v1.StreamDirectRawPredictResponse 2692 (*StreamingPredictRequest)(nil), // 13: google.cloud.aiplatform.v1.StreamingPredictRequest 2693 (*StreamingPredictResponse)(nil), // 14: google.cloud.aiplatform.v1.StreamingPredictResponse 2694 (*StreamingRawPredictRequest)(nil), // 15: google.cloud.aiplatform.v1.StreamingRawPredictRequest 2695 (*StreamingRawPredictResponse)(nil), // 16: google.cloud.aiplatform.v1.StreamingRawPredictResponse 2696 (*ExplainRequest)(nil), // 17: google.cloud.aiplatform.v1.ExplainRequest 2697 (*ExplainResponse)(nil), // 18: google.cloud.aiplatform.v1.ExplainResponse 2698 (*CountTokensRequest)(nil), // 19: google.cloud.aiplatform.v1.CountTokensRequest 2699 (*CountTokensResponse)(nil), // 20: google.cloud.aiplatform.v1.CountTokensResponse 2700 (*GenerateContentRequest)(nil), // 21: google.cloud.aiplatform.v1.GenerateContentRequest 2701 (*GenerateContentResponse)(nil), // 22: google.cloud.aiplatform.v1.GenerateContentResponse 2702 nil, // 23: google.cloud.aiplatform.v1.PredictRequest.LabelsEntry 2703 nil, // 24: google.cloud.aiplatform.v1.GenerateContentRequest.LabelsEntry 2704 (*GenerateContentResponse_PromptFeedback)(nil), // 25: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback 2705 (*GenerateContentResponse_UsageMetadata)(nil), // 26: google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata 2706 (*structpb.Value)(nil), // 27: google.protobuf.Value 2707 (*httpbody.HttpBody)(nil), // 28: google.api.HttpBody 2708 (*Tensor)(nil), // 29: google.cloud.aiplatform.v1.Tensor 2709 (*ExplanationSpecOverride)(nil), // 30: google.cloud.aiplatform.v1.ExplanationSpecOverride 2710 (*Explanation)(nil), // 31: google.cloud.aiplatform.v1.Explanation 2711 (*Content)(nil), // 32: google.cloud.aiplatform.v1.Content 2712 (*Tool)(nil), // 33: google.cloud.aiplatform.v1.Tool 2713 (*GenerationConfig)(nil), // 34: google.cloud.aiplatform.v1.GenerationConfig 2714 (*ModalityTokenCount)(nil), // 35: google.cloud.aiplatform.v1.ModalityTokenCount 2715 (*ToolConfig)(nil), // 36: google.cloud.aiplatform.v1.ToolConfig 2716 (*SafetySetting)(nil), // 37: google.cloud.aiplatform.v1.SafetySetting 2717 (*ModelArmorConfig)(nil), // 38: google.cloud.aiplatform.v1.ModelArmorConfig 2718 (*Candidate)(nil), // 39: google.cloud.aiplatform.v1.Candidate 2719 (*timestamppb.Timestamp)(nil), // 40: google.protobuf.Timestamp 2720 (*SafetyRating)(nil), // 41: google.cloud.aiplatform.v1.SafetyRating 2721 } 2722 var file_google_cloud_aiplatform_v1_prediction_service_proto_depIdxs = []int32{ 2723 27, // 0: google.cloud.aiplatform.v1.PredictRequest.instances:type_name -> google.protobuf.Value 2724 27, // 1: google.cloud.aiplatform.v1.PredictRequest.parameters:type_name -> google.protobuf.Value 2725 23, // 2: google.cloud.aiplatform.v1.PredictRequest.labels:type_name -> google.cloud.aiplatform.v1.PredictRequest.LabelsEntry 2726 27, // 3: google.cloud.aiplatform.v1.PredictResponse.predictions:type_name -> google.protobuf.Value 2727 27, // 4: google.cloud.aiplatform.v1.PredictResponse.metadata:type_name -> google.protobuf.Value 2728 28, // 5: google.cloud.aiplatform.v1.RawPredictRequest.http_body:type_name -> google.api.HttpBody 2729 28, // 6: google.cloud.aiplatform.v1.StreamRawPredictRequest.http_body:type_name -> google.api.HttpBody 2730 29, // 7: google.cloud.aiplatform.v1.DirectPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1.Tensor 2731 29, // 8: google.cloud.aiplatform.v1.DirectPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1.Tensor 2732 29, // 9: google.cloud.aiplatform.v1.DirectPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1.Tensor 2733 29, // 10: google.cloud.aiplatform.v1.DirectPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1.Tensor 2734 29, // 11: google.cloud.aiplatform.v1.StreamDirectPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1.Tensor 2735 29, // 12: google.cloud.aiplatform.v1.StreamDirectPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1.Tensor 2736 29, // 13: google.cloud.aiplatform.v1.StreamDirectPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1.Tensor 2737 29, // 14: google.cloud.aiplatform.v1.StreamDirectPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1.Tensor 2738 29, // 15: google.cloud.aiplatform.v1.StreamingPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1.Tensor 2739 29, // 16: google.cloud.aiplatform.v1.StreamingPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1.Tensor 2740 29, // 17: google.cloud.aiplatform.v1.StreamingPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1.Tensor 2741 29, // 18: google.cloud.aiplatform.v1.StreamingPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1.Tensor 2742 27, // 19: google.cloud.aiplatform.v1.ExplainRequest.instances:type_name -> google.protobuf.Value 2743 27, // 20: google.cloud.aiplatform.v1.ExplainRequest.parameters:type_name -> google.protobuf.Value 2744 30, // 21: google.cloud.aiplatform.v1.ExplainRequest.explanation_spec_override:type_name -> google.cloud.aiplatform.v1.ExplanationSpecOverride 2745 31, // 22: google.cloud.aiplatform.v1.ExplainResponse.explanations:type_name -> google.cloud.aiplatform.v1.Explanation 2746 27, // 23: google.cloud.aiplatform.v1.ExplainResponse.predictions:type_name -> google.protobuf.Value 2747 27, // 24: google.cloud.aiplatform.v1.CountTokensRequest.instances:type_name -> google.protobuf.Value 2748 32, // 25: google.cloud.aiplatform.v1.CountTokensRequest.contents:type_name -> google.cloud.aiplatform.v1.Content 2749 32, // 26: google.cloud.aiplatform.v1.CountTokensRequest.system_instruction:type_name -> google.cloud.aiplatform.v1.Content 2750 33, // 27: google.cloud.aiplatform.v1.CountTokensRequest.tools:type_name -> google.cloud.aiplatform.v1.Tool 2751 34, // 28: google.cloud.aiplatform.v1.CountTokensRequest.generation_config:type_name -> google.cloud.aiplatform.v1.GenerationConfig 2752 35, // 29: google.cloud.aiplatform.v1.CountTokensResponse.prompt_tokens_details:type_name -> google.cloud.aiplatform.v1.ModalityTokenCount 2753 32, // 30: google.cloud.aiplatform.v1.GenerateContentRequest.contents:type_name -> google.cloud.aiplatform.v1.Content 2754 32, // 31: google.cloud.aiplatform.v1.GenerateContentRequest.system_instruction:type_name -> google.cloud.aiplatform.v1.Content 2755 33, // 32: google.cloud.aiplatform.v1.GenerateContentRequest.tools:type_name -> google.cloud.aiplatform.v1.Tool 2756 36, // 33: google.cloud.aiplatform.v1.GenerateContentRequest.tool_config:type_name -> google.cloud.aiplatform.v1.ToolConfig 2757 24, // 34: google.cloud.aiplatform.v1.GenerateContentRequest.labels:type_name -> google.cloud.aiplatform.v1.GenerateContentRequest.LabelsEntry 2758 37, // 35: google.cloud.aiplatform.v1.GenerateContentRequest.safety_settings:type_name -> google.cloud.aiplatform.v1.SafetySetting 2759 38, // 36: google.cloud.aiplatform.v1.GenerateContentRequest.model_armor_config:type_name -> google.cloud.aiplatform.v1.ModelArmorConfig 2760 34, // 37: google.cloud.aiplatform.v1.GenerateContentRequest.generation_config:type_name -> google.cloud.aiplatform.v1.GenerationConfig 2761 39, // 38: google.cloud.aiplatform.v1.GenerateContentResponse.candidates:type_name -> google.cloud.aiplatform.v1.Candidate 2762 40, // 39: google.cloud.aiplatform.v1.GenerateContentResponse.create_time:type_name -> google.protobuf.Timestamp 2763 25, // 40: google.cloud.aiplatform.v1.GenerateContentResponse.prompt_feedback:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback 2764 26, // 41: google.cloud.aiplatform.v1.GenerateContentResponse.usage_metadata:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata 2765 0, // 42: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.BlockedReason 2766 41, // 43: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.cloud.aiplatform.v1.SafetyRating 2767 35, // 44: google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata.prompt_tokens_details:type_name -> google.cloud.aiplatform.v1.ModalityTokenCount 2768 35, // 45: google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata.cache_tokens_details:type_name -> google.cloud.aiplatform.v1.ModalityTokenCount 2769 35, // 46: google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata.candidates_tokens_details:type_name -> google.cloud.aiplatform.v1.ModalityTokenCount 2770 1, // 47: google.cloud.aiplatform.v1.PredictionService.Predict:input_type -> google.cloud.aiplatform.v1.PredictRequest 2771 3, // 48: google.cloud.aiplatform.v1.PredictionService.RawPredict:input_type -> google.cloud.aiplatform.v1.RawPredictRequest 2772 4, // 49: google.cloud.aiplatform.v1.PredictionService.StreamRawPredict:input_type -> google.cloud.aiplatform.v1.StreamRawPredictRequest 2773 5, // 50: google.cloud.aiplatform.v1.PredictionService.DirectPredict:input_type -> google.cloud.aiplatform.v1.DirectPredictRequest 2774 7, // 51: google.cloud.aiplatform.v1.PredictionService.DirectRawPredict:input_type -> google.cloud.aiplatform.v1.DirectRawPredictRequest 2775 9, // 52: google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict:input_type -> google.cloud.aiplatform.v1.StreamDirectPredictRequest 2776 11, // 53: google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict:input_type -> google.cloud.aiplatform.v1.StreamDirectRawPredictRequest 2777 13, // 54: google.cloud.aiplatform.v1.PredictionService.StreamingPredict:input_type -> google.cloud.aiplatform.v1.StreamingPredictRequest 2778 13, // 55: google.cloud.aiplatform.v1.PredictionService.ServerStreamingPredict:input_type -> google.cloud.aiplatform.v1.StreamingPredictRequest 2779 15, // 56: google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict:input_type -> google.cloud.aiplatform.v1.StreamingRawPredictRequest 2780 17, // 57: google.cloud.aiplatform.v1.PredictionService.Explain:input_type -> google.cloud.aiplatform.v1.ExplainRequest 2781 21, // 58: google.cloud.aiplatform.v1.PredictionService.GenerateContent:input_type -> google.cloud.aiplatform.v1.GenerateContentRequest 2782 21, // 59: google.cloud.aiplatform.v1.PredictionService.StreamGenerateContent:input_type -> google.cloud.aiplatform.v1.GenerateContentRequest 2783 2, // 60: google.cloud.aiplatform.v1.PredictionService.Predict:output_type -> google.cloud.aiplatform.v1.PredictResponse 2784 28, // 61: google.cloud.aiplatform.v1.PredictionService.RawPredict:output_type -> google.api.HttpBody 2785 28, // 62: google.cloud.aiplatform.v1.PredictionService.StreamRawPredict:output_type -> google.api.HttpBody 2786 6, // 63: google.cloud.aiplatform.v1.PredictionService.DirectPredict:output_type -> google.cloud.aiplatform.v1.DirectPredictResponse 2787 8, // 64: google.cloud.aiplatform.v1.PredictionService.DirectRawPredict:output_type -> google.cloud.aiplatform.v1.DirectRawPredictResponse 2788 10, // 65: google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict:output_type -> google.cloud.aiplatform.v1.StreamDirectPredictResponse 2789 12, // 66: google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict:output_type -> google.cloud.aiplatform.v1.StreamDirectRawPredictResponse 2790 14, // 67: google.cloud.aiplatform.v1.PredictionService.StreamingPredict:output_type -> google.cloud.aiplatform.v1.StreamingPredictResponse 2791 14, // 68: google.cloud.aiplatform.v1.PredictionService.ServerStreamingPredict:output_type -> google.cloud.aiplatform.v1.StreamingPredictResponse 2792 16, // 69: google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict:output_type -> google.cloud.aiplatform.v1.StreamingRawPredictResponse 2793 18, // 70: google.cloud.aiplatform.v1.PredictionService.Explain:output_type -> google.cloud.aiplatform.v1.ExplainResponse 2794 22, // 71: google.cloud.aiplatform.v1.PredictionService.GenerateContent:output_type -> google.cloud.aiplatform.v1.GenerateContentResponse 2795 22, // 72: google.cloud.aiplatform.v1.PredictionService.StreamGenerateContent:output_type -> google.cloud.aiplatform.v1.GenerateContentResponse 2796 60, // [60:73] is the sub-list for method output_type 2797 47, // [47:60] is the sub-list for method input_type 2798 47, // [47:47] is the sub-list for extension type_name 2799 47, // [47:47] is the sub-list for extension extendee 2800 0, // [0:47] is the sub-list for field type_name 2801 } 2802 2803 func init() { file_google_cloud_aiplatform_v1_prediction_service_proto_init() } 2804 func file_google_cloud_aiplatform_v1_prediction_service_proto_init() { 2805 if File_google_cloud_aiplatform_v1_prediction_service_proto != nil { 2806 return 2807 } 2808 file_google_cloud_aiplatform_v1_content_proto_init() 2809 file_google_cloud_aiplatform_v1_explanation_proto_init() 2810 file_google_cloud_aiplatform_v1_tool_proto_init() 2811 file_google_cloud_aiplatform_v1_types_proto_init() 2812 file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[18].OneofWrappers = []any{} 2813 file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[20].OneofWrappers = []any{} 2814 type x struct{} 2815 out := protoimpl.TypeBuilder{ 2816 File: protoimpl.DescBuilder{ 2817 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2818 RawDescriptor: file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc, 2819 NumEnums: 1, 2820 NumMessages: 26, 2821 NumExtensions: 0, 2822 NumServices: 1, 2823 }, 2824 GoTypes: file_google_cloud_aiplatform_v1_prediction_service_proto_goTypes, 2825 DependencyIndexes: file_google_cloud_aiplatform_v1_prediction_service_proto_depIdxs, 2826 EnumInfos: file_google_cloud_aiplatform_v1_prediction_service_proto_enumTypes, 2827 MessageInfos: file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes, 2828 }.Build() 2829 File_google_cloud_aiplatform_v1_prediction_service_proto = out.File 2830 file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc = nil 2831 file_google_cloud_aiplatform_v1_prediction_service_proto_goTypes = nil 2832 file_google_cloud_aiplatform_v1_prediction_service_proto_depIdxs = nil 2833 }