cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/feature_registry_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/v1beta1/feature_registry_service.proto 20 21 package aiplatformpb 22 23 import ( 24 longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" 25 _ "google.golang.org/genproto/googleapis/api/annotations" 26 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 27 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 28 _ "google.golang.org/protobuf/types/known/emptypb" 29 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 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 // Request message for 42 // [FeatureRegistryService.CreateFeatureGroup][google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureGroup]. 43 type CreateFeatureGroupRequest struct { 44 state protoimpl.MessageState 45 sizeCache protoimpl.SizeCache 46 unknownFields protoimpl.UnknownFields 47 48 // Required. The resource name of the Location to create FeatureGroups. 49 // Format: 50 // `projects/{project}/locations/{location}` 51 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 52 // Required. The FeatureGroup to create. 53 FeatureGroup *FeatureGroup `protobuf:"bytes,2,opt,name=feature_group,json=featureGroup,proto3" json:"feature_group,omitempty"` 54 // Required. The ID to use for this FeatureGroup, which will become the final 55 // component of the FeatureGroup's resource name. 56 // 57 // This value may be up to 128 characters, and valid characters are 58 // `[a-z0-9_]`. The first character cannot be a number. 59 // 60 // The value must be unique within the project and location. 61 FeatureGroupId string `protobuf:"bytes,3,opt,name=feature_group_id,json=featureGroupId,proto3" json:"feature_group_id,omitempty"` 62 } 63 64 func (x *CreateFeatureGroupRequest) Reset() { 65 *x = CreateFeatureGroupRequest{} 66 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[0] 67 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 68 ms.StoreMessageInfo(mi) 69 } 70 71 func (x *CreateFeatureGroupRequest) String() string { 72 return protoimpl.X.MessageStringOf(x) 73 } 74 75 func (*CreateFeatureGroupRequest) ProtoMessage() {} 76 77 func (x *CreateFeatureGroupRequest) ProtoReflect() protoreflect.Message { 78 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[0] 79 if x != nil { 80 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 81 if ms.LoadMessageInfo() == nil { 82 ms.StoreMessageInfo(mi) 83 } 84 return ms 85 } 86 return mi.MessageOf(x) 87 } 88 89 // Deprecated: Use CreateFeatureGroupRequest.ProtoReflect.Descriptor instead. 90 func (*CreateFeatureGroupRequest) Descriptor() ([]byte, []int) { 91 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{0} 92 } 93 94 func (x *CreateFeatureGroupRequest) GetParent() string { 95 if x != nil { 96 return x.Parent 97 } 98 return "" 99 } 100 101 func (x *CreateFeatureGroupRequest) GetFeatureGroup() *FeatureGroup { 102 if x != nil { 103 return x.FeatureGroup 104 } 105 return nil 106 } 107 108 func (x *CreateFeatureGroupRequest) GetFeatureGroupId() string { 109 if x != nil { 110 return x.FeatureGroupId 111 } 112 return "" 113 } 114 115 // Request message for 116 // [FeatureRegistryService.GetFeatureGroup][google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureGroup]. 117 type GetFeatureGroupRequest struct { 118 state protoimpl.MessageState 119 sizeCache protoimpl.SizeCache 120 unknownFields protoimpl.UnknownFields 121 122 // Required. The name of the FeatureGroup resource. 123 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 124 } 125 126 func (x *GetFeatureGroupRequest) Reset() { 127 *x = GetFeatureGroupRequest{} 128 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[1] 129 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 130 ms.StoreMessageInfo(mi) 131 } 132 133 func (x *GetFeatureGroupRequest) String() string { 134 return protoimpl.X.MessageStringOf(x) 135 } 136 137 func (*GetFeatureGroupRequest) ProtoMessage() {} 138 139 func (x *GetFeatureGroupRequest) ProtoReflect() protoreflect.Message { 140 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[1] 141 if x != nil { 142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 143 if ms.LoadMessageInfo() == nil { 144 ms.StoreMessageInfo(mi) 145 } 146 return ms 147 } 148 return mi.MessageOf(x) 149 } 150 151 // Deprecated: Use GetFeatureGroupRequest.ProtoReflect.Descriptor instead. 152 func (*GetFeatureGroupRequest) Descriptor() ([]byte, []int) { 153 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{1} 154 } 155 156 func (x *GetFeatureGroupRequest) GetName() string { 157 if x != nil { 158 return x.Name 159 } 160 return "" 161 } 162 163 // Request message for 164 // [FeatureRegistryService.ListFeatureGroups][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups]. 165 type ListFeatureGroupsRequest struct { 166 state protoimpl.MessageState 167 sizeCache protoimpl.SizeCache 168 unknownFields protoimpl.UnknownFields 169 170 // Required. The resource name of the Location to list FeatureGroups. 171 // Format: 172 // `projects/{project}/locations/{location}` 173 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 174 // Lists the FeatureGroups that match the filter expression. The 175 // following fields are supported: 176 // 177 // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. 178 // Values must be 179 // 180 // in RFC 3339 format. 181 // 182 // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. 183 // Values must be 184 // 185 // in RFC 3339 format. 186 // 187 // * `labels`: Supports key-value equality and key presence. 188 // 189 // Examples: 190 // 191 // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` 192 // FeatureGroups created or updated after 2020-01-01. 193 // - `labels.env = "prod"` 194 // FeatureGroups with label "env" set to "prod". 195 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 196 // The maximum number of FeatureGroups to return. The service may return 197 // fewer than this value. If unspecified, at most 100 FeatureGroups will 198 // be returned. The maximum value is 100; any value greater than 100 will be 199 // coerced to 100. 200 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 201 // A page token, received from a previous 202 // [FeatureGroupAdminService.ListFeatureGroups][] call. 203 // Provide this to retrieve the subsequent page. 204 // 205 // When paginating, all other parameters provided to 206 // [FeatureGroupAdminService.ListFeatureGroups][] must 207 // match the call that provided the page token. 208 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 209 // A comma-separated list of fields to order by, sorted in ascending order. 210 // Use "desc" after a field name for descending. 211 // Supported Fields: 212 // 213 // - `create_time` 214 // - `update_time` 215 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 216 } 217 218 func (x *ListFeatureGroupsRequest) Reset() { 219 *x = ListFeatureGroupsRequest{} 220 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[2] 221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 222 ms.StoreMessageInfo(mi) 223 } 224 225 func (x *ListFeatureGroupsRequest) String() string { 226 return protoimpl.X.MessageStringOf(x) 227 } 228 229 func (*ListFeatureGroupsRequest) ProtoMessage() {} 230 231 func (x *ListFeatureGroupsRequest) ProtoReflect() protoreflect.Message { 232 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[2] 233 if x != nil { 234 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 235 if ms.LoadMessageInfo() == nil { 236 ms.StoreMessageInfo(mi) 237 } 238 return ms 239 } 240 return mi.MessageOf(x) 241 } 242 243 // Deprecated: Use ListFeatureGroupsRequest.ProtoReflect.Descriptor instead. 244 func (*ListFeatureGroupsRequest) Descriptor() ([]byte, []int) { 245 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{2} 246 } 247 248 func (x *ListFeatureGroupsRequest) GetParent() string { 249 if x != nil { 250 return x.Parent 251 } 252 return "" 253 } 254 255 func (x *ListFeatureGroupsRequest) GetFilter() string { 256 if x != nil { 257 return x.Filter 258 } 259 return "" 260 } 261 262 func (x *ListFeatureGroupsRequest) GetPageSize() int32 { 263 if x != nil { 264 return x.PageSize 265 } 266 return 0 267 } 268 269 func (x *ListFeatureGroupsRequest) GetPageToken() string { 270 if x != nil { 271 return x.PageToken 272 } 273 return "" 274 } 275 276 func (x *ListFeatureGroupsRequest) GetOrderBy() string { 277 if x != nil { 278 return x.OrderBy 279 } 280 return "" 281 } 282 283 // Response message for 284 // [FeatureRegistryService.ListFeatureGroups][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups]. 285 type ListFeatureGroupsResponse struct { 286 state protoimpl.MessageState 287 sizeCache protoimpl.SizeCache 288 unknownFields protoimpl.UnknownFields 289 290 // The FeatureGroups matching the request. 291 FeatureGroups []*FeatureGroup `protobuf:"bytes,1,rep,name=feature_groups,json=featureGroups,proto3" json:"feature_groups,omitempty"` 292 // A token, which can be sent as 293 // [ListFeatureGroupsRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeatureGroupsRequest.page_token] 294 // to retrieve the next page. If this field is omitted, there are no 295 // subsequent pages. 296 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 297 } 298 299 func (x *ListFeatureGroupsResponse) Reset() { 300 *x = ListFeatureGroupsResponse{} 301 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[3] 302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 303 ms.StoreMessageInfo(mi) 304 } 305 306 func (x *ListFeatureGroupsResponse) String() string { 307 return protoimpl.X.MessageStringOf(x) 308 } 309 310 func (*ListFeatureGroupsResponse) ProtoMessage() {} 311 312 func (x *ListFeatureGroupsResponse) ProtoReflect() protoreflect.Message { 313 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[3] 314 if x != nil { 315 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 316 if ms.LoadMessageInfo() == nil { 317 ms.StoreMessageInfo(mi) 318 } 319 return ms 320 } 321 return mi.MessageOf(x) 322 } 323 324 // Deprecated: Use ListFeatureGroupsResponse.ProtoReflect.Descriptor instead. 325 func (*ListFeatureGroupsResponse) Descriptor() ([]byte, []int) { 326 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{3} 327 } 328 329 func (x *ListFeatureGroupsResponse) GetFeatureGroups() []*FeatureGroup { 330 if x != nil { 331 return x.FeatureGroups 332 } 333 return nil 334 } 335 336 func (x *ListFeatureGroupsResponse) GetNextPageToken() string { 337 if x != nil { 338 return x.NextPageToken 339 } 340 return "" 341 } 342 343 // Request message for 344 // [FeatureRegistryService.UpdateFeatureGroup][google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureGroup]. 345 type UpdateFeatureGroupRequest struct { 346 state protoimpl.MessageState 347 sizeCache protoimpl.SizeCache 348 unknownFields protoimpl.UnknownFields 349 350 // Required. The FeatureGroup's `name` field is used to identify the 351 // FeatureGroup to be updated. Format: 352 // `projects/{project}/locations/{location}/featureGroups/{feature_group}` 353 FeatureGroup *FeatureGroup `protobuf:"bytes,1,opt,name=feature_group,json=featureGroup,proto3" json:"feature_group,omitempty"` 354 // Field mask is used to specify the fields to be overwritten in the 355 // FeatureGroup resource by the update. 356 // The fields specified in the update_mask are relative to the resource, not 357 // the full request. A field will be overwritten if it is in the mask. If the 358 // user does not provide a mask then only the non-empty fields present in the 359 // request will be overwritten. Set the update_mask to `*` to override all 360 // fields. 361 // 362 // Updatable fields: 363 // 364 // - `labels` 365 // - `description` 366 // - `big_query` 367 // - `big_query.entity_id_columns` 368 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 369 } 370 371 func (x *UpdateFeatureGroupRequest) Reset() { 372 *x = UpdateFeatureGroupRequest{} 373 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[4] 374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 375 ms.StoreMessageInfo(mi) 376 } 377 378 func (x *UpdateFeatureGroupRequest) String() string { 379 return protoimpl.X.MessageStringOf(x) 380 } 381 382 func (*UpdateFeatureGroupRequest) ProtoMessage() {} 383 384 func (x *UpdateFeatureGroupRequest) ProtoReflect() protoreflect.Message { 385 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[4] 386 if x != nil { 387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 388 if ms.LoadMessageInfo() == nil { 389 ms.StoreMessageInfo(mi) 390 } 391 return ms 392 } 393 return mi.MessageOf(x) 394 } 395 396 // Deprecated: Use UpdateFeatureGroupRequest.ProtoReflect.Descriptor instead. 397 func (*UpdateFeatureGroupRequest) Descriptor() ([]byte, []int) { 398 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{4} 399 } 400 401 func (x *UpdateFeatureGroupRequest) GetFeatureGroup() *FeatureGroup { 402 if x != nil { 403 return x.FeatureGroup 404 } 405 return nil 406 } 407 408 func (x *UpdateFeatureGroupRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 409 if x != nil { 410 return x.UpdateMask 411 } 412 return nil 413 } 414 415 // Request message for 416 // [FeatureRegistryService.DeleteFeatureGroup][google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureGroup]. 417 type DeleteFeatureGroupRequest struct { 418 state protoimpl.MessageState 419 sizeCache protoimpl.SizeCache 420 unknownFields protoimpl.UnknownFields 421 422 // Required. The name of the FeatureGroup to be deleted. 423 // Format: 424 // `projects/{project}/locations/{location}/featureGroups/{feature_group}` 425 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 426 // If set to true, any Features under this FeatureGroup 427 // will also be deleted. (Otherwise, the request will only work if the 428 // FeatureGroup has no Features.) 429 Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` 430 } 431 432 func (x *DeleteFeatureGroupRequest) Reset() { 433 *x = DeleteFeatureGroupRequest{} 434 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[5] 435 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 436 ms.StoreMessageInfo(mi) 437 } 438 439 func (x *DeleteFeatureGroupRequest) String() string { 440 return protoimpl.X.MessageStringOf(x) 441 } 442 443 func (*DeleteFeatureGroupRequest) ProtoMessage() {} 444 445 func (x *DeleteFeatureGroupRequest) ProtoReflect() protoreflect.Message { 446 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[5] 447 if x != nil { 448 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 449 if ms.LoadMessageInfo() == nil { 450 ms.StoreMessageInfo(mi) 451 } 452 return ms 453 } 454 return mi.MessageOf(x) 455 } 456 457 // Deprecated: Use DeleteFeatureGroupRequest.ProtoReflect.Descriptor instead. 458 func (*DeleteFeatureGroupRequest) Descriptor() ([]byte, []int) { 459 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{5} 460 } 461 462 func (x *DeleteFeatureGroupRequest) GetName() string { 463 if x != nil { 464 return x.Name 465 } 466 return "" 467 } 468 469 func (x *DeleteFeatureGroupRequest) GetForce() bool { 470 if x != nil { 471 return x.Force 472 } 473 return false 474 } 475 476 // Request message for 477 // [FeatureRegistryService.CreateFeatureMonitorRequest][]. 478 type CreateFeatureMonitorRequest struct { 479 state protoimpl.MessageState 480 sizeCache protoimpl.SizeCache 481 unknownFields protoimpl.UnknownFields 482 483 // Required. The resource name of FeatureGroup to create FeatureMonitor. 484 // Format: 485 // `projects/{project}/locations/{location}/featureGroups/{featuregroup}` 486 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 487 // Required. The Monitor to create. 488 FeatureMonitor *FeatureMonitor `protobuf:"bytes,2,opt,name=feature_monitor,json=featureMonitor,proto3" json:"feature_monitor,omitempty"` 489 // Required. The ID to use for this FeatureMonitor, which will become the 490 // final component of the FeatureGroup's resource name. 491 // 492 // This value may be up to 60 characters, and valid characters are 493 // `[a-z0-9_]`. The first character cannot be a number. 494 // 495 // The value must be unique within the FeatureGroup. 496 FeatureMonitorId string `protobuf:"bytes,3,opt,name=feature_monitor_id,json=featureMonitorId,proto3" json:"feature_monitor_id,omitempty"` 497 } 498 499 func (x *CreateFeatureMonitorRequest) Reset() { 500 *x = CreateFeatureMonitorRequest{} 501 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[6] 502 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 503 ms.StoreMessageInfo(mi) 504 } 505 506 func (x *CreateFeatureMonitorRequest) String() string { 507 return protoimpl.X.MessageStringOf(x) 508 } 509 510 func (*CreateFeatureMonitorRequest) ProtoMessage() {} 511 512 func (x *CreateFeatureMonitorRequest) ProtoReflect() protoreflect.Message { 513 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[6] 514 if x != nil { 515 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 516 if ms.LoadMessageInfo() == nil { 517 ms.StoreMessageInfo(mi) 518 } 519 return ms 520 } 521 return mi.MessageOf(x) 522 } 523 524 // Deprecated: Use CreateFeatureMonitorRequest.ProtoReflect.Descriptor instead. 525 func (*CreateFeatureMonitorRequest) Descriptor() ([]byte, []int) { 526 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{6} 527 } 528 529 func (x *CreateFeatureMonitorRequest) GetParent() string { 530 if x != nil { 531 return x.Parent 532 } 533 return "" 534 } 535 536 func (x *CreateFeatureMonitorRequest) GetFeatureMonitor() *FeatureMonitor { 537 if x != nil { 538 return x.FeatureMonitor 539 } 540 return nil 541 } 542 543 func (x *CreateFeatureMonitorRequest) GetFeatureMonitorId() string { 544 if x != nil { 545 return x.FeatureMonitorId 546 } 547 return "" 548 } 549 550 // Request message for 551 // [FeatureRegistryService.GetFeatureMonitor][google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureMonitor]. 552 type GetFeatureMonitorRequest struct { 553 state protoimpl.MessageState 554 sizeCache protoimpl.SizeCache 555 unknownFields protoimpl.UnknownFields 556 557 // Required. The name of the FeatureMonitor resource. 558 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 559 } 560 561 func (x *GetFeatureMonitorRequest) Reset() { 562 *x = GetFeatureMonitorRequest{} 563 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[7] 564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 565 ms.StoreMessageInfo(mi) 566 } 567 568 func (x *GetFeatureMonitorRequest) String() string { 569 return protoimpl.X.MessageStringOf(x) 570 } 571 572 func (*GetFeatureMonitorRequest) ProtoMessage() {} 573 574 func (x *GetFeatureMonitorRequest) ProtoReflect() protoreflect.Message { 575 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[7] 576 if x != nil { 577 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 578 if ms.LoadMessageInfo() == nil { 579 ms.StoreMessageInfo(mi) 580 } 581 return ms 582 } 583 return mi.MessageOf(x) 584 } 585 586 // Deprecated: Use GetFeatureMonitorRequest.ProtoReflect.Descriptor instead. 587 func (*GetFeatureMonitorRequest) Descriptor() ([]byte, []int) { 588 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{7} 589 } 590 591 func (x *GetFeatureMonitorRequest) GetName() string { 592 if x != nil { 593 return x.Name 594 } 595 return "" 596 } 597 598 // Request message for 599 // [FeatureRegistryService.ListFeatureMonitors][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitors]. 600 type ListFeatureMonitorsRequest struct { 601 state protoimpl.MessageState 602 sizeCache protoimpl.SizeCache 603 unknownFields protoimpl.UnknownFields 604 605 // Required. The resource name of the FeatureGroup to list FeatureMonitors. 606 // Format: 607 // `projects/{project}/locations/{location}/featureGroups/{featureGroup}` 608 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 609 // Optional. Lists the FeatureMonitors that match the filter expression. The 610 // following fields are supported: 611 // 612 // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. 613 // Values must be 614 // 615 // in RFC 3339 format. 616 // 617 // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. 618 // Values must be 619 // 620 // in RFC 3339 format. 621 // 622 // * `labels`: Supports key-value equality and key presence. 623 // 624 // Examples: 625 // 626 // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` 627 // FeatureMonitors created or updated after 2020-01-01. 628 // - `labels.env = "prod"` 629 // FeatureGroups with label "env" set to "prod". 630 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 631 // Optional. The maximum number of FeatureGroups to return. The service may 632 // return fewer than this value. If unspecified, at most 100 FeatureMonitors 633 // will be returned. The maximum value is 100; any value greater than 100 will 634 // be coerced to 100. 635 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 636 // Optional. A page token, received from a previous 637 // [FeatureRegistryService.ListFeatureMonitors][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitors] 638 // call. Provide this to retrieve the subsequent page. 639 // 640 // When paginating, all other parameters provided to 641 // [FeatureRegistryService.ListFeatureMonitors][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitors] 642 // must match the call that provided the page token. 643 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 644 // Optional. A comma-separated list of fields to order by, sorted in ascending 645 // order. Use "desc" after a field name for descending. Supported Fields: 646 // 647 // - `create_time` 648 // - `update_time` 649 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 650 } 651 652 func (x *ListFeatureMonitorsRequest) Reset() { 653 *x = ListFeatureMonitorsRequest{} 654 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[8] 655 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 656 ms.StoreMessageInfo(mi) 657 } 658 659 func (x *ListFeatureMonitorsRequest) String() string { 660 return protoimpl.X.MessageStringOf(x) 661 } 662 663 func (*ListFeatureMonitorsRequest) ProtoMessage() {} 664 665 func (x *ListFeatureMonitorsRequest) ProtoReflect() protoreflect.Message { 666 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[8] 667 if x != nil { 668 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 669 if ms.LoadMessageInfo() == nil { 670 ms.StoreMessageInfo(mi) 671 } 672 return ms 673 } 674 return mi.MessageOf(x) 675 } 676 677 // Deprecated: Use ListFeatureMonitorsRequest.ProtoReflect.Descriptor instead. 678 func (*ListFeatureMonitorsRequest) Descriptor() ([]byte, []int) { 679 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{8} 680 } 681 682 func (x *ListFeatureMonitorsRequest) GetParent() string { 683 if x != nil { 684 return x.Parent 685 } 686 return "" 687 } 688 689 func (x *ListFeatureMonitorsRequest) GetFilter() string { 690 if x != nil { 691 return x.Filter 692 } 693 return "" 694 } 695 696 func (x *ListFeatureMonitorsRequest) GetPageSize() int32 { 697 if x != nil { 698 return x.PageSize 699 } 700 return 0 701 } 702 703 func (x *ListFeatureMonitorsRequest) GetPageToken() string { 704 if x != nil { 705 return x.PageToken 706 } 707 return "" 708 } 709 710 func (x *ListFeatureMonitorsRequest) GetOrderBy() string { 711 if x != nil { 712 return x.OrderBy 713 } 714 return "" 715 } 716 717 // Request message for 718 // [FeatureRegistryService.UpdateFeatureMonitor][google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureMonitor]. 719 type UpdateFeatureMonitorRequest struct { 720 state protoimpl.MessageState 721 sizeCache protoimpl.SizeCache 722 unknownFields protoimpl.UnknownFields 723 724 // Required. The FeatureMonitor's `name` field is used to identify the 725 // FeatureMonitor to be updated. Format: 726 // `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}` 727 FeatureMonitor *FeatureMonitor `protobuf:"bytes,1,opt,name=feature_monitor,json=featureMonitor,proto3" json:"feature_monitor,omitempty"` 728 // Optional. Field mask is used to specify the fields to be overwritten in the 729 // FeatureMonitor resource by the update. 730 // The fields specified in the update_mask are relative to the resource, not 731 // the full request. A field will be overwritten if it is in the mask. If the 732 // user does not provide a mask then only the non-empty fields present in the 733 // request will be overwritten. Set the update_mask to `*` to override all 734 // fields. 735 // 736 // Updatable fields: 737 // 738 // - `labels` 739 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 740 } 741 742 func (x *UpdateFeatureMonitorRequest) Reset() { 743 *x = UpdateFeatureMonitorRequest{} 744 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[9] 745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 746 ms.StoreMessageInfo(mi) 747 } 748 749 func (x *UpdateFeatureMonitorRequest) String() string { 750 return protoimpl.X.MessageStringOf(x) 751 } 752 753 func (*UpdateFeatureMonitorRequest) ProtoMessage() {} 754 755 func (x *UpdateFeatureMonitorRequest) ProtoReflect() protoreflect.Message { 756 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[9] 757 if x != nil { 758 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 759 if ms.LoadMessageInfo() == nil { 760 ms.StoreMessageInfo(mi) 761 } 762 return ms 763 } 764 return mi.MessageOf(x) 765 } 766 767 // Deprecated: Use UpdateFeatureMonitorRequest.ProtoReflect.Descriptor instead. 768 func (*UpdateFeatureMonitorRequest) Descriptor() ([]byte, []int) { 769 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{9} 770 } 771 772 func (x *UpdateFeatureMonitorRequest) GetFeatureMonitor() *FeatureMonitor { 773 if x != nil { 774 return x.FeatureMonitor 775 } 776 return nil 777 } 778 779 func (x *UpdateFeatureMonitorRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 780 if x != nil { 781 return x.UpdateMask 782 } 783 return nil 784 } 785 786 // Request message for 787 // [FeatureRegistryService.DeleteFeatureMonitor][google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureMonitor]. 788 type DeleteFeatureMonitorRequest struct { 789 state protoimpl.MessageState 790 sizeCache protoimpl.SizeCache 791 unknownFields protoimpl.UnknownFields 792 793 // Required. The name of the FeatureMonitor to be deleted. 794 // Format: 795 // `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}` 796 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 797 } 798 799 func (x *DeleteFeatureMonitorRequest) Reset() { 800 *x = DeleteFeatureMonitorRequest{} 801 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[10] 802 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 803 ms.StoreMessageInfo(mi) 804 } 805 806 func (x *DeleteFeatureMonitorRequest) String() string { 807 return protoimpl.X.MessageStringOf(x) 808 } 809 810 func (*DeleteFeatureMonitorRequest) ProtoMessage() {} 811 812 func (x *DeleteFeatureMonitorRequest) ProtoReflect() protoreflect.Message { 813 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[10] 814 if x != nil { 815 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 816 if ms.LoadMessageInfo() == nil { 817 ms.StoreMessageInfo(mi) 818 } 819 return ms 820 } 821 return mi.MessageOf(x) 822 } 823 824 // Deprecated: Use DeleteFeatureMonitorRequest.ProtoReflect.Descriptor instead. 825 func (*DeleteFeatureMonitorRequest) Descriptor() ([]byte, []int) { 826 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{10} 827 } 828 829 func (x *DeleteFeatureMonitorRequest) GetName() string { 830 if x != nil { 831 return x.Name 832 } 833 return "" 834 } 835 836 // Response message for 837 // [FeatureRegistryService.ListFeatureMonitors][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitors]. 838 type ListFeatureMonitorsResponse struct { 839 state protoimpl.MessageState 840 sizeCache protoimpl.SizeCache 841 unknownFields protoimpl.UnknownFields 842 843 // The FeatureMonitors matching the request. 844 FeatureMonitors []*FeatureMonitor `protobuf:"bytes,1,rep,name=feature_monitors,json=featureMonitors,proto3" json:"feature_monitors,omitempty"` 845 // A token, which can be sent as 846 // [ListFeatureMonitorsRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeatureMonitorsRequest.page_token] 847 // to retrieve the next page. If this field is omitted, there are no 848 // subsequent pages. 849 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 850 } 851 852 func (x *ListFeatureMonitorsResponse) Reset() { 853 *x = ListFeatureMonitorsResponse{} 854 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[11] 855 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 856 ms.StoreMessageInfo(mi) 857 } 858 859 func (x *ListFeatureMonitorsResponse) String() string { 860 return protoimpl.X.MessageStringOf(x) 861 } 862 863 func (*ListFeatureMonitorsResponse) ProtoMessage() {} 864 865 func (x *ListFeatureMonitorsResponse) ProtoReflect() protoreflect.Message { 866 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[11] 867 if x != nil { 868 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 869 if ms.LoadMessageInfo() == nil { 870 ms.StoreMessageInfo(mi) 871 } 872 return ms 873 } 874 return mi.MessageOf(x) 875 } 876 877 // Deprecated: Use ListFeatureMonitorsResponse.ProtoReflect.Descriptor instead. 878 func (*ListFeatureMonitorsResponse) Descriptor() ([]byte, []int) { 879 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{11} 880 } 881 882 func (x *ListFeatureMonitorsResponse) GetFeatureMonitors() []*FeatureMonitor { 883 if x != nil { 884 return x.FeatureMonitors 885 } 886 return nil 887 } 888 889 func (x *ListFeatureMonitorsResponse) GetNextPageToken() string { 890 if x != nil { 891 return x.NextPageToken 892 } 893 return "" 894 } 895 896 // Details of operations that perform create FeatureGroup. 897 type CreateFeatureGroupOperationMetadata struct { 898 state protoimpl.MessageState 899 sizeCache protoimpl.SizeCache 900 unknownFields protoimpl.UnknownFields 901 902 // Operation metadata for FeatureGroup. 903 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 904 } 905 906 func (x *CreateFeatureGroupOperationMetadata) Reset() { 907 *x = CreateFeatureGroupOperationMetadata{} 908 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[12] 909 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 910 ms.StoreMessageInfo(mi) 911 } 912 913 func (x *CreateFeatureGroupOperationMetadata) String() string { 914 return protoimpl.X.MessageStringOf(x) 915 } 916 917 func (*CreateFeatureGroupOperationMetadata) ProtoMessage() {} 918 919 func (x *CreateFeatureGroupOperationMetadata) ProtoReflect() protoreflect.Message { 920 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[12] 921 if x != nil { 922 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 923 if ms.LoadMessageInfo() == nil { 924 ms.StoreMessageInfo(mi) 925 } 926 return ms 927 } 928 return mi.MessageOf(x) 929 } 930 931 // Deprecated: Use CreateFeatureGroupOperationMetadata.ProtoReflect.Descriptor instead. 932 func (*CreateFeatureGroupOperationMetadata) Descriptor() ([]byte, []int) { 933 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{12} 934 } 935 936 func (x *CreateFeatureGroupOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 937 if x != nil { 938 return x.GenericMetadata 939 } 940 return nil 941 } 942 943 // Details of operations that perform update FeatureGroup. 944 type UpdateFeatureGroupOperationMetadata struct { 945 state protoimpl.MessageState 946 sizeCache protoimpl.SizeCache 947 unknownFields protoimpl.UnknownFields 948 949 // Operation metadata for FeatureGroup. 950 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 951 } 952 953 func (x *UpdateFeatureGroupOperationMetadata) Reset() { 954 *x = UpdateFeatureGroupOperationMetadata{} 955 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[13] 956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 957 ms.StoreMessageInfo(mi) 958 } 959 960 func (x *UpdateFeatureGroupOperationMetadata) String() string { 961 return protoimpl.X.MessageStringOf(x) 962 } 963 964 func (*UpdateFeatureGroupOperationMetadata) ProtoMessage() {} 965 966 func (x *UpdateFeatureGroupOperationMetadata) ProtoReflect() protoreflect.Message { 967 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[13] 968 if x != nil { 969 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 970 if ms.LoadMessageInfo() == nil { 971 ms.StoreMessageInfo(mi) 972 } 973 return ms 974 } 975 return mi.MessageOf(x) 976 } 977 978 // Deprecated: Use UpdateFeatureGroupOperationMetadata.ProtoReflect.Descriptor instead. 979 func (*UpdateFeatureGroupOperationMetadata) Descriptor() ([]byte, []int) { 980 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{13} 981 } 982 983 func (x *UpdateFeatureGroupOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 984 if x != nil { 985 return x.GenericMetadata 986 } 987 return nil 988 } 989 990 // Details of operations that perform create FeatureGroup. 991 type CreateRegistryFeatureOperationMetadata struct { 992 state protoimpl.MessageState 993 sizeCache protoimpl.SizeCache 994 unknownFields protoimpl.UnknownFields 995 996 // Operation metadata for Feature. 997 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 998 } 999 1000 func (x *CreateRegistryFeatureOperationMetadata) Reset() { 1001 *x = CreateRegistryFeatureOperationMetadata{} 1002 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[14] 1003 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1004 ms.StoreMessageInfo(mi) 1005 } 1006 1007 func (x *CreateRegistryFeatureOperationMetadata) String() string { 1008 return protoimpl.X.MessageStringOf(x) 1009 } 1010 1011 func (*CreateRegistryFeatureOperationMetadata) ProtoMessage() {} 1012 1013 func (x *CreateRegistryFeatureOperationMetadata) ProtoReflect() protoreflect.Message { 1014 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[14] 1015 if x != nil { 1016 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1017 if ms.LoadMessageInfo() == nil { 1018 ms.StoreMessageInfo(mi) 1019 } 1020 return ms 1021 } 1022 return mi.MessageOf(x) 1023 } 1024 1025 // Deprecated: Use CreateRegistryFeatureOperationMetadata.ProtoReflect.Descriptor instead. 1026 func (*CreateRegistryFeatureOperationMetadata) Descriptor() ([]byte, []int) { 1027 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{14} 1028 } 1029 1030 func (x *CreateRegistryFeatureOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 1031 if x != nil { 1032 return x.GenericMetadata 1033 } 1034 return nil 1035 } 1036 1037 // Details of operations that perform update Feature. 1038 type UpdateFeatureOperationMetadata struct { 1039 state protoimpl.MessageState 1040 sizeCache protoimpl.SizeCache 1041 unknownFields protoimpl.UnknownFields 1042 1043 // Operation metadata for Feature Update. 1044 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 1045 } 1046 1047 func (x *UpdateFeatureOperationMetadata) Reset() { 1048 *x = UpdateFeatureOperationMetadata{} 1049 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[15] 1050 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1051 ms.StoreMessageInfo(mi) 1052 } 1053 1054 func (x *UpdateFeatureOperationMetadata) String() string { 1055 return protoimpl.X.MessageStringOf(x) 1056 } 1057 1058 func (*UpdateFeatureOperationMetadata) ProtoMessage() {} 1059 1060 func (x *UpdateFeatureOperationMetadata) ProtoReflect() protoreflect.Message { 1061 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[15] 1062 if x != nil { 1063 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1064 if ms.LoadMessageInfo() == nil { 1065 ms.StoreMessageInfo(mi) 1066 } 1067 return ms 1068 } 1069 return mi.MessageOf(x) 1070 } 1071 1072 // Deprecated: Use UpdateFeatureOperationMetadata.ProtoReflect.Descriptor instead. 1073 func (*UpdateFeatureOperationMetadata) Descriptor() ([]byte, []int) { 1074 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{15} 1075 } 1076 1077 func (x *UpdateFeatureOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 1078 if x != nil { 1079 return x.GenericMetadata 1080 } 1081 return nil 1082 } 1083 1084 // Details of operations that perform create FeatureMonitor. 1085 type CreateFeatureMonitorOperationMetadata struct { 1086 state protoimpl.MessageState 1087 sizeCache protoimpl.SizeCache 1088 unknownFields protoimpl.UnknownFields 1089 1090 // Operation metadata for Feature. 1091 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 1092 } 1093 1094 func (x *CreateFeatureMonitorOperationMetadata) Reset() { 1095 *x = CreateFeatureMonitorOperationMetadata{} 1096 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[16] 1097 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1098 ms.StoreMessageInfo(mi) 1099 } 1100 1101 func (x *CreateFeatureMonitorOperationMetadata) String() string { 1102 return protoimpl.X.MessageStringOf(x) 1103 } 1104 1105 func (*CreateFeatureMonitorOperationMetadata) ProtoMessage() {} 1106 1107 func (x *CreateFeatureMonitorOperationMetadata) ProtoReflect() protoreflect.Message { 1108 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[16] 1109 if x != nil { 1110 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1111 if ms.LoadMessageInfo() == nil { 1112 ms.StoreMessageInfo(mi) 1113 } 1114 return ms 1115 } 1116 return mi.MessageOf(x) 1117 } 1118 1119 // Deprecated: Use CreateFeatureMonitorOperationMetadata.ProtoReflect.Descriptor instead. 1120 func (*CreateFeatureMonitorOperationMetadata) Descriptor() ([]byte, []int) { 1121 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{16} 1122 } 1123 1124 func (x *CreateFeatureMonitorOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 1125 if x != nil { 1126 return x.GenericMetadata 1127 } 1128 return nil 1129 } 1130 1131 // Details of operations that perform update FeatureMonitor. 1132 type UpdateFeatureMonitorOperationMetadata struct { 1133 state protoimpl.MessageState 1134 sizeCache protoimpl.SizeCache 1135 unknownFields protoimpl.UnknownFields 1136 1137 // Operation metadata for FeatureMonitor. 1138 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 1139 } 1140 1141 func (x *UpdateFeatureMonitorOperationMetadata) Reset() { 1142 *x = UpdateFeatureMonitorOperationMetadata{} 1143 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[17] 1144 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1145 ms.StoreMessageInfo(mi) 1146 } 1147 1148 func (x *UpdateFeatureMonitorOperationMetadata) String() string { 1149 return protoimpl.X.MessageStringOf(x) 1150 } 1151 1152 func (*UpdateFeatureMonitorOperationMetadata) ProtoMessage() {} 1153 1154 func (x *UpdateFeatureMonitorOperationMetadata) ProtoReflect() protoreflect.Message { 1155 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[17] 1156 if x != nil { 1157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1158 if ms.LoadMessageInfo() == nil { 1159 ms.StoreMessageInfo(mi) 1160 } 1161 return ms 1162 } 1163 return mi.MessageOf(x) 1164 } 1165 1166 // Deprecated: Use UpdateFeatureMonitorOperationMetadata.ProtoReflect.Descriptor instead. 1167 func (*UpdateFeatureMonitorOperationMetadata) Descriptor() ([]byte, []int) { 1168 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{17} 1169 } 1170 1171 func (x *UpdateFeatureMonitorOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 1172 if x != nil { 1173 return x.GenericMetadata 1174 } 1175 return nil 1176 } 1177 1178 // Request message for 1179 // [FeatureRegistryService.CreateFeatureMonitorJobRequest][]. 1180 type CreateFeatureMonitorJobRequest struct { 1181 state protoimpl.MessageState 1182 sizeCache protoimpl.SizeCache 1183 unknownFields protoimpl.UnknownFields 1184 1185 // Required. The resource name of FeatureMonitor to create FeatureMonitorJob. 1186 // Format: 1187 // `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}` 1188 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1189 // Required. The Monitor to create. 1190 FeatureMonitorJob *FeatureMonitorJob `protobuf:"bytes,2,opt,name=feature_monitor_job,json=featureMonitorJob,proto3" json:"feature_monitor_job,omitempty"` 1191 // Optional. Output only. System-generated ID for feature monitor job. 1192 FeatureMonitorJobId int64 `protobuf:"varint,3,opt,name=feature_monitor_job_id,json=featureMonitorJobId,proto3" json:"feature_monitor_job_id,omitempty"` 1193 } 1194 1195 func (x *CreateFeatureMonitorJobRequest) Reset() { 1196 *x = CreateFeatureMonitorJobRequest{} 1197 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[18] 1198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1199 ms.StoreMessageInfo(mi) 1200 } 1201 1202 func (x *CreateFeatureMonitorJobRequest) String() string { 1203 return protoimpl.X.MessageStringOf(x) 1204 } 1205 1206 func (*CreateFeatureMonitorJobRequest) ProtoMessage() {} 1207 1208 func (x *CreateFeatureMonitorJobRequest) ProtoReflect() protoreflect.Message { 1209 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[18] 1210 if x != nil { 1211 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1212 if ms.LoadMessageInfo() == nil { 1213 ms.StoreMessageInfo(mi) 1214 } 1215 return ms 1216 } 1217 return mi.MessageOf(x) 1218 } 1219 1220 // Deprecated: Use CreateFeatureMonitorJobRequest.ProtoReflect.Descriptor instead. 1221 func (*CreateFeatureMonitorJobRequest) Descriptor() ([]byte, []int) { 1222 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{18} 1223 } 1224 1225 func (x *CreateFeatureMonitorJobRequest) GetParent() string { 1226 if x != nil { 1227 return x.Parent 1228 } 1229 return "" 1230 } 1231 1232 func (x *CreateFeatureMonitorJobRequest) GetFeatureMonitorJob() *FeatureMonitorJob { 1233 if x != nil { 1234 return x.FeatureMonitorJob 1235 } 1236 return nil 1237 } 1238 1239 func (x *CreateFeatureMonitorJobRequest) GetFeatureMonitorJobId() int64 { 1240 if x != nil { 1241 return x.FeatureMonitorJobId 1242 } 1243 return 0 1244 } 1245 1246 // Request message for 1247 // [FeatureRegistryService.GetFeatureMonitorJob][google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureMonitorJob]. 1248 type GetFeatureMonitorJobRequest struct { 1249 state protoimpl.MessageState 1250 sizeCache protoimpl.SizeCache 1251 unknownFields protoimpl.UnknownFields 1252 1253 // Required. The name of the FeatureMonitorJob resource. 1254 // Format: 1255 // `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}/featureMonitorJobs/{feature_monitor_job}` 1256 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1257 } 1258 1259 func (x *GetFeatureMonitorJobRequest) Reset() { 1260 *x = GetFeatureMonitorJobRequest{} 1261 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[19] 1262 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1263 ms.StoreMessageInfo(mi) 1264 } 1265 1266 func (x *GetFeatureMonitorJobRequest) String() string { 1267 return protoimpl.X.MessageStringOf(x) 1268 } 1269 1270 func (*GetFeatureMonitorJobRequest) ProtoMessage() {} 1271 1272 func (x *GetFeatureMonitorJobRequest) ProtoReflect() protoreflect.Message { 1273 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[19] 1274 if x != nil { 1275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1276 if ms.LoadMessageInfo() == nil { 1277 ms.StoreMessageInfo(mi) 1278 } 1279 return ms 1280 } 1281 return mi.MessageOf(x) 1282 } 1283 1284 // Deprecated: Use GetFeatureMonitorJobRequest.ProtoReflect.Descriptor instead. 1285 func (*GetFeatureMonitorJobRequest) Descriptor() ([]byte, []int) { 1286 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{19} 1287 } 1288 1289 func (x *GetFeatureMonitorJobRequest) GetName() string { 1290 if x != nil { 1291 return x.Name 1292 } 1293 return "" 1294 } 1295 1296 // Request message for 1297 // [FeatureRegistryService.ListFeatureMonitorJobs][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitorJobs]. 1298 type ListFeatureMonitorJobsRequest struct { 1299 state protoimpl.MessageState 1300 sizeCache protoimpl.SizeCache 1301 unknownFields protoimpl.UnknownFields 1302 1303 // Required. The resource name of the FeatureMonitor to list 1304 // FeatureMonitorJobs. Format: 1305 // `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}` 1306 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1307 // Optional. Lists the FeatureMonitorJobs that match the filter expression. 1308 // The following fields are supported: 1309 // 1310 // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. 1311 // Values must be 1312 // 1313 // Examples: 1314 // 1315 // - `create_time > "2020-01-01"` 1316 // FeatureMonitorJobs created after 2020-01-01. 1317 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 1318 // Optional. The maximum number of FeatureMonitorJobs to return. The service 1319 // may return fewer than this value. If unspecified, at most 100 1320 // FeatureMonitorJobs will be returned. The maximum value is 100; any value 1321 // greater than 100 will be coerced to 100. 1322 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1323 // Optional. A page token, received from a previous 1324 // [FeatureRegistryService.ListFeatureMonitorJobs][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitorJobs] 1325 // call. Provide this to retrieve the subsequent page. 1326 // 1327 // When paginating, all other parameters provided to 1328 // [FeatureRegistryService.ListFeatureMonitorJobs][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitorJobs] 1329 // must match the call that provided the page token. 1330 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1331 // Optional. A comma-separated list of fields to order by, sorted in ascending 1332 // order. Use "desc" after a field name for descending. Supported Fields: 1333 // 1334 // - `create_time` 1335 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 1336 } 1337 1338 func (x *ListFeatureMonitorJobsRequest) Reset() { 1339 *x = ListFeatureMonitorJobsRequest{} 1340 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[20] 1341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1342 ms.StoreMessageInfo(mi) 1343 } 1344 1345 func (x *ListFeatureMonitorJobsRequest) String() string { 1346 return protoimpl.X.MessageStringOf(x) 1347 } 1348 1349 func (*ListFeatureMonitorJobsRequest) ProtoMessage() {} 1350 1351 func (x *ListFeatureMonitorJobsRequest) ProtoReflect() protoreflect.Message { 1352 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[20] 1353 if x != nil { 1354 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1355 if ms.LoadMessageInfo() == nil { 1356 ms.StoreMessageInfo(mi) 1357 } 1358 return ms 1359 } 1360 return mi.MessageOf(x) 1361 } 1362 1363 // Deprecated: Use ListFeatureMonitorJobsRequest.ProtoReflect.Descriptor instead. 1364 func (*ListFeatureMonitorJobsRequest) Descriptor() ([]byte, []int) { 1365 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{20} 1366 } 1367 1368 func (x *ListFeatureMonitorJobsRequest) GetParent() string { 1369 if x != nil { 1370 return x.Parent 1371 } 1372 return "" 1373 } 1374 1375 func (x *ListFeatureMonitorJobsRequest) GetFilter() string { 1376 if x != nil { 1377 return x.Filter 1378 } 1379 return "" 1380 } 1381 1382 func (x *ListFeatureMonitorJobsRequest) GetPageSize() int32 { 1383 if x != nil { 1384 return x.PageSize 1385 } 1386 return 0 1387 } 1388 1389 func (x *ListFeatureMonitorJobsRequest) GetPageToken() string { 1390 if x != nil { 1391 return x.PageToken 1392 } 1393 return "" 1394 } 1395 1396 func (x *ListFeatureMonitorJobsRequest) GetOrderBy() string { 1397 if x != nil { 1398 return x.OrderBy 1399 } 1400 return "" 1401 } 1402 1403 // Response message for 1404 // [FeatureRegistryService.ListFeatureMonitorJobs][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitorJobs]. 1405 type ListFeatureMonitorJobsResponse struct { 1406 state protoimpl.MessageState 1407 sizeCache protoimpl.SizeCache 1408 unknownFields protoimpl.UnknownFields 1409 1410 // The FeatureMonitorJobs matching the request. 1411 FeatureMonitorJobs []*FeatureMonitorJob `protobuf:"bytes,1,rep,name=feature_monitor_jobs,json=featureMonitorJobs,proto3" json:"feature_monitor_jobs,omitempty"` 1412 // A token, which can be sent as 1413 // [ListFeatureMonitorJobsRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeatureMonitorJobsRequest.page_token] 1414 // to retrieve the next page. If this field is omitted, there are no 1415 // subsequent pages. 1416 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1417 } 1418 1419 func (x *ListFeatureMonitorJobsResponse) Reset() { 1420 *x = ListFeatureMonitorJobsResponse{} 1421 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[21] 1422 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1423 ms.StoreMessageInfo(mi) 1424 } 1425 1426 func (x *ListFeatureMonitorJobsResponse) String() string { 1427 return protoimpl.X.MessageStringOf(x) 1428 } 1429 1430 func (*ListFeatureMonitorJobsResponse) ProtoMessage() {} 1431 1432 func (x *ListFeatureMonitorJobsResponse) ProtoReflect() protoreflect.Message { 1433 mi := &file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[21] 1434 if x != nil { 1435 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1436 if ms.LoadMessageInfo() == nil { 1437 ms.StoreMessageInfo(mi) 1438 } 1439 return ms 1440 } 1441 return mi.MessageOf(x) 1442 } 1443 1444 // Deprecated: Use ListFeatureMonitorJobsResponse.ProtoReflect.Descriptor instead. 1445 func (*ListFeatureMonitorJobsResponse) Descriptor() ([]byte, []int) { 1446 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{21} 1447 } 1448 1449 func (x *ListFeatureMonitorJobsResponse) GetFeatureMonitorJobs() []*FeatureMonitorJob { 1450 if x != nil { 1451 return x.FeatureMonitorJobs 1452 } 1453 return nil 1454 } 1455 1456 func (x *ListFeatureMonitorJobsResponse) GetNextPageToken() string { 1457 if x != nil { 1458 return x.NextPageToken 1459 } 1460 return "" 1461 } 1462 1463 var File_google_cloud_aiplatform_v1beta1_feature_registry_service_proto protoreflect.FileDescriptor 1464 1465 var file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDesc = []byte{ 1466 0x0a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 1467 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1468 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 1469 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1470 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1471 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1472 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 1473 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 1474 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 1475 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1476 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 1477 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1478 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 1479 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 1480 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 1481 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 1482 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 1483 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 1484 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 1485 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1486 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1487 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 1488 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 1489 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 1490 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1491 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 1492 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 1493 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1494 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 1495 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 1496 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 1497 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 1498 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 1499 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1500 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 1501 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 1502 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 1503 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1504 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 1505 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x01, 0x0a, 0x19, 1506 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 1507 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 1508 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 1509 0x28, 0x12, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 1510 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 1511 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 1512 0x74, 0x12, 0x57, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 1513 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1514 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1515 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 1516 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66, 0x65, 1517 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x65, 1518 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 1519 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 1520 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 1521 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 1522 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 1523 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 1524 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 1525 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 1526 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 1527 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 1528 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 1529 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x69, 1530 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 1531 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 1532 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 1533 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 1534 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 1535 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 1536 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 1537 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 1538 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 1539 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x99, 0x01, 0x0a, 0x19, 1540 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 1541 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x66, 0x65, 0x61, 1542 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 1543 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1544 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 1545 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 1546 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 1547 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 1548 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 1549 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 1550 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 1551 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1552 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 1553 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1554 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 1555 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 1556 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3b, 1557 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 1558 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1559 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 1560 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x75, 0x0a, 0x19, 0x44, 1561 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 1562 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1563 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 1564 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1565 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 1566 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 1567 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 1568 0x63, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 1569 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 1570 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 1571 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x61, 0x69, 0x70, 0x6c, 1572 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 1573 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 1574 0x69, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 0x0f, 1575 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x18, 1576 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1577 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1578 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 1579 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 1580 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x12, 0x66, 1581 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 1582 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, 0x65, 1583 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x60, 1584 0x0a, 0x18, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 1585 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 1586 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 1587 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 1588 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 1589 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1590 0x22, 0xe9, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1591 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 1592 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 1593 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1594 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 1595 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1596 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 1597 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 1598 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 1599 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 1600 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 1601 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1602 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 1603 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 1604 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xbe, 0x01, 0x0a, 1605 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 1606 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x0f, 1607 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x18, 1608 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1609 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1610 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 1611 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 1612 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x75, 1613 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 1614 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1615 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 1616 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x63, 0x0a, 1617 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 1618 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 1619 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 1620 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 1621 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 1622 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x6e, 0x61, 1623 0x6d, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 1624 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 1625 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 1626 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 1627 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1628 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 1629 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x66, 1630 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x26, 1631 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 1632 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 1633 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 1634 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 1635 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 1636 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 1637 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1638 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1639 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 1640 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 1641 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 1642 0x64, 0x61, 0x74, 0x61, 0x22, 0x8b, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 1643 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 1644 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 1645 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 1646 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1647 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1648 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 1649 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 1650 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 1651 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 1652 0x69, 0x73, 0x74, 0x72, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 1653 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 1654 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 1655 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1656 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1657 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 1658 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 1659 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 1660 0x61, 0x74, 0x61, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 1661 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 1662 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 1663 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1664 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1665 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1666 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 1667 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 1668 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8d, 0x01, 0x0a, 1669 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 1670 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 1671 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 1672 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1673 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1674 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1675 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 1676 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 1677 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8d, 0x01, 0x0a, 1678 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 1679 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 1680 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 1681 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1682 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1683 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1684 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 1685 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 1686 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x93, 0x02, 0x0a, 1687 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 1688 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 1689 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 1690 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1691 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 1692 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1693 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x13, 1694 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 1695 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1696 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1697 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 1698 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 1699 0x41, 0x02, 0x52, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 1700 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x3b, 0x0a, 0x16, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1701 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 1702 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x66, 1703 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 1704 0x49, 0x64, 0x22, 0x66, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1705 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 1706 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 1707 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1708 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 1709 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1710 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xef, 0x01, 0x0a, 0x1d, 0x4c, 1711 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1712 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 1713 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 1714 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1715 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 1716 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 1717 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 1718 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 1719 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 1720 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 1721 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 1722 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1723 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 1724 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 1725 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xae, 0x01, 0x0a, 1726 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 1727 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 1728 0x64, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 1729 0x6f, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 1730 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 1731 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 1732 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 1733 0x62, 0x52, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1734 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 1735 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 1736 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0xfb, 0x26, 1737 0x0a, 0x16, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 1738 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9d, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 1739 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 1740 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1741 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1742 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 1743 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 1744 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 1745 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0xca, 0x41, 0x33, 1746 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 1747 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 1748 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 1749 0x61, 0x74, 0x61, 0xda, 0x41, 0x25, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 1750 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 1751 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 1752 0x47, 0x3a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 1753 0x22, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 1754 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 1755 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 1756 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xc0, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 1757 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x37, 0x2e, 0x67, 1758 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1759 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 1760 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 1761 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1762 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1763 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 1764 0x72, 0x6f, 0x75, 0x70, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 1765 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 1766 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 1767 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 1768 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x11, 1769 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 1770 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1771 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 1772 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 1773 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 1774 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1775 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 1776 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 1777 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 1778 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 1779 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 1780 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1781 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 1782 0x73, 0x12, 0x9f, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 1783 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1784 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1785 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 1786 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 1787 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 1788 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 1789 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0xca, 0x41, 0x33, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 1790 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 1791 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 1792 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x66, 1793 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, 1794 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x0d, 1795 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x32, 0x44, 0x2f, 1796 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1797 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 1798 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1799 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 1800 0x2f, 0x2a, 0x7d, 0x12, 0xef, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 1801 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 1802 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1803 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 1804 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 1805 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1806 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 1807 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 1808 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 1809 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 1810 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 1811 0x65, 0x2c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x2a, 0x36, 0x2f, 1812 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 1813 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 1814 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 1815 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x82, 0x02, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 1816 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1817 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1818 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 1819 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 1820 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 1821 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, 1822 0xca, 0x41, 0x29, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x43, 0x72, 1823 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 1824 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x70, 1825 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x66, 0x65, 1826 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x07, 1827 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1828 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 1829 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 1830 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 1831 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xa4, 0x02, 0x0a, 0x13, 0x42, 1832 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 1833 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1834 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 1835 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 1836 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 1837 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 1838 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 1839 0x01, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 1840 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 1841 0x65, 0x12, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 1842 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 1843 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 1844 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 1845 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 1846 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 1847 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 1848 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 1849 0x74, 0x75, 0x72, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 1850 0x65, 0x12, 0xbc, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1851 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1852 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1853 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 1854 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1855 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1856 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x50, 1857 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 1858 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 1859 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 1860 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 1861 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 1862 0x12, 0xcf, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1863 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1864 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 1865 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 1866 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1867 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1868 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 1869 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 1870 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 1871 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 1872 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 1873 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1874 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 1875 0x65, 0x73, 0x12, 0x84, 0x02, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 1876 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1877 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1878 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 1879 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 1880 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 1881 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0xca, 0x41, 0x29, 1882 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 1883 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 1884 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x13, 0x66, 0x65, 0x61, 0x74, 1885 0x75, 0x72, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 1886 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x32, 0x49, 1887 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 1888 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 1889 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 1890 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 1891 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xeb, 0x01, 0x0a, 0x0d, 0x44, 0x65, 1892 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 1893 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 1894 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 1895 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 1896 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 1897 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 1898 0x6e, 0x22, 0x83, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1899 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 1900 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 1901 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 1902 0xe4, 0x93, 0x02, 0x43, 0x2a, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 1903 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 1904 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 1905 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 1906 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbd, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 1907 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 1908 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1909 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1910 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1911 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 1912 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 1913 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x01, 1914 0xca, 0x41, 0x37, 0x0a, 0x0e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 1915 0x74, 0x6f, 0x72, 0x12, 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 1916 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 1917 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x29, 0x70, 0x61, 0x72, 1918 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 1919 0x74, 0x6f, 0x72, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 1920 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x0f, 0x66, 0x65, 1921 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x48, 0x2f, 1922 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 1923 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 1924 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 1925 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 1926 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 1927 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x39, 0x2e, 1928 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 1929 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 1930 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1931 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1932 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1933 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 1934 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x57, 0xda, 0x41, 0x04, 0x6e, 0x61, 1935 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 1936 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 1937 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 1938 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 1939 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 1940 0x2a, 0x7d, 0x12, 0xeb, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 1941 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 1942 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1943 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 1944 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 1945 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1946 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1947 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 1948 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 1949 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 1950 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1951 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 1952 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 1953 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 1954 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 1955 0x12, 0xbf, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 1956 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1957 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1958 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 1959 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 1960 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1961 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 1962 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, 0x01, 0xca, 0x41, 0x37, 0x0a, 0x0e, 0x46, 0x65, 1963 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x25, 0x55, 0x70, 1964 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 1965 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 1966 0x61, 0x74, 0x61, 0xda, 0x41, 0x1b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 1967 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 1968 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x3a, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 1969 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x32, 0x58, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 1970 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 1971 0x74, 0x6f, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 1972 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 1973 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 1974 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 1975 0x2a, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 1976 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 1977 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 1978 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 1979 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 1980 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1981 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 1982 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 1983 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1984 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 1985 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 1986 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x76, 0x31, 1987 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 1988 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1989 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 1990 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1991 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbf, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 1992 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 1993 0x62, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1994 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 1995 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 1996 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 1997 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1998 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 1999 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 2000 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x22, 0xae, 0x01, 0xda, 0x41, 0x31, 0x70, 0x61, 0x72, 0x65, 2001 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 2002 0x6f, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 2003 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 2004 0x93, 0x02, 0x74, 0x3a, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 2005 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x22, 0x5d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 2006 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2007 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2008 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 2009 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 2010 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 2011 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0xf6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 2012 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 2013 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 2014 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 2015 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 2016 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 2017 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 2018 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 2019 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 2020 0x6f, 0x62, 0x22, 0x6c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2021 0x5f, 0x12, 0x5d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 2022 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 2023 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 2024 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 2025 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 2026 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 2027 0x12, 0x89, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 2028 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 2029 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2030 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 2031 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 2032 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 2033 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2034 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 2035 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 2036 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0xda, 0x41, 2037 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x5d, 0x2f, 2038 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 2039 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2040 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 2041 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 2042 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 2043 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x1a, 0x4d, 0xca, 0x41, 2044 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2045 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 2046 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 2047 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 2048 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xf2, 0x01, 0x0a, 0x23, 2049 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2050 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 2051 0x74, 0x61, 0x31, 0x42, 0x1b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 2052 0x73, 0x74, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 2053 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2054 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2055 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 2056 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 2057 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2058 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2059 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 2060 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 2061 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 2062 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 2063 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 2064 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2065 } 2066 2067 var ( 2068 file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescOnce sync.Once 2069 file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDesc 2070 ) 2071 2072 func file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP() []byte { 2073 file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescOnce.Do(func() { 2074 file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescData) 2075 }) 2076 return file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescData 2077 } 2078 2079 var file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes = make([]protoimpl.MessageInfo, 22) 2080 var file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_goTypes = []any{ 2081 (*CreateFeatureGroupRequest)(nil), // 0: google.cloud.aiplatform.v1beta1.CreateFeatureGroupRequest 2082 (*GetFeatureGroupRequest)(nil), // 1: google.cloud.aiplatform.v1beta1.GetFeatureGroupRequest 2083 (*ListFeatureGroupsRequest)(nil), // 2: google.cloud.aiplatform.v1beta1.ListFeatureGroupsRequest 2084 (*ListFeatureGroupsResponse)(nil), // 3: google.cloud.aiplatform.v1beta1.ListFeatureGroupsResponse 2085 (*UpdateFeatureGroupRequest)(nil), // 4: google.cloud.aiplatform.v1beta1.UpdateFeatureGroupRequest 2086 (*DeleteFeatureGroupRequest)(nil), // 5: google.cloud.aiplatform.v1beta1.DeleteFeatureGroupRequest 2087 (*CreateFeatureMonitorRequest)(nil), // 6: google.cloud.aiplatform.v1beta1.CreateFeatureMonitorRequest 2088 (*GetFeatureMonitorRequest)(nil), // 7: google.cloud.aiplatform.v1beta1.GetFeatureMonitorRequest 2089 (*ListFeatureMonitorsRequest)(nil), // 8: google.cloud.aiplatform.v1beta1.ListFeatureMonitorsRequest 2090 (*UpdateFeatureMonitorRequest)(nil), // 9: google.cloud.aiplatform.v1beta1.UpdateFeatureMonitorRequest 2091 (*DeleteFeatureMonitorRequest)(nil), // 10: google.cloud.aiplatform.v1beta1.DeleteFeatureMonitorRequest 2092 (*ListFeatureMonitorsResponse)(nil), // 11: google.cloud.aiplatform.v1beta1.ListFeatureMonitorsResponse 2093 (*CreateFeatureGroupOperationMetadata)(nil), // 12: google.cloud.aiplatform.v1beta1.CreateFeatureGroupOperationMetadata 2094 (*UpdateFeatureGroupOperationMetadata)(nil), // 13: google.cloud.aiplatform.v1beta1.UpdateFeatureGroupOperationMetadata 2095 (*CreateRegistryFeatureOperationMetadata)(nil), // 14: google.cloud.aiplatform.v1beta1.CreateRegistryFeatureOperationMetadata 2096 (*UpdateFeatureOperationMetadata)(nil), // 15: google.cloud.aiplatform.v1beta1.UpdateFeatureOperationMetadata 2097 (*CreateFeatureMonitorOperationMetadata)(nil), // 16: google.cloud.aiplatform.v1beta1.CreateFeatureMonitorOperationMetadata 2098 (*UpdateFeatureMonitorOperationMetadata)(nil), // 17: google.cloud.aiplatform.v1beta1.UpdateFeatureMonitorOperationMetadata 2099 (*CreateFeatureMonitorJobRequest)(nil), // 18: google.cloud.aiplatform.v1beta1.CreateFeatureMonitorJobRequest 2100 (*GetFeatureMonitorJobRequest)(nil), // 19: google.cloud.aiplatform.v1beta1.GetFeatureMonitorJobRequest 2101 (*ListFeatureMonitorJobsRequest)(nil), // 20: google.cloud.aiplatform.v1beta1.ListFeatureMonitorJobsRequest 2102 (*ListFeatureMonitorJobsResponse)(nil), // 21: google.cloud.aiplatform.v1beta1.ListFeatureMonitorJobsResponse 2103 (*FeatureGroup)(nil), // 22: google.cloud.aiplatform.v1beta1.FeatureGroup 2104 (*fieldmaskpb.FieldMask)(nil), // 23: google.protobuf.FieldMask 2105 (*FeatureMonitor)(nil), // 24: google.cloud.aiplatform.v1beta1.FeatureMonitor 2106 (*GenericOperationMetadata)(nil), // 25: google.cloud.aiplatform.v1beta1.GenericOperationMetadata 2107 (*FeatureMonitorJob)(nil), // 26: google.cloud.aiplatform.v1beta1.FeatureMonitorJob 2108 (*CreateFeatureRequest)(nil), // 27: google.cloud.aiplatform.v1beta1.CreateFeatureRequest 2109 (*BatchCreateFeaturesRequest)(nil), // 28: google.cloud.aiplatform.v1beta1.BatchCreateFeaturesRequest 2110 (*GetFeatureRequest)(nil), // 29: google.cloud.aiplatform.v1beta1.GetFeatureRequest 2111 (*ListFeaturesRequest)(nil), // 30: google.cloud.aiplatform.v1beta1.ListFeaturesRequest 2112 (*UpdateFeatureRequest)(nil), // 31: google.cloud.aiplatform.v1beta1.UpdateFeatureRequest 2113 (*DeleteFeatureRequest)(nil), // 32: google.cloud.aiplatform.v1beta1.DeleteFeatureRequest 2114 (*longrunningpb.Operation)(nil), // 33: google.longrunning.Operation 2115 (*Feature)(nil), // 34: google.cloud.aiplatform.v1beta1.Feature 2116 (*ListFeaturesResponse)(nil), // 35: google.cloud.aiplatform.v1beta1.ListFeaturesResponse 2117 } 2118 var file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_depIdxs = []int32{ 2119 22, // 0: google.cloud.aiplatform.v1beta1.CreateFeatureGroupRequest.feature_group:type_name -> google.cloud.aiplatform.v1beta1.FeatureGroup 2120 22, // 1: google.cloud.aiplatform.v1beta1.ListFeatureGroupsResponse.feature_groups:type_name -> google.cloud.aiplatform.v1beta1.FeatureGroup 2121 22, // 2: google.cloud.aiplatform.v1beta1.UpdateFeatureGroupRequest.feature_group:type_name -> google.cloud.aiplatform.v1beta1.FeatureGroup 2122 23, // 3: google.cloud.aiplatform.v1beta1.UpdateFeatureGroupRequest.update_mask:type_name -> google.protobuf.FieldMask 2123 24, // 4: google.cloud.aiplatform.v1beta1.CreateFeatureMonitorRequest.feature_monitor:type_name -> google.cloud.aiplatform.v1beta1.FeatureMonitor 2124 24, // 5: google.cloud.aiplatform.v1beta1.UpdateFeatureMonitorRequest.feature_monitor:type_name -> google.cloud.aiplatform.v1beta1.FeatureMonitor 2125 23, // 6: google.cloud.aiplatform.v1beta1.UpdateFeatureMonitorRequest.update_mask:type_name -> google.protobuf.FieldMask 2126 24, // 7: google.cloud.aiplatform.v1beta1.ListFeatureMonitorsResponse.feature_monitors:type_name -> google.cloud.aiplatform.v1beta1.FeatureMonitor 2127 25, // 8: google.cloud.aiplatform.v1beta1.CreateFeatureGroupOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 2128 25, // 9: google.cloud.aiplatform.v1beta1.UpdateFeatureGroupOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 2129 25, // 10: google.cloud.aiplatform.v1beta1.CreateRegistryFeatureOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 2130 25, // 11: google.cloud.aiplatform.v1beta1.UpdateFeatureOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 2131 25, // 12: google.cloud.aiplatform.v1beta1.CreateFeatureMonitorOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 2132 25, // 13: google.cloud.aiplatform.v1beta1.UpdateFeatureMonitorOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 2133 26, // 14: google.cloud.aiplatform.v1beta1.CreateFeatureMonitorJobRequest.feature_monitor_job:type_name -> google.cloud.aiplatform.v1beta1.FeatureMonitorJob 2134 26, // 15: google.cloud.aiplatform.v1beta1.ListFeatureMonitorJobsResponse.feature_monitor_jobs:type_name -> google.cloud.aiplatform.v1beta1.FeatureMonitorJob 2135 0, // 16: google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureGroup:input_type -> google.cloud.aiplatform.v1beta1.CreateFeatureGroupRequest 2136 1, // 17: google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureGroup:input_type -> google.cloud.aiplatform.v1beta1.GetFeatureGroupRequest 2137 2, // 18: google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups:input_type -> google.cloud.aiplatform.v1beta1.ListFeatureGroupsRequest 2138 4, // 19: google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureGroup:input_type -> google.cloud.aiplatform.v1beta1.UpdateFeatureGroupRequest 2139 5, // 20: google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureGroup:input_type -> google.cloud.aiplatform.v1beta1.DeleteFeatureGroupRequest 2140 27, // 21: google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeature:input_type -> google.cloud.aiplatform.v1beta1.CreateFeatureRequest 2141 28, // 22: google.cloud.aiplatform.v1beta1.FeatureRegistryService.BatchCreateFeatures:input_type -> google.cloud.aiplatform.v1beta1.BatchCreateFeaturesRequest 2142 29, // 23: google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeature:input_type -> google.cloud.aiplatform.v1beta1.GetFeatureRequest 2143 30, // 24: google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures:input_type -> google.cloud.aiplatform.v1beta1.ListFeaturesRequest 2144 31, // 25: google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeature:input_type -> google.cloud.aiplatform.v1beta1.UpdateFeatureRequest 2145 32, // 26: google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeature:input_type -> google.cloud.aiplatform.v1beta1.DeleteFeatureRequest 2146 6, // 27: google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureMonitor:input_type -> google.cloud.aiplatform.v1beta1.CreateFeatureMonitorRequest 2147 7, // 28: google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureMonitor:input_type -> google.cloud.aiplatform.v1beta1.GetFeatureMonitorRequest 2148 8, // 29: google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitors:input_type -> google.cloud.aiplatform.v1beta1.ListFeatureMonitorsRequest 2149 9, // 30: google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureMonitor:input_type -> google.cloud.aiplatform.v1beta1.UpdateFeatureMonitorRequest 2150 10, // 31: google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureMonitor:input_type -> google.cloud.aiplatform.v1beta1.DeleteFeatureMonitorRequest 2151 18, // 32: google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureMonitorJob:input_type -> google.cloud.aiplatform.v1beta1.CreateFeatureMonitorJobRequest 2152 19, // 33: google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureMonitorJob:input_type -> google.cloud.aiplatform.v1beta1.GetFeatureMonitorJobRequest 2153 20, // 34: google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitorJobs:input_type -> google.cloud.aiplatform.v1beta1.ListFeatureMonitorJobsRequest 2154 33, // 35: google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureGroup:output_type -> google.longrunning.Operation 2155 22, // 36: google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureGroup:output_type -> google.cloud.aiplatform.v1beta1.FeatureGroup 2156 3, // 37: google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups:output_type -> google.cloud.aiplatform.v1beta1.ListFeatureGroupsResponse 2157 33, // 38: google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureGroup:output_type -> google.longrunning.Operation 2158 33, // 39: google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureGroup:output_type -> google.longrunning.Operation 2159 33, // 40: google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeature:output_type -> google.longrunning.Operation 2160 33, // 41: google.cloud.aiplatform.v1beta1.FeatureRegistryService.BatchCreateFeatures:output_type -> google.longrunning.Operation 2161 34, // 42: google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeature:output_type -> google.cloud.aiplatform.v1beta1.Feature 2162 35, // 43: google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures:output_type -> google.cloud.aiplatform.v1beta1.ListFeaturesResponse 2163 33, // 44: google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeature:output_type -> google.longrunning.Operation 2164 33, // 45: google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeature:output_type -> google.longrunning.Operation 2165 33, // 46: google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureMonitor:output_type -> google.longrunning.Operation 2166 24, // 47: google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureMonitor:output_type -> google.cloud.aiplatform.v1beta1.FeatureMonitor 2167 11, // 48: google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitors:output_type -> google.cloud.aiplatform.v1beta1.ListFeatureMonitorsResponse 2168 33, // 49: google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureMonitor:output_type -> google.longrunning.Operation 2169 33, // 50: google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureMonitor:output_type -> google.longrunning.Operation 2170 26, // 51: google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureMonitorJob:output_type -> google.cloud.aiplatform.v1beta1.FeatureMonitorJob 2171 26, // 52: google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureMonitorJob:output_type -> google.cloud.aiplatform.v1beta1.FeatureMonitorJob 2172 21, // 53: google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureMonitorJobs:output_type -> google.cloud.aiplatform.v1beta1.ListFeatureMonitorJobsResponse 2173 35, // [35:54] is the sub-list for method output_type 2174 16, // [16:35] is the sub-list for method input_type 2175 16, // [16:16] is the sub-list for extension type_name 2176 16, // [16:16] is the sub-list for extension extendee 2177 0, // [0:16] is the sub-list for field type_name 2178 } 2179 2180 func init() { file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_init() } 2181 func file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_init() { 2182 if File_google_cloud_aiplatform_v1beta1_feature_registry_service_proto != nil { 2183 return 2184 } 2185 file_google_cloud_aiplatform_v1beta1_feature_proto_init() 2186 file_google_cloud_aiplatform_v1beta1_feature_group_proto_init() 2187 file_google_cloud_aiplatform_v1beta1_feature_monitor_proto_init() 2188 file_google_cloud_aiplatform_v1beta1_feature_monitor_job_proto_init() 2189 file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_init() 2190 file_google_cloud_aiplatform_v1beta1_operation_proto_init() 2191 type x struct{} 2192 out := protoimpl.TypeBuilder{ 2193 File: protoimpl.DescBuilder{ 2194 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2195 RawDescriptor: file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDesc, 2196 NumEnums: 0, 2197 NumMessages: 22, 2198 NumExtensions: 0, 2199 NumServices: 1, 2200 }, 2201 GoTypes: file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_goTypes, 2202 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_depIdxs, 2203 MessageInfos: file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes, 2204 }.Build() 2205 File_google_cloud_aiplatform_v1beta1_feature_registry_service_proto = out.File 2206 file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDesc = nil 2207 file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_goTypes = nil 2208 file_google_cloud_aiplatform_v1beta1_feature_registry_service_proto_depIdxs = nil 2209 }