1// Copyright 2020 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.12.2 19// source: google/privacy/dlp/v2/dlp.proto 20 21package dlp 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 _ "google.golang.org/genproto/googleapis/api/annotations" 29 status "google.golang.org/genproto/googleapis/rpc/status" 30 date "google.golang.org/genproto/googleapis/type/date" 31 dayofweek "google.golang.org/genproto/googleapis/type/dayofweek" 32 timeofday "google.golang.org/genproto/googleapis/type/timeofday" 33 grpc "google.golang.org/grpc" 34 codes "google.golang.org/grpc/codes" 35 status1 "google.golang.org/grpc/status" 36 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 37 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 38 durationpb "google.golang.org/protobuf/types/known/durationpb" 39 emptypb "google.golang.org/protobuf/types/known/emptypb" 40 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 41 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 42) 43 44const ( 45 // Verify that this generated code is sufficiently up-to-date. 46 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 47 // Verify that runtime/protoimpl is sufficiently up-to-date. 48 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 49) 50 51// Operators available for comparing the value of fields. 52type RelationalOperator int32 53 54const ( 55 // Unused 56 RelationalOperator_RELATIONAL_OPERATOR_UNSPECIFIED RelationalOperator = 0 57 // Equal. Attempts to match even with incompatible types. 58 RelationalOperator_EQUAL_TO RelationalOperator = 1 59 // Not equal to. Attempts to match even with incompatible types. 60 RelationalOperator_NOT_EQUAL_TO RelationalOperator = 2 61 // Greater than. 62 RelationalOperator_GREATER_THAN RelationalOperator = 3 63 // Less than. 64 RelationalOperator_LESS_THAN RelationalOperator = 4 65 // Greater than or equals. 66 RelationalOperator_GREATER_THAN_OR_EQUALS RelationalOperator = 5 67 // Less than or equals. 68 RelationalOperator_LESS_THAN_OR_EQUALS RelationalOperator = 6 69 // Exists 70 RelationalOperator_EXISTS RelationalOperator = 7 71) 72 73// Enum value maps for RelationalOperator. 74var ( 75 RelationalOperator_name = map[int32]string{ 76 0: "RELATIONAL_OPERATOR_UNSPECIFIED", 77 1: "EQUAL_TO", 78 2: "NOT_EQUAL_TO", 79 3: "GREATER_THAN", 80 4: "LESS_THAN", 81 5: "GREATER_THAN_OR_EQUALS", 82 6: "LESS_THAN_OR_EQUALS", 83 7: "EXISTS", 84 } 85 RelationalOperator_value = map[string]int32{ 86 "RELATIONAL_OPERATOR_UNSPECIFIED": 0, 87 "EQUAL_TO": 1, 88 "NOT_EQUAL_TO": 2, 89 "GREATER_THAN": 3, 90 "LESS_THAN": 4, 91 "GREATER_THAN_OR_EQUALS": 5, 92 "LESS_THAN_OR_EQUALS": 6, 93 "EXISTS": 7, 94 } 95) 96 97func (x RelationalOperator) Enum() *RelationalOperator { 98 p := new(RelationalOperator) 99 *p = x 100 return p 101} 102 103func (x RelationalOperator) String() string { 104 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 105} 106 107func (RelationalOperator) Descriptor() protoreflect.EnumDescriptor { 108 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[0].Descriptor() 109} 110 111func (RelationalOperator) Type() protoreflect.EnumType { 112 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[0] 113} 114 115func (x RelationalOperator) Number() protoreflect.EnumNumber { 116 return protoreflect.EnumNumber(x) 117} 118 119// Deprecated: Use RelationalOperator.Descriptor instead. 120func (RelationalOperator) EnumDescriptor() ([]byte, []int) { 121 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{0} 122} 123 124// Type of the match which can be applied to different ways of matching, like 125// Dictionary, regular expression and intersecting with findings of another 126// info type. 127type MatchingType int32 128 129const ( 130 // Invalid. 131 MatchingType_MATCHING_TYPE_UNSPECIFIED MatchingType = 0 132 // Full match. 133 // 134 // - Dictionary: join of Dictionary results matched complete finding quote 135 // - Regex: all regex matches fill a finding quote start to end 136 // - Exclude info type: completely inside affecting info types findings 137 MatchingType_MATCHING_TYPE_FULL_MATCH MatchingType = 1 138 // Partial match. 139 // 140 // - Dictionary: at least one of the tokens in the finding matches 141 // - Regex: substring of the finding matches 142 // - Exclude info type: intersects with affecting info types findings 143 MatchingType_MATCHING_TYPE_PARTIAL_MATCH MatchingType = 2 144 // Inverse match. 145 // 146 // - Dictionary: no tokens in the finding match the dictionary 147 // - Regex: finding doesn't match the regex 148 // - Exclude info type: no intersection with affecting info types findings 149 MatchingType_MATCHING_TYPE_INVERSE_MATCH MatchingType = 3 150) 151 152// Enum value maps for MatchingType. 153var ( 154 MatchingType_name = map[int32]string{ 155 0: "MATCHING_TYPE_UNSPECIFIED", 156 1: "MATCHING_TYPE_FULL_MATCH", 157 2: "MATCHING_TYPE_PARTIAL_MATCH", 158 3: "MATCHING_TYPE_INVERSE_MATCH", 159 } 160 MatchingType_value = map[string]int32{ 161 "MATCHING_TYPE_UNSPECIFIED": 0, 162 "MATCHING_TYPE_FULL_MATCH": 1, 163 "MATCHING_TYPE_PARTIAL_MATCH": 2, 164 "MATCHING_TYPE_INVERSE_MATCH": 3, 165 } 166) 167 168func (x MatchingType) Enum() *MatchingType { 169 p := new(MatchingType) 170 *p = x 171 return p 172} 173 174func (x MatchingType) String() string { 175 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 176} 177 178func (MatchingType) Descriptor() protoreflect.EnumDescriptor { 179 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[1].Descriptor() 180} 181 182func (MatchingType) Type() protoreflect.EnumType { 183 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[1] 184} 185 186func (x MatchingType) Number() protoreflect.EnumNumber { 187 return protoreflect.EnumNumber(x) 188} 189 190// Deprecated: Use MatchingType.Descriptor instead. 191func (MatchingType) EnumDescriptor() ([]byte, []int) { 192 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{1} 193} 194 195// Options describing which parts of the provided content should be scanned. 196type ContentOption int32 197 198const ( 199 // Includes entire content of a file or a data stream. 200 ContentOption_CONTENT_UNSPECIFIED ContentOption = 0 201 // Text content within the data, excluding any metadata. 202 ContentOption_CONTENT_TEXT ContentOption = 1 203 // Images found in the data. 204 ContentOption_CONTENT_IMAGE ContentOption = 2 205) 206 207// Enum value maps for ContentOption. 208var ( 209 ContentOption_name = map[int32]string{ 210 0: "CONTENT_UNSPECIFIED", 211 1: "CONTENT_TEXT", 212 2: "CONTENT_IMAGE", 213 } 214 ContentOption_value = map[string]int32{ 215 "CONTENT_UNSPECIFIED": 0, 216 "CONTENT_TEXT": 1, 217 "CONTENT_IMAGE": 2, 218 } 219) 220 221func (x ContentOption) Enum() *ContentOption { 222 p := new(ContentOption) 223 *p = x 224 return p 225} 226 227func (x ContentOption) String() string { 228 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 229} 230 231func (ContentOption) Descriptor() protoreflect.EnumDescriptor { 232 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[2].Descriptor() 233} 234 235func (ContentOption) Type() protoreflect.EnumType { 236 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[2] 237} 238 239func (x ContentOption) Number() protoreflect.EnumNumber { 240 return protoreflect.EnumNumber(x) 241} 242 243// Deprecated: Use ContentOption.Descriptor instead. 244func (ContentOption) EnumDescriptor() ([]byte, []int) { 245 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{2} 246} 247 248// Type of metadata containing the finding. 249type MetadataType int32 250 251const ( 252 // Unused 253 MetadataType_METADATATYPE_UNSPECIFIED MetadataType = 0 254 // General file metadata provided by Cloud Storage. 255 MetadataType_STORAGE_METADATA MetadataType = 2 256) 257 258// Enum value maps for MetadataType. 259var ( 260 MetadataType_name = map[int32]string{ 261 0: "METADATATYPE_UNSPECIFIED", 262 2: "STORAGE_METADATA", 263 } 264 MetadataType_value = map[string]int32{ 265 "METADATATYPE_UNSPECIFIED": 0, 266 "STORAGE_METADATA": 2, 267 } 268) 269 270func (x MetadataType) Enum() *MetadataType { 271 p := new(MetadataType) 272 *p = x 273 return p 274} 275 276func (x MetadataType) String() string { 277 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 278} 279 280func (MetadataType) Descriptor() protoreflect.EnumDescriptor { 281 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[3].Descriptor() 282} 283 284func (MetadataType) Type() protoreflect.EnumType { 285 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[3] 286} 287 288func (x MetadataType) Number() protoreflect.EnumNumber { 289 return protoreflect.EnumNumber(x) 290} 291 292// Deprecated: Use MetadataType.Descriptor instead. 293func (MetadataType) EnumDescriptor() ([]byte, []int) { 294 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{3} 295} 296 297// Parts of the APIs which use certain infoTypes. 298type InfoTypeSupportedBy int32 299 300const ( 301 // Unused. 302 InfoTypeSupportedBy_ENUM_TYPE_UNSPECIFIED InfoTypeSupportedBy = 0 303 // Supported by the inspect operations. 304 InfoTypeSupportedBy_INSPECT InfoTypeSupportedBy = 1 305 // Supported by the risk analysis operations. 306 InfoTypeSupportedBy_RISK_ANALYSIS InfoTypeSupportedBy = 2 307) 308 309// Enum value maps for InfoTypeSupportedBy. 310var ( 311 InfoTypeSupportedBy_name = map[int32]string{ 312 0: "ENUM_TYPE_UNSPECIFIED", 313 1: "INSPECT", 314 2: "RISK_ANALYSIS", 315 } 316 InfoTypeSupportedBy_value = map[string]int32{ 317 "ENUM_TYPE_UNSPECIFIED": 0, 318 "INSPECT": 1, 319 "RISK_ANALYSIS": 2, 320 } 321) 322 323func (x InfoTypeSupportedBy) Enum() *InfoTypeSupportedBy { 324 p := new(InfoTypeSupportedBy) 325 *p = x 326 return p 327} 328 329func (x InfoTypeSupportedBy) String() string { 330 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 331} 332 333func (InfoTypeSupportedBy) Descriptor() protoreflect.EnumDescriptor { 334 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[4].Descriptor() 335} 336 337func (InfoTypeSupportedBy) Type() protoreflect.EnumType { 338 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[4] 339} 340 341func (x InfoTypeSupportedBy) Number() protoreflect.EnumNumber { 342 return protoreflect.EnumNumber(x) 343} 344 345// Deprecated: Use InfoTypeSupportedBy.Descriptor instead. 346func (InfoTypeSupportedBy) EnumDescriptor() ([]byte, []int) { 347 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{4} 348} 349 350// An enum to represent the various types of DLP jobs. 351type DlpJobType int32 352 353const ( 354 // Unused 355 DlpJobType_DLP_JOB_TYPE_UNSPECIFIED DlpJobType = 0 356 // The job inspected Google Cloud for sensitive data. 357 DlpJobType_INSPECT_JOB DlpJobType = 1 358 // The job executed a Risk Analysis computation. 359 DlpJobType_RISK_ANALYSIS_JOB DlpJobType = 2 360) 361 362// Enum value maps for DlpJobType. 363var ( 364 DlpJobType_name = map[int32]string{ 365 0: "DLP_JOB_TYPE_UNSPECIFIED", 366 1: "INSPECT_JOB", 367 2: "RISK_ANALYSIS_JOB", 368 } 369 DlpJobType_value = map[string]int32{ 370 "DLP_JOB_TYPE_UNSPECIFIED": 0, 371 "INSPECT_JOB": 1, 372 "RISK_ANALYSIS_JOB": 2, 373 } 374) 375 376func (x DlpJobType) Enum() *DlpJobType { 377 p := new(DlpJobType) 378 *p = x 379 return p 380} 381 382func (x DlpJobType) String() string { 383 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 384} 385 386func (DlpJobType) Descriptor() protoreflect.EnumDescriptor { 387 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[5].Descriptor() 388} 389 390func (DlpJobType) Type() protoreflect.EnumType { 391 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[5] 392} 393 394func (x DlpJobType) Number() protoreflect.EnumNumber { 395 return protoreflect.EnumNumber(x) 396} 397 398// Deprecated: Use DlpJobType.Descriptor instead. 399func (DlpJobType) EnumDescriptor() ([]byte, []int) { 400 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{5} 401} 402 403// State of a StoredInfoType version. 404type StoredInfoTypeState int32 405 406const ( 407 // Unused 408 StoredInfoTypeState_STORED_INFO_TYPE_STATE_UNSPECIFIED StoredInfoTypeState = 0 409 // StoredInfoType version is being created. 410 StoredInfoTypeState_PENDING StoredInfoTypeState = 1 411 // StoredInfoType version is ready for use. 412 StoredInfoTypeState_READY StoredInfoTypeState = 2 413 // StoredInfoType creation failed. All relevant error messages are returned in 414 // the `StoredInfoTypeVersion` message. 415 StoredInfoTypeState_FAILED StoredInfoTypeState = 3 416 // StoredInfoType is no longer valid because artifacts stored in 417 // user-controlled storage were modified. To fix an invalid StoredInfoType, 418 // use the `UpdateStoredInfoType` method to create a new version. 419 StoredInfoTypeState_INVALID StoredInfoTypeState = 4 420) 421 422// Enum value maps for StoredInfoTypeState. 423var ( 424 StoredInfoTypeState_name = map[int32]string{ 425 0: "STORED_INFO_TYPE_STATE_UNSPECIFIED", 426 1: "PENDING", 427 2: "READY", 428 3: "FAILED", 429 4: "INVALID", 430 } 431 StoredInfoTypeState_value = map[string]int32{ 432 "STORED_INFO_TYPE_STATE_UNSPECIFIED": 0, 433 "PENDING": 1, 434 "READY": 2, 435 "FAILED": 3, 436 "INVALID": 4, 437 } 438) 439 440func (x StoredInfoTypeState) Enum() *StoredInfoTypeState { 441 p := new(StoredInfoTypeState) 442 *p = x 443 return p 444} 445 446func (x StoredInfoTypeState) String() string { 447 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 448} 449 450func (StoredInfoTypeState) Descriptor() protoreflect.EnumDescriptor { 451 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[6].Descriptor() 452} 453 454func (StoredInfoTypeState) Type() protoreflect.EnumType { 455 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[6] 456} 457 458func (x StoredInfoTypeState) Number() protoreflect.EnumNumber { 459 return protoreflect.EnumNumber(x) 460} 461 462// Deprecated: Use StoredInfoTypeState.Descriptor instead. 463func (StoredInfoTypeState) EnumDescriptor() ([]byte, []int) { 464 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{6} 465} 466 467// The type of data being sent for inspection. 468type ByteContentItem_BytesType int32 469 470const ( 471 // Unused 472 ByteContentItem_BYTES_TYPE_UNSPECIFIED ByteContentItem_BytesType = 0 473 // Any image type. 474 ByteContentItem_IMAGE ByteContentItem_BytesType = 6 475 // jpeg 476 ByteContentItem_IMAGE_JPEG ByteContentItem_BytesType = 1 477 // bmp 478 ByteContentItem_IMAGE_BMP ByteContentItem_BytesType = 2 479 // png 480 ByteContentItem_IMAGE_PNG ByteContentItem_BytesType = 3 481 // svg 482 ByteContentItem_IMAGE_SVG ByteContentItem_BytesType = 4 483 // plain text 484 ByteContentItem_TEXT_UTF8 ByteContentItem_BytesType = 5 485 // docx, docm, dotx, dotm 486 ByteContentItem_WORD_DOCUMENT ByteContentItem_BytesType = 7 487 // pdf 488 ByteContentItem_PDF ByteContentItem_BytesType = 8 489 // avro 490 ByteContentItem_AVRO ByteContentItem_BytesType = 11 491 // csv 492 ByteContentItem_CSV ByteContentItem_BytesType = 12 493 // tsv 494 ByteContentItem_TSV ByteContentItem_BytesType = 13 495) 496 497// Enum value maps for ByteContentItem_BytesType. 498var ( 499 ByteContentItem_BytesType_name = map[int32]string{ 500 0: "BYTES_TYPE_UNSPECIFIED", 501 6: "IMAGE", 502 1: "IMAGE_JPEG", 503 2: "IMAGE_BMP", 504 3: "IMAGE_PNG", 505 4: "IMAGE_SVG", 506 5: "TEXT_UTF8", 507 7: "WORD_DOCUMENT", 508 8: "PDF", 509 11: "AVRO", 510 12: "CSV", 511 13: "TSV", 512 } 513 ByteContentItem_BytesType_value = map[string]int32{ 514 "BYTES_TYPE_UNSPECIFIED": 0, 515 "IMAGE": 6, 516 "IMAGE_JPEG": 1, 517 "IMAGE_BMP": 2, 518 "IMAGE_PNG": 3, 519 "IMAGE_SVG": 4, 520 "TEXT_UTF8": 5, 521 "WORD_DOCUMENT": 7, 522 "PDF": 8, 523 "AVRO": 11, 524 "CSV": 12, 525 "TSV": 13, 526 } 527) 528 529func (x ByteContentItem_BytesType) Enum() *ByteContentItem_BytesType { 530 p := new(ByteContentItem_BytesType) 531 *p = x 532 return p 533} 534 535func (x ByteContentItem_BytesType) String() string { 536 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 537} 538 539func (ByteContentItem_BytesType) Descriptor() protoreflect.EnumDescriptor { 540 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[7].Descriptor() 541} 542 543func (ByteContentItem_BytesType) Type() protoreflect.EnumType { 544 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[7] 545} 546 547func (x ByteContentItem_BytesType) Number() protoreflect.EnumNumber { 548 return protoreflect.EnumNumber(x) 549} 550 551// Deprecated: Use ByteContentItem_BytesType.Descriptor instead. 552func (ByteContentItem_BytesType) EnumDescriptor() ([]byte, []int) { 553 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{5, 0} 554} 555 556// Predefined schemas for storing findings. 557// Only for use with external storage. 558type OutputStorageConfig_OutputSchema int32 559 560const ( 561 // Unused. 562 OutputStorageConfig_OUTPUT_SCHEMA_UNSPECIFIED OutputStorageConfig_OutputSchema = 0 563 // Basic schema including only `info_type`, `quote`, `certainty`, and 564 // `timestamp`. 565 OutputStorageConfig_BASIC_COLUMNS OutputStorageConfig_OutputSchema = 1 566 // Schema tailored to findings from scanning Google Cloud Storage. 567 OutputStorageConfig_GCS_COLUMNS OutputStorageConfig_OutputSchema = 2 568 // Schema tailored to findings from scanning Google Datastore. 569 OutputStorageConfig_DATASTORE_COLUMNS OutputStorageConfig_OutputSchema = 3 570 // Schema tailored to findings from scanning Google BigQuery. 571 OutputStorageConfig_BIG_QUERY_COLUMNS OutputStorageConfig_OutputSchema = 4 572 // Schema containing all columns. 573 OutputStorageConfig_ALL_COLUMNS OutputStorageConfig_OutputSchema = 5 574) 575 576// Enum value maps for OutputStorageConfig_OutputSchema. 577var ( 578 OutputStorageConfig_OutputSchema_name = map[int32]string{ 579 0: "OUTPUT_SCHEMA_UNSPECIFIED", 580 1: "BASIC_COLUMNS", 581 2: "GCS_COLUMNS", 582 3: "DATASTORE_COLUMNS", 583 4: "BIG_QUERY_COLUMNS", 584 5: "ALL_COLUMNS", 585 } 586 OutputStorageConfig_OutputSchema_value = map[string]int32{ 587 "OUTPUT_SCHEMA_UNSPECIFIED": 0, 588 "BASIC_COLUMNS": 1, 589 "GCS_COLUMNS": 2, 590 "DATASTORE_COLUMNS": 3, 591 "BIG_QUERY_COLUMNS": 4, 592 "ALL_COLUMNS": 5, 593 } 594) 595 596func (x OutputStorageConfig_OutputSchema) Enum() *OutputStorageConfig_OutputSchema { 597 p := new(OutputStorageConfig_OutputSchema) 598 *p = x 599 return p 600} 601 602func (x OutputStorageConfig_OutputSchema) String() string { 603 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 604} 605 606func (OutputStorageConfig_OutputSchema) Descriptor() protoreflect.EnumDescriptor { 607 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[8].Descriptor() 608} 609 610func (OutputStorageConfig_OutputSchema) Type() protoreflect.EnumType { 611 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[8] 612} 613 614func (x OutputStorageConfig_OutputSchema) Number() protoreflect.EnumNumber { 615 return protoreflect.EnumNumber(x) 616} 617 618// Deprecated: Use OutputStorageConfig_OutputSchema.Descriptor instead. 619func (OutputStorageConfig_OutputSchema) EnumDescriptor() ([]byte, []int) { 620 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{30, 0} 621} 622 623// Components that make up time. 624type TimePartConfig_TimePart int32 625 626const ( 627 // Unused 628 TimePartConfig_TIME_PART_UNSPECIFIED TimePartConfig_TimePart = 0 629 // [0-9999] 630 TimePartConfig_YEAR TimePartConfig_TimePart = 1 631 // [1-12] 632 TimePartConfig_MONTH TimePartConfig_TimePart = 2 633 // [1-31] 634 TimePartConfig_DAY_OF_MONTH TimePartConfig_TimePart = 3 635 // [1-7] 636 TimePartConfig_DAY_OF_WEEK TimePartConfig_TimePart = 4 637 // [1-53] 638 TimePartConfig_WEEK_OF_YEAR TimePartConfig_TimePart = 5 639 // [0-23] 640 TimePartConfig_HOUR_OF_DAY TimePartConfig_TimePart = 6 641) 642 643// Enum value maps for TimePartConfig_TimePart. 644var ( 645 TimePartConfig_TimePart_name = map[int32]string{ 646 0: "TIME_PART_UNSPECIFIED", 647 1: "YEAR", 648 2: "MONTH", 649 3: "DAY_OF_MONTH", 650 4: "DAY_OF_WEEK", 651 5: "WEEK_OF_YEAR", 652 6: "HOUR_OF_DAY", 653 } 654 TimePartConfig_TimePart_value = map[string]int32{ 655 "TIME_PART_UNSPECIFIED": 0, 656 "YEAR": 1, 657 "MONTH": 2, 658 "DAY_OF_MONTH": 3, 659 "DAY_OF_WEEK": 4, 660 "WEEK_OF_YEAR": 5, 661 "HOUR_OF_DAY": 6, 662 } 663) 664 665func (x TimePartConfig_TimePart) Enum() *TimePartConfig_TimePart { 666 p := new(TimePartConfig_TimePart) 667 *p = x 668 return p 669} 670 671func (x TimePartConfig_TimePart) String() string { 672 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 673} 674 675func (TimePartConfig_TimePart) Descriptor() protoreflect.EnumDescriptor { 676 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[9].Descriptor() 677} 678 679func (TimePartConfig_TimePart) Type() protoreflect.EnumType { 680 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[9] 681} 682 683func (x TimePartConfig_TimePart) Number() protoreflect.EnumNumber { 684 return protoreflect.EnumNumber(x) 685} 686 687// Deprecated: Use TimePartConfig_TimePart.Descriptor instead. 688func (TimePartConfig_TimePart) EnumDescriptor() ([]byte, []int) { 689 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{49, 0} 690} 691 692// Convenience enum for indication common characters to not transform. 693type CharsToIgnore_CommonCharsToIgnore int32 694 695const ( 696 // Unused. 697 CharsToIgnore_COMMON_CHARS_TO_IGNORE_UNSPECIFIED CharsToIgnore_CommonCharsToIgnore = 0 698 // 0-9 699 CharsToIgnore_NUMERIC CharsToIgnore_CommonCharsToIgnore = 1 700 // A-Z 701 CharsToIgnore_ALPHA_UPPER_CASE CharsToIgnore_CommonCharsToIgnore = 2 702 // a-z 703 CharsToIgnore_ALPHA_LOWER_CASE CharsToIgnore_CommonCharsToIgnore = 3 704 // US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 705 CharsToIgnore_PUNCTUATION CharsToIgnore_CommonCharsToIgnore = 4 706 // Whitespace character, one of [ \t\n\x0B\f\r] 707 CharsToIgnore_WHITESPACE CharsToIgnore_CommonCharsToIgnore = 5 708) 709 710// Enum value maps for CharsToIgnore_CommonCharsToIgnore. 711var ( 712 CharsToIgnore_CommonCharsToIgnore_name = map[int32]string{ 713 0: "COMMON_CHARS_TO_IGNORE_UNSPECIFIED", 714 1: "NUMERIC", 715 2: "ALPHA_UPPER_CASE", 716 3: "ALPHA_LOWER_CASE", 717 4: "PUNCTUATION", 718 5: "WHITESPACE", 719 } 720 CharsToIgnore_CommonCharsToIgnore_value = map[string]int32{ 721 "COMMON_CHARS_TO_IGNORE_UNSPECIFIED": 0, 722 "NUMERIC": 1, 723 "ALPHA_UPPER_CASE": 2, 724 "ALPHA_LOWER_CASE": 3, 725 "PUNCTUATION": 4, 726 "WHITESPACE": 5, 727 } 728) 729 730func (x CharsToIgnore_CommonCharsToIgnore) Enum() *CharsToIgnore_CommonCharsToIgnore { 731 p := new(CharsToIgnore_CommonCharsToIgnore) 732 *p = x 733 return p 734} 735 736func (x CharsToIgnore_CommonCharsToIgnore) String() string { 737 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 738} 739 740func (CharsToIgnore_CommonCharsToIgnore) Descriptor() protoreflect.EnumDescriptor { 741 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[10].Descriptor() 742} 743 744func (CharsToIgnore_CommonCharsToIgnore) Type() protoreflect.EnumType { 745 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[10] 746} 747 748func (x CharsToIgnore_CommonCharsToIgnore) Number() protoreflect.EnumNumber { 749 return protoreflect.EnumNumber(x) 750} 751 752// Deprecated: Use CharsToIgnore_CommonCharsToIgnore.Descriptor instead. 753func (CharsToIgnore_CommonCharsToIgnore) EnumDescriptor() ([]byte, []int) { 754 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{55, 0} 755} 756 757// These are commonly used subsets of the alphabet that the FFX mode 758// natively supports. In the algorithm, the alphabet is selected using 759// the "radix". Therefore each corresponds to particular radix. 760type CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet int32 761 762const ( 763 // Unused. 764 CryptoReplaceFfxFpeConfig_FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 0 765 // `[0-9]` (radix of 10) 766 CryptoReplaceFfxFpeConfig_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 1 767 // `[0-9A-F]` (radix of 16) 768 CryptoReplaceFfxFpeConfig_HEXADECIMAL CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 2 769 // `[0-9A-Z]` (radix of 36) 770 CryptoReplaceFfxFpeConfig_UPPER_CASE_ALPHA_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 3 771 // `[0-9A-Za-z]` (radix of 62) 772 CryptoReplaceFfxFpeConfig_ALPHA_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 4 773) 774 775// Enum value maps for CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet. 776var ( 777 CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_name = map[int32]string{ 778 0: "FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED", 779 1: "NUMERIC", 780 2: "HEXADECIMAL", 781 3: "UPPER_CASE_ALPHA_NUMERIC", 782 4: "ALPHA_NUMERIC", 783 } 784 CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_value = map[string]int32{ 785 "FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED": 0, 786 "NUMERIC": 1, 787 "HEXADECIMAL": 2, 788 "UPPER_CASE_ALPHA_NUMERIC": 3, 789 "ALPHA_NUMERIC": 4, 790 } 791) 792 793func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) Enum() *CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet { 794 p := new(CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) 795 *p = x 796 return p 797} 798 799func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) String() string { 800 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 801} 802 803func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) Descriptor() protoreflect.EnumDescriptor { 804 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[11].Descriptor() 805} 806 807func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) Type() protoreflect.EnumType { 808 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[11] 809} 810 811func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) Number() protoreflect.EnumNumber { 812 return protoreflect.EnumNumber(x) 813} 814 815// Deprecated: Use CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet.Descriptor instead. 816func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) EnumDescriptor() ([]byte, []int) { 817 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{59, 0} 818} 819 820// Logical operators for conditional checks. 821type RecordCondition_Expressions_LogicalOperator int32 822 823const ( 824 // Unused 825 RecordCondition_Expressions_LOGICAL_OPERATOR_UNSPECIFIED RecordCondition_Expressions_LogicalOperator = 0 826 // Conditional AND 827 RecordCondition_Expressions_AND RecordCondition_Expressions_LogicalOperator = 1 828) 829 830// Enum value maps for RecordCondition_Expressions_LogicalOperator. 831var ( 832 RecordCondition_Expressions_LogicalOperator_name = map[int32]string{ 833 0: "LOGICAL_OPERATOR_UNSPECIFIED", 834 1: "AND", 835 } 836 RecordCondition_Expressions_LogicalOperator_value = map[string]int32{ 837 "LOGICAL_OPERATOR_UNSPECIFIED": 0, 838 "AND": 1, 839 } 840) 841 842func (x RecordCondition_Expressions_LogicalOperator) Enum() *RecordCondition_Expressions_LogicalOperator { 843 p := new(RecordCondition_Expressions_LogicalOperator) 844 *p = x 845 return p 846} 847 848func (x RecordCondition_Expressions_LogicalOperator) String() string { 849 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 850} 851 852func (RecordCondition_Expressions_LogicalOperator) Descriptor() protoreflect.EnumDescriptor { 853 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[12].Descriptor() 854} 855 856func (RecordCondition_Expressions_LogicalOperator) Type() protoreflect.EnumType { 857 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[12] 858} 859 860func (x RecordCondition_Expressions_LogicalOperator) Number() protoreflect.EnumNumber { 861 return protoreflect.EnumNumber(x) 862} 863 864// Deprecated: Use RecordCondition_Expressions_LogicalOperator.Descriptor instead. 865func (RecordCondition_Expressions_LogicalOperator) EnumDescriptor() ([]byte, []int) { 866 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69, 2, 0} 867} 868 869// Possible outcomes of transformations. 870type TransformationSummary_TransformationResultCode int32 871 872const ( 873 // Unused 874 TransformationSummary_TRANSFORMATION_RESULT_CODE_UNSPECIFIED TransformationSummary_TransformationResultCode = 0 875 // Transformation completed without an error. 876 TransformationSummary_SUCCESS TransformationSummary_TransformationResultCode = 1 877 // Transformation had an error. 878 TransformationSummary_ERROR TransformationSummary_TransformationResultCode = 2 879) 880 881// Enum value maps for TransformationSummary_TransformationResultCode. 882var ( 883 TransformationSummary_TransformationResultCode_name = map[int32]string{ 884 0: "TRANSFORMATION_RESULT_CODE_UNSPECIFIED", 885 1: "SUCCESS", 886 2: "ERROR", 887 } 888 TransformationSummary_TransformationResultCode_value = map[string]int32{ 889 "TRANSFORMATION_RESULT_CODE_UNSPECIFIED": 0, 890 "SUCCESS": 1, 891 "ERROR": 2, 892 } 893) 894 895func (x TransformationSummary_TransformationResultCode) Enum() *TransformationSummary_TransformationResultCode { 896 p := new(TransformationSummary_TransformationResultCode) 897 *p = x 898 return p 899} 900 901func (x TransformationSummary_TransformationResultCode) String() string { 902 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 903} 904 905func (TransformationSummary_TransformationResultCode) Descriptor() protoreflect.EnumDescriptor { 906 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[13].Descriptor() 907} 908 909func (TransformationSummary_TransformationResultCode) Type() protoreflect.EnumType { 910 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[13] 911} 912 913func (x TransformationSummary_TransformationResultCode) Number() protoreflect.EnumNumber { 914 return protoreflect.EnumNumber(x) 915} 916 917// Deprecated: Use TransformationSummary_TransformationResultCode.Descriptor instead. 918func (TransformationSummary_TransformationResultCode) EnumDescriptor() ([]byte, []int) { 919 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{71, 0} 920} 921 922// Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs 923// will be created with this configuration. The service may automatically 924// pause triggers experiencing frequent errors. To restart a job, set the 925// status to HEALTHY after correcting user errors. 926type JobTrigger_Status int32 927 928const ( 929 // Unused. 930 JobTrigger_STATUS_UNSPECIFIED JobTrigger_Status = 0 931 // Trigger is healthy. 932 JobTrigger_HEALTHY JobTrigger_Status = 1 933 // Trigger is temporarily paused. 934 JobTrigger_PAUSED JobTrigger_Status = 2 935 // Trigger is cancelled and can not be resumed. 936 JobTrigger_CANCELLED JobTrigger_Status = 3 937) 938 939// Enum value maps for JobTrigger_Status. 940var ( 941 JobTrigger_Status_name = map[int32]string{ 942 0: "STATUS_UNSPECIFIED", 943 1: "HEALTHY", 944 2: "PAUSED", 945 3: "CANCELLED", 946 } 947 JobTrigger_Status_value = map[string]int32{ 948 "STATUS_UNSPECIFIED": 0, 949 "HEALTHY": 1, 950 "PAUSED": 2, 951 "CANCELLED": 3, 952 } 953) 954 955func (x JobTrigger_Status) Enum() *JobTrigger_Status { 956 p := new(JobTrigger_Status) 957 *p = x 958 return p 959} 960 961func (x JobTrigger_Status) String() string { 962 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 963} 964 965func (JobTrigger_Status) Descriptor() protoreflect.EnumDescriptor { 966 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[14].Descriptor() 967} 968 969func (JobTrigger_Status) Type() protoreflect.EnumType { 970 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[14] 971} 972 973func (x JobTrigger_Status) Number() protoreflect.EnumNumber { 974 return protoreflect.EnumNumber(x) 975} 976 977// Deprecated: Use JobTrigger_Status.Descriptor instead. 978func (JobTrigger_Status) EnumDescriptor() ([]byte, []int) { 979 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{77, 0} 980} 981 982// Possible states of a job. New items may be added. 983type DlpJob_JobState int32 984 985const ( 986 // Unused. 987 DlpJob_JOB_STATE_UNSPECIFIED DlpJob_JobState = 0 988 // The job has not yet started. 989 DlpJob_PENDING DlpJob_JobState = 1 990 // The job is currently running. Once a job has finished it will transition 991 // to FAILED or DONE. 992 DlpJob_RUNNING DlpJob_JobState = 2 993 // The job is no longer running. 994 DlpJob_DONE DlpJob_JobState = 3 995 // The job was canceled before it could complete. 996 DlpJob_CANCELED DlpJob_JobState = 4 997 // The job had an error and did not complete. 998 DlpJob_FAILED DlpJob_JobState = 5 999 // The job is currently accepting findings via hybridInspect. 1000 // A hybrid job in ACTIVE state may continue to have findings added to it 1001 // through calling of hybridInspect. After the job has finished no more 1002 // calls to hybridInspect may be made. ACTIVE jobs can transition to DONE. 1003 DlpJob_ACTIVE DlpJob_JobState = 6 1004) 1005 1006// Enum value maps for DlpJob_JobState. 1007var ( 1008 DlpJob_JobState_name = map[int32]string{ 1009 0: "JOB_STATE_UNSPECIFIED", 1010 1: "PENDING", 1011 2: "RUNNING", 1012 3: "DONE", 1013 4: "CANCELED", 1014 5: "FAILED", 1015 6: "ACTIVE", 1016 } 1017 DlpJob_JobState_value = map[string]int32{ 1018 "JOB_STATE_UNSPECIFIED": 0, 1019 "PENDING": 1, 1020 "RUNNING": 2, 1021 "DONE": 3, 1022 "CANCELED": 4, 1023 "FAILED": 5, 1024 "ACTIVE": 6, 1025 } 1026) 1027 1028func (x DlpJob_JobState) Enum() *DlpJob_JobState { 1029 p := new(DlpJob_JobState) 1030 *p = x 1031 return p 1032} 1033 1034func (x DlpJob_JobState) String() string { 1035 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1036} 1037 1038func (DlpJob_JobState) Descriptor() protoreflect.EnumDescriptor { 1039 return file_google_privacy_dlp_v2_dlp_proto_enumTypes[15].Descriptor() 1040} 1041 1042func (DlpJob_JobState) Type() protoreflect.EnumType { 1043 return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[15] 1044} 1045 1046func (x DlpJob_JobState) Number() protoreflect.EnumNumber { 1047 return protoreflect.EnumNumber(x) 1048} 1049 1050// Deprecated: Use DlpJob_JobState.Descriptor instead. 1051func (DlpJob_JobState) EnumDescriptor() ([]byte, []int) { 1052 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{94, 0} 1053} 1054 1055// List of exclude infoTypes. 1056type ExcludeInfoTypes struct { 1057 state protoimpl.MessageState 1058 sizeCache protoimpl.SizeCache 1059 unknownFields protoimpl.UnknownFields 1060 1061 // InfoType list in ExclusionRule rule drops a finding when it overlaps or 1062 // contained within with a finding of an infoType from this list. For 1063 // example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and 1064 // `exclusion_rule` containing `exclude_info_types.info_types` with 1065 // "EMAIL_ADDRESS" the phone number findings are dropped if they overlap 1066 // with EMAIL_ADDRESS finding. 1067 // That leads to "555-222-2222@example.org" to generate only a single 1068 // finding, namely email address. 1069 InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"` 1070} 1071 1072func (x *ExcludeInfoTypes) Reset() { 1073 *x = ExcludeInfoTypes{} 1074 if protoimpl.UnsafeEnabled { 1075 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[0] 1076 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1077 ms.StoreMessageInfo(mi) 1078 } 1079} 1080 1081func (x *ExcludeInfoTypes) String() string { 1082 return protoimpl.X.MessageStringOf(x) 1083} 1084 1085func (*ExcludeInfoTypes) ProtoMessage() {} 1086 1087func (x *ExcludeInfoTypes) ProtoReflect() protoreflect.Message { 1088 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[0] 1089 if protoimpl.UnsafeEnabled && x != nil { 1090 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1091 if ms.LoadMessageInfo() == nil { 1092 ms.StoreMessageInfo(mi) 1093 } 1094 return ms 1095 } 1096 return mi.MessageOf(x) 1097} 1098 1099// Deprecated: Use ExcludeInfoTypes.ProtoReflect.Descriptor instead. 1100func (*ExcludeInfoTypes) Descriptor() ([]byte, []int) { 1101 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{0} 1102} 1103 1104func (x *ExcludeInfoTypes) GetInfoTypes() []*InfoType { 1105 if x != nil { 1106 return x.InfoTypes 1107 } 1108 return nil 1109} 1110 1111// The rule that specifies conditions when findings of infoTypes specified in 1112// `InspectionRuleSet` are removed from results. 1113type ExclusionRule struct { 1114 state protoimpl.MessageState 1115 sizeCache protoimpl.SizeCache 1116 unknownFields protoimpl.UnknownFields 1117 1118 // Exclusion rule types. 1119 // 1120 // Types that are assignable to Type: 1121 // *ExclusionRule_Dictionary 1122 // *ExclusionRule_Regex 1123 // *ExclusionRule_ExcludeInfoTypes 1124 Type isExclusionRule_Type `protobuf_oneof:"type"` 1125 // How the rule is applied, see MatchingType documentation for details. 1126 MatchingType MatchingType `protobuf:"varint,4,opt,name=matching_type,json=matchingType,proto3,enum=google.privacy.dlp.v2.MatchingType" json:"matching_type,omitempty"` 1127} 1128 1129func (x *ExclusionRule) Reset() { 1130 *x = ExclusionRule{} 1131 if protoimpl.UnsafeEnabled { 1132 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[1] 1133 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1134 ms.StoreMessageInfo(mi) 1135 } 1136} 1137 1138func (x *ExclusionRule) String() string { 1139 return protoimpl.X.MessageStringOf(x) 1140} 1141 1142func (*ExclusionRule) ProtoMessage() {} 1143 1144func (x *ExclusionRule) ProtoReflect() protoreflect.Message { 1145 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[1] 1146 if protoimpl.UnsafeEnabled && x != nil { 1147 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1148 if ms.LoadMessageInfo() == nil { 1149 ms.StoreMessageInfo(mi) 1150 } 1151 return ms 1152 } 1153 return mi.MessageOf(x) 1154} 1155 1156// Deprecated: Use ExclusionRule.ProtoReflect.Descriptor instead. 1157func (*ExclusionRule) Descriptor() ([]byte, []int) { 1158 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{1} 1159} 1160 1161func (m *ExclusionRule) GetType() isExclusionRule_Type { 1162 if m != nil { 1163 return m.Type 1164 } 1165 return nil 1166} 1167 1168func (x *ExclusionRule) GetDictionary() *CustomInfoType_Dictionary { 1169 if x, ok := x.GetType().(*ExclusionRule_Dictionary); ok { 1170 return x.Dictionary 1171 } 1172 return nil 1173} 1174 1175func (x *ExclusionRule) GetRegex() *CustomInfoType_Regex { 1176 if x, ok := x.GetType().(*ExclusionRule_Regex); ok { 1177 return x.Regex 1178 } 1179 return nil 1180} 1181 1182func (x *ExclusionRule) GetExcludeInfoTypes() *ExcludeInfoTypes { 1183 if x, ok := x.GetType().(*ExclusionRule_ExcludeInfoTypes); ok { 1184 return x.ExcludeInfoTypes 1185 } 1186 return nil 1187} 1188 1189func (x *ExclusionRule) GetMatchingType() MatchingType { 1190 if x != nil { 1191 return x.MatchingType 1192 } 1193 return MatchingType_MATCHING_TYPE_UNSPECIFIED 1194} 1195 1196type isExclusionRule_Type interface { 1197 isExclusionRule_Type() 1198} 1199 1200type ExclusionRule_Dictionary struct { 1201 // Dictionary which defines the rule. 1202 Dictionary *CustomInfoType_Dictionary `protobuf:"bytes,1,opt,name=dictionary,proto3,oneof"` 1203} 1204 1205type ExclusionRule_Regex struct { 1206 // Regular expression which defines the rule. 1207 Regex *CustomInfoType_Regex `protobuf:"bytes,2,opt,name=regex,proto3,oneof"` 1208} 1209 1210type ExclusionRule_ExcludeInfoTypes struct { 1211 // Set of infoTypes for which findings would affect this rule. 1212 ExcludeInfoTypes *ExcludeInfoTypes `protobuf:"bytes,3,opt,name=exclude_info_types,json=excludeInfoTypes,proto3,oneof"` 1213} 1214 1215func (*ExclusionRule_Dictionary) isExclusionRule_Type() {} 1216 1217func (*ExclusionRule_Regex) isExclusionRule_Type() {} 1218 1219func (*ExclusionRule_ExcludeInfoTypes) isExclusionRule_Type() {} 1220 1221// A single inspection rule to be applied to infoTypes, specified in 1222// `InspectionRuleSet`. 1223type InspectionRule struct { 1224 state protoimpl.MessageState 1225 sizeCache protoimpl.SizeCache 1226 unknownFields protoimpl.UnknownFields 1227 1228 // Inspection rule types. 1229 // 1230 // Types that are assignable to Type: 1231 // *InspectionRule_HotwordRule 1232 // *InspectionRule_ExclusionRule 1233 Type isInspectionRule_Type `protobuf_oneof:"type"` 1234} 1235 1236func (x *InspectionRule) Reset() { 1237 *x = InspectionRule{} 1238 if protoimpl.UnsafeEnabled { 1239 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[2] 1240 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1241 ms.StoreMessageInfo(mi) 1242 } 1243} 1244 1245func (x *InspectionRule) String() string { 1246 return protoimpl.X.MessageStringOf(x) 1247} 1248 1249func (*InspectionRule) ProtoMessage() {} 1250 1251func (x *InspectionRule) ProtoReflect() protoreflect.Message { 1252 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[2] 1253 if protoimpl.UnsafeEnabled && x != nil { 1254 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1255 if ms.LoadMessageInfo() == nil { 1256 ms.StoreMessageInfo(mi) 1257 } 1258 return ms 1259 } 1260 return mi.MessageOf(x) 1261} 1262 1263// Deprecated: Use InspectionRule.ProtoReflect.Descriptor instead. 1264func (*InspectionRule) Descriptor() ([]byte, []int) { 1265 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{2} 1266} 1267 1268func (m *InspectionRule) GetType() isInspectionRule_Type { 1269 if m != nil { 1270 return m.Type 1271 } 1272 return nil 1273} 1274 1275func (x *InspectionRule) GetHotwordRule() *CustomInfoType_DetectionRule_HotwordRule { 1276 if x, ok := x.GetType().(*InspectionRule_HotwordRule); ok { 1277 return x.HotwordRule 1278 } 1279 return nil 1280} 1281 1282func (x *InspectionRule) GetExclusionRule() *ExclusionRule { 1283 if x, ok := x.GetType().(*InspectionRule_ExclusionRule); ok { 1284 return x.ExclusionRule 1285 } 1286 return nil 1287} 1288 1289type isInspectionRule_Type interface { 1290 isInspectionRule_Type() 1291} 1292 1293type InspectionRule_HotwordRule struct { 1294 // Hotword-based detection rule. 1295 HotwordRule *CustomInfoType_DetectionRule_HotwordRule `protobuf:"bytes,1,opt,name=hotword_rule,json=hotwordRule,proto3,oneof"` 1296} 1297 1298type InspectionRule_ExclusionRule struct { 1299 // Exclusion rule. 1300 ExclusionRule *ExclusionRule `protobuf:"bytes,2,opt,name=exclusion_rule,json=exclusionRule,proto3,oneof"` 1301} 1302 1303func (*InspectionRule_HotwordRule) isInspectionRule_Type() {} 1304 1305func (*InspectionRule_ExclusionRule) isInspectionRule_Type() {} 1306 1307// Rule set for modifying a set of infoTypes to alter behavior under certain 1308// circumstances, depending on the specific details of the rules within the set. 1309type InspectionRuleSet struct { 1310 state protoimpl.MessageState 1311 sizeCache protoimpl.SizeCache 1312 unknownFields protoimpl.UnknownFields 1313 1314 // List of infoTypes this rule set is applied to. 1315 InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"` 1316 // Set of rules to be applied to infoTypes. The rules are applied in order. 1317 Rules []*InspectionRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` 1318} 1319 1320func (x *InspectionRuleSet) Reset() { 1321 *x = InspectionRuleSet{} 1322 if protoimpl.UnsafeEnabled { 1323 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[3] 1324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1325 ms.StoreMessageInfo(mi) 1326 } 1327} 1328 1329func (x *InspectionRuleSet) String() string { 1330 return protoimpl.X.MessageStringOf(x) 1331} 1332 1333func (*InspectionRuleSet) ProtoMessage() {} 1334 1335func (x *InspectionRuleSet) ProtoReflect() protoreflect.Message { 1336 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[3] 1337 if protoimpl.UnsafeEnabled && x != nil { 1338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1339 if ms.LoadMessageInfo() == nil { 1340 ms.StoreMessageInfo(mi) 1341 } 1342 return ms 1343 } 1344 return mi.MessageOf(x) 1345} 1346 1347// Deprecated: Use InspectionRuleSet.ProtoReflect.Descriptor instead. 1348func (*InspectionRuleSet) Descriptor() ([]byte, []int) { 1349 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{3} 1350} 1351 1352func (x *InspectionRuleSet) GetInfoTypes() []*InfoType { 1353 if x != nil { 1354 return x.InfoTypes 1355 } 1356 return nil 1357} 1358 1359func (x *InspectionRuleSet) GetRules() []*InspectionRule { 1360 if x != nil { 1361 return x.Rules 1362 } 1363 return nil 1364} 1365 1366// Configuration description of the scanning process. 1367// When used with redactContent only info_types and min_likelihood are currently 1368// used. 1369type InspectConfig struct { 1370 state protoimpl.MessageState 1371 sizeCache protoimpl.SizeCache 1372 unknownFields protoimpl.UnknownFields 1373 1374 // Restricts what info_types to look for. The values must correspond to 1375 // InfoType values returned by ListInfoTypes or listed at 1376 // https://cloud.google.com/dlp/docs/infotypes-reference. 1377 // 1378 // When no InfoTypes or CustomInfoTypes are specified in a request, the 1379 // system may automatically choose what detectors to run. By default this may 1380 // be all types, but may change over time as detectors are updated. 1381 // 1382 // If you need precise control and predictability as to what detectors are 1383 // run you should specify specific InfoTypes listed in the reference, 1384 // otherwise a default list will be used, which may change over time. 1385 InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"` 1386 // Only returns findings equal or above this threshold. The default is 1387 // POSSIBLE. 1388 // See https://cloud.google.com/dlp/docs/likelihood to learn more. 1389 MinLikelihood Likelihood `protobuf:"varint,2,opt,name=min_likelihood,json=minLikelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"min_likelihood,omitempty"` 1390 // Configuration to control the number of findings returned. 1391 Limits *InspectConfig_FindingLimits `protobuf:"bytes,3,opt,name=limits,proto3" json:"limits,omitempty"` 1392 // When true, a contextual quote from the data that triggered a finding is 1393 // included in the response; see Finding.quote. 1394 IncludeQuote bool `protobuf:"varint,4,opt,name=include_quote,json=includeQuote,proto3" json:"include_quote,omitempty"` 1395 // When true, excludes type information of the findings. 1396 ExcludeInfoTypes bool `protobuf:"varint,5,opt,name=exclude_info_types,json=excludeInfoTypes,proto3" json:"exclude_info_types,omitempty"` 1397 // CustomInfoTypes provided by the user. See 1398 // https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more. 1399 CustomInfoTypes []*CustomInfoType `protobuf:"bytes,6,rep,name=custom_info_types,json=customInfoTypes,proto3" json:"custom_info_types,omitempty"` 1400 // List of options defining data content to scan. 1401 // If empty, text, images, and other content will be included. 1402 ContentOptions []ContentOption `protobuf:"varint,8,rep,packed,name=content_options,json=contentOptions,proto3,enum=google.privacy.dlp.v2.ContentOption" json:"content_options,omitempty"` 1403 // Set of rules to apply to the findings for this InspectConfig. 1404 // Exclusion rules, contained in the set are executed in the end, other 1405 // rules are executed in the order they are specified for each info type. 1406 RuleSet []*InspectionRuleSet `protobuf:"bytes,10,rep,name=rule_set,json=ruleSet,proto3" json:"rule_set,omitempty"` 1407} 1408 1409func (x *InspectConfig) Reset() { 1410 *x = InspectConfig{} 1411 if protoimpl.UnsafeEnabled { 1412 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[4] 1413 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1414 ms.StoreMessageInfo(mi) 1415 } 1416} 1417 1418func (x *InspectConfig) String() string { 1419 return protoimpl.X.MessageStringOf(x) 1420} 1421 1422func (*InspectConfig) ProtoMessage() {} 1423 1424func (x *InspectConfig) ProtoReflect() protoreflect.Message { 1425 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[4] 1426 if protoimpl.UnsafeEnabled && x != nil { 1427 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1428 if ms.LoadMessageInfo() == nil { 1429 ms.StoreMessageInfo(mi) 1430 } 1431 return ms 1432 } 1433 return mi.MessageOf(x) 1434} 1435 1436// Deprecated: Use InspectConfig.ProtoReflect.Descriptor instead. 1437func (*InspectConfig) Descriptor() ([]byte, []int) { 1438 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{4} 1439} 1440 1441func (x *InspectConfig) GetInfoTypes() []*InfoType { 1442 if x != nil { 1443 return x.InfoTypes 1444 } 1445 return nil 1446} 1447 1448func (x *InspectConfig) GetMinLikelihood() Likelihood { 1449 if x != nil { 1450 return x.MinLikelihood 1451 } 1452 return Likelihood_LIKELIHOOD_UNSPECIFIED 1453} 1454 1455func (x *InspectConfig) GetLimits() *InspectConfig_FindingLimits { 1456 if x != nil { 1457 return x.Limits 1458 } 1459 return nil 1460} 1461 1462func (x *InspectConfig) GetIncludeQuote() bool { 1463 if x != nil { 1464 return x.IncludeQuote 1465 } 1466 return false 1467} 1468 1469func (x *InspectConfig) GetExcludeInfoTypes() bool { 1470 if x != nil { 1471 return x.ExcludeInfoTypes 1472 } 1473 return false 1474} 1475 1476func (x *InspectConfig) GetCustomInfoTypes() []*CustomInfoType { 1477 if x != nil { 1478 return x.CustomInfoTypes 1479 } 1480 return nil 1481} 1482 1483func (x *InspectConfig) GetContentOptions() []ContentOption { 1484 if x != nil { 1485 return x.ContentOptions 1486 } 1487 return nil 1488} 1489 1490func (x *InspectConfig) GetRuleSet() []*InspectionRuleSet { 1491 if x != nil { 1492 return x.RuleSet 1493 } 1494 return nil 1495} 1496 1497// Container for bytes to inspect or redact. 1498type ByteContentItem struct { 1499 state protoimpl.MessageState 1500 sizeCache protoimpl.SizeCache 1501 unknownFields protoimpl.UnknownFields 1502 1503 // The type of data stored in the bytes string. Default will be TEXT_UTF8. 1504 Type ByteContentItem_BytesType `protobuf:"varint,1,opt,name=type,proto3,enum=google.privacy.dlp.v2.ByteContentItem_BytesType" json:"type,omitempty"` 1505 // Content data to inspect or redact. 1506 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` 1507} 1508 1509func (x *ByteContentItem) Reset() { 1510 *x = ByteContentItem{} 1511 if protoimpl.UnsafeEnabled { 1512 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[5] 1513 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1514 ms.StoreMessageInfo(mi) 1515 } 1516} 1517 1518func (x *ByteContentItem) String() string { 1519 return protoimpl.X.MessageStringOf(x) 1520} 1521 1522func (*ByteContentItem) ProtoMessage() {} 1523 1524func (x *ByteContentItem) ProtoReflect() protoreflect.Message { 1525 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[5] 1526 if protoimpl.UnsafeEnabled && x != nil { 1527 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1528 if ms.LoadMessageInfo() == nil { 1529 ms.StoreMessageInfo(mi) 1530 } 1531 return ms 1532 } 1533 return mi.MessageOf(x) 1534} 1535 1536// Deprecated: Use ByteContentItem.ProtoReflect.Descriptor instead. 1537func (*ByteContentItem) Descriptor() ([]byte, []int) { 1538 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{5} 1539} 1540 1541func (x *ByteContentItem) GetType() ByteContentItem_BytesType { 1542 if x != nil { 1543 return x.Type 1544 } 1545 return ByteContentItem_BYTES_TYPE_UNSPECIFIED 1546} 1547 1548func (x *ByteContentItem) GetData() []byte { 1549 if x != nil { 1550 return x.Data 1551 } 1552 return nil 1553} 1554 1555// Container structure for the content to inspect. 1556type ContentItem struct { 1557 state protoimpl.MessageState 1558 sizeCache protoimpl.SizeCache 1559 unknownFields protoimpl.UnknownFields 1560 1561 // Data of the item either in the byte array or UTF-8 string form, or table. 1562 // 1563 // Types that are assignable to DataItem: 1564 // *ContentItem_Value 1565 // *ContentItem_Table 1566 // *ContentItem_ByteItem 1567 DataItem isContentItem_DataItem `protobuf_oneof:"data_item"` 1568} 1569 1570func (x *ContentItem) Reset() { 1571 *x = ContentItem{} 1572 if protoimpl.UnsafeEnabled { 1573 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[6] 1574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1575 ms.StoreMessageInfo(mi) 1576 } 1577} 1578 1579func (x *ContentItem) String() string { 1580 return protoimpl.X.MessageStringOf(x) 1581} 1582 1583func (*ContentItem) ProtoMessage() {} 1584 1585func (x *ContentItem) ProtoReflect() protoreflect.Message { 1586 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[6] 1587 if protoimpl.UnsafeEnabled && x != nil { 1588 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1589 if ms.LoadMessageInfo() == nil { 1590 ms.StoreMessageInfo(mi) 1591 } 1592 return ms 1593 } 1594 return mi.MessageOf(x) 1595} 1596 1597// Deprecated: Use ContentItem.ProtoReflect.Descriptor instead. 1598func (*ContentItem) Descriptor() ([]byte, []int) { 1599 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{6} 1600} 1601 1602func (m *ContentItem) GetDataItem() isContentItem_DataItem { 1603 if m != nil { 1604 return m.DataItem 1605 } 1606 return nil 1607} 1608 1609func (x *ContentItem) GetValue() string { 1610 if x, ok := x.GetDataItem().(*ContentItem_Value); ok { 1611 return x.Value 1612 } 1613 return "" 1614} 1615 1616func (x *ContentItem) GetTable() *Table { 1617 if x, ok := x.GetDataItem().(*ContentItem_Table); ok { 1618 return x.Table 1619 } 1620 return nil 1621} 1622 1623func (x *ContentItem) GetByteItem() *ByteContentItem { 1624 if x, ok := x.GetDataItem().(*ContentItem_ByteItem); ok { 1625 return x.ByteItem 1626 } 1627 return nil 1628} 1629 1630type isContentItem_DataItem interface { 1631 isContentItem_DataItem() 1632} 1633 1634type ContentItem_Value struct { 1635 // String data to inspect or redact. 1636 Value string `protobuf:"bytes,3,opt,name=value,proto3,oneof"` 1637} 1638 1639type ContentItem_Table struct { 1640 // Structured content for inspection. See 1641 // https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to 1642 // learn more. 1643 Table *Table `protobuf:"bytes,4,opt,name=table,proto3,oneof"` 1644} 1645 1646type ContentItem_ByteItem struct { 1647 // Content data to inspect or redact. Replaces `type` and `data`. 1648 ByteItem *ByteContentItem `protobuf:"bytes,5,opt,name=byte_item,json=byteItem,proto3,oneof"` 1649} 1650 1651func (*ContentItem_Value) isContentItem_DataItem() {} 1652 1653func (*ContentItem_Table) isContentItem_DataItem() {} 1654 1655func (*ContentItem_ByteItem) isContentItem_DataItem() {} 1656 1657// Structured content to inspect. Up to 50,000 `Value`s per request allowed. 1658// See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to 1659// learn more. 1660type Table struct { 1661 state protoimpl.MessageState 1662 sizeCache protoimpl.SizeCache 1663 unknownFields protoimpl.UnknownFields 1664 1665 // Headers of the table. 1666 Headers []*FieldId `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` 1667 // Rows of the table. 1668 Rows []*Table_Row `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"` 1669} 1670 1671func (x *Table) Reset() { 1672 *x = Table{} 1673 if protoimpl.UnsafeEnabled { 1674 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[7] 1675 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1676 ms.StoreMessageInfo(mi) 1677 } 1678} 1679 1680func (x *Table) String() string { 1681 return protoimpl.X.MessageStringOf(x) 1682} 1683 1684func (*Table) ProtoMessage() {} 1685 1686func (x *Table) ProtoReflect() protoreflect.Message { 1687 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[7] 1688 if protoimpl.UnsafeEnabled && x != nil { 1689 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1690 if ms.LoadMessageInfo() == nil { 1691 ms.StoreMessageInfo(mi) 1692 } 1693 return ms 1694 } 1695 return mi.MessageOf(x) 1696} 1697 1698// Deprecated: Use Table.ProtoReflect.Descriptor instead. 1699func (*Table) Descriptor() ([]byte, []int) { 1700 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{7} 1701} 1702 1703func (x *Table) GetHeaders() []*FieldId { 1704 if x != nil { 1705 return x.Headers 1706 } 1707 return nil 1708} 1709 1710func (x *Table) GetRows() []*Table_Row { 1711 if x != nil { 1712 return x.Rows 1713 } 1714 return nil 1715} 1716 1717// All the findings for a single scanned item. 1718type InspectResult struct { 1719 state protoimpl.MessageState 1720 sizeCache protoimpl.SizeCache 1721 unknownFields protoimpl.UnknownFields 1722 1723 // List of findings for an item. 1724 Findings []*Finding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"` 1725 // If true, then this item might have more findings than were returned, 1726 // and the findings returned are an arbitrary subset of all findings. 1727 // The findings list might be truncated because the input items were too 1728 // large, or because the server reached the maximum amount of resources 1729 // allowed for a single API call. For best results, divide the input into 1730 // smaller batches. 1731 FindingsTruncated bool `protobuf:"varint,2,opt,name=findings_truncated,json=findingsTruncated,proto3" json:"findings_truncated,omitempty"` 1732} 1733 1734func (x *InspectResult) Reset() { 1735 *x = InspectResult{} 1736 if protoimpl.UnsafeEnabled { 1737 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[8] 1738 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1739 ms.StoreMessageInfo(mi) 1740 } 1741} 1742 1743func (x *InspectResult) String() string { 1744 return protoimpl.X.MessageStringOf(x) 1745} 1746 1747func (*InspectResult) ProtoMessage() {} 1748 1749func (x *InspectResult) ProtoReflect() protoreflect.Message { 1750 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[8] 1751 if protoimpl.UnsafeEnabled && x != nil { 1752 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1753 if ms.LoadMessageInfo() == nil { 1754 ms.StoreMessageInfo(mi) 1755 } 1756 return ms 1757 } 1758 return mi.MessageOf(x) 1759} 1760 1761// Deprecated: Use InspectResult.ProtoReflect.Descriptor instead. 1762func (*InspectResult) Descriptor() ([]byte, []int) { 1763 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{8} 1764} 1765 1766func (x *InspectResult) GetFindings() []*Finding { 1767 if x != nil { 1768 return x.Findings 1769 } 1770 return nil 1771} 1772 1773func (x *InspectResult) GetFindingsTruncated() bool { 1774 if x != nil { 1775 return x.FindingsTruncated 1776 } 1777 return false 1778} 1779 1780// Represents a piece of potentially sensitive content. 1781type Finding struct { 1782 state protoimpl.MessageState 1783 sizeCache protoimpl.SizeCache 1784 unknownFields protoimpl.UnknownFields 1785 1786 // Resource name in format 1787 // projects/{project}/locations/{location}/findings/{finding} Populated only 1788 // when viewing persisted findings. 1789 Name string `protobuf:"bytes,14,opt,name=name,proto3" json:"name,omitempty"` 1790 // The content that was found. Even if the content is not textual, it 1791 // may be converted to a textual representation here. 1792 // Provided if `include_quote` is true and the finding is 1793 // less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes 1794 // in length, the quote may be omitted. 1795 Quote string `protobuf:"bytes,1,opt,name=quote,proto3" json:"quote,omitempty"` 1796 // The type of content that might have been found. 1797 // Provided if `excluded_types` is false. 1798 InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"` 1799 // Confidence of how likely it is that the `info_type` is correct. 1800 Likelihood Likelihood `protobuf:"varint,3,opt,name=likelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"likelihood,omitempty"` 1801 // Where the content was found. 1802 Location *Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` 1803 // Timestamp when finding was detected. 1804 CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 1805 // Contains data parsed from quotes. Only populated if include_quote was set 1806 // to true and a supported infoType was requested. Currently supported 1807 // infoTypes: DATE, DATE_OF_BIRTH and TIME. 1808 QuoteInfo *QuoteInfo `protobuf:"bytes,7,opt,name=quote_info,json=quoteInfo,proto3" json:"quote_info,omitempty"` 1809 // The job that stored the finding. 1810 ResourceName string `protobuf:"bytes,8,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` 1811 // Job trigger name, if applicable, for this finding. 1812 TriggerName string `protobuf:"bytes,9,opt,name=trigger_name,json=triggerName,proto3" json:"trigger_name,omitempty"` 1813 // The labels associated with this `Finding`. 1814 // 1815 // Label keys must be between 1 and 63 characters long and must conform 1816 // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. 1817 // 1818 // Label values must be between 0 and 63 characters long and must conform 1819 // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. 1820 // 1821 // No more than 10 labels can be associated with a given finding. 1822 // 1823 // Examples: 1824 // * `"environment" : "production"` 1825 // * `"pipeline" : "etl"` 1826 Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1827 // Time the job started that produced this finding. 1828 JobCreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=job_create_time,json=jobCreateTime,proto3" json:"job_create_time,omitempty"` 1829 // The job that stored the finding. 1830 JobName string `protobuf:"bytes,13,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` 1831} 1832 1833func (x *Finding) Reset() { 1834 *x = Finding{} 1835 if protoimpl.UnsafeEnabled { 1836 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[9] 1837 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1838 ms.StoreMessageInfo(mi) 1839 } 1840} 1841 1842func (x *Finding) String() string { 1843 return protoimpl.X.MessageStringOf(x) 1844} 1845 1846func (*Finding) ProtoMessage() {} 1847 1848func (x *Finding) ProtoReflect() protoreflect.Message { 1849 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[9] 1850 if protoimpl.UnsafeEnabled && x != nil { 1851 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1852 if ms.LoadMessageInfo() == nil { 1853 ms.StoreMessageInfo(mi) 1854 } 1855 return ms 1856 } 1857 return mi.MessageOf(x) 1858} 1859 1860// Deprecated: Use Finding.ProtoReflect.Descriptor instead. 1861func (*Finding) Descriptor() ([]byte, []int) { 1862 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{9} 1863} 1864 1865func (x *Finding) GetName() string { 1866 if x != nil { 1867 return x.Name 1868 } 1869 return "" 1870} 1871 1872func (x *Finding) GetQuote() string { 1873 if x != nil { 1874 return x.Quote 1875 } 1876 return "" 1877} 1878 1879func (x *Finding) GetInfoType() *InfoType { 1880 if x != nil { 1881 return x.InfoType 1882 } 1883 return nil 1884} 1885 1886func (x *Finding) GetLikelihood() Likelihood { 1887 if x != nil { 1888 return x.Likelihood 1889 } 1890 return Likelihood_LIKELIHOOD_UNSPECIFIED 1891} 1892 1893func (x *Finding) GetLocation() *Location { 1894 if x != nil { 1895 return x.Location 1896 } 1897 return nil 1898} 1899 1900func (x *Finding) GetCreateTime() *timestamppb.Timestamp { 1901 if x != nil { 1902 return x.CreateTime 1903 } 1904 return nil 1905} 1906 1907func (x *Finding) GetQuoteInfo() *QuoteInfo { 1908 if x != nil { 1909 return x.QuoteInfo 1910 } 1911 return nil 1912} 1913 1914func (x *Finding) GetResourceName() string { 1915 if x != nil { 1916 return x.ResourceName 1917 } 1918 return "" 1919} 1920 1921func (x *Finding) GetTriggerName() string { 1922 if x != nil { 1923 return x.TriggerName 1924 } 1925 return "" 1926} 1927 1928func (x *Finding) GetLabels() map[string]string { 1929 if x != nil { 1930 return x.Labels 1931 } 1932 return nil 1933} 1934 1935func (x *Finding) GetJobCreateTime() *timestamppb.Timestamp { 1936 if x != nil { 1937 return x.JobCreateTime 1938 } 1939 return nil 1940} 1941 1942func (x *Finding) GetJobName() string { 1943 if x != nil { 1944 return x.JobName 1945 } 1946 return "" 1947} 1948 1949// Specifies the location of the finding. 1950type Location struct { 1951 state protoimpl.MessageState 1952 sizeCache protoimpl.SizeCache 1953 unknownFields protoimpl.UnknownFields 1954 1955 // Zero-based byte offsets delimiting the finding. 1956 // These are relative to the finding's containing element. 1957 // Note that when the content is not textual, this references 1958 // the UTF-8 encoded textual representation of the content. 1959 // Omitted if content is an image. 1960 ByteRange *Range `protobuf:"bytes,1,opt,name=byte_range,json=byteRange,proto3" json:"byte_range,omitempty"` 1961 // Unicode character offsets delimiting the finding. 1962 // These are relative to the finding's containing element. 1963 // Provided when the content is text. 1964 CodepointRange *Range `protobuf:"bytes,2,opt,name=codepoint_range,json=codepointRange,proto3" json:"codepoint_range,omitempty"` 1965 // List of nested objects pointing to the precise location of the finding 1966 // within the file or record. 1967 ContentLocations []*ContentLocation `protobuf:"bytes,7,rep,name=content_locations,json=contentLocations,proto3" json:"content_locations,omitempty"` 1968 // Information about the container where this finding occurred, if available. 1969 Container *Container `protobuf:"bytes,8,opt,name=container,proto3" json:"container,omitempty"` 1970} 1971 1972func (x *Location) Reset() { 1973 *x = Location{} 1974 if protoimpl.UnsafeEnabled { 1975 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[10] 1976 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1977 ms.StoreMessageInfo(mi) 1978 } 1979} 1980 1981func (x *Location) String() string { 1982 return protoimpl.X.MessageStringOf(x) 1983} 1984 1985func (*Location) ProtoMessage() {} 1986 1987func (x *Location) ProtoReflect() protoreflect.Message { 1988 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[10] 1989 if protoimpl.UnsafeEnabled && x != nil { 1990 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1991 if ms.LoadMessageInfo() == nil { 1992 ms.StoreMessageInfo(mi) 1993 } 1994 return ms 1995 } 1996 return mi.MessageOf(x) 1997} 1998 1999// Deprecated: Use Location.ProtoReflect.Descriptor instead. 2000func (*Location) Descriptor() ([]byte, []int) { 2001 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{10} 2002} 2003 2004func (x *Location) GetByteRange() *Range { 2005 if x != nil { 2006 return x.ByteRange 2007 } 2008 return nil 2009} 2010 2011func (x *Location) GetCodepointRange() *Range { 2012 if x != nil { 2013 return x.CodepointRange 2014 } 2015 return nil 2016} 2017 2018func (x *Location) GetContentLocations() []*ContentLocation { 2019 if x != nil { 2020 return x.ContentLocations 2021 } 2022 return nil 2023} 2024 2025func (x *Location) GetContainer() *Container { 2026 if x != nil { 2027 return x.Container 2028 } 2029 return nil 2030} 2031 2032// Precise location of the finding within a document, record, image, or metadata 2033// container. 2034type ContentLocation struct { 2035 state protoimpl.MessageState 2036 sizeCache protoimpl.SizeCache 2037 unknownFields protoimpl.UnknownFields 2038 2039 // Name of the container where the finding is located. 2040 // The top level name is the source file name or table name. Names of some 2041 // common storage containers are formatted as follows: 2042 // 2043 // * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` 2044 // * Cloud Storage files: `gs://{bucket}/{path}` 2045 // * Datastore namespace: {namespace} 2046 // 2047 // Nested names could be absent if the embedded object has no string 2048 // identifier (for an example an image contained within a document). 2049 ContainerName string `protobuf:"bytes,1,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` 2050 // Type of the container within the file with location of the finding. 2051 // 2052 // Types that are assignable to Location: 2053 // *ContentLocation_RecordLocation 2054 // *ContentLocation_ImageLocation 2055 // *ContentLocation_DocumentLocation 2056 // *ContentLocation_MetadataLocation 2057 Location isContentLocation_Location `protobuf_oneof:"location"` 2058 // Findings container modification timestamp, if applicable. 2059 // For Google Cloud Storage contains last file modification timestamp. 2060 // For BigQuery table contains last_modified_time property. 2061 // For Datastore - not populated. 2062 ContainerTimestamp *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=container_timestamp,json=containerTimestamp,proto3" json:"container_timestamp,omitempty"` 2063 // Findings container version, if available 2064 // ("generation" for Google Cloud Storage). 2065 ContainerVersion string `protobuf:"bytes,7,opt,name=container_version,json=containerVersion,proto3" json:"container_version,omitempty"` 2066} 2067 2068func (x *ContentLocation) Reset() { 2069 *x = ContentLocation{} 2070 if protoimpl.UnsafeEnabled { 2071 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[11] 2072 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2073 ms.StoreMessageInfo(mi) 2074 } 2075} 2076 2077func (x *ContentLocation) String() string { 2078 return protoimpl.X.MessageStringOf(x) 2079} 2080 2081func (*ContentLocation) ProtoMessage() {} 2082 2083func (x *ContentLocation) ProtoReflect() protoreflect.Message { 2084 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[11] 2085 if protoimpl.UnsafeEnabled && x != nil { 2086 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2087 if ms.LoadMessageInfo() == nil { 2088 ms.StoreMessageInfo(mi) 2089 } 2090 return ms 2091 } 2092 return mi.MessageOf(x) 2093} 2094 2095// Deprecated: Use ContentLocation.ProtoReflect.Descriptor instead. 2096func (*ContentLocation) Descriptor() ([]byte, []int) { 2097 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{11} 2098} 2099 2100func (x *ContentLocation) GetContainerName() string { 2101 if x != nil { 2102 return x.ContainerName 2103 } 2104 return "" 2105} 2106 2107func (m *ContentLocation) GetLocation() isContentLocation_Location { 2108 if m != nil { 2109 return m.Location 2110 } 2111 return nil 2112} 2113 2114func (x *ContentLocation) GetRecordLocation() *RecordLocation { 2115 if x, ok := x.GetLocation().(*ContentLocation_RecordLocation); ok { 2116 return x.RecordLocation 2117 } 2118 return nil 2119} 2120 2121func (x *ContentLocation) GetImageLocation() *ImageLocation { 2122 if x, ok := x.GetLocation().(*ContentLocation_ImageLocation); ok { 2123 return x.ImageLocation 2124 } 2125 return nil 2126} 2127 2128func (x *ContentLocation) GetDocumentLocation() *DocumentLocation { 2129 if x, ok := x.GetLocation().(*ContentLocation_DocumentLocation); ok { 2130 return x.DocumentLocation 2131 } 2132 return nil 2133} 2134 2135func (x *ContentLocation) GetMetadataLocation() *MetadataLocation { 2136 if x, ok := x.GetLocation().(*ContentLocation_MetadataLocation); ok { 2137 return x.MetadataLocation 2138 } 2139 return nil 2140} 2141 2142func (x *ContentLocation) GetContainerTimestamp() *timestamppb.Timestamp { 2143 if x != nil { 2144 return x.ContainerTimestamp 2145 } 2146 return nil 2147} 2148 2149func (x *ContentLocation) GetContainerVersion() string { 2150 if x != nil { 2151 return x.ContainerVersion 2152 } 2153 return "" 2154} 2155 2156type isContentLocation_Location interface { 2157 isContentLocation_Location() 2158} 2159 2160type ContentLocation_RecordLocation struct { 2161 // Location within a row or record of a database table. 2162 RecordLocation *RecordLocation `protobuf:"bytes,2,opt,name=record_location,json=recordLocation,proto3,oneof"` 2163} 2164 2165type ContentLocation_ImageLocation struct { 2166 // Location within an image's pixels. 2167 ImageLocation *ImageLocation `protobuf:"bytes,3,opt,name=image_location,json=imageLocation,proto3,oneof"` 2168} 2169 2170type ContentLocation_DocumentLocation struct { 2171 // Location data for document files. 2172 DocumentLocation *DocumentLocation `protobuf:"bytes,5,opt,name=document_location,json=documentLocation,proto3,oneof"` 2173} 2174 2175type ContentLocation_MetadataLocation struct { 2176 // Location within the metadata for inspected content. 2177 MetadataLocation *MetadataLocation `protobuf:"bytes,8,opt,name=metadata_location,json=metadataLocation,proto3,oneof"` 2178} 2179 2180func (*ContentLocation_RecordLocation) isContentLocation_Location() {} 2181 2182func (*ContentLocation_ImageLocation) isContentLocation_Location() {} 2183 2184func (*ContentLocation_DocumentLocation) isContentLocation_Location() {} 2185 2186func (*ContentLocation_MetadataLocation) isContentLocation_Location() {} 2187 2188// Metadata Location 2189type MetadataLocation struct { 2190 state protoimpl.MessageState 2191 sizeCache protoimpl.SizeCache 2192 unknownFields protoimpl.UnknownFields 2193 2194 // Type of metadata containing the finding. 2195 Type MetadataType `protobuf:"varint,1,opt,name=type,proto3,enum=google.privacy.dlp.v2.MetadataType" json:"type,omitempty"` 2196 // Label of the piece of metadata containing the finding, for example - 2197 // latitude, author, caption. 2198 // 2199 // Types that are assignable to Label: 2200 // *MetadataLocation_StorageLabel 2201 Label isMetadataLocation_Label `protobuf_oneof:"label"` 2202} 2203 2204func (x *MetadataLocation) Reset() { 2205 *x = MetadataLocation{} 2206 if protoimpl.UnsafeEnabled { 2207 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[12] 2208 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2209 ms.StoreMessageInfo(mi) 2210 } 2211} 2212 2213func (x *MetadataLocation) String() string { 2214 return protoimpl.X.MessageStringOf(x) 2215} 2216 2217func (*MetadataLocation) ProtoMessage() {} 2218 2219func (x *MetadataLocation) ProtoReflect() protoreflect.Message { 2220 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[12] 2221 if protoimpl.UnsafeEnabled && x != nil { 2222 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2223 if ms.LoadMessageInfo() == nil { 2224 ms.StoreMessageInfo(mi) 2225 } 2226 return ms 2227 } 2228 return mi.MessageOf(x) 2229} 2230 2231// Deprecated: Use MetadataLocation.ProtoReflect.Descriptor instead. 2232func (*MetadataLocation) Descriptor() ([]byte, []int) { 2233 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{12} 2234} 2235 2236func (x *MetadataLocation) GetType() MetadataType { 2237 if x != nil { 2238 return x.Type 2239 } 2240 return MetadataType_METADATATYPE_UNSPECIFIED 2241} 2242 2243func (m *MetadataLocation) GetLabel() isMetadataLocation_Label { 2244 if m != nil { 2245 return m.Label 2246 } 2247 return nil 2248} 2249 2250func (x *MetadataLocation) GetStorageLabel() *StorageMetadataLabel { 2251 if x, ok := x.GetLabel().(*MetadataLocation_StorageLabel); ok { 2252 return x.StorageLabel 2253 } 2254 return nil 2255} 2256 2257type isMetadataLocation_Label interface { 2258 isMetadataLocation_Label() 2259} 2260 2261type MetadataLocation_StorageLabel struct { 2262 // Storage metadata. 2263 StorageLabel *StorageMetadataLabel `protobuf:"bytes,3,opt,name=storage_label,json=storageLabel,proto3,oneof"` 2264} 2265 2266func (*MetadataLocation_StorageLabel) isMetadataLocation_Label() {} 2267 2268// Storage metadata label to indicate which metadata entry contains findings. 2269type StorageMetadataLabel struct { 2270 state protoimpl.MessageState 2271 sizeCache protoimpl.SizeCache 2272 unknownFields protoimpl.UnknownFields 2273 2274 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 2275} 2276 2277func (x *StorageMetadataLabel) Reset() { 2278 *x = StorageMetadataLabel{} 2279 if protoimpl.UnsafeEnabled { 2280 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[13] 2281 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2282 ms.StoreMessageInfo(mi) 2283 } 2284} 2285 2286func (x *StorageMetadataLabel) String() string { 2287 return protoimpl.X.MessageStringOf(x) 2288} 2289 2290func (*StorageMetadataLabel) ProtoMessage() {} 2291 2292func (x *StorageMetadataLabel) ProtoReflect() protoreflect.Message { 2293 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[13] 2294 if protoimpl.UnsafeEnabled && x != nil { 2295 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2296 if ms.LoadMessageInfo() == nil { 2297 ms.StoreMessageInfo(mi) 2298 } 2299 return ms 2300 } 2301 return mi.MessageOf(x) 2302} 2303 2304// Deprecated: Use StorageMetadataLabel.ProtoReflect.Descriptor instead. 2305func (*StorageMetadataLabel) Descriptor() ([]byte, []int) { 2306 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{13} 2307} 2308 2309func (x *StorageMetadataLabel) GetKey() string { 2310 if x != nil { 2311 return x.Key 2312 } 2313 return "" 2314} 2315 2316// Location of a finding within a document. 2317type DocumentLocation struct { 2318 state protoimpl.MessageState 2319 sizeCache protoimpl.SizeCache 2320 unknownFields protoimpl.UnknownFields 2321 2322 // Offset of the line, from the beginning of the file, where the finding 2323 // is located. 2324 FileOffset int64 `protobuf:"varint,1,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"` 2325} 2326 2327func (x *DocumentLocation) Reset() { 2328 *x = DocumentLocation{} 2329 if protoimpl.UnsafeEnabled { 2330 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[14] 2331 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2332 ms.StoreMessageInfo(mi) 2333 } 2334} 2335 2336func (x *DocumentLocation) String() string { 2337 return protoimpl.X.MessageStringOf(x) 2338} 2339 2340func (*DocumentLocation) ProtoMessage() {} 2341 2342func (x *DocumentLocation) ProtoReflect() protoreflect.Message { 2343 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[14] 2344 if protoimpl.UnsafeEnabled && x != nil { 2345 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2346 if ms.LoadMessageInfo() == nil { 2347 ms.StoreMessageInfo(mi) 2348 } 2349 return ms 2350 } 2351 return mi.MessageOf(x) 2352} 2353 2354// Deprecated: Use DocumentLocation.ProtoReflect.Descriptor instead. 2355func (*DocumentLocation) Descriptor() ([]byte, []int) { 2356 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{14} 2357} 2358 2359func (x *DocumentLocation) GetFileOffset() int64 { 2360 if x != nil { 2361 return x.FileOffset 2362 } 2363 return 0 2364} 2365 2366// Location of a finding within a row or record. 2367type RecordLocation struct { 2368 state protoimpl.MessageState 2369 sizeCache protoimpl.SizeCache 2370 unknownFields protoimpl.UnknownFields 2371 2372 // Key of the finding. 2373 RecordKey *RecordKey `protobuf:"bytes,1,opt,name=record_key,json=recordKey,proto3" json:"record_key,omitempty"` 2374 // Field id of the field containing the finding. 2375 FieldId *FieldId `protobuf:"bytes,2,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"` 2376 // Location within a `ContentItem.Table`. 2377 TableLocation *TableLocation `protobuf:"bytes,3,opt,name=table_location,json=tableLocation,proto3" json:"table_location,omitempty"` 2378} 2379 2380func (x *RecordLocation) Reset() { 2381 *x = RecordLocation{} 2382 if protoimpl.UnsafeEnabled { 2383 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[15] 2384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2385 ms.StoreMessageInfo(mi) 2386 } 2387} 2388 2389func (x *RecordLocation) String() string { 2390 return protoimpl.X.MessageStringOf(x) 2391} 2392 2393func (*RecordLocation) ProtoMessage() {} 2394 2395func (x *RecordLocation) ProtoReflect() protoreflect.Message { 2396 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[15] 2397 if protoimpl.UnsafeEnabled && x != nil { 2398 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2399 if ms.LoadMessageInfo() == nil { 2400 ms.StoreMessageInfo(mi) 2401 } 2402 return ms 2403 } 2404 return mi.MessageOf(x) 2405} 2406 2407// Deprecated: Use RecordLocation.ProtoReflect.Descriptor instead. 2408func (*RecordLocation) Descriptor() ([]byte, []int) { 2409 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{15} 2410} 2411 2412func (x *RecordLocation) GetRecordKey() *RecordKey { 2413 if x != nil { 2414 return x.RecordKey 2415 } 2416 return nil 2417} 2418 2419func (x *RecordLocation) GetFieldId() *FieldId { 2420 if x != nil { 2421 return x.FieldId 2422 } 2423 return nil 2424} 2425 2426func (x *RecordLocation) GetTableLocation() *TableLocation { 2427 if x != nil { 2428 return x.TableLocation 2429 } 2430 return nil 2431} 2432 2433// Location of a finding within a table. 2434type TableLocation struct { 2435 state protoimpl.MessageState 2436 sizeCache protoimpl.SizeCache 2437 unknownFields protoimpl.UnknownFields 2438 2439 // The zero-based index of the row where the finding is located. Only 2440 // populated for resources that have a natural ordering, not BigQuery. In 2441 // BigQuery, to identify the row a finding came from, populate 2442 // BigQueryOptions.identifying_fields with your primary key column names and 2443 // when you store the findings the value of those columns will be stored 2444 // inside of Finding. 2445 RowIndex int64 `protobuf:"varint,1,opt,name=row_index,json=rowIndex,proto3" json:"row_index,omitempty"` 2446} 2447 2448func (x *TableLocation) Reset() { 2449 *x = TableLocation{} 2450 if protoimpl.UnsafeEnabled { 2451 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[16] 2452 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2453 ms.StoreMessageInfo(mi) 2454 } 2455} 2456 2457func (x *TableLocation) String() string { 2458 return protoimpl.X.MessageStringOf(x) 2459} 2460 2461func (*TableLocation) ProtoMessage() {} 2462 2463func (x *TableLocation) ProtoReflect() protoreflect.Message { 2464 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[16] 2465 if protoimpl.UnsafeEnabled && x != nil { 2466 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2467 if ms.LoadMessageInfo() == nil { 2468 ms.StoreMessageInfo(mi) 2469 } 2470 return ms 2471 } 2472 return mi.MessageOf(x) 2473} 2474 2475// Deprecated: Use TableLocation.ProtoReflect.Descriptor instead. 2476func (*TableLocation) Descriptor() ([]byte, []int) { 2477 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{16} 2478} 2479 2480func (x *TableLocation) GetRowIndex() int64 { 2481 if x != nil { 2482 return x.RowIndex 2483 } 2484 return 0 2485} 2486 2487// Represents a container that may contain DLP findings. 2488// Examples of a container include a file, table, or database record. 2489type Container struct { 2490 state protoimpl.MessageState 2491 sizeCache protoimpl.SizeCache 2492 unknownFields protoimpl.UnknownFields 2493 2494 // Container type, for example BigQuery or Google Cloud Storage. 2495 Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` 2496 // Project where the finding was found. 2497 // Can be different from the project that owns the finding. 2498 ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` 2499 // A string representation of the full container name. 2500 // Examples: 2501 // - BigQuery: 'Project:DataSetId.TableId' 2502 // - Google Cloud Storage: 'gs://Bucket/folders/filename.txt' 2503 FullPath string `protobuf:"bytes,3,opt,name=full_path,json=fullPath,proto3" json:"full_path,omitempty"` 2504 // The root of the container. 2505 // Examples: 2506 // - For BigQuery table `project_id:dataset_id.table_id`, the root is 2507 // `dataset_id` 2508 // - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root 2509 // is `gs://bucket` 2510 RootPath string `protobuf:"bytes,4,opt,name=root_path,json=rootPath,proto3" json:"root_path,omitempty"` 2511 // The rest of the path after the root. 2512 // Examples: 2513 // - For BigQuery table `project_id:dataset_id.table_id`, the relative path is 2514 // `table_id` 2515 // - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative 2516 // path is `folder/filename.txt` 2517 RelativePath string `protobuf:"bytes,5,opt,name=relative_path,json=relativePath,proto3" json:"relative_path,omitempty"` 2518 // Findings container modification timestamp, if applicable. 2519 // For Google Cloud Storage contains last file modification timestamp. 2520 // For BigQuery table contains last_modified_time property. 2521 // For Datastore - not populated. 2522 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 2523 // Findings container version, if available 2524 // ("generation" for Google Cloud Storage). 2525 Version string `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"` 2526} 2527 2528func (x *Container) Reset() { 2529 *x = Container{} 2530 if protoimpl.UnsafeEnabled { 2531 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[17] 2532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2533 ms.StoreMessageInfo(mi) 2534 } 2535} 2536 2537func (x *Container) String() string { 2538 return protoimpl.X.MessageStringOf(x) 2539} 2540 2541func (*Container) ProtoMessage() {} 2542 2543func (x *Container) ProtoReflect() protoreflect.Message { 2544 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[17] 2545 if protoimpl.UnsafeEnabled && x != nil { 2546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2547 if ms.LoadMessageInfo() == nil { 2548 ms.StoreMessageInfo(mi) 2549 } 2550 return ms 2551 } 2552 return mi.MessageOf(x) 2553} 2554 2555// Deprecated: Use Container.ProtoReflect.Descriptor instead. 2556func (*Container) Descriptor() ([]byte, []int) { 2557 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{17} 2558} 2559 2560func (x *Container) GetType() string { 2561 if x != nil { 2562 return x.Type 2563 } 2564 return "" 2565} 2566 2567func (x *Container) GetProjectId() string { 2568 if x != nil { 2569 return x.ProjectId 2570 } 2571 return "" 2572} 2573 2574func (x *Container) GetFullPath() string { 2575 if x != nil { 2576 return x.FullPath 2577 } 2578 return "" 2579} 2580 2581func (x *Container) GetRootPath() string { 2582 if x != nil { 2583 return x.RootPath 2584 } 2585 return "" 2586} 2587 2588func (x *Container) GetRelativePath() string { 2589 if x != nil { 2590 return x.RelativePath 2591 } 2592 return "" 2593} 2594 2595func (x *Container) GetUpdateTime() *timestamppb.Timestamp { 2596 if x != nil { 2597 return x.UpdateTime 2598 } 2599 return nil 2600} 2601 2602func (x *Container) GetVersion() string { 2603 if x != nil { 2604 return x.Version 2605 } 2606 return "" 2607} 2608 2609// Generic half-open interval [start, end) 2610type Range struct { 2611 state protoimpl.MessageState 2612 sizeCache protoimpl.SizeCache 2613 unknownFields protoimpl.UnknownFields 2614 2615 // Index of the first character of the range (inclusive). 2616 Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` 2617 // Index of the last character of the range (exclusive). 2618 End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` 2619} 2620 2621func (x *Range) Reset() { 2622 *x = Range{} 2623 if protoimpl.UnsafeEnabled { 2624 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[18] 2625 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2626 ms.StoreMessageInfo(mi) 2627 } 2628} 2629 2630func (x *Range) String() string { 2631 return protoimpl.X.MessageStringOf(x) 2632} 2633 2634func (*Range) ProtoMessage() {} 2635 2636func (x *Range) ProtoReflect() protoreflect.Message { 2637 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[18] 2638 if protoimpl.UnsafeEnabled && x != nil { 2639 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2640 if ms.LoadMessageInfo() == nil { 2641 ms.StoreMessageInfo(mi) 2642 } 2643 return ms 2644 } 2645 return mi.MessageOf(x) 2646} 2647 2648// Deprecated: Use Range.ProtoReflect.Descriptor instead. 2649func (*Range) Descriptor() ([]byte, []int) { 2650 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{18} 2651} 2652 2653func (x *Range) GetStart() int64 { 2654 if x != nil { 2655 return x.Start 2656 } 2657 return 0 2658} 2659 2660func (x *Range) GetEnd() int64 { 2661 if x != nil { 2662 return x.End 2663 } 2664 return 0 2665} 2666 2667// Location of the finding within an image. 2668type ImageLocation struct { 2669 state protoimpl.MessageState 2670 sizeCache protoimpl.SizeCache 2671 unknownFields protoimpl.UnknownFields 2672 2673 // Bounding boxes locating the pixels within the image containing the finding. 2674 BoundingBoxes []*BoundingBox `protobuf:"bytes,1,rep,name=bounding_boxes,json=boundingBoxes,proto3" json:"bounding_boxes,omitempty"` 2675} 2676 2677func (x *ImageLocation) Reset() { 2678 *x = ImageLocation{} 2679 if protoimpl.UnsafeEnabled { 2680 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[19] 2681 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2682 ms.StoreMessageInfo(mi) 2683 } 2684} 2685 2686func (x *ImageLocation) String() string { 2687 return protoimpl.X.MessageStringOf(x) 2688} 2689 2690func (*ImageLocation) ProtoMessage() {} 2691 2692func (x *ImageLocation) ProtoReflect() protoreflect.Message { 2693 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[19] 2694 if protoimpl.UnsafeEnabled && x != nil { 2695 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2696 if ms.LoadMessageInfo() == nil { 2697 ms.StoreMessageInfo(mi) 2698 } 2699 return ms 2700 } 2701 return mi.MessageOf(x) 2702} 2703 2704// Deprecated: Use ImageLocation.ProtoReflect.Descriptor instead. 2705func (*ImageLocation) Descriptor() ([]byte, []int) { 2706 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{19} 2707} 2708 2709func (x *ImageLocation) GetBoundingBoxes() []*BoundingBox { 2710 if x != nil { 2711 return x.BoundingBoxes 2712 } 2713 return nil 2714} 2715 2716// Bounding box encompassing detected text within an image. 2717type BoundingBox struct { 2718 state protoimpl.MessageState 2719 sizeCache protoimpl.SizeCache 2720 unknownFields protoimpl.UnknownFields 2721 2722 // Top coordinate of the bounding box. (0,0) is upper left. 2723 Top int32 `protobuf:"varint,1,opt,name=top,proto3" json:"top,omitempty"` 2724 // Left coordinate of the bounding box. (0,0) is upper left. 2725 Left int32 `protobuf:"varint,2,opt,name=left,proto3" json:"left,omitempty"` 2726 // Width of the bounding box in pixels. 2727 Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` 2728 // Height of the bounding box in pixels. 2729 Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` 2730} 2731 2732func (x *BoundingBox) Reset() { 2733 *x = BoundingBox{} 2734 if protoimpl.UnsafeEnabled { 2735 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[20] 2736 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2737 ms.StoreMessageInfo(mi) 2738 } 2739} 2740 2741func (x *BoundingBox) String() string { 2742 return protoimpl.X.MessageStringOf(x) 2743} 2744 2745func (*BoundingBox) ProtoMessage() {} 2746 2747func (x *BoundingBox) ProtoReflect() protoreflect.Message { 2748 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[20] 2749 if protoimpl.UnsafeEnabled && x != nil { 2750 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2751 if ms.LoadMessageInfo() == nil { 2752 ms.StoreMessageInfo(mi) 2753 } 2754 return ms 2755 } 2756 return mi.MessageOf(x) 2757} 2758 2759// Deprecated: Use BoundingBox.ProtoReflect.Descriptor instead. 2760func (*BoundingBox) Descriptor() ([]byte, []int) { 2761 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{20} 2762} 2763 2764func (x *BoundingBox) GetTop() int32 { 2765 if x != nil { 2766 return x.Top 2767 } 2768 return 0 2769} 2770 2771func (x *BoundingBox) GetLeft() int32 { 2772 if x != nil { 2773 return x.Left 2774 } 2775 return 0 2776} 2777 2778func (x *BoundingBox) GetWidth() int32 { 2779 if x != nil { 2780 return x.Width 2781 } 2782 return 0 2783} 2784 2785func (x *BoundingBox) GetHeight() int32 { 2786 if x != nil { 2787 return x.Height 2788 } 2789 return 0 2790} 2791 2792// Request to search for potentially sensitive info in an image and redact it 2793// by covering it with a colored rectangle. 2794type RedactImageRequest struct { 2795 state protoimpl.MessageState 2796 sizeCache protoimpl.SizeCache 2797 unknownFields protoimpl.UnknownFields 2798 2799 // Parent resource name. 2800 // 2801 // The format of this value varies depending on whether you have [specified a 2802 // processing 2803 // location](https://cloud.google.com/dlp/docs/specifying-location): 2804 // 2805 // + Projects scope, location specified:<br/> 2806 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 2807 // + Projects scope, no location specified (defaults to global):<br/> 2808 // `projects/`<var>PROJECT_ID</var> 2809 // 2810 // The following example `parent` string specifies a parent project with the 2811 // identifier `example-project`, and specifies the `europe-west3` location 2812 // for processing data: 2813 // 2814 // parent=projects/example-project/locations/europe-west3 2815 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2816 // Deprecated. This field has no effect. 2817 LocationId string `protobuf:"bytes,8,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 2818 // Configuration for the inspector. 2819 InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"` 2820 // The configuration for specifying what content to redact from images. 2821 ImageRedactionConfigs []*RedactImageRequest_ImageRedactionConfig `protobuf:"bytes,5,rep,name=image_redaction_configs,json=imageRedactionConfigs,proto3" json:"image_redaction_configs,omitempty"` 2822 // Whether the response should include findings along with the redacted 2823 // image. 2824 IncludeFindings bool `protobuf:"varint,6,opt,name=include_findings,json=includeFindings,proto3" json:"include_findings,omitempty"` 2825 // The content must be PNG, JPEG, SVG or BMP. 2826 ByteItem *ByteContentItem `protobuf:"bytes,7,opt,name=byte_item,json=byteItem,proto3" json:"byte_item,omitempty"` 2827} 2828 2829func (x *RedactImageRequest) Reset() { 2830 *x = RedactImageRequest{} 2831 if protoimpl.UnsafeEnabled { 2832 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[21] 2833 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2834 ms.StoreMessageInfo(mi) 2835 } 2836} 2837 2838func (x *RedactImageRequest) String() string { 2839 return protoimpl.X.MessageStringOf(x) 2840} 2841 2842func (*RedactImageRequest) ProtoMessage() {} 2843 2844func (x *RedactImageRequest) ProtoReflect() protoreflect.Message { 2845 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[21] 2846 if protoimpl.UnsafeEnabled && x != nil { 2847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2848 if ms.LoadMessageInfo() == nil { 2849 ms.StoreMessageInfo(mi) 2850 } 2851 return ms 2852 } 2853 return mi.MessageOf(x) 2854} 2855 2856// Deprecated: Use RedactImageRequest.ProtoReflect.Descriptor instead. 2857func (*RedactImageRequest) Descriptor() ([]byte, []int) { 2858 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{21} 2859} 2860 2861func (x *RedactImageRequest) GetParent() string { 2862 if x != nil { 2863 return x.Parent 2864 } 2865 return "" 2866} 2867 2868func (x *RedactImageRequest) GetLocationId() string { 2869 if x != nil { 2870 return x.LocationId 2871 } 2872 return "" 2873} 2874 2875func (x *RedactImageRequest) GetInspectConfig() *InspectConfig { 2876 if x != nil { 2877 return x.InspectConfig 2878 } 2879 return nil 2880} 2881 2882func (x *RedactImageRequest) GetImageRedactionConfigs() []*RedactImageRequest_ImageRedactionConfig { 2883 if x != nil { 2884 return x.ImageRedactionConfigs 2885 } 2886 return nil 2887} 2888 2889func (x *RedactImageRequest) GetIncludeFindings() bool { 2890 if x != nil { 2891 return x.IncludeFindings 2892 } 2893 return false 2894} 2895 2896func (x *RedactImageRequest) GetByteItem() *ByteContentItem { 2897 if x != nil { 2898 return x.ByteItem 2899 } 2900 return nil 2901} 2902 2903// Represents a color in the RGB color space. 2904type Color struct { 2905 state protoimpl.MessageState 2906 sizeCache protoimpl.SizeCache 2907 unknownFields protoimpl.UnknownFields 2908 2909 // The amount of red in the color as a value in the interval [0, 1]. 2910 Red float32 `protobuf:"fixed32,1,opt,name=red,proto3" json:"red,omitempty"` 2911 // The amount of green in the color as a value in the interval [0, 1]. 2912 Green float32 `protobuf:"fixed32,2,opt,name=green,proto3" json:"green,omitempty"` 2913 // The amount of blue in the color as a value in the interval [0, 1]. 2914 Blue float32 `protobuf:"fixed32,3,opt,name=blue,proto3" json:"blue,omitempty"` 2915} 2916 2917func (x *Color) Reset() { 2918 *x = Color{} 2919 if protoimpl.UnsafeEnabled { 2920 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[22] 2921 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2922 ms.StoreMessageInfo(mi) 2923 } 2924} 2925 2926func (x *Color) String() string { 2927 return protoimpl.X.MessageStringOf(x) 2928} 2929 2930func (*Color) ProtoMessage() {} 2931 2932func (x *Color) ProtoReflect() protoreflect.Message { 2933 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[22] 2934 if protoimpl.UnsafeEnabled && x != nil { 2935 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2936 if ms.LoadMessageInfo() == nil { 2937 ms.StoreMessageInfo(mi) 2938 } 2939 return ms 2940 } 2941 return mi.MessageOf(x) 2942} 2943 2944// Deprecated: Use Color.ProtoReflect.Descriptor instead. 2945func (*Color) Descriptor() ([]byte, []int) { 2946 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{22} 2947} 2948 2949func (x *Color) GetRed() float32 { 2950 if x != nil { 2951 return x.Red 2952 } 2953 return 0 2954} 2955 2956func (x *Color) GetGreen() float32 { 2957 if x != nil { 2958 return x.Green 2959 } 2960 return 0 2961} 2962 2963func (x *Color) GetBlue() float32 { 2964 if x != nil { 2965 return x.Blue 2966 } 2967 return 0 2968} 2969 2970// Results of redacting an image. 2971type RedactImageResponse struct { 2972 state protoimpl.MessageState 2973 sizeCache protoimpl.SizeCache 2974 unknownFields protoimpl.UnknownFields 2975 2976 // The redacted image. The type will be the same as the original image. 2977 RedactedImage []byte `protobuf:"bytes,1,opt,name=redacted_image,json=redactedImage,proto3" json:"redacted_image,omitempty"` 2978 // If an image was being inspected and the InspectConfig's include_quote was 2979 // set to true, then this field will include all text, if any, that was found 2980 // in the image. 2981 ExtractedText string `protobuf:"bytes,2,opt,name=extracted_text,json=extractedText,proto3" json:"extracted_text,omitempty"` 2982 // The findings. Populated when include_findings in the request is true. 2983 InspectResult *InspectResult `protobuf:"bytes,3,opt,name=inspect_result,json=inspectResult,proto3" json:"inspect_result,omitempty"` 2984} 2985 2986func (x *RedactImageResponse) Reset() { 2987 *x = RedactImageResponse{} 2988 if protoimpl.UnsafeEnabled { 2989 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[23] 2990 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2991 ms.StoreMessageInfo(mi) 2992 } 2993} 2994 2995func (x *RedactImageResponse) String() string { 2996 return protoimpl.X.MessageStringOf(x) 2997} 2998 2999func (*RedactImageResponse) ProtoMessage() {} 3000 3001func (x *RedactImageResponse) ProtoReflect() protoreflect.Message { 3002 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[23] 3003 if protoimpl.UnsafeEnabled && x != nil { 3004 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3005 if ms.LoadMessageInfo() == nil { 3006 ms.StoreMessageInfo(mi) 3007 } 3008 return ms 3009 } 3010 return mi.MessageOf(x) 3011} 3012 3013// Deprecated: Use RedactImageResponse.ProtoReflect.Descriptor instead. 3014func (*RedactImageResponse) Descriptor() ([]byte, []int) { 3015 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{23} 3016} 3017 3018func (x *RedactImageResponse) GetRedactedImage() []byte { 3019 if x != nil { 3020 return x.RedactedImage 3021 } 3022 return nil 3023} 3024 3025func (x *RedactImageResponse) GetExtractedText() string { 3026 if x != nil { 3027 return x.ExtractedText 3028 } 3029 return "" 3030} 3031 3032func (x *RedactImageResponse) GetInspectResult() *InspectResult { 3033 if x != nil { 3034 return x.InspectResult 3035 } 3036 return nil 3037} 3038 3039// Request to de-identify a list of items. 3040type DeidentifyContentRequest struct { 3041 state protoimpl.MessageState 3042 sizeCache protoimpl.SizeCache 3043 unknownFields protoimpl.UnknownFields 3044 3045 // Parent resource name. 3046 // 3047 // The format of this value varies depending on whether you have [specified a 3048 // processing 3049 // location](https://cloud.google.com/dlp/docs/specifying-location): 3050 // 3051 // + Projects scope, location specified:<br/> 3052 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 3053 // + Projects scope, no location specified (defaults to global):<br/> 3054 // `projects/`<var>PROJECT_ID</var> 3055 // 3056 // The following example `parent` string specifies a parent project with the 3057 // identifier `example-project`, and specifies the `europe-west3` location 3058 // for processing data: 3059 // 3060 // parent=projects/example-project/locations/europe-west3 3061 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 3062 // Configuration for the de-identification of the content item. 3063 // Items specified here will override the template referenced by the 3064 // deidentify_template_name argument. 3065 DeidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=deidentify_config,json=deidentifyConfig,proto3" json:"deidentify_config,omitempty"` 3066 // Configuration for the inspector. 3067 // Items specified here will override the template referenced by the 3068 // inspect_template_name argument. 3069 InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"` 3070 // The item to de-identify. Will be treated as text. 3071 Item *ContentItem `protobuf:"bytes,4,opt,name=item,proto3" json:"item,omitempty"` 3072 // Template to use. Any configuration directly specified in 3073 // inspect_config will override those set in the template. Singular fields 3074 // that are set in this request will replace their corresponding fields in the 3075 // template. Repeated fields are appended. Singular sub-messages and groups 3076 // are recursively merged. 3077 InspectTemplateName string `protobuf:"bytes,5,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"` 3078 // Template to use. Any configuration directly specified in 3079 // deidentify_config will override those set in the template. Singular fields 3080 // that are set in this request will replace their corresponding fields in the 3081 // template. Repeated fields are appended. Singular sub-messages and groups 3082 // are recursively merged. 3083 DeidentifyTemplateName string `protobuf:"bytes,6,opt,name=deidentify_template_name,json=deidentifyTemplateName,proto3" json:"deidentify_template_name,omitempty"` 3084 // Deprecated. This field has no effect. 3085 LocationId string `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 3086} 3087 3088func (x *DeidentifyContentRequest) Reset() { 3089 *x = DeidentifyContentRequest{} 3090 if protoimpl.UnsafeEnabled { 3091 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[24] 3092 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3093 ms.StoreMessageInfo(mi) 3094 } 3095} 3096 3097func (x *DeidentifyContentRequest) String() string { 3098 return protoimpl.X.MessageStringOf(x) 3099} 3100 3101func (*DeidentifyContentRequest) ProtoMessage() {} 3102 3103func (x *DeidentifyContentRequest) ProtoReflect() protoreflect.Message { 3104 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[24] 3105 if protoimpl.UnsafeEnabled && x != nil { 3106 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3107 if ms.LoadMessageInfo() == nil { 3108 ms.StoreMessageInfo(mi) 3109 } 3110 return ms 3111 } 3112 return mi.MessageOf(x) 3113} 3114 3115// Deprecated: Use DeidentifyContentRequest.ProtoReflect.Descriptor instead. 3116func (*DeidentifyContentRequest) Descriptor() ([]byte, []int) { 3117 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{24} 3118} 3119 3120func (x *DeidentifyContentRequest) GetParent() string { 3121 if x != nil { 3122 return x.Parent 3123 } 3124 return "" 3125} 3126 3127func (x *DeidentifyContentRequest) GetDeidentifyConfig() *DeidentifyConfig { 3128 if x != nil { 3129 return x.DeidentifyConfig 3130 } 3131 return nil 3132} 3133 3134func (x *DeidentifyContentRequest) GetInspectConfig() *InspectConfig { 3135 if x != nil { 3136 return x.InspectConfig 3137 } 3138 return nil 3139} 3140 3141func (x *DeidentifyContentRequest) GetItem() *ContentItem { 3142 if x != nil { 3143 return x.Item 3144 } 3145 return nil 3146} 3147 3148func (x *DeidentifyContentRequest) GetInspectTemplateName() string { 3149 if x != nil { 3150 return x.InspectTemplateName 3151 } 3152 return "" 3153} 3154 3155func (x *DeidentifyContentRequest) GetDeidentifyTemplateName() string { 3156 if x != nil { 3157 return x.DeidentifyTemplateName 3158 } 3159 return "" 3160} 3161 3162func (x *DeidentifyContentRequest) GetLocationId() string { 3163 if x != nil { 3164 return x.LocationId 3165 } 3166 return "" 3167} 3168 3169// Results of de-identifying a ContentItem. 3170type DeidentifyContentResponse struct { 3171 state protoimpl.MessageState 3172 sizeCache protoimpl.SizeCache 3173 unknownFields protoimpl.UnknownFields 3174 3175 // The de-identified item. 3176 Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` 3177 // An overview of the changes that were made on the `item`. 3178 Overview *TransformationOverview `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"` 3179} 3180 3181func (x *DeidentifyContentResponse) Reset() { 3182 *x = DeidentifyContentResponse{} 3183 if protoimpl.UnsafeEnabled { 3184 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[25] 3185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3186 ms.StoreMessageInfo(mi) 3187 } 3188} 3189 3190func (x *DeidentifyContentResponse) String() string { 3191 return protoimpl.X.MessageStringOf(x) 3192} 3193 3194func (*DeidentifyContentResponse) ProtoMessage() {} 3195 3196func (x *DeidentifyContentResponse) ProtoReflect() protoreflect.Message { 3197 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[25] 3198 if protoimpl.UnsafeEnabled && x != nil { 3199 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3200 if ms.LoadMessageInfo() == nil { 3201 ms.StoreMessageInfo(mi) 3202 } 3203 return ms 3204 } 3205 return mi.MessageOf(x) 3206} 3207 3208// Deprecated: Use DeidentifyContentResponse.ProtoReflect.Descriptor instead. 3209func (*DeidentifyContentResponse) Descriptor() ([]byte, []int) { 3210 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{25} 3211} 3212 3213func (x *DeidentifyContentResponse) GetItem() *ContentItem { 3214 if x != nil { 3215 return x.Item 3216 } 3217 return nil 3218} 3219 3220func (x *DeidentifyContentResponse) GetOverview() *TransformationOverview { 3221 if x != nil { 3222 return x.Overview 3223 } 3224 return nil 3225} 3226 3227// Request to re-identify an item. 3228type ReidentifyContentRequest struct { 3229 state protoimpl.MessageState 3230 sizeCache protoimpl.SizeCache 3231 unknownFields protoimpl.UnknownFields 3232 3233 // Required. Parent resource name. 3234 // 3235 // The format of this value varies depending on whether you have [specified a 3236 // processing 3237 // location](https://cloud.google.com/dlp/docs/specifying-location): 3238 // 3239 // + Projects scope, location specified:<br/> 3240 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 3241 // + Projects scope, no location specified (defaults to global):<br/> 3242 // `projects/`<var>PROJECT_ID</var> 3243 // 3244 // The following example `parent` string specifies a parent project with the 3245 // identifier `example-project`, and specifies the `europe-west3` location 3246 // for processing data: 3247 // 3248 // parent=projects/example-project/locations/europe-west3 3249 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 3250 // Configuration for the re-identification of the content item. 3251 // This field shares the same proto message type that is used for 3252 // de-identification, however its usage here is for the reversal of the 3253 // previous de-identification. Re-identification is performed by examining 3254 // the transformations used to de-identify the items and executing the 3255 // reverse. This requires that only reversible transformations 3256 // be provided here. The reversible transformations are: 3257 // 3258 // - `CryptoDeterministicConfig` 3259 // - `CryptoReplaceFfxFpeConfig` 3260 ReidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=reidentify_config,json=reidentifyConfig,proto3" json:"reidentify_config,omitempty"` 3261 // Configuration for the inspector. 3262 InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"` 3263 // The item to re-identify. Will be treated as text. 3264 Item *ContentItem `protobuf:"bytes,4,opt,name=item,proto3" json:"item,omitempty"` 3265 // Template to use. Any configuration directly specified in 3266 // `inspect_config` will override those set in the template. Singular fields 3267 // that are set in this request will replace their corresponding fields in the 3268 // template. Repeated fields are appended. Singular sub-messages and groups 3269 // are recursively merged. 3270 InspectTemplateName string `protobuf:"bytes,5,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"` 3271 // Template to use. References an instance of `DeidentifyTemplate`. 3272 // Any configuration directly specified in `reidentify_config` or 3273 // `inspect_config` will override those set in the template. The 3274 // `DeidentifyTemplate` used must include only reversible transformations. 3275 // Singular fields that are set in this request will replace their 3276 // corresponding fields in the template. Repeated fields are appended. 3277 // Singular sub-messages and groups are recursively merged. 3278 ReidentifyTemplateName string `protobuf:"bytes,6,opt,name=reidentify_template_name,json=reidentifyTemplateName,proto3" json:"reidentify_template_name,omitempty"` 3279 // Deprecated. This field has no effect. 3280 LocationId string `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 3281} 3282 3283func (x *ReidentifyContentRequest) Reset() { 3284 *x = ReidentifyContentRequest{} 3285 if protoimpl.UnsafeEnabled { 3286 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[26] 3287 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3288 ms.StoreMessageInfo(mi) 3289 } 3290} 3291 3292func (x *ReidentifyContentRequest) String() string { 3293 return protoimpl.X.MessageStringOf(x) 3294} 3295 3296func (*ReidentifyContentRequest) ProtoMessage() {} 3297 3298func (x *ReidentifyContentRequest) ProtoReflect() protoreflect.Message { 3299 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[26] 3300 if protoimpl.UnsafeEnabled && x != nil { 3301 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3302 if ms.LoadMessageInfo() == nil { 3303 ms.StoreMessageInfo(mi) 3304 } 3305 return ms 3306 } 3307 return mi.MessageOf(x) 3308} 3309 3310// Deprecated: Use ReidentifyContentRequest.ProtoReflect.Descriptor instead. 3311func (*ReidentifyContentRequest) Descriptor() ([]byte, []int) { 3312 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{26} 3313} 3314 3315func (x *ReidentifyContentRequest) GetParent() string { 3316 if x != nil { 3317 return x.Parent 3318 } 3319 return "" 3320} 3321 3322func (x *ReidentifyContentRequest) GetReidentifyConfig() *DeidentifyConfig { 3323 if x != nil { 3324 return x.ReidentifyConfig 3325 } 3326 return nil 3327} 3328 3329func (x *ReidentifyContentRequest) GetInspectConfig() *InspectConfig { 3330 if x != nil { 3331 return x.InspectConfig 3332 } 3333 return nil 3334} 3335 3336func (x *ReidentifyContentRequest) GetItem() *ContentItem { 3337 if x != nil { 3338 return x.Item 3339 } 3340 return nil 3341} 3342 3343func (x *ReidentifyContentRequest) GetInspectTemplateName() string { 3344 if x != nil { 3345 return x.InspectTemplateName 3346 } 3347 return "" 3348} 3349 3350func (x *ReidentifyContentRequest) GetReidentifyTemplateName() string { 3351 if x != nil { 3352 return x.ReidentifyTemplateName 3353 } 3354 return "" 3355} 3356 3357func (x *ReidentifyContentRequest) GetLocationId() string { 3358 if x != nil { 3359 return x.LocationId 3360 } 3361 return "" 3362} 3363 3364// Results of re-identifying a item. 3365type ReidentifyContentResponse struct { 3366 state protoimpl.MessageState 3367 sizeCache protoimpl.SizeCache 3368 unknownFields protoimpl.UnknownFields 3369 3370 // The re-identified item. 3371 Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` 3372 // An overview of the changes that were made to the `item`. 3373 Overview *TransformationOverview `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"` 3374} 3375 3376func (x *ReidentifyContentResponse) Reset() { 3377 *x = ReidentifyContentResponse{} 3378 if protoimpl.UnsafeEnabled { 3379 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[27] 3380 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3381 ms.StoreMessageInfo(mi) 3382 } 3383} 3384 3385func (x *ReidentifyContentResponse) String() string { 3386 return protoimpl.X.MessageStringOf(x) 3387} 3388 3389func (*ReidentifyContentResponse) ProtoMessage() {} 3390 3391func (x *ReidentifyContentResponse) ProtoReflect() protoreflect.Message { 3392 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[27] 3393 if protoimpl.UnsafeEnabled && x != nil { 3394 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3395 if ms.LoadMessageInfo() == nil { 3396 ms.StoreMessageInfo(mi) 3397 } 3398 return ms 3399 } 3400 return mi.MessageOf(x) 3401} 3402 3403// Deprecated: Use ReidentifyContentResponse.ProtoReflect.Descriptor instead. 3404func (*ReidentifyContentResponse) Descriptor() ([]byte, []int) { 3405 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{27} 3406} 3407 3408func (x *ReidentifyContentResponse) GetItem() *ContentItem { 3409 if x != nil { 3410 return x.Item 3411 } 3412 return nil 3413} 3414 3415func (x *ReidentifyContentResponse) GetOverview() *TransformationOverview { 3416 if x != nil { 3417 return x.Overview 3418 } 3419 return nil 3420} 3421 3422// Request to search for potentially sensitive info in a ContentItem. 3423type InspectContentRequest struct { 3424 state protoimpl.MessageState 3425 sizeCache protoimpl.SizeCache 3426 unknownFields protoimpl.UnknownFields 3427 3428 // Parent resource name. 3429 // 3430 // The format of this value varies depending on whether you have [specified a 3431 // processing 3432 // location](https://cloud.google.com/dlp/docs/specifying-location): 3433 // 3434 // + Projects scope, location specified:<br/> 3435 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 3436 // + Projects scope, no location specified (defaults to global):<br/> 3437 // `projects/`<var>PROJECT_ID</var> 3438 // 3439 // The following example `parent` string specifies a parent project with the 3440 // identifier `example-project`, and specifies the `europe-west3` location 3441 // for processing data: 3442 // 3443 // parent=projects/example-project/locations/europe-west3 3444 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 3445 // Configuration for the inspector. What specified here will override 3446 // the template referenced by the inspect_template_name argument. 3447 InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"` 3448 // The item to inspect. 3449 Item *ContentItem `protobuf:"bytes,3,opt,name=item,proto3" json:"item,omitempty"` 3450 // Template to use. Any configuration directly specified in 3451 // inspect_config will override those set in the template. Singular fields 3452 // that are set in this request will replace their corresponding fields in the 3453 // template. Repeated fields are appended. Singular sub-messages and groups 3454 // are recursively merged. 3455 InspectTemplateName string `protobuf:"bytes,4,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"` 3456 // Deprecated. This field has no effect. 3457 LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 3458} 3459 3460func (x *InspectContentRequest) Reset() { 3461 *x = InspectContentRequest{} 3462 if protoimpl.UnsafeEnabled { 3463 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[28] 3464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3465 ms.StoreMessageInfo(mi) 3466 } 3467} 3468 3469func (x *InspectContentRequest) String() string { 3470 return protoimpl.X.MessageStringOf(x) 3471} 3472 3473func (*InspectContentRequest) ProtoMessage() {} 3474 3475func (x *InspectContentRequest) ProtoReflect() protoreflect.Message { 3476 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[28] 3477 if protoimpl.UnsafeEnabled && x != nil { 3478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3479 if ms.LoadMessageInfo() == nil { 3480 ms.StoreMessageInfo(mi) 3481 } 3482 return ms 3483 } 3484 return mi.MessageOf(x) 3485} 3486 3487// Deprecated: Use InspectContentRequest.ProtoReflect.Descriptor instead. 3488func (*InspectContentRequest) Descriptor() ([]byte, []int) { 3489 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{28} 3490} 3491 3492func (x *InspectContentRequest) GetParent() string { 3493 if x != nil { 3494 return x.Parent 3495 } 3496 return "" 3497} 3498 3499func (x *InspectContentRequest) GetInspectConfig() *InspectConfig { 3500 if x != nil { 3501 return x.InspectConfig 3502 } 3503 return nil 3504} 3505 3506func (x *InspectContentRequest) GetItem() *ContentItem { 3507 if x != nil { 3508 return x.Item 3509 } 3510 return nil 3511} 3512 3513func (x *InspectContentRequest) GetInspectTemplateName() string { 3514 if x != nil { 3515 return x.InspectTemplateName 3516 } 3517 return "" 3518} 3519 3520func (x *InspectContentRequest) GetLocationId() string { 3521 if x != nil { 3522 return x.LocationId 3523 } 3524 return "" 3525} 3526 3527// Results of inspecting an item. 3528type InspectContentResponse struct { 3529 state protoimpl.MessageState 3530 sizeCache protoimpl.SizeCache 3531 unknownFields protoimpl.UnknownFields 3532 3533 // The findings. 3534 Result *InspectResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` 3535} 3536 3537func (x *InspectContentResponse) Reset() { 3538 *x = InspectContentResponse{} 3539 if protoimpl.UnsafeEnabled { 3540 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[29] 3541 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3542 ms.StoreMessageInfo(mi) 3543 } 3544} 3545 3546func (x *InspectContentResponse) String() string { 3547 return protoimpl.X.MessageStringOf(x) 3548} 3549 3550func (*InspectContentResponse) ProtoMessage() {} 3551 3552func (x *InspectContentResponse) ProtoReflect() protoreflect.Message { 3553 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[29] 3554 if protoimpl.UnsafeEnabled && x != nil { 3555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3556 if ms.LoadMessageInfo() == nil { 3557 ms.StoreMessageInfo(mi) 3558 } 3559 return ms 3560 } 3561 return mi.MessageOf(x) 3562} 3563 3564// Deprecated: Use InspectContentResponse.ProtoReflect.Descriptor instead. 3565func (*InspectContentResponse) Descriptor() ([]byte, []int) { 3566 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{29} 3567} 3568 3569func (x *InspectContentResponse) GetResult() *InspectResult { 3570 if x != nil { 3571 return x.Result 3572 } 3573 return nil 3574} 3575 3576// Cloud repository for storing output. 3577type OutputStorageConfig struct { 3578 state protoimpl.MessageState 3579 sizeCache protoimpl.SizeCache 3580 unknownFields protoimpl.UnknownFields 3581 3582 // Output storage types. 3583 // 3584 // Types that are assignable to Type: 3585 // *OutputStorageConfig_Table 3586 Type isOutputStorageConfig_Type `protobuf_oneof:"type"` 3587 // Schema used for writing the findings for Inspect jobs. This field is only 3588 // used for Inspect and must be unspecified for Risk jobs. Columns are derived 3589 // from the `Finding` object. If appending to an existing table, any columns 3590 // from the predefined schema that are missing will be added. No columns in 3591 // the existing table will be deleted. 3592 // 3593 // If unspecified, then all available columns will be used for a new table or 3594 // an (existing) table with no schema, and no changes will be made to an 3595 // existing table that has a schema. 3596 // Only for use with external storage. 3597 OutputSchema OutputStorageConfig_OutputSchema `protobuf:"varint,3,opt,name=output_schema,json=outputSchema,proto3,enum=google.privacy.dlp.v2.OutputStorageConfig_OutputSchema" json:"output_schema,omitempty"` 3598} 3599 3600func (x *OutputStorageConfig) Reset() { 3601 *x = OutputStorageConfig{} 3602 if protoimpl.UnsafeEnabled { 3603 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[30] 3604 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3605 ms.StoreMessageInfo(mi) 3606 } 3607} 3608 3609func (x *OutputStorageConfig) String() string { 3610 return protoimpl.X.MessageStringOf(x) 3611} 3612 3613func (*OutputStorageConfig) ProtoMessage() {} 3614 3615func (x *OutputStorageConfig) ProtoReflect() protoreflect.Message { 3616 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[30] 3617 if protoimpl.UnsafeEnabled && x != nil { 3618 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3619 if ms.LoadMessageInfo() == nil { 3620 ms.StoreMessageInfo(mi) 3621 } 3622 return ms 3623 } 3624 return mi.MessageOf(x) 3625} 3626 3627// Deprecated: Use OutputStorageConfig.ProtoReflect.Descriptor instead. 3628func (*OutputStorageConfig) Descriptor() ([]byte, []int) { 3629 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{30} 3630} 3631 3632func (m *OutputStorageConfig) GetType() isOutputStorageConfig_Type { 3633 if m != nil { 3634 return m.Type 3635 } 3636 return nil 3637} 3638 3639func (x *OutputStorageConfig) GetTable() *BigQueryTable { 3640 if x, ok := x.GetType().(*OutputStorageConfig_Table); ok { 3641 return x.Table 3642 } 3643 return nil 3644} 3645 3646func (x *OutputStorageConfig) GetOutputSchema() OutputStorageConfig_OutputSchema { 3647 if x != nil { 3648 return x.OutputSchema 3649 } 3650 return OutputStorageConfig_OUTPUT_SCHEMA_UNSPECIFIED 3651} 3652 3653type isOutputStorageConfig_Type interface { 3654 isOutputStorageConfig_Type() 3655} 3656 3657type OutputStorageConfig_Table struct { 3658 // Store findings in an existing table or a new table in an existing 3659 // dataset. If table_id is not set a new one will be generated 3660 // for you with the following format: 3661 // dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for 3662 // generating the date details. 3663 // 3664 // For Inspect, each column in an existing output table must have the same 3665 // name, type, and mode of a field in the `Finding` object. 3666 // 3667 // For Risk, an existing output table should be the output of a previous 3668 // Risk analysis job run on the same source table, with the same privacy 3669 // metric and quasi-identifiers. Risk jobs that analyze the same table but 3670 // compute a different privacy metric, or use different sets of 3671 // quasi-identifiers, cannot store their results in the same table. 3672 Table *BigQueryTable `protobuf:"bytes,1,opt,name=table,proto3,oneof"` 3673} 3674 3675func (*OutputStorageConfig_Table) isOutputStorageConfig_Type() {} 3676 3677// Statistics regarding a specific InfoType. 3678type InfoTypeStats struct { 3679 state protoimpl.MessageState 3680 sizeCache protoimpl.SizeCache 3681 unknownFields protoimpl.UnknownFields 3682 3683 // The type of finding this stat is for. 3684 InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"` 3685 // Number of findings for this infoType. 3686 Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` 3687} 3688 3689func (x *InfoTypeStats) Reset() { 3690 *x = InfoTypeStats{} 3691 if protoimpl.UnsafeEnabled { 3692 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[31] 3693 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3694 ms.StoreMessageInfo(mi) 3695 } 3696} 3697 3698func (x *InfoTypeStats) String() string { 3699 return protoimpl.X.MessageStringOf(x) 3700} 3701 3702func (*InfoTypeStats) ProtoMessage() {} 3703 3704func (x *InfoTypeStats) ProtoReflect() protoreflect.Message { 3705 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[31] 3706 if protoimpl.UnsafeEnabled && x != nil { 3707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3708 if ms.LoadMessageInfo() == nil { 3709 ms.StoreMessageInfo(mi) 3710 } 3711 return ms 3712 } 3713 return mi.MessageOf(x) 3714} 3715 3716// Deprecated: Use InfoTypeStats.ProtoReflect.Descriptor instead. 3717func (*InfoTypeStats) Descriptor() ([]byte, []int) { 3718 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{31} 3719} 3720 3721func (x *InfoTypeStats) GetInfoType() *InfoType { 3722 if x != nil { 3723 return x.InfoType 3724 } 3725 return nil 3726} 3727 3728func (x *InfoTypeStats) GetCount() int64 { 3729 if x != nil { 3730 return x.Count 3731 } 3732 return 0 3733} 3734 3735// The results of an inspect DataSource job. 3736type InspectDataSourceDetails struct { 3737 state protoimpl.MessageState 3738 sizeCache protoimpl.SizeCache 3739 unknownFields protoimpl.UnknownFields 3740 3741 // The configuration used for this job. 3742 RequestedOptions *InspectDataSourceDetails_RequestedOptions `protobuf:"bytes,2,opt,name=requested_options,json=requestedOptions,proto3" json:"requested_options,omitempty"` 3743 // A summary of the outcome of this inspect job. 3744 Result *InspectDataSourceDetails_Result `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"` 3745} 3746 3747func (x *InspectDataSourceDetails) Reset() { 3748 *x = InspectDataSourceDetails{} 3749 if protoimpl.UnsafeEnabled { 3750 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[32] 3751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3752 ms.StoreMessageInfo(mi) 3753 } 3754} 3755 3756func (x *InspectDataSourceDetails) String() string { 3757 return protoimpl.X.MessageStringOf(x) 3758} 3759 3760func (*InspectDataSourceDetails) ProtoMessage() {} 3761 3762func (x *InspectDataSourceDetails) ProtoReflect() protoreflect.Message { 3763 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[32] 3764 if protoimpl.UnsafeEnabled && x != nil { 3765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3766 if ms.LoadMessageInfo() == nil { 3767 ms.StoreMessageInfo(mi) 3768 } 3769 return ms 3770 } 3771 return mi.MessageOf(x) 3772} 3773 3774// Deprecated: Use InspectDataSourceDetails.ProtoReflect.Descriptor instead. 3775func (*InspectDataSourceDetails) Descriptor() ([]byte, []int) { 3776 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{32} 3777} 3778 3779func (x *InspectDataSourceDetails) GetRequestedOptions() *InspectDataSourceDetails_RequestedOptions { 3780 if x != nil { 3781 return x.RequestedOptions 3782 } 3783 return nil 3784} 3785 3786func (x *InspectDataSourceDetails) GetResult() *InspectDataSourceDetails_Result { 3787 if x != nil { 3788 return x.Result 3789 } 3790 return nil 3791} 3792 3793// Statistics related to processing hybrid inspect requests. 3794type HybridInspectStatistics struct { 3795 state protoimpl.MessageState 3796 sizeCache protoimpl.SizeCache 3797 unknownFields protoimpl.UnknownFields 3798 3799 // The number of hybrid inspection requests processed within this job. 3800 ProcessedCount int64 `protobuf:"varint,1,opt,name=processed_count,json=processedCount,proto3" json:"processed_count,omitempty"` 3801 // The number of hybrid inspection requests aborted because the job ran 3802 // out of quota or was ended before they could be processed. 3803 AbortedCount int64 `protobuf:"varint,2,opt,name=aborted_count,json=abortedCount,proto3" json:"aborted_count,omitempty"` 3804 // The number of hybrid requests currently being processed. Only populated 3805 // when called via method `getDlpJob`. 3806 // A burst of traffic may cause hybrid inspect requests to be enqueued. 3807 // Processing will take place as quickly as possible, but resource limitations 3808 // may impact how long a request is enqueued for. 3809 PendingCount int64 `protobuf:"varint,3,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"` 3810} 3811 3812func (x *HybridInspectStatistics) Reset() { 3813 *x = HybridInspectStatistics{} 3814 if protoimpl.UnsafeEnabled { 3815 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[33] 3816 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3817 ms.StoreMessageInfo(mi) 3818 } 3819} 3820 3821func (x *HybridInspectStatistics) String() string { 3822 return protoimpl.X.MessageStringOf(x) 3823} 3824 3825func (*HybridInspectStatistics) ProtoMessage() {} 3826 3827func (x *HybridInspectStatistics) ProtoReflect() protoreflect.Message { 3828 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[33] 3829 if protoimpl.UnsafeEnabled && x != nil { 3830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3831 if ms.LoadMessageInfo() == nil { 3832 ms.StoreMessageInfo(mi) 3833 } 3834 return ms 3835 } 3836 return mi.MessageOf(x) 3837} 3838 3839// Deprecated: Use HybridInspectStatistics.ProtoReflect.Descriptor instead. 3840func (*HybridInspectStatistics) Descriptor() ([]byte, []int) { 3841 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{33} 3842} 3843 3844func (x *HybridInspectStatistics) GetProcessedCount() int64 { 3845 if x != nil { 3846 return x.ProcessedCount 3847 } 3848 return 0 3849} 3850 3851func (x *HybridInspectStatistics) GetAbortedCount() int64 { 3852 if x != nil { 3853 return x.AbortedCount 3854 } 3855 return 0 3856} 3857 3858func (x *HybridInspectStatistics) GetPendingCount() int64 { 3859 if x != nil { 3860 return x.PendingCount 3861 } 3862 return 0 3863} 3864 3865// InfoType description. 3866type InfoTypeDescription struct { 3867 state protoimpl.MessageState 3868 sizeCache protoimpl.SizeCache 3869 unknownFields protoimpl.UnknownFields 3870 3871 // Internal name of the infoType. 3872 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 3873 // Human readable form of the infoType name. 3874 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 3875 // Which parts of the API supports this InfoType. 3876 SupportedBy []InfoTypeSupportedBy `protobuf:"varint,3,rep,packed,name=supported_by,json=supportedBy,proto3,enum=google.privacy.dlp.v2.InfoTypeSupportedBy" json:"supported_by,omitempty"` 3877 // Description of the infotype. Translated when language is provided in the 3878 // request. 3879 Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` 3880} 3881 3882func (x *InfoTypeDescription) Reset() { 3883 *x = InfoTypeDescription{} 3884 if protoimpl.UnsafeEnabled { 3885 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[34] 3886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3887 ms.StoreMessageInfo(mi) 3888 } 3889} 3890 3891func (x *InfoTypeDescription) String() string { 3892 return protoimpl.X.MessageStringOf(x) 3893} 3894 3895func (*InfoTypeDescription) ProtoMessage() {} 3896 3897func (x *InfoTypeDescription) ProtoReflect() protoreflect.Message { 3898 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[34] 3899 if protoimpl.UnsafeEnabled && x != nil { 3900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3901 if ms.LoadMessageInfo() == nil { 3902 ms.StoreMessageInfo(mi) 3903 } 3904 return ms 3905 } 3906 return mi.MessageOf(x) 3907} 3908 3909// Deprecated: Use InfoTypeDescription.ProtoReflect.Descriptor instead. 3910func (*InfoTypeDescription) Descriptor() ([]byte, []int) { 3911 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{34} 3912} 3913 3914func (x *InfoTypeDescription) GetName() string { 3915 if x != nil { 3916 return x.Name 3917 } 3918 return "" 3919} 3920 3921func (x *InfoTypeDescription) GetDisplayName() string { 3922 if x != nil { 3923 return x.DisplayName 3924 } 3925 return "" 3926} 3927 3928func (x *InfoTypeDescription) GetSupportedBy() []InfoTypeSupportedBy { 3929 if x != nil { 3930 return x.SupportedBy 3931 } 3932 return nil 3933} 3934 3935func (x *InfoTypeDescription) GetDescription() string { 3936 if x != nil { 3937 return x.Description 3938 } 3939 return "" 3940} 3941 3942// Request for the list of infoTypes. 3943type ListInfoTypesRequest struct { 3944 state protoimpl.MessageState 3945 sizeCache protoimpl.SizeCache 3946 unknownFields protoimpl.UnknownFields 3947 3948 // The parent resource name. 3949 // 3950 // The format of this value is as follows: 3951 // 3952 // locations/<var>LOCATION_ID</var> 3953 Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` 3954 // BCP-47 language code for localized infoType friendly 3955 // names. If omitted, or if localized strings are not available, 3956 // en-US strings will be returned. 3957 LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 3958 // filter to only return infoTypes supported by certain parts of the 3959 // API. Defaults to supported_by=INSPECT. 3960 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 3961 // Deprecated. This field has no effect. 3962 LocationId string `protobuf:"bytes,3,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 3963} 3964 3965func (x *ListInfoTypesRequest) Reset() { 3966 *x = ListInfoTypesRequest{} 3967 if protoimpl.UnsafeEnabled { 3968 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[35] 3969 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3970 ms.StoreMessageInfo(mi) 3971 } 3972} 3973 3974func (x *ListInfoTypesRequest) String() string { 3975 return protoimpl.X.MessageStringOf(x) 3976} 3977 3978func (*ListInfoTypesRequest) ProtoMessage() {} 3979 3980func (x *ListInfoTypesRequest) ProtoReflect() protoreflect.Message { 3981 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[35] 3982 if protoimpl.UnsafeEnabled && x != nil { 3983 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3984 if ms.LoadMessageInfo() == nil { 3985 ms.StoreMessageInfo(mi) 3986 } 3987 return ms 3988 } 3989 return mi.MessageOf(x) 3990} 3991 3992// Deprecated: Use ListInfoTypesRequest.ProtoReflect.Descriptor instead. 3993func (*ListInfoTypesRequest) Descriptor() ([]byte, []int) { 3994 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{35} 3995} 3996 3997func (x *ListInfoTypesRequest) GetParent() string { 3998 if x != nil { 3999 return x.Parent 4000 } 4001 return "" 4002} 4003 4004func (x *ListInfoTypesRequest) GetLanguageCode() string { 4005 if x != nil { 4006 return x.LanguageCode 4007 } 4008 return "" 4009} 4010 4011func (x *ListInfoTypesRequest) GetFilter() string { 4012 if x != nil { 4013 return x.Filter 4014 } 4015 return "" 4016} 4017 4018func (x *ListInfoTypesRequest) GetLocationId() string { 4019 if x != nil { 4020 return x.LocationId 4021 } 4022 return "" 4023} 4024 4025// Response to the ListInfoTypes request. 4026type ListInfoTypesResponse struct { 4027 state protoimpl.MessageState 4028 sizeCache protoimpl.SizeCache 4029 unknownFields protoimpl.UnknownFields 4030 4031 // Set of sensitive infoTypes. 4032 InfoTypes []*InfoTypeDescription `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"` 4033} 4034 4035func (x *ListInfoTypesResponse) Reset() { 4036 *x = ListInfoTypesResponse{} 4037 if protoimpl.UnsafeEnabled { 4038 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[36] 4039 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4040 ms.StoreMessageInfo(mi) 4041 } 4042} 4043 4044func (x *ListInfoTypesResponse) String() string { 4045 return protoimpl.X.MessageStringOf(x) 4046} 4047 4048func (*ListInfoTypesResponse) ProtoMessage() {} 4049 4050func (x *ListInfoTypesResponse) ProtoReflect() protoreflect.Message { 4051 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[36] 4052 if protoimpl.UnsafeEnabled && x != nil { 4053 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4054 if ms.LoadMessageInfo() == nil { 4055 ms.StoreMessageInfo(mi) 4056 } 4057 return ms 4058 } 4059 return mi.MessageOf(x) 4060} 4061 4062// Deprecated: Use ListInfoTypesResponse.ProtoReflect.Descriptor instead. 4063func (*ListInfoTypesResponse) Descriptor() ([]byte, []int) { 4064 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{36} 4065} 4066 4067func (x *ListInfoTypesResponse) GetInfoTypes() []*InfoTypeDescription { 4068 if x != nil { 4069 return x.InfoTypes 4070 } 4071 return nil 4072} 4073 4074// Configuration for a risk analysis job. See 4075// https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. 4076type RiskAnalysisJobConfig struct { 4077 state protoimpl.MessageState 4078 sizeCache protoimpl.SizeCache 4079 unknownFields protoimpl.UnknownFields 4080 4081 // Privacy metric to compute. 4082 PrivacyMetric *PrivacyMetric `protobuf:"bytes,1,opt,name=privacy_metric,json=privacyMetric,proto3" json:"privacy_metric,omitempty"` 4083 // Input dataset to compute metrics over. 4084 SourceTable *BigQueryTable `protobuf:"bytes,2,opt,name=source_table,json=sourceTable,proto3" json:"source_table,omitempty"` 4085 // Actions to execute at the completion of the job. Are executed in the order 4086 // provided. 4087 Actions []*Action `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` 4088} 4089 4090func (x *RiskAnalysisJobConfig) Reset() { 4091 *x = RiskAnalysisJobConfig{} 4092 if protoimpl.UnsafeEnabled { 4093 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[37] 4094 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4095 ms.StoreMessageInfo(mi) 4096 } 4097} 4098 4099func (x *RiskAnalysisJobConfig) String() string { 4100 return protoimpl.X.MessageStringOf(x) 4101} 4102 4103func (*RiskAnalysisJobConfig) ProtoMessage() {} 4104 4105func (x *RiskAnalysisJobConfig) ProtoReflect() protoreflect.Message { 4106 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[37] 4107 if protoimpl.UnsafeEnabled && x != nil { 4108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4109 if ms.LoadMessageInfo() == nil { 4110 ms.StoreMessageInfo(mi) 4111 } 4112 return ms 4113 } 4114 return mi.MessageOf(x) 4115} 4116 4117// Deprecated: Use RiskAnalysisJobConfig.ProtoReflect.Descriptor instead. 4118func (*RiskAnalysisJobConfig) Descriptor() ([]byte, []int) { 4119 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{37} 4120} 4121 4122func (x *RiskAnalysisJobConfig) GetPrivacyMetric() *PrivacyMetric { 4123 if x != nil { 4124 return x.PrivacyMetric 4125 } 4126 return nil 4127} 4128 4129func (x *RiskAnalysisJobConfig) GetSourceTable() *BigQueryTable { 4130 if x != nil { 4131 return x.SourceTable 4132 } 4133 return nil 4134} 4135 4136func (x *RiskAnalysisJobConfig) GetActions() []*Action { 4137 if x != nil { 4138 return x.Actions 4139 } 4140 return nil 4141} 4142 4143// A column with a semantic tag attached. 4144type QuasiId struct { 4145 state protoimpl.MessageState 4146 sizeCache protoimpl.SizeCache 4147 unknownFields protoimpl.UnknownFields 4148 4149 // Required. Identifies the column. 4150 Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 4151 // Semantic tag that identifies what a column contains, to determine which 4152 // statistical model to use to estimate the reidentifiability of each 4153 // value. [required] 4154 // 4155 // Types that are assignable to Tag: 4156 // *QuasiId_InfoType 4157 // *QuasiId_CustomTag 4158 // *QuasiId_Inferred 4159 Tag isQuasiId_Tag `protobuf_oneof:"tag"` 4160} 4161 4162func (x *QuasiId) Reset() { 4163 *x = QuasiId{} 4164 if protoimpl.UnsafeEnabled { 4165 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[38] 4166 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4167 ms.StoreMessageInfo(mi) 4168 } 4169} 4170 4171func (x *QuasiId) String() string { 4172 return protoimpl.X.MessageStringOf(x) 4173} 4174 4175func (*QuasiId) ProtoMessage() {} 4176 4177func (x *QuasiId) ProtoReflect() protoreflect.Message { 4178 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[38] 4179 if protoimpl.UnsafeEnabled && x != nil { 4180 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4181 if ms.LoadMessageInfo() == nil { 4182 ms.StoreMessageInfo(mi) 4183 } 4184 return ms 4185 } 4186 return mi.MessageOf(x) 4187} 4188 4189// Deprecated: Use QuasiId.ProtoReflect.Descriptor instead. 4190func (*QuasiId) Descriptor() ([]byte, []int) { 4191 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{38} 4192} 4193 4194func (x *QuasiId) GetField() *FieldId { 4195 if x != nil { 4196 return x.Field 4197 } 4198 return nil 4199} 4200 4201func (m *QuasiId) GetTag() isQuasiId_Tag { 4202 if m != nil { 4203 return m.Tag 4204 } 4205 return nil 4206} 4207 4208func (x *QuasiId) GetInfoType() *InfoType { 4209 if x, ok := x.GetTag().(*QuasiId_InfoType); ok { 4210 return x.InfoType 4211 } 4212 return nil 4213} 4214 4215func (x *QuasiId) GetCustomTag() string { 4216 if x, ok := x.GetTag().(*QuasiId_CustomTag); ok { 4217 return x.CustomTag 4218 } 4219 return "" 4220} 4221 4222func (x *QuasiId) GetInferred() *emptypb.Empty { 4223 if x, ok := x.GetTag().(*QuasiId_Inferred); ok { 4224 return x.Inferred 4225 } 4226 return nil 4227} 4228 4229type isQuasiId_Tag interface { 4230 isQuasiId_Tag() 4231} 4232 4233type QuasiId_InfoType struct { 4234 // A column can be tagged with a InfoType to use the relevant public 4235 // dataset as a statistical model of population, if available. We 4236 // currently support US ZIP codes, region codes, ages and genders. 4237 // To programmatically obtain the list of supported InfoTypes, use 4238 // ListInfoTypes with the supported_by=RISK_ANALYSIS filter. 4239 InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3,oneof"` 4240} 4241 4242type QuasiId_CustomTag struct { 4243 // A column can be tagged with a custom tag. In this case, the user must 4244 // indicate an auxiliary table that contains statistical information on 4245 // the possible values of this column (below). 4246 CustomTag string `protobuf:"bytes,3,opt,name=custom_tag,json=customTag,proto3,oneof"` 4247} 4248 4249type QuasiId_Inferred struct { 4250 // If no semantic tag is indicated, we infer the statistical model from 4251 // the distribution of values in the input data 4252 Inferred *emptypb.Empty `protobuf:"bytes,4,opt,name=inferred,proto3,oneof"` 4253} 4254 4255func (*QuasiId_InfoType) isQuasiId_Tag() {} 4256 4257func (*QuasiId_CustomTag) isQuasiId_Tag() {} 4258 4259func (*QuasiId_Inferred) isQuasiId_Tag() {} 4260 4261// An auxiliary table containing statistical information on the relative 4262// frequency of different quasi-identifiers values. It has one or several 4263// quasi-identifiers columns, and one column that indicates the relative 4264// frequency of each quasi-identifier tuple. 4265// If a tuple is present in the data but not in the auxiliary table, the 4266// corresponding relative frequency is assumed to be zero (and thus, the 4267// tuple is highly reidentifiable). 4268type StatisticalTable struct { 4269 state protoimpl.MessageState 4270 sizeCache protoimpl.SizeCache 4271 unknownFields protoimpl.UnknownFields 4272 4273 // Required. Auxiliary table location. 4274 Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"` 4275 // Required. Quasi-identifier columns. 4276 QuasiIds []*StatisticalTable_QuasiIdentifierField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` 4277 // Required. The relative frequency column must contain a floating-point number 4278 // between 0 and 1 (inclusive). Null values are assumed to be zero. 4279 RelativeFrequency *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"` 4280} 4281 4282func (x *StatisticalTable) Reset() { 4283 *x = StatisticalTable{} 4284 if protoimpl.UnsafeEnabled { 4285 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[39] 4286 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4287 ms.StoreMessageInfo(mi) 4288 } 4289} 4290 4291func (x *StatisticalTable) String() string { 4292 return protoimpl.X.MessageStringOf(x) 4293} 4294 4295func (*StatisticalTable) ProtoMessage() {} 4296 4297func (x *StatisticalTable) ProtoReflect() protoreflect.Message { 4298 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[39] 4299 if protoimpl.UnsafeEnabled && x != nil { 4300 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4301 if ms.LoadMessageInfo() == nil { 4302 ms.StoreMessageInfo(mi) 4303 } 4304 return ms 4305 } 4306 return mi.MessageOf(x) 4307} 4308 4309// Deprecated: Use StatisticalTable.ProtoReflect.Descriptor instead. 4310func (*StatisticalTable) Descriptor() ([]byte, []int) { 4311 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{39} 4312} 4313 4314func (x *StatisticalTable) GetTable() *BigQueryTable { 4315 if x != nil { 4316 return x.Table 4317 } 4318 return nil 4319} 4320 4321func (x *StatisticalTable) GetQuasiIds() []*StatisticalTable_QuasiIdentifierField { 4322 if x != nil { 4323 return x.QuasiIds 4324 } 4325 return nil 4326} 4327 4328func (x *StatisticalTable) GetRelativeFrequency() *FieldId { 4329 if x != nil { 4330 return x.RelativeFrequency 4331 } 4332 return nil 4333} 4334 4335// Privacy metric to compute for reidentification risk analysis. 4336type PrivacyMetric struct { 4337 state protoimpl.MessageState 4338 sizeCache protoimpl.SizeCache 4339 unknownFields protoimpl.UnknownFields 4340 4341 // Types of analysis. 4342 // 4343 // Types that are assignable to Type: 4344 // *PrivacyMetric_NumericalStatsConfig_ 4345 // *PrivacyMetric_CategoricalStatsConfig_ 4346 // *PrivacyMetric_KAnonymityConfig_ 4347 // *PrivacyMetric_LDiversityConfig_ 4348 // *PrivacyMetric_KMapEstimationConfig_ 4349 // *PrivacyMetric_DeltaPresenceEstimationConfig_ 4350 Type isPrivacyMetric_Type `protobuf_oneof:"type"` 4351} 4352 4353func (x *PrivacyMetric) Reset() { 4354 *x = PrivacyMetric{} 4355 if protoimpl.UnsafeEnabled { 4356 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[40] 4357 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4358 ms.StoreMessageInfo(mi) 4359 } 4360} 4361 4362func (x *PrivacyMetric) String() string { 4363 return protoimpl.X.MessageStringOf(x) 4364} 4365 4366func (*PrivacyMetric) ProtoMessage() {} 4367 4368func (x *PrivacyMetric) ProtoReflect() protoreflect.Message { 4369 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[40] 4370 if protoimpl.UnsafeEnabled && x != nil { 4371 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4372 if ms.LoadMessageInfo() == nil { 4373 ms.StoreMessageInfo(mi) 4374 } 4375 return ms 4376 } 4377 return mi.MessageOf(x) 4378} 4379 4380// Deprecated: Use PrivacyMetric.ProtoReflect.Descriptor instead. 4381func (*PrivacyMetric) Descriptor() ([]byte, []int) { 4382 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40} 4383} 4384 4385func (m *PrivacyMetric) GetType() isPrivacyMetric_Type { 4386 if m != nil { 4387 return m.Type 4388 } 4389 return nil 4390} 4391 4392func (x *PrivacyMetric) GetNumericalStatsConfig() *PrivacyMetric_NumericalStatsConfig { 4393 if x, ok := x.GetType().(*PrivacyMetric_NumericalStatsConfig_); ok { 4394 return x.NumericalStatsConfig 4395 } 4396 return nil 4397} 4398 4399func (x *PrivacyMetric) GetCategoricalStatsConfig() *PrivacyMetric_CategoricalStatsConfig { 4400 if x, ok := x.GetType().(*PrivacyMetric_CategoricalStatsConfig_); ok { 4401 return x.CategoricalStatsConfig 4402 } 4403 return nil 4404} 4405 4406func (x *PrivacyMetric) GetKAnonymityConfig() *PrivacyMetric_KAnonymityConfig { 4407 if x, ok := x.GetType().(*PrivacyMetric_KAnonymityConfig_); ok { 4408 return x.KAnonymityConfig 4409 } 4410 return nil 4411} 4412 4413func (x *PrivacyMetric) GetLDiversityConfig() *PrivacyMetric_LDiversityConfig { 4414 if x, ok := x.GetType().(*PrivacyMetric_LDiversityConfig_); ok { 4415 return x.LDiversityConfig 4416 } 4417 return nil 4418} 4419 4420func (x *PrivacyMetric) GetKMapEstimationConfig() *PrivacyMetric_KMapEstimationConfig { 4421 if x, ok := x.GetType().(*PrivacyMetric_KMapEstimationConfig_); ok { 4422 return x.KMapEstimationConfig 4423 } 4424 return nil 4425} 4426 4427func (x *PrivacyMetric) GetDeltaPresenceEstimationConfig() *PrivacyMetric_DeltaPresenceEstimationConfig { 4428 if x, ok := x.GetType().(*PrivacyMetric_DeltaPresenceEstimationConfig_); ok { 4429 return x.DeltaPresenceEstimationConfig 4430 } 4431 return nil 4432} 4433 4434type isPrivacyMetric_Type interface { 4435 isPrivacyMetric_Type() 4436} 4437 4438type PrivacyMetric_NumericalStatsConfig_ struct { 4439 // Numerical stats 4440 NumericalStatsConfig *PrivacyMetric_NumericalStatsConfig `protobuf:"bytes,1,opt,name=numerical_stats_config,json=numericalStatsConfig,proto3,oneof"` 4441} 4442 4443type PrivacyMetric_CategoricalStatsConfig_ struct { 4444 // Categorical stats 4445 CategoricalStatsConfig *PrivacyMetric_CategoricalStatsConfig `protobuf:"bytes,2,opt,name=categorical_stats_config,json=categoricalStatsConfig,proto3,oneof"` 4446} 4447 4448type PrivacyMetric_KAnonymityConfig_ struct { 4449 // K-anonymity 4450 KAnonymityConfig *PrivacyMetric_KAnonymityConfig `protobuf:"bytes,3,opt,name=k_anonymity_config,json=kAnonymityConfig,proto3,oneof"` 4451} 4452 4453type PrivacyMetric_LDiversityConfig_ struct { 4454 // l-diversity 4455 LDiversityConfig *PrivacyMetric_LDiversityConfig `protobuf:"bytes,4,opt,name=l_diversity_config,json=lDiversityConfig,proto3,oneof"` 4456} 4457 4458type PrivacyMetric_KMapEstimationConfig_ struct { 4459 // k-map 4460 KMapEstimationConfig *PrivacyMetric_KMapEstimationConfig `protobuf:"bytes,5,opt,name=k_map_estimation_config,json=kMapEstimationConfig,proto3,oneof"` 4461} 4462 4463type PrivacyMetric_DeltaPresenceEstimationConfig_ struct { 4464 // delta-presence 4465 DeltaPresenceEstimationConfig *PrivacyMetric_DeltaPresenceEstimationConfig `protobuf:"bytes,6,opt,name=delta_presence_estimation_config,json=deltaPresenceEstimationConfig,proto3,oneof"` 4466} 4467 4468func (*PrivacyMetric_NumericalStatsConfig_) isPrivacyMetric_Type() {} 4469 4470func (*PrivacyMetric_CategoricalStatsConfig_) isPrivacyMetric_Type() {} 4471 4472func (*PrivacyMetric_KAnonymityConfig_) isPrivacyMetric_Type() {} 4473 4474func (*PrivacyMetric_LDiversityConfig_) isPrivacyMetric_Type() {} 4475 4476func (*PrivacyMetric_KMapEstimationConfig_) isPrivacyMetric_Type() {} 4477 4478func (*PrivacyMetric_DeltaPresenceEstimationConfig_) isPrivacyMetric_Type() {} 4479 4480// Result of a risk analysis operation request. 4481type AnalyzeDataSourceRiskDetails struct { 4482 state protoimpl.MessageState 4483 sizeCache protoimpl.SizeCache 4484 unknownFields protoimpl.UnknownFields 4485 4486 // Privacy metric to compute. 4487 RequestedPrivacyMetric *PrivacyMetric `protobuf:"bytes,1,opt,name=requested_privacy_metric,json=requestedPrivacyMetric,proto3" json:"requested_privacy_metric,omitempty"` 4488 // Input dataset to compute metrics over. 4489 RequestedSourceTable *BigQueryTable `protobuf:"bytes,2,opt,name=requested_source_table,json=requestedSourceTable,proto3" json:"requested_source_table,omitempty"` 4490 // Values associated with this metric. 4491 // 4492 // Types that are assignable to Result: 4493 // *AnalyzeDataSourceRiskDetails_NumericalStatsResult_ 4494 // *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_ 4495 // *AnalyzeDataSourceRiskDetails_KAnonymityResult_ 4496 // *AnalyzeDataSourceRiskDetails_LDiversityResult_ 4497 // *AnalyzeDataSourceRiskDetails_KMapEstimationResult_ 4498 // *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_ 4499 Result isAnalyzeDataSourceRiskDetails_Result `protobuf_oneof:"result"` 4500 // The configuration used for this job. 4501 RequestedOptions *AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions `protobuf:"bytes,10,opt,name=requested_options,json=requestedOptions,proto3" json:"requested_options,omitempty"` 4502} 4503 4504func (x *AnalyzeDataSourceRiskDetails) Reset() { 4505 *x = AnalyzeDataSourceRiskDetails{} 4506 if protoimpl.UnsafeEnabled { 4507 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[41] 4508 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4509 ms.StoreMessageInfo(mi) 4510 } 4511} 4512 4513func (x *AnalyzeDataSourceRiskDetails) String() string { 4514 return protoimpl.X.MessageStringOf(x) 4515} 4516 4517func (*AnalyzeDataSourceRiskDetails) ProtoMessage() {} 4518 4519func (x *AnalyzeDataSourceRiskDetails) ProtoReflect() protoreflect.Message { 4520 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[41] 4521 if protoimpl.UnsafeEnabled && x != nil { 4522 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4523 if ms.LoadMessageInfo() == nil { 4524 ms.StoreMessageInfo(mi) 4525 } 4526 return ms 4527 } 4528 return mi.MessageOf(x) 4529} 4530 4531// Deprecated: Use AnalyzeDataSourceRiskDetails.ProtoReflect.Descriptor instead. 4532func (*AnalyzeDataSourceRiskDetails) Descriptor() ([]byte, []int) { 4533 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41} 4534} 4535 4536func (x *AnalyzeDataSourceRiskDetails) GetRequestedPrivacyMetric() *PrivacyMetric { 4537 if x != nil { 4538 return x.RequestedPrivacyMetric 4539 } 4540 return nil 4541} 4542 4543func (x *AnalyzeDataSourceRiskDetails) GetRequestedSourceTable() *BigQueryTable { 4544 if x != nil { 4545 return x.RequestedSourceTable 4546 } 4547 return nil 4548} 4549 4550func (m *AnalyzeDataSourceRiskDetails) GetResult() isAnalyzeDataSourceRiskDetails_Result { 4551 if m != nil { 4552 return m.Result 4553 } 4554 return nil 4555} 4556 4557func (x *AnalyzeDataSourceRiskDetails) GetNumericalStatsResult() *AnalyzeDataSourceRiskDetails_NumericalStatsResult { 4558 if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_NumericalStatsResult_); ok { 4559 return x.NumericalStatsResult 4560 } 4561 return nil 4562} 4563 4564func (x *AnalyzeDataSourceRiskDetails) GetCategoricalStatsResult() *AnalyzeDataSourceRiskDetails_CategoricalStatsResult { 4565 if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_); ok { 4566 return x.CategoricalStatsResult 4567 } 4568 return nil 4569} 4570 4571func (x *AnalyzeDataSourceRiskDetails) GetKAnonymityResult() *AnalyzeDataSourceRiskDetails_KAnonymityResult { 4572 if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_KAnonymityResult_); ok { 4573 return x.KAnonymityResult 4574 } 4575 return nil 4576} 4577 4578func (x *AnalyzeDataSourceRiskDetails) GetLDiversityResult() *AnalyzeDataSourceRiskDetails_LDiversityResult { 4579 if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_LDiversityResult_); ok { 4580 return x.LDiversityResult 4581 } 4582 return nil 4583} 4584 4585func (x *AnalyzeDataSourceRiskDetails) GetKMapEstimationResult() *AnalyzeDataSourceRiskDetails_KMapEstimationResult { 4586 if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_); ok { 4587 return x.KMapEstimationResult 4588 } 4589 return nil 4590} 4591 4592func (x *AnalyzeDataSourceRiskDetails) GetDeltaPresenceEstimationResult() *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult { 4593 if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_); ok { 4594 return x.DeltaPresenceEstimationResult 4595 } 4596 return nil 4597} 4598 4599func (x *AnalyzeDataSourceRiskDetails) GetRequestedOptions() *AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions { 4600 if x != nil { 4601 return x.RequestedOptions 4602 } 4603 return nil 4604} 4605 4606type isAnalyzeDataSourceRiskDetails_Result interface { 4607 isAnalyzeDataSourceRiskDetails_Result() 4608} 4609 4610type AnalyzeDataSourceRiskDetails_NumericalStatsResult_ struct { 4611 // Numerical stats result 4612 NumericalStatsResult *AnalyzeDataSourceRiskDetails_NumericalStatsResult `protobuf:"bytes,3,opt,name=numerical_stats_result,json=numericalStatsResult,proto3,oneof"` 4613} 4614 4615type AnalyzeDataSourceRiskDetails_CategoricalStatsResult_ struct { 4616 // Categorical stats result 4617 CategoricalStatsResult *AnalyzeDataSourceRiskDetails_CategoricalStatsResult `protobuf:"bytes,4,opt,name=categorical_stats_result,json=categoricalStatsResult,proto3,oneof"` 4618} 4619 4620type AnalyzeDataSourceRiskDetails_KAnonymityResult_ struct { 4621 // K-anonymity result 4622 KAnonymityResult *AnalyzeDataSourceRiskDetails_KAnonymityResult `protobuf:"bytes,5,opt,name=k_anonymity_result,json=kAnonymityResult,proto3,oneof"` 4623} 4624 4625type AnalyzeDataSourceRiskDetails_LDiversityResult_ struct { 4626 // L-divesity result 4627 LDiversityResult *AnalyzeDataSourceRiskDetails_LDiversityResult `protobuf:"bytes,6,opt,name=l_diversity_result,json=lDiversityResult,proto3,oneof"` 4628} 4629 4630type AnalyzeDataSourceRiskDetails_KMapEstimationResult_ struct { 4631 // K-map result 4632 KMapEstimationResult *AnalyzeDataSourceRiskDetails_KMapEstimationResult `protobuf:"bytes,7,opt,name=k_map_estimation_result,json=kMapEstimationResult,proto3,oneof"` 4633} 4634 4635type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_ struct { 4636 // Delta-presence result 4637 DeltaPresenceEstimationResult *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult `protobuf:"bytes,9,opt,name=delta_presence_estimation_result,json=deltaPresenceEstimationResult,proto3,oneof"` 4638} 4639 4640func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult_) isAnalyzeDataSourceRiskDetails_Result() {} 4641 4642func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_) isAnalyzeDataSourceRiskDetails_Result() { 4643} 4644 4645func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_) isAnalyzeDataSourceRiskDetails_Result() {} 4646 4647func (*AnalyzeDataSourceRiskDetails_LDiversityResult_) isAnalyzeDataSourceRiskDetails_Result() {} 4648 4649func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_) isAnalyzeDataSourceRiskDetails_Result() {} 4650 4651func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_) isAnalyzeDataSourceRiskDetails_Result() { 4652} 4653 4654// A value of a field, including its frequency. 4655type ValueFrequency struct { 4656 state protoimpl.MessageState 4657 sizeCache protoimpl.SizeCache 4658 unknownFields protoimpl.UnknownFields 4659 4660 // A value contained in the field in question. 4661 Value *Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 4662 // How many times the value is contained in the field. 4663 Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` 4664} 4665 4666func (x *ValueFrequency) Reset() { 4667 *x = ValueFrequency{} 4668 if protoimpl.UnsafeEnabled { 4669 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[42] 4670 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4671 ms.StoreMessageInfo(mi) 4672 } 4673} 4674 4675func (x *ValueFrequency) String() string { 4676 return protoimpl.X.MessageStringOf(x) 4677} 4678 4679func (*ValueFrequency) ProtoMessage() {} 4680 4681func (x *ValueFrequency) ProtoReflect() protoreflect.Message { 4682 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[42] 4683 if protoimpl.UnsafeEnabled && x != nil { 4684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4685 if ms.LoadMessageInfo() == nil { 4686 ms.StoreMessageInfo(mi) 4687 } 4688 return ms 4689 } 4690 return mi.MessageOf(x) 4691} 4692 4693// Deprecated: Use ValueFrequency.ProtoReflect.Descriptor instead. 4694func (*ValueFrequency) Descriptor() ([]byte, []int) { 4695 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{42} 4696} 4697 4698func (x *ValueFrequency) GetValue() *Value { 4699 if x != nil { 4700 return x.Value 4701 } 4702 return nil 4703} 4704 4705func (x *ValueFrequency) GetCount() int64 { 4706 if x != nil { 4707 return x.Count 4708 } 4709 return 0 4710} 4711 4712// Set of primitive values supported by the system. 4713// Note that for the purposes of inspection or transformation, the number 4714// of bytes considered to comprise a 'Value' is based on its representation 4715// as a UTF-8 encoded string. For example, if 'integer_value' is set to 4716// 123456789, the number of bytes would be counted as 9, even though an 4717// int64 only holds up to 8 bytes of data. 4718type Value struct { 4719 state protoimpl.MessageState 4720 sizeCache protoimpl.SizeCache 4721 unknownFields protoimpl.UnknownFields 4722 4723 // Value types 4724 // 4725 // Types that are assignable to Type: 4726 // *Value_IntegerValue 4727 // *Value_FloatValue 4728 // *Value_StringValue 4729 // *Value_BooleanValue 4730 // *Value_TimestampValue 4731 // *Value_TimeValue 4732 // *Value_DateValue 4733 // *Value_DayOfWeekValue 4734 Type isValue_Type `protobuf_oneof:"type"` 4735} 4736 4737func (x *Value) Reset() { 4738 *x = Value{} 4739 if protoimpl.UnsafeEnabled { 4740 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[43] 4741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4742 ms.StoreMessageInfo(mi) 4743 } 4744} 4745 4746func (x *Value) String() string { 4747 return protoimpl.X.MessageStringOf(x) 4748} 4749 4750func (*Value) ProtoMessage() {} 4751 4752func (x *Value) ProtoReflect() protoreflect.Message { 4753 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[43] 4754 if protoimpl.UnsafeEnabled && x != nil { 4755 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4756 if ms.LoadMessageInfo() == nil { 4757 ms.StoreMessageInfo(mi) 4758 } 4759 return ms 4760 } 4761 return mi.MessageOf(x) 4762} 4763 4764// Deprecated: Use Value.ProtoReflect.Descriptor instead. 4765func (*Value) Descriptor() ([]byte, []int) { 4766 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{43} 4767} 4768 4769func (m *Value) GetType() isValue_Type { 4770 if m != nil { 4771 return m.Type 4772 } 4773 return nil 4774} 4775 4776func (x *Value) GetIntegerValue() int64 { 4777 if x, ok := x.GetType().(*Value_IntegerValue); ok { 4778 return x.IntegerValue 4779 } 4780 return 0 4781} 4782 4783func (x *Value) GetFloatValue() float64 { 4784 if x, ok := x.GetType().(*Value_FloatValue); ok { 4785 return x.FloatValue 4786 } 4787 return 0 4788} 4789 4790func (x *Value) GetStringValue() string { 4791 if x, ok := x.GetType().(*Value_StringValue); ok { 4792 return x.StringValue 4793 } 4794 return "" 4795} 4796 4797func (x *Value) GetBooleanValue() bool { 4798 if x, ok := x.GetType().(*Value_BooleanValue); ok { 4799 return x.BooleanValue 4800 } 4801 return false 4802} 4803 4804func (x *Value) GetTimestampValue() *timestamppb.Timestamp { 4805 if x, ok := x.GetType().(*Value_TimestampValue); ok { 4806 return x.TimestampValue 4807 } 4808 return nil 4809} 4810 4811func (x *Value) GetTimeValue() *timeofday.TimeOfDay { 4812 if x, ok := x.GetType().(*Value_TimeValue); ok { 4813 return x.TimeValue 4814 } 4815 return nil 4816} 4817 4818func (x *Value) GetDateValue() *date.Date { 4819 if x, ok := x.GetType().(*Value_DateValue); ok { 4820 return x.DateValue 4821 } 4822 return nil 4823} 4824 4825func (x *Value) GetDayOfWeekValue() dayofweek.DayOfWeek { 4826 if x, ok := x.GetType().(*Value_DayOfWeekValue); ok { 4827 return x.DayOfWeekValue 4828 } 4829 return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED 4830} 4831 4832type isValue_Type interface { 4833 isValue_Type() 4834} 4835 4836type Value_IntegerValue struct { 4837 // integer 4838 IntegerValue int64 `protobuf:"varint,1,opt,name=integer_value,json=integerValue,proto3,oneof"` 4839} 4840 4841type Value_FloatValue struct { 4842 // float 4843 FloatValue float64 `protobuf:"fixed64,2,opt,name=float_value,json=floatValue,proto3,oneof"` 4844} 4845 4846type Value_StringValue struct { 4847 // string 4848 StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"` 4849} 4850 4851type Value_BooleanValue struct { 4852 // boolean 4853 BooleanValue bool `protobuf:"varint,4,opt,name=boolean_value,json=booleanValue,proto3,oneof"` 4854} 4855 4856type Value_TimestampValue struct { 4857 // timestamp 4858 TimestampValue *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp_value,json=timestampValue,proto3,oneof"` 4859} 4860 4861type Value_TimeValue struct { 4862 // time of day 4863 TimeValue *timeofday.TimeOfDay `protobuf:"bytes,6,opt,name=time_value,json=timeValue,proto3,oneof"` 4864} 4865 4866type Value_DateValue struct { 4867 // date 4868 DateValue *date.Date `protobuf:"bytes,7,opt,name=date_value,json=dateValue,proto3,oneof"` 4869} 4870 4871type Value_DayOfWeekValue struct { 4872 // day of week 4873 DayOfWeekValue dayofweek.DayOfWeek `protobuf:"varint,8,opt,name=day_of_week_value,json=dayOfWeekValue,proto3,enum=google.type.DayOfWeek,oneof"` 4874} 4875 4876func (*Value_IntegerValue) isValue_Type() {} 4877 4878func (*Value_FloatValue) isValue_Type() {} 4879 4880func (*Value_StringValue) isValue_Type() {} 4881 4882func (*Value_BooleanValue) isValue_Type() {} 4883 4884func (*Value_TimestampValue) isValue_Type() {} 4885 4886func (*Value_TimeValue) isValue_Type() {} 4887 4888func (*Value_DateValue) isValue_Type() {} 4889 4890func (*Value_DayOfWeekValue) isValue_Type() {} 4891 4892// Message for infoType-dependent details parsed from quote. 4893type QuoteInfo struct { 4894 state protoimpl.MessageState 4895 sizeCache protoimpl.SizeCache 4896 unknownFields protoimpl.UnknownFields 4897 4898 // Object representation of the quote. 4899 // 4900 // Types that are assignable to ParsedQuote: 4901 // *QuoteInfo_DateTime 4902 ParsedQuote isQuoteInfo_ParsedQuote `protobuf_oneof:"parsed_quote"` 4903} 4904 4905func (x *QuoteInfo) Reset() { 4906 *x = QuoteInfo{} 4907 if protoimpl.UnsafeEnabled { 4908 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[44] 4909 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4910 ms.StoreMessageInfo(mi) 4911 } 4912} 4913 4914func (x *QuoteInfo) String() string { 4915 return protoimpl.X.MessageStringOf(x) 4916} 4917 4918func (*QuoteInfo) ProtoMessage() {} 4919 4920func (x *QuoteInfo) ProtoReflect() protoreflect.Message { 4921 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[44] 4922 if protoimpl.UnsafeEnabled && x != nil { 4923 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4924 if ms.LoadMessageInfo() == nil { 4925 ms.StoreMessageInfo(mi) 4926 } 4927 return ms 4928 } 4929 return mi.MessageOf(x) 4930} 4931 4932// Deprecated: Use QuoteInfo.ProtoReflect.Descriptor instead. 4933func (*QuoteInfo) Descriptor() ([]byte, []int) { 4934 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{44} 4935} 4936 4937func (m *QuoteInfo) GetParsedQuote() isQuoteInfo_ParsedQuote { 4938 if m != nil { 4939 return m.ParsedQuote 4940 } 4941 return nil 4942} 4943 4944func (x *QuoteInfo) GetDateTime() *DateTime { 4945 if x, ok := x.GetParsedQuote().(*QuoteInfo_DateTime); ok { 4946 return x.DateTime 4947 } 4948 return nil 4949} 4950 4951type isQuoteInfo_ParsedQuote interface { 4952 isQuoteInfo_ParsedQuote() 4953} 4954 4955type QuoteInfo_DateTime struct { 4956 // The date time indicated by the quote. 4957 DateTime *DateTime `protobuf:"bytes,2,opt,name=date_time,json=dateTime,proto3,oneof"` 4958} 4959 4960func (*QuoteInfo_DateTime) isQuoteInfo_ParsedQuote() {} 4961 4962// Message for a date time object. 4963// e.g. 2018-01-01, 5th August. 4964type DateTime struct { 4965 state protoimpl.MessageState 4966 sizeCache protoimpl.SizeCache 4967 unknownFields protoimpl.UnknownFields 4968 4969 // One or more of the following must be set. 4970 // Must be a valid date or time value. 4971 Date *date.Date `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"` 4972 // Day of week 4973 DayOfWeek dayofweek.DayOfWeek `protobuf:"varint,2,opt,name=day_of_week,json=dayOfWeek,proto3,enum=google.type.DayOfWeek" json:"day_of_week,omitempty"` 4974 // Time of day 4975 Time *timeofday.TimeOfDay `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"` 4976 // Time zone 4977 TimeZone *DateTime_TimeZone `protobuf:"bytes,4,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"` 4978} 4979 4980func (x *DateTime) Reset() { 4981 *x = DateTime{} 4982 if protoimpl.UnsafeEnabled { 4983 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[45] 4984 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4985 ms.StoreMessageInfo(mi) 4986 } 4987} 4988 4989func (x *DateTime) String() string { 4990 return protoimpl.X.MessageStringOf(x) 4991} 4992 4993func (*DateTime) ProtoMessage() {} 4994 4995func (x *DateTime) ProtoReflect() protoreflect.Message { 4996 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[45] 4997 if protoimpl.UnsafeEnabled && x != nil { 4998 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4999 if ms.LoadMessageInfo() == nil { 5000 ms.StoreMessageInfo(mi) 5001 } 5002 return ms 5003 } 5004 return mi.MessageOf(x) 5005} 5006 5007// Deprecated: Use DateTime.ProtoReflect.Descriptor instead. 5008func (*DateTime) Descriptor() ([]byte, []int) { 5009 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{45} 5010} 5011 5012func (x *DateTime) GetDate() *date.Date { 5013 if x != nil { 5014 return x.Date 5015 } 5016 return nil 5017} 5018 5019func (x *DateTime) GetDayOfWeek() dayofweek.DayOfWeek { 5020 if x != nil { 5021 return x.DayOfWeek 5022 } 5023 return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED 5024} 5025 5026func (x *DateTime) GetTime() *timeofday.TimeOfDay { 5027 if x != nil { 5028 return x.Time 5029 } 5030 return nil 5031} 5032 5033func (x *DateTime) GetTimeZone() *DateTime_TimeZone { 5034 if x != nil { 5035 return x.TimeZone 5036 } 5037 return nil 5038} 5039 5040// The configuration that controls how the data will change. 5041type DeidentifyConfig struct { 5042 state protoimpl.MessageState 5043 sizeCache protoimpl.SizeCache 5044 unknownFields protoimpl.UnknownFields 5045 5046 // Types that are assignable to Transformation: 5047 // *DeidentifyConfig_InfoTypeTransformations 5048 // *DeidentifyConfig_RecordTransformations 5049 Transformation isDeidentifyConfig_Transformation `protobuf_oneof:"transformation"` 5050 // Mode for handling transformation errors. If left unspecified, the default 5051 // mode is `TransformationErrorHandling.ThrowError`. 5052 TransformationErrorHandling *TransformationErrorHandling `protobuf:"bytes,3,opt,name=transformation_error_handling,json=transformationErrorHandling,proto3" json:"transformation_error_handling,omitempty"` 5053} 5054 5055func (x *DeidentifyConfig) Reset() { 5056 *x = DeidentifyConfig{} 5057 if protoimpl.UnsafeEnabled { 5058 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[46] 5059 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5060 ms.StoreMessageInfo(mi) 5061 } 5062} 5063 5064func (x *DeidentifyConfig) String() string { 5065 return protoimpl.X.MessageStringOf(x) 5066} 5067 5068func (*DeidentifyConfig) ProtoMessage() {} 5069 5070func (x *DeidentifyConfig) ProtoReflect() protoreflect.Message { 5071 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[46] 5072 if protoimpl.UnsafeEnabled && x != nil { 5073 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5074 if ms.LoadMessageInfo() == nil { 5075 ms.StoreMessageInfo(mi) 5076 } 5077 return ms 5078 } 5079 return mi.MessageOf(x) 5080} 5081 5082// Deprecated: Use DeidentifyConfig.ProtoReflect.Descriptor instead. 5083func (*DeidentifyConfig) Descriptor() ([]byte, []int) { 5084 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{46} 5085} 5086 5087func (m *DeidentifyConfig) GetTransformation() isDeidentifyConfig_Transformation { 5088 if m != nil { 5089 return m.Transformation 5090 } 5091 return nil 5092} 5093 5094func (x *DeidentifyConfig) GetInfoTypeTransformations() *InfoTypeTransformations { 5095 if x, ok := x.GetTransformation().(*DeidentifyConfig_InfoTypeTransformations); ok { 5096 return x.InfoTypeTransformations 5097 } 5098 return nil 5099} 5100 5101func (x *DeidentifyConfig) GetRecordTransformations() *RecordTransformations { 5102 if x, ok := x.GetTransformation().(*DeidentifyConfig_RecordTransformations); ok { 5103 return x.RecordTransformations 5104 } 5105 return nil 5106} 5107 5108func (x *DeidentifyConfig) GetTransformationErrorHandling() *TransformationErrorHandling { 5109 if x != nil { 5110 return x.TransformationErrorHandling 5111 } 5112 return nil 5113} 5114 5115type isDeidentifyConfig_Transformation interface { 5116 isDeidentifyConfig_Transformation() 5117} 5118 5119type DeidentifyConfig_InfoTypeTransformations struct { 5120 // Treat the dataset as free-form text and apply the same free text 5121 // transformation everywhere. 5122 InfoTypeTransformations *InfoTypeTransformations `protobuf:"bytes,1,opt,name=info_type_transformations,json=infoTypeTransformations,proto3,oneof"` 5123} 5124 5125type DeidentifyConfig_RecordTransformations struct { 5126 // Treat the dataset as structured. Transformations can be applied to 5127 // specific locations within structured datasets, such as transforming 5128 // a column within a table. 5129 RecordTransformations *RecordTransformations `protobuf:"bytes,2,opt,name=record_transformations,json=recordTransformations,proto3,oneof"` 5130} 5131 5132func (*DeidentifyConfig_InfoTypeTransformations) isDeidentifyConfig_Transformation() {} 5133 5134func (*DeidentifyConfig_RecordTransformations) isDeidentifyConfig_Transformation() {} 5135 5136// How to handle transformation errors during de-identification. A 5137// transformation error occurs when the requested transformation is incompatible 5138// with the data. For example, trying to de-identify an IP address using a 5139// `DateShift` transformation would result in a transformation error, since date 5140// info cannot be extracted from an IP address. 5141// Information about any incompatible transformations, and how they were 5142// handled, is returned in the response as part of the 5143// `TransformationOverviews`. 5144type TransformationErrorHandling struct { 5145 state protoimpl.MessageState 5146 sizeCache protoimpl.SizeCache 5147 unknownFields protoimpl.UnknownFields 5148 5149 // How transformation errors should be handled. 5150 // 5151 // Types that are assignable to Mode: 5152 // *TransformationErrorHandling_ThrowError_ 5153 // *TransformationErrorHandling_LeaveUntransformed_ 5154 Mode isTransformationErrorHandling_Mode `protobuf_oneof:"mode"` 5155} 5156 5157func (x *TransformationErrorHandling) Reset() { 5158 *x = TransformationErrorHandling{} 5159 if protoimpl.UnsafeEnabled { 5160 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[47] 5161 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5162 ms.StoreMessageInfo(mi) 5163 } 5164} 5165 5166func (x *TransformationErrorHandling) String() string { 5167 return protoimpl.X.MessageStringOf(x) 5168} 5169 5170func (*TransformationErrorHandling) ProtoMessage() {} 5171 5172func (x *TransformationErrorHandling) ProtoReflect() protoreflect.Message { 5173 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[47] 5174 if protoimpl.UnsafeEnabled && x != nil { 5175 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5176 if ms.LoadMessageInfo() == nil { 5177 ms.StoreMessageInfo(mi) 5178 } 5179 return ms 5180 } 5181 return mi.MessageOf(x) 5182} 5183 5184// Deprecated: Use TransformationErrorHandling.ProtoReflect.Descriptor instead. 5185func (*TransformationErrorHandling) Descriptor() ([]byte, []int) { 5186 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{47} 5187} 5188 5189func (m *TransformationErrorHandling) GetMode() isTransformationErrorHandling_Mode { 5190 if m != nil { 5191 return m.Mode 5192 } 5193 return nil 5194} 5195 5196func (x *TransformationErrorHandling) GetThrowError() *TransformationErrorHandling_ThrowError { 5197 if x, ok := x.GetMode().(*TransformationErrorHandling_ThrowError_); ok { 5198 return x.ThrowError 5199 } 5200 return nil 5201} 5202 5203func (x *TransformationErrorHandling) GetLeaveUntransformed() *TransformationErrorHandling_LeaveUntransformed { 5204 if x, ok := x.GetMode().(*TransformationErrorHandling_LeaveUntransformed_); ok { 5205 return x.LeaveUntransformed 5206 } 5207 return nil 5208} 5209 5210type isTransformationErrorHandling_Mode interface { 5211 isTransformationErrorHandling_Mode() 5212} 5213 5214type TransformationErrorHandling_ThrowError_ struct { 5215 // Throw an error 5216 ThrowError *TransformationErrorHandling_ThrowError `protobuf:"bytes,1,opt,name=throw_error,json=throwError,proto3,oneof"` 5217} 5218 5219type TransformationErrorHandling_LeaveUntransformed_ struct { 5220 // Ignore errors 5221 LeaveUntransformed *TransformationErrorHandling_LeaveUntransformed `protobuf:"bytes,2,opt,name=leave_untransformed,json=leaveUntransformed,proto3,oneof"` 5222} 5223 5224func (*TransformationErrorHandling_ThrowError_) isTransformationErrorHandling_Mode() {} 5225 5226func (*TransformationErrorHandling_LeaveUntransformed_) isTransformationErrorHandling_Mode() {} 5227 5228// A rule for transforming a value. 5229type PrimitiveTransformation struct { 5230 state protoimpl.MessageState 5231 sizeCache protoimpl.SizeCache 5232 unknownFields protoimpl.UnknownFields 5233 5234 // Types that are assignable to Transformation: 5235 // *PrimitiveTransformation_ReplaceConfig 5236 // *PrimitiveTransformation_RedactConfig 5237 // *PrimitiveTransformation_CharacterMaskConfig 5238 // *PrimitiveTransformation_CryptoReplaceFfxFpeConfig 5239 // *PrimitiveTransformation_FixedSizeBucketingConfig 5240 // *PrimitiveTransformation_BucketingConfig 5241 // *PrimitiveTransformation_ReplaceWithInfoTypeConfig 5242 // *PrimitiveTransformation_TimePartConfig 5243 // *PrimitiveTransformation_CryptoHashConfig 5244 // *PrimitiveTransformation_DateShiftConfig 5245 // *PrimitiveTransformation_CryptoDeterministicConfig 5246 Transformation isPrimitiveTransformation_Transformation `protobuf_oneof:"transformation"` 5247} 5248 5249func (x *PrimitiveTransformation) Reset() { 5250 *x = PrimitiveTransformation{} 5251 if protoimpl.UnsafeEnabled { 5252 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[48] 5253 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5254 ms.StoreMessageInfo(mi) 5255 } 5256} 5257 5258func (x *PrimitiveTransformation) String() string { 5259 return protoimpl.X.MessageStringOf(x) 5260} 5261 5262func (*PrimitiveTransformation) ProtoMessage() {} 5263 5264func (x *PrimitiveTransformation) ProtoReflect() protoreflect.Message { 5265 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[48] 5266 if protoimpl.UnsafeEnabled && x != nil { 5267 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5268 if ms.LoadMessageInfo() == nil { 5269 ms.StoreMessageInfo(mi) 5270 } 5271 return ms 5272 } 5273 return mi.MessageOf(x) 5274} 5275 5276// Deprecated: Use PrimitiveTransformation.ProtoReflect.Descriptor instead. 5277func (*PrimitiveTransformation) Descriptor() ([]byte, []int) { 5278 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{48} 5279} 5280 5281func (m *PrimitiveTransformation) GetTransformation() isPrimitiveTransformation_Transformation { 5282 if m != nil { 5283 return m.Transformation 5284 } 5285 return nil 5286} 5287 5288func (x *PrimitiveTransformation) GetReplaceConfig() *ReplaceValueConfig { 5289 if x, ok := x.GetTransformation().(*PrimitiveTransformation_ReplaceConfig); ok { 5290 return x.ReplaceConfig 5291 } 5292 return nil 5293} 5294 5295func (x *PrimitiveTransformation) GetRedactConfig() *RedactConfig { 5296 if x, ok := x.GetTransformation().(*PrimitiveTransformation_RedactConfig); ok { 5297 return x.RedactConfig 5298 } 5299 return nil 5300} 5301 5302func (x *PrimitiveTransformation) GetCharacterMaskConfig() *CharacterMaskConfig { 5303 if x, ok := x.GetTransformation().(*PrimitiveTransformation_CharacterMaskConfig); ok { 5304 return x.CharacterMaskConfig 5305 } 5306 return nil 5307} 5308 5309func (x *PrimitiveTransformation) GetCryptoReplaceFfxFpeConfig() *CryptoReplaceFfxFpeConfig { 5310 if x, ok := x.GetTransformation().(*PrimitiveTransformation_CryptoReplaceFfxFpeConfig); ok { 5311 return x.CryptoReplaceFfxFpeConfig 5312 } 5313 return nil 5314} 5315 5316func (x *PrimitiveTransformation) GetFixedSizeBucketingConfig() *FixedSizeBucketingConfig { 5317 if x, ok := x.GetTransformation().(*PrimitiveTransformation_FixedSizeBucketingConfig); ok { 5318 return x.FixedSizeBucketingConfig 5319 } 5320 return nil 5321} 5322 5323func (x *PrimitiveTransformation) GetBucketingConfig() *BucketingConfig { 5324 if x, ok := x.GetTransformation().(*PrimitiveTransformation_BucketingConfig); ok { 5325 return x.BucketingConfig 5326 } 5327 return nil 5328} 5329 5330func (x *PrimitiveTransformation) GetReplaceWithInfoTypeConfig() *ReplaceWithInfoTypeConfig { 5331 if x, ok := x.GetTransformation().(*PrimitiveTransformation_ReplaceWithInfoTypeConfig); ok { 5332 return x.ReplaceWithInfoTypeConfig 5333 } 5334 return nil 5335} 5336 5337func (x *PrimitiveTransformation) GetTimePartConfig() *TimePartConfig { 5338 if x, ok := x.GetTransformation().(*PrimitiveTransformation_TimePartConfig); ok { 5339 return x.TimePartConfig 5340 } 5341 return nil 5342} 5343 5344func (x *PrimitiveTransformation) GetCryptoHashConfig() *CryptoHashConfig { 5345 if x, ok := x.GetTransformation().(*PrimitiveTransformation_CryptoHashConfig); ok { 5346 return x.CryptoHashConfig 5347 } 5348 return nil 5349} 5350 5351func (x *PrimitiveTransformation) GetDateShiftConfig() *DateShiftConfig { 5352 if x, ok := x.GetTransformation().(*PrimitiveTransformation_DateShiftConfig); ok { 5353 return x.DateShiftConfig 5354 } 5355 return nil 5356} 5357 5358func (x *PrimitiveTransformation) GetCryptoDeterministicConfig() *CryptoDeterministicConfig { 5359 if x, ok := x.GetTransformation().(*PrimitiveTransformation_CryptoDeterministicConfig); ok { 5360 return x.CryptoDeterministicConfig 5361 } 5362 return nil 5363} 5364 5365type isPrimitiveTransformation_Transformation interface { 5366 isPrimitiveTransformation_Transformation() 5367} 5368 5369type PrimitiveTransformation_ReplaceConfig struct { 5370 // Replace 5371 ReplaceConfig *ReplaceValueConfig `protobuf:"bytes,1,opt,name=replace_config,json=replaceConfig,proto3,oneof"` 5372} 5373 5374type PrimitiveTransformation_RedactConfig struct { 5375 // Redact 5376 RedactConfig *RedactConfig `protobuf:"bytes,2,opt,name=redact_config,json=redactConfig,proto3,oneof"` 5377} 5378 5379type PrimitiveTransformation_CharacterMaskConfig struct { 5380 // Mask 5381 CharacterMaskConfig *CharacterMaskConfig `protobuf:"bytes,3,opt,name=character_mask_config,json=characterMaskConfig,proto3,oneof"` 5382} 5383 5384type PrimitiveTransformation_CryptoReplaceFfxFpeConfig struct { 5385 // Ffx-Fpe 5386 CryptoReplaceFfxFpeConfig *CryptoReplaceFfxFpeConfig `protobuf:"bytes,4,opt,name=crypto_replace_ffx_fpe_config,json=cryptoReplaceFfxFpeConfig,proto3,oneof"` 5387} 5388 5389type PrimitiveTransformation_FixedSizeBucketingConfig struct { 5390 // Fixed size bucketing 5391 FixedSizeBucketingConfig *FixedSizeBucketingConfig `protobuf:"bytes,5,opt,name=fixed_size_bucketing_config,json=fixedSizeBucketingConfig,proto3,oneof"` 5392} 5393 5394type PrimitiveTransformation_BucketingConfig struct { 5395 // Bucketing 5396 BucketingConfig *BucketingConfig `protobuf:"bytes,6,opt,name=bucketing_config,json=bucketingConfig,proto3,oneof"` 5397} 5398 5399type PrimitiveTransformation_ReplaceWithInfoTypeConfig struct { 5400 // Replace with infotype 5401 ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `protobuf:"bytes,7,opt,name=replace_with_info_type_config,json=replaceWithInfoTypeConfig,proto3,oneof"` 5402} 5403 5404type PrimitiveTransformation_TimePartConfig struct { 5405 // Time extraction 5406 TimePartConfig *TimePartConfig `protobuf:"bytes,8,opt,name=time_part_config,json=timePartConfig,proto3,oneof"` 5407} 5408 5409type PrimitiveTransformation_CryptoHashConfig struct { 5410 // Crypto 5411 CryptoHashConfig *CryptoHashConfig `protobuf:"bytes,9,opt,name=crypto_hash_config,json=cryptoHashConfig,proto3,oneof"` 5412} 5413 5414type PrimitiveTransformation_DateShiftConfig struct { 5415 // Date Shift 5416 DateShiftConfig *DateShiftConfig `protobuf:"bytes,11,opt,name=date_shift_config,json=dateShiftConfig,proto3,oneof"` 5417} 5418 5419type PrimitiveTransformation_CryptoDeterministicConfig struct { 5420 // Deterministic Crypto 5421 CryptoDeterministicConfig *CryptoDeterministicConfig `protobuf:"bytes,12,opt,name=crypto_deterministic_config,json=cryptoDeterministicConfig,proto3,oneof"` 5422} 5423 5424func (*PrimitiveTransformation_ReplaceConfig) isPrimitiveTransformation_Transformation() {} 5425 5426func (*PrimitiveTransformation_RedactConfig) isPrimitiveTransformation_Transformation() {} 5427 5428func (*PrimitiveTransformation_CharacterMaskConfig) isPrimitiveTransformation_Transformation() {} 5429 5430func (*PrimitiveTransformation_CryptoReplaceFfxFpeConfig) isPrimitiveTransformation_Transformation() { 5431} 5432 5433func (*PrimitiveTransformation_FixedSizeBucketingConfig) isPrimitiveTransformation_Transformation() {} 5434 5435func (*PrimitiveTransformation_BucketingConfig) isPrimitiveTransformation_Transformation() {} 5436 5437func (*PrimitiveTransformation_ReplaceWithInfoTypeConfig) isPrimitiveTransformation_Transformation() { 5438} 5439 5440func (*PrimitiveTransformation_TimePartConfig) isPrimitiveTransformation_Transformation() {} 5441 5442func (*PrimitiveTransformation_CryptoHashConfig) isPrimitiveTransformation_Transformation() {} 5443 5444func (*PrimitiveTransformation_DateShiftConfig) isPrimitiveTransformation_Transformation() {} 5445 5446func (*PrimitiveTransformation_CryptoDeterministicConfig) isPrimitiveTransformation_Transformation() { 5447} 5448 5449// For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a 5450// portion of the value. 5451type TimePartConfig struct { 5452 state protoimpl.MessageState 5453 sizeCache protoimpl.SizeCache 5454 unknownFields protoimpl.UnknownFields 5455 5456 // The part of the time to keep. 5457 PartToExtract TimePartConfig_TimePart `protobuf:"varint,1,opt,name=part_to_extract,json=partToExtract,proto3,enum=google.privacy.dlp.v2.TimePartConfig_TimePart" json:"part_to_extract,omitempty"` 5458} 5459 5460func (x *TimePartConfig) Reset() { 5461 *x = TimePartConfig{} 5462 if protoimpl.UnsafeEnabled { 5463 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[49] 5464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5465 ms.StoreMessageInfo(mi) 5466 } 5467} 5468 5469func (x *TimePartConfig) String() string { 5470 return protoimpl.X.MessageStringOf(x) 5471} 5472 5473func (*TimePartConfig) ProtoMessage() {} 5474 5475func (x *TimePartConfig) ProtoReflect() protoreflect.Message { 5476 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[49] 5477 if protoimpl.UnsafeEnabled && x != nil { 5478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5479 if ms.LoadMessageInfo() == nil { 5480 ms.StoreMessageInfo(mi) 5481 } 5482 return ms 5483 } 5484 return mi.MessageOf(x) 5485} 5486 5487// Deprecated: Use TimePartConfig.ProtoReflect.Descriptor instead. 5488func (*TimePartConfig) Descriptor() ([]byte, []int) { 5489 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{49} 5490} 5491 5492func (x *TimePartConfig) GetPartToExtract() TimePartConfig_TimePart { 5493 if x != nil { 5494 return x.PartToExtract 5495 } 5496 return TimePartConfig_TIME_PART_UNSPECIFIED 5497} 5498 5499// Pseudonymization method that generates surrogates via cryptographic hashing. 5500// Uses SHA-256. 5501// The key size must be either 32 or 64 bytes. 5502// Outputs a base64 encoded representation of the hashed output 5503// (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). 5504// Currently, only string and integer values can be hashed. 5505// See https://cloud.google.com/dlp/docs/pseudonymization to learn more. 5506type CryptoHashConfig struct { 5507 state protoimpl.MessageState 5508 sizeCache protoimpl.SizeCache 5509 unknownFields protoimpl.UnknownFields 5510 5511 // The key used by the hash function. 5512 CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"` 5513} 5514 5515func (x *CryptoHashConfig) Reset() { 5516 *x = CryptoHashConfig{} 5517 if protoimpl.UnsafeEnabled { 5518 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[50] 5519 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5520 ms.StoreMessageInfo(mi) 5521 } 5522} 5523 5524func (x *CryptoHashConfig) String() string { 5525 return protoimpl.X.MessageStringOf(x) 5526} 5527 5528func (*CryptoHashConfig) ProtoMessage() {} 5529 5530func (x *CryptoHashConfig) ProtoReflect() protoreflect.Message { 5531 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[50] 5532 if protoimpl.UnsafeEnabled && x != nil { 5533 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5534 if ms.LoadMessageInfo() == nil { 5535 ms.StoreMessageInfo(mi) 5536 } 5537 return ms 5538 } 5539 return mi.MessageOf(x) 5540} 5541 5542// Deprecated: Use CryptoHashConfig.ProtoReflect.Descriptor instead. 5543func (*CryptoHashConfig) Descriptor() ([]byte, []int) { 5544 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{50} 5545} 5546 5547func (x *CryptoHashConfig) GetCryptoKey() *CryptoKey { 5548 if x != nil { 5549 return x.CryptoKey 5550 } 5551 return nil 5552} 5553 5554// Pseudonymization method that generates deterministic encryption for the given 5555// input. Outputs a base64 encoded representation of the encrypted output. 5556// Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. 5557type CryptoDeterministicConfig struct { 5558 state protoimpl.MessageState 5559 sizeCache protoimpl.SizeCache 5560 unknownFields protoimpl.UnknownFields 5561 5562 // The key used by the encryption function. 5563 CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"` 5564 // The custom info type to annotate the surrogate with. 5565 // This annotation will be applied to the surrogate by prefixing it with 5566 // the name of the custom info type followed by the number of 5567 // characters comprising the surrogate. The following scheme defines the 5568 // format: {info type name}({surrogate character count}):{surrogate} 5569 // 5570 // For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and 5571 // the surrogate is 'abc', the full replacement value 5572 // will be: 'MY_TOKEN_INFO_TYPE(3):abc' 5573 // 5574 // This annotation identifies the surrogate when inspecting content using the 5575 // custom info type 'Surrogate'. This facilitates reversal of the 5576 // surrogate when it occurs in free text. 5577 // 5578 // Note: For record transformations where the entire cell in a table is being 5579 // transformed, surrogates are not mandatory. Surrogates are used to denote 5580 // the location of the token and are necessary for re-identification in free 5581 // form text. 5582 // 5583 // In order for inspection to work properly, the name of this info type must 5584 // not occur naturally anywhere in your data; otherwise, inspection may either 5585 // 5586 // - reverse a surrogate that does not correspond to an actual identifier 5587 // - be unable to parse the surrogate and result in an error 5588 // 5589 // Therefore, choose your custom info type name carefully after considering 5590 // what your data looks like. One way to select a name that has a high chance 5591 // of yielding reliable detection is to include one or more unicode characters 5592 // that are highly improbable to exist in your data. 5593 // For example, assuming your data is entered from a regular ASCII keyboard, 5594 // the symbol with the hex code point 29DD might be used like so: 5595 // ⧝MY_TOKEN_TYPE. 5596 SurrogateInfoType *InfoType `protobuf:"bytes,2,opt,name=surrogate_info_type,json=surrogateInfoType,proto3" json:"surrogate_info_type,omitempty"` 5597 // A context may be used for higher security and maintaining 5598 // referential integrity such that the same identifier in two different 5599 // contexts will be given a distinct surrogate. The context is appended to 5600 // plaintext value being encrypted. On decryption the provided context is 5601 // validated against the value used during encryption. If a context was 5602 // provided during encryption, same context must be provided during decryption 5603 // as well. 5604 // 5605 // If the context is not set, plaintext would be used as is for encryption. 5606 // If the context is set but: 5607 // 5608 // 1. there is no record present when transforming a given value or 5609 // 2. the field is not present when transforming a given value, 5610 // 5611 // plaintext would be used as is for encryption. 5612 // 5613 // Note that case (1) is expected when an `InfoTypeTransformation` is 5614 // applied to both structured and non-structured `ContentItem`s. 5615 Context *FieldId `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` 5616} 5617 5618func (x *CryptoDeterministicConfig) Reset() { 5619 *x = CryptoDeterministicConfig{} 5620 if protoimpl.UnsafeEnabled { 5621 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[51] 5622 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5623 ms.StoreMessageInfo(mi) 5624 } 5625} 5626 5627func (x *CryptoDeterministicConfig) String() string { 5628 return protoimpl.X.MessageStringOf(x) 5629} 5630 5631func (*CryptoDeterministicConfig) ProtoMessage() {} 5632 5633func (x *CryptoDeterministicConfig) ProtoReflect() protoreflect.Message { 5634 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[51] 5635 if protoimpl.UnsafeEnabled && x != nil { 5636 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5637 if ms.LoadMessageInfo() == nil { 5638 ms.StoreMessageInfo(mi) 5639 } 5640 return ms 5641 } 5642 return mi.MessageOf(x) 5643} 5644 5645// Deprecated: Use CryptoDeterministicConfig.ProtoReflect.Descriptor instead. 5646func (*CryptoDeterministicConfig) Descriptor() ([]byte, []int) { 5647 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{51} 5648} 5649 5650func (x *CryptoDeterministicConfig) GetCryptoKey() *CryptoKey { 5651 if x != nil { 5652 return x.CryptoKey 5653 } 5654 return nil 5655} 5656 5657func (x *CryptoDeterministicConfig) GetSurrogateInfoType() *InfoType { 5658 if x != nil { 5659 return x.SurrogateInfoType 5660 } 5661 return nil 5662} 5663 5664func (x *CryptoDeterministicConfig) GetContext() *FieldId { 5665 if x != nil { 5666 return x.Context 5667 } 5668 return nil 5669} 5670 5671// Replace each input value with a given `Value`. 5672type ReplaceValueConfig struct { 5673 state protoimpl.MessageState 5674 sizeCache protoimpl.SizeCache 5675 unknownFields protoimpl.UnknownFields 5676 5677 // Value to replace it with. 5678 NewValue *Value `protobuf:"bytes,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` 5679} 5680 5681func (x *ReplaceValueConfig) Reset() { 5682 *x = ReplaceValueConfig{} 5683 if protoimpl.UnsafeEnabled { 5684 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[52] 5685 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5686 ms.StoreMessageInfo(mi) 5687 } 5688} 5689 5690func (x *ReplaceValueConfig) String() string { 5691 return protoimpl.X.MessageStringOf(x) 5692} 5693 5694func (*ReplaceValueConfig) ProtoMessage() {} 5695 5696func (x *ReplaceValueConfig) ProtoReflect() protoreflect.Message { 5697 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[52] 5698 if protoimpl.UnsafeEnabled && x != nil { 5699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5700 if ms.LoadMessageInfo() == nil { 5701 ms.StoreMessageInfo(mi) 5702 } 5703 return ms 5704 } 5705 return mi.MessageOf(x) 5706} 5707 5708// Deprecated: Use ReplaceValueConfig.ProtoReflect.Descriptor instead. 5709func (*ReplaceValueConfig) Descriptor() ([]byte, []int) { 5710 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{52} 5711} 5712 5713func (x *ReplaceValueConfig) GetNewValue() *Value { 5714 if x != nil { 5715 return x.NewValue 5716 } 5717 return nil 5718} 5719 5720// Replace each matching finding with the name of the info_type. 5721type ReplaceWithInfoTypeConfig struct { 5722 state protoimpl.MessageState 5723 sizeCache protoimpl.SizeCache 5724 unknownFields protoimpl.UnknownFields 5725} 5726 5727func (x *ReplaceWithInfoTypeConfig) Reset() { 5728 *x = ReplaceWithInfoTypeConfig{} 5729 if protoimpl.UnsafeEnabled { 5730 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[53] 5731 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5732 ms.StoreMessageInfo(mi) 5733 } 5734} 5735 5736func (x *ReplaceWithInfoTypeConfig) String() string { 5737 return protoimpl.X.MessageStringOf(x) 5738} 5739 5740func (*ReplaceWithInfoTypeConfig) ProtoMessage() {} 5741 5742func (x *ReplaceWithInfoTypeConfig) ProtoReflect() protoreflect.Message { 5743 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[53] 5744 if protoimpl.UnsafeEnabled && x != nil { 5745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5746 if ms.LoadMessageInfo() == nil { 5747 ms.StoreMessageInfo(mi) 5748 } 5749 return ms 5750 } 5751 return mi.MessageOf(x) 5752} 5753 5754// Deprecated: Use ReplaceWithInfoTypeConfig.ProtoReflect.Descriptor instead. 5755func (*ReplaceWithInfoTypeConfig) Descriptor() ([]byte, []int) { 5756 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{53} 5757} 5758 5759// Redact a given value. For example, if used with an `InfoTypeTransformation` 5760// transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the 5761// output would be 'My phone number is '. 5762type RedactConfig struct { 5763 state protoimpl.MessageState 5764 sizeCache protoimpl.SizeCache 5765 unknownFields protoimpl.UnknownFields 5766} 5767 5768func (x *RedactConfig) Reset() { 5769 *x = RedactConfig{} 5770 if protoimpl.UnsafeEnabled { 5771 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[54] 5772 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5773 ms.StoreMessageInfo(mi) 5774 } 5775} 5776 5777func (x *RedactConfig) String() string { 5778 return protoimpl.X.MessageStringOf(x) 5779} 5780 5781func (*RedactConfig) ProtoMessage() {} 5782 5783func (x *RedactConfig) ProtoReflect() protoreflect.Message { 5784 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[54] 5785 if protoimpl.UnsafeEnabled && x != nil { 5786 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5787 if ms.LoadMessageInfo() == nil { 5788 ms.StoreMessageInfo(mi) 5789 } 5790 return ms 5791 } 5792 return mi.MessageOf(x) 5793} 5794 5795// Deprecated: Use RedactConfig.ProtoReflect.Descriptor instead. 5796func (*RedactConfig) Descriptor() ([]byte, []int) { 5797 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{54} 5798} 5799 5800// Characters to skip when doing deidentification of a value. These will be left 5801// alone and skipped. 5802type CharsToIgnore struct { 5803 state protoimpl.MessageState 5804 sizeCache protoimpl.SizeCache 5805 unknownFields protoimpl.UnknownFields 5806 5807 // Types that are assignable to Characters: 5808 // *CharsToIgnore_CharactersToSkip 5809 // *CharsToIgnore_CommonCharactersToIgnore 5810 Characters isCharsToIgnore_Characters `protobuf_oneof:"characters"` 5811} 5812 5813func (x *CharsToIgnore) Reset() { 5814 *x = CharsToIgnore{} 5815 if protoimpl.UnsafeEnabled { 5816 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[55] 5817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5818 ms.StoreMessageInfo(mi) 5819 } 5820} 5821 5822func (x *CharsToIgnore) String() string { 5823 return protoimpl.X.MessageStringOf(x) 5824} 5825 5826func (*CharsToIgnore) ProtoMessage() {} 5827 5828func (x *CharsToIgnore) ProtoReflect() protoreflect.Message { 5829 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[55] 5830 if protoimpl.UnsafeEnabled && x != nil { 5831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5832 if ms.LoadMessageInfo() == nil { 5833 ms.StoreMessageInfo(mi) 5834 } 5835 return ms 5836 } 5837 return mi.MessageOf(x) 5838} 5839 5840// Deprecated: Use CharsToIgnore.ProtoReflect.Descriptor instead. 5841func (*CharsToIgnore) Descriptor() ([]byte, []int) { 5842 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{55} 5843} 5844 5845func (m *CharsToIgnore) GetCharacters() isCharsToIgnore_Characters { 5846 if m != nil { 5847 return m.Characters 5848 } 5849 return nil 5850} 5851 5852func (x *CharsToIgnore) GetCharactersToSkip() string { 5853 if x, ok := x.GetCharacters().(*CharsToIgnore_CharactersToSkip); ok { 5854 return x.CharactersToSkip 5855 } 5856 return "" 5857} 5858 5859func (x *CharsToIgnore) GetCommonCharactersToIgnore() CharsToIgnore_CommonCharsToIgnore { 5860 if x, ok := x.GetCharacters().(*CharsToIgnore_CommonCharactersToIgnore); ok { 5861 return x.CommonCharactersToIgnore 5862 } 5863 return CharsToIgnore_COMMON_CHARS_TO_IGNORE_UNSPECIFIED 5864} 5865 5866type isCharsToIgnore_Characters interface { 5867 isCharsToIgnore_Characters() 5868} 5869 5870type CharsToIgnore_CharactersToSkip struct { 5871 // Characters to not transform when masking. 5872 CharactersToSkip string `protobuf:"bytes,1,opt,name=characters_to_skip,json=charactersToSkip,proto3,oneof"` 5873} 5874 5875type CharsToIgnore_CommonCharactersToIgnore struct { 5876 // Common characters to not transform when masking. Useful to avoid removing 5877 // punctuation. 5878 CommonCharactersToIgnore CharsToIgnore_CommonCharsToIgnore `protobuf:"varint,2,opt,name=common_characters_to_ignore,json=commonCharactersToIgnore,proto3,enum=google.privacy.dlp.v2.CharsToIgnore_CommonCharsToIgnore,oneof"` 5879} 5880 5881func (*CharsToIgnore_CharactersToSkip) isCharsToIgnore_Characters() {} 5882 5883func (*CharsToIgnore_CommonCharactersToIgnore) isCharsToIgnore_Characters() {} 5884 5885// Partially mask a string by replacing a given number of characters with a 5886// fixed character. Masking can start from the beginning or end of the string. 5887// This can be used on data of any type (numbers, longs, and so on) and when 5888// de-identifying structured data we'll attempt to preserve the original data's 5889// type. (This allows you to take a long like 123 and modify it to a string like 5890// **3. 5891type CharacterMaskConfig struct { 5892 state protoimpl.MessageState 5893 sizeCache protoimpl.SizeCache 5894 unknownFields protoimpl.UnknownFields 5895 5896 // Character to use to mask the sensitive values—for example, `*` for an 5897 // alphabetic string such as a name, or `0` for a numeric string such as ZIP 5898 // code or credit card number. This string must have a length of 1. If not 5899 // supplied, this value defaults to `*` for strings, and `0` for digits. 5900 MaskingCharacter string `protobuf:"bytes,1,opt,name=masking_character,json=maskingCharacter,proto3" json:"masking_character,omitempty"` 5901 // Number of characters to mask. If not set, all matching chars will be 5902 // masked. Skipped characters do not count towards this tally. 5903 NumberToMask int32 `protobuf:"varint,2,opt,name=number_to_mask,json=numberToMask,proto3" json:"number_to_mask,omitempty"` 5904 // Mask characters in reverse order. For example, if `masking_character` is 5905 // `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the 5906 // input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. 5907 // If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` 5908 // is `true`, then the string `12345` is masked as `12***`. 5909 ReverseOrder bool `protobuf:"varint,3,opt,name=reverse_order,json=reverseOrder,proto3" json:"reverse_order,omitempty"` 5910 // When masking a string, items in this list will be skipped when replacing 5911 // characters. For example, if the input string is `555-555-5555` and you 5912 // instruct Cloud DLP to skip `-` and mask 5 characters with `*`, Cloud DLP 5913 // returns `***-**5-5555`. 5914 CharactersToIgnore []*CharsToIgnore `protobuf:"bytes,4,rep,name=characters_to_ignore,json=charactersToIgnore,proto3" json:"characters_to_ignore,omitempty"` 5915} 5916 5917func (x *CharacterMaskConfig) Reset() { 5918 *x = CharacterMaskConfig{} 5919 if protoimpl.UnsafeEnabled { 5920 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[56] 5921 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5922 ms.StoreMessageInfo(mi) 5923 } 5924} 5925 5926func (x *CharacterMaskConfig) String() string { 5927 return protoimpl.X.MessageStringOf(x) 5928} 5929 5930func (*CharacterMaskConfig) ProtoMessage() {} 5931 5932func (x *CharacterMaskConfig) ProtoReflect() protoreflect.Message { 5933 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[56] 5934 if protoimpl.UnsafeEnabled && x != nil { 5935 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5936 if ms.LoadMessageInfo() == nil { 5937 ms.StoreMessageInfo(mi) 5938 } 5939 return ms 5940 } 5941 return mi.MessageOf(x) 5942} 5943 5944// Deprecated: Use CharacterMaskConfig.ProtoReflect.Descriptor instead. 5945func (*CharacterMaskConfig) Descriptor() ([]byte, []int) { 5946 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{56} 5947} 5948 5949func (x *CharacterMaskConfig) GetMaskingCharacter() string { 5950 if x != nil { 5951 return x.MaskingCharacter 5952 } 5953 return "" 5954} 5955 5956func (x *CharacterMaskConfig) GetNumberToMask() int32 { 5957 if x != nil { 5958 return x.NumberToMask 5959 } 5960 return 0 5961} 5962 5963func (x *CharacterMaskConfig) GetReverseOrder() bool { 5964 if x != nil { 5965 return x.ReverseOrder 5966 } 5967 return false 5968} 5969 5970func (x *CharacterMaskConfig) GetCharactersToIgnore() []*CharsToIgnore { 5971 if x != nil { 5972 return x.CharactersToIgnore 5973 } 5974 return nil 5975} 5976 5977// Buckets values based on fixed size ranges. The 5978// Bucketing transformation can provide all of this functionality, 5979// but requires more configuration. This message is provided as a convenience to 5980// the user for simple bucketing strategies. 5981// 5982// The transformed value will be a hyphenated string of 5983// {lower_bound}-{upper_bound}, i.e if lower_bound = 10 and upper_bound = 20 5984// all values that are within this bucket will be replaced with "10-20". 5985// 5986// This can be used on data of type: double, long. 5987// 5988// If the bound Value type differs from the type of data 5989// being transformed, we will first attempt converting the type of the data to 5990// be transformed to match the type of the bound before comparing. 5991// 5992// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. 5993type FixedSizeBucketingConfig struct { 5994 state protoimpl.MessageState 5995 sizeCache protoimpl.SizeCache 5996 unknownFields protoimpl.UnknownFields 5997 5998 // Required. Lower bound value of buckets. All values less than `lower_bound` are 5999 // grouped together into a single bucket; for example if `lower_bound` = 10, 6000 // then all values less than 10 are replaced with the value "-10". 6001 LowerBound *Value `protobuf:"bytes,1,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"` 6002 // Required. Upper bound value of buckets. All values greater than upper_bound are 6003 // grouped together into a single bucket; for example if `upper_bound` = 89, 6004 // then all values greater than 89 are replaced with the value "89+". 6005 UpperBound *Value `protobuf:"bytes,2,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` 6006 // Required. Size of each bucket (except for minimum and maximum buckets). So if 6007 // `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the 6008 // following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 6009 // 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. 6010 BucketSize float64 `protobuf:"fixed64,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"` 6011} 6012 6013func (x *FixedSizeBucketingConfig) Reset() { 6014 *x = FixedSizeBucketingConfig{} 6015 if protoimpl.UnsafeEnabled { 6016 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[57] 6017 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6018 ms.StoreMessageInfo(mi) 6019 } 6020} 6021 6022func (x *FixedSizeBucketingConfig) String() string { 6023 return protoimpl.X.MessageStringOf(x) 6024} 6025 6026func (*FixedSizeBucketingConfig) ProtoMessage() {} 6027 6028func (x *FixedSizeBucketingConfig) ProtoReflect() protoreflect.Message { 6029 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[57] 6030 if protoimpl.UnsafeEnabled && x != nil { 6031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6032 if ms.LoadMessageInfo() == nil { 6033 ms.StoreMessageInfo(mi) 6034 } 6035 return ms 6036 } 6037 return mi.MessageOf(x) 6038} 6039 6040// Deprecated: Use FixedSizeBucketingConfig.ProtoReflect.Descriptor instead. 6041func (*FixedSizeBucketingConfig) Descriptor() ([]byte, []int) { 6042 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{57} 6043} 6044 6045func (x *FixedSizeBucketingConfig) GetLowerBound() *Value { 6046 if x != nil { 6047 return x.LowerBound 6048 } 6049 return nil 6050} 6051 6052func (x *FixedSizeBucketingConfig) GetUpperBound() *Value { 6053 if x != nil { 6054 return x.UpperBound 6055 } 6056 return nil 6057} 6058 6059func (x *FixedSizeBucketingConfig) GetBucketSize() float64 { 6060 if x != nil { 6061 return x.BucketSize 6062 } 6063 return 0 6064} 6065 6066// Generalization function that buckets values based on ranges. The ranges and 6067// replacement values are dynamically provided by the user for custom behavior, 6068// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH 6069// This can be used on 6070// data of type: number, long, string, timestamp. 6071// If the bound `Value` type differs from the type of data being transformed, we 6072// will first attempt converting the type of the data to be transformed to match 6073// the type of the bound before comparing. 6074// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. 6075type BucketingConfig struct { 6076 state protoimpl.MessageState 6077 sizeCache protoimpl.SizeCache 6078 unknownFields protoimpl.UnknownFields 6079 6080 // Set of buckets. Ranges must be non-overlapping. 6081 Buckets []*BucketingConfig_Bucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"` 6082} 6083 6084func (x *BucketingConfig) Reset() { 6085 *x = BucketingConfig{} 6086 if protoimpl.UnsafeEnabled { 6087 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[58] 6088 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6089 ms.StoreMessageInfo(mi) 6090 } 6091} 6092 6093func (x *BucketingConfig) String() string { 6094 return protoimpl.X.MessageStringOf(x) 6095} 6096 6097func (*BucketingConfig) ProtoMessage() {} 6098 6099func (x *BucketingConfig) ProtoReflect() protoreflect.Message { 6100 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[58] 6101 if protoimpl.UnsafeEnabled && x != nil { 6102 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6103 if ms.LoadMessageInfo() == nil { 6104 ms.StoreMessageInfo(mi) 6105 } 6106 return ms 6107 } 6108 return mi.MessageOf(x) 6109} 6110 6111// Deprecated: Use BucketingConfig.ProtoReflect.Descriptor instead. 6112func (*BucketingConfig) Descriptor() ([]byte, []int) { 6113 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{58} 6114} 6115 6116func (x *BucketingConfig) GetBuckets() []*BucketingConfig_Bucket { 6117 if x != nil { 6118 return x.Buckets 6119 } 6120 return nil 6121} 6122 6123// Replaces an identifier with a surrogate using Format Preserving Encryption 6124// (FPE) with the FFX mode of operation; however when used in the 6125// `ReidentifyContent` API method, it serves the opposite function by reversing 6126// the surrogate back into the original identifier. The identifier must be 6127// encoded as ASCII. For a given crypto key and context, the same identifier 6128// will be replaced with the same surrogate. Identifiers must be at least two 6129// characters long. In the case that the identifier is the empty string, it will 6130// be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn 6131// more. 6132// 6133// Note: We recommend using CryptoDeterministicConfig for all use cases which 6134// do not require preserving the input alphabet space and size, plus warrant 6135// referential integrity. 6136type CryptoReplaceFfxFpeConfig struct { 6137 state protoimpl.MessageState 6138 sizeCache protoimpl.SizeCache 6139 unknownFields protoimpl.UnknownFields 6140 6141 // Required. The key used by the encryption algorithm. 6142 CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"` 6143 // The 'tweak', a context may be used for higher security since the same 6144 // identifier in two different contexts won't be given the same surrogate. If 6145 // the context is not set, a default tweak will be used. 6146 // 6147 // If the context is set but: 6148 // 6149 // 1. there is no record present when transforming a given value or 6150 // 1. the field is not present when transforming a given value, 6151 // 6152 // a default tweak will be used. 6153 // 6154 // Note that case (1) is expected when an `InfoTypeTransformation` is 6155 // applied to both structured and non-structured `ContentItem`s. 6156 // Currently, the referenced field may be of value type integer or string. 6157 // 6158 // The tweak is constructed as a sequence of bytes in big endian byte order 6159 // such that: 6160 // 6161 // - a 64 bit integer is encoded followed by a single byte of value 1 6162 // - a string is encoded in UTF-8 format followed by a single byte of value 2 6163 Context *FieldId `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` 6164 // Choose an alphabet which the data being transformed will be made up of. 6165 // 6166 // Types that are assignable to Alphabet: 6167 // *CryptoReplaceFfxFpeConfig_CommonAlphabet 6168 // *CryptoReplaceFfxFpeConfig_CustomAlphabet 6169 // *CryptoReplaceFfxFpeConfig_Radix 6170 Alphabet isCryptoReplaceFfxFpeConfig_Alphabet `protobuf_oneof:"alphabet"` 6171 // The custom infoType to annotate the surrogate with. 6172 // This annotation will be applied to the surrogate by prefixing it with 6173 // the name of the custom infoType followed by the number of 6174 // characters comprising the surrogate. The following scheme defines the 6175 // format: info_type_name(surrogate_character_count):surrogate 6176 // 6177 // For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and 6178 // the surrogate is 'abc', the full replacement value 6179 // will be: 'MY_TOKEN_INFO_TYPE(3):abc' 6180 // 6181 // This annotation identifies the surrogate when inspecting content using the 6182 // custom infoType 6183 // [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype). 6184 // This facilitates reversal of the surrogate when it occurs in free text. 6185 // 6186 // In order for inspection to work properly, the name of this infoType must 6187 // not occur naturally anywhere in your data; otherwise, inspection may 6188 // find a surrogate that does not correspond to an actual identifier. 6189 // Therefore, choose your custom infoType name carefully after considering 6190 // what your data looks like. One way to select a name that has a high chance 6191 // of yielding reliable detection is to include one or more unicode characters 6192 // that are highly improbable to exist in your data. 6193 // For example, assuming your data is entered from a regular ASCII keyboard, 6194 // the symbol with the hex code point 29DD might be used like so: 6195 // ⧝MY_TOKEN_TYPE 6196 SurrogateInfoType *InfoType `protobuf:"bytes,8,opt,name=surrogate_info_type,json=surrogateInfoType,proto3" json:"surrogate_info_type,omitempty"` 6197} 6198 6199func (x *CryptoReplaceFfxFpeConfig) Reset() { 6200 *x = CryptoReplaceFfxFpeConfig{} 6201 if protoimpl.UnsafeEnabled { 6202 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[59] 6203 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6204 ms.StoreMessageInfo(mi) 6205 } 6206} 6207 6208func (x *CryptoReplaceFfxFpeConfig) String() string { 6209 return protoimpl.X.MessageStringOf(x) 6210} 6211 6212func (*CryptoReplaceFfxFpeConfig) ProtoMessage() {} 6213 6214func (x *CryptoReplaceFfxFpeConfig) ProtoReflect() protoreflect.Message { 6215 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[59] 6216 if protoimpl.UnsafeEnabled && x != nil { 6217 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6218 if ms.LoadMessageInfo() == nil { 6219 ms.StoreMessageInfo(mi) 6220 } 6221 return ms 6222 } 6223 return mi.MessageOf(x) 6224} 6225 6226// Deprecated: Use CryptoReplaceFfxFpeConfig.ProtoReflect.Descriptor instead. 6227func (*CryptoReplaceFfxFpeConfig) Descriptor() ([]byte, []int) { 6228 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{59} 6229} 6230 6231func (x *CryptoReplaceFfxFpeConfig) GetCryptoKey() *CryptoKey { 6232 if x != nil { 6233 return x.CryptoKey 6234 } 6235 return nil 6236} 6237 6238func (x *CryptoReplaceFfxFpeConfig) GetContext() *FieldId { 6239 if x != nil { 6240 return x.Context 6241 } 6242 return nil 6243} 6244 6245func (m *CryptoReplaceFfxFpeConfig) GetAlphabet() isCryptoReplaceFfxFpeConfig_Alphabet { 6246 if m != nil { 6247 return m.Alphabet 6248 } 6249 return nil 6250} 6251 6252func (x *CryptoReplaceFfxFpeConfig) GetCommonAlphabet() CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet { 6253 if x, ok := x.GetAlphabet().(*CryptoReplaceFfxFpeConfig_CommonAlphabet); ok { 6254 return x.CommonAlphabet 6255 } 6256 return CryptoReplaceFfxFpeConfig_FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED 6257} 6258 6259func (x *CryptoReplaceFfxFpeConfig) GetCustomAlphabet() string { 6260 if x, ok := x.GetAlphabet().(*CryptoReplaceFfxFpeConfig_CustomAlphabet); ok { 6261 return x.CustomAlphabet 6262 } 6263 return "" 6264} 6265 6266func (x *CryptoReplaceFfxFpeConfig) GetRadix() int32 { 6267 if x, ok := x.GetAlphabet().(*CryptoReplaceFfxFpeConfig_Radix); ok { 6268 return x.Radix 6269 } 6270 return 0 6271} 6272 6273func (x *CryptoReplaceFfxFpeConfig) GetSurrogateInfoType() *InfoType { 6274 if x != nil { 6275 return x.SurrogateInfoType 6276 } 6277 return nil 6278} 6279 6280type isCryptoReplaceFfxFpeConfig_Alphabet interface { 6281 isCryptoReplaceFfxFpeConfig_Alphabet() 6282} 6283 6284type CryptoReplaceFfxFpeConfig_CommonAlphabet struct { 6285 // Common alphabets. 6286 CommonAlphabet CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet `protobuf:"varint,4,opt,name=common_alphabet,json=commonAlphabet,proto3,enum=google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet,oneof"` 6287} 6288 6289type CryptoReplaceFfxFpeConfig_CustomAlphabet struct { 6290 // This is supported by mapping these to the alphanumeric characters 6291 // that the FFX mode natively supports. This happens before/after 6292 // encryption/decryption. 6293 // Each character listed must appear only once. 6294 // Number of characters must be in the range [2, 95]. 6295 // This must be encoded as ASCII. 6296 // The order of characters does not matter. 6297 // The full list of allowed characters is: 6298 // <code>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 6299 // ~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/</code> 6300 CustomAlphabet string `protobuf:"bytes,5,opt,name=custom_alphabet,json=customAlphabet,proto3,oneof"` 6301} 6302 6303type CryptoReplaceFfxFpeConfig_Radix struct { 6304 // The native way to select the alphabet. Must be in the range [2, 95]. 6305 Radix int32 `protobuf:"varint,6,opt,name=radix,proto3,oneof"` 6306} 6307 6308func (*CryptoReplaceFfxFpeConfig_CommonAlphabet) isCryptoReplaceFfxFpeConfig_Alphabet() {} 6309 6310func (*CryptoReplaceFfxFpeConfig_CustomAlphabet) isCryptoReplaceFfxFpeConfig_Alphabet() {} 6311 6312func (*CryptoReplaceFfxFpeConfig_Radix) isCryptoReplaceFfxFpeConfig_Alphabet() {} 6313 6314// This is a data encryption key (DEK) (as opposed to 6315// a key encryption key (KEK) stored by KMS). 6316// When using KMS to wrap/unwrap DEKs, be sure to set an appropriate 6317// IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot 6318// unwrap the data crypto key. 6319type CryptoKey struct { 6320 state protoimpl.MessageState 6321 sizeCache protoimpl.SizeCache 6322 unknownFields protoimpl.UnknownFields 6323 6324 // Sources of crypto keys. 6325 // 6326 // Types that are assignable to Source: 6327 // *CryptoKey_Transient 6328 // *CryptoKey_Unwrapped 6329 // *CryptoKey_KmsWrapped 6330 Source isCryptoKey_Source `protobuf_oneof:"source"` 6331} 6332 6333func (x *CryptoKey) Reset() { 6334 *x = CryptoKey{} 6335 if protoimpl.UnsafeEnabled { 6336 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[60] 6337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6338 ms.StoreMessageInfo(mi) 6339 } 6340} 6341 6342func (x *CryptoKey) String() string { 6343 return protoimpl.X.MessageStringOf(x) 6344} 6345 6346func (*CryptoKey) ProtoMessage() {} 6347 6348func (x *CryptoKey) ProtoReflect() protoreflect.Message { 6349 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[60] 6350 if protoimpl.UnsafeEnabled && x != nil { 6351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6352 if ms.LoadMessageInfo() == nil { 6353 ms.StoreMessageInfo(mi) 6354 } 6355 return ms 6356 } 6357 return mi.MessageOf(x) 6358} 6359 6360// Deprecated: Use CryptoKey.ProtoReflect.Descriptor instead. 6361func (*CryptoKey) Descriptor() ([]byte, []int) { 6362 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{60} 6363} 6364 6365func (m *CryptoKey) GetSource() isCryptoKey_Source { 6366 if m != nil { 6367 return m.Source 6368 } 6369 return nil 6370} 6371 6372func (x *CryptoKey) GetTransient() *TransientCryptoKey { 6373 if x, ok := x.GetSource().(*CryptoKey_Transient); ok { 6374 return x.Transient 6375 } 6376 return nil 6377} 6378 6379func (x *CryptoKey) GetUnwrapped() *UnwrappedCryptoKey { 6380 if x, ok := x.GetSource().(*CryptoKey_Unwrapped); ok { 6381 return x.Unwrapped 6382 } 6383 return nil 6384} 6385 6386func (x *CryptoKey) GetKmsWrapped() *KmsWrappedCryptoKey { 6387 if x, ok := x.GetSource().(*CryptoKey_KmsWrapped); ok { 6388 return x.KmsWrapped 6389 } 6390 return nil 6391} 6392 6393type isCryptoKey_Source interface { 6394 isCryptoKey_Source() 6395} 6396 6397type CryptoKey_Transient struct { 6398 // Transient crypto key 6399 Transient *TransientCryptoKey `protobuf:"bytes,1,opt,name=transient,proto3,oneof"` 6400} 6401 6402type CryptoKey_Unwrapped struct { 6403 // Unwrapped crypto key 6404 Unwrapped *UnwrappedCryptoKey `protobuf:"bytes,2,opt,name=unwrapped,proto3,oneof"` 6405} 6406 6407type CryptoKey_KmsWrapped struct { 6408 // Kms wrapped key 6409 KmsWrapped *KmsWrappedCryptoKey `protobuf:"bytes,3,opt,name=kms_wrapped,json=kmsWrapped,proto3,oneof"` 6410} 6411 6412func (*CryptoKey_Transient) isCryptoKey_Source() {} 6413 6414func (*CryptoKey_Unwrapped) isCryptoKey_Source() {} 6415 6416func (*CryptoKey_KmsWrapped) isCryptoKey_Source() {} 6417 6418// Use this to have a random data crypto key generated. 6419// It will be discarded after the request finishes. 6420type TransientCryptoKey struct { 6421 state protoimpl.MessageState 6422 sizeCache protoimpl.SizeCache 6423 unknownFields protoimpl.UnknownFields 6424 6425 // Required. Name of the key. 6426 // This is an arbitrary string used to differentiate different keys. 6427 // A unique key is generated per name: two separate `TransientCryptoKey` 6428 // protos share the same generated key if their names are the same. 6429 // When the data crypto key is generated, this name is not used in any way 6430 // (repeating the api call will result in a different key being generated). 6431 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 6432} 6433 6434func (x *TransientCryptoKey) Reset() { 6435 *x = TransientCryptoKey{} 6436 if protoimpl.UnsafeEnabled { 6437 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[61] 6438 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6439 ms.StoreMessageInfo(mi) 6440 } 6441} 6442 6443func (x *TransientCryptoKey) String() string { 6444 return protoimpl.X.MessageStringOf(x) 6445} 6446 6447func (*TransientCryptoKey) ProtoMessage() {} 6448 6449func (x *TransientCryptoKey) ProtoReflect() protoreflect.Message { 6450 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[61] 6451 if protoimpl.UnsafeEnabled && x != nil { 6452 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6453 if ms.LoadMessageInfo() == nil { 6454 ms.StoreMessageInfo(mi) 6455 } 6456 return ms 6457 } 6458 return mi.MessageOf(x) 6459} 6460 6461// Deprecated: Use TransientCryptoKey.ProtoReflect.Descriptor instead. 6462func (*TransientCryptoKey) Descriptor() ([]byte, []int) { 6463 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{61} 6464} 6465 6466func (x *TransientCryptoKey) GetName() string { 6467 if x != nil { 6468 return x.Name 6469 } 6470 return "" 6471} 6472 6473// Using raw keys is prone to security risks due to accidentally 6474// leaking the key. Choose another type of key if possible. 6475type UnwrappedCryptoKey struct { 6476 state protoimpl.MessageState 6477 sizeCache protoimpl.SizeCache 6478 unknownFields protoimpl.UnknownFields 6479 6480 // Required. A 128/192/256 bit key. 6481 Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 6482} 6483 6484func (x *UnwrappedCryptoKey) Reset() { 6485 *x = UnwrappedCryptoKey{} 6486 if protoimpl.UnsafeEnabled { 6487 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[62] 6488 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6489 ms.StoreMessageInfo(mi) 6490 } 6491} 6492 6493func (x *UnwrappedCryptoKey) String() string { 6494 return protoimpl.X.MessageStringOf(x) 6495} 6496 6497func (*UnwrappedCryptoKey) ProtoMessage() {} 6498 6499func (x *UnwrappedCryptoKey) ProtoReflect() protoreflect.Message { 6500 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[62] 6501 if protoimpl.UnsafeEnabled && x != nil { 6502 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6503 if ms.LoadMessageInfo() == nil { 6504 ms.StoreMessageInfo(mi) 6505 } 6506 return ms 6507 } 6508 return mi.MessageOf(x) 6509} 6510 6511// Deprecated: Use UnwrappedCryptoKey.ProtoReflect.Descriptor instead. 6512func (*UnwrappedCryptoKey) Descriptor() ([]byte, []int) { 6513 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{62} 6514} 6515 6516func (x *UnwrappedCryptoKey) GetKey() []byte { 6517 if x != nil { 6518 return x.Key 6519 } 6520 return nil 6521} 6522 6523// Include to use an existing data crypto key wrapped by KMS. 6524// The wrapped key must be a 128/192/256 bit key. 6525// Authorization requires the following IAM permissions when sending a request 6526// to perform a crypto transformation using a kms-wrapped crypto key: 6527// dlp.kms.encrypt 6528type KmsWrappedCryptoKey struct { 6529 state protoimpl.MessageState 6530 sizeCache protoimpl.SizeCache 6531 unknownFields protoimpl.UnknownFields 6532 6533 // Required. The wrapped data crypto key. 6534 WrappedKey []byte `protobuf:"bytes,1,opt,name=wrapped_key,json=wrappedKey,proto3" json:"wrapped_key,omitempty"` 6535 // Required. The resource name of the KMS CryptoKey to use for unwrapping. 6536 CryptoKeyName string `protobuf:"bytes,2,opt,name=crypto_key_name,json=cryptoKeyName,proto3" json:"crypto_key_name,omitempty"` 6537} 6538 6539func (x *KmsWrappedCryptoKey) Reset() { 6540 *x = KmsWrappedCryptoKey{} 6541 if protoimpl.UnsafeEnabled { 6542 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[63] 6543 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6544 ms.StoreMessageInfo(mi) 6545 } 6546} 6547 6548func (x *KmsWrappedCryptoKey) String() string { 6549 return protoimpl.X.MessageStringOf(x) 6550} 6551 6552func (*KmsWrappedCryptoKey) ProtoMessage() {} 6553 6554func (x *KmsWrappedCryptoKey) ProtoReflect() protoreflect.Message { 6555 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[63] 6556 if protoimpl.UnsafeEnabled && x != nil { 6557 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6558 if ms.LoadMessageInfo() == nil { 6559 ms.StoreMessageInfo(mi) 6560 } 6561 return ms 6562 } 6563 return mi.MessageOf(x) 6564} 6565 6566// Deprecated: Use KmsWrappedCryptoKey.ProtoReflect.Descriptor instead. 6567func (*KmsWrappedCryptoKey) Descriptor() ([]byte, []int) { 6568 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{63} 6569} 6570 6571func (x *KmsWrappedCryptoKey) GetWrappedKey() []byte { 6572 if x != nil { 6573 return x.WrappedKey 6574 } 6575 return nil 6576} 6577 6578func (x *KmsWrappedCryptoKey) GetCryptoKeyName() string { 6579 if x != nil { 6580 return x.CryptoKeyName 6581 } 6582 return "" 6583} 6584 6585// Shifts dates by random number of days, with option to be consistent for the 6586// same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting 6587// to learn more. 6588type DateShiftConfig struct { 6589 state protoimpl.MessageState 6590 sizeCache protoimpl.SizeCache 6591 unknownFields protoimpl.UnknownFields 6592 6593 // Required. Range of shift in days. Actual shift will be selected at random within this 6594 // range (inclusive ends). Negative means shift to earlier in time. Must not 6595 // be more than 365250 days (1000 years) each direction. 6596 // 6597 // For example, 3 means shift date to at most 3 days into the future. 6598 UpperBoundDays int32 `protobuf:"varint,1,opt,name=upper_bound_days,json=upperBoundDays,proto3" json:"upper_bound_days,omitempty"` 6599 // Required. For example, -5 means shift date to at most 5 days back in the past. 6600 LowerBoundDays int32 `protobuf:"varint,2,opt,name=lower_bound_days,json=lowerBoundDays,proto3" json:"lower_bound_days,omitempty"` 6601 // Points to the field that contains the context, for example, an entity id. 6602 // If set, must also set cryptoKey. If set, shift will be consistent for the 6603 // given context. 6604 Context *FieldId `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` 6605 // Method for calculating shift that takes context into consideration. If 6606 // set, must also set context. Can only be applied to table items. 6607 // 6608 // Types that are assignable to Method: 6609 // *DateShiftConfig_CryptoKey 6610 Method isDateShiftConfig_Method `protobuf_oneof:"method"` 6611} 6612 6613func (x *DateShiftConfig) Reset() { 6614 *x = DateShiftConfig{} 6615 if protoimpl.UnsafeEnabled { 6616 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[64] 6617 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6618 ms.StoreMessageInfo(mi) 6619 } 6620} 6621 6622func (x *DateShiftConfig) String() string { 6623 return protoimpl.X.MessageStringOf(x) 6624} 6625 6626func (*DateShiftConfig) ProtoMessage() {} 6627 6628func (x *DateShiftConfig) ProtoReflect() protoreflect.Message { 6629 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[64] 6630 if protoimpl.UnsafeEnabled && x != nil { 6631 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6632 if ms.LoadMessageInfo() == nil { 6633 ms.StoreMessageInfo(mi) 6634 } 6635 return ms 6636 } 6637 return mi.MessageOf(x) 6638} 6639 6640// Deprecated: Use DateShiftConfig.ProtoReflect.Descriptor instead. 6641func (*DateShiftConfig) Descriptor() ([]byte, []int) { 6642 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{64} 6643} 6644 6645func (x *DateShiftConfig) GetUpperBoundDays() int32 { 6646 if x != nil { 6647 return x.UpperBoundDays 6648 } 6649 return 0 6650} 6651 6652func (x *DateShiftConfig) GetLowerBoundDays() int32 { 6653 if x != nil { 6654 return x.LowerBoundDays 6655 } 6656 return 0 6657} 6658 6659func (x *DateShiftConfig) GetContext() *FieldId { 6660 if x != nil { 6661 return x.Context 6662 } 6663 return nil 6664} 6665 6666func (m *DateShiftConfig) GetMethod() isDateShiftConfig_Method { 6667 if m != nil { 6668 return m.Method 6669 } 6670 return nil 6671} 6672 6673func (x *DateShiftConfig) GetCryptoKey() *CryptoKey { 6674 if x, ok := x.GetMethod().(*DateShiftConfig_CryptoKey); ok { 6675 return x.CryptoKey 6676 } 6677 return nil 6678} 6679 6680type isDateShiftConfig_Method interface { 6681 isDateShiftConfig_Method() 6682} 6683 6684type DateShiftConfig_CryptoKey struct { 6685 // Causes the shift to be computed based on this key and the context. This 6686 // results in the same shift for the same context and crypto_key. If 6687 // set, must also set context. Can only be applied to table items. 6688 CryptoKey *CryptoKey `protobuf:"bytes,4,opt,name=crypto_key,json=cryptoKey,proto3,oneof"` 6689} 6690 6691func (*DateShiftConfig_CryptoKey) isDateShiftConfig_Method() {} 6692 6693// A type of transformation that will scan unstructured text and 6694// apply various `PrimitiveTransformation`s to each finding, where the 6695// transformation is applied to only values that were identified as a specific 6696// info_type. 6697type InfoTypeTransformations struct { 6698 state protoimpl.MessageState 6699 sizeCache protoimpl.SizeCache 6700 unknownFields protoimpl.UnknownFields 6701 6702 // Required. Transformation for each infoType. Cannot specify more than one 6703 // for a given infoType. 6704 Transformations []*InfoTypeTransformations_InfoTypeTransformation `protobuf:"bytes,1,rep,name=transformations,proto3" json:"transformations,omitempty"` 6705} 6706 6707func (x *InfoTypeTransformations) Reset() { 6708 *x = InfoTypeTransformations{} 6709 if protoimpl.UnsafeEnabled { 6710 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[65] 6711 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6712 ms.StoreMessageInfo(mi) 6713 } 6714} 6715 6716func (x *InfoTypeTransformations) String() string { 6717 return protoimpl.X.MessageStringOf(x) 6718} 6719 6720func (*InfoTypeTransformations) ProtoMessage() {} 6721 6722func (x *InfoTypeTransformations) ProtoReflect() protoreflect.Message { 6723 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[65] 6724 if protoimpl.UnsafeEnabled && x != nil { 6725 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6726 if ms.LoadMessageInfo() == nil { 6727 ms.StoreMessageInfo(mi) 6728 } 6729 return ms 6730 } 6731 return mi.MessageOf(x) 6732} 6733 6734// Deprecated: Use InfoTypeTransformations.ProtoReflect.Descriptor instead. 6735func (*InfoTypeTransformations) Descriptor() ([]byte, []int) { 6736 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{65} 6737} 6738 6739func (x *InfoTypeTransformations) GetTransformations() []*InfoTypeTransformations_InfoTypeTransformation { 6740 if x != nil { 6741 return x.Transformations 6742 } 6743 return nil 6744} 6745 6746// The transformation to apply to the field. 6747type FieldTransformation struct { 6748 state protoimpl.MessageState 6749 sizeCache protoimpl.SizeCache 6750 unknownFields protoimpl.UnknownFields 6751 6752 // Required. Input field(s) to apply the transformation to. 6753 Fields []*FieldId `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` 6754 // Only apply the transformation if the condition evaluates to true for the 6755 // given `RecordCondition`. The conditions are allowed to reference fields 6756 // that are not used in the actual transformation. 6757 // 6758 // Example Use Cases: 6759 // 6760 // - Apply a different bucket transformation to an age column if the zip code 6761 // column for the same record is within a specific range. 6762 // - Redact a field if the date of birth field is greater than 85. 6763 Condition *RecordCondition `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"` 6764 // Transformation to apply. [required] 6765 // 6766 // Types that are assignable to Transformation: 6767 // *FieldTransformation_PrimitiveTransformation 6768 // *FieldTransformation_InfoTypeTransformations 6769 Transformation isFieldTransformation_Transformation `protobuf_oneof:"transformation"` 6770} 6771 6772func (x *FieldTransformation) Reset() { 6773 *x = FieldTransformation{} 6774 if protoimpl.UnsafeEnabled { 6775 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[66] 6776 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6777 ms.StoreMessageInfo(mi) 6778 } 6779} 6780 6781func (x *FieldTransformation) String() string { 6782 return protoimpl.X.MessageStringOf(x) 6783} 6784 6785func (*FieldTransformation) ProtoMessage() {} 6786 6787func (x *FieldTransformation) ProtoReflect() protoreflect.Message { 6788 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[66] 6789 if protoimpl.UnsafeEnabled && x != nil { 6790 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6791 if ms.LoadMessageInfo() == nil { 6792 ms.StoreMessageInfo(mi) 6793 } 6794 return ms 6795 } 6796 return mi.MessageOf(x) 6797} 6798 6799// Deprecated: Use FieldTransformation.ProtoReflect.Descriptor instead. 6800func (*FieldTransformation) Descriptor() ([]byte, []int) { 6801 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{66} 6802} 6803 6804func (x *FieldTransformation) GetFields() []*FieldId { 6805 if x != nil { 6806 return x.Fields 6807 } 6808 return nil 6809} 6810 6811func (x *FieldTransformation) GetCondition() *RecordCondition { 6812 if x != nil { 6813 return x.Condition 6814 } 6815 return nil 6816} 6817 6818func (m *FieldTransformation) GetTransformation() isFieldTransformation_Transformation { 6819 if m != nil { 6820 return m.Transformation 6821 } 6822 return nil 6823} 6824 6825func (x *FieldTransformation) GetPrimitiveTransformation() *PrimitiveTransformation { 6826 if x, ok := x.GetTransformation().(*FieldTransformation_PrimitiveTransformation); ok { 6827 return x.PrimitiveTransformation 6828 } 6829 return nil 6830} 6831 6832func (x *FieldTransformation) GetInfoTypeTransformations() *InfoTypeTransformations { 6833 if x, ok := x.GetTransformation().(*FieldTransformation_InfoTypeTransformations); ok { 6834 return x.InfoTypeTransformations 6835 } 6836 return nil 6837} 6838 6839type isFieldTransformation_Transformation interface { 6840 isFieldTransformation_Transformation() 6841} 6842 6843type FieldTransformation_PrimitiveTransformation struct { 6844 // Apply the transformation to the entire field. 6845 PrimitiveTransformation *PrimitiveTransformation `protobuf:"bytes,4,opt,name=primitive_transformation,json=primitiveTransformation,proto3,oneof"` 6846} 6847 6848type FieldTransformation_InfoTypeTransformations struct { 6849 // Treat the contents of the field as free text, and selectively 6850 // transform content that matches an `InfoType`. 6851 InfoTypeTransformations *InfoTypeTransformations `protobuf:"bytes,5,opt,name=info_type_transformations,json=infoTypeTransformations,proto3,oneof"` 6852} 6853 6854func (*FieldTransformation_PrimitiveTransformation) isFieldTransformation_Transformation() {} 6855 6856func (*FieldTransformation_InfoTypeTransformations) isFieldTransformation_Transformation() {} 6857 6858// A type of transformation that is applied over structured data such as a 6859// table. 6860type RecordTransformations struct { 6861 state protoimpl.MessageState 6862 sizeCache protoimpl.SizeCache 6863 unknownFields protoimpl.UnknownFields 6864 6865 // Transform the record by applying various field transformations. 6866 FieldTransformations []*FieldTransformation `protobuf:"bytes,1,rep,name=field_transformations,json=fieldTransformations,proto3" json:"field_transformations,omitempty"` 6867 // Configuration defining which records get suppressed entirely. Records that 6868 // match any suppression rule are omitted from the output. 6869 RecordSuppressions []*RecordSuppression `protobuf:"bytes,2,rep,name=record_suppressions,json=recordSuppressions,proto3" json:"record_suppressions,omitempty"` 6870} 6871 6872func (x *RecordTransformations) Reset() { 6873 *x = RecordTransformations{} 6874 if protoimpl.UnsafeEnabled { 6875 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[67] 6876 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6877 ms.StoreMessageInfo(mi) 6878 } 6879} 6880 6881func (x *RecordTransformations) String() string { 6882 return protoimpl.X.MessageStringOf(x) 6883} 6884 6885func (*RecordTransformations) ProtoMessage() {} 6886 6887func (x *RecordTransformations) ProtoReflect() protoreflect.Message { 6888 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[67] 6889 if protoimpl.UnsafeEnabled && x != nil { 6890 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6891 if ms.LoadMessageInfo() == nil { 6892 ms.StoreMessageInfo(mi) 6893 } 6894 return ms 6895 } 6896 return mi.MessageOf(x) 6897} 6898 6899// Deprecated: Use RecordTransformations.ProtoReflect.Descriptor instead. 6900func (*RecordTransformations) Descriptor() ([]byte, []int) { 6901 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{67} 6902} 6903 6904func (x *RecordTransformations) GetFieldTransformations() []*FieldTransformation { 6905 if x != nil { 6906 return x.FieldTransformations 6907 } 6908 return nil 6909} 6910 6911func (x *RecordTransformations) GetRecordSuppressions() []*RecordSuppression { 6912 if x != nil { 6913 return x.RecordSuppressions 6914 } 6915 return nil 6916} 6917 6918// Configuration to suppress records whose suppression conditions evaluate to 6919// true. 6920type RecordSuppression struct { 6921 state protoimpl.MessageState 6922 sizeCache protoimpl.SizeCache 6923 unknownFields protoimpl.UnknownFields 6924 6925 // A condition that when it evaluates to true will result in the record being 6926 // evaluated to be suppressed from the transformed content. 6927 Condition *RecordCondition `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` 6928} 6929 6930func (x *RecordSuppression) Reset() { 6931 *x = RecordSuppression{} 6932 if protoimpl.UnsafeEnabled { 6933 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[68] 6934 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6935 ms.StoreMessageInfo(mi) 6936 } 6937} 6938 6939func (x *RecordSuppression) String() string { 6940 return protoimpl.X.MessageStringOf(x) 6941} 6942 6943func (*RecordSuppression) ProtoMessage() {} 6944 6945func (x *RecordSuppression) ProtoReflect() protoreflect.Message { 6946 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[68] 6947 if protoimpl.UnsafeEnabled && x != nil { 6948 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6949 if ms.LoadMessageInfo() == nil { 6950 ms.StoreMessageInfo(mi) 6951 } 6952 return ms 6953 } 6954 return mi.MessageOf(x) 6955} 6956 6957// Deprecated: Use RecordSuppression.ProtoReflect.Descriptor instead. 6958func (*RecordSuppression) Descriptor() ([]byte, []int) { 6959 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{68} 6960} 6961 6962func (x *RecordSuppression) GetCondition() *RecordCondition { 6963 if x != nil { 6964 return x.Condition 6965 } 6966 return nil 6967} 6968 6969// A condition for determining whether a transformation should be applied to 6970// a field. 6971type RecordCondition struct { 6972 state protoimpl.MessageState 6973 sizeCache protoimpl.SizeCache 6974 unknownFields protoimpl.UnknownFields 6975 6976 // An expression. 6977 Expressions *RecordCondition_Expressions `protobuf:"bytes,3,opt,name=expressions,proto3" json:"expressions,omitempty"` 6978} 6979 6980func (x *RecordCondition) Reset() { 6981 *x = RecordCondition{} 6982 if protoimpl.UnsafeEnabled { 6983 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[69] 6984 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6985 ms.StoreMessageInfo(mi) 6986 } 6987} 6988 6989func (x *RecordCondition) String() string { 6990 return protoimpl.X.MessageStringOf(x) 6991} 6992 6993func (*RecordCondition) ProtoMessage() {} 6994 6995func (x *RecordCondition) ProtoReflect() protoreflect.Message { 6996 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[69] 6997 if protoimpl.UnsafeEnabled && x != nil { 6998 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6999 if ms.LoadMessageInfo() == nil { 7000 ms.StoreMessageInfo(mi) 7001 } 7002 return ms 7003 } 7004 return mi.MessageOf(x) 7005} 7006 7007// Deprecated: Use RecordCondition.ProtoReflect.Descriptor instead. 7008func (*RecordCondition) Descriptor() ([]byte, []int) { 7009 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69} 7010} 7011 7012func (x *RecordCondition) GetExpressions() *RecordCondition_Expressions { 7013 if x != nil { 7014 return x.Expressions 7015 } 7016 return nil 7017} 7018 7019// Overview of the modifications that occurred. 7020type TransformationOverview struct { 7021 state protoimpl.MessageState 7022 sizeCache protoimpl.SizeCache 7023 unknownFields protoimpl.UnknownFields 7024 7025 // Total size in bytes that were transformed in some way. 7026 TransformedBytes int64 `protobuf:"varint,2,opt,name=transformed_bytes,json=transformedBytes,proto3" json:"transformed_bytes,omitempty"` 7027 // Transformations applied to the dataset. 7028 TransformationSummaries []*TransformationSummary `protobuf:"bytes,3,rep,name=transformation_summaries,json=transformationSummaries,proto3" json:"transformation_summaries,omitempty"` 7029} 7030 7031func (x *TransformationOverview) Reset() { 7032 *x = TransformationOverview{} 7033 if protoimpl.UnsafeEnabled { 7034 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[70] 7035 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7036 ms.StoreMessageInfo(mi) 7037 } 7038} 7039 7040func (x *TransformationOverview) String() string { 7041 return protoimpl.X.MessageStringOf(x) 7042} 7043 7044func (*TransformationOverview) ProtoMessage() {} 7045 7046func (x *TransformationOverview) ProtoReflect() protoreflect.Message { 7047 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[70] 7048 if protoimpl.UnsafeEnabled && x != nil { 7049 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7050 if ms.LoadMessageInfo() == nil { 7051 ms.StoreMessageInfo(mi) 7052 } 7053 return ms 7054 } 7055 return mi.MessageOf(x) 7056} 7057 7058// Deprecated: Use TransformationOverview.ProtoReflect.Descriptor instead. 7059func (*TransformationOverview) Descriptor() ([]byte, []int) { 7060 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{70} 7061} 7062 7063func (x *TransformationOverview) GetTransformedBytes() int64 { 7064 if x != nil { 7065 return x.TransformedBytes 7066 } 7067 return 0 7068} 7069 7070func (x *TransformationOverview) GetTransformationSummaries() []*TransformationSummary { 7071 if x != nil { 7072 return x.TransformationSummaries 7073 } 7074 return nil 7075} 7076 7077// Summary of a single transformation. 7078// Only one of 'transformation', 'field_transformation', or 'record_suppress' 7079// will be set. 7080type TransformationSummary struct { 7081 state protoimpl.MessageState 7082 sizeCache protoimpl.SizeCache 7083 unknownFields protoimpl.UnknownFields 7084 7085 // Set if the transformation was limited to a specific InfoType. 7086 InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"` 7087 // Set if the transformation was limited to a specific FieldId. 7088 Field *FieldId `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"` 7089 // The specific transformation these stats apply to. 7090 Transformation *PrimitiveTransformation `protobuf:"bytes,3,opt,name=transformation,proto3" json:"transformation,omitempty"` 7091 // The field transformation that was applied. 7092 // If multiple field transformations are requested for a single field, 7093 // this list will contain all of them; otherwise, only one is supplied. 7094 FieldTransformations []*FieldTransformation `protobuf:"bytes,5,rep,name=field_transformations,json=fieldTransformations,proto3" json:"field_transformations,omitempty"` 7095 // The specific suppression option these stats apply to. 7096 RecordSuppress *RecordSuppression `protobuf:"bytes,6,opt,name=record_suppress,json=recordSuppress,proto3" json:"record_suppress,omitempty"` 7097 // Collection of all transformations that took place or had an error. 7098 Results []*TransformationSummary_SummaryResult `protobuf:"bytes,4,rep,name=results,proto3" json:"results,omitempty"` 7099 // Total size in bytes that were transformed in some way. 7100 TransformedBytes int64 `protobuf:"varint,7,opt,name=transformed_bytes,json=transformedBytes,proto3" json:"transformed_bytes,omitempty"` 7101} 7102 7103func (x *TransformationSummary) Reset() { 7104 *x = TransformationSummary{} 7105 if protoimpl.UnsafeEnabled { 7106 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[71] 7107 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7108 ms.StoreMessageInfo(mi) 7109 } 7110} 7111 7112func (x *TransformationSummary) String() string { 7113 return protoimpl.X.MessageStringOf(x) 7114} 7115 7116func (*TransformationSummary) ProtoMessage() {} 7117 7118func (x *TransformationSummary) ProtoReflect() protoreflect.Message { 7119 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[71] 7120 if protoimpl.UnsafeEnabled && x != nil { 7121 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7122 if ms.LoadMessageInfo() == nil { 7123 ms.StoreMessageInfo(mi) 7124 } 7125 return ms 7126 } 7127 return mi.MessageOf(x) 7128} 7129 7130// Deprecated: Use TransformationSummary.ProtoReflect.Descriptor instead. 7131func (*TransformationSummary) Descriptor() ([]byte, []int) { 7132 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{71} 7133} 7134 7135func (x *TransformationSummary) GetInfoType() *InfoType { 7136 if x != nil { 7137 return x.InfoType 7138 } 7139 return nil 7140} 7141 7142func (x *TransformationSummary) GetField() *FieldId { 7143 if x != nil { 7144 return x.Field 7145 } 7146 return nil 7147} 7148 7149func (x *TransformationSummary) GetTransformation() *PrimitiveTransformation { 7150 if x != nil { 7151 return x.Transformation 7152 } 7153 return nil 7154} 7155 7156func (x *TransformationSummary) GetFieldTransformations() []*FieldTransformation { 7157 if x != nil { 7158 return x.FieldTransformations 7159 } 7160 return nil 7161} 7162 7163func (x *TransformationSummary) GetRecordSuppress() *RecordSuppression { 7164 if x != nil { 7165 return x.RecordSuppress 7166 } 7167 return nil 7168} 7169 7170func (x *TransformationSummary) GetResults() []*TransformationSummary_SummaryResult { 7171 if x != nil { 7172 return x.Results 7173 } 7174 return nil 7175} 7176 7177func (x *TransformationSummary) GetTransformedBytes() int64 { 7178 if x != nil { 7179 return x.TransformedBytes 7180 } 7181 return 0 7182} 7183 7184// Schedule for triggeredJobs. 7185type Schedule struct { 7186 state protoimpl.MessageState 7187 sizeCache protoimpl.SizeCache 7188 unknownFields protoimpl.UnknownFields 7189 7190 // Types that are assignable to Option: 7191 // *Schedule_RecurrencePeriodDuration 7192 Option isSchedule_Option `protobuf_oneof:"option"` 7193} 7194 7195func (x *Schedule) Reset() { 7196 *x = Schedule{} 7197 if protoimpl.UnsafeEnabled { 7198 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[72] 7199 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7200 ms.StoreMessageInfo(mi) 7201 } 7202} 7203 7204func (x *Schedule) String() string { 7205 return protoimpl.X.MessageStringOf(x) 7206} 7207 7208func (*Schedule) ProtoMessage() {} 7209 7210func (x *Schedule) ProtoReflect() protoreflect.Message { 7211 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[72] 7212 if protoimpl.UnsafeEnabled && x != nil { 7213 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7214 if ms.LoadMessageInfo() == nil { 7215 ms.StoreMessageInfo(mi) 7216 } 7217 return ms 7218 } 7219 return mi.MessageOf(x) 7220} 7221 7222// Deprecated: Use Schedule.ProtoReflect.Descriptor instead. 7223func (*Schedule) Descriptor() ([]byte, []int) { 7224 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{72} 7225} 7226 7227func (m *Schedule) GetOption() isSchedule_Option { 7228 if m != nil { 7229 return m.Option 7230 } 7231 return nil 7232} 7233 7234func (x *Schedule) GetRecurrencePeriodDuration() *durationpb.Duration { 7235 if x, ok := x.GetOption().(*Schedule_RecurrencePeriodDuration); ok { 7236 return x.RecurrencePeriodDuration 7237 } 7238 return nil 7239} 7240 7241type isSchedule_Option interface { 7242 isSchedule_Option() 7243} 7244 7245type Schedule_RecurrencePeriodDuration struct { 7246 // With this option a job is started a regular periodic basis. For 7247 // example: every day (86400 seconds). 7248 // 7249 // A scheduled start time will be skipped if the previous 7250 // execution has not ended when its scheduled time occurs. 7251 // 7252 // This value must be set to a time duration greater than or equal 7253 // to 1 day and can be no longer than 60 days. 7254 RecurrencePeriodDuration *durationpb.Duration `protobuf:"bytes,1,opt,name=recurrence_period_duration,json=recurrencePeriodDuration,proto3,oneof"` 7255} 7256 7257func (*Schedule_RecurrencePeriodDuration) isSchedule_Option() {} 7258 7259// Job trigger option for hybrid jobs. Jobs must be manually created 7260// and finished. 7261type Manual struct { 7262 state protoimpl.MessageState 7263 sizeCache protoimpl.SizeCache 7264 unknownFields protoimpl.UnknownFields 7265} 7266 7267func (x *Manual) Reset() { 7268 *x = Manual{} 7269 if protoimpl.UnsafeEnabled { 7270 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[73] 7271 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7272 ms.StoreMessageInfo(mi) 7273 } 7274} 7275 7276func (x *Manual) String() string { 7277 return protoimpl.X.MessageStringOf(x) 7278} 7279 7280func (*Manual) ProtoMessage() {} 7281 7282func (x *Manual) ProtoReflect() protoreflect.Message { 7283 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[73] 7284 if protoimpl.UnsafeEnabled && x != nil { 7285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7286 if ms.LoadMessageInfo() == nil { 7287 ms.StoreMessageInfo(mi) 7288 } 7289 return ms 7290 } 7291 return mi.MessageOf(x) 7292} 7293 7294// Deprecated: Use Manual.ProtoReflect.Descriptor instead. 7295func (*Manual) Descriptor() ([]byte, []int) { 7296 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{73} 7297} 7298 7299// The inspectTemplate contains a configuration (set of types of sensitive data 7300// to be detected) to be used anywhere you otherwise would normally specify 7301// InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates 7302// to learn more. 7303type InspectTemplate struct { 7304 state protoimpl.MessageState 7305 sizeCache protoimpl.SizeCache 7306 unknownFields protoimpl.UnknownFields 7307 7308 // Output only. The template name. 7309 // 7310 // The template will have one of the following formats: 7311 // `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR 7312 // `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`; 7313 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 7314 // Display name (max 256 chars). 7315 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 7316 // Short description (max 256 chars). 7317 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 7318 // Output only. The creation timestamp of an inspectTemplate. 7319 CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 7320 // Output only. The last update timestamp of an inspectTemplate. 7321 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 7322 // The core content of the template. Configuration of the scanning process. 7323 InspectConfig *InspectConfig `protobuf:"bytes,6,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"` 7324} 7325 7326func (x *InspectTemplate) Reset() { 7327 *x = InspectTemplate{} 7328 if protoimpl.UnsafeEnabled { 7329 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[74] 7330 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7331 ms.StoreMessageInfo(mi) 7332 } 7333} 7334 7335func (x *InspectTemplate) String() string { 7336 return protoimpl.X.MessageStringOf(x) 7337} 7338 7339func (*InspectTemplate) ProtoMessage() {} 7340 7341func (x *InspectTemplate) ProtoReflect() protoreflect.Message { 7342 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[74] 7343 if protoimpl.UnsafeEnabled && x != nil { 7344 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7345 if ms.LoadMessageInfo() == nil { 7346 ms.StoreMessageInfo(mi) 7347 } 7348 return ms 7349 } 7350 return mi.MessageOf(x) 7351} 7352 7353// Deprecated: Use InspectTemplate.ProtoReflect.Descriptor instead. 7354func (*InspectTemplate) Descriptor() ([]byte, []int) { 7355 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{74} 7356} 7357 7358func (x *InspectTemplate) GetName() string { 7359 if x != nil { 7360 return x.Name 7361 } 7362 return "" 7363} 7364 7365func (x *InspectTemplate) GetDisplayName() string { 7366 if x != nil { 7367 return x.DisplayName 7368 } 7369 return "" 7370} 7371 7372func (x *InspectTemplate) GetDescription() string { 7373 if x != nil { 7374 return x.Description 7375 } 7376 return "" 7377} 7378 7379func (x *InspectTemplate) GetCreateTime() *timestamppb.Timestamp { 7380 if x != nil { 7381 return x.CreateTime 7382 } 7383 return nil 7384} 7385 7386func (x *InspectTemplate) GetUpdateTime() *timestamppb.Timestamp { 7387 if x != nil { 7388 return x.UpdateTime 7389 } 7390 return nil 7391} 7392 7393func (x *InspectTemplate) GetInspectConfig() *InspectConfig { 7394 if x != nil { 7395 return x.InspectConfig 7396 } 7397 return nil 7398} 7399 7400// DeidentifyTemplates contains instructions on how to de-identify content. 7401// See https://cloud.google.com/dlp/docs/concepts-templates to learn more. 7402type DeidentifyTemplate struct { 7403 state protoimpl.MessageState 7404 sizeCache protoimpl.SizeCache 7405 unknownFields protoimpl.UnknownFields 7406 7407 // Output only. The template name. 7408 // 7409 // The template will have one of the following formats: 7410 // `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR 7411 // `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID` 7412 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 7413 // Display name (max 256 chars). 7414 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 7415 // Short description (max 256 chars). 7416 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 7417 // Output only. The creation timestamp of an inspectTemplate. 7418 CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 7419 // Output only. The last update timestamp of an inspectTemplate. 7420 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 7421 // ///////////// // The core content of the template // /////////////// 7422 DeidentifyConfig *DeidentifyConfig `protobuf:"bytes,6,opt,name=deidentify_config,json=deidentifyConfig,proto3" json:"deidentify_config,omitempty"` 7423} 7424 7425func (x *DeidentifyTemplate) Reset() { 7426 *x = DeidentifyTemplate{} 7427 if protoimpl.UnsafeEnabled { 7428 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[75] 7429 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7430 ms.StoreMessageInfo(mi) 7431 } 7432} 7433 7434func (x *DeidentifyTemplate) String() string { 7435 return protoimpl.X.MessageStringOf(x) 7436} 7437 7438func (*DeidentifyTemplate) ProtoMessage() {} 7439 7440func (x *DeidentifyTemplate) ProtoReflect() protoreflect.Message { 7441 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[75] 7442 if protoimpl.UnsafeEnabled && x != nil { 7443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7444 if ms.LoadMessageInfo() == nil { 7445 ms.StoreMessageInfo(mi) 7446 } 7447 return ms 7448 } 7449 return mi.MessageOf(x) 7450} 7451 7452// Deprecated: Use DeidentifyTemplate.ProtoReflect.Descriptor instead. 7453func (*DeidentifyTemplate) Descriptor() ([]byte, []int) { 7454 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{75} 7455} 7456 7457func (x *DeidentifyTemplate) GetName() string { 7458 if x != nil { 7459 return x.Name 7460 } 7461 return "" 7462} 7463 7464func (x *DeidentifyTemplate) GetDisplayName() string { 7465 if x != nil { 7466 return x.DisplayName 7467 } 7468 return "" 7469} 7470 7471func (x *DeidentifyTemplate) GetDescription() string { 7472 if x != nil { 7473 return x.Description 7474 } 7475 return "" 7476} 7477 7478func (x *DeidentifyTemplate) GetCreateTime() *timestamppb.Timestamp { 7479 if x != nil { 7480 return x.CreateTime 7481 } 7482 return nil 7483} 7484 7485func (x *DeidentifyTemplate) GetUpdateTime() *timestamppb.Timestamp { 7486 if x != nil { 7487 return x.UpdateTime 7488 } 7489 return nil 7490} 7491 7492func (x *DeidentifyTemplate) GetDeidentifyConfig() *DeidentifyConfig { 7493 if x != nil { 7494 return x.DeidentifyConfig 7495 } 7496 return nil 7497} 7498 7499// Details information about an error encountered during job execution or 7500// the results of an unsuccessful activation of the JobTrigger. 7501type Error struct { 7502 state protoimpl.MessageState 7503 sizeCache protoimpl.SizeCache 7504 unknownFields protoimpl.UnknownFields 7505 7506 // Detailed error codes and messages. 7507 Details *status.Status `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` 7508 // The times the error occurred. 7509 Timestamps []*timestamppb.Timestamp `protobuf:"bytes,2,rep,name=timestamps,proto3" json:"timestamps,omitempty"` 7510} 7511 7512func (x *Error) Reset() { 7513 *x = Error{} 7514 if protoimpl.UnsafeEnabled { 7515 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[76] 7516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7517 ms.StoreMessageInfo(mi) 7518 } 7519} 7520 7521func (x *Error) String() string { 7522 return protoimpl.X.MessageStringOf(x) 7523} 7524 7525func (*Error) ProtoMessage() {} 7526 7527func (x *Error) ProtoReflect() protoreflect.Message { 7528 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[76] 7529 if protoimpl.UnsafeEnabled && x != nil { 7530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7531 if ms.LoadMessageInfo() == nil { 7532 ms.StoreMessageInfo(mi) 7533 } 7534 return ms 7535 } 7536 return mi.MessageOf(x) 7537} 7538 7539// Deprecated: Use Error.ProtoReflect.Descriptor instead. 7540func (*Error) Descriptor() ([]byte, []int) { 7541 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{76} 7542} 7543 7544func (x *Error) GetDetails() *status.Status { 7545 if x != nil { 7546 return x.Details 7547 } 7548 return nil 7549} 7550 7551func (x *Error) GetTimestamps() []*timestamppb.Timestamp { 7552 if x != nil { 7553 return x.Timestamps 7554 } 7555 return nil 7556} 7557 7558// Contains a configuration to make dlp api calls on a repeating basis. 7559// See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more. 7560type JobTrigger struct { 7561 state protoimpl.MessageState 7562 sizeCache protoimpl.SizeCache 7563 unknownFields protoimpl.UnknownFields 7564 7565 // Unique resource name for the triggeredJob, assigned by the service when the 7566 // triggeredJob is created, for example 7567 // `projects/dlp-test-project/jobTriggers/53234423`. 7568 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 7569 // Display name (max 100 chars) 7570 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 7571 // User provided description (max 256 chars) 7572 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 7573 // The configuration details for the specific type of job to run. 7574 // 7575 // Types that are assignable to Job: 7576 // *JobTrigger_InspectJob 7577 Job isJobTrigger_Job `protobuf_oneof:"job"` 7578 // A list of triggers which will be OR'ed together. Only one in the list 7579 // needs to trigger for a job to be started. The list may contain only 7580 // a single Schedule trigger and must have at least one object. 7581 Triggers []*JobTrigger_Trigger `protobuf:"bytes,5,rep,name=triggers,proto3" json:"triggers,omitempty"` 7582 // Output only. A stream of errors encountered when the trigger was activated. Repeated 7583 // errors may result in the JobTrigger automatically being paused. 7584 // Will return the last 100 errors. Whenever the JobTrigger is modified 7585 // this list will be cleared. 7586 Errors []*Error `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors,omitempty"` 7587 // Output only. The creation timestamp of a triggeredJob. 7588 CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 7589 // Output only. The last update timestamp of a triggeredJob. 7590 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 7591 // Output only. The timestamp of the last time this trigger executed. 7592 LastRunTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_run_time,json=lastRunTime,proto3" json:"last_run_time,omitempty"` 7593 // Required. A status for this trigger. 7594 Status JobTrigger_Status `protobuf:"varint,10,opt,name=status,proto3,enum=google.privacy.dlp.v2.JobTrigger_Status" json:"status,omitempty"` 7595} 7596 7597func (x *JobTrigger) Reset() { 7598 *x = JobTrigger{} 7599 if protoimpl.UnsafeEnabled { 7600 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[77] 7601 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7602 ms.StoreMessageInfo(mi) 7603 } 7604} 7605 7606func (x *JobTrigger) String() string { 7607 return protoimpl.X.MessageStringOf(x) 7608} 7609 7610func (*JobTrigger) ProtoMessage() {} 7611 7612func (x *JobTrigger) ProtoReflect() protoreflect.Message { 7613 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[77] 7614 if protoimpl.UnsafeEnabled && x != nil { 7615 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7616 if ms.LoadMessageInfo() == nil { 7617 ms.StoreMessageInfo(mi) 7618 } 7619 return ms 7620 } 7621 return mi.MessageOf(x) 7622} 7623 7624// Deprecated: Use JobTrigger.ProtoReflect.Descriptor instead. 7625func (*JobTrigger) Descriptor() ([]byte, []int) { 7626 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{77} 7627} 7628 7629func (x *JobTrigger) GetName() string { 7630 if x != nil { 7631 return x.Name 7632 } 7633 return "" 7634} 7635 7636func (x *JobTrigger) GetDisplayName() string { 7637 if x != nil { 7638 return x.DisplayName 7639 } 7640 return "" 7641} 7642 7643func (x *JobTrigger) GetDescription() string { 7644 if x != nil { 7645 return x.Description 7646 } 7647 return "" 7648} 7649 7650func (m *JobTrigger) GetJob() isJobTrigger_Job { 7651 if m != nil { 7652 return m.Job 7653 } 7654 return nil 7655} 7656 7657func (x *JobTrigger) GetInspectJob() *InspectJobConfig { 7658 if x, ok := x.GetJob().(*JobTrigger_InspectJob); ok { 7659 return x.InspectJob 7660 } 7661 return nil 7662} 7663 7664func (x *JobTrigger) GetTriggers() []*JobTrigger_Trigger { 7665 if x != nil { 7666 return x.Triggers 7667 } 7668 return nil 7669} 7670 7671func (x *JobTrigger) GetErrors() []*Error { 7672 if x != nil { 7673 return x.Errors 7674 } 7675 return nil 7676} 7677 7678func (x *JobTrigger) GetCreateTime() *timestamppb.Timestamp { 7679 if x != nil { 7680 return x.CreateTime 7681 } 7682 return nil 7683} 7684 7685func (x *JobTrigger) GetUpdateTime() *timestamppb.Timestamp { 7686 if x != nil { 7687 return x.UpdateTime 7688 } 7689 return nil 7690} 7691 7692func (x *JobTrigger) GetLastRunTime() *timestamppb.Timestamp { 7693 if x != nil { 7694 return x.LastRunTime 7695 } 7696 return nil 7697} 7698 7699func (x *JobTrigger) GetStatus() JobTrigger_Status { 7700 if x != nil { 7701 return x.Status 7702 } 7703 return JobTrigger_STATUS_UNSPECIFIED 7704} 7705 7706type isJobTrigger_Job interface { 7707 isJobTrigger_Job() 7708} 7709 7710type JobTrigger_InspectJob struct { 7711 // For inspect jobs, a snapshot of the configuration. 7712 InspectJob *InspectJobConfig `protobuf:"bytes,4,opt,name=inspect_job,json=inspectJob,proto3,oneof"` 7713} 7714 7715func (*JobTrigger_InspectJob) isJobTrigger_Job() {} 7716 7717// A task to execute on the completion of a job. 7718// See https://cloud.google.com/dlp/docs/concepts-actions to learn more. 7719type Action struct { 7720 state protoimpl.MessageState 7721 sizeCache protoimpl.SizeCache 7722 unknownFields protoimpl.UnknownFields 7723 7724 // Types that are assignable to Action: 7725 // *Action_SaveFindings_ 7726 // *Action_PubSub 7727 // *Action_PublishSummaryToCscc_ 7728 // *Action_PublishFindingsToCloudDataCatalog_ 7729 // *Action_JobNotificationEmails_ 7730 // *Action_PublishToStackdriver_ 7731 Action isAction_Action `protobuf_oneof:"action"` 7732} 7733 7734func (x *Action) Reset() { 7735 *x = Action{} 7736 if protoimpl.UnsafeEnabled { 7737 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[78] 7738 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7739 ms.StoreMessageInfo(mi) 7740 } 7741} 7742 7743func (x *Action) String() string { 7744 return protoimpl.X.MessageStringOf(x) 7745} 7746 7747func (*Action) ProtoMessage() {} 7748 7749func (x *Action) ProtoReflect() protoreflect.Message { 7750 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[78] 7751 if protoimpl.UnsafeEnabled && x != nil { 7752 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7753 if ms.LoadMessageInfo() == nil { 7754 ms.StoreMessageInfo(mi) 7755 } 7756 return ms 7757 } 7758 return mi.MessageOf(x) 7759} 7760 7761// Deprecated: Use Action.ProtoReflect.Descriptor instead. 7762func (*Action) Descriptor() ([]byte, []int) { 7763 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78} 7764} 7765 7766func (m *Action) GetAction() isAction_Action { 7767 if m != nil { 7768 return m.Action 7769 } 7770 return nil 7771} 7772 7773func (x *Action) GetSaveFindings() *Action_SaveFindings { 7774 if x, ok := x.GetAction().(*Action_SaveFindings_); ok { 7775 return x.SaveFindings 7776 } 7777 return nil 7778} 7779 7780func (x *Action) GetPubSub() *Action_PublishToPubSub { 7781 if x, ok := x.GetAction().(*Action_PubSub); ok { 7782 return x.PubSub 7783 } 7784 return nil 7785} 7786 7787func (x *Action) GetPublishSummaryToCscc() *Action_PublishSummaryToCscc { 7788 if x, ok := x.GetAction().(*Action_PublishSummaryToCscc_); ok { 7789 return x.PublishSummaryToCscc 7790 } 7791 return nil 7792} 7793 7794func (x *Action) GetPublishFindingsToCloudDataCatalog() *Action_PublishFindingsToCloudDataCatalog { 7795 if x, ok := x.GetAction().(*Action_PublishFindingsToCloudDataCatalog_); ok { 7796 return x.PublishFindingsToCloudDataCatalog 7797 } 7798 return nil 7799} 7800 7801func (x *Action) GetJobNotificationEmails() *Action_JobNotificationEmails { 7802 if x, ok := x.GetAction().(*Action_JobNotificationEmails_); ok { 7803 return x.JobNotificationEmails 7804 } 7805 return nil 7806} 7807 7808func (x *Action) GetPublishToStackdriver() *Action_PublishToStackdriver { 7809 if x, ok := x.GetAction().(*Action_PublishToStackdriver_); ok { 7810 return x.PublishToStackdriver 7811 } 7812 return nil 7813} 7814 7815type isAction_Action interface { 7816 isAction_Action() 7817} 7818 7819type Action_SaveFindings_ struct { 7820 // Save resulting findings in a provided location. 7821 SaveFindings *Action_SaveFindings `protobuf:"bytes,1,opt,name=save_findings,json=saveFindings,proto3,oneof"` 7822} 7823 7824type Action_PubSub struct { 7825 // Publish a notification to a pubsub topic. 7826 PubSub *Action_PublishToPubSub `protobuf:"bytes,2,opt,name=pub_sub,json=pubSub,proto3,oneof"` 7827} 7828 7829type Action_PublishSummaryToCscc_ struct { 7830 // Publish summary to Cloud Security Command Center (Alpha). 7831 PublishSummaryToCscc *Action_PublishSummaryToCscc `protobuf:"bytes,3,opt,name=publish_summary_to_cscc,json=publishSummaryToCscc,proto3,oneof"` 7832} 7833 7834type Action_PublishFindingsToCloudDataCatalog_ struct { 7835 // Publish findings to Cloud Datahub. 7836 PublishFindingsToCloudDataCatalog *Action_PublishFindingsToCloudDataCatalog `protobuf:"bytes,5,opt,name=publish_findings_to_cloud_data_catalog,json=publishFindingsToCloudDataCatalog,proto3,oneof"` 7837} 7838 7839type Action_JobNotificationEmails_ struct { 7840 // Enable email notification for project owners and editors on job's 7841 // completion/failure. 7842 JobNotificationEmails *Action_JobNotificationEmails `protobuf:"bytes,8,opt,name=job_notification_emails,json=jobNotificationEmails,proto3,oneof"` 7843} 7844 7845type Action_PublishToStackdriver_ struct { 7846 // Enable Stackdriver metric dlp.googleapis.com/finding_count. 7847 PublishToStackdriver *Action_PublishToStackdriver `protobuf:"bytes,9,opt,name=publish_to_stackdriver,json=publishToStackdriver,proto3,oneof"` 7848} 7849 7850func (*Action_SaveFindings_) isAction_Action() {} 7851 7852func (*Action_PubSub) isAction_Action() {} 7853 7854func (*Action_PublishSummaryToCscc_) isAction_Action() {} 7855 7856func (*Action_PublishFindingsToCloudDataCatalog_) isAction_Action() {} 7857 7858func (*Action_JobNotificationEmails_) isAction_Action() {} 7859 7860func (*Action_PublishToStackdriver_) isAction_Action() {} 7861 7862// Request message for CreateInspectTemplate. 7863type CreateInspectTemplateRequest struct { 7864 state protoimpl.MessageState 7865 sizeCache protoimpl.SizeCache 7866 unknownFields protoimpl.UnknownFields 7867 7868 // Required. Parent resource name. 7869 // 7870 // The format of this value varies depending on the scope of the request 7871 // (project or organization) and whether you have [specified a processing 7872 // location](https://cloud.google.com/dlp/docs/specifying-location): 7873 // 7874 // + Projects scope, location specified:<br/> 7875 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 7876 // + Projects scope, no location specified (defaults to global):<br/> 7877 // `projects/`<var>PROJECT_ID</var> 7878 // + Organizations scope, location specified:<br/> 7879 // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 7880 // + Organizations scope, no location specified (defaults to global):<br/> 7881 // `organizations/`<var>ORG_ID</var> 7882 // 7883 // The following example `parent` string specifies a parent project with the 7884 // identifier `example-project`, and specifies the `europe-west3` location 7885 // for processing data: 7886 // 7887 // parent=projects/example-project/locations/europe-west3 7888 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 7889 // Required. The InspectTemplate to create. 7890 InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"` 7891 // The template id can contain uppercase and lowercase letters, 7892 // numbers, and hyphens; that is, it must match the regular 7893 // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 7894 // characters. Can be empty to allow the system to generate one. 7895 TemplateId string `protobuf:"bytes,3,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"` 7896 // Deprecated. This field has no effect. 7897 LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 7898} 7899 7900func (x *CreateInspectTemplateRequest) Reset() { 7901 *x = CreateInspectTemplateRequest{} 7902 if protoimpl.UnsafeEnabled { 7903 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[79] 7904 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7905 ms.StoreMessageInfo(mi) 7906 } 7907} 7908 7909func (x *CreateInspectTemplateRequest) String() string { 7910 return protoimpl.X.MessageStringOf(x) 7911} 7912 7913func (*CreateInspectTemplateRequest) ProtoMessage() {} 7914 7915func (x *CreateInspectTemplateRequest) ProtoReflect() protoreflect.Message { 7916 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[79] 7917 if protoimpl.UnsafeEnabled && x != nil { 7918 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7919 if ms.LoadMessageInfo() == nil { 7920 ms.StoreMessageInfo(mi) 7921 } 7922 return ms 7923 } 7924 return mi.MessageOf(x) 7925} 7926 7927// Deprecated: Use CreateInspectTemplateRequest.ProtoReflect.Descriptor instead. 7928func (*CreateInspectTemplateRequest) Descriptor() ([]byte, []int) { 7929 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{79} 7930} 7931 7932func (x *CreateInspectTemplateRequest) GetParent() string { 7933 if x != nil { 7934 return x.Parent 7935 } 7936 return "" 7937} 7938 7939func (x *CreateInspectTemplateRequest) GetInspectTemplate() *InspectTemplate { 7940 if x != nil { 7941 return x.InspectTemplate 7942 } 7943 return nil 7944} 7945 7946func (x *CreateInspectTemplateRequest) GetTemplateId() string { 7947 if x != nil { 7948 return x.TemplateId 7949 } 7950 return "" 7951} 7952 7953func (x *CreateInspectTemplateRequest) GetLocationId() string { 7954 if x != nil { 7955 return x.LocationId 7956 } 7957 return "" 7958} 7959 7960// Request message for UpdateInspectTemplate. 7961type UpdateInspectTemplateRequest struct { 7962 state protoimpl.MessageState 7963 sizeCache protoimpl.SizeCache 7964 unknownFields protoimpl.UnknownFields 7965 7966 // Required. Resource name of organization and inspectTemplate to be updated, for 7967 // example `organizations/433245324/inspectTemplates/432452342` or 7968 // projects/project-id/inspectTemplates/432452342. 7969 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 7970 // New InspectTemplate value. 7971 InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"` 7972 // Mask to control which fields get updated. 7973 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 7974} 7975 7976func (x *UpdateInspectTemplateRequest) Reset() { 7977 *x = UpdateInspectTemplateRequest{} 7978 if protoimpl.UnsafeEnabled { 7979 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[80] 7980 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7981 ms.StoreMessageInfo(mi) 7982 } 7983} 7984 7985func (x *UpdateInspectTemplateRequest) String() string { 7986 return protoimpl.X.MessageStringOf(x) 7987} 7988 7989func (*UpdateInspectTemplateRequest) ProtoMessage() {} 7990 7991func (x *UpdateInspectTemplateRequest) ProtoReflect() protoreflect.Message { 7992 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[80] 7993 if protoimpl.UnsafeEnabled && x != nil { 7994 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7995 if ms.LoadMessageInfo() == nil { 7996 ms.StoreMessageInfo(mi) 7997 } 7998 return ms 7999 } 8000 return mi.MessageOf(x) 8001} 8002 8003// Deprecated: Use UpdateInspectTemplateRequest.ProtoReflect.Descriptor instead. 8004func (*UpdateInspectTemplateRequest) Descriptor() ([]byte, []int) { 8005 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{80} 8006} 8007 8008func (x *UpdateInspectTemplateRequest) GetName() string { 8009 if x != nil { 8010 return x.Name 8011 } 8012 return "" 8013} 8014 8015func (x *UpdateInspectTemplateRequest) GetInspectTemplate() *InspectTemplate { 8016 if x != nil { 8017 return x.InspectTemplate 8018 } 8019 return nil 8020} 8021 8022func (x *UpdateInspectTemplateRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 8023 if x != nil { 8024 return x.UpdateMask 8025 } 8026 return nil 8027} 8028 8029// Request message for GetInspectTemplate. 8030type GetInspectTemplateRequest struct { 8031 state protoimpl.MessageState 8032 sizeCache protoimpl.SizeCache 8033 unknownFields protoimpl.UnknownFields 8034 8035 // Required. Resource name of the organization and inspectTemplate to be read, for 8036 // example `organizations/433245324/inspectTemplates/432452342` or 8037 // projects/project-id/inspectTemplates/432452342. 8038 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 8039} 8040 8041func (x *GetInspectTemplateRequest) Reset() { 8042 *x = GetInspectTemplateRequest{} 8043 if protoimpl.UnsafeEnabled { 8044 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[81] 8045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8046 ms.StoreMessageInfo(mi) 8047 } 8048} 8049 8050func (x *GetInspectTemplateRequest) String() string { 8051 return protoimpl.X.MessageStringOf(x) 8052} 8053 8054func (*GetInspectTemplateRequest) ProtoMessage() {} 8055 8056func (x *GetInspectTemplateRequest) ProtoReflect() protoreflect.Message { 8057 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[81] 8058 if protoimpl.UnsafeEnabled && x != nil { 8059 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8060 if ms.LoadMessageInfo() == nil { 8061 ms.StoreMessageInfo(mi) 8062 } 8063 return ms 8064 } 8065 return mi.MessageOf(x) 8066} 8067 8068// Deprecated: Use GetInspectTemplateRequest.ProtoReflect.Descriptor instead. 8069func (*GetInspectTemplateRequest) Descriptor() ([]byte, []int) { 8070 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{81} 8071} 8072 8073func (x *GetInspectTemplateRequest) GetName() string { 8074 if x != nil { 8075 return x.Name 8076 } 8077 return "" 8078} 8079 8080// Request message for ListInspectTemplates. 8081type ListInspectTemplatesRequest struct { 8082 state protoimpl.MessageState 8083 sizeCache protoimpl.SizeCache 8084 unknownFields protoimpl.UnknownFields 8085 8086 // Required. Parent resource name. 8087 // 8088 // The format of this value varies depending on the scope of the request 8089 // (project or organization) and whether you have [specified a processing 8090 // location](https://cloud.google.com/dlp/docs/specifying-location): 8091 // 8092 // + Projects scope, location specified:<br/> 8093 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 8094 // + Projects scope, no location specified (defaults to global):<br/> 8095 // `projects/`<var>PROJECT_ID</var> 8096 // + Organizations scope, location specified:<br/> 8097 // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 8098 // + Organizations scope, no location specified (defaults to global):<br/> 8099 // `organizations/`<var>ORG_ID</var> 8100 // 8101 // The following example `parent` string specifies a parent project with the 8102 // identifier `example-project`, and specifies the `europe-west3` location 8103 // for processing data: 8104 // 8105 // parent=projects/example-project/locations/europe-west3 8106 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 8107 // Page token to continue retrieval. Comes from previous call 8108 // to `ListInspectTemplates`. 8109 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 8110 // Size of the page, can be limited by server. If zero server returns 8111 // a page of max size 100. 8112 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 8113 // Comma separated list of fields to order by, 8114 // followed by `asc` or `desc` postfix. This list is case-insensitive, 8115 // default sorting order is ascending, redundant space characters are 8116 // insignificant. 8117 // 8118 // Example: `name asc,update_time, create_time desc` 8119 // 8120 // Supported fields are: 8121 // 8122 // - `create_time`: corresponds to time the template was created. 8123 // - `update_time`: corresponds to time the template was last updated. 8124 // - `name`: corresponds to template's name. 8125 // - `display_name`: corresponds to template's display name. 8126 OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 8127 // Deprecated. This field has no effect. 8128 LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 8129} 8130 8131func (x *ListInspectTemplatesRequest) Reset() { 8132 *x = ListInspectTemplatesRequest{} 8133 if protoimpl.UnsafeEnabled { 8134 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[82] 8135 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8136 ms.StoreMessageInfo(mi) 8137 } 8138} 8139 8140func (x *ListInspectTemplatesRequest) String() string { 8141 return protoimpl.X.MessageStringOf(x) 8142} 8143 8144func (*ListInspectTemplatesRequest) ProtoMessage() {} 8145 8146func (x *ListInspectTemplatesRequest) ProtoReflect() protoreflect.Message { 8147 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[82] 8148 if protoimpl.UnsafeEnabled && x != nil { 8149 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8150 if ms.LoadMessageInfo() == nil { 8151 ms.StoreMessageInfo(mi) 8152 } 8153 return ms 8154 } 8155 return mi.MessageOf(x) 8156} 8157 8158// Deprecated: Use ListInspectTemplatesRequest.ProtoReflect.Descriptor instead. 8159func (*ListInspectTemplatesRequest) Descriptor() ([]byte, []int) { 8160 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{82} 8161} 8162 8163func (x *ListInspectTemplatesRequest) GetParent() string { 8164 if x != nil { 8165 return x.Parent 8166 } 8167 return "" 8168} 8169 8170func (x *ListInspectTemplatesRequest) GetPageToken() string { 8171 if x != nil { 8172 return x.PageToken 8173 } 8174 return "" 8175} 8176 8177func (x *ListInspectTemplatesRequest) GetPageSize() int32 { 8178 if x != nil { 8179 return x.PageSize 8180 } 8181 return 0 8182} 8183 8184func (x *ListInspectTemplatesRequest) GetOrderBy() string { 8185 if x != nil { 8186 return x.OrderBy 8187 } 8188 return "" 8189} 8190 8191func (x *ListInspectTemplatesRequest) GetLocationId() string { 8192 if x != nil { 8193 return x.LocationId 8194 } 8195 return "" 8196} 8197 8198// Response message for ListInspectTemplates. 8199type ListInspectTemplatesResponse struct { 8200 state protoimpl.MessageState 8201 sizeCache protoimpl.SizeCache 8202 unknownFields protoimpl.UnknownFields 8203 8204 // List of inspectTemplates, up to page_size in ListInspectTemplatesRequest. 8205 InspectTemplates []*InspectTemplate `protobuf:"bytes,1,rep,name=inspect_templates,json=inspectTemplates,proto3" json:"inspect_templates,omitempty"` 8206 // If the next page is available then the next page token to be used 8207 // in following ListInspectTemplates request. 8208 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 8209} 8210 8211func (x *ListInspectTemplatesResponse) Reset() { 8212 *x = ListInspectTemplatesResponse{} 8213 if protoimpl.UnsafeEnabled { 8214 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[83] 8215 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8216 ms.StoreMessageInfo(mi) 8217 } 8218} 8219 8220func (x *ListInspectTemplatesResponse) String() string { 8221 return protoimpl.X.MessageStringOf(x) 8222} 8223 8224func (*ListInspectTemplatesResponse) ProtoMessage() {} 8225 8226func (x *ListInspectTemplatesResponse) ProtoReflect() protoreflect.Message { 8227 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[83] 8228 if protoimpl.UnsafeEnabled && x != nil { 8229 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8230 if ms.LoadMessageInfo() == nil { 8231 ms.StoreMessageInfo(mi) 8232 } 8233 return ms 8234 } 8235 return mi.MessageOf(x) 8236} 8237 8238// Deprecated: Use ListInspectTemplatesResponse.ProtoReflect.Descriptor instead. 8239func (*ListInspectTemplatesResponse) Descriptor() ([]byte, []int) { 8240 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{83} 8241} 8242 8243func (x *ListInspectTemplatesResponse) GetInspectTemplates() []*InspectTemplate { 8244 if x != nil { 8245 return x.InspectTemplates 8246 } 8247 return nil 8248} 8249 8250func (x *ListInspectTemplatesResponse) GetNextPageToken() string { 8251 if x != nil { 8252 return x.NextPageToken 8253 } 8254 return "" 8255} 8256 8257// Request message for DeleteInspectTemplate. 8258type DeleteInspectTemplateRequest struct { 8259 state protoimpl.MessageState 8260 sizeCache protoimpl.SizeCache 8261 unknownFields protoimpl.UnknownFields 8262 8263 // Required. Resource name of the organization and inspectTemplate to be deleted, for 8264 // example `organizations/433245324/inspectTemplates/432452342` or 8265 // projects/project-id/inspectTemplates/432452342. 8266 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 8267} 8268 8269func (x *DeleteInspectTemplateRequest) Reset() { 8270 *x = DeleteInspectTemplateRequest{} 8271 if protoimpl.UnsafeEnabled { 8272 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[84] 8273 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8274 ms.StoreMessageInfo(mi) 8275 } 8276} 8277 8278func (x *DeleteInspectTemplateRequest) String() string { 8279 return protoimpl.X.MessageStringOf(x) 8280} 8281 8282func (*DeleteInspectTemplateRequest) ProtoMessage() {} 8283 8284func (x *DeleteInspectTemplateRequest) ProtoReflect() protoreflect.Message { 8285 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[84] 8286 if protoimpl.UnsafeEnabled && x != nil { 8287 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8288 if ms.LoadMessageInfo() == nil { 8289 ms.StoreMessageInfo(mi) 8290 } 8291 return ms 8292 } 8293 return mi.MessageOf(x) 8294} 8295 8296// Deprecated: Use DeleteInspectTemplateRequest.ProtoReflect.Descriptor instead. 8297func (*DeleteInspectTemplateRequest) Descriptor() ([]byte, []int) { 8298 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{84} 8299} 8300 8301func (x *DeleteInspectTemplateRequest) GetName() string { 8302 if x != nil { 8303 return x.Name 8304 } 8305 return "" 8306} 8307 8308// Request message for CreateJobTrigger. 8309type CreateJobTriggerRequest struct { 8310 state protoimpl.MessageState 8311 sizeCache protoimpl.SizeCache 8312 unknownFields protoimpl.UnknownFields 8313 8314 // Required. Parent resource name. 8315 // 8316 // The format of this value varies depending on whether you have [specified a 8317 // processing 8318 // location](https://cloud.google.com/dlp/docs/specifying-location): 8319 // 8320 // + Projects scope, location specified:<br/> 8321 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 8322 // + Projects scope, no location specified (defaults to global):<br/> 8323 // `projects/`<var>PROJECT_ID</var> 8324 // 8325 // The following example `parent` string specifies a parent project with the 8326 // identifier `example-project`, and specifies the `europe-west3` location 8327 // for processing data: 8328 // 8329 // parent=projects/example-project/locations/europe-west3 8330 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 8331 // Required. The JobTrigger to create. 8332 JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"` 8333 // The trigger id can contain uppercase and lowercase letters, 8334 // numbers, and hyphens; that is, it must match the regular 8335 // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 8336 // characters. Can be empty to allow the system to generate one. 8337 TriggerId string `protobuf:"bytes,3,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"` 8338 // Deprecated. This field has no effect. 8339 LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 8340} 8341 8342func (x *CreateJobTriggerRequest) Reset() { 8343 *x = CreateJobTriggerRequest{} 8344 if protoimpl.UnsafeEnabled { 8345 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[85] 8346 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8347 ms.StoreMessageInfo(mi) 8348 } 8349} 8350 8351func (x *CreateJobTriggerRequest) String() string { 8352 return protoimpl.X.MessageStringOf(x) 8353} 8354 8355func (*CreateJobTriggerRequest) ProtoMessage() {} 8356 8357func (x *CreateJobTriggerRequest) ProtoReflect() protoreflect.Message { 8358 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[85] 8359 if protoimpl.UnsafeEnabled && x != nil { 8360 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8361 if ms.LoadMessageInfo() == nil { 8362 ms.StoreMessageInfo(mi) 8363 } 8364 return ms 8365 } 8366 return mi.MessageOf(x) 8367} 8368 8369// Deprecated: Use CreateJobTriggerRequest.ProtoReflect.Descriptor instead. 8370func (*CreateJobTriggerRequest) Descriptor() ([]byte, []int) { 8371 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{85} 8372} 8373 8374func (x *CreateJobTriggerRequest) GetParent() string { 8375 if x != nil { 8376 return x.Parent 8377 } 8378 return "" 8379} 8380 8381func (x *CreateJobTriggerRequest) GetJobTrigger() *JobTrigger { 8382 if x != nil { 8383 return x.JobTrigger 8384 } 8385 return nil 8386} 8387 8388func (x *CreateJobTriggerRequest) GetTriggerId() string { 8389 if x != nil { 8390 return x.TriggerId 8391 } 8392 return "" 8393} 8394 8395func (x *CreateJobTriggerRequest) GetLocationId() string { 8396 if x != nil { 8397 return x.LocationId 8398 } 8399 return "" 8400} 8401 8402// Request message for ActivateJobTrigger. 8403type ActivateJobTriggerRequest struct { 8404 state protoimpl.MessageState 8405 sizeCache protoimpl.SizeCache 8406 unknownFields protoimpl.UnknownFields 8407 8408 // Required. Resource name of the trigger to activate, for example 8409 // `projects/dlp-test-project/jobTriggers/53234423`. 8410 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 8411} 8412 8413func (x *ActivateJobTriggerRequest) Reset() { 8414 *x = ActivateJobTriggerRequest{} 8415 if protoimpl.UnsafeEnabled { 8416 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[86] 8417 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8418 ms.StoreMessageInfo(mi) 8419 } 8420} 8421 8422func (x *ActivateJobTriggerRequest) String() string { 8423 return protoimpl.X.MessageStringOf(x) 8424} 8425 8426func (*ActivateJobTriggerRequest) ProtoMessage() {} 8427 8428func (x *ActivateJobTriggerRequest) ProtoReflect() protoreflect.Message { 8429 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[86] 8430 if protoimpl.UnsafeEnabled && x != nil { 8431 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8432 if ms.LoadMessageInfo() == nil { 8433 ms.StoreMessageInfo(mi) 8434 } 8435 return ms 8436 } 8437 return mi.MessageOf(x) 8438} 8439 8440// Deprecated: Use ActivateJobTriggerRequest.ProtoReflect.Descriptor instead. 8441func (*ActivateJobTriggerRequest) Descriptor() ([]byte, []int) { 8442 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{86} 8443} 8444 8445func (x *ActivateJobTriggerRequest) GetName() string { 8446 if x != nil { 8447 return x.Name 8448 } 8449 return "" 8450} 8451 8452// Request message for UpdateJobTrigger. 8453type UpdateJobTriggerRequest struct { 8454 state protoimpl.MessageState 8455 sizeCache protoimpl.SizeCache 8456 unknownFields protoimpl.UnknownFields 8457 8458 // Required. Resource name of the project and the triggeredJob, for example 8459 // `projects/dlp-test-project/jobTriggers/53234423`. 8460 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 8461 // New JobTrigger value. 8462 JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"` 8463 // Mask to control which fields get updated. 8464 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 8465} 8466 8467func (x *UpdateJobTriggerRequest) Reset() { 8468 *x = UpdateJobTriggerRequest{} 8469 if protoimpl.UnsafeEnabled { 8470 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[87] 8471 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8472 ms.StoreMessageInfo(mi) 8473 } 8474} 8475 8476func (x *UpdateJobTriggerRequest) String() string { 8477 return protoimpl.X.MessageStringOf(x) 8478} 8479 8480func (*UpdateJobTriggerRequest) ProtoMessage() {} 8481 8482func (x *UpdateJobTriggerRequest) ProtoReflect() protoreflect.Message { 8483 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[87] 8484 if protoimpl.UnsafeEnabled && x != nil { 8485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8486 if ms.LoadMessageInfo() == nil { 8487 ms.StoreMessageInfo(mi) 8488 } 8489 return ms 8490 } 8491 return mi.MessageOf(x) 8492} 8493 8494// Deprecated: Use UpdateJobTriggerRequest.ProtoReflect.Descriptor instead. 8495func (*UpdateJobTriggerRequest) Descriptor() ([]byte, []int) { 8496 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{87} 8497} 8498 8499func (x *UpdateJobTriggerRequest) GetName() string { 8500 if x != nil { 8501 return x.Name 8502 } 8503 return "" 8504} 8505 8506func (x *UpdateJobTriggerRequest) GetJobTrigger() *JobTrigger { 8507 if x != nil { 8508 return x.JobTrigger 8509 } 8510 return nil 8511} 8512 8513func (x *UpdateJobTriggerRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 8514 if x != nil { 8515 return x.UpdateMask 8516 } 8517 return nil 8518} 8519 8520// Request message for GetJobTrigger. 8521type GetJobTriggerRequest struct { 8522 state protoimpl.MessageState 8523 sizeCache protoimpl.SizeCache 8524 unknownFields protoimpl.UnknownFields 8525 8526 // Required. Resource name of the project and the triggeredJob, for example 8527 // `projects/dlp-test-project/jobTriggers/53234423`. 8528 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 8529} 8530 8531func (x *GetJobTriggerRequest) Reset() { 8532 *x = GetJobTriggerRequest{} 8533 if protoimpl.UnsafeEnabled { 8534 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[88] 8535 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8536 ms.StoreMessageInfo(mi) 8537 } 8538} 8539 8540func (x *GetJobTriggerRequest) String() string { 8541 return protoimpl.X.MessageStringOf(x) 8542} 8543 8544func (*GetJobTriggerRequest) ProtoMessage() {} 8545 8546func (x *GetJobTriggerRequest) ProtoReflect() protoreflect.Message { 8547 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[88] 8548 if protoimpl.UnsafeEnabled && x != nil { 8549 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8550 if ms.LoadMessageInfo() == nil { 8551 ms.StoreMessageInfo(mi) 8552 } 8553 return ms 8554 } 8555 return mi.MessageOf(x) 8556} 8557 8558// Deprecated: Use GetJobTriggerRequest.ProtoReflect.Descriptor instead. 8559func (*GetJobTriggerRequest) Descriptor() ([]byte, []int) { 8560 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{88} 8561} 8562 8563func (x *GetJobTriggerRequest) GetName() string { 8564 if x != nil { 8565 return x.Name 8566 } 8567 return "" 8568} 8569 8570// Request message for CreateDlpJobRequest. Used to initiate long running 8571// jobs such as calculating risk metrics or inspecting Google Cloud 8572// Storage. 8573type CreateDlpJobRequest struct { 8574 state protoimpl.MessageState 8575 sizeCache protoimpl.SizeCache 8576 unknownFields protoimpl.UnknownFields 8577 8578 // Required. Parent resource name. 8579 // 8580 // The format of this value varies depending on whether you have [specified a 8581 // processing 8582 // location](https://cloud.google.com/dlp/docs/specifying-location): 8583 // 8584 // + Projects scope, location specified:<br/> 8585 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 8586 // + Projects scope, no location specified (defaults to global):<br/> 8587 // `projects/`<var>PROJECT_ID</var> 8588 // 8589 // The following example `parent` string specifies a parent project with the 8590 // identifier `example-project`, and specifies the `europe-west3` location 8591 // for processing data: 8592 // 8593 // parent=projects/example-project/locations/europe-west3 8594 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 8595 // The configuration details for the specific type of job to run. 8596 // 8597 // Types that are assignable to Job: 8598 // *CreateDlpJobRequest_InspectJob 8599 // *CreateDlpJobRequest_RiskJob 8600 Job isCreateDlpJobRequest_Job `protobuf_oneof:"job"` 8601 // The job id can contain uppercase and lowercase letters, 8602 // numbers, and hyphens; that is, it must match the regular 8603 // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 8604 // characters. Can be empty to allow the system to generate one. 8605 JobId string `protobuf:"bytes,4,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` 8606 // Deprecated. This field has no effect. 8607 LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 8608} 8609 8610func (x *CreateDlpJobRequest) Reset() { 8611 *x = CreateDlpJobRequest{} 8612 if protoimpl.UnsafeEnabled { 8613 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[89] 8614 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8615 ms.StoreMessageInfo(mi) 8616 } 8617} 8618 8619func (x *CreateDlpJobRequest) String() string { 8620 return protoimpl.X.MessageStringOf(x) 8621} 8622 8623func (*CreateDlpJobRequest) ProtoMessage() {} 8624 8625func (x *CreateDlpJobRequest) ProtoReflect() protoreflect.Message { 8626 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[89] 8627 if protoimpl.UnsafeEnabled && x != nil { 8628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8629 if ms.LoadMessageInfo() == nil { 8630 ms.StoreMessageInfo(mi) 8631 } 8632 return ms 8633 } 8634 return mi.MessageOf(x) 8635} 8636 8637// Deprecated: Use CreateDlpJobRequest.ProtoReflect.Descriptor instead. 8638func (*CreateDlpJobRequest) Descriptor() ([]byte, []int) { 8639 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{89} 8640} 8641 8642func (x *CreateDlpJobRequest) GetParent() string { 8643 if x != nil { 8644 return x.Parent 8645 } 8646 return "" 8647} 8648 8649func (m *CreateDlpJobRequest) GetJob() isCreateDlpJobRequest_Job { 8650 if m != nil { 8651 return m.Job 8652 } 8653 return nil 8654} 8655 8656func (x *CreateDlpJobRequest) GetInspectJob() *InspectJobConfig { 8657 if x, ok := x.GetJob().(*CreateDlpJobRequest_InspectJob); ok { 8658 return x.InspectJob 8659 } 8660 return nil 8661} 8662 8663func (x *CreateDlpJobRequest) GetRiskJob() *RiskAnalysisJobConfig { 8664 if x, ok := x.GetJob().(*CreateDlpJobRequest_RiskJob); ok { 8665 return x.RiskJob 8666 } 8667 return nil 8668} 8669 8670func (x *CreateDlpJobRequest) GetJobId() string { 8671 if x != nil { 8672 return x.JobId 8673 } 8674 return "" 8675} 8676 8677func (x *CreateDlpJobRequest) GetLocationId() string { 8678 if x != nil { 8679 return x.LocationId 8680 } 8681 return "" 8682} 8683 8684type isCreateDlpJobRequest_Job interface { 8685 isCreateDlpJobRequest_Job() 8686} 8687 8688type CreateDlpJobRequest_InspectJob struct { 8689 // Set to control what and how to inspect. 8690 InspectJob *InspectJobConfig `protobuf:"bytes,2,opt,name=inspect_job,json=inspectJob,proto3,oneof"` 8691} 8692 8693type CreateDlpJobRequest_RiskJob struct { 8694 // Set to choose what metric to calculate. 8695 RiskJob *RiskAnalysisJobConfig `protobuf:"bytes,3,opt,name=risk_job,json=riskJob,proto3,oneof"` 8696} 8697 8698func (*CreateDlpJobRequest_InspectJob) isCreateDlpJobRequest_Job() {} 8699 8700func (*CreateDlpJobRequest_RiskJob) isCreateDlpJobRequest_Job() {} 8701 8702// Request message for ListJobTriggers. 8703type ListJobTriggersRequest struct { 8704 state protoimpl.MessageState 8705 sizeCache protoimpl.SizeCache 8706 unknownFields protoimpl.UnknownFields 8707 8708 // Required. Parent resource name. 8709 // 8710 // The format of this value varies depending on whether you have [specified a 8711 // processing 8712 // location](https://cloud.google.com/dlp/docs/specifying-location): 8713 // 8714 // + Projects scope, location specified:<br/> 8715 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 8716 // + Projects scope, no location specified (defaults to global):<br/> 8717 // `projects/`<var>PROJECT_ID</var> 8718 // 8719 // The following example `parent` string specifies a parent project with the 8720 // identifier `example-project`, and specifies the `europe-west3` location 8721 // for processing data: 8722 // 8723 // parent=projects/example-project/locations/europe-west3 8724 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 8725 // Page token to continue retrieval. Comes from previous call 8726 // to ListJobTriggers. `order_by` field must not 8727 // change for subsequent calls. 8728 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 8729 // Size of the page, can be limited by a server. 8730 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 8731 // Comma separated list of triggeredJob fields to order by, 8732 // followed by `asc` or `desc` postfix. This list is case-insensitive, 8733 // default sorting order is ascending, redundant space characters are 8734 // insignificant. 8735 // 8736 // Example: `name asc,update_time, create_time desc` 8737 // 8738 // Supported fields are: 8739 // 8740 // - `create_time`: corresponds to time the JobTrigger was created. 8741 // - `update_time`: corresponds to time the JobTrigger was last updated. 8742 // - `last_run_time`: corresponds to the last time the JobTrigger ran. 8743 // - `name`: corresponds to JobTrigger's name. 8744 // - `display_name`: corresponds to JobTrigger's display name. 8745 // - `status`: corresponds to JobTrigger's status. 8746 OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 8747 // Allows filtering. 8748 // 8749 // Supported syntax: 8750 // 8751 // * Filter expressions are made up of one or more restrictions. 8752 // * Restrictions can be combined by `AND` or `OR` logical operators. A 8753 // sequence of restrictions implicitly uses `AND`. 8754 // * A restriction has the form of `{field} {operator} {value}`. 8755 // * Supported fields/values for inspect jobs: 8756 // - `status` - HEALTHY|PAUSED|CANCELLED 8757 // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY 8758 // - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by 8759 // quotation marks. Nanoseconds are ignored. 8760 // - 'error_count' - Number of errors that have occurred while running. 8761 // * The operator must be `=` or `!=` for status and inspected_storage. 8762 // 8763 // Examples: 8764 // 8765 // * inspected_storage = cloud_storage AND status = HEALTHY 8766 // * inspected_storage = cloud_storage OR inspected_storage = bigquery 8767 // * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY) 8768 // * last_run_time > \"2017-12-12T00:00:00+00:00\" 8769 // 8770 // The length of this field should be no more than 500 characters. 8771 Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` 8772 // Deprecated. This field has no effect. 8773 LocationId string `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 8774} 8775 8776func (x *ListJobTriggersRequest) Reset() { 8777 *x = ListJobTriggersRequest{} 8778 if protoimpl.UnsafeEnabled { 8779 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[90] 8780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8781 ms.StoreMessageInfo(mi) 8782 } 8783} 8784 8785func (x *ListJobTriggersRequest) String() string { 8786 return protoimpl.X.MessageStringOf(x) 8787} 8788 8789func (*ListJobTriggersRequest) ProtoMessage() {} 8790 8791func (x *ListJobTriggersRequest) ProtoReflect() protoreflect.Message { 8792 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[90] 8793 if protoimpl.UnsafeEnabled && x != nil { 8794 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8795 if ms.LoadMessageInfo() == nil { 8796 ms.StoreMessageInfo(mi) 8797 } 8798 return ms 8799 } 8800 return mi.MessageOf(x) 8801} 8802 8803// Deprecated: Use ListJobTriggersRequest.ProtoReflect.Descriptor instead. 8804func (*ListJobTriggersRequest) Descriptor() ([]byte, []int) { 8805 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{90} 8806} 8807 8808func (x *ListJobTriggersRequest) GetParent() string { 8809 if x != nil { 8810 return x.Parent 8811 } 8812 return "" 8813} 8814 8815func (x *ListJobTriggersRequest) GetPageToken() string { 8816 if x != nil { 8817 return x.PageToken 8818 } 8819 return "" 8820} 8821 8822func (x *ListJobTriggersRequest) GetPageSize() int32 { 8823 if x != nil { 8824 return x.PageSize 8825 } 8826 return 0 8827} 8828 8829func (x *ListJobTriggersRequest) GetOrderBy() string { 8830 if x != nil { 8831 return x.OrderBy 8832 } 8833 return "" 8834} 8835 8836func (x *ListJobTriggersRequest) GetFilter() string { 8837 if x != nil { 8838 return x.Filter 8839 } 8840 return "" 8841} 8842 8843func (x *ListJobTriggersRequest) GetLocationId() string { 8844 if x != nil { 8845 return x.LocationId 8846 } 8847 return "" 8848} 8849 8850// Response message for ListJobTriggers. 8851type ListJobTriggersResponse struct { 8852 state protoimpl.MessageState 8853 sizeCache protoimpl.SizeCache 8854 unknownFields protoimpl.UnknownFields 8855 8856 // List of triggeredJobs, up to page_size in ListJobTriggersRequest. 8857 JobTriggers []*JobTrigger `protobuf:"bytes,1,rep,name=job_triggers,json=jobTriggers,proto3" json:"job_triggers,omitempty"` 8858 // If the next page is available then the next page token to be used 8859 // in following ListJobTriggers request. 8860 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 8861} 8862 8863func (x *ListJobTriggersResponse) Reset() { 8864 *x = ListJobTriggersResponse{} 8865 if protoimpl.UnsafeEnabled { 8866 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[91] 8867 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8868 ms.StoreMessageInfo(mi) 8869 } 8870} 8871 8872func (x *ListJobTriggersResponse) String() string { 8873 return protoimpl.X.MessageStringOf(x) 8874} 8875 8876func (*ListJobTriggersResponse) ProtoMessage() {} 8877 8878func (x *ListJobTriggersResponse) ProtoReflect() protoreflect.Message { 8879 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[91] 8880 if protoimpl.UnsafeEnabled && x != nil { 8881 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8882 if ms.LoadMessageInfo() == nil { 8883 ms.StoreMessageInfo(mi) 8884 } 8885 return ms 8886 } 8887 return mi.MessageOf(x) 8888} 8889 8890// Deprecated: Use ListJobTriggersResponse.ProtoReflect.Descriptor instead. 8891func (*ListJobTriggersResponse) Descriptor() ([]byte, []int) { 8892 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{91} 8893} 8894 8895func (x *ListJobTriggersResponse) GetJobTriggers() []*JobTrigger { 8896 if x != nil { 8897 return x.JobTriggers 8898 } 8899 return nil 8900} 8901 8902func (x *ListJobTriggersResponse) GetNextPageToken() string { 8903 if x != nil { 8904 return x.NextPageToken 8905 } 8906 return "" 8907} 8908 8909// Request message for DeleteJobTrigger. 8910type DeleteJobTriggerRequest struct { 8911 state protoimpl.MessageState 8912 sizeCache protoimpl.SizeCache 8913 unknownFields protoimpl.UnknownFields 8914 8915 // Required. Resource name of the project and the triggeredJob, for example 8916 // `projects/dlp-test-project/jobTriggers/53234423`. 8917 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 8918} 8919 8920func (x *DeleteJobTriggerRequest) Reset() { 8921 *x = DeleteJobTriggerRequest{} 8922 if protoimpl.UnsafeEnabled { 8923 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[92] 8924 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8925 ms.StoreMessageInfo(mi) 8926 } 8927} 8928 8929func (x *DeleteJobTriggerRequest) String() string { 8930 return protoimpl.X.MessageStringOf(x) 8931} 8932 8933func (*DeleteJobTriggerRequest) ProtoMessage() {} 8934 8935func (x *DeleteJobTriggerRequest) ProtoReflect() protoreflect.Message { 8936 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[92] 8937 if protoimpl.UnsafeEnabled && x != nil { 8938 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8939 if ms.LoadMessageInfo() == nil { 8940 ms.StoreMessageInfo(mi) 8941 } 8942 return ms 8943 } 8944 return mi.MessageOf(x) 8945} 8946 8947// Deprecated: Use DeleteJobTriggerRequest.ProtoReflect.Descriptor instead. 8948func (*DeleteJobTriggerRequest) Descriptor() ([]byte, []int) { 8949 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{92} 8950} 8951 8952func (x *DeleteJobTriggerRequest) GetName() string { 8953 if x != nil { 8954 return x.Name 8955 } 8956 return "" 8957} 8958 8959// Controls what and how to inspect for findings. 8960type InspectJobConfig struct { 8961 state protoimpl.MessageState 8962 sizeCache protoimpl.SizeCache 8963 unknownFields protoimpl.UnknownFields 8964 8965 // The data to scan. 8966 StorageConfig *StorageConfig `protobuf:"bytes,1,opt,name=storage_config,json=storageConfig,proto3" json:"storage_config,omitempty"` 8967 // How and what to scan for. 8968 InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"` 8969 // If provided, will be used as the default for all values in InspectConfig. 8970 // `inspect_config` will be merged into the values persisted as part of the 8971 // template. 8972 InspectTemplateName string `protobuf:"bytes,3,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"` 8973 // Actions to execute at the completion of the job. 8974 Actions []*Action `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"` 8975} 8976 8977func (x *InspectJobConfig) Reset() { 8978 *x = InspectJobConfig{} 8979 if protoimpl.UnsafeEnabled { 8980 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[93] 8981 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8982 ms.StoreMessageInfo(mi) 8983 } 8984} 8985 8986func (x *InspectJobConfig) String() string { 8987 return protoimpl.X.MessageStringOf(x) 8988} 8989 8990func (*InspectJobConfig) ProtoMessage() {} 8991 8992func (x *InspectJobConfig) ProtoReflect() protoreflect.Message { 8993 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[93] 8994 if protoimpl.UnsafeEnabled && x != nil { 8995 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8996 if ms.LoadMessageInfo() == nil { 8997 ms.StoreMessageInfo(mi) 8998 } 8999 return ms 9000 } 9001 return mi.MessageOf(x) 9002} 9003 9004// Deprecated: Use InspectJobConfig.ProtoReflect.Descriptor instead. 9005func (*InspectJobConfig) Descriptor() ([]byte, []int) { 9006 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{93} 9007} 9008 9009func (x *InspectJobConfig) GetStorageConfig() *StorageConfig { 9010 if x != nil { 9011 return x.StorageConfig 9012 } 9013 return nil 9014} 9015 9016func (x *InspectJobConfig) GetInspectConfig() *InspectConfig { 9017 if x != nil { 9018 return x.InspectConfig 9019 } 9020 return nil 9021} 9022 9023func (x *InspectJobConfig) GetInspectTemplateName() string { 9024 if x != nil { 9025 return x.InspectTemplateName 9026 } 9027 return "" 9028} 9029 9030func (x *InspectJobConfig) GetActions() []*Action { 9031 if x != nil { 9032 return x.Actions 9033 } 9034 return nil 9035} 9036 9037// Combines all of the information about a DLP job. 9038type DlpJob struct { 9039 state protoimpl.MessageState 9040 sizeCache protoimpl.SizeCache 9041 unknownFields protoimpl.UnknownFields 9042 9043 // The server-assigned name. 9044 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 9045 // The type of job. 9046 Type DlpJobType `protobuf:"varint,2,opt,name=type,proto3,enum=google.privacy.dlp.v2.DlpJobType" json:"type,omitempty"` 9047 // State of a job. 9048 State DlpJob_JobState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.DlpJob_JobState" json:"state,omitempty"` 9049 // Types that are assignable to Details: 9050 // *DlpJob_RiskDetails 9051 // *DlpJob_InspectDetails 9052 Details isDlpJob_Details `protobuf_oneof:"details"` 9053 // Time when the job was created. 9054 CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 9055 // Time when the job started. 9056 StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 9057 // Time when the job finished. 9058 EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 9059 // If created by a job trigger, the resource name of the trigger that 9060 // instantiated the job. 9061 JobTriggerName string `protobuf:"bytes,10,opt,name=job_trigger_name,json=jobTriggerName,proto3" json:"job_trigger_name,omitempty"` 9062 // A stream of errors encountered running the job. 9063 Errors []*Error `protobuf:"bytes,11,rep,name=errors,proto3" json:"errors,omitempty"` 9064} 9065 9066func (x *DlpJob) Reset() { 9067 *x = DlpJob{} 9068 if protoimpl.UnsafeEnabled { 9069 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[94] 9070 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9071 ms.StoreMessageInfo(mi) 9072 } 9073} 9074 9075func (x *DlpJob) String() string { 9076 return protoimpl.X.MessageStringOf(x) 9077} 9078 9079func (*DlpJob) ProtoMessage() {} 9080 9081func (x *DlpJob) ProtoReflect() protoreflect.Message { 9082 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[94] 9083 if protoimpl.UnsafeEnabled && x != nil { 9084 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9085 if ms.LoadMessageInfo() == nil { 9086 ms.StoreMessageInfo(mi) 9087 } 9088 return ms 9089 } 9090 return mi.MessageOf(x) 9091} 9092 9093// Deprecated: Use DlpJob.ProtoReflect.Descriptor instead. 9094func (*DlpJob) Descriptor() ([]byte, []int) { 9095 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{94} 9096} 9097 9098func (x *DlpJob) GetName() string { 9099 if x != nil { 9100 return x.Name 9101 } 9102 return "" 9103} 9104 9105func (x *DlpJob) GetType() DlpJobType { 9106 if x != nil { 9107 return x.Type 9108 } 9109 return DlpJobType_DLP_JOB_TYPE_UNSPECIFIED 9110} 9111 9112func (x *DlpJob) GetState() DlpJob_JobState { 9113 if x != nil { 9114 return x.State 9115 } 9116 return DlpJob_JOB_STATE_UNSPECIFIED 9117} 9118 9119func (m *DlpJob) GetDetails() isDlpJob_Details { 9120 if m != nil { 9121 return m.Details 9122 } 9123 return nil 9124} 9125 9126func (x *DlpJob) GetRiskDetails() *AnalyzeDataSourceRiskDetails { 9127 if x, ok := x.GetDetails().(*DlpJob_RiskDetails); ok { 9128 return x.RiskDetails 9129 } 9130 return nil 9131} 9132 9133func (x *DlpJob) GetInspectDetails() *InspectDataSourceDetails { 9134 if x, ok := x.GetDetails().(*DlpJob_InspectDetails); ok { 9135 return x.InspectDetails 9136 } 9137 return nil 9138} 9139 9140func (x *DlpJob) GetCreateTime() *timestamppb.Timestamp { 9141 if x != nil { 9142 return x.CreateTime 9143 } 9144 return nil 9145} 9146 9147func (x *DlpJob) GetStartTime() *timestamppb.Timestamp { 9148 if x != nil { 9149 return x.StartTime 9150 } 9151 return nil 9152} 9153 9154func (x *DlpJob) GetEndTime() *timestamppb.Timestamp { 9155 if x != nil { 9156 return x.EndTime 9157 } 9158 return nil 9159} 9160 9161func (x *DlpJob) GetJobTriggerName() string { 9162 if x != nil { 9163 return x.JobTriggerName 9164 } 9165 return "" 9166} 9167 9168func (x *DlpJob) GetErrors() []*Error { 9169 if x != nil { 9170 return x.Errors 9171 } 9172 return nil 9173} 9174 9175type isDlpJob_Details interface { 9176 isDlpJob_Details() 9177} 9178 9179type DlpJob_RiskDetails struct { 9180 // Results from analyzing risk of a data source. 9181 RiskDetails *AnalyzeDataSourceRiskDetails `protobuf:"bytes,4,opt,name=risk_details,json=riskDetails,proto3,oneof"` 9182} 9183 9184type DlpJob_InspectDetails struct { 9185 // Results from inspecting a data source. 9186 InspectDetails *InspectDataSourceDetails `protobuf:"bytes,5,opt,name=inspect_details,json=inspectDetails,proto3,oneof"` 9187} 9188 9189func (*DlpJob_RiskDetails) isDlpJob_Details() {} 9190 9191func (*DlpJob_InspectDetails) isDlpJob_Details() {} 9192 9193// The request message for [DlpJobs.GetDlpJob][]. 9194type GetDlpJobRequest struct { 9195 state protoimpl.MessageState 9196 sizeCache protoimpl.SizeCache 9197 unknownFields protoimpl.UnknownFields 9198 9199 // Required. The name of the DlpJob resource. 9200 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 9201} 9202 9203func (x *GetDlpJobRequest) Reset() { 9204 *x = GetDlpJobRequest{} 9205 if protoimpl.UnsafeEnabled { 9206 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[95] 9207 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9208 ms.StoreMessageInfo(mi) 9209 } 9210} 9211 9212func (x *GetDlpJobRequest) String() string { 9213 return protoimpl.X.MessageStringOf(x) 9214} 9215 9216func (*GetDlpJobRequest) ProtoMessage() {} 9217 9218func (x *GetDlpJobRequest) ProtoReflect() protoreflect.Message { 9219 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[95] 9220 if protoimpl.UnsafeEnabled && x != nil { 9221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9222 if ms.LoadMessageInfo() == nil { 9223 ms.StoreMessageInfo(mi) 9224 } 9225 return ms 9226 } 9227 return mi.MessageOf(x) 9228} 9229 9230// Deprecated: Use GetDlpJobRequest.ProtoReflect.Descriptor instead. 9231func (*GetDlpJobRequest) Descriptor() ([]byte, []int) { 9232 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{95} 9233} 9234 9235func (x *GetDlpJobRequest) GetName() string { 9236 if x != nil { 9237 return x.Name 9238 } 9239 return "" 9240} 9241 9242// The request message for listing DLP jobs. 9243type ListDlpJobsRequest struct { 9244 state protoimpl.MessageState 9245 sizeCache protoimpl.SizeCache 9246 unknownFields protoimpl.UnknownFields 9247 9248 // Required. Parent resource name. 9249 // 9250 // The format of this value varies depending on whether you have [specified a 9251 // processing 9252 // location](https://cloud.google.com/dlp/docs/specifying-location): 9253 // 9254 // + Projects scope, location specified:<br/> 9255 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 9256 // + Projects scope, no location specified (defaults to global):<br/> 9257 // `projects/`<var>PROJECT_ID</var> 9258 // 9259 // The following example `parent` string specifies a parent project with the 9260 // identifier `example-project`, and specifies the `europe-west3` location 9261 // for processing data: 9262 // 9263 // parent=projects/example-project/locations/europe-west3 9264 Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` 9265 // Allows filtering. 9266 // 9267 // Supported syntax: 9268 // 9269 // * Filter expressions are made up of one or more restrictions. 9270 // * Restrictions can be combined by `AND` or `OR` logical operators. A 9271 // sequence of restrictions implicitly uses `AND`. 9272 // * A restriction has the form of `{field} {operator} {value}`. 9273 // * Supported fields/values for inspect jobs: 9274 // - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED 9275 // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY 9276 // - `trigger_name` - The resource name of the trigger that created job. 9277 // - 'end_time` - Corresponds to time the job finished. 9278 // - 'start_time` - Corresponds to time the job finished. 9279 // * Supported fields for risk analysis jobs: 9280 // - `state` - RUNNING|CANCELED|FINISHED|FAILED 9281 // - 'end_time` - Corresponds to time the job finished. 9282 // - 'start_time` - Corresponds to time the job finished. 9283 // * The operator must be `=` or `!=`. 9284 // 9285 // Examples: 9286 // 9287 // * inspected_storage = cloud_storage AND state = done 9288 // * inspected_storage = cloud_storage OR inspected_storage = bigquery 9289 // * inspected_storage = cloud_storage AND (state = done OR state = canceled) 9290 // * end_time > \"2017-12-12T00:00:00+00:00\" 9291 // 9292 // The length of this field should be no more than 500 characters. 9293 Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` 9294 // The standard list page size. 9295 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 9296 // The standard list page token. 9297 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 9298 // The type of job. Defaults to `DlpJobType.INSPECT` 9299 Type DlpJobType `protobuf:"varint,5,opt,name=type,proto3,enum=google.privacy.dlp.v2.DlpJobType" json:"type,omitempty"` 9300 // Comma separated list of fields to order by, 9301 // followed by `asc` or `desc` postfix. This list is case-insensitive, 9302 // default sorting order is ascending, redundant space characters are 9303 // insignificant. 9304 // 9305 // Example: `name asc, end_time asc, create_time desc` 9306 // 9307 // Supported fields are: 9308 // 9309 // - `create_time`: corresponds to time the job was created. 9310 // - `end_time`: corresponds to time the job ended. 9311 // - `name`: corresponds to job's name. 9312 // - `state`: corresponds to `state` 9313 OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 9314 // Deprecated. This field has no effect. 9315 LocationId string `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 9316} 9317 9318func (x *ListDlpJobsRequest) Reset() { 9319 *x = ListDlpJobsRequest{} 9320 if protoimpl.UnsafeEnabled { 9321 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[96] 9322 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9323 ms.StoreMessageInfo(mi) 9324 } 9325} 9326 9327func (x *ListDlpJobsRequest) String() string { 9328 return protoimpl.X.MessageStringOf(x) 9329} 9330 9331func (*ListDlpJobsRequest) ProtoMessage() {} 9332 9333func (x *ListDlpJobsRequest) ProtoReflect() protoreflect.Message { 9334 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[96] 9335 if protoimpl.UnsafeEnabled && x != nil { 9336 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9337 if ms.LoadMessageInfo() == nil { 9338 ms.StoreMessageInfo(mi) 9339 } 9340 return ms 9341 } 9342 return mi.MessageOf(x) 9343} 9344 9345// Deprecated: Use ListDlpJobsRequest.ProtoReflect.Descriptor instead. 9346func (*ListDlpJobsRequest) Descriptor() ([]byte, []int) { 9347 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{96} 9348} 9349 9350func (x *ListDlpJobsRequest) GetParent() string { 9351 if x != nil { 9352 return x.Parent 9353 } 9354 return "" 9355} 9356 9357func (x *ListDlpJobsRequest) GetFilter() string { 9358 if x != nil { 9359 return x.Filter 9360 } 9361 return "" 9362} 9363 9364func (x *ListDlpJobsRequest) GetPageSize() int32 { 9365 if x != nil { 9366 return x.PageSize 9367 } 9368 return 0 9369} 9370 9371func (x *ListDlpJobsRequest) GetPageToken() string { 9372 if x != nil { 9373 return x.PageToken 9374 } 9375 return "" 9376} 9377 9378func (x *ListDlpJobsRequest) GetType() DlpJobType { 9379 if x != nil { 9380 return x.Type 9381 } 9382 return DlpJobType_DLP_JOB_TYPE_UNSPECIFIED 9383} 9384 9385func (x *ListDlpJobsRequest) GetOrderBy() string { 9386 if x != nil { 9387 return x.OrderBy 9388 } 9389 return "" 9390} 9391 9392func (x *ListDlpJobsRequest) GetLocationId() string { 9393 if x != nil { 9394 return x.LocationId 9395 } 9396 return "" 9397} 9398 9399// The response message for listing DLP jobs. 9400type ListDlpJobsResponse struct { 9401 state protoimpl.MessageState 9402 sizeCache protoimpl.SizeCache 9403 unknownFields protoimpl.UnknownFields 9404 9405 // A list of DlpJobs that matches the specified filter in the request. 9406 Jobs []*DlpJob `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` 9407 // The standard List next-page token. 9408 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 9409} 9410 9411func (x *ListDlpJobsResponse) Reset() { 9412 *x = ListDlpJobsResponse{} 9413 if protoimpl.UnsafeEnabled { 9414 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[97] 9415 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9416 ms.StoreMessageInfo(mi) 9417 } 9418} 9419 9420func (x *ListDlpJobsResponse) String() string { 9421 return protoimpl.X.MessageStringOf(x) 9422} 9423 9424func (*ListDlpJobsResponse) ProtoMessage() {} 9425 9426func (x *ListDlpJobsResponse) ProtoReflect() protoreflect.Message { 9427 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[97] 9428 if protoimpl.UnsafeEnabled && x != nil { 9429 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9430 if ms.LoadMessageInfo() == nil { 9431 ms.StoreMessageInfo(mi) 9432 } 9433 return ms 9434 } 9435 return mi.MessageOf(x) 9436} 9437 9438// Deprecated: Use ListDlpJobsResponse.ProtoReflect.Descriptor instead. 9439func (*ListDlpJobsResponse) Descriptor() ([]byte, []int) { 9440 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{97} 9441} 9442 9443func (x *ListDlpJobsResponse) GetJobs() []*DlpJob { 9444 if x != nil { 9445 return x.Jobs 9446 } 9447 return nil 9448} 9449 9450func (x *ListDlpJobsResponse) GetNextPageToken() string { 9451 if x != nil { 9452 return x.NextPageToken 9453 } 9454 return "" 9455} 9456 9457// The request message for canceling a DLP job. 9458type CancelDlpJobRequest struct { 9459 state protoimpl.MessageState 9460 sizeCache protoimpl.SizeCache 9461 unknownFields protoimpl.UnknownFields 9462 9463 // Required. The name of the DlpJob resource to be cancelled. 9464 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 9465} 9466 9467func (x *CancelDlpJobRequest) Reset() { 9468 *x = CancelDlpJobRequest{} 9469 if protoimpl.UnsafeEnabled { 9470 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[98] 9471 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9472 ms.StoreMessageInfo(mi) 9473 } 9474} 9475 9476func (x *CancelDlpJobRequest) String() string { 9477 return protoimpl.X.MessageStringOf(x) 9478} 9479 9480func (*CancelDlpJobRequest) ProtoMessage() {} 9481 9482func (x *CancelDlpJobRequest) ProtoReflect() protoreflect.Message { 9483 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[98] 9484 if protoimpl.UnsafeEnabled && x != nil { 9485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9486 if ms.LoadMessageInfo() == nil { 9487 ms.StoreMessageInfo(mi) 9488 } 9489 return ms 9490 } 9491 return mi.MessageOf(x) 9492} 9493 9494// Deprecated: Use CancelDlpJobRequest.ProtoReflect.Descriptor instead. 9495func (*CancelDlpJobRequest) Descriptor() ([]byte, []int) { 9496 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{98} 9497} 9498 9499func (x *CancelDlpJobRequest) GetName() string { 9500 if x != nil { 9501 return x.Name 9502 } 9503 return "" 9504} 9505 9506// The request message for finishing a DLP hybrid job. 9507type FinishDlpJobRequest struct { 9508 state protoimpl.MessageState 9509 sizeCache protoimpl.SizeCache 9510 unknownFields protoimpl.UnknownFields 9511 9512 // Required. The name of the DlpJob resource to be cancelled. 9513 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 9514} 9515 9516func (x *FinishDlpJobRequest) Reset() { 9517 *x = FinishDlpJobRequest{} 9518 if protoimpl.UnsafeEnabled { 9519 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[99] 9520 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9521 ms.StoreMessageInfo(mi) 9522 } 9523} 9524 9525func (x *FinishDlpJobRequest) String() string { 9526 return protoimpl.X.MessageStringOf(x) 9527} 9528 9529func (*FinishDlpJobRequest) ProtoMessage() {} 9530 9531func (x *FinishDlpJobRequest) ProtoReflect() protoreflect.Message { 9532 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[99] 9533 if protoimpl.UnsafeEnabled && x != nil { 9534 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9535 if ms.LoadMessageInfo() == nil { 9536 ms.StoreMessageInfo(mi) 9537 } 9538 return ms 9539 } 9540 return mi.MessageOf(x) 9541} 9542 9543// Deprecated: Use FinishDlpJobRequest.ProtoReflect.Descriptor instead. 9544func (*FinishDlpJobRequest) Descriptor() ([]byte, []int) { 9545 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{99} 9546} 9547 9548func (x *FinishDlpJobRequest) GetName() string { 9549 if x != nil { 9550 return x.Name 9551 } 9552 return "" 9553} 9554 9555// The request message for deleting a DLP job. 9556type DeleteDlpJobRequest struct { 9557 state protoimpl.MessageState 9558 sizeCache protoimpl.SizeCache 9559 unknownFields protoimpl.UnknownFields 9560 9561 // Required. The name of the DlpJob resource to be deleted. 9562 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 9563} 9564 9565func (x *DeleteDlpJobRequest) Reset() { 9566 *x = DeleteDlpJobRequest{} 9567 if protoimpl.UnsafeEnabled { 9568 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[100] 9569 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9570 ms.StoreMessageInfo(mi) 9571 } 9572} 9573 9574func (x *DeleteDlpJobRequest) String() string { 9575 return protoimpl.X.MessageStringOf(x) 9576} 9577 9578func (*DeleteDlpJobRequest) ProtoMessage() {} 9579 9580func (x *DeleteDlpJobRequest) ProtoReflect() protoreflect.Message { 9581 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[100] 9582 if protoimpl.UnsafeEnabled && x != nil { 9583 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9584 if ms.LoadMessageInfo() == nil { 9585 ms.StoreMessageInfo(mi) 9586 } 9587 return ms 9588 } 9589 return mi.MessageOf(x) 9590} 9591 9592// Deprecated: Use DeleteDlpJobRequest.ProtoReflect.Descriptor instead. 9593func (*DeleteDlpJobRequest) Descriptor() ([]byte, []int) { 9594 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{100} 9595} 9596 9597func (x *DeleteDlpJobRequest) GetName() string { 9598 if x != nil { 9599 return x.Name 9600 } 9601 return "" 9602} 9603 9604// Request message for CreateDeidentifyTemplate. 9605type CreateDeidentifyTemplateRequest struct { 9606 state protoimpl.MessageState 9607 sizeCache protoimpl.SizeCache 9608 unknownFields protoimpl.UnknownFields 9609 9610 // Required. Parent resource name. 9611 // 9612 // The format of this value varies depending on the scope of the request 9613 // (project or organization) and whether you have [specified a processing 9614 // location](https://cloud.google.com/dlp/docs/specifying-location): 9615 // 9616 // + Projects scope, location specified:<br/> 9617 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 9618 // + Projects scope, no location specified (defaults to global):<br/> 9619 // `projects/`<var>PROJECT_ID</var> 9620 // + Organizations scope, location specified:<br/> 9621 // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 9622 // + Organizations scope, no location specified (defaults to global):<br/> 9623 // `organizations/`<var>ORG_ID</var> 9624 // 9625 // The following example `parent` string specifies a parent project with the 9626 // identifier `example-project`, and specifies the `europe-west3` location 9627 // for processing data: 9628 // 9629 // parent=projects/example-project/locations/europe-west3 9630 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 9631 // Required. The DeidentifyTemplate to create. 9632 DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"` 9633 // The template id can contain uppercase and lowercase letters, 9634 // numbers, and hyphens; that is, it must match the regular 9635 // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 9636 // characters. Can be empty to allow the system to generate one. 9637 TemplateId string `protobuf:"bytes,3,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"` 9638 // Deprecated. This field has no effect. 9639 LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 9640} 9641 9642func (x *CreateDeidentifyTemplateRequest) Reset() { 9643 *x = CreateDeidentifyTemplateRequest{} 9644 if protoimpl.UnsafeEnabled { 9645 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[101] 9646 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9647 ms.StoreMessageInfo(mi) 9648 } 9649} 9650 9651func (x *CreateDeidentifyTemplateRequest) String() string { 9652 return protoimpl.X.MessageStringOf(x) 9653} 9654 9655func (*CreateDeidentifyTemplateRequest) ProtoMessage() {} 9656 9657func (x *CreateDeidentifyTemplateRequest) ProtoReflect() protoreflect.Message { 9658 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[101] 9659 if protoimpl.UnsafeEnabled && x != nil { 9660 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9661 if ms.LoadMessageInfo() == nil { 9662 ms.StoreMessageInfo(mi) 9663 } 9664 return ms 9665 } 9666 return mi.MessageOf(x) 9667} 9668 9669// Deprecated: Use CreateDeidentifyTemplateRequest.ProtoReflect.Descriptor instead. 9670func (*CreateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) { 9671 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{101} 9672} 9673 9674func (x *CreateDeidentifyTemplateRequest) GetParent() string { 9675 if x != nil { 9676 return x.Parent 9677 } 9678 return "" 9679} 9680 9681func (x *CreateDeidentifyTemplateRequest) GetDeidentifyTemplate() *DeidentifyTemplate { 9682 if x != nil { 9683 return x.DeidentifyTemplate 9684 } 9685 return nil 9686} 9687 9688func (x *CreateDeidentifyTemplateRequest) GetTemplateId() string { 9689 if x != nil { 9690 return x.TemplateId 9691 } 9692 return "" 9693} 9694 9695func (x *CreateDeidentifyTemplateRequest) GetLocationId() string { 9696 if x != nil { 9697 return x.LocationId 9698 } 9699 return "" 9700} 9701 9702// Request message for UpdateDeidentifyTemplate. 9703type UpdateDeidentifyTemplateRequest struct { 9704 state protoimpl.MessageState 9705 sizeCache protoimpl.SizeCache 9706 unknownFields protoimpl.UnknownFields 9707 9708 // Required. Resource name of organization and deidentify template to be updated, for 9709 // example `organizations/433245324/deidentifyTemplates/432452342` or 9710 // projects/project-id/deidentifyTemplates/432452342. 9711 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 9712 // New DeidentifyTemplate value. 9713 DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"` 9714 // Mask to control which fields get updated. 9715 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 9716} 9717 9718func (x *UpdateDeidentifyTemplateRequest) Reset() { 9719 *x = UpdateDeidentifyTemplateRequest{} 9720 if protoimpl.UnsafeEnabled { 9721 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[102] 9722 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9723 ms.StoreMessageInfo(mi) 9724 } 9725} 9726 9727func (x *UpdateDeidentifyTemplateRequest) String() string { 9728 return protoimpl.X.MessageStringOf(x) 9729} 9730 9731func (*UpdateDeidentifyTemplateRequest) ProtoMessage() {} 9732 9733func (x *UpdateDeidentifyTemplateRequest) ProtoReflect() protoreflect.Message { 9734 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[102] 9735 if protoimpl.UnsafeEnabled && x != nil { 9736 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9737 if ms.LoadMessageInfo() == nil { 9738 ms.StoreMessageInfo(mi) 9739 } 9740 return ms 9741 } 9742 return mi.MessageOf(x) 9743} 9744 9745// Deprecated: Use UpdateDeidentifyTemplateRequest.ProtoReflect.Descriptor instead. 9746func (*UpdateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) { 9747 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{102} 9748} 9749 9750func (x *UpdateDeidentifyTemplateRequest) GetName() string { 9751 if x != nil { 9752 return x.Name 9753 } 9754 return "" 9755} 9756 9757func (x *UpdateDeidentifyTemplateRequest) GetDeidentifyTemplate() *DeidentifyTemplate { 9758 if x != nil { 9759 return x.DeidentifyTemplate 9760 } 9761 return nil 9762} 9763 9764func (x *UpdateDeidentifyTemplateRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 9765 if x != nil { 9766 return x.UpdateMask 9767 } 9768 return nil 9769} 9770 9771// Request message for GetDeidentifyTemplate. 9772type GetDeidentifyTemplateRequest struct { 9773 state protoimpl.MessageState 9774 sizeCache protoimpl.SizeCache 9775 unknownFields protoimpl.UnknownFields 9776 9777 // Required. Resource name of the organization and deidentify template to be read, for 9778 // example `organizations/433245324/deidentifyTemplates/432452342` or 9779 // projects/project-id/deidentifyTemplates/432452342. 9780 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 9781} 9782 9783func (x *GetDeidentifyTemplateRequest) Reset() { 9784 *x = GetDeidentifyTemplateRequest{} 9785 if protoimpl.UnsafeEnabled { 9786 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[103] 9787 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9788 ms.StoreMessageInfo(mi) 9789 } 9790} 9791 9792func (x *GetDeidentifyTemplateRequest) String() string { 9793 return protoimpl.X.MessageStringOf(x) 9794} 9795 9796func (*GetDeidentifyTemplateRequest) ProtoMessage() {} 9797 9798func (x *GetDeidentifyTemplateRequest) ProtoReflect() protoreflect.Message { 9799 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[103] 9800 if protoimpl.UnsafeEnabled && x != nil { 9801 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9802 if ms.LoadMessageInfo() == nil { 9803 ms.StoreMessageInfo(mi) 9804 } 9805 return ms 9806 } 9807 return mi.MessageOf(x) 9808} 9809 9810// Deprecated: Use GetDeidentifyTemplateRequest.ProtoReflect.Descriptor instead. 9811func (*GetDeidentifyTemplateRequest) Descriptor() ([]byte, []int) { 9812 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{103} 9813} 9814 9815func (x *GetDeidentifyTemplateRequest) GetName() string { 9816 if x != nil { 9817 return x.Name 9818 } 9819 return "" 9820} 9821 9822// Request message for ListDeidentifyTemplates. 9823type ListDeidentifyTemplatesRequest struct { 9824 state protoimpl.MessageState 9825 sizeCache protoimpl.SizeCache 9826 unknownFields protoimpl.UnknownFields 9827 9828 // Required. Parent resource name. 9829 // 9830 // The format of this value varies depending on the scope of the request 9831 // (project or organization) and whether you have [specified a processing 9832 // location](https://cloud.google.com/dlp/docs/specifying-location): 9833 // 9834 // + Projects scope, location specified:<br/> 9835 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 9836 // + Projects scope, no location specified (defaults to global):<br/> 9837 // `projects/`<var>PROJECT_ID</var> 9838 // + Organizations scope, location specified:<br/> 9839 // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 9840 // + Organizations scope, no location specified (defaults to global):<br/> 9841 // `organizations/`<var>ORG_ID</var> 9842 // 9843 // The following example `parent` string specifies a parent project with the 9844 // identifier `example-project`, and specifies the `europe-west3` location 9845 // for processing data: 9846 // 9847 // parent=projects/example-project/locations/europe-west3 9848 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 9849 // Page token to continue retrieval. Comes from previous call 9850 // to `ListDeidentifyTemplates`. 9851 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 9852 // Size of the page, can be limited by server. If zero server returns 9853 // a page of max size 100. 9854 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 9855 // Comma separated list of fields to order by, 9856 // followed by `asc` or `desc` postfix. This list is case-insensitive, 9857 // default sorting order is ascending, redundant space characters are 9858 // insignificant. 9859 // 9860 // Example: `name asc,update_time, create_time desc` 9861 // 9862 // Supported fields are: 9863 // 9864 // - `create_time`: corresponds to time the template was created. 9865 // - `update_time`: corresponds to time the template was last updated. 9866 // - `name`: corresponds to template's name. 9867 // - `display_name`: corresponds to template's display name. 9868 OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 9869 // Deprecated. This field has no effect. 9870 LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 9871} 9872 9873func (x *ListDeidentifyTemplatesRequest) Reset() { 9874 *x = ListDeidentifyTemplatesRequest{} 9875 if protoimpl.UnsafeEnabled { 9876 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[104] 9877 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9878 ms.StoreMessageInfo(mi) 9879 } 9880} 9881 9882func (x *ListDeidentifyTemplatesRequest) String() string { 9883 return protoimpl.X.MessageStringOf(x) 9884} 9885 9886func (*ListDeidentifyTemplatesRequest) ProtoMessage() {} 9887 9888func (x *ListDeidentifyTemplatesRequest) ProtoReflect() protoreflect.Message { 9889 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[104] 9890 if protoimpl.UnsafeEnabled && x != nil { 9891 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9892 if ms.LoadMessageInfo() == nil { 9893 ms.StoreMessageInfo(mi) 9894 } 9895 return ms 9896 } 9897 return mi.MessageOf(x) 9898} 9899 9900// Deprecated: Use ListDeidentifyTemplatesRequest.ProtoReflect.Descriptor instead. 9901func (*ListDeidentifyTemplatesRequest) Descriptor() ([]byte, []int) { 9902 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{104} 9903} 9904 9905func (x *ListDeidentifyTemplatesRequest) GetParent() string { 9906 if x != nil { 9907 return x.Parent 9908 } 9909 return "" 9910} 9911 9912func (x *ListDeidentifyTemplatesRequest) GetPageToken() string { 9913 if x != nil { 9914 return x.PageToken 9915 } 9916 return "" 9917} 9918 9919func (x *ListDeidentifyTemplatesRequest) GetPageSize() int32 { 9920 if x != nil { 9921 return x.PageSize 9922 } 9923 return 0 9924} 9925 9926func (x *ListDeidentifyTemplatesRequest) GetOrderBy() string { 9927 if x != nil { 9928 return x.OrderBy 9929 } 9930 return "" 9931} 9932 9933func (x *ListDeidentifyTemplatesRequest) GetLocationId() string { 9934 if x != nil { 9935 return x.LocationId 9936 } 9937 return "" 9938} 9939 9940// Response message for ListDeidentifyTemplates. 9941type ListDeidentifyTemplatesResponse struct { 9942 state protoimpl.MessageState 9943 sizeCache protoimpl.SizeCache 9944 unknownFields protoimpl.UnknownFields 9945 9946 // List of deidentify templates, up to page_size in 9947 // ListDeidentifyTemplatesRequest. 9948 DeidentifyTemplates []*DeidentifyTemplate `protobuf:"bytes,1,rep,name=deidentify_templates,json=deidentifyTemplates,proto3" json:"deidentify_templates,omitempty"` 9949 // If the next page is available then the next page token to be used 9950 // in following ListDeidentifyTemplates request. 9951 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 9952} 9953 9954func (x *ListDeidentifyTemplatesResponse) Reset() { 9955 *x = ListDeidentifyTemplatesResponse{} 9956 if protoimpl.UnsafeEnabled { 9957 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[105] 9958 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9959 ms.StoreMessageInfo(mi) 9960 } 9961} 9962 9963func (x *ListDeidentifyTemplatesResponse) String() string { 9964 return protoimpl.X.MessageStringOf(x) 9965} 9966 9967func (*ListDeidentifyTemplatesResponse) ProtoMessage() {} 9968 9969func (x *ListDeidentifyTemplatesResponse) ProtoReflect() protoreflect.Message { 9970 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[105] 9971 if protoimpl.UnsafeEnabled && x != nil { 9972 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9973 if ms.LoadMessageInfo() == nil { 9974 ms.StoreMessageInfo(mi) 9975 } 9976 return ms 9977 } 9978 return mi.MessageOf(x) 9979} 9980 9981// Deprecated: Use ListDeidentifyTemplatesResponse.ProtoReflect.Descriptor instead. 9982func (*ListDeidentifyTemplatesResponse) Descriptor() ([]byte, []int) { 9983 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{105} 9984} 9985 9986func (x *ListDeidentifyTemplatesResponse) GetDeidentifyTemplates() []*DeidentifyTemplate { 9987 if x != nil { 9988 return x.DeidentifyTemplates 9989 } 9990 return nil 9991} 9992 9993func (x *ListDeidentifyTemplatesResponse) GetNextPageToken() string { 9994 if x != nil { 9995 return x.NextPageToken 9996 } 9997 return "" 9998} 9999 10000// Request message for DeleteDeidentifyTemplate. 10001type DeleteDeidentifyTemplateRequest struct { 10002 state protoimpl.MessageState 10003 sizeCache protoimpl.SizeCache 10004 unknownFields protoimpl.UnknownFields 10005 10006 // Required. Resource name of the organization and deidentify template to be deleted, 10007 // for example `organizations/433245324/deidentifyTemplates/432452342` or 10008 // projects/project-id/deidentifyTemplates/432452342. 10009 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10010} 10011 10012func (x *DeleteDeidentifyTemplateRequest) Reset() { 10013 *x = DeleteDeidentifyTemplateRequest{} 10014 if protoimpl.UnsafeEnabled { 10015 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[106] 10016 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10017 ms.StoreMessageInfo(mi) 10018 } 10019} 10020 10021func (x *DeleteDeidentifyTemplateRequest) String() string { 10022 return protoimpl.X.MessageStringOf(x) 10023} 10024 10025func (*DeleteDeidentifyTemplateRequest) ProtoMessage() {} 10026 10027func (x *DeleteDeidentifyTemplateRequest) ProtoReflect() protoreflect.Message { 10028 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[106] 10029 if protoimpl.UnsafeEnabled && x != nil { 10030 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10031 if ms.LoadMessageInfo() == nil { 10032 ms.StoreMessageInfo(mi) 10033 } 10034 return ms 10035 } 10036 return mi.MessageOf(x) 10037} 10038 10039// Deprecated: Use DeleteDeidentifyTemplateRequest.ProtoReflect.Descriptor instead. 10040func (*DeleteDeidentifyTemplateRequest) Descriptor() ([]byte, []int) { 10041 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{106} 10042} 10043 10044func (x *DeleteDeidentifyTemplateRequest) GetName() string { 10045 if x != nil { 10046 return x.Name 10047 } 10048 return "" 10049} 10050 10051// Configuration for a custom dictionary created from a data source of any size 10052// up to the maximum size defined in the 10053// [limits](https://cloud.google.com/dlp/limits) page. The artifacts of 10054// dictionary creation are stored in the specified Google Cloud Storage 10055// location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries 10056// that satisfy the size requirements. 10057type LargeCustomDictionaryConfig struct { 10058 state protoimpl.MessageState 10059 sizeCache protoimpl.SizeCache 10060 unknownFields protoimpl.UnknownFields 10061 10062 // Location to store dictionary artifacts in Google Cloud Storage. These files 10063 // will only be accessible by project owners and the DLP API. If any of these 10064 // artifacts are modified, the dictionary is considered invalid and can no 10065 // longer be used. 10066 OutputPath *CloudStoragePath `protobuf:"bytes,1,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"` 10067 // Types that are assignable to Source: 10068 // *LargeCustomDictionaryConfig_CloudStorageFileSet 10069 // *LargeCustomDictionaryConfig_BigQueryField 10070 Source isLargeCustomDictionaryConfig_Source `protobuf_oneof:"source"` 10071} 10072 10073func (x *LargeCustomDictionaryConfig) Reset() { 10074 *x = LargeCustomDictionaryConfig{} 10075 if protoimpl.UnsafeEnabled { 10076 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[107] 10077 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10078 ms.StoreMessageInfo(mi) 10079 } 10080} 10081 10082func (x *LargeCustomDictionaryConfig) String() string { 10083 return protoimpl.X.MessageStringOf(x) 10084} 10085 10086func (*LargeCustomDictionaryConfig) ProtoMessage() {} 10087 10088func (x *LargeCustomDictionaryConfig) ProtoReflect() protoreflect.Message { 10089 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[107] 10090 if protoimpl.UnsafeEnabled && x != nil { 10091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10092 if ms.LoadMessageInfo() == nil { 10093 ms.StoreMessageInfo(mi) 10094 } 10095 return ms 10096 } 10097 return mi.MessageOf(x) 10098} 10099 10100// Deprecated: Use LargeCustomDictionaryConfig.ProtoReflect.Descriptor instead. 10101func (*LargeCustomDictionaryConfig) Descriptor() ([]byte, []int) { 10102 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{107} 10103} 10104 10105func (x *LargeCustomDictionaryConfig) GetOutputPath() *CloudStoragePath { 10106 if x != nil { 10107 return x.OutputPath 10108 } 10109 return nil 10110} 10111 10112func (m *LargeCustomDictionaryConfig) GetSource() isLargeCustomDictionaryConfig_Source { 10113 if m != nil { 10114 return m.Source 10115 } 10116 return nil 10117} 10118 10119func (x *LargeCustomDictionaryConfig) GetCloudStorageFileSet() *CloudStorageFileSet { 10120 if x, ok := x.GetSource().(*LargeCustomDictionaryConfig_CloudStorageFileSet); ok { 10121 return x.CloudStorageFileSet 10122 } 10123 return nil 10124} 10125 10126func (x *LargeCustomDictionaryConfig) GetBigQueryField() *BigQueryField { 10127 if x, ok := x.GetSource().(*LargeCustomDictionaryConfig_BigQueryField); ok { 10128 return x.BigQueryField 10129 } 10130 return nil 10131} 10132 10133type isLargeCustomDictionaryConfig_Source interface { 10134 isLargeCustomDictionaryConfig_Source() 10135} 10136 10137type LargeCustomDictionaryConfig_CloudStorageFileSet struct { 10138 // Set of files containing newline-delimited lists of dictionary phrases. 10139 CloudStorageFileSet *CloudStorageFileSet `protobuf:"bytes,2,opt,name=cloud_storage_file_set,json=cloudStorageFileSet,proto3,oneof"` 10140} 10141 10142type LargeCustomDictionaryConfig_BigQueryField struct { 10143 // Field in a BigQuery table where each cell represents a dictionary phrase. 10144 BigQueryField *BigQueryField `protobuf:"bytes,3,opt,name=big_query_field,json=bigQueryField,proto3,oneof"` 10145} 10146 10147func (*LargeCustomDictionaryConfig_CloudStorageFileSet) isLargeCustomDictionaryConfig_Source() {} 10148 10149func (*LargeCustomDictionaryConfig_BigQueryField) isLargeCustomDictionaryConfig_Source() {} 10150 10151// Summary statistics of a custom dictionary. 10152type LargeCustomDictionaryStats struct { 10153 state protoimpl.MessageState 10154 sizeCache protoimpl.SizeCache 10155 unknownFields protoimpl.UnknownFields 10156 10157 // Approximate number of distinct phrases in the dictionary. 10158 ApproxNumPhrases int64 `protobuf:"varint,1,opt,name=approx_num_phrases,json=approxNumPhrases,proto3" json:"approx_num_phrases,omitempty"` 10159} 10160 10161func (x *LargeCustomDictionaryStats) Reset() { 10162 *x = LargeCustomDictionaryStats{} 10163 if protoimpl.UnsafeEnabled { 10164 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[108] 10165 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10166 ms.StoreMessageInfo(mi) 10167 } 10168} 10169 10170func (x *LargeCustomDictionaryStats) String() string { 10171 return protoimpl.X.MessageStringOf(x) 10172} 10173 10174func (*LargeCustomDictionaryStats) ProtoMessage() {} 10175 10176func (x *LargeCustomDictionaryStats) ProtoReflect() protoreflect.Message { 10177 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[108] 10178 if protoimpl.UnsafeEnabled && x != nil { 10179 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10180 if ms.LoadMessageInfo() == nil { 10181 ms.StoreMessageInfo(mi) 10182 } 10183 return ms 10184 } 10185 return mi.MessageOf(x) 10186} 10187 10188// Deprecated: Use LargeCustomDictionaryStats.ProtoReflect.Descriptor instead. 10189func (*LargeCustomDictionaryStats) Descriptor() ([]byte, []int) { 10190 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{108} 10191} 10192 10193func (x *LargeCustomDictionaryStats) GetApproxNumPhrases() int64 { 10194 if x != nil { 10195 return x.ApproxNumPhrases 10196 } 10197 return 0 10198} 10199 10200// Configuration for stored infoTypes. All fields and subfield are provided 10201// by the user. For more information, see 10202// https://cloud.google.com/dlp/docs/creating-custom-infotypes. 10203type StoredInfoTypeConfig struct { 10204 state protoimpl.MessageState 10205 sizeCache protoimpl.SizeCache 10206 unknownFields protoimpl.UnknownFields 10207 10208 // Display name of the StoredInfoType (max 256 characters). 10209 DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 10210 // Description of the StoredInfoType (max 256 characters). 10211 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 10212 // Stored infotype types. 10213 // 10214 // Types that are assignable to Type: 10215 // *StoredInfoTypeConfig_LargeCustomDictionary 10216 // *StoredInfoTypeConfig_Dictionary 10217 // *StoredInfoTypeConfig_Regex 10218 Type isStoredInfoTypeConfig_Type `protobuf_oneof:"type"` 10219} 10220 10221func (x *StoredInfoTypeConfig) Reset() { 10222 *x = StoredInfoTypeConfig{} 10223 if protoimpl.UnsafeEnabled { 10224 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[109] 10225 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10226 ms.StoreMessageInfo(mi) 10227 } 10228} 10229 10230func (x *StoredInfoTypeConfig) String() string { 10231 return protoimpl.X.MessageStringOf(x) 10232} 10233 10234func (*StoredInfoTypeConfig) ProtoMessage() {} 10235 10236func (x *StoredInfoTypeConfig) ProtoReflect() protoreflect.Message { 10237 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[109] 10238 if protoimpl.UnsafeEnabled && x != nil { 10239 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10240 if ms.LoadMessageInfo() == nil { 10241 ms.StoreMessageInfo(mi) 10242 } 10243 return ms 10244 } 10245 return mi.MessageOf(x) 10246} 10247 10248// Deprecated: Use StoredInfoTypeConfig.ProtoReflect.Descriptor instead. 10249func (*StoredInfoTypeConfig) Descriptor() ([]byte, []int) { 10250 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{109} 10251} 10252 10253func (x *StoredInfoTypeConfig) GetDisplayName() string { 10254 if x != nil { 10255 return x.DisplayName 10256 } 10257 return "" 10258} 10259 10260func (x *StoredInfoTypeConfig) GetDescription() string { 10261 if x != nil { 10262 return x.Description 10263 } 10264 return "" 10265} 10266 10267func (m *StoredInfoTypeConfig) GetType() isStoredInfoTypeConfig_Type { 10268 if m != nil { 10269 return m.Type 10270 } 10271 return nil 10272} 10273 10274func (x *StoredInfoTypeConfig) GetLargeCustomDictionary() *LargeCustomDictionaryConfig { 10275 if x, ok := x.GetType().(*StoredInfoTypeConfig_LargeCustomDictionary); ok { 10276 return x.LargeCustomDictionary 10277 } 10278 return nil 10279} 10280 10281func (x *StoredInfoTypeConfig) GetDictionary() *CustomInfoType_Dictionary { 10282 if x, ok := x.GetType().(*StoredInfoTypeConfig_Dictionary); ok { 10283 return x.Dictionary 10284 } 10285 return nil 10286} 10287 10288func (x *StoredInfoTypeConfig) GetRegex() *CustomInfoType_Regex { 10289 if x, ok := x.GetType().(*StoredInfoTypeConfig_Regex); ok { 10290 return x.Regex 10291 } 10292 return nil 10293} 10294 10295type isStoredInfoTypeConfig_Type interface { 10296 isStoredInfoTypeConfig_Type() 10297} 10298 10299type StoredInfoTypeConfig_LargeCustomDictionary struct { 10300 // StoredInfoType where findings are defined by a dictionary of phrases. 10301 LargeCustomDictionary *LargeCustomDictionaryConfig `protobuf:"bytes,3,opt,name=large_custom_dictionary,json=largeCustomDictionary,proto3,oneof"` 10302} 10303 10304type StoredInfoTypeConfig_Dictionary struct { 10305 // Store dictionary-based CustomInfoType. 10306 Dictionary *CustomInfoType_Dictionary `protobuf:"bytes,4,opt,name=dictionary,proto3,oneof"` 10307} 10308 10309type StoredInfoTypeConfig_Regex struct { 10310 // Store regular expression-based StoredInfoType. 10311 Regex *CustomInfoType_Regex `protobuf:"bytes,5,opt,name=regex,proto3,oneof"` 10312} 10313 10314func (*StoredInfoTypeConfig_LargeCustomDictionary) isStoredInfoTypeConfig_Type() {} 10315 10316func (*StoredInfoTypeConfig_Dictionary) isStoredInfoTypeConfig_Type() {} 10317 10318func (*StoredInfoTypeConfig_Regex) isStoredInfoTypeConfig_Type() {} 10319 10320// Statistics for a StoredInfoType. 10321type StoredInfoTypeStats struct { 10322 state protoimpl.MessageState 10323 sizeCache protoimpl.SizeCache 10324 unknownFields protoimpl.UnknownFields 10325 10326 // Stat types 10327 // 10328 // Types that are assignable to Type: 10329 // *StoredInfoTypeStats_LargeCustomDictionary 10330 Type isStoredInfoTypeStats_Type `protobuf_oneof:"type"` 10331} 10332 10333func (x *StoredInfoTypeStats) Reset() { 10334 *x = StoredInfoTypeStats{} 10335 if protoimpl.UnsafeEnabled { 10336 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[110] 10337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10338 ms.StoreMessageInfo(mi) 10339 } 10340} 10341 10342func (x *StoredInfoTypeStats) String() string { 10343 return protoimpl.X.MessageStringOf(x) 10344} 10345 10346func (*StoredInfoTypeStats) ProtoMessage() {} 10347 10348func (x *StoredInfoTypeStats) ProtoReflect() protoreflect.Message { 10349 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[110] 10350 if protoimpl.UnsafeEnabled && x != nil { 10351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10352 if ms.LoadMessageInfo() == nil { 10353 ms.StoreMessageInfo(mi) 10354 } 10355 return ms 10356 } 10357 return mi.MessageOf(x) 10358} 10359 10360// Deprecated: Use StoredInfoTypeStats.ProtoReflect.Descriptor instead. 10361func (*StoredInfoTypeStats) Descriptor() ([]byte, []int) { 10362 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{110} 10363} 10364 10365func (m *StoredInfoTypeStats) GetType() isStoredInfoTypeStats_Type { 10366 if m != nil { 10367 return m.Type 10368 } 10369 return nil 10370} 10371 10372func (x *StoredInfoTypeStats) GetLargeCustomDictionary() *LargeCustomDictionaryStats { 10373 if x, ok := x.GetType().(*StoredInfoTypeStats_LargeCustomDictionary); ok { 10374 return x.LargeCustomDictionary 10375 } 10376 return nil 10377} 10378 10379type isStoredInfoTypeStats_Type interface { 10380 isStoredInfoTypeStats_Type() 10381} 10382 10383type StoredInfoTypeStats_LargeCustomDictionary struct { 10384 // StoredInfoType where findings are defined by a dictionary of phrases. 10385 LargeCustomDictionary *LargeCustomDictionaryStats `protobuf:"bytes,1,opt,name=large_custom_dictionary,json=largeCustomDictionary,proto3,oneof"` 10386} 10387 10388func (*StoredInfoTypeStats_LargeCustomDictionary) isStoredInfoTypeStats_Type() {} 10389 10390// Version of a StoredInfoType, including the configuration used to build it, 10391// create timestamp, and current state. 10392type StoredInfoTypeVersion struct { 10393 state protoimpl.MessageState 10394 sizeCache protoimpl.SizeCache 10395 unknownFields protoimpl.UnknownFields 10396 10397 // StoredInfoType configuration. 10398 Config *StoredInfoTypeConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 10399 // Create timestamp of the version. Read-only, determined by the system 10400 // when the version is created. 10401 CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 10402 // Stored info type version state. Read-only, updated by the system 10403 // during dictionary creation. 10404 State StoredInfoTypeState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.StoredInfoTypeState" json:"state,omitempty"` 10405 // Errors that occurred when creating this storedInfoType version, or 10406 // anomalies detected in the storedInfoType data that render it unusable. Only 10407 // the five most recent errors will be displayed, with the most recent error 10408 // appearing first. 10409 // 10410 // For example, some of the data for stored custom dictionaries is put in 10411 // the user's Google Cloud Storage bucket, and if this data is modified or 10412 // deleted by the user or another system, the dictionary becomes invalid. 10413 // 10414 // If any errors occur, fix the problem indicated by the error message and 10415 // use the UpdateStoredInfoType API method to create another version of the 10416 // storedInfoType to continue using it, reusing the same `config` if it was 10417 // not the source of the error. 10418 Errors []*Error `protobuf:"bytes,4,rep,name=errors,proto3" json:"errors,omitempty"` 10419 // Statistics about this storedInfoType version. 10420 Stats *StoredInfoTypeStats `protobuf:"bytes,5,opt,name=stats,proto3" json:"stats,omitempty"` 10421} 10422 10423func (x *StoredInfoTypeVersion) Reset() { 10424 *x = StoredInfoTypeVersion{} 10425 if protoimpl.UnsafeEnabled { 10426 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[111] 10427 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10428 ms.StoreMessageInfo(mi) 10429 } 10430} 10431 10432func (x *StoredInfoTypeVersion) String() string { 10433 return protoimpl.X.MessageStringOf(x) 10434} 10435 10436func (*StoredInfoTypeVersion) ProtoMessage() {} 10437 10438func (x *StoredInfoTypeVersion) ProtoReflect() protoreflect.Message { 10439 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[111] 10440 if protoimpl.UnsafeEnabled && x != nil { 10441 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10442 if ms.LoadMessageInfo() == nil { 10443 ms.StoreMessageInfo(mi) 10444 } 10445 return ms 10446 } 10447 return mi.MessageOf(x) 10448} 10449 10450// Deprecated: Use StoredInfoTypeVersion.ProtoReflect.Descriptor instead. 10451func (*StoredInfoTypeVersion) Descriptor() ([]byte, []int) { 10452 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{111} 10453} 10454 10455func (x *StoredInfoTypeVersion) GetConfig() *StoredInfoTypeConfig { 10456 if x != nil { 10457 return x.Config 10458 } 10459 return nil 10460} 10461 10462func (x *StoredInfoTypeVersion) GetCreateTime() *timestamppb.Timestamp { 10463 if x != nil { 10464 return x.CreateTime 10465 } 10466 return nil 10467} 10468 10469func (x *StoredInfoTypeVersion) GetState() StoredInfoTypeState { 10470 if x != nil { 10471 return x.State 10472 } 10473 return StoredInfoTypeState_STORED_INFO_TYPE_STATE_UNSPECIFIED 10474} 10475 10476func (x *StoredInfoTypeVersion) GetErrors() []*Error { 10477 if x != nil { 10478 return x.Errors 10479 } 10480 return nil 10481} 10482 10483func (x *StoredInfoTypeVersion) GetStats() *StoredInfoTypeStats { 10484 if x != nil { 10485 return x.Stats 10486 } 10487 return nil 10488} 10489 10490// StoredInfoType resource message that contains information about the current 10491// version and any pending updates. 10492type StoredInfoType struct { 10493 state protoimpl.MessageState 10494 sizeCache protoimpl.SizeCache 10495 unknownFields protoimpl.UnknownFields 10496 10497 // Resource name. 10498 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10499 // Current version of the stored info type. 10500 CurrentVersion *StoredInfoTypeVersion `protobuf:"bytes,2,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"` 10501 // Pending versions of the stored info type. Empty if no versions are 10502 // pending. 10503 PendingVersions []*StoredInfoTypeVersion `protobuf:"bytes,3,rep,name=pending_versions,json=pendingVersions,proto3" json:"pending_versions,omitempty"` 10504} 10505 10506func (x *StoredInfoType) Reset() { 10507 *x = StoredInfoType{} 10508 if protoimpl.UnsafeEnabled { 10509 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[112] 10510 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10511 ms.StoreMessageInfo(mi) 10512 } 10513} 10514 10515func (x *StoredInfoType) String() string { 10516 return protoimpl.X.MessageStringOf(x) 10517} 10518 10519func (*StoredInfoType) ProtoMessage() {} 10520 10521func (x *StoredInfoType) ProtoReflect() protoreflect.Message { 10522 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[112] 10523 if protoimpl.UnsafeEnabled && x != nil { 10524 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10525 if ms.LoadMessageInfo() == nil { 10526 ms.StoreMessageInfo(mi) 10527 } 10528 return ms 10529 } 10530 return mi.MessageOf(x) 10531} 10532 10533// Deprecated: Use StoredInfoType.ProtoReflect.Descriptor instead. 10534func (*StoredInfoType) Descriptor() ([]byte, []int) { 10535 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{112} 10536} 10537 10538func (x *StoredInfoType) GetName() string { 10539 if x != nil { 10540 return x.Name 10541 } 10542 return "" 10543} 10544 10545func (x *StoredInfoType) GetCurrentVersion() *StoredInfoTypeVersion { 10546 if x != nil { 10547 return x.CurrentVersion 10548 } 10549 return nil 10550} 10551 10552func (x *StoredInfoType) GetPendingVersions() []*StoredInfoTypeVersion { 10553 if x != nil { 10554 return x.PendingVersions 10555 } 10556 return nil 10557} 10558 10559// Request message for CreateStoredInfoType. 10560type CreateStoredInfoTypeRequest struct { 10561 state protoimpl.MessageState 10562 sizeCache protoimpl.SizeCache 10563 unknownFields protoimpl.UnknownFields 10564 10565 // Required. Parent resource name. 10566 // 10567 // The format of this value varies depending on the scope of the request 10568 // (project or organization) and whether you have [specified a processing 10569 // location](https://cloud.google.com/dlp/docs/specifying-location): 10570 // 10571 // + Projects scope, location specified:<br/> 10572 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 10573 // + Projects scope, no location specified (defaults to global):<br/> 10574 // `projects/`<var>PROJECT_ID</var> 10575 // + Organizations scope, location specified:<br/> 10576 // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 10577 // + Organizations scope, no location specified (defaults to global):<br/> 10578 // `organizations/`<var>ORG_ID</var> 10579 // 10580 // The following example `parent` string specifies a parent project with the 10581 // identifier `example-project`, and specifies the `europe-west3` location 10582 // for processing data: 10583 // 10584 // parent=projects/example-project/locations/europe-west3 10585 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 10586 // Required. Configuration of the storedInfoType to create. 10587 Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` 10588 // The storedInfoType ID can contain uppercase and lowercase letters, 10589 // numbers, and hyphens; that is, it must match the regular 10590 // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 10591 // characters. Can be empty to allow the system to generate one. 10592 StoredInfoTypeId string `protobuf:"bytes,3,opt,name=stored_info_type_id,json=storedInfoTypeId,proto3" json:"stored_info_type_id,omitempty"` 10593 // Deprecated. This field has no effect. 10594 LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 10595} 10596 10597func (x *CreateStoredInfoTypeRequest) Reset() { 10598 *x = CreateStoredInfoTypeRequest{} 10599 if protoimpl.UnsafeEnabled { 10600 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[113] 10601 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10602 ms.StoreMessageInfo(mi) 10603 } 10604} 10605 10606func (x *CreateStoredInfoTypeRequest) String() string { 10607 return protoimpl.X.MessageStringOf(x) 10608} 10609 10610func (*CreateStoredInfoTypeRequest) ProtoMessage() {} 10611 10612func (x *CreateStoredInfoTypeRequest) ProtoReflect() protoreflect.Message { 10613 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[113] 10614 if protoimpl.UnsafeEnabled && x != nil { 10615 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10616 if ms.LoadMessageInfo() == nil { 10617 ms.StoreMessageInfo(mi) 10618 } 10619 return ms 10620 } 10621 return mi.MessageOf(x) 10622} 10623 10624// Deprecated: Use CreateStoredInfoTypeRequest.ProtoReflect.Descriptor instead. 10625func (*CreateStoredInfoTypeRequest) Descriptor() ([]byte, []int) { 10626 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{113} 10627} 10628 10629func (x *CreateStoredInfoTypeRequest) GetParent() string { 10630 if x != nil { 10631 return x.Parent 10632 } 10633 return "" 10634} 10635 10636func (x *CreateStoredInfoTypeRequest) GetConfig() *StoredInfoTypeConfig { 10637 if x != nil { 10638 return x.Config 10639 } 10640 return nil 10641} 10642 10643func (x *CreateStoredInfoTypeRequest) GetStoredInfoTypeId() string { 10644 if x != nil { 10645 return x.StoredInfoTypeId 10646 } 10647 return "" 10648} 10649 10650func (x *CreateStoredInfoTypeRequest) GetLocationId() string { 10651 if x != nil { 10652 return x.LocationId 10653 } 10654 return "" 10655} 10656 10657// Request message for UpdateStoredInfoType. 10658type UpdateStoredInfoTypeRequest struct { 10659 state protoimpl.MessageState 10660 sizeCache protoimpl.SizeCache 10661 unknownFields protoimpl.UnknownFields 10662 10663 // Required. Resource name of organization and storedInfoType to be updated, for 10664 // example `organizations/433245324/storedInfoTypes/432452342` or 10665 // projects/project-id/storedInfoTypes/432452342. 10666 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10667 // Updated configuration for the storedInfoType. If not provided, a new 10668 // version of the storedInfoType will be created with the existing 10669 // configuration. 10670 Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` 10671 // Mask to control which fields get updated. 10672 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 10673} 10674 10675func (x *UpdateStoredInfoTypeRequest) Reset() { 10676 *x = UpdateStoredInfoTypeRequest{} 10677 if protoimpl.UnsafeEnabled { 10678 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[114] 10679 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10680 ms.StoreMessageInfo(mi) 10681 } 10682} 10683 10684func (x *UpdateStoredInfoTypeRequest) String() string { 10685 return protoimpl.X.MessageStringOf(x) 10686} 10687 10688func (*UpdateStoredInfoTypeRequest) ProtoMessage() {} 10689 10690func (x *UpdateStoredInfoTypeRequest) ProtoReflect() protoreflect.Message { 10691 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[114] 10692 if protoimpl.UnsafeEnabled && x != nil { 10693 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10694 if ms.LoadMessageInfo() == nil { 10695 ms.StoreMessageInfo(mi) 10696 } 10697 return ms 10698 } 10699 return mi.MessageOf(x) 10700} 10701 10702// Deprecated: Use UpdateStoredInfoTypeRequest.ProtoReflect.Descriptor instead. 10703func (*UpdateStoredInfoTypeRequest) Descriptor() ([]byte, []int) { 10704 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{114} 10705} 10706 10707func (x *UpdateStoredInfoTypeRequest) GetName() string { 10708 if x != nil { 10709 return x.Name 10710 } 10711 return "" 10712} 10713 10714func (x *UpdateStoredInfoTypeRequest) GetConfig() *StoredInfoTypeConfig { 10715 if x != nil { 10716 return x.Config 10717 } 10718 return nil 10719} 10720 10721func (x *UpdateStoredInfoTypeRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 10722 if x != nil { 10723 return x.UpdateMask 10724 } 10725 return nil 10726} 10727 10728// Request message for GetStoredInfoType. 10729type GetStoredInfoTypeRequest struct { 10730 state protoimpl.MessageState 10731 sizeCache protoimpl.SizeCache 10732 unknownFields protoimpl.UnknownFields 10733 10734 // Required. Resource name of the organization and storedInfoType to be read, for 10735 // example `organizations/433245324/storedInfoTypes/432452342` or 10736 // projects/project-id/storedInfoTypes/432452342. 10737 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10738} 10739 10740func (x *GetStoredInfoTypeRequest) Reset() { 10741 *x = GetStoredInfoTypeRequest{} 10742 if protoimpl.UnsafeEnabled { 10743 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[115] 10744 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10745 ms.StoreMessageInfo(mi) 10746 } 10747} 10748 10749func (x *GetStoredInfoTypeRequest) String() string { 10750 return protoimpl.X.MessageStringOf(x) 10751} 10752 10753func (*GetStoredInfoTypeRequest) ProtoMessage() {} 10754 10755func (x *GetStoredInfoTypeRequest) ProtoReflect() protoreflect.Message { 10756 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[115] 10757 if protoimpl.UnsafeEnabled && x != nil { 10758 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10759 if ms.LoadMessageInfo() == nil { 10760 ms.StoreMessageInfo(mi) 10761 } 10762 return ms 10763 } 10764 return mi.MessageOf(x) 10765} 10766 10767// Deprecated: Use GetStoredInfoTypeRequest.ProtoReflect.Descriptor instead. 10768func (*GetStoredInfoTypeRequest) Descriptor() ([]byte, []int) { 10769 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{115} 10770} 10771 10772func (x *GetStoredInfoTypeRequest) GetName() string { 10773 if x != nil { 10774 return x.Name 10775 } 10776 return "" 10777} 10778 10779// Request message for ListStoredInfoTypes. 10780type ListStoredInfoTypesRequest struct { 10781 state protoimpl.MessageState 10782 sizeCache protoimpl.SizeCache 10783 unknownFields protoimpl.UnknownFields 10784 10785 // Required. Parent resource name. 10786 // 10787 // The format of this value varies depending on the scope of the request 10788 // (project or organization) and whether you have [specified a processing 10789 // location](https://cloud.google.com/dlp/docs/specifying-location): 10790 // 10791 // + Projects scope, location specified:<br/> 10792 // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 10793 // + Projects scope, no location specified (defaults to global):<br/> 10794 // `projects/`<var>PROJECT_ID</var> 10795 // + Organizations scope, location specified:<br/> 10796 // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 10797 // + Organizations scope, no location specified (defaults to global):<br/> 10798 // `organizations/`<var>ORG_ID</var> 10799 // 10800 // The following example `parent` string specifies a parent project with the 10801 // identifier `example-project`, and specifies the `europe-west3` location 10802 // for processing data: 10803 // 10804 // parent=projects/example-project/locations/europe-west3 10805 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 10806 // Page token to continue retrieval. Comes from previous call 10807 // to `ListStoredInfoTypes`. 10808 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 10809 // Size of the page, can be limited by server. If zero server returns 10810 // a page of max size 100. 10811 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 10812 // Comma separated list of fields to order by, 10813 // followed by `asc` or `desc` postfix. This list is case-insensitive, 10814 // default sorting order is ascending, redundant space characters are 10815 // insignificant. 10816 // 10817 // Example: `name asc, display_name, create_time desc` 10818 // 10819 // Supported fields are: 10820 // 10821 // - `create_time`: corresponds to time the most recent version of the 10822 // resource was created. 10823 // - `state`: corresponds to the state of the resource. 10824 // - `name`: corresponds to resource name. 10825 // - `display_name`: corresponds to info type's display name. 10826 OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 10827 // Deprecated. This field has no effect. 10828 LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 10829} 10830 10831func (x *ListStoredInfoTypesRequest) Reset() { 10832 *x = ListStoredInfoTypesRequest{} 10833 if protoimpl.UnsafeEnabled { 10834 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[116] 10835 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10836 ms.StoreMessageInfo(mi) 10837 } 10838} 10839 10840func (x *ListStoredInfoTypesRequest) String() string { 10841 return protoimpl.X.MessageStringOf(x) 10842} 10843 10844func (*ListStoredInfoTypesRequest) ProtoMessage() {} 10845 10846func (x *ListStoredInfoTypesRequest) ProtoReflect() protoreflect.Message { 10847 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[116] 10848 if protoimpl.UnsafeEnabled && x != nil { 10849 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10850 if ms.LoadMessageInfo() == nil { 10851 ms.StoreMessageInfo(mi) 10852 } 10853 return ms 10854 } 10855 return mi.MessageOf(x) 10856} 10857 10858// Deprecated: Use ListStoredInfoTypesRequest.ProtoReflect.Descriptor instead. 10859func (*ListStoredInfoTypesRequest) Descriptor() ([]byte, []int) { 10860 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{116} 10861} 10862 10863func (x *ListStoredInfoTypesRequest) GetParent() string { 10864 if x != nil { 10865 return x.Parent 10866 } 10867 return "" 10868} 10869 10870func (x *ListStoredInfoTypesRequest) GetPageToken() string { 10871 if x != nil { 10872 return x.PageToken 10873 } 10874 return "" 10875} 10876 10877func (x *ListStoredInfoTypesRequest) GetPageSize() int32 { 10878 if x != nil { 10879 return x.PageSize 10880 } 10881 return 0 10882} 10883 10884func (x *ListStoredInfoTypesRequest) GetOrderBy() string { 10885 if x != nil { 10886 return x.OrderBy 10887 } 10888 return "" 10889} 10890 10891func (x *ListStoredInfoTypesRequest) GetLocationId() string { 10892 if x != nil { 10893 return x.LocationId 10894 } 10895 return "" 10896} 10897 10898// Response message for ListStoredInfoTypes. 10899type ListStoredInfoTypesResponse struct { 10900 state protoimpl.MessageState 10901 sizeCache protoimpl.SizeCache 10902 unknownFields protoimpl.UnknownFields 10903 10904 // List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest. 10905 StoredInfoTypes []*StoredInfoType `protobuf:"bytes,1,rep,name=stored_info_types,json=storedInfoTypes,proto3" json:"stored_info_types,omitempty"` 10906 // If the next page is available then the next page token to be used 10907 // in following ListStoredInfoTypes request. 10908 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 10909} 10910 10911func (x *ListStoredInfoTypesResponse) Reset() { 10912 *x = ListStoredInfoTypesResponse{} 10913 if protoimpl.UnsafeEnabled { 10914 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[117] 10915 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10916 ms.StoreMessageInfo(mi) 10917 } 10918} 10919 10920func (x *ListStoredInfoTypesResponse) String() string { 10921 return protoimpl.X.MessageStringOf(x) 10922} 10923 10924func (*ListStoredInfoTypesResponse) ProtoMessage() {} 10925 10926func (x *ListStoredInfoTypesResponse) ProtoReflect() protoreflect.Message { 10927 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[117] 10928 if protoimpl.UnsafeEnabled && x != nil { 10929 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10930 if ms.LoadMessageInfo() == nil { 10931 ms.StoreMessageInfo(mi) 10932 } 10933 return ms 10934 } 10935 return mi.MessageOf(x) 10936} 10937 10938// Deprecated: Use ListStoredInfoTypesResponse.ProtoReflect.Descriptor instead. 10939func (*ListStoredInfoTypesResponse) Descriptor() ([]byte, []int) { 10940 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{117} 10941} 10942 10943func (x *ListStoredInfoTypesResponse) GetStoredInfoTypes() []*StoredInfoType { 10944 if x != nil { 10945 return x.StoredInfoTypes 10946 } 10947 return nil 10948} 10949 10950func (x *ListStoredInfoTypesResponse) GetNextPageToken() string { 10951 if x != nil { 10952 return x.NextPageToken 10953 } 10954 return "" 10955} 10956 10957// Request message for DeleteStoredInfoType. 10958type DeleteStoredInfoTypeRequest struct { 10959 state protoimpl.MessageState 10960 sizeCache protoimpl.SizeCache 10961 unknownFields protoimpl.UnknownFields 10962 10963 // Required. Resource name of the organization and storedInfoType to be deleted, for 10964 // example `organizations/433245324/storedInfoTypes/432452342` or 10965 // projects/project-id/storedInfoTypes/432452342. 10966 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10967} 10968 10969func (x *DeleteStoredInfoTypeRequest) Reset() { 10970 *x = DeleteStoredInfoTypeRequest{} 10971 if protoimpl.UnsafeEnabled { 10972 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[118] 10973 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10974 ms.StoreMessageInfo(mi) 10975 } 10976} 10977 10978func (x *DeleteStoredInfoTypeRequest) String() string { 10979 return protoimpl.X.MessageStringOf(x) 10980} 10981 10982func (*DeleteStoredInfoTypeRequest) ProtoMessage() {} 10983 10984func (x *DeleteStoredInfoTypeRequest) ProtoReflect() protoreflect.Message { 10985 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[118] 10986 if protoimpl.UnsafeEnabled && x != nil { 10987 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10988 if ms.LoadMessageInfo() == nil { 10989 ms.StoreMessageInfo(mi) 10990 } 10991 return ms 10992 } 10993 return mi.MessageOf(x) 10994} 10995 10996// Deprecated: Use DeleteStoredInfoTypeRequest.ProtoReflect.Descriptor instead. 10997func (*DeleteStoredInfoTypeRequest) Descriptor() ([]byte, []int) { 10998 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{118} 10999} 11000 11001func (x *DeleteStoredInfoTypeRequest) GetName() string { 11002 if x != nil { 11003 return x.Name 11004 } 11005 return "" 11006} 11007 11008// Request to search for potentially sensitive info in a custom location. 11009type HybridInspectJobTriggerRequest struct { 11010 state protoimpl.MessageState 11011 sizeCache protoimpl.SizeCache 11012 unknownFields protoimpl.UnknownFields 11013 11014 // Required. Resource name of the trigger to execute a hybrid inspect on, for example 11015 // `projects/dlp-test-project/jobTriggers/53234423`. 11016 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 11017 // The item to inspect. 11018 HybridItem *HybridContentItem `protobuf:"bytes,3,opt,name=hybrid_item,json=hybridItem,proto3" json:"hybrid_item,omitempty"` 11019} 11020 11021func (x *HybridInspectJobTriggerRequest) Reset() { 11022 *x = HybridInspectJobTriggerRequest{} 11023 if protoimpl.UnsafeEnabled { 11024 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[119] 11025 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11026 ms.StoreMessageInfo(mi) 11027 } 11028} 11029 11030func (x *HybridInspectJobTriggerRequest) String() string { 11031 return protoimpl.X.MessageStringOf(x) 11032} 11033 11034func (*HybridInspectJobTriggerRequest) ProtoMessage() {} 11035 11036func (x *HybridInspectJobTriggerRequest) ProtoReflect() protoreflect.Message { 11037 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[119] 11038 if protoimpl.UnsafeEnabled && x != nil { 11039 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11040 if ms.LoadMessageInfo() == nil { 11041 ms.StoreMessageInfo(mi) 11042 } 11043 return ms 11044 } 11045 return mi.MessageOf(x) 11046} 11047 11048// Deprecated: Use HybridInspectJobTriggerRequest.ProtoReflect.Descriptor instead. 11049func (*HybridInspectJobTriggerRequest) Descriptor() ([]byte, []int) { 11050 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{119} 11051} 11052 11053func (x *HybridInspectJobTriggerRequest) GetName() string { 11054 if x != nil { 11055 return x.Name 11056 } 11057 return "" 11058} 11059 11060func (x *HybridInspectJobTriggerRequest) GetHybridItem() *HybridContentItem { 11061 if x != nil { 11062 return x.HybridItem 11063 } 11064 return nil 11065} 11066 11067// Request to search for potentially sensitive info in a custom location. 11068type HybridInspectDlpJobRequest struct { 11069 state protoimpl.MessageState 11070 sizeCache protoimpl.SizeCache 11071 unknownFields protoimpl.UnknownFields 11072 11073 // Required. Resource name of the job to execute a hybrid inspect on, for example 11074 // `projects/dlp-test-project/dlpJob/53234423`. 11075 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 11076 // The item to inspect. 11077 HybridItem *HybridContentItem `protobuf:"bytes,3,opt,name=hybrid_item,json=hybridItem,proto3" json:"hybrid_item,omitempty"` 11078} 11079 11080func (x *HybridInspectDlpJobRequest) Reset() { 11081 *x = HybridInspectDlpJobRequest{} 11082 if protoimpl.UnsafeEnabled { 11083 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[120] 11084 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11085 ms.StoreMessageInfo(mi) 11086 } 11087} 11088 11089func (x *HybridInspectDlpJobRequest) String() string { 11090 return protoimpl.X.MessageStringOf(x) 11091} 11092 11093func (*HybridInspectDlpJobRequest) ProtoMessage() {} 11094 11095func (x *HybridInspectDlpJobRequest) ProtoReflect() protoreflect.Message { 11096 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[120] 11097 if protoimpl.UnsafeEnabled && x != nil { 11098 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11099 if ms.LoadMessageInfo() == nil { 11100 ms.StoreMessageInfo(mi) 11101 } 11102 return ms 11103 } 11104 return mi.MessageOf(x) 11105} 11106 11107// Deprecated: Use HybridInspectDlpJobRequest.ProtoReflect.Descriptor instead. 11108func (*HybridInspectDlpJobRequest) Descriptor() ([]byte, []int) { 11109 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{120} 11110} 11111 11112func (x *HybridInspectDlpJobRequest) GetName() string { 11113 if x != nil { 11114 return x.Name 11115 } 11116 return "" 11117} 11118 11119func (x *HybridInspectDlpJobRequest) GetHybridItem() *HybridContentItem { 11120 if x != nil { 11121 return x.HybridItem 11122 } 11123 return nil 11124} 11125 11126// An individual hybrid item to inspect. Will be stored temporarily during 11127// processing. 11128type HybridContentItem struct { 11129 state protoimpl.MessageState 11130 sizeCache protoimpl.SizeCache 11131 unknownFields protoimpl.UnknownFields 11132 11133 // The item to inspect. 11134 Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` 11135 // Supplementary information that will be added to each finding. 11136 FindingDetails *HybridFindingDetails `protobuf:"bytes,2,opt,name=finding_details,json=findingDetails,proto3" json:"finding_details,omitempty"` 11137} 11138 11139func (x *HybridContentItem) Reset() { 11140 *x = HybridContentItem{} 11141 if protoimpl.UnsafeEnabled { 11142 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[121] 11143 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11144 ms.StoreMessageInfo(mi) 11145 } 11146} 11147 11148func (x *HybridContentItem) String() string { 11149 return protoimpl.X.MessageStringOf(x) 11150} 11151 11152func (*HybridContentItem) ProtoMessage() {} 11153 11154func (x *HybridContentItem) ProtoReflect() protoreflect.Message { 11155 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[121] 11156 if protoimpl.UnsafeEnabled && x != nil { 11157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11158 if ms.LoadMessageInfo() == nil { 11159 ms.StoreMessageInfo(mi) 11160 } 11161 return ms 11162 } 11163 return mi.MessageOf(x) 11164} 11165 11166// Deprecated: Use HybridContentItem.ProtoReflect.Descriptor instead. 11167func (*HybridContentItem) Descriptor() ([]byte, []int) { 11168 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{121} 11169} 11170 11171func (x *HybridContentItem) GetItem() *ContentItem { 11172 if x != nil { 11173 return x.Item 11174 } 11175 return nil 11176} 11177 11178func (x *HybridContentItem) GetFindingDetails() *HybridFindingDetails { 11179 if x != nil { 11180 return x.FindingDetails 11181 } 11182 return nil 11183} 11184 11185// Populate to associate additional data with each finding. 11186type HybridFindingDetails struct { 11187 state protoimpl.MessageState 11188 sizeCache protoimpl.SizeCache 11189 unknownFields protoimpl.UnknownFields 11190 11191 // Details about the container where the content being inspected is from. 11192 ContainerDetails *Container `protobuf:"bytes,1,opt,name=container_details,json=containerDetails,proto3" json:"container_details,omitempty"` 11193 // Offset in bytes of the line, from the beginning of the file, where the 11194 // finding is located. Populate if the item being scanned is only part of a 11195 // bigger item, such as a shard of a file and you want to track the absolute 11196 // position of the finding. 11197 FileOffset int64 `protobuf:"varint,2,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"` 11198 // Offset of the row for tables. Populate if the row(s) being scanned are 11199 // part of a bigger dataset and you want to keep track of their absolute 11200 // position. 11201 RowOffset int64 `protobuf:"varint,3,opt,name=row_offset,json=rowOffset,proto3" json:"row_offset,omitempty"` 11202 // If the container is a table, additional information to make findings 11203 // meaningful such as the columns that are primary keys. If not known ahead 11204 // of time, can also be set within each inspect hybrid call and the two 11205 // will be merged. Note that identifying_fields will only be stored to 11206 // BigQuery, and only if the BigQuery action has been included. 11207 TableOptions *TableOptions `protobuf:"bytes,4,opt,name=table_options,json=tableOptions,proto3" json:"table_options,omitempty"` 11208 // Labels to represent user provided metadata about the data being inspected. 11209 // If configured by the job, some key values may be required. 11210 // The labels associated with `Finding`'s produced by hybrid 11211 // inspection. 11212 // 11213 // Label keys must be between 1 and 63 characters long and must conform 11214 // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. 11215 // 11216 // Label values must be between 0 and 63 characters long and must conform 11217 // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. 11218 // 11219 // No more than 10 labels can be associated with a given finding. 11220 // 11221 // Examples: 11222 // * `"environment" : "production"` 11223 // * `"pipeline" : "etl"` 11224 Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 11225} 11226 11227func (x *HybridFindingDetails) Reset() { 11228 *x = HybridFindingDetails{} 11229 if protoimpl.UnsafeEnabled { 11230 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[122] 11231 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11232 ms.StoreMessageInfo(mi) 11233 } 11234} 11235 11236func (x *HybridFindingDetails) String() string { 11237 return protoimpl.X.MessageStringOf(x) 11238} 11239 11240func (*HybridFindingDetails) ProtoMessage() {} 11241 11242func (x *HybridFindingDetails) ProtoReflect() protoreflect.Message { 11243 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[122] 11244 if protoimpl.UnsafeEnabled && x != nil { 11245 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11246 if ms.LoadMessageInfo() == nil { 11247 ms.StoreMessageInfo(mi) 11248 } 11249 return ms 11250 } 11251 return mi.MessageOf(x) 11252} 11253 11254// Deprecated: Use HybridFindingDetails.ProtoReflect.Descriptor instead. 11255func (*HybridFindingDetails) Descriptor() ([]byte, []int) { 11256 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{122} 11257} 11258 11259func (x *HybridFindingDetails) GetContainerDetails() *Container { 11260 if x != nil { 11261 return x.ContainerDetails 11262 } 11263 return nil 11264} 11265 11266func (x *HybridFindingDetails) GetFileOffset() int64 { 11267 if x != nil { 11268 return x.FileOffset 11269 } 11270 return 0 11271} 11272 11273func (x *HybridFindingDetails) GetRowOffset() int64 { 11274 if x != nil { 11275 return x.RowOffset 11276 } 11277 return 0 11278} 11279 11280func (x *HybridFindingDetails) GetTableOptions() *TableOptions { 11281 if x != nil { 11282 return x.TableOptions 11283 } 11284 return nil 11285} 11286 11287func (x *HybridFindingDetails) GetLabels() map[string]string { 11288 if x != nil { 11289 return x.Labels 11290 } 11291 return nil 11292} 11293 11294// Quota exceeded errors will be thrown once quota has been met. 11295type HybridInspectResponse struct { 11296 state protoimpl.MessageState 11297 sizeCache protoimpl.SizeCache 11298 unknownFields protoimpl.UnknownFields 11299} 11300 11301func (x *HybridInspectResponse) Reset() { 11302 *x = HybridInspectResponse{} 11303 if protoimpl.UnsafeEnabled { 11304 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[123] 11305 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11306 ms.StoreMessageInfo(mi) 11307 } 11308} 11309 11310func (x *HybridInspectResponse) String() string { 11311 return protoimpl.X.MessageStringOf(x) 11312} 11313 11314func (*HybridInspectResponse) ProtoMessage() {} 11315 11316func (x *HybridInspectResponse) ProtoReflect() protoreflect.Message { 11317 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[123] 11318 if protoimpl.UnsafeEnabled && x != nil { 11319 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11320 if ms.LoadMessageInfo() == nil { 11321 ms.StoreMessageInfo(mi) 11322 } 11323 return ms 11324 } 11325 return mi.MessageOf(x) 11326} 11327 11328// Deprecated: Use HybridInspectResponse.ProtoReflect.Descriptor instead. 11329func (*HybridInspectResponse) Descriptor() ([]byte, []int) { 11330 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{123} 11331} 11332 11333// Configuration to control the number of findings returned. 11334type InspectConfig_FindingLimits struct { 11335 state protoimpl.MessageState 11336 sizeCache protoimpl.SizeCache 11337 unknownFields protoimpl.UnknownFields 11338 11339 // Max number of findings that will be returned for each item scanned. 11340 // When set within `InspectJobConfig`, 11341 // the maximum returned is 2000 regardless if this is set higher. 11342 // When set within `InspectContentRequest`, this field is ignored. 11343 MaxFindingsPerItem int32 `protobuf:"varint,1,opt,name=max_findings_per_item,json=maxFindingsPerItem,proto3" json:"max_findings_per_item,omitempty"` 11344 // Max number of findings that will be returned per request/job. 11345 // When set within `InspectContentRequest`, the maximum returned is 2000 11346 // regardless if this is set higher. 11347 MaxFindingsPerRequest int32 `protobuf:"varint,2,opt,name=max_findings_per_request,json=maxFindingsPerRequest,proto3" json:"max_findings_per_request,omitempty"` 11348 // Configuration of findings limit given for specified infoTypes. 11349 MaxFindingsPerInfoType []*InspectConfig_FindingLimits_InfoTypeLimit `protobuf:"bytes,3,rep,name=max_findings_per_info_type,json=maxFindingsPerInfoType,proto3" json:"max_findings_per_info_type,omitempty"` 11350} 11351 11352func (x *InspectConfig_FindingLimits) Reset() { 11353 *x = InspectConfig_FindingLimits{} 11354 if protoimpl.UnsafeEnabled { 11355 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[124] 11356 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11357 ms.StoreMessageInfo(mi) 11358 } 11359} 11360 11361func (x *InspectConfig_FindingLimits) String() string { 11362 return protoimpl.X.MessageStringOf(x) 11363} 11364 11365func (*InspectConfig_FindingLimits) ProtoMessage() {} 11366 11367func (x *InspectConfig_FindingLimits) ProtoReflect() protoreflect.Message { 11368 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[124] 11369 if protoimpl.UnsafeEnabled && x != nil { 11370 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11371 if ms.LoadMessageInfo() == nil { 11372 ms.StoreMessageInfo(mi) 11373 } 11374 return ms 11375 } 11376 return mi.MessageOf(x) 11377} 11378 11379// Deprecated: Use InspectConfig_FindingLimits.ProtoReflect.Descriptor instead. 11380func (*InspectConfig_FindingLimits) Descriptor() ([]byte, []int) { 11381 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{4, 0} 11382} 11383 11384func (x *InspectConfig_FindingLimits) GetMaxFindingsPerItem() int32 { 11385 if x != nil { 11386 return x.MaxFindingsPerItem 11387 } 11388 return 0 11389} 11390 11391func (x *InspectConfig_FindingLimits) GetMaxFindingsPerRequest() int32 { 11392 if x != nil { 11393 return x.MaxFindingsPerRequest 11394 } 11395 return 0 11396} 11397 11398func (x *InspectConfig_FindingLimits) GetMaxFindingsPerInfoType() []*InspectConfig_FindingLimits_InfoTypeLimit { 11399 if x != nil { 11400 return x.MaxFindingsPerInfoType 11401 } 11402 return nil 11403} 11404 11405// Max findings configuration per infoType, per content item or long 11406// running DlpJob. 11407type InspectConfig_FindingLimits_InfoTypeLimit struct { 11408 state protoimpl.MessageState 11409 sizeCache protoimpl.SizeCache 11410 unknownFields protoimpl.UnknownFields 11411 11412 // Type of information the findings limit applies to. Only one limit per 11413 // info_type should be provided. If InfoTypeLimit does not have an 11414 // info_type, the DLP API applies the limit against all info_types that 11415 // are found but not specified in another InfoTypeLimit. 11416 InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"` 11417 // Max findings limit for the given infoType. 11418 MaxFindings int32 `protobuf:"varint,2,opt,name=max_findings,json=maxFindings,proto3" json:"max_findings,omitempty"` 11419} 11420 11421func (x *InspectConfig_FindingLimits_InfoTypeLimit) Reset() { 11422 *x = InspectConfig_FindingLimits_InfoTypeLimit{} 11423 if protoimpl.UnsafeEnabled { 11424 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[125] 11425 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11426 ms.StoreMessageInfo(mi) 11427 } 11428} 11429 11430func (x *InspectConfig_FindingLimits_InfoTypeLimit) String() string { 11431 return protoimpl.X.MessageStringOf(x) 11432} 11433 11434func (*InspectConfig_FindingLimits_InfoTypeLimit) ProtoMessage() {} 11435 11436func (x *InspectConfig_FindingLimits_InfoTypeLimit) ProtoReflect() protoreflect.Message { 11437 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[125] 11438 if protoimpl.UnsafeEnabled && x != nil { 11439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11440 if ms.LoadMessageInfo() == nil { 11441 ms.StoreMessageInfo(mi) 11442 } 11443 return ms 11444 } 11445 return mi.MessageOf(x) 11446} 11447 11448// Deprecated: Use InspectConfig_FindingLimits_InfoTypeLimit.ProtoReflect.Descriptor instead. 11449func (*InspectConfig_FindingLimits_InfoTypeLimit) Descriptor() ([]byte, []int) { 11450 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{4, 0, 0} 11451} 11452 11453func (x *InspectConfig_FindingLimits_InfoTypeLimit) GetInfoType() *InfoType { 11454 if x != nil { 11455 return x.InfoType 11456 } 11457 return nil 11458} 11459 11460func (x *InspectConfig_FindingLimits_InfoTypeLimit) GetMaxFindings() int32 { 11461 if x != nil { 11462 return x.MaxFindings 11463 } 11464 return 0 11465} 11466 11467// Values of the row. 11468type Table_Row struct { 11469 state protoimpl.MessageState 11470 sizeCache protoimpl.SizeCache 11471 unknownFields protoimpl.UnknownFields 11472 11473 // Individual cells. 11474 Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` 11475} 11476 11477func (x *Table_Row) Reset() { 11478 *x = Table_Row{} 11479 if protoimpl.UnsafeEnabled { 11480 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[126] 11481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11482 ms.StoreMessageInfo(mi) 11483 } 11484} 11485 11486func (x *Table_Row) String() string { 11487 return protoimpl.X.MessageStringOf(x) 11488} 11489 11490func (*Table_Row) ProtoMessage() {} 11491 11492func (x *Table_Row) ProtoReflect() protoreflect.Message { 11493 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[126] 11494 if protoimpl.UnsafeEnabled && x != nil { 11495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11496 if ms.LoadMessageInfo() == nil { 11497 ms.StoreMessageInfo(mi) 11498 } 11499 return ms 11500 } 11501 return mi.MessageOf(x) 11502} 11503 11504// Deprecated: Use Table_Row.ProtoReflect.Descriptor instead. 11505func (*Table_Row) Descriptor() ([]byte, []int) { 11506 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{7, 0} 11507} 11508 11509func (x *Table_Row) GetValues() []*Value { 11510 if x != nil { 11511 return x.Values 11512 } 11513 return nil 11514} 11515 11516// Configuration for determining how redaction of images should occur. 11517type RedactImageRequest_ImageRedactionConfig struct { 11518 state protoimpl.MessageState 11519 sizeCache protoimpl.SizeCache 11520 unknownFields protoimpl.UnknownFields 11521 11522 // Type of information to redact from images. 11523 // 11524 // Types that are assignable to Target: 11525 // *RedactImageRequest_ImageRedactionConfig_InfoType 11526 // *RedactImageRequest_ImageRedactionConfig_RedactAllText 11527 Target isRedactImageRequest_ImageRedactionConfig_Target `protobuf_oneof:"target"` 11528 // The color to use when redacting content from an image. If not specified, 11529 // the default is black. 11530 RedactionColor *Color `protobuf:"bytes,3,opt,name=redaction_color,json=redactionColor,proto3" json:"redaction_color,omitempty"` 11531} 11532 11533func (x *RedactImageRequest_ImageRedactionConfig) Reset() { 11534 *x = RedactImageRequest_ImageRedactionConfig{} 11535 if protoimpl.UnsafeEnabled { 11536 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[128] 11537 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11538 ms.StoreMessageInfo(mi) 11539 } 11540} 11541 11542func (x *RedactImageRequest_ImageRedactionConfig) String() string { 11543 return protoimpl.X.MessageStringOf(x) 11544} 11545 11546func (*RedactImageRequest_ImageRedactionConfig) ProtoMessage() {} 11547 11548func (x *RedactImageRequest_ImageRedactionConfig) ProtoReflect() protoreflect.Message { 11549 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[128] 11550 if protoimpl.UnsafeEnabled && x != nil { 11551 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11552 if ms.LoadMessageInfo() == nil { 11553 ms.StoreMessageInfo(mi) 11554 } 11555 return ms 11556 } 11557 return mi.MessageOf(x) 11558} 11559 11560// Deprecated: Use RedactImageRequest_ImageRedactionConfig.ProtoReflect.Descriptor instead. 11561func (*RedactImageRequest_ImageRedactionConfig) Descriptor() ([]byte, []int) { 11562 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{21, 0} 11563} 11564 11565func (m *RedactImageRequest_ImageRedactionConfig) GetTarget() isRedactImageRequest_ImageRedactionConfig_Target { 11566 if m != nil { 11567 return m.Target 11568 } 11569 return nil 11570} 11571 11572func (x *RedactImageRequest_ImageRedactionConfig) GetInfoType() *InfoType { 11573 if x, ok := x.GetTarget().(*RedactImageRequest_ImageRedactionConfig_InfoType); ok { 11574 return x.InfoType 11575 } 11576 return nil 11577} 11578 11579func (x *RedactImageRequest_ImageRedactionConfig) GetRedactAllText() bool { 11580 if x, ok := x.GetTarget().(*RedactImageRequest_ImageRedactionConfig_RedactAllText); ok { 11581 return x.RedactAllText 11582 } 11583 return false 11584} 11585 11586func (x *RedactImageRequest_ImageRedactionConfig) GetRedactionColor() *Color { 11587 if x != nil { 11588 return x.RedactionColor 11589 } 11590 return nil 11591} 11592 11593type isRedactImageRequest_ImageRedactionConfig_Target interface { 11594 isRedactImageRequest_ImageRedactionConfig_Target() 11595} 11596 11597type RedactImageRequest_ImageRedactionConfig_InfoType struct { 11598 // Only one per info_type should be provided per request. If not 11599 // specified, and redact_all_text is false, the DLP API will redact all 11600 // text that it matches against all info_types that are found, but not 11601 // specified in another ImageRedactionConfig. 11602 InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3,oneof"` 11603} 11604 11605type RedactImageRequest_ImageRedactionConfig_RedactAllText struct { 11606 // If true, all text found in the image, regardless whether it matches an 11607 // info_type, is redacted. Only one should be provided. 11608 RedactAllText bool `protobuf:"varint,2,opt,name=redact_all_text,json=redactAllText,proto3,oneof"` 11609} 11610 11611func (*RedactImageRequest_ImageRedactionConfig_InfoType) isRedactImageRequest_ImageRedactionConfig_Target() { 11612} 11613 11614func (*RedactImageRequest_ImageRedactionConfig_RedactAllText) isRedactImageRequest_ImageRedactionConfig_Target() { 11615} 11616 11617// Snapshot of the inspection configuration. 11618type InspectDataSourceDetails_RequestedOptions struct { 11619 state protoimpl.MessageState 11620 sizeCache protoimpl.SizeCache 11621 unknownFields protoimpl.UnknownFields 11622 11623 // If run with an InspectTemplate, a snapshot of its state at the time of 11624 // this run. 11625 SnapshotInspectTemplate *InspectTemplate `protobuf:"bytes,1,opt,name=snapshot_inspect_template,json=snapshotInspectTemplate,proto3" json:"snapshot_inspect_template,omitempty"` 11626 // Inspect config. 11627 JobConfig *InspectJobConfig `protobuf:"bytes,3,opt,name=job_config,json=jobConfig,proto3" json:"job_config,omitempty"` 11628} 11629 11630func (x *InspectDataSourceDetails_RequestedOptions) Reset() { 11631 *x = InspectDataSourceDetails_RequestedOptions{} 11632 if protoimpl.UnsafeEnabled { 11633 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[129] 11634 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11635 ms.StoreMessageInfo(mi) 11636 } 11637} 11638 11639func (x *InspectDataSourceDetails_RequestedOptions) String() string { 11640 return protoimpl.X.MessageStringOf(x) 11641} 11642 11643func (*InspectDataSourceDetails_RequestedOptions) ProtoMessage() {} 11644 11645func (x *InspectDataSourceDetails_RequestedOptions) ProtoReflect() protoreflect.Message { 11646 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[129] 11647 if protoimpl.UnsafeEnabled && x != nil { 11648 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11649 if ms.LoadMessageInfo() == nil { 11650 ms.StoreMessageInfo(mi) 11651 } 11652 return ms 11653 } 11654 return mi.MessageOf(x) 11655} 11656 11657// Deprecated: Use InspectDataSourceDetails_RequestedOptions.ProtoReflect.Descriptor instead. 11658func (*InspectDataSourceDetails_RequestedOptions) Descriptor() ([]byte, []int) { 11659 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{32, 0} 11660} 11661 11662func (x *InspectDataSourceDetails_RequestedOptions) GetSnapshotInspectTemplate() *InspectTemplate { 11663 if x != nil { 11664 return x.SnapshotInspectTemplate 11665 } 11666 return nil 11667} 11668 11669func (x *InspectDataSourceDetails_RequestedOptions) GetJobConfig() *InspectJobConfig { 11670 if x != nil { 11671 return x.JobConfig 11672 } 11673 return nil 11674} 11675 11676// All result fields mentioned below are updated while the job is processing. 11677type InspectDataSourceDetails_Result struct { 11678 state protoimpl.MessageState 11679 sizeCache protoimpl.SizeCache 11680 unknownFields protoimpl.UnknownFields 11681 11682 // Total size in bytes that were processed. 11683 ProcessedBytes int64 `protobuf:"varint,1,opt,name=processed_bytes,json=processedBytes,proto3" json:"processed_bytes,omitempty"` 11684 // Estimate of the number of bytes to process. 11685 TotalEstimatedBytes int64 `protobuf:"varint,2,opt,name=total_estimated_bytes,json=totalEstimatedBytes,proto3" json:"total_estimated_bytes,omitempty"` 11686 // Statistics of how many instances of each info type were found during 11687 // inspect job. 11688 InfoTypeStats []*InfoTypeStats `protobuf:"bytes,3,rep,name=info_type_stats,json=infoTypeStats,proto3" json:"info_type_stats,omitempty"` 11689 // Statistics related to the processing of hybrid inspect. 11690 // Early access feature is in a pre-release state and might change or have 11691 // limited support. For more information, see 11692 // https://cloud.google.com/products#product-launch-stages. 11693 HybridStats *HybridInspectStatistics `protobuf:"bytes,7,opt,name=hybrid_stats,json=hybridStats,proto3" json:"hybrid_stats,omitempty"` 11694} 11695 11696func (x *InspectDataSourceDetails_Result) Reset() { 11697 *x = InspectDataSourceDetails_Result{} 11698 if protoimpl.UnsafeEnabled { 11699 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[130] 11700 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11701 ms.StoreMessageInfo(mi) 11702 } 11703} 11704 11705func (x *InspectDataSourceDetails_Result) String() string { 11706 return protoimpl.X.MessageStringOf(x) 11707} 11708 11709func (*InspectDataSourceDetails_Result) ProtoMessage() {} 11710 11711func (x *InspectDataSourceDetails_Result) ProtoReflect() protoreflect.Message { 11712 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[130] 11713 if protoimpl.UnsafeEnabled && x != nil { 11714 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11715 if ms.LoadMessageInfo() == nil { 11716 ms.StoreMessageInfo(mi) 11717 } 11718 return ms 11719 } 11720 return mi.MessageOf(x) 11721} 11722 11723// Deprecated: Use InspectDataSourceDetails_Result.ProtoReflect.Descriptor instead. 11724func (*InspectDataSourceDetails_Result) Descriptor() ([]byte, []int) { 11725 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{32, 1} 11726} 11727 11728func (x *InspectDataSourceDetails_Result) GetProcessedBytes() int64 { 11729 if x != nil { 11730 return x.ProcessedBytes 11731 } 11732 return 0 11733} 11734 11735func (x *InspectDataSourceDetails_Result) GetTotalEstimatedBytes() int64 { 11736 if x != nil { 11737 return x.TotalEstimatedBytes 11738 } 11739 return 0 11740} 11741 11742func (x *InspectDataSourceDetails_Result) GetInfoTypeStats() []*InfoTypeStats { 11743 if x != nil { 11744 return x.InfoTypeStats 11745 } 11746 return nil 11747} 11748 11749func (x *InspectDataSourceDetails_Result) GetHybridStats() *HybridInspectStatistics { 11750 if x != nil { 11751 return x.HybridStats 11752 } 11753 return nil 11754} 11755 11756// A quasi-identifier column has a custom_tag, used to know which column 11757// in the data corresponds to which column in the statistical model. 11758type StatisticalTable_QuasiIdentifierField struct { 11759 state protoimpl.MessageState 11760 sizeCache protoimpl.SizeCache 11761 unknownFields protoimpl.UnknownFields 11762 11763 // Identifies the column. 11764 Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 11765 // A column can be tagged with a custom tag. In this case, the user must 11766 // indicate an auxiliary table that contains statistical information on 11767 // the possible values of this column (below). 11768 CustomTag string `protobuf:"bytes,2,opt,name=custom_tag,json=customTag,proto3" json:"custom_tag,omitempty"` 11769} 11770 11771func (x *StatisticalTable_QuasiIdentifierField) Reset() { 11772 *x = StatisticalTable_QuasiIdentifierField{} 11773 if protoimpl.UnsafeEnabled { 11774 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[131] 11775 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11776 ms.StoreMessageInfo(mi) 11777 } 11778} 11779 11780func (x *StatisticalTable_QuasiIdentifierField) String() string { 11781 return protoimpl.X.MessageStringOf(x) 11782} 11783 11784func (*StatisticalTable_QuasiIdentifierField) ProtoMessage() {} 11785 11786func (x *StatisticalTable_QuasiIdentifierField) ProtoReflect() protoreflect.Message { 11787 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[131] 11788 if protoimpl.UnsafeEnabled && x != nil { 11789 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11790 if ms.LoadMessageInfo() == nil { 11791 ms.StoreMessageInfo(mi) 11792 } 11793 return ms 11794 } 11795 return mi.MessageOf(x) 11796} 11797 11798// Deprecated: Use StatisticalTable_QuasiIdentifierField.ProtoReflect.Descriptor instead. 11799func (*StatisticalTable_QuasiIdentifierField) Descriptor() ([]byte, []int) { 11800 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{39, 0} 11801} 11802 11803func (x *StatisticalTable_QuasiIdentifierField) GetField() *FieldId { 11804 if x != nil { 11805 return x.Field 11806 } 11807 return nil 11808} 11809 11810func (x *StatisticalTable_QuasiIdentifierField) GetCustomTag() string { 11811 if x != nil { 11812 return x.CustomTag 11813 } 11814 return "" 11815} 11816 11817// Compute numerical stats over an individual column, including 11818// min, max, and quantiles. 11819type PrivacyMetric_NumericalStatsConfig struct { 11820 state protoimpl.MessageState 11821 sizeCache protoimpl.SizeCache 11822 unknownFields protoimpl.UnknownFields 11823 11824 // Field to compute numerical stats on. Supported types are 11825 // integer, float, date, datetime, timestamp, time. 11826 Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 11827} 11828 11829func (x *PrivacyMetric_NumericalStatsConfig) Reset() { 11830 *x = PrivacyMetric_NumericalStatsConfig{} 11831 if protoimpl.UnsafeEnabled { 11832 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[132] 11833 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11834 ms.StoreMessageInfo(mi) 11835 } 11836} 11837 11838func (x *PrivacyMetric_NumericalStatsConfig) String() string { 11839 return protoimpl.X.MessageStringOf(x) 11840} 11841 11842func (*PrivacyMetric_NumericalStatsConfig) ProtoMessage() {} 11843 11844func (x *PrivacyMetric_NumericalStatsConfig) ProtoReflect() protoreflect.Message { 11845 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[132] 11846 if protoimpl.UnsafeEnabled && x != nil { 11847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11848 if ms.LoadMessageInfo() == nil { 11849 ms.StoreMessageInfo(mi) 11850 } 11851 return ms 11852 } 11853 return mi.MessageOf(x) 11854} 11855 11856// Deprecated: Use PrivacyMetric_NumericalStatsConfig.ProtoReflect.Descriptor instead. 11857func (*PrivacyMetric_NumericalStatsConfig) Descriptor() ([]byte, []int) { 11858 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 0} 11859} 11860 11861func (x *PrivacyMetric_NumericalStatsConfig) GetField() *FieldId { 11862 if x != nil { 11863 return x.Field 11864 } 11865 return nil 11866} 11867 11868// Compute numerical stats over an individual column, including 11869// number of distinct values and value count distribution. 11870type PrivacyMetric_CategoricalStatsConfig struct { 11871 state protoimpl.MessageState 11872 sizeCache protoimpl.SizeCache 11873 unknownFields protoimpl.UnknownFields 11874 11875 // Field to compute categorical stats on. All column types are 11876 // supported except for arrays and structs. However, it may be more 11877 // informative to use NumericalStats when the field type is supported, 11878 // depending on the data. 11879 Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 11880} 11881 11882func (x *PrivacyMetric_CategoricalStatsConfig) Reset() { 11883 *x = PrivacyMetric_CategoricalStatsConfig{} 11884 if protoimpl.UnsafeEnabled { 11885 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[133] 11886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11887 ms.StoreMessageInfo(mi) 11888 } 11889} 11890 11891func (x *PrivacyMetric_CategoricalStatsConfig) String() string { 11892 return protoimpl.X.MessageStringOf(x) 11893} 11894 11895func (*PrivacyMetric_CategoricalStatsConfig) ProtoMessage() {} 11896 11897func (x *PrivacyMetric_CategoricalStatsConfig) ProtoReflect() protoreflect.Message { 11898 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[133] 11899 if protoimpl.UnsafeEnabled && x != nil { 11900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11901 if ms.LoadMessageInfo() == nil { 11902 ms.StoreMessageInfo(mi) 11903 } 11904 return ms 11905 } 11906 return mi.MessageOf(x) 11907} 11908 11909// Deprecated: Use PrivacyMetric_CategoricalStatsConfig.ProtoReflect.Descriptor instead. 11910func (*PrivacyMetric_CategoricalStatsConfig) Descriptor() ([]byte, []int) { 11911 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 1} 11912} 11913 11914func (x *PrivacyMetric_CategoricalStatsConfig) GetField() *FieldId { 11915 if x != nil { 11916 return x.Field 11917 } 11918 return nil 11919} 11920 11921// k-anonymity metric, used for analysis of reidentification risk. 11922type PrivacyMetric_KAnonymityConfig struct { 11923 state protoimpl.MessageState 11924 sizeCache protoimpl.SizeCache 11925 unknownFields protoimpl.UnknownFields 11926 11927 // Set of fields to compute k-anonymity over. When multiple fields are 11928 // specified, they are considered a single composite key. Structs and 11929 // repeated data types are not supported; however, nested fields are 11930 // supported so long as they are not structs themselves or nested within 11931 // a repeated field. 11932 QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` 11933 // Message indicating that multiple rows might be associated to a 11934 // single individual. If the same entity_id is associated to multiple 11935 // quasi-identifier tuples over distinct rows, we consider the entire 11936 // collection of tuples as the composite quasi-identifier. This collection 11937 // is a multiset: the order in which the different tuples appear in the 11938 // dataset is ignored, but their frequency is taken into account. 11939 // 11940 // Important note: a maximum of 1000 rows can be associated to a single 11941 // entity ID. If more rows are associated with the same entity ID, some 11942 // might be ignored. 11943 EntityId *EntityId `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` 11944} 11945 11946func (x *PrivacyMetric_KAnonymityConfig) Reset() { 11947 *x = PrivacyMetric_KAnonymityConfig{} 11948 if protoimpl.UnsafeEnabled { 11949 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[134] 11950 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11951 ms.StoreMessageInfo(mi) 11952 } 11953} 11954 11955func (x *PrivacyMetric_KAnonymityConfig) String() string { 11956 return protoimpl.X.MessageStringOf(x) 11957} 11958 11959func (*PrivacyMetric_KAnonymityConfig) ProtoMessage() {} 11960 11961func (x *PrivacyMetric_KAnonymityConfig) ProtoReflect() protoreflect.Message { 11962 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[134] 11963 if protoimpl.UnsafeEnabled && x != nil { 11964 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11965 if ms.LoadMessageInfo() == nil { 11966 ms.StoreMessageInfo(mi) 11967 } 11968 return ms 11969 } 11970 return mi.MessageOf(x) 11971} 11972 11973// Deprecated: Use PrivacyMetric_KAnonymityConfig.ProtoReflect.Descriptor instead. 11974func (*PrivacyMetric_KAnonymityConfig) Descriptor() ([]byte, []int) { 11975 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 2} 11976} 11977 11978func (x *PrivacyMetric_KAnonymityConfig) GetQuasiIds() []*FieldId { 11979 if x != nil { 11980 return x.QuasiIds 11981 } 11982 return nil 11983} 11984 11985func (x *PrivacyMetric_KAnonymityConfig) GetEntityId() *EntityId { 11986 if x != nil { 11987 return x.EntityId 11988 } 11989 return nil 11990} 11991 11992// l-diversity metric, used for analysis of reidentification risk. 11993type PrivacyMetric_LDiversityConfig struct { 11994 state protoimpl.MessageState 11995 sizeCache protoimpl.SizeCache 11996 unknownFields protoimpl.UnknownFields 11997 11998 // Set of quasi-identifiers indicating how equivalence classes are 11999 // defined for the l-diversity computation. When multiple fields are 12000 // specified, they are considered a single composite key. 12001 QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` 12002 // Sensitive field for computing the l-value. 12003 SensitiveAttribute *FieldId `protobuf:"bytes,2,opt,name=sensitive_attribute,json=sensitiveAttribute,proto3" json:"sensitive_attribute,omitempty"` 12004} 12005 12006func (x *PrivacyMetric_LDiversityConfig) Reset() { 12007 *x = PrivacyMetric_LDiversityConfig{} 12008 if protoimpl.UnsafeEnabled { 12009 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[135] 12010 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12011 ms.StoreMessageInfo(mi) 12012 } 12013} 12014 12015func (x *PrivacyMetric_LDiversityConfig) String() string { 12016 return protoimpl.X.MessageStringOf(x) 12017} 12018 12019func (*PrivacyMetric_LDiversityConfig) ProtoMessage() {} 12020 12021func (x *PrivacyMetric_LDiversityConfig) ProtoReflect() protoreflect.Message { 12022 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[135] 12023 if protoimpl.UnsafeEnabled && x != nil { 12024 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12025 if ms.LoadMessageInfo() == nil { 12026 ms.StoreMessageInfo(mi) 12027 } 12028 return ms 12029 } 12030 return mi.MessageOf(x) 12031} 12032 12033// Deprecated: Use PrivacyMetric_LDiversityConfig.ProtoReflect.Descriptor instead. 12034func (*PrivacyMetric_LDiversityConfig) Descriptor() ([]byte, []int) { 12035 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 3} 12036} 12037 12038func (x *PrivacyMetric_LDiversityConfig) GetQuasiIds() []*FieldId { 12039 if x != nil { 12040 return x.QuasiIds 12041 } 12042 return nil 12043} 12044 12045func (x *PrivacyMetric_LDiversityConfig) GetSensitiveAttribute() *FieldId { 12046 if x != nil { 12047 return x.SensitiveAttribute 12048 } 12049 return nil 12050} 12051 12052// Reidentifiability metric. This corresponds to a risk model similar to what 12053// is called "journalist risk" in the literature, except the attack dataset is 12054// statistically modeled instead of being perfectly known. This can be done 12055// using publicly available data (like the US Census), or using a custom 12056// statistical model (indicated as one or several BigQuery tables), or by 12057// extrapolating from the distribution of values in the input dataset. 12058type PrivacyMetric_KMapEstimationConfig struct { 12059 state protoimpl.MessageState 12060 sizeCache protoimpl.SizeCache 12061 unknownFields protoimpl.UnknownFields 12062 12063 // Required. Fields considered to be quasi-identifiers. No two columns can have the 12064 // same tag. 12065 QuasiIds []*PrivacyMetric_KMapEstimationConfig_TaggedField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` 12066 // ISO 3166-1 alpha-2 region code to use in the statistical modeling. 12067 // Set if no column is tagged with a region-specific InfoType (like 12068 // US_ZIP_5) or a region code. 12069 RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"` 12070 // Several auxiliary tables can be used in the analysis. Each custom_tag 12071 // used to tag a quasi-identifiers column must appear in exactly one column 12072 // of one auxiliary table. 12073 AuxiliaryTables []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable `protobuf:"bytes,3,rep,name=auxiliary_tables,json=auxiliaryTables,proto3" json:"auxiliary_tables,omitempty"` 12074} 12075 12076func (x *PrivacyMetric_KMapEstimationConfig) Reset() { 12077 *x = PrivacyMetric_KMapEstimationConfig{} 12078 if protoimpl.UnsafeEnabled { 12079 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[136] 12080 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12081 ms.StoreMessageInfo(mi) 12082 } 12083} 12084 12085func (x *PrivacyMetric_KMapEstimationConfig) String() string { 12086 return protoimpl.X.MessageStringOf(x) 12087} 12088 12089func (*PrivacyMetric_KMapEstimationConfig) ProtoMessage() {} 12090 12091func (x *PrivacyMetric_KMapEstimationConfig) ProtoReflect() protoreflect.Message { 12092 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[136] 12093 if protoimpl.UnsafeEnabled && x != nil { 12094 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12095 if ms.LoadMessageInfo() == nil { 12096 ms.StoreMessageInfo(mi) 12097 } 12098 return ms 12099 } 12100 return mi.MessageOf(x) 12101} 12102 12103// Deprecated: Use PrivacyMetric_KMapEstimationConfig.ProtoReflect.Descriptor instead. 12104func (*PrivacyMetric_KMapEstimationConfig) Descriptor() ([]byte, []int) { 12105 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 4} 12106} 12107 12108func (x *PrivacyMetric_KMapEstimationConfig) GetQuasiIds() []*PrivacyMetric_KMapEstimationConfig_TaggedField { 12109 if x != nil { 12110 return x.QuasiIds 12111 } 12112 return nil 12113} 12114 12115func (x *PrivacyMetric_KMapEstimationConfig) GetRegionCode() string { 12116 if x != nil { 12117 return x.RegionCode 12118 } 12119 return "" 12120} 12121 12122func (x *PrivacyMetric_KMapEstimationConfig) GetAuxiliaryTables() []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable { 12123 if x != nil { 12124 return x.AuxiliaryTables 12125 } 12126 return nil 12127} 12128 12129// δ-presence metric, used to estimate how likely it is for an attacker to 12130// figure out that one given individual appears in a de-identified dataset. 12131// Similarly to the k-map metric, we cannot compute δ-presence exactly without 12132// knowing the attack dataset, so we use a statistical model instead. 12133type PrivacyMetric_DeltaPresenceEstimationConfig struct { 12134 state protoimpl.MessageState 12135 sizeCache protoimpl.SizeCache 12136 unknownFields protoimpl.UnknownFields 12137 12138 // Required. Fields considered to be quasi-identifiers. No two fields can have the 12139 // same tag. 12140 QuasiIds []*QuasiId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` 12141 // ISO 3166-1 alpha-2 region code to use in the statistical modeling. 12142 // Set if no column is tagged with a region-specific InfoType (like 12143 // US_ZIP_5) or a region code. 12144 RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"` 12145 // Several auxiliary tables can be used in the analysis. Each custom_tag 12146 // used to tag a quasi-identifiers field must appear in exactly one 12147 // field of one auxiliary table. 12148 AuxiliaryTables []*StatisticalTable `protobuf:"bytes,3,rep,name=auxiliary_tables,json=auxiliaryTables,proto3" json:"auxiliary_tables,omitempty"` 12149} 12150 12151func (x *PrivacyMetric_DeltaPresenceEstimationConfig) Reset() { 12152 *x = PrivacyMetric_DeltaPresenceEstimationConfig{} 12153 if protoimpl.UnsafeEnabled { 12154 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[137] 12155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12156 ms.StoreMessageInfo(mi) 12157 } 12158} 12159 12160func (x *PrivacyMetric_DeltaPresenceEstimationConfig) String() string { 12161 return protoimpl.X.MessageStringOf(x) 12162} 12163 12164func (*PrivacyMetric_DeltaPresenceEstimationConfig) ProtoMessage() {} 12165 12166func (x *PrivacyMetric_DeltaPresenceEstimationConfig) ProtoReflect() protoreflect.Message { 12167 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[137] 12168 if protoimpl.UnsafeEnabled && x != nil { 12169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12170 if ms.LoadMessageInfo() == nil { 12171 ms.StoreMessageInfo(mi) 12172 } 12173 return ms 12174 } 12175 return mi.MessageOf(x) 12176} 12177 12178// Deprecated: Use PrivacyMetric_DeltaPresenceEstimationConfig.ProtoReflect.Descriptor instead. 12179func (*PrivacyMetric_DeltaPresenceEstimationConfig) Descriptor() ([]byte, []int) { 12180 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 5} 12181} 12182 12183func (x *PrivacyMetric_DeltaPresenceEstimationConfig) GetQuasiIds() []*QuasiId { 12184 if x != nil { 12185 return x.QuasiIds 12186 } 12187 return nil 12188} 12189 12190func (x *PrivacyMetric_DeltaPresenceEstimationConfig) GetRegionCode() string { 12191 if x != nil { 12192 return x.RegionCode 12193 } 12194 return "" 12195} 12196 12197func (x *PrivacyMetric_DeltaPresenceEstimationConfig) GetAuxiliaryTables() []*StatisticalTable { 12198 if x != nil { 12199 return x.AuxiliaryTables 12200 } 12201 return nil 12202} 12203 12204// A column with a semantic tag attached. 12205type PrivacyMetric_KMapEstimationConfig_TaggedField struct { 12206 state protoimpl.MessageState 12207 sizeCache protoimpl.SizeCache 12208 unknownFields protoimpl.UnknownFields 12209 12210 // Required. Identifies the column. 12211 Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 12212 // Semantic tag that identifies what a column contains, to determine which 12213 // statistical model to use to estimate the reidentifiability of each 12214 // value. [required] 12215 // 12216 // Types that are assignable to Tag: 12217 // *PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType 12218 // *PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag 12219 // *PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred 12220 Tag isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag `protobuf_oneof:"tag"` 12221} 12222 12223func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) Reset() { 12224 *x = PrivacyMetric_KMapEstimationConfig_TaggedField{} 12225 if protoimpl.UnsafeEnabled { 12226 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[138] 12227 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12228 ms.StoreMessageInfo(mi) 12229 } 12230} 12231 12232func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) String() string { 12233 return protoimpl.X.MessageStringOf(x) 12234} 12235 12236func (*PrivacyMetric_KMapEstimationConfig_TaggedField) ProtoMessage() {} 12237 12238func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) ProtoReflect() protoreflect.Message { 12239 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[138] 12240 if protoimpl.UnsafeEnabled && x != nil { 12241 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12242 if ms.LoadMessageInfo() == nil { 12243 ms.StoreMessageInfo(mi) 12244 } 12245 return ms 12246 } 12247 return mi.MessageOf(x) 12248} 12249 12250// Deprecated: Use PrivacyMetric_KMapEstimationConfig_TaggedField.ProtoReflect.Descriptor instead. 12251func (*PrivacyMetric_KMapEstimationConfig_TaggedField) Descriptor() ([]byte, []int) { 12252 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 4, 0} 12253} 12254 12255func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) GetField() *FieldId { 12256 if x != nil { 12257 return x.Field 12258 } 12259 return nil 12260} 12261 12262func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetTag() isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag { 12263 if m != nil { 12264 return m.Tag 12265 } 12266 return nil 12267} 12268 12269func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) GetInfoType() *InfoType { 12270 if x, ok := x.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType); ok { 12271 return x.InfoType 12272 } 12273 return nil 12274} 12275 12276func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) GetCustomTag() string { 12277 if x, ok := x.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag); ok { 12278 return x.CustomTag 12279 } 12280 return "" 12281} 12282 12283func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) GetInferred() *emptypb.Empty { 12284 if x, ok := x.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred); ok { 12285 return x.Inferred 12286 } 12287 return nil 12288} 12289 12290type isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag interface { 12291 isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() 12292} 12293 12294type PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType struct { 12295 // A column can be tagged with a InfoType to use the relevant public 12296 // dataset as a statistical model of population, if available. We 12297 // currently support US ZIP codes, region codes, ages and genders. 12298 // To programmatically obtain the list of supported InfoTypes, use 12299 // ListInfoTypes with the supported_by=RISK_ANALYSIS filter. 12300 InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3,oneof"` 12301} 12302 12303type PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag struct { 12304 // A column can be tagged with a custom tag. In this case, the user must 12305 // indicate an auxiliary table that contains statistical information on 12306 // the possible values of this column (below). 12307 CustomTag string `protobuf:"bytes,3,opt,name=custom_tag,json=customTag,proto3,oneof"` 12308} 12309 12310type PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred struct { 12311 // If no semantic tag is indicated, we infer the statistical model from 12312 // the distribution of values in the input data 12313 Inferred *emptypb.Empty `protobuf:"bytes,4,opt,name=inferred,proto3,oneof"` 12314} 12315 12316func (*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() { 12317} 12318 12319func (*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() { 12320} 12321 12322func (*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() { 12323} 12324 12325// An auxiliary table contains statistical information on the relative 12326// frequency of different quasi-identifiers values. It has one or several 12327// quasi-identifiers columns, and one column that indicates the relative 12328// frequency of each quasi-identifier tuple. 12329// If a tuple is present in the data but not in the auxiliary table, the 12330// corresponding relative frequency is assumed to be zero (and thus, the 12331// tuple is highly reidentifiable). 12332type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable struct { 12333 state protoimpl.MessageState 12334 sizeCache protoimpl.SizeCache 12335 unknownFields protoimpl.UnknownFields 12336 12337 // Required. Auxiliary table location. 12338 Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"` 12339 // Required. Quasi-identifier columns. 12340 QuasiIds []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` 12341 // Required. The relative frequency column must contain a floating-point number 12342 // between 0 and 1 (inclusive). Null values are assumed to be zero. 12343 RelativeFrequency *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"` 12344} 12345 12346func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Reset() { 12347 *x = PrivacyMetric_KMapEstimationConfig_AuxiliaryTable{} 12348 if protoimpl.UnsafeEnabled { 12349 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[139] 12350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12351 ms.StoreMessageInfo(mi) 12352 } 12353} 12354 12355func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) String() string { 12356 return protoimpl.X.MessageStringOf(x) 12357} 12358 12359func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) ProtoMessage() {} 12360 12361func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) ProtoReflect() protoreflect.Message { 12362 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[139] 12363 if protoimpl.UnsafeEnabled && x != nil { 12364 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12365 if ms.LoadMessageInfo() == nil { 12366 ms.StoreMessageInfo(mi) 12367 } 12368 return ms 12369 } 12370 return mi.MessageOf(x) 12371} 12372 12373// Deprecated: Use PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.ProtoReflect.Descriptor instead. 12374func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Descriptor() ([]byte, []int) { 12375 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 4, 1} 12376} 12377 12378func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetTable() *BigQueryTable { 12379 if x != nil { 12380 return x.Table 12381 } 12382 return nil 12383} 12384 12385func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetQuasiIds() []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField { 12386 if x != nil { 12387 return x.QuasiIds 12388 } 12389 return nil 12390} 12391 12392func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetRelativeFrequency() *FieldId { 12393 if x != nil { 12394 return x.RelativeFrequency 12395 } 12396 return nil 12397} 12398 12399// A quasi-identifier column has a custom_tag, used to know which column 12400// in the data corresponds to which column in the statistical model. 12401type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField struct { 12402 state protoimpl.MessageState 12403 sizeCache protoimpl.SizeCache 12404 unknownFields protoimpl.UnknownFields 12405 12406 // Identifies the column. 12407 Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 12408 // A auxiliary field. 12409 CustomTag string `protobuf:"bytes,2,opt,name=custom_tag,json=customTag,proto3" json:"custom_tag,omitempty"` 12410} 12411 12412func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Reset() { 12413 *x = PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField{} 12414 if protoimpl.UnsafeEnabled { 12415 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[140] 12416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12417 ms.StoreMessageInfo(mi) 12418 } 12419} 12420 12421func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) String() string { 12422 return protoimpl.X.MessageStringOf(x) 12423} 12424 12425func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) ProtoMessage() {} 12426 12427func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) ProtoReflect() protoreflect.Message { 12428 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[140] 12429 if protoimpl.UnsafeEnabled && x != nil { 12430 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12431 if ms.LoadMessageInfo() == nil { 12432 ms.StoreMessageInfo(mi) 12433 } 12434 return ms 12435 } 12436 return mi.MessageOf(x) 12437} 12438 12439// Deprecated: Use PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.ProtoReflect.Descriptor instead. 12440func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Descriptor() ([]byte, []int) { 12441 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 4, 1, 0} 12442} 12443 12444func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetField() *FieldId { 12445 if x != nil { 12446 return x.Field 12447 } 12448 return nil 12449} 12450 12451func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetCustomTag() string { 12452 if x != nil { 12453 return x.CustomTag 12454 } 12455 return "" 12456} 12457 12458// Result of the numerical stats computation. 12459type AnalyzeDataSourceRiskDetails_NumericalStatsResult struct { 12460 state protoimpl.MessageState 12461 sizeCache protoimpl.SizeCache 12462 unknownFields protoimpl.UnknownFields 12463 12464 // Minimum value appearing in the column. 12465 MinValue *Value `protobuf:"bytes,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` 12466 // Maximum value appearing in the column. 12467 MaxValue *Value `protobuf:"bytes,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` 12468 // List of 99 values that partition the set of field values into 100 equal 12469 // sized buckets. 12470 QuantileValues []*Value `protobuf:"bytes,4,rep,name=quantile_values,json=quantileValues,proto3" json:"quantile_values,omitempty"` 12471} 12472 12473func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) Reset() { 12474 *x = AnalyzeDataSourceRiskDetails_NumericalStatsResult{} 12475 if protoimpl.UnsafeEnabled { 12476 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[141] 12477 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12478 ms.StoreMessageInfo(mi) 12479 } 12480} 12481 12482func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) String() string { 12483 return protoimpl.X.MessageStringOf(x) 12484} 12485 12486func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) ProtoMessage() {} 12487 12488func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) ProtoReflect() protoreflect.Message { 12489 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[141] 12490 if protoimpl.UnsafeEnabled && x != nil { 12491 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12492 if ms.LoadMessageInfo() == nil { 12493 ms.StoreMessageInfo(mi) 12494 } 12495 return ms 12496 } 12497 return mi.MessageOf(x) 12498} 12499 12500// Deprecated: Use AnalyzeDataSourceRiskDetails_NumericalStatsResult.ProtoReflect.Descriptor instead. 12501func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) Descriptor() ([]byte, []int) { 12502 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 0} 12503} 12504 12505func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetMinValue() *Value { 12506 if x != nil { 12507 return x.MinValue 12508 } 12509 return nil 12510} 12511 12512func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetMaxValue() *Value { 12513 if x != nil { 12514 return x.MaxValue 12515 } 12516 return nil 12517} 12518 12519func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetQuantileValues() []*Value { 12520 if x != nil { 12521 return x.QuantileValues 12522 } 12523 return nil 12524} 12525 12526// Result of the categorical stats computation. 12527type AnalyzeDataSourceRiskDetails_CategoricalStatsResult struct { 12528 state protoimpl.MessageState 12529 sizeCache protoimpl.SizeCache 12530 unknownFields protoimpl.UnknownFields 12531 12532 // Histogram of value frequencies in the column. 12533 ValueFrequencyHistogramBuckets []*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket `protobuf:"bytes,5,rep,name=value_frequency_histogram_buckets,json=valueFrequencyHistogramBuckets,proto3" json:"value_frequency_histogram_buckets,omitempty"` 12534} 12535 12536func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Reset() { 12537 *x = AnalyzeDataSourceRiskDetails_CategoricalStatsResult{} 12538 if protoimpl.UnsafeEnabled { 12539 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[142] 12540 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12541 ms.StoreMessageInfo(mi) 12542 } 12543} 12544 12545func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) String() string { 12546 return protoimpl.X.MessageStringOf(x) 12547} 12548 12549func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) ProtoMessage() {} 12550 12551func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) ProtoReflect() protoreflect.Message { 12552 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[142] 12553 if protoimpl.UnsafeEnabled && x != nil { 12554 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12555 if ms.LoadMessageInfo() == nil { 12556 ms.StoreMessageInfo(mi) 12557 } 12558 return ms 12559 } 12560 return mi.MessageOf(x) 12561} 12562 12563// Deprecated: Use AnalyzeDataSourceRiskDetails_CategoricalStatsResult.ProtoReflect.Descriptor instead. 12564func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Descriptor() ([]byte, []int) { 12565 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 1} 12566} 12567 12568func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) GetValueFrequencyHistogramBuckets() []*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket { 12569 if x != nil { 12570 return x.ValueFrequencyHistogramBuckets 12571 } 12572 return nil 12573} 12574 12575// Result of the k-anonymity computation. 12576type AnalyzeDataSourceRiskDetails_KAnonymityResult struct { 12577 state protoimpl.MessageState 12578 sizeCache protoimpl.SizeCache 12579 unknownFields protoimpl.UnknownFields 12580 12581 // Histogram of k-anonymity equivalence classes. 12582 EquivalenceClassHistogramBuckets []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket `protobuf:"bytes,5,rep,name=equivalence_class_histogram_buckets,json=equivalenceClassHistogramBuckets,proto3" json:"equivalence_class_histogram_buckets,omitempty"` 12583} 12584 12585func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult) Reset() { 12586 *x = AnalyzeDataSourceRiskDetails_KAnonymityResult{} 12587 if protoimpl.UnsafeEnabled { 12588 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[143] 12589 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12590 ms.StoreMessageInfo(mi) 12591 } 12592} 12593 12594func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult) String() string { 12595 return protoimpl.X.MessageStringOf(x) 12596} 12597 12598func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) ProtoMessage() {} 12599 12600func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult) ProtoReflect() protoreflect.Message { 12601 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[143] 12602 if protoimpl.UnsafeEnabled && x != nil { 12603 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12604 if ms.LoadMessageInfo() == nil { 12605 ms.StoreMessageInfo(mi) 12606 } 12607 return ms 12608 } 12609 return mi.MessageOf(x) 12610} 12611 12612// Deprecated: Use AnalyzeDataSourceRiskDetails_KAnonymityResult.ProtoReflect.Descriptor instead. 12613func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) Descriptor() ([]byte, []int) { 12614 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 2} 12615} 12616 12617func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult) GetEquivalenceClassHistogramBuckets() []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket { 12618 if x != nil { 12619 return x.EquivalenceClassHistogramBuckets 12620 } 12621 return nil 12622} 12623 12624// Result of the l-diversity computation. 12625type AnalyzeDataSourceRiskDetails_LDiversityResult struct { 12626 state protoimpl.MessageState 12627 sizeCache protoimpl.SizeCache 12628 unknownFields protoimpl.UnknownFields 12629 12630 // Histogram of l-diversity equivalence class sensitive value frequencies. 12631 SensitiveValueFrequencyHistogramBuckets []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket `protobuf:"bytes,5,rep,name=sensitive_value_frequency_histogram_buckets,json=sensitiveValueFrequencyHistogramBuckets,proto3" json:"sensitive_value_frequency_histogram_buckets,omitempty"` 12632} 12633 12634func (x *AnalyzeDataSourceRiskDetails_LDiversityResult) Reset() { 12635 *x = AnalyzeDataSourceRiskDetails_LDiversityResult{} 12636 if protoimpl.UnsafeEnabled { 12637 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[144] 12638 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12639 ms.StoreMessageInfo(mi) 12640 } 12641} 12642 12643func (x *AnalyzeDataSourceRiskDetails_LDiversityResult) String() string { 12644 return protoimpl.X.MessageStringOf(x) 12645} 12646 12647func (*AnalyzeDataSourceRiskDetails_LDiversityResult) ProtoMessage() {} 12648 12649func (x *AnalyzeDataSourceRiskDetails_LDiversityResult) ProtoReflect() protoreflect.Message { 12650 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[144] 12651 if protoimpl.UnsafeEnabled && x != nil { 12652 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12653 if ms.LoadMessageInfo() == nil { 12654 ms.StoreMessageInfo(mi) 12655 } 12656 return ms 12657 } 12658 return mi.MessageOf(x) 12659} 12660 12661// Deprecated: Use AnalyzeDataSourceRiskDetails_LDiversityResult.ProtoReflect.Descriptor instead. 12662func (*AnalyzeDataSourceRiskDetails_LDiversityResult) Descriptor() ([]byte, []int) { 12663 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 3} 12664} 12665 12666func (x *AnalyzeDataSourceRiskDetails_LDiversityResult) GetSensitiveValueFrequencyHistogramBuckets() []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket { 12667 if x != nil { 12668 return x.SensitiveValueFrequencyHistogramBuckets 12669 } 12670 return nil 12671} 12672 12673// Result of the reidentifiability analysis. Note that these results are an 12674// estimation, not exact values. 12675type AnalyzeDataSourceRiskDetails_KMapEstimationResult struct { 12676 state protoimpl.MessageState 12677 sizeCache protoimpl.SizeCache 12678 unknownFields protoimpl.UnknownFields 12679 12680 // The intervals [min_anonymity, max_anonymity] do not overlap. If a value 12681 // doesn't correspond to any such interval, the associated frequency is 12682 // zero. For example, the following records: 12683 // {min_anonymity: 1, max_anonymity: 1, frequency: 17} 12684 // {min_anonymity: 2, max_anonymity: 3, frequency: 42} 12685 // {min_anonymity: 5, max_anonymity: 10, frequency: 99} 12686 // mean that there are no record with an estimated anonymity of 4, 5, or 12687 // larger than 10. 12688 KMapEstimationHistogram []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket `protobuf:"bytes,1,rep,name=k_map_estimation_histogram,json=kMapEstimationHistogram,proto3" json:"k_map_estimation_histogram,omitempty"` 12689} 12690 12691func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult) Reset() { 12692 *x = AnalyzeDataSourceRiskDetails_KMapEstimationResult{} 12693 if protoimpl.UnsafeEnabled { 12694 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[145] 12695 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12696 ms.StoreMessageInfo(mi) 12697 } 12698} 12699 12700func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult) String() string { 12701 return protoimpl.X.MessageStringOf(x) 12702} 12703 12704func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) ProtoMessage() {} 12705 12706func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult) ProtoReflect() protoreflect.Message { 12707 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[145] 12708 if protoimpl.UnsafeEnabled && x != nil { 12709 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12710 if ms.LoadMessageInfo() == nil { 12711 ms.StoreMessageInfo(mi) 12712 } 12713 return ms 12714 } 12715 return mi.MessageOf(x) 12716} 12717 12718// Deprecated: Use AnalyzeDataSourceRiskDetails_KMapEstimationResult.ProtoReflect.Descriptor instead. 12719func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) Descriptor() ([]byte, []int) { 12720 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 4} 12721} 12722 12723func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult) GetKMapEstimationHistogram() []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket { 12724 if x != nil { 12725 return x.KMapEstimationHistogram 12726 } 12727 return nil 12728} 12729 12730// Result of the δ-presence computation. Note that these results are an 12731// estimation, not exact values. 12732type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult struct { 12733 state protoimpl.MessageState 12734 sizeCache protoimpl.SizeCache 12735 unknownFields protoimpl.UnknownFields 12736 12737 // The intervals [min_probability, max_probability) do not overlap. If a 12738 // value doesn't correspond to any such interval, the associated frequency 12739 // is zero. For example, the following records: 12740 // {min_probability: 0, max_probability: 0.1, frequency: 17} 12741 // {min_probability: 0.2, max_probability: 0.3, frequency: 42} 12742 // {min_probability: 0.3, max_probability: 0.4, frequency: 99} 12743 // mean that there are no record with an estimated probability in [0.1, 0.2) 12744 // nor larger or equal to 0.4. 12745 DeltaPresenceEstimationHistogram []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket `protobuf:"bytes,1,rep,name=delta_presence_estimation_histogram,json=deltaPresenceEstimationHistogram,proto3" json:"delta_presence_estimation_histogram,omitempty"` 12746} 12747 12748func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Reset() { 12749 *x = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult{} 12750 if protoimpl.UnsafeEnabled { 12751 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[146] 12752 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12753 ms.StoreMessageInfo(mi) 12754 } 12755} 12756 12757func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) String() string { 12758 return protoimpl.X.MessageStringOf(x) 12759} 12760 12761func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) ProtoMessage() {} 12762 12763func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) ProtoReflect() protoreflect.Message { 12764 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[146] 12765 if protoimpl.UnsafeEnabled && x != nil { 12766 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12767 if ms.LoadMessageInfo() == nil { 12768 ms.StoreMessageInfo(mi) 12769 } 12770 return ms 12771 } 12772 return mi.MessageOf(x) 12773} 12774 12775// Deprecated: Use AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.ProtoReflect.Descriptor instead. 12776func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Descriptor() ([]byte, []int) { 12777 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 5} 12778} 12779 12780func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) GetDeltaPresenceEstimationHistogram() []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket { 12781 if x != nil { 12782 return x.DeltaPresenceEstimationHistogram 12783 } 12784 return nil 12785} 12786 12787// Risk analysis options. 12788type AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions struct { 12789 state protoimpl.MessageState 12790 sizeCache protoimpl.SizeCache 12791 unknownFields protoimpl.UnknownFields 12792 12793 // The job config for the risk job. 12794 JobConfig *RiskAnalysisJobConfig `protobuf:"bytes,1,opt,name=job_config,json=jobConfig,proto3" json:"job_config,omitempty"` 12795} 12796 12797func (x *AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions) Reset() { 12798 *x = AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions{} 12799 if protoimpl.UnsafeEnabled { 12800 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[147] 12801 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12802 ms.StoreMessageInfo(mi) 12803 } 12804} 12805 12806func (x *AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions) String() string { 12807 return protoimpl.X.MessageStringOf(x) 12808} 12809 12810func (*AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions) ProtoMessage() {} 12811 12812func (x *AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions) ProtoReflect() protoreflect.Message { 12813 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[147] 12814 if protoimpl.UnsafeEnabled && x != nil { 12815 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12816 if ms.LoadMessageInfo() == nil { 12817 ms.StoreMessageInfo(mi) 12818 } 12819 return ms 12820 } 12821 return mi.MessageOf(x) 12822} 12823 12824// Deprecated: Use AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions.ProtoReflect.Descriptor instead. 12825func (*AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions) Descriptor() ([]byte, []int) { 12826 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 6} 12827} 12828 12829func (x *AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions) GetJobConfig() *RiskAnalysisJobConfig { 12830 if x != nil { 12831 return x.JobConfig 12832 } 12833 return nil 12834} 12835 12836// Histogram of value frequencies in the column. 12837type AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket struct { 12838 state protoimpl.MessageState 12839 sizeCache protoimpl.SizeCache 12840 unknownFields protoimpl.UnknownFields 12841 12842 // Lower bound on the value frequency of the values in this bucket. 12843 ValueFrequencyLowerBound int64 `protobuf:"varint,1,opt,name=value_frequency_lower_bound,json=valueFrequencyLowerBound,proto3" json:"value_frequency_lower_bound,omitempty"` 12844 // Upper bound on the value frequency of the values in this bucket. 12845 ValueFrequencyUpperBound int64 `protobuf:"varint,2,opt,name=value_frequency_upper_bound,json=valueFrequencyUpperBound,proto3" json:"value_frequency_upper_bound,omitempty"` 12846 // Total number of values in this bucket. 12847 BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"` 12848 // Sample of value frequencies in this bucket. The total number of 12849 // values returned per bucket is capped at 20. 12850 BucketValues []*ValueFrequency `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"` 12851 // Total number of distinct values in this bucket. 12852 BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"` 12853} 12854 12855func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Reset() { 12856 *x = AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket{} 12857 if protoimpl.UnsafeEnabled { 12858 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[148] 12859 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12860 ms.StoreMessageInfo(mi) 12861 } 12862} 12863 12864func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) String() string { 12865 return protoimpl.X.MessageStringOf(x) 12866} 12867 12868func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) ProtoMessage() { 12869} 12870 12871func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) ProtoReflect() protoreflect.Message { 12872 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[148] 12873 if protoimpl.UnsafeEnabled && x != nil { 12874 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12875 if ms.LoadMessageInfo() == nil { 12876 ms.StoreMessageInfo(mi) 12877 } 12878 return ms 12879 } 12880 return mi.MessageOf(x) 12881} 12882 12883// Deprecated: Use AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.ProtoReflect.Descriptor instead. 12884func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Descriptor() ([]byte, []int) { 12885 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 1, 0} 12886} 12887 12888func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetValueFrequencyLowerBound() int64 { 12889 if x != nil { 12890 return x.ValueFrequencyLowerBound 12891 } 12892 return 0 12893} 12894 12895func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetValueFrequencyUpperBound() int64 { 12896 if x != nil { 12897 return x.ValueFrequencyUpperBound 12898 } 12899 return 0 12900} 12901 12902func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketSize() int64 { 12903 if x != nil { 12904 return x.BucketSize 12905 } 12906 return 0 12907} 12908 12909func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketValues() []*ValueFrequency { 12910 if x != nil { 12911 return x.BucketValues 12912 } 12913 return nil 12914} 12915 12916func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketValueCount() int64 { 12917 if x != nil { 12918 return x.BucketValueCount 12919 } 12920 return 0 12921} 12922 12923// The set of columns' values that share the same ldiversity value 12924type AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass struct { 12925 state protoimpl.MessageState 12926 sizeCache protoimpl.SizeCache 12927 unknownFields protoimpl.UnknownFields 12928 12929 // Set of values defining the equivalence class. One value per 12930 // quasi-identifier column in the original KAnonymity metric message. 12931 // The order is always the same as the original request. 12932 QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"` 12933 // Size of the equivalence class, for example number of rows with the 12934 // above set of values. 12935 EquivalenceClassSize int64 `protobuf:"varint,2,opt,name=equivalence_class_size,json=equivalenceClassSize,proto3" json:"equivalence_class_size,omitempty"` 12936} 12937 12938func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Reset() { 12939 *x = AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass{} 12940 if protoimpl.UnsafeEnabled { 12941 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[149] 12942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12943 ms.StoreMessageInfo(mi) 12944 } 12945} 12946 12947func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) String() string { 12948 return protoimpl.X.MessageStringOf(x) 12949} 12950 12951func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) ProtoMessage() {} 12952 12953func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) ProtoReflect() protoreflect.Message { 12954 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[149] 12955 if protoimpl.UnsafeEnabled && x != nil { 12956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12957 if ms.LoadMessageInfo() == nil { 12958 ms.StoreMessageInfo(mi) 12959 } 12960 return ms 12961 } 12962 return mi.MessageOf(x) 12963} 12964 12965// Deprecated: Use AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.ProtoReflect.Descriptor instead. 12966func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Descriptor() ([]byte, []int) { 12967 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 2, 0} 12968} 12969 12970func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) GetQuasiIdsValues() []*Value { 12971 if x != nil { 12972 return x.QuasiIdsValues 12973 } 12974 return nil 12975} 12976 12977func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) GetEquivalenceClassSize() int64 { 12978 if x != nil { 12979 return x.EquivalenceClassSize 12980 } 12981 return 0 12982} 12983 12984// Histogram of k-anonymity equivalence classes. 12985type AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket struct { 12986 state protoimpl.MessageState 12987 sizeCache protoimpl.SizeCache 12988 unknownFields protoimpl.UnknownFields 12989 12990 // Lower bound on the size of the equivalence classes in this bucket. 12991 EquivalenceClassSizeLowerBound int64 `protobuf:"varint,1,opt,name=equivalence_class_size_lower_bound,json=equivalenceClassSizeLowerBound,proto3" json:"equivalence_class_size_lower_bound,omitempty"` 12992 // Upper bound on the size of the equivalence classes in this bucket. 12993 EquivalenceClassSizeUpperBound int64 `protobuf:"varint,2,opt,name=equivalence_class_size_upper_bound,json=equivalenceClassSizeUpperBound,proto3" json:"equivalence_class_size_upper_bound,omitempty"` 12994 // Total number of equivalence classes in this bucket. 12995 BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"` 12996 // Sample of equivalence classes in this bucket. The total number of 12997 // classes returned per bucket is capped at 20. 12998 BucketValues []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"` 12999 // Total number of distinct equivalence classes in this bucket. 13000 BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"` 13001} 13002 13003func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Reset() { 13004 *x = AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket{} 13005 if protoimpl.UnsafeEnabled { 13006 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[150] 13007 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13008 ms.StoreMessageInfo(mi) 13009 } 13010} 13011 13012func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) String() string { 13013 return protoimpl.X.MessageStringOf(x) 13014} 13015 13016func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) ProtoMessage() {} 13017 13018func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) ProtoReflect() protoreflect.Message { 13019 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[150] 13020 if protoimpl.UnsafeEnabled && x != nil { 13021 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13022 if ms.LoadMessageInfo() == nil { 13023 ms.StoreMessageInfo(mi) 13024 } 13025 return ms 13026 } 13027 return mi.MessageOf(x) 13028} 13029 13030// Deprecated: Use AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.ProtoReflect.Descriptor instead. 13031func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Descriptor() ([]byte, []int) { 13032 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 2, 1} 13033} 13034 13035func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetEquivalenceClassSizeLowerBound() int64 { 13036 if x != nil { 13037 return x.EquivalenceClassSizeLowerBound 13038 } 13039 return 0 13040} 13041 13042func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetEquivalenceClassSizeUpperBound() int64 { 13043 if x != nil { 13044 return x.EquivalenceClassSizeUpperBound 13045 } 13046 return 0 13047} 13048 13049func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketSize() int64 { 13050 if x != nil { 13051 return x.BucketSize 13052 } 13053 return 0 13054} 13055 13056func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass { 13057 if x != nil { 13058 return x.BucketValues 13059 } 13060 return nil 13061} 13062 13063func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketValueCount() int64 { 13064 if x != nil { 13065 return x.BucketValueCount 13066 } 13067 return 0 13068} 13069 13070// The set of columns' values that share the same ldiversity value. 13071type AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass struct { 13072 state protoimpl.MessageState 13073 sizeCache protoimpl.SizeCache 13074 unknownFields protoimpl.UnknownFields 13075 13076 // Quasi-identifier values defining the k-anonymity equivalence 13077 // class. The order is always the same as the original request. 13078 QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"` 13079 // Size of the k-anonymity equivalence class. 13080 EquivalenceClassSize int64 `protobuf:"varint,2,opt,name=equivalence_class_size,json=equivalenceClassSize,proto3" json:"equivalence_class_size,omitempty"` 13081 // Number of distinct sensitive values in this equivalence class. 13082 NumDistinctSensitiveValues int64 `protobuf:"varint,3,opt,name=num_distinct_sensitive_values,json=numDistinctSensitiveValues,proto3" json:"num_distinct_sensitive_values,omitempty"` 13083 // Estimated frequencies of top sensitive values. 13084 TopSensitiveValues []*ValueFrequency `protobuf:"bytes,4,rep,name=top_sensitive_values,json=topSensitiveValues,proto3" json:"top_sensitive_values,omitempty"` 13085} 13086 13087func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Reset() { 13088 *x = AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass{} 13089 if protoimpl.UnsafeEnabled { 13090 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[151] 13091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13092 ms.StoreMessageInfo(mi) 13093 } 13094} 13095 13096func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) String() string { 13097 return protoimpl.X.MessageStringOf(x) 13098} 13099 13100func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) ProtoMessage() {} 13101 13102func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) ProtoReflect() protoreflect.Message { 13103 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[151] 13104 if protoimpl.UnsafeEnabled && x != nil { 13105 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13106 if ms.LoadMessageInfo() == nil { 13107 ms.StoreMessageInfo(mi) 13108 } 13109 return ms 13110 } 13111 return mi.MessageOf(x) 13112} 13113 13114// Deprecated: Use AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.ProtoReflect.Descriptor instead. 13115func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Descriptor() ([]byte, []int) { 13116 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 3, 0} 13117} 13118 13119func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetQuasiIdsValues() []*Value { 13120 if x != nil { 13121 return x.QuasiIdsValues 13122 } 13123 return nil 13124} 13125 13126func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetEquivalenceClassSize() int64 { 13127 if x != nil { 13128 return x.EquivalenceClassSize 13129 } 13130 return 0 13131} 13132 13133func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetNumDistinctSensitiveValues() int64 { 13134 if x != nil { 13135 return x.NumDistinctSensitiveValues 13136 } 13137 return 0 13138} 13139 13140func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetTopSensitiveValues() []*ValueFrequency { 13141 if x != nil { 13142 return x.TopSensitiveValues 13143 } 13144 return nil 13145} 13146 13147// Histogram of l-diversity equivalence class sensitive value frequencies. 13148type AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket struct { 13149 state protoimpl.MessageState 13150 sizeCache protoimpl.SizeCache 13151 unknownFields protoimpl.UnknownFields 13152 13153 // Lower bound on the sensitive value frequencies of the equivalence 13154 // classes in this bucket. 13155 SensitiveValueFrequencyLowerBound int64 `protobuf:"varint,1,opt,name=sensitive_value_frequency_lower_bound,json=sensitiveValueFrequencyLowerBound,proto3" json:"sensitive_value_frequency_lower_bound,omitempty"` 13156 // Upper bound on the sensitive value frequencies of the equivalence 13157 // classes in this bucket. 13158 SensitiveValueFrequencyUpperBound int64 `protobuf:"varint,2,opt,name=sensitive_value_frequency_upper_bound,json=sensitiveValueFrequencyUpperBound,proto3" json:"sensitive_value_frequency_upper_bound,omitempty"` 13159 // Total number of equivalence classes in this bucket. 13160 BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"` 13161 // Sample of equivalence classes in this bucket. The total number of 13162 // classes returned per bucket is capped at 20. 13163 BucketValues []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"` 13164 // Total number of distinct equivalence classes in this bucket. 13165 BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"` 13166} 13167 13168func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Reset() { 13169 *x = AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket{} 13170 if protoimpl.UnsafeEnabled { 13171 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[152] 13172 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13173 ms.StoreMessageInfo(mi) 13174 } 13175} 13176 13177func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) String() string { 13178 return protoimpl.X.MessageStringOf(x) 13179} 13180 13181func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) ProtoMessage() {} 13182 13183func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) ProtoReflect() protoreflect.Message { 13184 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[152] 13185 if protoimpl.UnsafeEnabled && x != nil { 13186 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13187 if ms.LoadMessageInfo() == nil { 13188 ms.StoreMessageInfo(mi) 13189 } 13190 return ms 13191 } 13192 return mi.MessageOf(x) 13193} 13194 13195// Deprecated: Use AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.ProtoReflect.Descriptor instead. 13196func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Descriptor() ([]byte, []int) { 13197 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 3, 1} 13198} 13199 13200func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetSensitiveValueFrequencyLowerBound() int64 { 13201 if x != nil { 13202 return x.SensitiveValueFrequencyLowerBound 13203 } 13204 return 0 13205} 13206 13207func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetSensitiveValueFrequencyUpperBound() int64 { 13208 if x != nil { 13209 return x.SensitiveValueFrequencyUpperBound 13210 } 13211 return 0 13212} 13213 13214func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketSize() int64 { 13215 if x != nil { 13216 return x.BucketSize 13217 } 13218 return 0 13219} 13220 13221func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass { 13222 if x != nil { 13223 return x.BucketValues 13224 } 13225 return nil 13226} 13227 13228func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketValueCount() int64 { 13229 if x != nil { 13230 return x.BucketValueCount 13231 } 13232 return 0 13233} 13234 13235// A tuple of values for the quasi-identifier columns. 13236type AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues struct { 13237 state protoimpl.MessageState 13238 sizeCache protoimpl.SizeCache 13239 unknownFields protoimpl.UnknownFields 13240 13241 // The quasi-identifier values. 13242 QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"` 13243 // The estimated anonymity for these quasi-identifier values. 13244 EstimatedAnonymity int64 `protobuf:"varint,2,opt,name=estimated_anonymity,json=estimatedAnonymity,proto3" json:"estimated_anonymity,omitempty"` 13245} 13246 13247func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Reset() { 13248 *x = AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues{} 13249 if protoimpl.UnsafeEnabled { 13250 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[153] 13251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13252 ms.StoreMessageInfo(mi) 13253 } 13254} 13255 13256func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) String() string { 13257 return protoimpl.X.MessageStringOf(x) 13258} 13259 13260func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) ProtoMessage() { 13261} 13262 13263func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) ProtoReflect() protoreflect.Message { 13264 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[153] 13265 if protoimpl.UnsafeEnabled && x != nil { 13266 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13267 if ms.LoadMessageInfo() == nil { 13268 ms.StoreMessageInfo(mi) 13269 } 13270 return ms 13271 } 13272 return mi.MessageOf(x) 13273} 13274 13275// Deprecated: Use AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.ProtoReflect.Descriptor instead. 13276func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Descriptor() ([]byte, []int) { 13277 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 4, 0} 13278} 13279 13280func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) GetQuasiIdsValues() []*Value { 13281 if x != nil { 13282 return x.QuasiIdsValues 13283 } 13284 return nil 13285} 13286 13287func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) GetEstimatedAnonymity() int64 { 13288 if x != nil { 13289 return x.EstimatedAnonymity 13290 } 13291 return 0 13292} 13293 13294// A KMapEstimationHistogramBucket message with the following values: 13295// min_anonymity: 3 13296// max_anonymity: 5 13297// frequency: 42 13298// means that there are 42 records whose quasi-identifier values correspond 13299// to 3, 4 or 5 people in the overlying population. An important particular 13300// case is when min_anonymity = max_anonymity = 1: the frequency field then 13301// corresponds to the number of uniquely identifiable records. 13302type AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket struct { 13303 state protoimpl.MessageState 13304 sizeCache protoimpl.SizeCache 13305 unknownFields protoimpl.UnknownFields 13306 13307 // Always positive. 13308 MinAnonymity int64 `protobuf:"varint,1,opt,name=min_anonymity,json=minAnonymity,proto3" json:"min_anonymity,omitempty"` 13309 // Always greater than or equal to min_anonymity. 13310 MaxAnonymity int64 `protobuf:"varint,2,opt,name=max_anonymity,json=maxAnonymity,proto3" json:"max_anonymity,omitempty"` 13311 // Number of records within these anonymity bounds. 13312 BucketSize int64 `protobuf:"varint,5,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"` 13313 // Sample of quasi-identifier tuple values in this bucket. The total 13314 // number of classes returned per bucket is capped at 20. 13315 BucketValues []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues `protobuf:"bytes,6,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"` 13316 // Total number of distinct quasi-identifier tuple values in this bucket. 13317 BucketValueCount int64 `protobuf:"varint,7,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"` 13318} 13319 13320func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Reset() { 13321 *x = AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket{} 13322 if protoimpl.UnsafeEnabled { 13323 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[154] 13324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13325 ms.StoreMessageInfo(mi) 13326 } 13327} 13328 13329func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) String() string { 13330 return protoimpl.X.MessageStringOf(x) 13331} 13332 13333func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) ProtoMessage() { 13334} 13335 13336func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) ProtoReflect() protoreflect.Message { 13337 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[154] 13338 if protoimpl.UnsafeEnabled && x != nil { 13339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13340 if ms.LoadMessageInfo() == nil { 13341 ms.StoreMessageInfo(mi) 13342 } 13343 return ms 13344 } 13345 return mi.MessageOf(x) 13346} 13347 13348// Deprecated: Use AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.ProtoReflect.Descriptor instead. 13349func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Descriptor() ([]byte, []int) { 13350 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 4, 1} 13351} 13352 13353func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetMinAnonymity() int64 { 13354 if x != nil { 13355 return x.MinAnonymity 13356 } 13357 return 0 13358} 13359 13360func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetMaxAnonymity() int64 { 13361 if x != nil { 13362 return x.MaxAnonymity 13363 } 13364 return 0 13365} 13366 13367func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketSize() int64 { 13368 if x != nil { 13369 return x.BucketSize 13370 } 13371 return 0 13372} 13373 13374func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues { 13375 if x != nil { 13376 return x.BucketValues 13377 } 13378 return nil 13379} 13380 13381func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketValueCount() int64 { 13382 if x != nil { 13383 return x.BucketValueCount 13384 } 13385 return 0 13386} 13387 13388// A tuple of values for the quasi-identifier columns. 13389type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues struct { 13390 state protoimpl.MessageState 13391 sizeCache protoimpl.SizeCache 13392 unknownFields protoimpl.UnknownFields 13393 13394 // The quasi-identifier values. 13395 QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"` 13396 // The estimated probability that a given individual sharing these 13397 // quasi-identifier values is in the dataset. This value, typically called 13398 // δ, is the ratio between the number of records in the dataset with these 13399 // quasi-identifier values, and the total number of individuals (inside 13400 // *and* outside the dataset) with these quasi-identifier values. 13401 // For example, if there are 15 individuals in the dataset who share the 13402 // same quasi-identifier values, and an estimated 100 people in the entire 13403 // population with these values, then δ is 0.15. 13404 EstimatedProbability float64 `protobuf:"fixed64,2,opt,name=estimated_probability,json=estimatedProbability,proto3" json:"estimated_probability,omitempty"` 13405} 13406 13407func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Reset() { 13408 *x = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues{} 13409 if protoimpl.UnsafeEnabled { 13410 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[155] 13411 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13412 ms.StoreMessageInfo(mi) 13413 } 13414} 13415 13416func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) String() string { 13417 return protoimpl.X.MessageStringOf(x) 13418} 13419 13420func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) ProtoMessage() { 13421} 13422 13423func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) ProtoReflect() protoreflect.Message { 13424 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[155] 13425 if protoimpl.UnsafeEnabled && x != nil { 13426 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13427 if ms.LoadMessageInfo() == nil { 13428 ms.StoreMessageInfo(mi) 13429 } 13430 return ms 13431 } 13432 return mi.MessageOf(x) 13433} 13434 13435// Deprecated: Use AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.ProtoReflect.Descriptor instead. 13436func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Descriptor() ([]byte, []int) { 13437 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 5, 0} 13438} 13439 13440func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) GetQuasiIdsValues() []*Value { 13441 if x != nil { 13442 return x.QuasiIdsValues 13443 } 13444 return nil 13445} 13446 13447func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) GetEstimatedProbability() float64 { 13448 if x != nil { 13449 return x.EstimatedProbability 13450 } 13451 return 0 13452} 13453 13454// A DeltaPresenceEstimationHistogramBucket message with the following 13455// values: 13456// min_probability: 0.1 13457// max_probability: 0.2 13458// frequency: 42 13459// means that there are 42 records for which δ is in [0.1, 0.2). An 13460// important particular case is when min_probability = max_probability = 1: 13461// then, every individual who shares this quasi-identifier combination is in 13462// the dataset. 13463type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket struct { 13464 state protoimpl.MessageState 13465 sizeCache protoimpl.SizeCache 13466 unknownFields protoimpl.UnknownFields 13467 13468 // Between 0 and 1. 13469 MinProbability float64 `protobuf:"fixed64,1,opt,name=min_probability,json=minProbability,proto3" json:"min_probability,omitempty"` 13470 // Always greater than or equal to min_probability. 13471 MaxProbability float64 `protobuf:"fixed64,2,opt,name=max_probability,json=maxProbability,proto3" json:"max_probability,omitempty"` 13472 // Number of records within these probability bounds. 13473 BucketSize int64 `protobuf:"varint,5,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"` 13474 // Sample of quasi-identifier tuple values in this bucket. The total 13475 // number of classes returned per bucket is capped at 20. 13476 BucketValues []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues `protobuf:"bytes,6,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"` 13477 // Total number of distinct quasi-identifier tuple values in this bucket. 13478 BucketValueCount int64 `protobuf:"varint,7,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"` 13479} 13480 13481func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Reset() { 13482 *x = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket{} 13483 if protoimpl.UnsafeEnabled { 13484 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[156] 13485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13486 ms.StoreMessageInfo(mi) 13487 } 13488} 13489 13490func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) String() string { 13491 return protoimpl.X.MessageStringOf(x) 13492} 13493 13494func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) ProtoMessage() { 13495} 13496 13497func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) ProtoReflect() protoreflect.Message { 13498 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[156] 13499 if protoimpl.UnsafeEnabled && x != nil { 13500 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13501 if ms.LoadMessageInfo() == nil { 13502 ms.StoreMessageInfo(mi) 13503 } 13504 return ms 13505 } 13506 return mi.MessageOf(x) 13507} 13508 13509// Deprecated: Use AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.ProtoReflect.Descriptor instead. 13510func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Descriptor() ([]byte, []int) { 13511 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 5, 1} 13512} 13513 13514func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetMinProbability() float64 { 13515 if x != nil { 13516 return x.MinProbability 13517 } 13518 return 0 13519} 13520 13521func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetMaxProbability() float64 { 13522 if x != nil { 13523 return x.MaxProbability 13524 } 13525 return 0 13526} 13527 13528func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketSize() int64 { 13529 if x != nil { 13530 return x.BucketSize 13531 } 13532 return 0 13533} 13534 13535func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues { 13536 if x != nil { 13537 return x.BucketValues 13538 } 13539 return nil 13540} 13541 13542func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketValueCount() int64 { 13543 if x != nil { 13544 return x.BucketValueCount 13545 } 13546 return 0 13547} 13548 13549// Time zone of the date time object. 13550type DateTime_TimeZone struct { 13551 state protoimpl.MessageState 13552 sizeCache protoimpl.SizeCache 13553 unknownFields protoimpl.UnknownFields 13554 13555 // Set only if the offset can be determined. Positive for time ahead of UTC. 13556 // E.g. For "UTC-9", this value is -540. 13557 OffsetMinutes int32 `protobuf:"varint,1,opt,name=offset_minutes,json=offsetMinutes,proto3" json:"offset_minutes,omitempty"` 13558} 13559 13560func (x *DateTime_TimeZone) Reset() { 13561 *x = DateTime_TimeZone{} 13562 if protoimpl.UnsafeEnabled { 13563 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[157] 13564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13565 ms.StoreMessageInfo(mi) 13566 } 13567} 13568 13569func (x *DateTime_TimeZone) String() string { 13570 return protoimpl.X.MessageStringOf(x) 13571} 13572 13573func (*DateTime_TimeZone) ProtoMessage() {} 13574 13575func (x *DateTime_TimeZone) ProtoReflect() protoreflect.Message { 13576 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[157] 13577 if protoimpl.UnsafeEnabled && x != nil { 13578 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13579 if ms.LoadMessageInfo() == nil { 13580 ms.StoreMessageInfo(mi) 13581 } 13582 return ms 13583 } 13584 return mi.MessageOf(x) 13585} 13586 13587// Deprecated: Use DateTime_TimeZone.ProtoReflect.Descriptor instead. 13588func (*DateTime_TimeZone) Descriptor() ([]byte, []int) { 13589 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{45, 0} 13590} 13591 13592func (x *DateTime_TimeZone) GetOffsetMinutes() int32 { 13593 if x != nil { 13594 return x.OffsetMinutes 13595 } 13596 return 0 13597} 13598 13599// Throw an error and fail the request when a transformation error occurs. 13600type TransformationErrorHandling_ThrowError struct { 13601 state protoimpl.MessageState 13602 sizeCache protoimpl.SizeCache 13603 unknownFields protoimpl.UnknownFields 13604} 13605 13606func (x *TransformationErrorHandling_ThrowError) Reset() { 13607 *x = TransformationErrorHandling_ThrowError{} 13608 if protoimpl.UnsafeEnabled { 13609 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[158] 13610 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13611 ms.StoreMessageInfo(mi) 13612 } 13613} 13614 13615func (x *TransformationErrorHandling_ThrowError) String() string { 13616 return protoimpl.X.MessageStringOf(x) 13617} 13618 13619func (*TransformationErrorHandling_ThrowError) ProtoMessage() {} 13620 13621func (x *TransformationErrorHandling_ThrowError) ProtoReflect() protoreflect.Message { 13622 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[158] 13623 if protoimpl.UnsafeEnabled && x != nil { 13624 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13625 if ms.LoadMessageInfo() == nil { 13626 ms.StoreMessageInfo(mi) 13627 } 13628 return ms 13629 } 13630 return mi.MessageOf(x) 13631} 13632 13633// Deprecated: Use TransformationErrorHandling_ThrowError.ProtoReflect.Descriptor instead. 13634func (*TransformationErrorHandling_ThrowError) Descriptor() ([]byte, []int) { 13635 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{47, 0} 13636} 13637 13638// Skips the data without modifying it if the requested transformation would 13639// cause an error. For example, if a `DateShift` transformation were applied 13640// an an IP address, this mode would leave the IP address unchanged in the 13641// response. 13642type TransformationErrorHandling_LeaveUntransformed struct { 13643 state protoimpl.MessageState 13644 sizeCache protoimpl.SizeCache 13645 unknownFields protoimpl.UnknownFields 13646} 13647 13648func (x *TransformationErrorHandling_LeaveUntransformed) Reset() { 13649 *x = TransformationErrorHandling_LeaveUntransformed{} 13650 if protoimpl.UnsafeEnabled { 13651 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[159] 13652 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13653 ms.StoreMessageInfo(mi) 13654 } 13655} 13656 13657func (x *TransformationErrorHandling_LeaveUntransformed) String() string { 13658 return protoimpl.X.MessageStringOf(x) 13659} 13660 13661func (*TransformationErrorHandling_LeaveUntransformed) ProtoMessage() {} 13662 13663func (x *TransformationErrorHandling_LeaveUntransformed) ProtoReflect() protoreflect.Message { 13664 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[159] 13665 if protoimpl.UnsafeEnabled && x != nil { 13666 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13667 if ms.LoadMessageInfo() == nil { 13668 ms.StoreMessageInfo(mi) 13669 } 13670 return ms 13671 } 13672 return mi.MessageOf(x) 13673} 13674 13675// Deprecated: Use TransformationErrorHandling_LeaveUntransformed.ProtoReflect.Descriptor instead. 13676func (*TransformationErrorHandling_LeaveUntransformed) Descriptor() ([]byte, []int) { 13677 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{47, 1} 13678} 13679 13680// Bucket is represented as a range, along with replacement values. 13681type BucketingConfig_Bucket struct { 13682 state protoimpl.MessageState 13683 sizeCache protoimpl.SizeCache 13684 unknownFields protoimpl.UnknownFields 13685 13686 // Lower bound of the range, inclusive. Type should be the same as max if 13687 // used. 13688 Min *Value `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"` 13689 // Upper bound of the range, exclusive; type must match min. 13690 Max *Value `protobuf:"bytes,2,opt,name=max,proto3" json:"max,omitempty"` 13691 // Required. Replacement value for this bucket. 13692 ReplacementValue *Value `protobuf:"bytes,3,opt,name=replacement_value,json=replacementValue,proto3" json:"replacement_value,omitempty"` 13693} 13694 13695func (x *BucketingConfig_Bucket) Reset() { 13696 *x = BucketingConfig_Bucket{} 13697 if protoimpl.UnsafeEnabled { 13698 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[160] 13699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13700 ms.StoreMessageInfo(mi) 13701 } 13702} 13703 13704func (x *BucketingConfig_Bucket) String() string { 13705 return protoimpl.X.MessageStringOf(x) 13706} 13707 13708func (*BucketingConfig_Bucket) ProtoMessage() {} 13709 13710func (x *BucketingConfig_Bucket) ProtoReflect() protoreflect.Message { 13711 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[160] 13712 if protoimpl.UnsafeEnabled && x != nil { 13713 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13714 if ms.LoadMessageInfo() == nil { 13715 ms.StoreMessageInfo(mi) 13716 } 13717 return ms 13718 } 13719 return mi.MessageOf(x) 13720} 13721 13722// Deprecated: Use BucketingConfig_Bucket.ProtoReflect.Descriptor instead. 13723func (*BucketingConfig_Bucket) Descriptor() ([]byte, []int) { 13724 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{58, 0} 13725} 13726 13727func (x *BucketingConfig_Bucket) GetMin() *Value { 13728 if x != nil { 13729 return x.Min 13730 } 13731 return nil 13732} 13733 13734func (x *BucketingConfig_Bucket) GetMax() *Value { 13735 if x != nil { 13736 return x.Max 13737 } 13738 return nil 13739} 13740 13741func (x *BucketingConfig_Bucket) GetReplacementValue() *Value { 13742 if x != nil { 13743 return x.ReplacementValue 13744 } 13745 return nil 13746} 13747 13748// A transformation to apply to text that is identified as a specific 13749// info_type. 13750type InfoTypeTransformations_InfoTypeTransformation struct { 13751 state protoimpl.MessageState 13752 sizeCache protoimpl.SizeCache 13753 unknownFields protoimpl.UnknownFields 13754 13755 // InfoTypes to apply the transformation to. An empty list will cause 13756 // this transformation to apply to all findings that correspond to 13757 // infoTypes that were requested in `InspectConfig`. 13758 InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"` 13759 // Required. Primitive transformation to apply to the infoType. 13760 PrimitiveTransformation *PrimitiveTransformation `protobuf:"bytes,2,opt,name=primitive_transformation,json=primitiveTransformation,proto3" json:"primitive_transformation,omitempty"` 13761} 13762 13763func (x *InfoTypeTransformations_InfoTypeTransformation) Reset() { 13764 *x = InfoTypeTransformations_InfoTypeTransformation{} 13765 if protoimpl.UnsafeEnabled { 13766 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[161] 13767 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13768 ms.StoreMessageInfo(mi) 13769 } 13770} 13771 13772func (x *InfoTypeTransformations_InfoTypeTransformation) String() string { 13773 return protoimpl.X.MessageStringOf(x) 13774} 13775 13776func (*InfoTypeTransformations_InfoTypeTransformation) ProtoMessage() {} 13777 13778func (x *InfoTypeTransformations_InfoTypeTransformation) ProtoReflect() protoreflect.Message { 13779 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[161] 13780 if protoimpl.UnsafeEnabled && x != nil { 13781 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13782 if ms.LoadMessageInfo() == nil { 13783 ms.StoreMessageInfo(mi) 13784 } 13785 return ms 13786 } 13787 return mi.MessageOf(x) 13788} 13789 13790// Deprecated: Use InfoTypeTransformations_InfoTypeTransformation.ProtoReflect.Descriptor instead. 13791func (*InfoTypeTransformations_InfoTypeTransformation) Descriptor() ([]byte, []int) { 13792 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{65, 0} 13793} 13794 13795func (x *InfoTypeTransformations_InfoTypeTransformation) GetInfoTypes() []*InfoType { 13796 if x != nil { 13797 return x.InfoTypes 13798 } 13799 return nil 13800} 13801 13802func (x *InfoTypeTransformations_InfoTypeTransformation) GetPrimitiveTransformation() *PrimitiveTransformation { 13803 if x != nil { 13804 return x.PrimitiveTransformation 13805 } 13806 return nil 13807} 13808 13809// The field type of `value` and `field` do not need to match to be 13810// considered equal, but not all comparisons are possible. 13811// EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, 13812// but all other comparisons are invalid with incompatible types. 13813// A `value` of type: 13814// 13815// - `string` can be compared against all other types 13816// - `boolean` can only be compared against other booleans 13817// - `integer` can be compared against doubles or a string if the string value 13818// can be parsed as an integer. 13819// - `double` can be compared against integers or a string if the string can 13820// be parsed as a double. 13821// - `Timestamp` can be compared against strings in RFC 3339 date string 13822// format. 13823// - `TimeOfDay` can be compared against timestamps and strings in the format 13824// of 'HH:mm:ss'. 13825// 13826// If we fail to compare do to type mismatch, a warning will be given and 13827// the condition will evaluate to false. 13828type RecordCondition_Condition struct { 13829 state protoimpl.MessageState 13830 sizeCache protoimpl.SizeCache 13831 unknownFields protoimpl.UnknownFields 13832 13833 // Required. Field within the record this condition is evaluated against. 13834 Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 13835 // Required. Operator used to compare the field or infoType to the value. 13836 Operator RelationalOperator `protobuf:"varint,3,opt,name=operator,proto3,enum=google.privacy.dlp.v2.RelationalOperator" json:"operator,omitempty"` 13837 // Value to compare against. [Mandatory, except for `EXISTS` tests.] 13838 Value *Value `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` 13839} 13840 13841func (x *RecordCondition_Condition) Reset() { 13842 *x = RecordCondition_Condition{} 13843 if protoimpl.UnsafeEnabled { 13844 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[162] 13845 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13846 ms.StoreMessageInfo(mi) 13847 } 13848} 13849 13850func (x *RecordCondition_Condition) String() string { 13851 return protoimpl.X.MessageStringOf(x) 13852} 13853 13854func (*RecordCondition_Condition) ProtoMessage() {} 13855 13856func (x *RecordCondition_Condition) ProtoReflect() protoreflect.Message { 13857 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[162] 13858 if protoimpl.UnsafeEnabled && x != nil { 13859 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13860 if ms.LoadMessageInfo() == nil { 13861 ms.StoreMessageInfo(mi) 13862 } 13863 return ms 13864 } 13865 return mi.MessageOf(x) 13866} 13867 13868// Deprecated: Use RecordCondition_Condition.ProtoReflect.Descriptor instead. 13869func (*RecordCondition_Condition) Descriptor() ([]byte, []int) { 13870 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69, 0} 13871} 13872 13873func (x *RecordCondition_Condition) GetField() *FieldId { 13874 if x != nil { 13875 return x.Field 13876 } 13877 return nil 13878} 13879 13880func (x *RecordCondition_Condition) GetOperator() RelationalOperator { 13881 if x != nil { 13882 return x.Operator 13883 } 13884 return RelationalOperator_RELATIONAL_OPERATOR_UNSPECIFIED 13885} 13886 13887func (x *RecordCondition_Condition) GetValue() *Value { 13888 if x != nil { 13889 return x.Value 13890 } 13891 return nil 13892} 13893 13894// A collection of conditions. 13895type RecordCondition_Conditions struct { 13896 state protoimpl.MessageState 13897 sizeCache protoimpl.SizeCache 13898 unknownFields protoimpl.UnknownFields 13899 13900 // A collection of conditions. 13901 Conditions []*RecordCondition_Condition `protobuf:"bytes,1,rep,name=conditions,proto3" json:"conditions,omitempty"` 13902} 13903 13904func (x *RecordCondition_Conditions) Reset() { 13905 *x = RecordCondition_Conditions{} 13906 if protoimpl.UnsafeEnabled { 13907 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[163] 13908 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13909 ms.StoreMessageInfo(mi) 13910 } 13911} 13912 13913func (x *RecordCondition_Conditions) String() string { 13914 return protoimpl.X.MessageStringOf(x) 13915} 13916 13917func (*RecordCondition_Conditions) ProtoMessage() {} 13918 13919func (x *RecordCondition_Conditions) ProtoReflect() protoreflect.Message { 13920 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[163] 13921 if protoimpl.UnsafeEnabled && x != nil { 13922 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13923 if ms.LoadMessageInfo() == nil { 13924 ms.StoreMessageInfo(mi) 13925 } 13926 return ms 13927 } 13928 return mi.MessageOf(x) 13929} 13930 13931// Deprecated: Use RecordCondition_Conditions.ProtoReflect.Descriptor instead. 13932func (*RecordCondition_Conditions) Descriptor() ([]byte, []int) { 13933 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69, 1} 13934} 13935 13936func (x *RecordCondition_Conditions) GetConditions() []*RecordCondition_Condition { 13937 if x != nil { 13938 return x.Conditions 13939 } 13940 return nil 13941} 13942 13943// An expression, consisting or an operator and conditions. 13944type RecordCondition_Expressions struct { 13945 state protoimpl.MessageState 13946 sizeCache protoimpl.SizeCache 13947 unknownFields protoimpl.UnknownFields 13948 13949 // The operator to apply to the result of conditions. Default and currently 13950 // only supported value is `AND`. 13951 LogicalOperator RecordCondition_Expressions_LogicalOperator `protobuf:"varint,1,opt,name=logical_operator,json=logicalOperator,proto3,enum=google.privacy.dlp.v2.RecordCondition_Expressions_LogicalOperator" json:"logical_operator,omitempty"` 13952 // Expression types. 13953 // 13954 // Types that are assignable to Type: 13955 // *RecordCondition_Expressions_Conditions 13956 Type isRecordCondition_Expressions_Type `protobuf_oneof:"type"` 13957} 13958 13959func (x *RecordCondition_Expressions) Reset() { 13960 *x = RecordCondition_Expressions{} 13961 if protoimpl.UnsafeEnabled { 13962 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[164] 13963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13964 ms.StoreMessageInfo(mi) 13965 } 13966} 13967 13968func (x *RecordCondition_Expressions) String() string { 13969 return protoimpl.X.MessageStringOf(x) 13970} 13971 13972func (*RecordCondition_Expressions) ProtoMessage() {} 13973 13974func (x *RecordCondition_Expressions) ProtoReflect() protoreflect.Message { 13975 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[164] 13976 if protoimpl.UnsafeEnabled && x != nil { 13977 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13978 if ms.LoadMessageInfo() == nil { 13979 ms.StoreMessageInfo(mi) 13980 } 13981 return ms 13982 } 13983 return mi.MessageOf(x) 13984} 13985 13986// Deprecated: Use RecordCondition_Expressions.ProtoReflect.Descriptor instead. 13987func (*RecordCondition_Expressions) Descriptor() ([]byte, []int) { 13988 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69, 2} 13989} 13990 13991func (x *RecordCondition_Expressions) GetLogicalOperator() RecordCondition_Expressions_LogicalOperator { 13992 if x != nil { 13993 return x.LogicalOperator 13994 } 13995 return RecordCondition_Expressions_LOGICAL_OPERATOR_UNSPECIFIED 13996} 13997 13998func (m *RecordCondition_Expressions) GetType() isRecordCondition_Expressions_Type { 13999 if m != nil { 14000 return m.Type 14001 } 14002 return nil 14003} 14004 14005func (x *RecordCondition_Expressions) GetConditions() *RecordCondition_Conditions { 14006 if x, ok := x.GetType().(*RecordCondition_Expressions_Conditions); ok { 14007 return x.Conditions 14008 } 14009 return nil 14010} 14011 14012type isRecordCondition_Expressions_Type interface { 14013 isRecordCondition_Expressions_Type() 14014} 14015 14016type RecordCondition_Expressions_Conditions struct { 14017 // Conditions to apply to the expression. 14018 Conditions *RecordCondition_Conditions `protobuf:"bytes,3,opt,name=conditions,proto3,oneof"` 14019} 14020 14021func (*RecordCondition_Expressions_Conditions) isRecordCondition_Expressions_Type() {} 14022 14023// A collection that informs the user the number of times a particular 14024// `TransformationResultCode` and error details occurred. 14025type TransformationSummary_SummaryResult struct { 14026 state protoimpl.MessageState 14027 sizeCache protoimpl.SizeCache 14028 unknownFields protoimpl.UnknownFields 14029 14030 // Number of transformations counted by this result. 14031 Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` 14032 // Outcome of the transformation. 14033 Code TransformationSummary_TransformationResultCode `protobuf:"varint,2,opt,name=code,proto3,enum=google.privacy.dlp.v2.TransformationSummary_TransformationResultCode" json:"code,omitempty"` 14034 // A place for warnings or errors to show up if a transformation didn't 14035 // work as expected. 14036 Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` 14037} 14038 14039func (x *TransformationSummary_SummaryResult) Reset() { 14040 *x = TransformationSummary_SummaryResult{} 14041 if protoimpl.UnsafeEnabled { 14042 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[165] 14043 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14044 ms.StoreMessageInfo(mi) 14045 } 14046} 14047 14048func (x *TransformationSummary_SummaryResult) String() string { 14049 return protoimpl.X.MessageStringOf(x) 14050} 14051 14052func (*TransformationSummary_SummaryResult) ProtoMessage() {} 14053 14054func (x *TransformationSummary_SummaryResult) ProtoReflect() protoreflect.Message { 14055 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[165] 14056 if protoimpl.UnsafeEnabled && x != nil { 14057 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14058 if ms.LoadMessageInfo() == nil { 14059 ms.StoreMessageInfo(mi) 14060 } 14061 return ms 14062 } 14063 return mi.MessageOf(x) 14064} 14065 14066// Deprecated: Use TransformationSummary_SummaryResult.ProtoReflect.Descriptor instead. 14067func (*TransformationSummary_SummaryResult) Descriptor() ([]byte, []int) { 14068 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{71, 0} 14069} 14070 14071func (x *TransformationSummary_SummaryResult) GetCount() int64 { 14072 if x != nil { 14073 return x.Count 14074 } 14075 return 0 14076} 14077 14078func (x *TransformationSummary_SummaryResult) GetCode() TransformationSummary_TransformationResultCode { 14079 if x != nil { 14080 return x.Code 14081 } 14082 return TransformationSummary_TRANSFORMATION_RESULT_CODE_UNSPECIFIED 14083} 14084 14085func (x *TransformationSummary_SummaryResult) GetDetails() string { 14086 if x != nil { 14087 return x.Details 14088 } 14089 return "" 14090} 14091 14092// What event needs to occur for a new job to be started. 14093type JobTrigger_Trigger struct { 14094 state protoimpl.MessageState 14095 sizeCache protoimpl.SizeCache 14096 unknownFields protoimpl.UnknownFields 14097 14098 // Types that are assignable to Trigger: 14099 // *JobTrigger_Trigger_Schedule 14100 // *JobTrigger_Trigger_Manual 14101 Trigger isJobTrigger_Trigger_Trigger `protobuf_oneof:"trigger"` 14102} 14103 14104func (x *JobTrigger_Trigger) Reset() { 14105 *x = JobTrigger_Trigger{} 14106 if protoimpl.UnsafeEnabled { 14107 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[166] 14108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14109 ms.StoreMessageInfo(mi) 14110 } 14111} 14112 14113func (x *JobTrigger_Trigger) String() string { 14114 return protoimpl.X.MessageStringOf(x) 14115} 14116 14117func (*JobTrigger_Trigger) ProtoMessage() {} 14118 14119func (x *JobTrigger_Trigger) ProtoReflect() protoreflect.Message { 14120 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[166] 14121 if protoimpl.UnsafeEnabled && x != nil { 14122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14123 if ms.LoadMessageInfo() == nil { 14124 ms.StoreMessageInfo(mi) 14125 } 14126 return ms 14127 } 14128 return mi.MessageOf(x) 14129} 14130 14131// Deprecated: Use JobTrigger_Trigger.ProtoReflect.Descriptor instead. 14132func (*JobTrigger_Trigger) Descriptor() ([]byte, []int) { 14133 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{77, 0} 14134} 14135 14136func (m *JobTrigger_Trigger) GetTrigger() isJobTrigger_Trigger_Trigger { 14137 if m != nil { 14138 return m.Trigger 14139 } 14140 return nil 14141} 14142 14143func (x *JobTrigger_Trigger) GetSchedule() *Schedule { 14144 if x, ok := x.GetTrigger().(*JobTrigger_Trigger_Schedule); ok { 14145 return x.Schedule 14146 } 14147 return nil 14148} 14149 14150func (x *JobTrigger_Trigger) GetManual() *Manual { 14151 if x, ok := x.GetTrigger().(*JobTrigger_Trigger_Manual); ok { 14152 return x.Manual 14153 } 14154 return nil 14155} 14156 14157type isJobTrigger_Trigger_Trigger interface { 14158 isJobTrigger_Trigger_Trigger() 14159} 14160 14161type JobTrigger_Trigger_Schedule struct { 14162 // Create a job on a repeating basis based on the elapse of time. 14163 Schedule *Schedule `protobuf:"bytes,1,opt,name=schedule,proto3,oneof"` 14164} 14165 14166type JobTrigger_Trigger_Manual struct { 14167 // For use with hybrid jobs. Jobs must be manually created and finished. 14168 // Early access feature is in a pre-release state and might change or have 14169 // limited support. For more information, see 14170 // https://cloud.google.com/products#product-launch-stages. 14171 Manual *Manual `protobuf:"bytes,2,opt,name=manual,proto3,oneof"` 14172} 14173 14174func (*JobTrigger_Trigger_Schedule) isJobTrigger_Trigger_Trigger() {} 14175 14176func (*JobTrigger_Trigger_Manual) isJobTrigger_Trigger_Trigger() {} 14177 14178// If set, the detailed findings will be persisted to the specified 14179// OutputStorageConfig. Only a single instance of this action can be 14180// specified. 14181// Compatible with: Inspect, Risk 14182type Action_SaveFindings struct { 14183 state protoimpl.MessageState 14184 sizeCache protoimpl.SizeCache 14185 unknownFields protoimpl.UnknownFields 14186 14187 // Location to store findings outside of DLP. 14188 OutputConfig *OutputStorageConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 14189} 14190 14191func (x *Action_SaveFindings) Reset() { 14192 *x = Action_SaveFindings{} 14193 if protoimpl.UnsafeEnabled { 14194 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[167] 14195 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14196 ms.StoreMessageInfo(mi) 14197 } 14198} 14199 14200func (x *Action_SaveFindings) String() string { 14201 return protoimpl.X.MessageStringOf(x) 14202} 14203 14204func (*Action_SaveFindings) ProtoMessage() {} 14205 14206func (x *Action_SaveFindings) ProtoReflect() protoreflect.Message { 14207 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[167] 14208 if protoimpl.UnsafeEnabled && x != nil { 14209 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14210 if ms.LoadMessageInfo() == nil { 14211 ms.StoreMessageInfo(mi) 14212 } 14213 return ms 14214 } 14215 return mi.MessageOf(x) 14216} 14217 14218// Deprecated: Use Action_SaveFindings.ProtoReflect.Descriptor instead. 14219func (*Action_SaveFindings) Descriptor() ([]byte, []int) { 14220 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 0} 14221} 14222 14223func (x *Action_SaveFindings) GetOutputConfig() *OutputStorageConfig { 14224 if x != nil { 14225 return x.OutputConfig 14226 } 14227 return nil 14228} 14229 14230// Publish a message into given Pub/Sub topic when DlpJob has completed. The 14231// message contains a single field, `DlpJobName`, which is equal to the 14232// finished job's 14233// [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). 14234// Compatible with: Inspect, Risk 14235type Action_PublishToPubSub struct { 14236 state protoimpl.MessageState 14237 sizeCache protoimpl.SizeCache 14238 unknownFields protoimpl.UnknownFields 14239 14240 // Cloud Pub/Sub topic to send notifications to. The topic must have given 14241 // publishing access rights to the DLP API service account executing 14242 // the long running DlpJob sending the notifications. 14243 // Format is projects/{project}/topics/{topic}. 14244 Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` 14245} 14246 14247func (x *Action_PublishToPubSub) Reset() { 14248 *x = Action_PublishToPubSub{} 14249 if protoimpl.UnsafeEnabled { 14250 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[168] 14251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14252 ms.StoreMessageInfo(mi) 14253 } 14254} 14255 14256func (x *Action_PublishToPubSub) String() string { 14257 return protoimpl.X.MessageStringOf(x) 14258} 14259 14260func (*Action_PublishToPubSub) ProtoMessage() {} 14261 14262func (x *Action_PublishToPubSub) ProtoReflect() protoreflect.Message { 14263 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[168] 14264 if protoimpl.UnsafeEnabled && x != nil { 14265 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14266 if ms.LoadMessageInfo() == nil { 14267 ms.StoreMessageInfo(mi) 14268 } 14269 return ms 14270 } 14271 return mi.MessageOf(x) 14272} 14273 14274// Deprecated: Use Action_PublishToPubSub.ProtoReflect.Descriptor instead. 14275func (*Action_PublishToPubSub) Descriptor() ([]byte, []int) { 14276 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 1} 14277} 14278 14279func (x *Action_PublishToPubSub) GetTopic() string { 14280 if x != nil { 14281 return x.Topic 14282 } 14283 return "" 14284} 14285 14286// Publish the result summary of a DlpJob to the Cloud Security 14287// Command Center (CSCC Alpha). 14288// This action is only available for projects which are parts of 14289// an organization and whitelisted for the alpha Cloud Security Command 14290// Center. 14291// The action will publish count of finding instances and their info types. 14292// The summary of findings will be persisted in CSCC and are governed by CSCC 14293// service-specific policy, see https://cloud.google.com/terms/service-terms 14294// Only a single instance of this action can be specified. 14295// Compatible with: Inspect 14296type Action_PublishSummaryToCscc struct { 14297 state protoimpl.MessageState 14298 sizeCache protoimpl.SizeCache 14299 unknownFields protoimpl.UnknownFields 14300} 14301 14302func (x *Action_PublishSummaryToCscc) Reset() { 14303 *x = Action_PublishSummaryToCscc{} 14304 if protoimpl.UnsafeEnabled { 14305 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[169] 14306 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14307 ms.StoreMessageInfo(mi) 14308 } 14309} 14310 14311func (x *Action_PublishSummaryToCscc) String() string { 14312 return protoimpl.X.MessageStringOf(x) 14313} 14314 14315func (*Action_PublishSummaryToCscc) ProtoMessage() {} 14316 14317func (x *Action_PublishSummaryToCscc) ProtoReflect() protoreflect.Message { 14318 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[169] 14319 if protoimpl.UnsafeEnabled && x != nil { 14320 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14321 if ms.LoadMessageInfo() == nil { 14322 ms.StoreMessageInfo(mi) 14323 } 14324 return ms 14325 } 14326 return mi.MessageOf(x) 14327} 14328 14329// Deprecated: Use Action_PublishSummaryToCscc.ProtoReflect.Descriptor instead. 14330func (*Action_PublishSummaryToCscc) Descriptor() ([]byte, []int) { 14331 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 2} 14332} 14333 14334// Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the 14335// results of the DlpJob will be applied to the entry for the resource scanned 14336// in Cloud Data Catalog. Any labels previously written by another DlpJob will 14337// be deleted. InfoType naming patterns are strictly enforced when using this 14338// feature. Note that the findings will be persisted in Cloud Data Catalog 14339// storage and are governed by Data Catalog service-specific policy, see 14340// https://cloud.google.com/terms/service-terms 14341// Only a single instance of this action can be specified and only allowed if 14342// all resources being scanned are BigQuery tables. 14343// Compatible with: Inspect 14344type Action_PublishFindingsToCloudDataCatalog struct { 14345 state protoimpl.MessageState 14346 sizeCache protoimpl.SizeCache 14347 unknownFields protoimpl.UnknownFields 14348} 14349 14350func (x *Action_PublishFindingsToCloudDataCatalog) Reset() { 14351 *x = Action_PublishFindingsToCloudDataCatalog{} 14352 if protoimpl.UnsafeEnabled { 14353 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[170] 14354 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14355 ms.StoreMessageInfo(mi) 14356 } 14357} 14358 14359func (x *Action_PublishFindingsToCloudDataCatalog) String() string { 14360 return protoimpl.X.MessageStringOf(x) 14361} 14362 14363func (*Action_PublishFindingsToCloudDataCatalog) ProtoMessage() {} 14364 14365func (x *Action_PublishFindingsToCloudDataCatalog) ProtoReflect() protoreflect.Message { 14366 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[170] 14367 if protoimpl.UnsafeEnabled && x != nil { 14368 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14369 if ms.LoadMessageInfo() == nil { 14370 ms.StoreMessageInfo(mi) 14371 } 14372 return ms 14373 } 14374 return mi.MessageOf(x) 14375} 14376 14377// Deprecated: Use Action_PublishFindingsToCloudDataCatalog.ProtoReflect.Descriptor instead. 14378func (*Action_PublishFindingsToCloudDataCatalog) Descriptor() ([]byte, []int) { 14379 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 3} 14380} 14381 14382// Enable email notification to project owners and editors on jobs's 14383// completion/failure. 14384type Action_JobNotificationEmails struct { 14385 state protoimpl.MessageState 14386 sizeCache protoimpl.SizeCache 14387 unknownFields protoimpl.UnknownFields 14388} 14389 14390func (x *Action_JobNotificationEmails) Reset() { 14391 *x = Action_JobNotificationEmails{} 14392 if protoimpl.UnsafeEnabled { 14393 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[171] 14394 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14395 ms.StoreMessageInfo(mi) 14396 } 14397} 14398 14399func (x *Action_JobNotificationEmails) String() string { 14400 return protoimpl.X.MessageStringOf(x) 14401} 14402 14403func (*Action_JobNotificationEmails) ProtoMessage() {} 14404 14405func (x *Action_JobNotificationEmails) ProtoReflect() protoreflect.Message { 14406 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[171] 14407 if protoimpl.UnsafeEnabled && x != nil { 14408 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14409 if ms.LoadMessageInfo() == nil { 14410 ms.StoreMessageInfo(mi) 14411 } 14412 return ms 14413 } 14414 return mi.MessageOf(x) 14415} 14416 14417// Deprecated: Use Action_JobNotificationEmails.ProtoReflect.Descriptor instead. 14418func (*Action_JobNotificationEmails) Descriptor() ([]byte, []int) { 14419 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 4} 14420} 14421 14422// Enable Stackdriver metric dlp.googleapis.com/finding_count. This 14423// will publish a metric to stack driver on each infotype requested and 14424// how many findings were found for it. CustomDetectors will be bucketed 14425// as 'Custom' under the Stackdriver label 'info_type'. 14426type Action_PublishToStackdriver struct { 14427 state protoimpl.MessageState 14428 sizeCache protoimpl.SizeCache 14429 unknownFields protoimpl.UnknownFields 14430} 14431 14432func (x *Action_PublishToStackdriver) Reset() { 14433 *x = Action_PublishToStackdriver{} 14434 if protoimpl.UnsafeEnabled { 14435 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[172] 14436 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14437 ms.StoreMessageInfo(mi) 14438 } 14439} 14440 14441func (x *Action_PublishToStackdriver) String() string { 14442 return protoimpl.X.MessageStringOf(x) 14443} 14444 14445func (*Action_PublishToStackdriver) ProtoMessage() {} 14446 14447func (x *Action_PublishToStackdriver) ProtoReflect() protoreflect.Message { 14448 mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[172] 14449 if protoimpl.UnsafeEnabled && x != nil { 14450 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14451 if ms.LoadMessageInfo() == nil { 14452 ms.StoreMessageInfo(mi) 14453 } 14454 return ms 14455 } 14456 return mi.MessageOf(x) 14457} 14458 14459// Deprecated: Use Action_PublishToStackdriver.ProtoReflect.Descriptor instead. 14460func (*Action_PublishToStackdriver) Descriptor() ([]byte, []int) { 14461 return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 5} 14462} 14463 14464var File_google_privacy_dlp_v2_dlp_proto protoreflect.FileDescriptor 14465 14466var file_google_privacy_dlp_v2_dlp_proto_rawDesc = []byte{ 14467 0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 14468 0x2f, 0x64, 0x6c, 0x70, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x6c, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 14469 0x6f, 0x12, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 14470 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 14471 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 14472 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 14473 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 14474 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 14475 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 14476 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2f, 0x64, 0x6c, 14477 0x70, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 14478 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 14479 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 14480 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 14481 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 14482 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 14483 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 14484 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 14485 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 14486 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 14487 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 14488 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 14489 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 14490 0x2f, 0x64, 0x61, 0x79, 0x6f, 0x66, 0x77, 0x65, 0x65, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 14491 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x69, 14492 0x6d, 0x65, 0x6f, 0x66, 0x64, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 14493 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 14494 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x10, 0x45, 14495 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 14496 0x3e, 0x0a, 0x0a, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 14497 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 14498 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 14499 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 14500 0xd3, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 14501 0x65, 0x12, 0x52, 0x0a, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 14502 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 14503 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 14504 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x69, 0x63, 14505 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 14506 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 14507 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 14508 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 14509 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x65, 14510 0x78, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x57, 0x0a, 0x12, 0x65, 0x78, 14511 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 14512 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 14513 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45, 14514 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x48, 14515 0x00, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 14516 0x70, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 14517 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 14518 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 14519 0x76, 0x32, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 14520 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0x0a, 14521 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 14522 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x64, 0x0a, 0x0c, 0x68, 0x6f, 0x74, 0x77, 14523 0x6f, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 14524 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 14525 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 14526 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 14527 0x75, 0x6c, 0x65, 0x2e, 0x48, 0x6f, 0x74, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x48, 14528 0x00, 0x52, 0x0b, 0x68, 0x6f, 0x74, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x4d, 14529 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 14530 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 14531 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45, 14532 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0d, 14533 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x06, 0x0a, 14534 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 14535 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x69, 14536 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 14537 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 14538 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 14539 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x72, 14540 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 14541 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 14542 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 14543 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x8d, 0x07, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 14544 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x0a, 0x69, 0x6e, 14545 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 14546 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 14547 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 14548 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x6d, 0x69, 14549 0x6e, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 14550 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 14551 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 14552 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 14553 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 14554 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 14555 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 14556 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69, 14557 0x6e, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 14558 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 14559 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 14560 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 14561 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 14562 0x08, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 14563 0x70, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 14564 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 14565 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 14566 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 14567 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 14568 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 14569 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0e, 0x32, 14570 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 14571 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, 14572 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x70, 14573 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 14574 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 14575 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 14576 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 14577 0x74, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x1a, 0xeb, 0x02, 0x0a, 0x0d, 0x46, 14578 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x15, 14579 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72, 14580 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6d, 0x61, 0x78, 14581 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 14582 0x37, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 14583 0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 14584 0x05, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65, 14585 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7c, 0x0a, 0x1a, 0x6d, 0x61, 0x78, 0x5f, 14586 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 14587 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 14588 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 14589 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 14590 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 14591 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x16, 14592 0x6d, 0x61, 0x78, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65, 0x72, 0x49, 0x6e, 14593 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x70, 0x0a, 0x0d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 14594 0x70, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 14595 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 14596 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 14597 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x66, 14598 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6e, 14599 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 14600 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xa4, 0x02, 0x0a, 0x0f, 0x42, 0x79, 0x74, 14601 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x44, 0x0a, 0x04, 14602 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 14603 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 14604 0x76, 0x32, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 14605 0x65, 0x6d, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 14606 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 14607 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb6, 0x01, 0x0a, 0x09, 0x42, 0x79, 0x74, 0x65, 0x73, 14608 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x59, 0x54, 0x45, 0x53, 0x5f, 0x54, 0x59, 14609 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 14610 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 14611 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4a, 0x50, 0x45, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, 14612 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x4d, 0x50, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 14613 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 0x41, 14614 0x47, 0x45, 0x5f, 0x53, 0x56, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x45, 0x58, 0x54, 14615 0x5f, 0x55, 0x54, 0x46, 0x38, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x4f, 0x52, 0x44, 0x5f, 14616 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x44, 14617 0x46, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x56, 0x52, 0x4f, 0x10, 0x0b, 0x12, 0x07, 0x0a, 14618 0x03, 0x43, 0x53, 0x56, 0x10, 0x0c, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x53, 0x56, 0x10, 0x0d, 0x22, 14619 0xaf, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 14620 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 14621 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 14622 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 14623 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 14624 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x45, 0x0a, 14625 0x09, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 14626 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 14627 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x6e, 14628 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x08, 0x62, 0x79, 0x74, 0x65, 14629 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 14630 0x6d, 0x22, 0xb4, 0x01, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x68, 14631 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 14632 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 14633 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x07, 0x68, 0x65, 14634 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 14635 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 14636 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 14637 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x3b, 0x0a, 0x03, 0x52, 14638 0x6f, 0x77, 0x12, 0x34, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 14639 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 14640 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 14641 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x7a, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x70, 14642 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x66, 0x69, 0x6e, 14643 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 14644 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 14645 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x66, 0x69, 0x6e, 14646 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 14647 0x73, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 14648 0x08, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 14649 0x61, 0x74, 0x65, 0x64, 0x22, 0xd6, 0x06, 0x0a, 0x07, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 14650 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 14651 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 14652 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x69, 0x6e, 14653 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 14654 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 14655 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 14656 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x6c, 0x69, 0x6b, 0x65, 14657 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 14658 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 14659 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 14660 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x6c, 14661 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 14662 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 14663 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 14664 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 14665 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 14666 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 14667 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 14668 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x69, 14669 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 14670 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 14671 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x71, 0x75, 0x6f, 14672 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 14673 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xfa, 14674 0x41, 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 14675 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x72, 14676 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x74, 14677 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 14678 0x09, 0x42, 0x22, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 14679 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 14680 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 14681 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 14682 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 14683 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69, 14684 0x6e, 0x67, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 14685 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x72, 14686 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 14687 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 14688 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 14689 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6a, 0x6f, 14690 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xfa, 0x41, 14691 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 14692 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x6a, 0x6f, 14693 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 14694 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 14695 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 14696 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 14697 0x3a, 0x5b, 0xea, 0x41, 0x58, 0x0a, 0x1a, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 14698 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 14699 0x67, 0x12, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 14700 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 14701 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x69, 14702 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x7d, 0x22, 0xa3, 0x02, 14703 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x62, 0x79, 14704 0x74, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 14705 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 14706 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x62, 0x79, 14707 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x6f, 0x64, 0x65, 0x70, 14708 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 14709 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 14710 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 14711 0x63, 0x6f, 0x64, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x53, 14712 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 14713 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 14714 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 14715 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 14716 0x6e, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 14717 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 14718 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 14719 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 14720 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 14721 0x6e, 0x65, 0x72, 0x22, 0x8f, 0x04, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 14722 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 14723 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 14724 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x50, 14725 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 14726 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 14727 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 14728 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 14729 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 14730 0x12, 0x4d, 0x0a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 14731 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 14732 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 14733 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 14734 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 14735 0x56, 0x0a, 0x11, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 14736 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 14737 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 14738 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 14739 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 14740 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 14741 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 14742 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 14743 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 14744 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x6d, 14745 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 14746 0x4b, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 14747 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 14748 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 14749 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 14750 0x6e, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2b, 0x0a, 0x11, 14751 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 14752 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 14753 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 14754 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 14755 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x74, 0x79, 14756 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 14757 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 14758 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 14759 0x79, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 14760 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 14761 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 14762 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 14763 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 14764 0x67, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 14765 0x22, 0x28, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 14766 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 14767 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x33, 0x0a, 0x10, 0x44, 0x6f, 14768 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 14769 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 14770 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 14771 0xd9, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 14772 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 14773 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 14774 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 14775 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 14776 0x4b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 14777 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 14778 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 14779 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x07, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x4b, 14780 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 14781 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 14782 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 14783 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x61, 14784 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0d, 0x54, 14785 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 14786 0x72, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 14787 0x08, 0x72, 0x6f, 0x77, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xf4, 0x01, 0x0a, 0x09, 0x43, 0x6f, 14788 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 14789 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 14790 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 14791 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75, 14792 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 14793 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 14794 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 14795 0x50, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 14796 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 14797 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 14798 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 14799 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 14800 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 14801 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 14802 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 14803 0x22, 0x2f, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 14804 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 14805 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 14806 0x64, 0x22, 0x5a, 0x0a, 0x0d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 14807 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 14808 0x6f, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 14809 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 14810 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x0d, 14811 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x65, 0x73, 0x22, 0x61, 0x0a, 14812 0x0b, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x10, 0x0a, 0x03, 14813 0x74, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x6f, 0x70, 0x12, 0x12, 14814 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 14815 0x66, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 14816 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 14817 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 14818 0x22, 0xfa, 0x04, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 14819 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 14820 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x64, 0x6c, 14821 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 14822 0x2f, 0x44, 0x6c, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 14823 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 14824 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 14825 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 14826 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 14827 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 14828 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 14829 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 14830 0x67, 0x12, 0x76, 0x0a, 0x17, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 14831 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 14832 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 14833 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 14834 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 14835 0x61, 0x67, 0x65, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 14836 0x69, 0x67, 0x52, 0x15, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 14837 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 14838 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 14839 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x64, 14840 0x69, 0x6e, 0x67, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x69, 0x74, 0x65, 14841 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 14842 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 14843 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 14844 0x08, 0x62, 0x79, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0xd1, 0x01, 0x0a, 0x14, 0x49, 0x6d, 14845 0x61, 0x67, 0x65, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 14846 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 14847 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 14848 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 14849 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 14850 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 14851 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x72, 14852 0x65, 0x64, 0x61, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x12, 0x45, 0x0a, 0x0f, 14853 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 14854 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 14855 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 14856 0x6c, 0x6f, 0x72, 0x52, 0x0e, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 14857 0x6c, 0x6f, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x43, 0x0a, 14858 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 14859 0x01, 0x28, 0x02, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x65, 0x65, 14860 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x12, 14861 0x0a, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x62, 0x6c, 14862 0x75, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x61, 14863 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 14864 0x64, 0x61, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 14865 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 14866 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x74, 14867 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 14868 0x63, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 14869 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 14870 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 14871 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 14872 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 14873 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xc0, 0x03, 0x0a, 0x18, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 14874 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 14875 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 14876 0x28, 0x09, 0x42, 0x22, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 14877 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x43, 14878 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x54, 14879 0x0a, 0x11, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 14880 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 14881 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 14882 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 14883 0x69, 0x67, 0x52, 0x10, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 14884 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 14885 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 14886 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 14887 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 14888 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 14889 0x67, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 14890 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 14891 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 14892 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 14893 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 14894 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 14895 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 14896 0x18, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 14897 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 14898 0x16, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 14899 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 14900 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 14901 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x69, 14902 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 14903 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 14904 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 14905 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 14906 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x49, 14907 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 14908 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 14909 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 14910 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 14911 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x22, 0xc3, 0x03, 0x0a, 0x18, 0x52, 0x65, 14912 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 14913 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 14914 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 14915 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 14916 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 14917 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x11, 0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 14918 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 14919 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 14920 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 14921 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x72, 0x65, 0x69, 0x64, 0x65, 14922 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 14923 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 14924 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 14925 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 14926 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 14927 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 14928 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 14929 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 14930 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 14931 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 14932 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 14933 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 14934 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 14935 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 14936 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 14937 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 14938 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 14939 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 14940 0x9e, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 14941 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 14942 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 14943 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 14944 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 14945 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x49, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 14946 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 14947 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 14948 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 14949 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 14950 0x22, 0xad, 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 14951 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 14952 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xfa, 0x41, 0x1f, 0x12, 14953 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 14954 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 14955 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 14956 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 14957 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 14958 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 14959 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 14960 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 14961 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 14962 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 14963 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x32, 0x0a, 0x15, 0x69, 14964 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 14965 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 14966 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 14967 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 14968 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 14969 0x22, 0x56, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 14970 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x65, 14971 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 14972 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 14973 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 14974 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xcc, 0x02, 0x0a, 0x13, 0x4f, 0x75, 0x74, 14975 0x70, 0x75, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 14976 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 14977 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 14978 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 14979 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5c, 14980 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 14981 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 14982 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x75, 14983 0x74, 0x70, 0x75, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 14984 0x67, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0c, 14985 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x90, 0x01, 0x0a, 14986 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1d, 0x0a, 14987 0x19, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x55, 14988 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 14989 0x42, 0x41, 0x53, 0x49, 0x43, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0x01, 0x12, 14990 0x0f, 0x0a, 0x0b, 0x47, 0x43, 0x53, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0x02, 14991 0x12, 0x15, 0x0a, 0x11, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4f, 14992 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x49, 0x47, 0x5f, 0x51, 14993 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0x04, 0x12, 0x0f, 14994 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0x05, 0x42, 14995 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x63, 0x0a, 0x0d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 14996 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 14997 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 14998 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 14999 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x6e, 15000 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 15001 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa3, 0x05, 0x0a, 15002 0x18, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 15003 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x6d, 0x0a, 0x11, 0x72, 0x65, 0x71, 15004 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 15005 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 15006 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 15007 0x70, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 15008 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, 15009 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 15010 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 15011 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 15012 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 15013 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 15014 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 15015 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xbe, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x71, 15016 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 15017 0x19, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 15018 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 15019 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15020 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 15021 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x17, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 15022 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 15023 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 15024 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15025 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 15026 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 15027 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x86, 0x02, 0x0a, 0x06, 0x52, 0x65, 15028 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 15029 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 15030 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 15031 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 15032 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x74, 0x6f, 15033 0x74, 0x61, 0x6c, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 15034 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 15035 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 15036 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 15037 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 15038 0x52, 0x0d, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 15039 0x51, 0x0a, 0x0c, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 15040 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15041 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 15042 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 15043 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x0b, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x53, 0x74, 0x61, 15044 0x74, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x17, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 15045 0x70, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x27, 15046 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 15047 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 15048 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x62, 0x6f, 0x72, 0x74, 15049 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 15050 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 15051 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 15052 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 15053 0x74, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 15054 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 15055 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 15056 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 15057 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 15058 0x12, 0x4d, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 15059 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15060 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 15061 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 15062 0x42, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 15063 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 15064 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 15065 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 15066 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 15067 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 15068 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 15069 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 15070 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 15071 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 15072 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 15073 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 15074 0x22, 0x62, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 15075 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x69, 0x6e, 0x66, 15076 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 15077 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 15078 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 15079 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 15080 0x79, 0x70, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x15, 0x52, 0x69, 0x73, 0x6b, 0x41, 0x6e, 0x61, 15081 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 15082 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 15083 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15084 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 15085 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0d, 0x70, 0x72, 15086 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x47, 0x0a, 0x0c, 0x73, 15087 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 15088 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15089 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 15090 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 15091 0x61, 0x62, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 15092 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15093 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 15094 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe2, 0x01, 15095 0x0a, 0x07, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x66, 0x69, 0x65, 15096 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 15097 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 15098 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x66, 15099 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3e, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 15100 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15101 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 15102 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 15103 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 15104 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 15105 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x34, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 15106 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15107 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 15108 0x00, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x74, 15109 0x61, 0x67, 0x22, 0xf4, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 15110 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 15111 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15112 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 15113 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 15114 0x02, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x73, 15115 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 15116 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15117 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x54, 15118 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 15119 0x66, 0x69, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 15120 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x52, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61, 15121 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 15122 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 15123 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 15124 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 15125 0x69, 0x76, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x6b, 0x0a, 0x14, 15126 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x46, 15127 0x69, 0x65, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 15128 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15129 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 15130 0x64, 0x49, 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 15131 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 15132 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x22, 0x86, 0x12, 0x0a, 0x0d, 0x50, 0x72, 15133 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x71, 0x0a, 0x16, 0x6e, 15134 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 15135 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 15136 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15137 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 15138 0x63, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 15139 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 15140 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x77, 15141 0x0a, 0x18, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 15142 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 15143 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15144 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 15145 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 15146 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 15147 0x16, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 15148 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x12, 0x6b, 0x5f, 0x61, 0x6e, 0x6f, 15149 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 15150 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15151 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 15152 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 15153 0x6d, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x6b, 0x41, 15154 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 15155 0x0a, 0x12, 0x6c, 0x5f, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 15156 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 15157 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 15158 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 15159 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 15160 0x67, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x43, 15161 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x17, 0x6b, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x65, 15162 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 15163 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15164 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 15165 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4b, 0x4d, 0x61, 15166 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 15167 0x67, 0x48, 0x00, 0x52, 0x14, 0x6b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 15168 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8d, 0x01, 0x0a, 0x20, 0x64, 0x65, 15169 0x6c, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x73, 0x74, 15170 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 15171 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 15172 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 15173 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 15174 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 15175 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1d, 0x64, 0x65, 0x6c, 0x74, 15176 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 15177 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x4c, 0x0a, 0x14, 0x4e, 0x75, 0x6d, 15178 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 15179 0x67, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 15180 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15181 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 15182 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x4e, 0x0a, 0x16, 0x43, 0x61, 0x74, 0x65, 0x67, 15183 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 15184 0x67, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 15185 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15186 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 15187 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x8d, 0x01, 0x0a, 0x10, 0x4b, 0x41, 0x6e, 0x6f, 15188 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x09, 15189 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 15190 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 15191 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 15192 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 15193 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 15194 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 15195 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x52, 0x08, 0x65, 15196 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x1a, 0xa0, 0x01, 0x0a, 0x10, 0x4c, 0x44, 0x69, 0x76, 15197 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x09, 15198 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 15199 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 15200 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 15201 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x4f, 0x0a, 0x13, 0x73, 0x65, 0x6e, 15202 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 15203 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15204 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 15205 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x12, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 15206 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x1a, 0x84, 0x07, 0x0a, 0x14, 0x4b, 15207 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 15208 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 15209 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15210 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 15211 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4b, 0x4d, 0x61, 15212 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 15213 0x67, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x03, 0xe0, 15214 0x41, 0x02, 0x52, 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 15215 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 15216 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x73, 0x0a, 15217 0x10, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 15218 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15219 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 15220 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4b, 0x4d, 15221 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 15222 0x69, 0x67, 0x2e, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 15223 0x65, 0x52, 0x0f, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 15224 0x65, 0x73, 0x1a, 0xe6, 0x01, 0x0a, 0x0b, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x46, 0x69, 0x65, 15225 0x6c, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 15226 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15227 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 15228 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3e, 0x0a, 15229 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 15230 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15231 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 15232 0x65, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 15233 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 15234 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x34, 15235 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 15236 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 15237 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x65, 15238 0x72, 0x72, 0x65, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x1a, 0x83, 0x03, 0x0a, 0x0e, 15239 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3f, 15240 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 15241 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 15242 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 15243 0x62, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 15244 0x77, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 15245 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 15246 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 15247 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 15248 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 15249 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x51, 0x75, 0x61, 15250 0x73, 0x69, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 15251 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x52, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61, 15252 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 15253 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 15254 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 15255 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 15256 0x69, 0x76, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x63, 0x0a, 0x0c, 15257 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x05, 15258 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 15259 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15260 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 15261 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 15262 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 15263 0x67, 0x1a, 0xd6, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 15264 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 15265 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 15266 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15267 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x51, 15268 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x71, 0x75, 0x61, 15269 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 15270 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 15271 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x52, 0x0a, 0x10, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 15272 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 15273 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15274 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 15275 0x69, 0x63, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x0f, 0x61, 0x75, 0x78, 0x69, 0x6c, 15276 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 15277 0x70, 0x65, 0x22, 0xff, 0x27, 0x0a, 0x1c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 15278 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 15279 0x69, 0x6c, 0x73, 0x12, 0x5e, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 15280 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 15281 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15282 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 15283 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x16, 0x72, 0x65, 0x71, 15284 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 15285 0x72, 0x69, 0x63, 0x12, 0x5a, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 15286 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 15287 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15288 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 15289 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 15290 0x73, 0x74, 0x65, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 15291 0x80, 0x01, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 15292 0x61, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 15293 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15294 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 15295 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 15296 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 15297 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x75, 15298 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 15299 0x6c, 0x74, 0x12, 0x86, 0x01, 0x0a, 0x18, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 15300 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 15301 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15302 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 15303 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 15304 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 15305 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 15306 0x74, 0x48, 0x00, 0x52, 0x16, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 15307 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x74, 0x0a, 0x12, 0x6b, 15308 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 15309 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15310 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 15311 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 15312 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x41, 0x6e, 15313 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 15314 0x10, 0x6b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 15315 0x74, 0x12, 0x74, 0x0a, 0x12, 0x6c, 0x5f, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 15316 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 15317 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 15318 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 15319 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 15320 0x6c, 0x73, 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 15321 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 15322 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x6b, 0x5f, 0x6d, 0x61, 15323 0x70, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 15324 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 15325 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 15326 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 15327 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 15328 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 15329 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x14, 0x6b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 15330 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x9c, 0x01, 0x0a, 0x20, 15331 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 15332 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 15333 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15334 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 15335 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 15336 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x74, 15337 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 15338 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x64, 0x65, 0x6c, 15339 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 15340 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x7d, 0x0a, 0x11, 0x72, 0x65, 15341 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 15342 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15343 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 15344 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 15345 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 15346 0x73, 0x74, 0x65, 0x64, 0x52, 0x69, 0x73, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 15347 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 15348 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xd3, 0x01, 0x0a, 0x14, 0x4e, 0x75, 15349 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 15350 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 15351 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15352 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 15353 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x39, 0x0a, 15354 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 15355 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15356 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 15357 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 15358 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 15359 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15360 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 15361 0x0e, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 15362 0x8d, 0x04, 0x0a, 0x16, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 15363 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x21, 0x76, 15364 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x68, 15365 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 15366 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15367 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 15368 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 15369 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, 0x61, 0x74, 0x65, 15370 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 15371 0x6c, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 15372 0x61, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 15373 0x65, 0x74, 0x52, 0x1e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 15374 0x63, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 15375 0x74, 0x73, 0x1a, 0xba, 0x02, 0x0a, 0x1f, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 15376 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 15377 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 15378 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 15379 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x76, 0x61, 0x6c, 15380 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 15381 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x3d, 0x0a, 0x1b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 15382 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 15383 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x76, 0x61, 0x6c, 0x75, 15384 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 15385 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 15386 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 15387 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 15388 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 15389 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 15390 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 15391 0x6e, 0x63, 0x79, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 15392 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 15393 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 15394 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 15395 0xeb, 0x05, 0x0a, 0x10, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 15396 0x73, 0x75, 0x6c, 0x74, 0x12, 0xad, 0x01, 0x0a, 0x23, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 15397 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 15398 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 15399 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 15400 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 15401 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 15402 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 15403 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 15404 0x69, 0x74, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 15405 0x65, 0x74, 0x52, 0x20, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 15406 0x6c, 0x61, 0x73, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 15407 0x6b, 0x65, 0x74, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x1a, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 15408 0x69, 0x74, 0x79, 0x45, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 15409 0x61, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 15410 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 15411 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 15412 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x71, 0x75, 0x61, 15413 0x73, 0x69, 0x49, 0x64, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 15414 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 15415 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x65, 0x71, 0x75, 15416 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x69, 0x7a, 15417 0x65, 0x1a, 0x89, 0x03, 0x0a, 0x19, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 15418 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 15419 0x4a, 0x0a, 0x22, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 15420 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 15421 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x65, 0x71, 0x75, 15422 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x69, 0x7a, 15423 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x65, 15424 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 15425 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 15426 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 15427 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x55, 0x70, 0x70, 15428 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 15429 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 15430 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x62, 0x75, 0x63, 15431 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 15432 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15433 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 15434 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 15435 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 15436 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 15437 0x79, 0x45, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 15438 0x73, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 15439 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 15440 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x63, 15441 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xa2, 0x07, 15442 0x0a, 0x10, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 15443 0x6c, 0x74, 0x12, 0xbc, 0x01, 0x0a, 0x2b, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 15444 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 15445 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 15446 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 15447 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 15448 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 15449 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x44, 15450 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4c, 15451 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 15452 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x27, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 15453 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 15454 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 15455 0x73, 0x1a, 0xb6, 0x02, 0x0a, 0x1a, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 15456 0x45, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 15457 0x12, 0x46, 0x0a, 0x10, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x5f, 0x76, 0x61, 15458 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 15459 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 15460 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 15461 0x64, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x71, 0x75, 0x69, 15462 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x73, 0x69, 15463 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 15464 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x41, 15465 0x0a, 0x1d, 0x6e, 0x75, 0x6d, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x73, 15466 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 15467 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x6e, 0x75, 0x6d, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 15468 0x63, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 15469 0x73, 0x12, 0x57, 0x0a, 0x14, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 15470 0x76, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 15471 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 15472 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 15473 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x12, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x6e, 0x73, 0x69, 15474 0x74, 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x95, 0x03, 0x0a, 0x19, 0x4c, 15475 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 15476 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x50, 0x0a, 0x25, 0x73, 0x65, 0x6e, 0x73, 15477 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 15478 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 15479 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x21, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 15480 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 15481 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x50, 0x0a, 0x25, 0x73, 0x65, 15482 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72, 15483 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 15484 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x21, 0x73, 0x65, 0x6e, 0x73, 0x69, 15485 0x74, 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 15486 0x63, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 15487 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 15488 0x03, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x84, 0x01, 15489 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 15490 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15491 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 15492 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 15493 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 15494 0x72, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4c, 0x44, 0x69, 0x76, 15495 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x45, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 15496 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 15497 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 15498 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 15499 0x52, 0x10, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 15500 0x6e, 0x74, 0x1a, 0x9c, 0x05, 0x0a, 0x14, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 15501 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0xa3, 0x01, 0x0a, 0x1a, 15502 0x6b, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 15503 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 15504 0x32, 0x66, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15505 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 15506 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 15507 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 15508 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 15509 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 15510 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x17, 0x6b, 0x4d, 0x61, 0x70, 0x45, 0x73, 15511 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 15512 0x6d, 0x1a, 0x96, 0x01, 0x0a, 0x1b, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 15513 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 15514 0x73, 0x12, 0x46, 0x0a, 0x10, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x5f, 0x76, 15515 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 15516 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15517 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x73, 0x69, 15518 0x49, 0x64, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x73, 0x74, 15519 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 15520 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 15521 0x64, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x1a, 0xc4, 0x02, 0x0a, 0x1d, 0x4b, 15522 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 15523 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 15524 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 15525 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 15526 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 15527 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x41, 0x6e, 0x6f, 15528 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 15529 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 0x63, 15530 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 15531 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 15532 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 15533 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 15534 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 15535 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 15536 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 15537 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x56, 15538 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 15539 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 15540 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 15541 0x10, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 15542 0x74, 0x1a, 0xf9, 0x05, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 15543 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 15544 0x75, 0x6c, 0x74, 0x12, 0xc7, 0x01, 0x0a, 0x23, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x70, 0x72, 15545 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 15546 0x6e, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 15547 0x0b, 0x32, 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15548 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 15549 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 15550 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 15551 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 15552 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 15553 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 15554 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x20, 0x64, 0x65, 0x6c, 15555 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 15556 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x1a, 0xa3, 0x01, 15557 0x0a, 0x24, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 15558 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 15559 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 15560 0x69, 0x64, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 15561 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15562 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 15563 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x33, 15564 0x0a, 0x15, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x62, 15565 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x14, 0x65, 15566 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 15567 0x69, 0x74, 0x79, 0x1a, 0xe7, 0x02, 0x0a, 0x26, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 15568 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 15569 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x27, 15570 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 15571 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x62, 15572 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 15573 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 15574 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 15575 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 15576 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 15577 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 15578 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x76, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 15579 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 15580 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 15581 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x44, 15582 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 15583 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x44, 0x65, 0x6c, 15584 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 15585 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 15586 0x73, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 15587 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 15588 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x63, 15589 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x6b, 0x0a, 15590 0x1c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x69, 0x73, 0x6b, 0x41, 0x6e, 15591 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4b, 0x0a, 15592 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 15593 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15594 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x69, 0x73, 0x6b, 0x41, 0x6e, 15595 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 15596 0x09, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 15597 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5a, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 15598 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 15599 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15600 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 15601 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 15602 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 15603 0x22, 0x9e, 0x03, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x69, 0x6e, 15604 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 15605 0x03, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 15606 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 15607 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 15608 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 15609 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 15610 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 15611 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 15612 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 15613 0x12, 0x45, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, 0x61, 15614 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 15615 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 15616 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 15617 0x6d, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 15618 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 15619 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 15620 0x44, 0x61, 0x79, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 15621 0x12, 0x32, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 15622 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 15623 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x56, 15624 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x64, 0x61, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 15625 0x65, 0x65, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 15626 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 15627 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x61, 0x79, 0x4f, 0x66, 15628 0x57, 0x65, 0x65, 0x6b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 15629 0x65, 0x22, 0x5b, 0x0a, 0x09, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 15630 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 15631 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15632 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 15633 0x6d, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0e, 15634 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x22, 0x8f, 15635 0x02, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x64, 15636 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 15637 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 15638 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x61, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x65, 0x65, 15639 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15640 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 15641 0x09, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x69, 15642 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 15643 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 15644 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 15645 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 15646 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 15647 0x32, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x5a, 15648 0x6f, 0x6e, 0x65, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x1a, 0x31, 0x0a, 15649 0x08, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x66, 0x66, 15650 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 15651 0x05, 0x52, 0x0d, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 15652 0x22, 0xf1, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 15653 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6c, 0x0a, 0x19, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 15654 0x70, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 15655 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 15656 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 15657 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 15658 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x17, 0x69, 0x6e, 0x66, 0x6f, 15659 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 15660 0x6f, 0x6e, 0x73, 0x12, 0x65, 0x0a, 0x16, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x72, 15661 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 15662 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15663 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 15664 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 15665 0x73, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 15666 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x76, 0x0a, 0x1d, 0x74, 0x72, 15667 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 15668 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 15669 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15670 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 15671 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 15672 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 15673 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 15674 0x6e, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 15675 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x02, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 15676 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 15677 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x60, 0x0a, 0x0b, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x5f, 0x65, 0x72, 15678 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 15679 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 15680 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 15681 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x68, 15682 0x72, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x6f, 15683 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x78, 0x0a, 0x13, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x5f, 15684 0x75, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 15685 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15686 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 15687 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 15688 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x55, 0x6e, 0x74, 15689 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, 15690 0x61, 0x76, 0x65, 0x55, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 15691 0x1a, 0x0c, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x14, 15692 0x0a, 0x12, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x55, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 15693 0x72, 0x6d, 0x65, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xd6, 0x08, 0x0a, 15694 0x17, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 15695 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6c, 15696 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 15697 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15698 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 15699 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x72, 15700 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 15701 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 15702 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15703 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x61, 15704 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x61, 15705 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x72, 15706 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 15707 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15708 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 15709 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 15710 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x13, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 15711 0x4d, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x1d, 0x63, 0x72, 15712 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x66, 0x66, 0x78, 15713 0x5f, 0x66, 0x70, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 15714 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15715 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 15716 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x46, 0x66, 0x78, 0x46, 0x70, 0x65, 0x43, 0x6f, 0x6e, 15717 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x19, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x52, 0x65, 0x70, 15718 0x6c, 0x61, 0x63, 0x65, 0x46, 0x66, 0x78, 0x46, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 15719 0x12, 0x70, 0x0a, 0x1b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 15720 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 15721 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15722 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 15723 0x78, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 15724 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x66, 0x69, 0x78, 0x65, 0x64, 0x53, 15725 0x69, 0x7a, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 15726 0x69, 0x67, 0x12, 0x53, 0x0a, 0x10, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 15727 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 15728 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 15729 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 15730 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 15731 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x1d, 0x72, 0x65, 0x70, 0x6c, 0x61, 15732 0x63, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 15733 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 15734 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 15735 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x57, 0x69, 15736 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 15737 0x48, 0x00, 0x52, 0x19, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x49, 15738 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 15739 0x10, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 15740 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15741 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 15742 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 15743 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 15744 0x12, 0x57, 0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 15745 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 15746 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 15747 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x43, 15748 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x48, 15749 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x64, 0x61, 0x74, 15750 0x65, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 15751 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 15752 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 15753 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 15754 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 15755 0x72, 0x0a, 0x1b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 15756 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 15757 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 15758 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 15759 0x70, 0x74, 0x6f, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 15760 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x19, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 15761 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 15762 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 15763 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xeb, 0x01, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 15764 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 15765 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 15766 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 15767 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 15768 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 15769 0x74, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x54, 0x6f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 15770 0x22, 0x80, 0x01, 0x0a, 0x08, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x12, 0x19, 0x0a, 15771 0x15, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 15772 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x59, 0x45, 0x41, 0x52, 15773 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x02, 0x12, 0x10, 0x0a, 15774 0x0c, 0x44, 0x41, 0x59, 0x5f, 0x4f, 0x46, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x03, 0x12, 15775 0x0f, 0x0a, 0x0b, 0x44, 0x41, 0x59, 0x5f, 0x4f, 0x46, 0x5f, 0x57, 0x45, 0x45, 0x4b, 0x10, 0x04, 15776 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x45, 0x45, 0x4b, 0x5f, 0x4f, 0x46, 0x5f, 0x59, 0x45, 0x41, 0x52, 15777 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x4f, 0x55, 0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x44, 0x41, 15778 0x59, 0x10, 0x06, 0x22, 0x53, 0x0a, 0x10, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x48, 0x61, 0x73, 15779 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 15780 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 15781 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15782 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x63, 15783 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x22, 0xe7, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x79, 15784 0x70, 0x74, 0x6f, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 15785 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 15786 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 15787 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 15788 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x63, 0x72, 15789 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x4f, 0x0a, 0x13, 0x73, 0x75, 0x72, 0x72, 0x6f, 15790 0x67, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 15791 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 15792 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 15793 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x67, 0x61, 0x74, 0x65, 15794 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 15795 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 15796 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 15797 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 15798 0x78, 0x74, 0x22, 0x4f, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x56, 0x61, 0x6c, 15799 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 15800 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 15801 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15802 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 15803 0x6c, 0x75, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x57, 0x69, 15804 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 15805 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 15806 0x22, 0xe2, 0x02, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 15807 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 15808 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 15809 0x52, 0x10, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x53, 0x6b, 15810 0x69, 0x70, 0x12, 0x79, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 15811 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 15812 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15813 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 15814 0x43, 0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 15815 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 15816 0x65, 0x48, 0x00, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x61, 15817 0x63, 0x74, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x22, 0x97, 0x01, 15818 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x49, 15819 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x5f, 15820 0x43, 0x48, 0x41, 0x52, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 15821 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 15822 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x4c, 15823 0x50, 0x48, 0x41, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x02, 15824 0x12, 0x14, 0x0a, 0x10, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 15825 0x43, 0x41, 0x53, 0x45, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x55, 0x4e, 0x43, 0x54, 0x55, 15826 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x48, 0x49, 0x54, 0x45, 15827 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x05, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 15828 0x63, 0x74, 0x65, 0x72, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 15829 0x74, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 15830 0x11, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 15831 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 15832 0x67, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 15833 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 15834 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x61, 0x73, 0x6b, 15835 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 15836 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 15837 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 15838 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 15839 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15840 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x72, 15841 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x12, 0x63, 0x68, 0x61, 0x72, 0x61, 15842 0x63, 0x74, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x22, 0xc8, 0x01, 15843 0x0a, 0x18, 0x46, 0x69, 0x78, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 15844 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x0b, 0x6c, 0x6f, 15845 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 15846 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 15847 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 15848 0x41, 0x02, 0x52, 0x0a, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x42, 15849 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 15850 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15851 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 15852 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 15853 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 15854 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x62, 0x75, 15855 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x0f, 0x42, 0x75, 0x63, 15856 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x07, 15857 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 15858 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 15859 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 15860 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 15861 0x63, 0x6b, 0x65, 0x74, 0x73, 0x1a, 0xb8, 0x01, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 15862 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 15863 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 15864 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x69, 0x6e, 15865 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 15866 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 15867 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x61, 0x78, 15868 0x12, 0x4e, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 15869 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 15870 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15871 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 15872 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 15873 0x22, 0xc7, 0x04, 0x0a, 0x19, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x61, 15874 0x63, 0x65, 0x46, 0x66, 0x78, 0x46, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 15875 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 15876 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 15877 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 15878 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 15879 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 15880 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15881 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 15882 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x73, 15883 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 15884 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15885 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 15886 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x46, 0x66, 0x78, 15887 0x46, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x66, 0x78, 0x43, 0x6f, 0x6d, 15888 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 15889 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x41, 0x6c, 0x70, 0x68, 0x61, 15890 0x62, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x6c, 15891 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 15892 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x12, 0x16, 15893 0x0a, 0x05, 0x72, 0x61, 0x64, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 15894 0x05, 0x72, 0x61, 0x64, 0x69, 0x78, 0x12, 0x4f, 0x0a, 0x13, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x67, 15895 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 15896 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15897 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 15898 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x49, 15899 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x17, 0x46, 0x66, 0x78, 0x43, 15900 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x70, 0x68, 0x61, 15901 0x62, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x26, 0x46, 0x46, 0x58, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 15902 0x4e, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x42, 0x45, 15903 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 15904 0x0b, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 15905 0x48, 0x45, 0x58, 0x41, 0x44, 0x45, 0x43, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1c, 0x0a, 15906 0x18, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x4c, 0x50, 0x48, 15907 0x41, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x41, 15908 0x4c, 0x50, 0x48, 0x41, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x04, 0x42, 0x0a, 15909 0x0a, 0x08, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x22, 0xfa, 0x01, 0x0a, 0x09, 0x43, 15910 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 15911 0x73, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 15912 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15913 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x79, 15914 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 15915 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x75, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 15916 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 15917 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x55, 15918 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 15919 0x79, 0x48, 0x00, 0x52, 0x09, 0x75, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x12, 0x4d, 15920 0x0a, 0x0b, 0x6b, 0x6d, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x18, 0x03, 0x20, 15921 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 15922 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4b, 0x6d, 0x73, 0x57, 15923 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x48, 15924 0x00, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x42, 0x08, 0x0a, 15925 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2d, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 15926 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 15927 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 15928 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x12, 0x55, 0x6e, 0x77, 0x72, 0x61, 0x70, 15929 0x70, 0x65, 0x64, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x03, 15930 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 15931 0x6b, 0x65, 0x79, 0x22, 0x68, 0x0a, 0x13, 0x4b, 0x6d, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 15932 0x64, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x77, 0x72, 15933 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 15934 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 15935 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 15936 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 15937 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xf6, 0x01, 15938 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 15939 0x67, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 15940 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 15941 0x52, 0x0e, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x79, 0x73, 15942 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 15943 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 15944 0x0e, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x79, 0x73, 0x12, 15945 0x38, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 15946 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15947 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 15948 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x72, 0x79, 15949 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 15950 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 15951 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x48, 15952 0x00, 0x52, 0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 15953 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xda, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x66, 0x6f, 0x54, 15954 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 15955 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 15956 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 15957 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15958 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 15959 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 15960 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 15961 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 15962 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xc8, 0x01, 0x0a, 0x16, 0x49, 0x6e, 0x66, 15963 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 15964 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 15965 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 15966 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 15967 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 15968 0x70, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x18, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 15969 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 15970 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 15971 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 15972 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 15973 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x70, 0x72, 0x69, 0x6d, 15974 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 15975 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x03, 0x0a, 0x13, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x72, 0x61, 15976 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x06, 0x66, 15977 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 15978 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15979 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 15980 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 15981 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 15982 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 15983 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 15984 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 15985 0x0a, 0x18, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 15986 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 15987 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 15988 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 15989 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 15990 0x48, 0x00, 0x52, 0x17, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 15991 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x19, 0x69, 15992 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 15993 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 15994 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 15995 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 15996 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 15997 0x52, 0x17, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 15998 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x74, 0x72, 0x61, 15999 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd3, 0x01, 0x0a, 0x15, 16000 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 16001 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 16002 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 16003 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 16004 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 16005 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 16006 0x52, 0x14, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 16007 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 16008 0x5f, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 16009 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 16010 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 16011 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x72, 16012 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 16013 0x73, 0x22, 0x59, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x72, 16014 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 16015 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16016 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 16017 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 16018 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x05, 0x0a, 16019 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 16020 0x12, 0x54, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 16021 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16022 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 16023 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 16024 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 16025 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xc6, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 16026 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 16027 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 16028 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 16029 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 16030 0x4a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 16031 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 16032 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 16033 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 16034 0x02, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x76, 16035 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 16036 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 16037 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 16038 0x5e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 16039 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 16040 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 16041 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 16042 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 16043 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 16044 0x97, 0x02, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 16045 0x6d, 0x0a, 0x10, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 16046 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16047 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 16048 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 16049 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x6f, 16050 0x67, 0x69, 0x63, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x6c, 16051 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x53, 16052 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 16053 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 16054 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 16055 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 16056 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 16057 0x6f, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x4f, 0x70, 16058 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x4f, 0x47, 0x49, 0x43, 0x41, 16059 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 16060 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 16061 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x16, 0x54, 0x72, 16062 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 16063 0x76, 0x69, 0x65, 0x77, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 16064 0x6d, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 16065 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 16066 0x73, 0x12, 0x67, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 16067 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 16068 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 16069 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 16070 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 16071 0x79, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 16072 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x97, 0x06, 0x0a, 0x15, 0x54, 16073 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 16074 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 16075 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16076 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 16077 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 16078 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 16079 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 16080 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 16081 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x56, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 16082 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 16083 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 16084 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 16085 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 16086 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 16087 0x12, 0x5f, 0x0a, 0x15, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 16088 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 16089 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 16090 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x72, 0x61, 16091 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x66, 0x69, 0x65, 16092 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 16093 0x73, 0x12, 0x51, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x73, 0x75, 0x70, 0x70, 16094 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 16095 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 16096 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 16097 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 16098 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 16099 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16100 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 16101 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 16102 0x61, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 16103 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 16104 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 16105 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 16106 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x0d, 0x53, 0x75, 0x6d, 0x6d, 16107 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 16108 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 16109 0x59, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 16110 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 16111 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 16112 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 16113 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 16114 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 16115 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 16116 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5e, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 16117 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 16118 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, 16119 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 16120 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 16121 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 16122 0x4f, 0x52, 0x10, 0x02, 0x22, 0x6f, 0x0a, 0x08, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 16123 0x12, 0x59, 0x0a, 0x1a, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 16124 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 16125 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 16126 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 16127 0x00, 0x52, 0x18, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 16128 0x69, 0x6f, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x6f, 16129 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x08, 0x0a, 0x06, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x22, 16130 0x89, 0x05, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 16131 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 16132 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 16133 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 16134 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 16135 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 16136 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 16137 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 16138 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 16139 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 16140 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 16141 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 16142 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16143 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 16144 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 16145 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 16146 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 16147 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 16148 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 16149 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 16150 0x69, 0x67, 0x3a, 0xc6, 0x02, 0xea, 0x41, 0xc2, 0x02, 0x0a, 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 16151 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 16152 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x40, 0x6f, 16153 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 16154 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 16155 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 16156 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 16157 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 16158 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 16159 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 16160 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x55, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 16161 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 16162 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 16163 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 16164 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 16165 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x4b, 16166 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 16167 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 16168 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 16169 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 16170 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x22, 0xb0, 0x05, 0x0a, 0x12, 16171 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 16172 0x74, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 16173 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 16174 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 16175 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 16176 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 16177 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 16178 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 16179 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16180 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 16181 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 16182 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 16183 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16184 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 16185 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 16186 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 16187 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 16188 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 16189 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 16190 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 16191 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0xe1, 0x02, 0xea, 0x41, 0xdd, 16192 0x02, 0x0a, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 16193 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 16194 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x46, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 16195 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 16196 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 16197 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x69, 0x64, 16198 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 16199 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 16200 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 16201 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 16202 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x5b, 16203 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 16204 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 16205 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 16206 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 16207 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 16208 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x51, 0x70, 0x72, 0x6f, 16209 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 16210 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 16211 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 16212 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 16213 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x22, 0x71, 16214 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 16215 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16216 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x64, 0x65, 16217 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 16218 0x6d, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16219 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 16220 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 16221 0x73, 0x22, 0xba, 0x07, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 16222 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 16223 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 16224 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 16225 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 16226 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 16227 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 16228 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 16229 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 16230 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 16231 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x70, 0x65, 16232 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x45, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 16233 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16234 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 16235 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 16236 0x65, 0x72, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x06, 16237 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 16238 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 16239 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 16240 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 16241 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 16242 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 16243 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 16244 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 16245 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 16246 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 16247 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 16248 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x6c, 16249 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 16250 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 16251 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 16252 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 16253 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 16254 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 16255 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 16256 0x67, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 16257 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 16258 0x67, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 16259 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16260 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 16261 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 16262 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 16263 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 16264 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 16265 0x6c, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x74, 16266 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x48, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 16267 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 16268 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 16269 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 16270 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x03, 16271 0x3a, 0x94, 0x01, 0xea, 0x41, 0x90, 0x01, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 16272 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 16273 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 16274 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 16275 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 16276 0x67, 0x65, 0x72, 0x7d, 0x12, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 16277 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 16278 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6a, 0x6f, 16279 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 16280 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x7d, 0x42, 0x05, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x86, 16281 0x07, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0d, 0x73, 0x61, 0x76, 16282 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 16283 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 16284 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 16285 0x53, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x0c, 16286 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x48, 0x0a, 0x07, 16287 0x70, 0x75, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 16288 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 16289 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 16290 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x48, 0x00, 0x52, 0x06, 16291 0x70, 0x75, 0x62, 0x53, 0x75, 0x62, 0x12, 0x6b, 0x0a, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 16292 0x68, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x73, 0x63, 16293 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16294 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 16295 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x75, 16296 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x6f, 0x43, 0x73, 0x63, 0x63, 0x48, 0x00, 0x52, 0x14, 0x70, 16297 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x6f, 0x43, 16298 0x73, 0x63, 0x63, 0x12, 0x94, 0x01, 0x0a, 0x26, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 16299 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 16300 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x05, 16301 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 16302 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 16303 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x69, 0x6e, 0x64, 0x69, 16304 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, 16305 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x21, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 16306 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x44, 16307 0x61, 0x74, 0x61, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x6d, 0x0a, 0x17, 0x6a, 0x6f, 16308 0x62, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 16309 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 16310 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 16311 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x6f, 16312 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 16313 0x48, 0x00, 0x52, 0x15, 0x6a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 16314 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x6a, 0x0a, 0x16, 0x70, 0x75, 0x62, 16315 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 16316 0x76, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16317 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 16318 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 16319 0x54, 0x6f, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x48, 0x00, 0x52, 16320 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x64, 16321 0x72, 0x69, 0x76, 0x65, 0x72, 0x1a, 0x5f, 0x0a, 0x0c, 0x53, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6e, 16322 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 16323 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 16324 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 16325 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 16326 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 16327 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x27, 0x0a, 0x0f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 16328 0x68, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 16329 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x1a, 16330 0x16, 0x0a, 0x14, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 16331 0x79, 0x54, 0x6f, 0x43, 0x73, 0x63, 0x63, 0x1a, 0x23, 0x0a, 0x21, 0x50, 0x75, 0x62, 0x6c, 0x69, 16332 0x73, 0x68, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x75, 16333 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x1a, 0x17, 0x0a, 0x15, 16334 0x4a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 16335 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x16, 0x0a, 0x14, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 16336 0x54, 0x6f, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x42, 0x08, 0x0a, 16337 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 16338 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 16339 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 16340 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 16341 0x12, 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 16342 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 16343 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10, 16344 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 16345 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 16346 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 16347 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 16348 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 16349 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 16350 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 16351 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 16352 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 16353 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 16354 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 16355 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 16356 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 16357 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 16358 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 16359 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 16360 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 16361 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 16362 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 16363 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x70, 0x65, 16364 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 16365 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 16366 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 16367 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 16368 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x6e, 16369 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 16370 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 16371 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x6c, 0x70, 0x2e, 16372 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 16373 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 16374 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 16375 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 16376 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 16377 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x6c, 16378 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 16379 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 16380 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 16381 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 16382 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 16383 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 16384 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 16385 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 16386 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 16387 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 16388 0x22, 0x9b, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 16389 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 16390 0x65, 0x12, 0x53, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 16391 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 16392 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 16393 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 16394 0x6c, 0x61, 0x74, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 16395 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 16396 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 16397 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5e, 16398 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 16399 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 16400 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 16401 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16402 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 16403 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe1, 16404 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 16405 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 16406 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 16407 0x41, 0x1f, 0x12, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 16408 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 16409 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 16410 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 16411 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 16412 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 16413 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 16414 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 16415 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 16416 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 16417 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 16418 0x49, 0x64, 0x22, 0x56, 0x0a, 0x19, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4a, 0x6f, 16419 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 16420 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 16421 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16422 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 16423 0x67, 0x67, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x17, 0x55, 16424 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 16425 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 16426 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 16427 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 16428 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 16429 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 16430 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 16431 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 16432 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x54, 0x72, 16433 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 16434 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 16435 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 16436 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 16437 0x73, 0x6b, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 16438 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 16439 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 16440 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 16441 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 16442 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 16443 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 16444 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 16445 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x12, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16446 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 16447 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x70, 16448 0x65, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 16449 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 16450 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 16451 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 16452 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x69, 0x73, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 16453 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 16454 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 16455 0x69, 0x73, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 16456 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x07, 0x72, 0x69, 0x73, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 16457 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 16458 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 16459 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 16460 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0xe7, 16461 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 16462 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 16463 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 16464 0x1f, 0x12, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 16465 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 16466 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 16467 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 16468 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 16469 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 16470 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 16471 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 16472 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 16473 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 16474 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 16475 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 16476 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 16477 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 16478 0x67, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 16479 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 16480 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x6a, 16481 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 16482 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 16483 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 16484 0x65, 0x6e, 0x22, 0x54, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 16485 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 16486 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 16487 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 16488 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 16489 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x73, 16490 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 16491 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 16492 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16493 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 16494 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x73, 0x74, 0x6f, 16495 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 16496 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 16497 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 16498 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 16499 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 16500 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x70, 0x65, 16501 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 16502 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 16503 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x61, 16504 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 16505 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 16506 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 16507 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd3, 0x06, 0x0a, 0x06, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 16508 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 16509 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 16510 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 16511 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 16512 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x74, 16513 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16514 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 16515 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 16516 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0c, 0x72, 0x69, 0x73, 0x6b, 16517 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 16518 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 16519 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 16520 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 16521 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 16522 0x6c, 0x73, 0x12, 0x5a, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 16523 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 16524 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 16525 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 16526 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0e, 16527 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3b, 16528 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 16529 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 16530 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 16531 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 16532 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 16533 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 16534 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 16535 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 16536 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16537 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 16538 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 16539 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 16540 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 16541 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 16542 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16543 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 16544 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x6f, 0x0a, 16545 0x08, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x4f, 0x42, 16546 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 16547 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 16548 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 16549 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 16550 0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 16551 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x06, 0x3a, 0x7f, 16552 0xea, 0x41, 0x7c, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 16553 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x24, 16554 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 16555 0x74, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x64, 0x6c, 0x70, 0x5f, 16556 0x6a, 0x6f, 0x62, 0x7d, 0x12, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 16557 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 16558 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x6c, 16559 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x64, 0x6c, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x42, 16560 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x49, 0x0a, 0x10, 0x47, 0x65, 16561 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 16562 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 16563 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16564 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 16565 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x96, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6c, 16566 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x06, 16567 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 16568 0x02, 0xfa, 0x41, 0x1b, 0x12, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16569 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 16570 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 16571 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 16572 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 16573 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 16574 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 16575 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x35, 0x0a, 0x04, 0x74, 16576 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16577 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 16578 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 16579 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 16580 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1f, 0x0a, 16581 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 16582 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x70, 16583 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 16584 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 16585 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 16586 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 16587 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 16588 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 16589 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 16590 0x22, 0x4c, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 16591 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 16592 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x64, 16593 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 16594 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 16595 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 16596 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 16597 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 16598 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 16599 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x13, 16600 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 16601 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 16602 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 16603 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 16604 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x1f, 0x43, 16605 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 16606 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 16607 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 16608 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16609 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 16610 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 16611 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x13, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 16612 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 16613 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 16614 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 16615 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 16616 0x41, 0x02, 0x52, 0x12, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 16617 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 16618 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6d, 16619 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 16620 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 16621 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xfd, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 16622 0x61, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 16623 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 16624 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 16625 0x41, 0x27, 0x0a, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 16626 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 16627 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 16628 0x5a, 0x0a, 0x13, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 16629 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 16630 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 16631 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 16632 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x12, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 16633 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 16634 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 16635 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 16636 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 16637 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x61, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x44, 16638 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 16639 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 16640 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 16641 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 16642 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 16643 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x1e, 16644 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 16645 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 16646 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 16647 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16648 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 16649 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 16650 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 16651 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 16652 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 16653 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 16654 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 16655 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 16656 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 16657 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xa7, 0x01, 16658 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 16659 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 16660 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 16661 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 16662 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 16663 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 16664 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x13, 0x64, 0x65, 0x69, 0x64, 16665 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 16666 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 16667 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 16668 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x64, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 16669 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 16670 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 16671 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 16672 0x0a, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 16673 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 16674 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa4, 0x02, 16675 0x0a, 0x1b, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63, 16676 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 16677 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 16678 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 16679 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 16680 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0a, 0x6f, 0x75, 0x74, 16681 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x61, 0x0a, 0x16, 0x63, 0x6c, 0x6f, 0x75, 0x64, 16682 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x65, 16683 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16684 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 16685 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x46, 0x69, 0x6c, 0x65, 16686 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x13, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 16687 0x61, 0x67, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x69, 16688 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 0x20, 16689 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 16690 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 16691 0x75, 0x65, 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x69, 0x67, 16692 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 16693 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x0a, 0x1a, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x73, 16694 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 16695 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 16696 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 16697 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x4e, 0x75, 0x6d, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 16698 0x22, 0xea, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 16699 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 16700 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 16701 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 16702 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 16703 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 16704 0x0a, 0x17, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 16705 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 16706 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 16707 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x73, 16708 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 16709 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x15, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 16710 0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x0a, 16711 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 16712 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 16713 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 16714 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 16715 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 16716 0x12, 0x43, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 16717 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 16718 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 16719 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x48, 0x00, 0x52, 0x05, 16720 0x72, 0x65, 0x67, 0x65, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8a, 0x01, 16721 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 16722 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x6b, 0x0a, 0x17, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 16723 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 16724 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 16725 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 16726 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 16727 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x00, 0x52, 0x15, 0x6c, 0x61, 0x72, 16728 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 16729 0x72, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd3, 0x02, 0x0a, 0x15, 0x53, 16730 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x56, 0x65, 0x72, 16731 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 16732 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 16733 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 16734 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 16735 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 16736 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 16737 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 16738 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 16739 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 16740 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16741 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 16742 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 16743 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 16744 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16745 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 16746 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x40, 16747 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 16748 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 16749 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 16750 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 16751 0x22, 0x98, 0x04, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 16752 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 16753 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 16754 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 16755 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 16756 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 16757 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 16758 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x57, 16759 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 16760 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16761 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 16762 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x56, 16763 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 16764 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0xc1, 0x02, 0xea, 0x41, 0xbd, 0x02, 0x0a, 0x21, 16765 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 16766 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 16767 0x65, 0x12, 0x3f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 16768 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 16769 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 16770 0x7b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 16771 0x65, 0x7d, 0x12, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 16772 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 16773 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 16774 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, 0x54, 0x6f, 0x72, 0x67, 0x61, 0x6e, 16775 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 16776 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 16777 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 16778 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x74, 16779 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, 16780 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 16781 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 16782 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 16783 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 16784 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x22, 0xfa, 0x01, 0x0a, 0x1b, 16785 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 16786 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 16787 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 16788 0xfa, 0x41, 0x23, 0x12, 0x21, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 16789 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 16790 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48, 16791 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 16792 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 16793 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 16794 0x6f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 16795 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x74, 0x6f, 0x72, 16796 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 16797 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 16798 0x6f, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 16799 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 16800 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xde, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 16801 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 16802 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 16803 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 16804 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 16805 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 16806 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 16807 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16808 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 16809 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 16810 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 16811 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 16812 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 16813 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 16814 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x59, 0x0a, 0x18, 0x47, 0x65, 0x74, 16815 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 16816 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 16817 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x6c, 0x70, 16818 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 16819 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 16820 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 16821 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 16822 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 16823 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x64, 0x6c, 0x70, 16824 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 16825 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 16826 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 16827 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 16828 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 16829 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 16830 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 16831 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1f, 0x0a, 16832 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 16833 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x98, 16834 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 16835 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 16836 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 16837 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16838 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 16839 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 16840 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 16841 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 16842 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 16843 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5c, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 16844 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 16845 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 16846 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 16847 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 16848 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 16849 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x1e, 0x48, 0x79, 0x62, 0x72, 16850 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 16851 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 16852 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 16853 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 16854 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 16855 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 16856 0x69, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 16857 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 16858 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 16859 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 16860 0x22, 0x9e, 0x01, 0x0a, 0x1a, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 16861 0x63, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 16862 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 16863 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16864 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 16865 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 16866 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 16867 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 16868 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 16869 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x74, 0x65, 16870 0x6d, 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x74, 16871 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 16872 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16873 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 16874 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 16875 0x54, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 16876 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 16877 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 16878 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 16879 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 16880 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xfb, 0x02, 0x0a, 0x14, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 16881 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4d, 16882 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 16883 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 16884 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 16885 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x10, 0x63, 0x6f, 0x6e, 16886 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 16887 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 16888 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 16889 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 16890 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, 0x77, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x48, 0x0a, 16891 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 16892 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 16893 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 16894 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 16895 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 16896 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 16897 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 16898 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 16899 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 16900 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 16901 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 16902 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 16903 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 16904 0x02, 0x38, 0x01, 0x22, 0x17, 0x0a, 0x15, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 16905 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xbb, 0x01, 0x0a, 16906 0x12, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 16907 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 16908 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 16909 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x51, 0x55, 0x41, 16910 0x4c, 0x5f, 0x54, 0x4f, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 16911 0x55, 0x41, 0x4c, 0x5f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 16912 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 16913 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x52, 0x45, 16914 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 16915 0x41, 0x4c, 0x53, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 16916 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x06, 0x12, 0x0a, 16917 0x0a, 0x06, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x07, 0x2a, 0x8d, 0x01, 0x0a, 0x0c, 0x4d, 16918 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 16919 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 16920 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x41, 16921 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 16922 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x54, 0x43, 16923 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 16924 0x4c, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x54, 16925 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x52, 16926 0x53, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x03, 0x2a, 0x4d, 0x0a, 0x0d, 0x43, 0x6f, 16927 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x43, 16928 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 16929 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 16930 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 16931 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x02, 0x2a, 0x42, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 16932 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x54, 16933 0x41, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 16934 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x4f, 0x52, 0x41, 16935 0x47, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x2a, 0x50, 0x0a, 16936 0x13, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 16937 0x65, 0x64, 0x42, 0x79, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x54, 0x59, 0x50, 16938 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 16939 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 16940 0x52, 0x49, 0x53, 0x4b, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x10, 0x02, 0x2a, 16941 0x52, 0x0a, 0x0a, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 16942 0x18, 0x44, 0x4c, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 16943 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 16944 0x4e, 0x53, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x4a, 0x4f, 0x42, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 16945 0x52, 0x49, 0x53, 0x4b, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x5f, 0x4a, 0x4f, 16946 0x42, 0x10, 0x02, 0x2a, 0x6e, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 16947 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 16948 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 16949 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 16950 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 16951 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 16952 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 16953 0x44, 0x10, 0x04, 0x32, 0xc3, 0x49, 0x0a, 0x0a, 0x44, 0x6c, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 16954 0x63, 0x65, 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 16955 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16956 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 16957 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 16958 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 16959 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 16960 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 16961 0x73, 0x65, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x22, 0x27, 0x2f, 0x76, 0x32, 0x2f, 16962 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 16963 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x69, 0x6e, 0x73, 0x70, 16964 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x22, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 16965 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 16966 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 16967 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, 16968 0x12, 0xcc, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 16969 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 16970 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49, 16971 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 16972 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 16973 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 16974 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x22, 16975 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 16976 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x72, 16977 0x65, 0x64, 0x61, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x35, 0x22, 0x30, 0x2f, 0x76, 0x32, 0x2f, 16978 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 16979 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 16980 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x12, 16981 0xea, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 16982 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 16983 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 16984 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 16985 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 16986 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 16987 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 16988 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 16989 0x22, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 16990 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 16991 0x74, 0x3a, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 16992 0x3b, 0x22, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 16993 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 16994 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x64, 16995 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0xea, 0x01, 0x0a, 16996 0x11, 0x52, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 16997 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 16998 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x69, 0x64, 0x65, 16999 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 17000 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 17001 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x69, 0x64, 17002 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 17003 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x22, 0x2a, 0x2f, 17004 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 17005 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x72, 17006 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x3b, 0x22, 0x36, 17007 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 17008 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 17009 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x72, 0x65, 0x69, 0x64, 17010 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0xb0, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 17011 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 17012 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 17013 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 17014 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 17015 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 17016 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 17017 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x0d, 17018 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5a, 0x24, 0x12, 17019 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6c, 0x6f, 0x63, 17020 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 17021 0x70, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xf4, 0x02, 0x0a, 17022 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 17023 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 17024 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 17025 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 17026 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 17027 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 17028 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 17029 0x61, 0x74, 0x65, 0x22, 0xfd, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdc, 0x01, 0x22, 0x2d, 0x2f, 17030 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 17031 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 17032 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 17033 0x3e, 0x22, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 17034 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 17035 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 17036 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 17037 0x2d, 0x22, 0x28, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 17038 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 17039 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x39, 17040 0x22, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 17041 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 17042 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 17043 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 17044 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 17045 0x61, 0x74, 0x65, 0x12, 0xfe, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 17046 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 17047 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 17048 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 17049 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 17050 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 17051 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 17052 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x87, 0x02, 0x82, 0xd3, 0xe4, 17053 0x93, 0x02, 0xdc, 0x01, 0x32, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 17054 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 17055 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 17056 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x3e, 0x32, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 17057 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 17058 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 17059 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 17060 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x2d, 0x32, 0x28, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 17061 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 17062 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 17063 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x39, 0x32, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 17064 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 17065 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 17066 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 17067 0xda, 0x41, 0x21, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 17068 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 17069 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xcf, 0x02, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x70, 17070 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 17071 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 17072 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 17073 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 17074 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 17075 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 17076 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xde, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xd0, 0x01, 0x12, 17077 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 17078 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 17079 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3b, 17080 0x12, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 17081 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 17082 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 17083 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2a, 0x12, 0x28, 0x2f, 17084 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 17085 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 17086 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 17087 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 17088 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 17089 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 17090 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe2, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x49, 17091 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 17092 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 17093 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x70, 17094 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 17095 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 17096 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 17097 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 17098 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 17099 0xd0, 0x01, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 17100 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 17101 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 17102 0x73, 0x5a, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 17103 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 17104 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 17105 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x2a, 17106 0x12, 0x28, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 17107 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 17108 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x36, 0x12, 0x34, 0x2f, 0x76, 17109 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 17110 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 17111 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 17112 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xc5, 0x02, 0x0a, 0x15, 17113 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 17114 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 17115 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 17116 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 17117 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 17118 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 17119 0x74, 0x79, 0x22, 0xde, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xd0, 0x01, 0x2a, 0x2d, 0x2f, 0x76, 17120 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 17121 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 17122 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3b, 0x2a, 0x39, 0x2f, 17123 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 17124 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 17125 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 17126 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2a, 0x2a, 0x28, 0x2f, 0x76, 0x32, 0x2f, 17127 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 17128 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 17129 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x36, 0x2a, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 17130 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 17131 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 17132 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 17133 0x61, 0x6d, 0x65, 0x12, 0x8c, 0x03, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 17134 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 17135 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 17136 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 17137 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 17138 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 17139 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 17140 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 17141 0x61, 0x74, 0x65, 0x22, 0x8c, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xe8, 0x01, 0x22, 0x30, 0x2f, 17142 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 17143 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 17144 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 17145 0x01, 0x2a, 0x5a, 0x41, 0x22, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 17146 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 17147 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 17148 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 17149 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x30, 0x22, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 17150 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 17151 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 17152 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x3c, 0x22, 0x37, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 17153 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 17154 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 17155 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 17156 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 17157 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 17158 0x74, 0x65, 0x12, 0x96, 0x03, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x69, 17159 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 17160 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 17161 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 17162 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 17163 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 17164 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 17165 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 17166 0x74, 0x65, 0x22, 0x96, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xe8, 0x01, 0x32, 0x30, 0x2f, 0x76, 17167 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 17168 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 17169 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 17170 0x2a, 0x5a, 0x41, 0x32, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 17171 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 17172 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 17173 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 17174 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x30, 0x32, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 17175 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 17176 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 17177 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x3c, 0x32, 0x37, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 17178 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 17179 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 17180 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 17181 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x24, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, 0x65, 0x69, 0x64, 17182 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2c, 17183 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xe4, 0x02, 0x0a, 0x15, 17184 0x47, 0x65, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 17185 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 17186 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 17187 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 17188 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 17189 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 17190 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 17191 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xea, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdc, 0x01, 0x12, 17192 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 17193 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 17194 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 17195 0x7d, 0x5a, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 17196 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 17197 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 17198 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 17199 0x7d, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 17200 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 17201 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 17202 0x5a, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 17203 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 17204 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 17205 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 17206 0x6d, 0x65, 0x12, 0xf7, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 17207 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x35, 17208 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 17209 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 17210 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 17211 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 17212 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 17213 0x73, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 17214 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xec, 0x01, 17215 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdc, 0x01, 0x12, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 17216 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 17217 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 17218 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x32, 17219 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 17220 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 17221 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 17222 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32, 17223 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 17224 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 17225 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x32, 0x2f, 17226 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 17227 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 17228 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 17229 0x74, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xd7, 0x02, 0x0a, 17230 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 17231 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 17232 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 17233 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 17234 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 17235 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 17236 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xea, 0x01, 0x82, 0xd3, 0xe4, 0x93, 17237 0x02, 0xdc, 0x01, 0x2a, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 17238 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 17239 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 17240 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3e, 0x2a, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 17241 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 17242 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 17243 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 17244 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2d, 0x2a, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 17245 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 17246 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 17247 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x39, 0x2a, 0x37, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 17248 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 17249 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 17250 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 17251 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe0, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 17252 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 17253 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 17254 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 17255 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 17256 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 17257 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x79, 17258 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x22, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 17259 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 17260 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x34, 17261 0x22, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 17262 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 17263 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 17264 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6a, 0x6f, 17265 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0xeb, 0x01, 0x0a, 0x10, 0x55, 0x70, 17266 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2e, 17267 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 17268 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 17269 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 17270 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 17271 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 17272 0x72, 0x22, 0x83, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x32, 0x23, 0x2f, 0x76, 0x32, 0x2f, 17273 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 17274 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 17275 0x01, 0x2a, 0x5a, 0x34, 0x32, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 17276 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 17277 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 17278 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1c, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 17279 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 17280 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xcf, 0x01, 0x0a, 0x17, 0x48, 0x79, 0x62, 0x72, 17281 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 17282 0x67, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 17283 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 17284 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 17285 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 17286 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 17287 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 17288 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 17289 0x22, 0x3d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 17290 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 17291 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 17292 0x7d, 0x3a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x3a, 17293 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x0d, 0x47, 0x65, 17294 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 17295 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 17296 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 17297 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 17298 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 17299 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x65, 0x82, 0xd3, 0xe4, 17300 0x93, 0x02, 0x58, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 17301 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 17302 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 17303 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 17304 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 17305 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 17306 0x6d, 0x65, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 17307 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 17308 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 17309 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 17310 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 17311 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 17312 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 17313 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x23, 0x2f, 17314 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 17315 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 17316 0x72, 0x73, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 17317 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 17318 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 17319 0x67, 0x67, 0x65, 0x72, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xc1, 17320 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 17321 0x67, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 17322 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 17323 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 17324 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 17325 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x65, 0x82, 0xd3, 0xe4, 17326 0x93, 0x02, 0x58, 0x2a, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 17327 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 17328 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 17329 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 17330 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 17331 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 17332 0x6d, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4a, 17333 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 17334 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 17335 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 17336 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 17337 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 17338 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, 17339 0x02, 0x70, 0x22, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 17340 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 17341 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 17342 0x3a, 0x01, 0x2a, 0x5a, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 17343 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 17344 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 17345 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 17346 0x01, 0x2a, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6c, 0x70, 17347 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 17348 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 17349 0x74, 0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 17350 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 17351 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x22, 0x83, 17352 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x22, 0x1f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 17353 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 17354 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x30, 0x22, 0x2b, 0x2f, 17355 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 17356 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 17357 0x2a, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 17358 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6a, 17359 0x6f, 0x62, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x69, 0x73, 0x6b, 17360 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0xc5, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6c, 0x70, 17361 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 17362 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 17363 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 17364 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 17365 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6c, 0x70, 0x4a, 17366 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 17367 0x93, 0x02, 0x50, 0x12, 0x1f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 17368 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 17369 0x4a, 0x6f, 0x62, 0x73, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 17370 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 17371 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 17372 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb2, 0x01, 0x0a, 17373 0x09, 0x47, 0x65, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 17374 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 17375 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 17376 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 17377 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 17378 0x6f, 0x62, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x1f, 0x2f, 0x76, 0x32, 0x2f, 17379 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 17380 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 17381 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 17382 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 17383 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 17384 0x65, 0x12, 0xb1, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6c, 0x70, 0x4a, 17385 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 17386 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 17387 0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 17388 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 17389 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x2a, 0x1f, 17390 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 17391 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 17392 0x2d, 0x2a, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 17393 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 17394 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 17395 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xbe, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 17396 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 17397 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 17398 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 17399 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 17400 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x6a, 0x82, 0xd3, 0xe4, 0x93, 17401 0x02, 0x64, 0x22, 0x26, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 17402 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 17403 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0x5a, 0x37, 0x22, 17404 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 17405 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 17406 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 17407 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0x12, 0xe3, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 17408 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 17409 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 17410 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 17411 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 17412 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 17413 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 17414 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22, 0xef, 0x01, 0x82, 0xd3, 0xe4, 17415 0x93, 0x02, 0xd8, 0x01, 0x22, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 17416 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 17417 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 17418 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 17419 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 17420 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 17421 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 17422 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x2c, 0x22, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 17423 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 17424 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 17425 0x01, 0x2a, 0x5a, 0x38, 0x22, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 17426 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 17427 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 17428 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0d, 0x70, 17429 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xed, 0x02, 0x0a, 17430 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 17431 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 17432 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 17433 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 17434 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 17435 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 17436 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 17437 0x22, 0xf9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xd8, 0x01, 0x32, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 17438 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 17439 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 17440 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x3d, 0x32, 0x38, 0x2f, 17441 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 17442 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 17443 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 17444 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x2c, 0x32, 0x27, 0x2f, 0x76, 17445 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 17446 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 17447 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x32, 0x33, 0x2f, 0x76, 0x32, 0x2f, 17448 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 17449 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 17450 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 17451 0x01, 0x2a, 0xda, 0x41, 0x17, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 17452 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xc8, 0x02, 0x0a, 17453 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 17454 0x70, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 17455 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 17456 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 17457 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 17458 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 17459 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22, 0xda, 0x01, 0x82, 0xd3, 0xe4, 17460 0x93, 0x02, 0xcc, 0x01, 0x12, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 17461 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 17462 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 17463 0x2a, 0x7d, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 17464 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 17465 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 17466 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x29, 17467 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 17468 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 17469 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x32, 17470 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 17471 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 17472 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 17473 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdb, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 17474 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 17475 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 17476 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 17477 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 17478 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 17479 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 17480 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 17481 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdc, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xcc, 0x01, 17482 0x12, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 17483 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 17484 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5a, 0x3a, 17485 0x12, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 17486 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 17487 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 17488 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5a, 0x29, 0x12, 0x27, 0x2f, 0x76, 17489 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 17490 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 17491 0x54, 0x79, 0x70, 0x65, 0x73, 0x5a, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 17492 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 17493 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 17494 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 17495 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xbf, 0x02, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 17496 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 17497 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 17498 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 17499 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 17500 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 17501 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xda, 0x01, 0x82, 0xd3, 0xe4, 17502 0x93, 0x02, 0xcc, 0x01, 0x2a, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 17503 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 17504 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 17505 0x2a, 0x7d, 0x5a, 0x3a, 0x2a, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 17506 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 17507 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 17508 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x29, 17509 0x2a, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 17510 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 17511 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x35, 0x2a, 0x33, 0x2f, 0x76, 0x32, 17512 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 17513 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 17514 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 17515 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc3, 0x01, 0x0a, 0x13, 0x48, 0x79, 0x62, 0x72, 17516 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 17517 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 17518 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 17519 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 17520 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 17521 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 17522 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 17523 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 17524 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 17525 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 17526 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 17527 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x91, 0x01, 17528 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 17529 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 17530 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x6c, 0x70, 17531 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 17532 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 17533 0x74, 0x79, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x22, 0x32, 0x2f, 0x76, 0x32, 0x2f, 17534 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 17535 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 17536 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x3a, 0x01, 17537 0x2a, 0x1a, 0x46, 0xca, 0x41, 0x12, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 17538 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 17539 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 17540 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 17541 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xfa, 0x02, 0x0a, 0x19, 0x63, 0x6f, 17542 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 17543 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x44, 0x6c, 0x70, 0x50, 0x72, 0x6f, 0x74, 17544 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 17545 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 17546 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 17547 0x63, 0x79, 0x2f, 0x64, 0x6c, 0x70, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x6c, 0x70, 0xaa, 0x02, 0x13, 17548 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x6c, 0x70, 17549 0x2e, 0x56, 0x32, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 17550 0x75, 0x64, 0x5c, 0x44, 0x6c, 0x70, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 17551 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x6c, 0x70, 0x3a, 0x3a, 17552 0x56, 0x32, 0xea, 0x41, 0x72, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 17553 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x43, 0x6f, 0x6e, 17554 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 17555 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 0x43, 0x6f, 0x6e, 0x74, 17556 0x65, 0x6e, 0x74, 0x12, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 17557 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 17558 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 17559 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0xea, 0x41, 0x5c, 0x0a, 0x27, 0x64, 0x6c, 0x70, 0x2e, 17560 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 17561 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 17562 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 17563 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 17564 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 17565 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 17566} 17567 17568var ( 17569 file_google_privacy_dlp_v2_dlp_proto_rawDescOnce sync.Once 17570 file_google_privacy_dlp_v2_dlp_proto_rawDescData = file_google_privacy_dlp_v2_dlp_proto_rawDesc 17571) 17572 17573func file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP() []byte { 17574 file_google_privacy_dlp_v2_dlp_proto_rawDescOnce.Do(func() { 17575 file_google_privacy_dlp_v2_dlp_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_privacy_dlp_v2_dlp_proto_rawDescData) 17576 }) 17577 return file_google_privacy_dlp_v2_dlp_proto_rawDescData 17578} 17579 17580var file_google_privacy_dlp_v2_dlp_proto_enumTypes = make([]protoimpl.EnumInfo, 16) 17581var file_google_privacy_dlp_v2_dlp_proto_msgTypes = make([]protoimpl.MessageInfo, 174) 17582var file_google_privacy_dlp_v2_dlp_proto_goTypes = []interface{}{ 17583 (RelationalOperator)(0), // 0: google.privacy.dlp.v2.RelationalOperator 17584 (MatchingType)(0), // 1: google.privacy.dlp.v2.MatchingType 17585 (ContentOption)(0), // 2: google.privacy.dlp.v2.ContentOption 17586 (MetadataType)(0), // 3: google.privacy.dlp.v2.MetadataType 17587 (InfoTypeSupportedBy)(0), // 4: google.privacy.dlp.v2.InfoTypeSupportedBy 17588 (DlpJobType)(0), // 5: google.privacy.dlp.v2.DlpJobType 17589 (StoredInfoTypeState)(0), // 6: google.privacy.dlp.v2.StoredInfoTypeState 17590 (ByteContentItem_BytesType)(0), // 7: google.privacy.dlp.v2.ByteContentItem.BytesType 17591 (OutputStorageConfig_OutputSchema)(0), // 8: google.privacy.dlp.v2.OutputStorageConfig.OutputSchema 17592 (TimePartConfig_TimePart)(0), // 9: google.privacy.dlp.v2.TimePartConfig.TimePart 17593 (CharsToIgnore_CommonCharsToIgnore)(0), // 10: google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore 17594 (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet)(0), // 11: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet 17595 (RecordCondition_Expressions_LogicalOperator)(0), // 12: google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator 17596 (TransformationSummary_TransformationResultCode)(0), // 13: google.privacy.dlp.v2.TransformationSummary.TransformationResultCode 17597 (JobTrigger_Status)(0), // 14: google.privacy.dlp.v2.JobTrigger.Status 17598 (DlpJob_JobState)(0), // 15: google.privacy.dlp.v2.DlpJob.JobState 17599 (*ExcludeInfoTypes)(nil), // 16: google.privacy.dlp.v2.ExcludeInfoTypes 17600 (*ExclusionRule)(nil), // 17: google.privacy.dlp.v2.ExclusionRule 17601 (*InspectionRule)(nil), // 18: google.privacy.dlp.v2.InspectionRule 17602 (*InspectionRuleSet)(nil), // 19: google.privacy.dlp.v2.InspectionRuleSet 17603 (*InspectConfig)(nil), // 20: google.privacy.dlp.v2.InspectConfig 17604 (*ByteContentItem)(nil), // 21: google.privacy.dlp.v2.ByteContentItem 17605 (*ContentItem)(nil), // 22: google.privacy.dlp.v2.ContentItem 17606 (*Table)(nil), // 23: google.privacy.dlp.v2.Table 17607 (*InspectResult)(nil), // 24: google.privacy.dlp.v2.InspectResult 17608 (*Finding)(nil), // 25: google.privacy.dlp.v2.Finding 17609 (*Location)(nil), // 26: google.privacy.dlp.v2.Location 17610 (*ContentLocation)(nil), // 27: google.privacy.dlp.v2.ContentLocation 17611 (*MetadataLocation)(nil), // 28: google.privacy.dlp.v2.MetadataLocation 17612 (*StorageMetadataLabel)(nil), // 29: google.privacy.dlp.v2.StorageMetadataLabel 17613 (*DocumentLocation)(nil), // 30: google.privacy.dlp.v2.DocumentLocation 17614 (*RecordLocation)(nil), // 31: google.privacy.dlp.v2.RecordLocation 17615 (*TableLocation)(nil), // 32: google.privacy.dlp.v2.TableLocation 17616 (*Container)(nil), // 33: google.privacy.dlp.v2.Container 17617 (*Range)(nil), // 34: google.privacy.dlp.v2.Range 17618 (*ImageLocation)(nil), // 35: google.privacy.dlp.v2.ImageLocation 17619 (*BoundingBox)(nil), // 36: google.privacy.dlp.v2.BoundingBox 17620 (*RedactImageRequest)(nil), // 37: google.privacy.dlp.v2.RedactImageRequest 17621 (*Color)(nil), // 38: google.privacy.dlp.v2.Color 17622 (*RedactImageResponse)(nil), // 39: google.privacy.dlp.v2.RedactImageResponse 17623 (*DeidentifyContentRequest)(nil), // 40: google.privacy.dlp.v2.DeidentifyContentRequest 17624 (*DeidentifyContentResponse)(nil), // 41: google.privacy.dlp.v2.DeidentifyContentResponse 17625 (*ReidentifyContentRequest)(nil), // 42: google.privacy.dlp.v2.ReidentifyContentRequest 17626 (*ReidentifyContentResponse)(nil), // 43: google.privacy.dlp.v2.ReidentifyContentResponse 17627 (*InspectContentRequest)(nil), // 44: google.privacy.dlp.v2.InspectContentRequest 17628 (*InspectContentResponse)(nil), // 45: google.privacy.dlp.v2.InspectContentResponse 17629 (*OutputStorageConfig)(nil), // 46: google.privacy.dlp.v2.OutputStorageConfig 17630 (*InfoTypeStats)(nil), // 47: google.privacy.dlp.v2.InfoTypeStats 17631 (*InspectDataSourceDetails)(nil), // 48: google.privacy.dlp.v2.InspectDataSourceDetails 17632 (*HybridInspectStatistics)(nil), // 49: google.privacy.dlp.v2.HybridInspectStatistics 17633 (*InfoTypeDescription)(nil), // 50: google.privacy.dlp.v2.InfoTypeDescription 17634 (*ListInfoTypesRequest)(nil), // 51: google.privacy.dlp.v2.ListInfoTypesRequest 17635 (*ListInfoTypesResponse)(nil), // 52: google.privacy.dlp.v2.ListInfoTypesResponse 17636 (*RiskAnalysisJobConfig)(nil), // 53: google.privacy.dlp.v2.RiskAnalysisJobConfig 17637 (*QuasiId)(nil), // 54: google.privacy.dlp.v2.QuasiId 17638 (*StatisticalTable)(nil), // 55: google.privacy.dlp.v2.StatisticalTable 17639 (*PrivacyMetric)(nil), // 56: google.privacy.dlp.v2.PrivacyMetric 17640 (*AnalyzeDataSourceRiskDetails)(nil), // 57: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails 17641 (*ValueFrequency)(nil), // 58: google.privacy.dlp.v2.ValueFrequency 17642 (*Value)(nil), // 59: google.privacy.dlp.v2.Value 17643 (*QuoteInfo)(nil), // 60: google.privacy.dlp.v2.QuoteInfo 17644 (*DateTime)(nil), // 61: google.privacy.dlp.v2.DateTime 17645 (*DeidentifyConfig)(nil), // 62: google.privacy.dlp.v2.DeidentifyConfig 17646 (*TransformationErrorHandling)(nil), // 63: google.privacy.dlp.v2.TransformationErrorHandling 17647 (*PrimitiveTransformation)(nil), // 64: google.privacy.dlp.v2.PrimitiveTransformation 17648 (*TimePartConfig)(nil), // 65: google.privacy.dlp.v2.TimePartConfig 17649 (*CryptoHashConfig)(nil), // 66: google.privacy.dlp.v2.CryptoHashConfig 17650 (*CryptoDeterministicConfig)(nil), // 67: google.privacy.dlp.v2.CryptoDeterministicConfig 17651 (*ReplaceValueConfig)(nil), // 68: google.privacy.dlp.v2.ReplaceValueConfig 17652 (*ReplaceWithInfoTypeConfig)(nil), // 69: google.privacy.dlp.v2.ReplaceWithInfoTypeConfig 17653 (*RedactConfig)(nil), // 70: google.privacy.dlp.v2.RedactConfig 17654 (*CharsToIgnore)(nil), // 71: google.privacy.dlp.v2.CharsToIgnore 17655 (*CharacterMaskConfig)(nil), // 72: google.privacy.dlp.v2.CharacterMaskConfig 17656 (*FixedSizeBucketingConfig)(nil), // 73: google.privacy.dlp.v2.FixedSizeBucketingConfig 17657 (*BucketingConfig)(nil), // 74: google.privacy.dlp.v2.BucketingConfig 17658 (*CryptoReplaceFfxFpeConfig)(nil), // 75: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig 17659 (*CryptoKey)(nil), // 76: google.privacy.dlp.v2.CryptoKey 17660 (*TransientCryptoKey)(nil), // 77: google.privacy.dlp.v2.TransientCryptoKey 17661 (*UnwrappedCryptoKey)(nil), // 78: google.privacy.dlp.v2.UnwrappedCryptoKey 17662 (*KmsWrappedCryptoKey)(nil), // 79: google.privacy.dlp.v2.KmsWrappedCryptoKey 17663 (*DateShiftConfig)(nil), // 80: google.privacy.dlp.v2.DateShiftConfig 17664 (*InfoTypeTransformations)(nil), // 81: google.privacy.dlp.v2.InfoTypeTransformations 17665 (*FieldTransformation)(nil), // 82: google.privacy.dlp.v2.FieldTransformation 17666 (*RecordTransformations)(nil), // 83: google.privacy.dlp.v2.RecordTransformations 17667 (*RecordSuppression)(nil), // 84: google.privacy.dlp.v2.RecordSuppression 17668 (*RecordCondition)(nil), // 85: google.privacy.dlp.v2.RecordCondition 17669 (*TransformationOverview)(nil), // 86: google.privacy.dlp.v2.TransformationOverview 17670 (*TransformationSummary)(nil), // 87: google.privacy.dlp.v2.TransformationSummary 17671 (*Schedule)(nil), // 88: google.privacy.dlp.v2.Schedule 17672 (*Manual)(nil), // 89: google.privacy.dlp.v2.Manual 17673 (*InspectTemplate)(nil), // 90: google.privacy.dlp.v2.InspectTemplate 17674 (*DeidentifyTemplate)(nil), // 91: google.privacy.dlp.v2.DeidentifyTemplate 17675 (*Error)(nil), // 92: google.privacy.dlp.v2.Error 17676 (*JobTrigger)(nil), // 93: google.privacy.dlp.v2.JobTrigger 17677 (*Action)(nil), // 94: google.privacy.dlp.v2.Action 17678 (*CreateInspectTemplateRequest)(nil), // 95: google.privacy.dlp.v2.CreateInspectTemplateRequest 17679 (*UpdateInspectTemplateRequest)(nil), // 96: google.privacy.dlp.v2.UpdateInspectTemplateRequest 17680 (*GetInspectTemplateRequest)(nil), // 97: google.privacy.dlp.v2.GetInspectTemplateRequest 17681 (*ListInspectTemplatesRequest)(nil), // 98: google.privacy.dlp.v2.ListInspectTemplatesRequest 17682 (*ListInspectTemplatesResponse)(nil), // 99: google.privacy.dlp.v2.ListInspectTemplatesResponse 17683 (*DeleteInspectTemplateRequest)(nil), // 100: google.privacy.dlp.v2.DeleteInspectTemplateRequest 17684 (*CreateJobTriggerRequest)(nil), // 101: google.privacy.dlp.v2.CreateJobTriggerRequest 17685 (*ActivateJobTriggerRequest)(nil), // 102: google.privacy.dlp.v2.ActivateJobTriggerRequest 17686 (*UpdateJobTriggerRequest)(nil), // 103: google.privacy.dlp.v2.UpdateJobTriggerRequest 17687 (*GetJobTriggerRequest)(nil), // 104: google.privacy.dlp.v2.GetJobTriggerRequest 17688 (*CreateDlpJobRequest)(nil), // 105: google.privacy.dlp.v2.CreateDlpJobRequest 17689 (*ListJobTriggersRequest)(nil), // 106: google.privacy.dlp.v2.ListJobTriggersRequest 17690 (*ListJobTriggersResponse)(nil), // 107: google.privacy.dlp.v2.ListJobTriggersResponse 17691 (*DeleteJobTriggerRequest)(nil), // 108: google.privacy.dlp.v2.DeleteJobTriggerRequest 17692 (*InspectJobConfig)(nil), // 109: google.privacy.dlp.v2.InspectJobConfig 17693 (*DlpJob)(nil), // 110: google.privacy.dlp.v2.DlpJob 17694 (*GetDlpJobRequest)(nil), // 111: google.privacy.dlp.v2.GetDlpJobRequest 17695 (*ListDlpJobsRequest)(nil), // 112: google.privacy.dlp.v2.ListDlpJobsRequest 17696 (*ListDlpJobsResponse)(nil), // 113: google.privacy.dlp.v2.ListDlpJobsResponse 17697 (*CancelDlpJobRequest)(nil), // 114: google.privacy.dlp.v2.CancelDlpJobRequest 17698 (*FinishDlpJobRequest)(nil), // 115: google.privacy.dlp.v2.FinishDlpJobRequest 17699 (*DeleteDlpJobRequest)(nil), // 116: google.privacy.dlp.v2.DeleteDlpJobRequest 17700 (*CreateDeidentifyTemplateRequest)(nil), // 117: google.privacy.dlp.v2.CreateDeidentifyTemplateRequest 17701 (*UpdateDeidentifyTemplateRequest)(nil), // 118: google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest 17702 (*GetDeidentifyTemplateRequest)(nil), // 119: google.privacy.dlp.v2.GetDeidentifyTemplateRequest 17703 (*ListDeidentifyTemplatesRequest)(nil), // 120: google.privacy.dlp.v2.ListDeidentifyTemplatesRequest 17704 (*ListDeidentifyTemplatesResponse)(nil), // 121: google.privacy.dlp.v2.ListDeidentifyTemplatesResponse 17705 (*DeleteDeidentifyTemplateRequest)(nil), // 122: google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest 17706 (*LargeCustomDictionaryConfig)(nil), // 123: google.privacy.dlp.v2.LargeCustomDictionaryConfig 17707 (*LargeCustomDictionaryStats)(nil), // 124: google.privacy.dlp.v2.LargeCustomDictionaryStats 17708 (*StoredInfoTypeConfig)(nil), // 125: google.privacy.dlp.v2.StoredInfoTypeConfig 17709 (*StoredInfoTypeStats)(nil), // 126: google.privacy.dlp.v2.StoredInfoTypeStats 17710 (*StoredInfoTypeVersion)(nil), // 127: google.privacy.dlp.v2.StoredInfoTypeVersion 17711 (*StoredInfoType)(nil), // 128: google.privacy.dlp.v2.StoredInfoType 17712 (*CreateStoredInfoTypeRequest)(nil), // 129: google.privacy.dlp.v2.CreateStoredInfoTypeRequest 17713 (*UpdateStoredInfoTypeRequest)(nil), // 130: google.privacy.dlp.v2.UpdateStoredInfoTypeRequest 17714 (*GetStoredInfoTypeRequest)(nil), // 131: google.privacy.dlp.v2.GetStoredInfoTypeRequest 17715 (*ListStoredInfoTypesRequest)(nil), // 132: google.privacy.dlp.v2.ListStoredInfoTypesRequest 17716 (*ListStoredInfoTypesResponse)(nil), // 133: google.privacy.dlp.v2.ListStoredInfoTypesResponse 17717 (*DeleteStoredInfoTypeRequest)(nil), // 134: google.privacy.dlp.v2.DeleteStoredInfoTypeRequest 17718 (*HybridInspectJobTriggerRequest)(nil), // 135: google.privacy.dlp.v2.HybridInspectJobTriggerRequest 17719 (*HybridInspectDlpJobRequest)(nil), // 136: google.privacy.dlp.v2.HybridInspectDlpJobRequest 17720 (*HybridContentItem)(nil), // 137: google.privacy.dlp.v2.HybridContentItem 17721 (*HybridFindingDetails)(nil), // 138: google.privacy.dlp.v2.HybridFindingDetails 17722 (*HybridInspectResponse)(nil), // 139: google.privacy.dlp.v2.HybridInspectResponse 17723 (*InspectConfig_FindingLimits)(nil), // 140: google.privacy.dlp.v2.InspectConfig.FindingLimits 17724 (*InspectConfig_FindingLimits_InfoTypeLimit)(nil), // 141: google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit 17725 (*Table_Row)(nil), // 142: google.privacy.dlp.v2.Table.Row 17726 nil, // 143: google.privacy.dlp.v2.Finding.LabelsEntry 17727 (*RedactImageRequest_ImageRedactionConfig)(nil), // 144: google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig 17728 (*InspectDataSourceDetails_RequestedOptions)(nil), // 145: google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions 17729 (*InspectDataSourceDetails_Result)(nil), // 146: google.privacy.dlp.v2.InspectDataSourceDetails.Result 17730 (*StatisticalTable_QuasiIdentifierField)(nil), // 147: google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField 17731 (*PrivacyMetric_NumericalStatsConfig)(nil), // 148: google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig 17732 (*PrivacyMetric_CategoricalStatsConfig)(nil), // 149: google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig 17733 (*PrivacyMetric_KAnonymityConfig)(nil), // 150: google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig 17734 (*PrivacyMetric_LDiversityConfig)(nil), // 151: google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig 17735 (*PrivacyMetric_KMapEstimationConfig)(nil), // 152: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig 17736 (*PrivacyMetric_DeltaPresenceEstimationConfig)(nil), // 153: google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig 17737 (*PrivacyMetric_KMapEstimationConfig_TaggedField)(nil), // 154: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField 17738 (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable)(nil), // 155: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable 17739 (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField)(nil), // 156: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField 17740 (*AnalyzeDataSourceRiskDetails_NumericalStatsResult)(nil), // 157: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult 17741 (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult)(nil), // 158: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult 17742 (*AnalyzeDataSourceRiskDetails_KAnonymityResult)(nil), // 159: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult 17743 (*AnalyzeDataSourceRiskDetails_LDiversityResult)(nil), // 160: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult 17744 (*AnalyzeDataSourceRiskDetails_KMapEstimationResult)(nil), // 161: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult 17745 (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult)(nil), // 162: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult 17746 (*AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions)(nil), // 163: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions 17747 (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket)(nil), // 164: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket 17748 (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass)(nil), // 165: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass 17749 (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket)(nil), // 166: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket 17750 (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass)(nil), // 167: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass 17751 (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket)(nil), // 168: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket 17752 (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues)(nil), // 169: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues 17753 (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket)(nil), // 170: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket 17754 (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues)(nil), // 171: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues 17755 (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket)(nil), // 172: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket 17756 (*DateTime_TimeZone)(nil), // 173: google.privacy.dlp.v2.DateTime.TimeZone 17757 (*TransformationErrorHandling_ThrowError)(nil), // 174: google.privacy.dlp.v2.TransformationErrorHandling.ThrowError 17758 (*TransformationErrorHandling_LeaveUntransformed)(nil), // 175: google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed 17759 (*BucketingConfig_Bucket)(nil), // 176: google.privacy.dlp.v2.BucketingConfig.Bucket 17760 (*InfoTypeTransformations_InfoTypeTransformation)(nil), // 177: google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation 17761 (*RecordCondition_Condition)(nil), // 178: google.privacy.dlp.v2.RecordCondition.Condition 17762 (*RecordCondition_Conditions)(nil), // 179: google.privacy.dlp.v2.RecordCondition.Conditions 17763 (*RecordCondition_Expressions)(nil), // 180: google.privacy.dlp.v2.RecordCondition.Expressions 17764 (*TransformationSummary_SummaryResult)(nil), // 181: google.privacy.dlp.v2.TransformationSummary.SummaryResult 17765 (*JobTrigger_Trigger)(nil), // 182: google.privacy.dlp.v2.JobTrigger.Trigger 17766 (*Action_SaveFindings)(nil), // 183: google.privacy.dlp.v2.Action.SaveFindings 17767 (*Action_PublishToPubSub)(nil), // 184: google.privacy.dlp.v2.Action.PublishToPubSub 17768 (*Action_PublishSummaryToCscc)(nil), // 185: google.privacy.dlp.v2.Action.PublishSummaryToCscc 17769 (*Action_PublishFindingsToCloudDataCatalog)(nil), // 186: google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog 17770 (*Action_JobNotificationEmails)(nil), // 187: google.privacy.dlp.v2.Action.JobNotificationEmails 17771 (*Action_PublishToStackdriver)(nil), // 188: google.privacy.dlp.v2.Action.PublishToStackdriver 17772 nil, // 189: google.privacy.dlp.v2.HybridFindingDetails.LabelsEntry 17773 (*InfoType)(nil), // 190: google.privacy.dlp.v2.InfoType 17774 (*CustomInfoType_Dictionary)(nil), // 191: google.privacy.dlp.v2.CustomInfoType.Dictionary 17775 (*CustomInfoType_Regex)(nil), // 192: google.privacy.dlp.v2.CustomInfoType.Regex 17776 (*CustomInfoType_DetectionRule_HotwordRule)(nil), // 193: google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule 17777 (Likelihood)(0), // 194: google.privacy.dlp.v2.Likelihood 17778 (*CustomInfoType)(nil), // 195: google.privacy.dlp.v2.CustomInfoType 17779 (*FieldId)(nil), // 196: google.privacy.dlp.v2.FieldId 17780 (*timestamppb.Timestamp)(nil), // 197: google.protobuf.Timestamp 17781 (*RecordKey)(nil), // 198: google.privacy.dlp.v2.RecordKey 17782 (*BigQueryTable)(nil), // 199: google.privacy.dlp.v2.BigQueryTable 17783 (*emptypb.Empty)(nil), // 200: google.protobuf.Empty 17784 (*timeofday.TimeOfDay)(nil), // 201: google.type.TimeOfDay 17785 (*date.Date)(nil), // 202: google.type.Date 17786 (dayofweek.DayOfWeek)(0), // 203: google.type.DayOfWeek 17787 (*durationpb.Duration)(nil), // 204: google.protobuf.Duration 17788 (*status.Status)(nil), // 205: google.rpc.Status 17789 (*fieldmaskpb.FieldMask)(nil), // 206: google.protobuf.FieldMask 17790 (*StorageConfig)(nil), // 207: google.privacy.dlp.v2.StorageConfig 17791 (*CloudStoragePath)(nil), // 208: google.privacy.dlp.v2.CloudStoragePath 17792 (*CloudStorageFileSet)(nil), // 209: google.privacy.dlp.v2.CloudStorageFileSet 17793 (*BigQueryField)(nil), // 210: google.privacy.dlp.v2.BigQueryField 17794 (*TableOptions)(nil), // 211: google.privacy.dlp.v2.TableOptions 17795 (*EntityId)(nil), // 212: google.privacy.dlp.v2.EntityId 17796} 17797var file_google_privacy_dlp_v2_dlp_proto_depIdxs = []int32{ 17798 190, // 0: google.privacy.dlp.v2.ExcludeInfoTypes.info_types:type_name -> google.privacy.dlp.v2.InfoType 17799 191, // 1: google.privacy.dlp.v2.ExclusionRule.dictionary:type_name -> google.privacy.dlp.v2.CustomInfoType.Dictionary 17800 192, // 2: google.privacy.dlp.v2.ExclusionRule.regex:type_name -> google.privacy.dlp.v2.CustomInfoType.Regex 17801 16, // 3: google.privacy.dlp.v2.ExclusionRule.exclude_info_types:type_name -> google.privacy.dlp.v2.ExcludeInfoTypes 17802 1, // 4: google.privacy.dlp.v2.ExclusionRule.matching_type:type_name -> google.privacy.dlp.v2.MatchingType 17803 193, // 5: google.privacy.dlp.v2.InspectionRule.hotword_rule:type_name -> google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule 17804 17, // 6: google.privacy.dlp.v2.InspectionRule.exclusion_rule:type_name -> google.privacy.dlp.v2.ExclusionRule 17805 190, // 7: google.privacy.dlp.v2.InspectionRuleSet.info_types:type_name -> google.privacy.dlp.v2.InfoType 17806 18, // 8: google.privacy.dlp.v2.InspectionRuleSet.rules:type_name -> google.privacy.dlp.v2.InspectionRule 17807 190, // 9: google.privacy.dlp.v2.InspectConfig.info_types:type_name -> google.privacy.dlp.v2.InfoType 17808 194, // 10: google.privacy.dlp.v2.InspectConfig.min_likelihood:type_name -> google.privacy.dlp.v2.Likelihood 17809 140, // 11: google.privacy.dlp.v2.InspectConfig.limits:type_name -> google.privacy.dlp.v2.InspectConfig.FindingLimits 17810 195, // 12: google.privacy.dlp.v2.InspectConfig.custom_info_types:type_name -> google.privacy.dlp.v2.CustomInfoType 17811 2, // 13: google.privacy.dlp.v2.InspectConfig.content_options:type_name -> google.privacy.dlp.v2.ContentOption 17812 19, // 14: google.privacy.dlp.v2.InspectConfig.rule_set:type_name -> google.privacy.dlp.v2.InspectionRuleSet 17813 7, // 15: google.privacy.dlp.v2.ByteContentItem.type:type_name -> google.privacy.dlp.v2.ByteContentItem.BytesType 17814 23, // 16: google.privacy.dlp.v2.ContentItem.table:type_name -> google.privacy.dlp.v2.Table 17815 21, // 17: google.privacy.dlp.v2.ContentItem.byte_item:type_name -> google.privacy.dlp.v2.ByteContentItem 17816 196, // 18: google.privacy.dlp.v2.Table.headers:type_name -> google.privacy.dlp.v2.FieldId 17817 142, // 19: google.privacy.dlp.v2.Table.rows:type_name -> google.privacy.dlp.v2.Table.Row 17818 25, // 20: google.privacy.dlp.v2.InspectResult.findings:type_name -> google.privacy.dlp.v2.Finding 17819 190, // 21: google.privacy.dlp.v2.Finding.info_type:type_name -> google.privacy.dlp.v2.InfoType 17820 194, // 22: google.privacy.dlp.v2.Finding.likelihood:type_name -> google.privacy.dlp.v2.Likelihood 17821 26, // 23: google.privacy.dlp.v2.Finding.location:type_name -> google.privacy.dlp.v2.Location 17822 197, // 24: google.privacy.dlp.v2.Finding.create_time:type_name -> google.protobuf.Timestamp 17823 60, // 25: google.privacy.dlp.v2.Finding.quote_info:type_name -> google.privacy.dlp.v2.QuoteInfo 17824 143, // 26: google.privacy.dlp.v2.Finding.labels:type_name -> google.privacy.dlp.v2.Finding.LabelsEntry 17825 197, // 27: google.privacy.dlp.v2.Finding.job_create_time:type_name -> google.protobuf.Timestamp 17826 34, // 28: google.privacy.dlp.v2.Location.byte_range:type_name -> google.privacy.dlp.v2.Range 17827 34, // 29: google.privacy.dlp.v2.Location.codepoint_range:type_name -> google.privacy.dlp.v2.Range 17828 27, // 30: google.privacy.dlp.v2.Location.content_locations:type_name -> google.privacy.dlp.v2.ContentLocation 17829 33, // 31: google.privacy.dlp.v2.Location.container:type_name -> google.privacy.dlp.v2.Container 17830 31, // 32: google.privacy.dlp.v2.ContentLocation.record_location:type_name -> google.privacy.dlp.v2.RecordLocation 17831 35, // 33: google.privacy.dlp.v2.ContentLocation.image_location:type_name -> google.privacy.dlp.v2.ImageLocation 17832 30, // 34: google.privacy.dlp.v2.ContentLocation.document_location:type_name -> google.privacy.dlp.v2.DocumentLocation 17833 28, // 35: google.privacy.dlp.v2.ContentLocation.metadata_location:type_name -> google.privacy.dlp.v2.MetadataLocation 17834 197, // 36: google.privacy.dlp.v2.ContentLocation.container_timestamp:type_name -> google.protobuf.Timestamp 17835 3, // 37: google.privacy.dlp.v2.MetadataLocation.type:type_name -> google.privacy.dlp.v2.MetadataType 17836 29, // 38: google.privacy.dlp.v2.MetadataLocation.storage_label:type_name -> google.privacy.dlp.v2.StorageMetadataLabel 17837 198, // 39: google.privacy.dlp.v2.RecordLocation.record_key:type_name -> google.privacy.dlp.v2.RecordKey 17838 196, // 40: google.privacy.dlp.v2.RecordLocation.field_id:type_name -> google.privacy.dlp.v2.FieldId 17839 32, // 41: google.privacy.dlp.v2.RecordLocation.table_location:type_name -> google.privacy.dlp.v2.TableLocation 17840 197, // 42: google.privacy.dlp.v2.Container.update_time:type_name -> google.protobuf.Timestamp 17841 36, // 43: google.privacy.dlp.v2.ImageLocation.bounding_boxes:type_name -> google.privacy.dlp.v2.BoundingBox 17842 20, // 44: google.privacy.dlp.v2.RedactImageRequest.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig 17843 144, // 45: google.privacy.dlp.v2.RedactImageRequest.image_redaction_configs:type_name -> google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig 17844 21, // 46: google.privacy.dlp.v2.RedactImageRequest.byte_item:type_name -> google.privacy.dlp.v2.ByteContentItem 17845 24, // 47: google.privacy.dlp.v2.RedactImageResponse.inspect_result:type_name -> google.privacy.dlp.v2.InspectResult 17846 62, // 48: google.privacy.dlp.v2.DeidentifyContentRequest.deidentify_config:type_name -> google.privacy.dlp.v2.DeidentifyConfig 17847 20, // 49: google.privacy.dlp.v2.DeidentifyContentRequest.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig 17848 22, // 50: google.privacy.dlp.v2.DeidentifyContentRequest.item:type_name -> google.privacy.dlp.v2.ContentItem 17849 22, // 51: google.privacy.dlp.v2.DeidentifyContentResponse.item:type_name -> google.privacy.dlp.v2.ContentItem 17850 86, // 52: google.privacy.dlp.v2.DeidentifyContentResponse.overview:type_name -> google.privacy.dlp.v2.TransformationOverview 17851 62, // 53: google.privacy.dlp.v2.ReidentifyContentRequest.reidentify_config:type_name -> google.privacy.dlp.v2.DeidentifyConfig 17852 20, // 54: google.privacy.dlp.v2.ReidentifyContentRequest.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig 17853 22, // 55: google.privacy.dlp.v2.ReidentifyContentRequest.item:type_name -> google.privacy.dlp.v2.ContentItem 17854 22, // 56: google.privacy.dlp.v2.ReidentifyContentResponse.item:type_name -> google.privacy.dlp.v2.ContentItem 17855 86, // 57: google.privacy.dlp.v2.ReidentifyContentResponse.overview:type_name -> google.privacy.dlp.v2.TransformationOverview 17856 20, // 58: google.privacy.dlp.v2.InspectContentRequest.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig 17857 22, // 59: google.privacy.dlp.v2.InspectContentRequest.item:type_name -> google.privacy.dlp.v2.ContentItem 17858 24, // 60: google.privacy.dlp.v2.InspectContentResponse.result:type_name -> google.privacy.dlp.v2.InspectResult 17859 199, // 61: google.privacy.dlp.v2.OutputStorageConfig.table:type_name -> google.privacy.dlp.v2.BigQueryTable 17860 8, // 62: google.privacy.dlp.v2.OutputStorageConfig.output_schema:type_name -> google.privacy.dlp.v2.OutputStorageConfig.OutputSchema 17861 190, // 63: google.privacy.dlp.v2.InfoTypeStats.info_type:type_name -> google.privacy.dlp.v2.InfoType 17862 145, // 64: google.privacy.dlp.v2.InspectDataSourceDetails.requested_options:type_name -> google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions 17863 146, // 65: google.privacy.dlp.v2.InspectDataSourceDetails.result:type_name -> google.privacy.dlp.v2.InspectDataSourceDetails.Result 17864 4, // 66: google.privacy.dlp.v2.InfoTypeDescription.supported_by:type_name -> google.privacy.dlp.v2.InfoTypeSupportedBy 17865 50, // 67: google.privacy.dlp.v2.ListInfoTypesResponse.info_types:type_name -> google.privacy.dlp.v2.InfoTypeDescription 17866 56, // 68: google.privacy.dlp.v2.RiskAnalysisJobConfig.privacy_metric:type_name -> google.privacy.dlp.v2.PrivacyMetric 17867 199, // 69: google.privacy.dlp.v2.RiskAnalysisJobConfig.source_table:type_name -> google.privacy.dlp.v2.BigQueryTable 17868 94, // 70: google.privacy.dlp.v2.RiskAnalysisJobConfig.actions:type_name -> google.privacy.dlp.v2.Action 17869 196, // 71: google.privacy.dlp.v2.QuasiId.field:type_name -> google.privacy.dlp.v2.FieldId 17870 190, // 72: google.privacy.dlp.v2.QuasiId.info_type:type_name -> google.privacy.dlp.v2.InfoType 17871 200, // 73: google.privacy.dlp.v2.QuasiId.inferred:type_name -> google.protobuf.Empty 17872 199, // 74: google.privacy.dlp.v2.StatisticalTable.table:type_name -> google.privacy.dlp.v2.BigQueryTable 17873 147, // 75: google.privacy.dlp.v2.StatisticalTable.quasi_ids:type_name -> google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField 17874 196, // 76: google.privacy.dlp.v2.StatisticalTable.relative_frequency:type_name -> google.privacy.dlp.v2.FieldId 17875 148, // 77: google.privacy.dlp.v2.PrivacyMetric.numerical_stats_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig 17876 149, // 78: google.privacy.dlp.v2.PrivacyMetric.categorical_stats_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig 17877 150, // 79: google.privacy.dlp.v2.PrivacyMetric.k_anonymity_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig 17878 151, // 80: google.privacy.dlp.v2.PrivacyMetric.l_diversity_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig 17879 152, // 81: google.privacy.dlp.v2.PrivacyMetric.k_map_estimation_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig 17880 153, // 82: google.privacy.dlp.v2.PrivacyMetric.delta_presence_estimation_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig 17881 56, // 83: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.requested_privacy_metric:type_name -> google.privacy.dlp.v2.PrivacyMetric 17882 199, // 84: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.requested_source_table:type_name -> google.privacy.dlp.v2.BigQueryTable 17883 157, // 85: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.numerical_stats_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult 17884 158, // 86: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.categorical_stats_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult 17885 159, // 87: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.k_anonymity_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult 17886 160, // 88: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.l_diversity_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult 17887 161, // 89: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.k_map_estimation_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult 17888 162, // 90: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.delta_presence_estimation_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult 17889 163, // 91: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.requested_options:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions 17890 59, // 92: google.privacy.dlp.v2.ValueFrequency.value:type_name -> google.privacy.dlp.v2.Value 17891 197, // 93: google.privacy.dlp.v2.Value.timestamp_value:type_name -> google.protobuf.Timestamp 17892 201, // 94: google.privacy.dlp.v2.Value.time_value:type_name -> google.type.TimeOfDay 17893 202, // 95: google.privacy.dlp.v2.Value.date_value:type_name -> google.type.Date 17894 203, // 96: google.privacy.dlp.v2.Value.day_of_week_value:type_name -> google.type.DayOfWeek 17895 61, // 97: google.privacy.dlp.v2.QuoteInfo.date_time:type_name -> google.privacy.dlp.v2.DateTime 17896 202, // 98: google.privacy.dlp.v2.DateTime.date:type_name -> google.type.Date 17897 203, // 99: google.privacy.dlp.v2.DateTime.day_of_week:type_name -> google.type.DayOfWeek 17898 201, // 100: google.privacy.dlp.v2.DateTime.time:type_name -> google.type.TimeOfDay 17899 173, // 101: google.privacy.dlp.v2.DateTime.time_zone:type_name -> google.privacy.dlp.v2.DateTime.TimeZone 17900 81, // 102: google.privacy.dlp.v2.DeidentifyConfig.info_type_transformations:type_name -> google.privacy.dlp.v2.InfoTypeTransformations 17901 83, // 103: google.privacy.dlp.v2.DeidentifyConfig.record_transformations:type_name -> google.privacy.dlp.v2.RecordTransformations 17902 63, // 104: google.privacy.dlp.v2.DeidentifyConfig.transformation_error_handling:type_name -> google.privacy.dlp.v2.TransformationErrorHandling 17903 174, // 105: google.privacy.dlp.v2.TransformationErrorHandling.throw_error:type_name -> google.privacy.dlp.v2.TransformationErrorHandling.ThrowError 17904 175, // 106: google.privacy.dlp.v2.TransformationErrorHandling.leave_untransformed:type_name -> google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed 17905 68, // 107: google.privacy.dlp.v2.PrimitiveTransformation.replace_config:type_name -> google.privacy.dlp.v2.ReplaceValueConfig 17906 70, // 108: google.privacy.dlp.v2.PrimitiveTransformation.redact_config:type_name -> google.privacy.dlp.v2.RedactConfig 17907 72, // 109: google.privacy.dlp.v2.PrimitiveTransformation.character_mask_config:type_name -> google.privacy.dlp.v2.CharacterMaskConfig 17908 75, // 110: google.privacy.dlp.v2.PrimitiveTransformation.crypto_replace_ffx_fpe_config:type_name -> google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig 17909 73, // 111: google.privacy.dlp.v2.PrimitiveTransformation.fixed_size_bucketing_config:type_name -> google.privacy.dlp.v2.FixedSizeBucketingConfig 17910 74, // 112: google.privacy.dlp.v2.PrimitiveTransformation.bucketing_config:type_name -> google.privacy.dlp.v2.BucketingConfig 17911 69, // 113: google.privacy.dlp.v2.PrimitiveTransformation.replace_with_info_type_config:type_name -> google.privacy.dlp.v2.ReplaceWithInfoTypeConfig 17912 65, // 114: google.privacy.dlp.v2.PrimitiveTransformation.time_part_config:type_name -> google.privacy.dlp.v2.TimePartConfig 17913 66, // 115: google.privacy.dlp.v2.PrimitiveTransformation.crypto_hash_config:type_name -> google.privacy.dlp.v2.CryptoHashConfig 17914 80, // 116: google.privacy.dlp.v2.PrimitiveTransformation.date_shift_config:type_name -> google.privacy.dlp.v2.DateShiftConfig 17915 67, // 117: google.privacy.dlp.v2.PrimitiveTransformation.crypto_deterministic_config:type_name -> google.privacy.dlp.v2.CryptoDeterministicConfig 17916 9, // 118: google.privacy.dlp.v2.TimePartConfig.part_to_extract:type_name -> google.privacy.dlp.v2.TimePartConfig.TimePart 17917 76, // 119: google.privacy.dlp.v2.CryptoHashConfig.crypto_key:type_name -> google.privacy.dlp.v2.CryptoKey 17918 76, // 120: google.privacy.dlp.v2.CryptoDeterministicConfig.crypto_key:type_name -> google.privacy.dlp.v2.CryptoKey 17919 190, // 121: google.privacy.dlp.v2.CryptoDeterministicConfig.surrogate_info_type:type_name -> google.privacy.dlp.v2.InfoType 17920 196, // 122: google.privacy.dlp.v2.CryptoDeterministicConfig.context:type_name -> google.privacy.dlp.v2.FieldId 17921 59, // 123: google.privacy.dlp.v2.ReplaceValueConfig.new_value:type_name -> google.privacy.dlp.v2.Value 17922 10, // 124: google.privacy.dlp.v2.CharsToIgnore.common_characters_to_ignore:type_name -> google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore 17923 71, // 125: google.privacy.dlp.v2.CharacterMaskConfig.characters_to_ignore:type_name -> google.privacy.dlp.v2.CharsToIgnore 17924 59, // 126: google.privacy.dlp.v2.FixedSizeBucketingConfig.lower_bound:type_name -> google.privacy.dlp.v2.Value 17925 59, // 127: google.privacy.dlp.v2.FixedSizeBucketingConfig.upper_bound:type_name -> google.privacy.dlp.v2.Value 17926 176, // 128: google.privacy.dlp.v2.BucketingConfig.buckets:type_name -> google.privacy.dlp.v2.BucketingConfig.Bucket 17927 76, // 129: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.crypto_key:type_name -> google.privacy.dlp.v2.CryptoKey 17928 196, // 130: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.context:type_name -> google.privacy.dlp.v2.FieldId 17929 11, // 131: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.common_alphabet:type_name -> google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet 17930 190, // 132: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.surrogate_info_type:type_name -> google.privacy.dlp.v2.InfoType 17931 77, // 133: google.privacy.dlp.v2.CryptoKey.transient:type_name -> google.privacy.dlp.v2.TransientCryptoKey 17932 78, // 134: google.privacy.dlp.v2.CryptoKey.unwrapped:type_name -> google.privacy.dlp.v2.UnwrappedCryptoKey 17933 79, // 135: google.privacy.dlp.v2.CryptoKey.kms_wrapped:type_name -> google.privacy.dlp.v2.KmsWrappedCryptoKey 17934 196, // 136: google.privacy.dlp.v2.DateShiftConfig.context:type_name -> google.privacy.dlp.v2.FieldId 17935 76, // 137: google.privacy.dlp.v2.DateShiftConfig.crypto_key:type_name -> google.privacy.dlp.v2.CryptoKey 17936 177, // 138: google.privacy.dlp.v2.InfoTypeTransformations.transformations:type_name -> google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation 17937 196, // 139: google.privacy.dlp.v2.FieldTransformation.fields:type_name -> google.privacy.dlp.v2.FieldId 17938 85, // 140: google.privacy.dlp.v2.FieldTransformation.condition:type_name -> google.privacy.dlp.v2.RecordCondition 17939 64, // 141: google.privacy.dlp.v2.FieldTransformation.primitive_transformation:type_name -> google.privacy.dlp.v2.PrimitiveTransformation 17940 81, // 142: google.privacy.dlp.v2.FieldTransformation.info_type_transformations:type_name -> google.privacy.dlp.v2.InfoTypeTransformations 17941 82, // 143: google.privacy.dlp.v2.RecordTransformations.field_transformations:type_name -> google.privacy.dlp.v2.FieldTransformation 17942 84, // 144: google.privacy.dlp.v2.RecordTransformations.record_suppressions:type_name -> google.privacy.dlp.v2.RecordSuppression 17943 85, // 145: google.privacy.dlp.v2.RecordSuppression.condition:type_name -> google.privacy.dlp.v2.RecordCondition 17944 180, // 146: google.privacy.dlp.v2.RecordCondition.expressions:type_name -> google.privacy.dlp.v2.RecordCondition.Expressions 17945 87, // 147: google.privacy.dlp.v2.TransformationOverview.transformation_summaries:type_name -> google.privacy.dlp.v2.TransformationSummary 17946 190, // 148: google.privacy.dlp.v2.TransformationSummary.info_type:type_name -> google.privacy.dlp.v2.InfoType 17947 196, // 149: google.privacy.dlp.v2.TransformationSummary.field:type_name -> google.privacy.dlp.v2.FieldId 17948 64, // 150: google.privacy.dlp.v2.TransformationSummary.transformation:type_name -> google.privacy.dlp.v2.PrimitiveTransformation 17949 82, // 151: google.privacy.dlp.v2.TransformationSummary.field_transformations:type_name -> google.privacy.dlp.v2.FieldTransformation 17950 84, // 152: google.privacy.dlp.v2.TransformationSummary.record_suppress:type_name -> google.privacy.dlp.v2.RecordSuppression 17951 181, // 153: google.privacy.dlp.v2.TransformationSummary.results:type_name -> google.privacy.dlp.v2.TransformationSummary.SummaryResult 17952 204, // 154: google.privacy.dlp.v2.Schedule.recurrence_period_duration:type_name -> google.protobuf.Duration 17953 197, // 155: google.privacy.dlp.v2.InspectTemplate.create_time:type_name -> google.protobuf.Timestamp 17954 197, // 156: google.privacy.dlp.v2.InspectTemplate.update_time:type_name -> google.protobuf.Timestamp 17955 20, // 157: google.privacy.dlp.v2.InspectTemplate.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig 17956 197, // 158: google.privacy.dlp.v2.DeidentifyTemplate.create_time:type_name -> google.protobuf.Timestamp 17957 197, // 159: google.privacy.dlp.v2.DeidentifyTemplate.update_time:type_name -> google.protobuf.Timestamp 17958 62, // 160: google.privacy.dlp.v2.DeidentifyTemplate.deidentify_config:type_name -> google.privacy.dlp.v2.DeidentifyConfig 17959 205, // 161: google.privacy.dlp.v2.Error.details:type_name -> google.rpc.Status 17960 197, // 162: google.privacy.dlp.v2.Error.timestamps:type_name -> google.protobuf.Timestamp 17961 109, // 163: google.privacy.dlp.v2.JobTrigger.inspect_job:type_name -> google.privacy.dlp.v2.InspectJobConfig 17962 182, // 164: google.privacy.dlp.v2.JobTrigger.triggers:type_name -> google.privacy.dlp.v2.JobTrigger.Trigger 17963 92, // 165: google.privacy.dlp.v2.JobTrigger.errors:type_name -> google.privacy.dlp.v2.Error 17964 197, // 166: google.privacy.dlp.v2.JobTrigger.create_time:type_name -> google.protobuf.Timestamp 17965 197, // 167: google.privacy.dlp.v2.JobTrigger.update_time:type_name -> google.protobuf.Timestamp 17966 197, // 168: google.privacy.dlp.v2.JobTrigger.last_run_time:type_name -> google.protobuf.Timestamp 17967 14, // 169: google.privacy.dlp.v2.JobTrigger.status:type_name -> google.privacy.dlp.v2.JobTrigger.Status 17968 183, // 170: google.privacy.dlp.v2.Action.save_findings:type_name -> google.privacy.dlp.v2.Action.SaveFindings 17969 184, // 171: google.privacy.dlp.v2.Action.pub_sub:type_name -> google.privacy.dlp.v2.Action.PublishToPubSub 17970 185, // 172: google.privacy.dlp.v2.Action.publish_summary_to_cscc:type_name -> google.privacy.dlp.v2.Action.PublishSummaryToCscc 17971 186, // 173: google.privacy.dlp.v2.Action.publish_findings_to_cloud_data_catalog:type_name -> google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog 17972 187, // 174: google.privacy.dlp.v2.Action.job_notification_emails:type_name -> google.privacy.dlp.v2.Action.JobNotificationEmails 17973 188, // 175: google.privacy.dlp.v2.Action.publish_to_stackdriver:type_name -> google.privacy.dlp.v2.Action.PublishToStackdriver 17974 90, // 176: google.privacy.dlp.v2.CreateInspectTemplateRequest.inspect_template:type_name -> google.privacy.dlp.v2.InspectTemplate 17975 90, // 177: google.privacy.dlp.v2.UpdateInspectTemplateRequest.inspect_template:type_name -> google.privacy.dlp.v2.InspectTemplate 17976 206, // 178: google.privacy.dlp.v2.UpdateInspectTemplateRequest.update_mask:type_name -> google.protobuf.FieldMask 17977 90, // 179: google.privacy.dlp.v2.ListInspectTemplatesResponse.inspect_templates:type_name -> google.privacy.dlp.v2.InspectTemplate 17978 93, // 180: google.privacy.dlp.v2.CreateJobTriggerRequest.job_trigger:type_name -> google.privacy.dlp.v2.JobTrigger 17979 93, // 181: google.privacy.dlp.v2.UpdateJobTriggerRequest.job_trigger:type_name -> google.privacy.dlp.v2.JobTrigger 17980 206, // 182: google.privacy.dlp.v2.UpdateJobTriggerRequest.update_mask:type_name -> google.protobuf.FieldMask 17981 109, // 183: google.privacy.dlp.v2.CreateDlpJobRequest.inspect_job:type_name -> google.privacy.dlp.v2.InspectJobConfig 17982 53, // 184: google.privacy.dlp.v2.CreateDlpJobRequest.risk_job:type_name -> google.privacy.dlp.v2.RiskAnalysisJobConfig 17983 93, // 185: google.privacy.dlp.v2.ListJobTriggersResponse.job_triggers:type_name -> google.privacy.dlp.v2.JobTrigger 17984 207, // 186: google.privacy.dlp.v2.InspectJobConfig.storage_config:type_name -> google.privacy.dlp.v2.StorageConfig 17985 20, // 187: google.privacy.dlp.v2.InspectJobConfig.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig 17986 94, // 188: google.privacy.dlp.v2.InspectJobConfig.actions:type_name -> google.privacy.dlp.v2.Action 17987 5, // 189: google.privacy.dlp.v2.DlpJob.type:type_name -> google.privacy.dlp.v2.DlpJobType 17988 15, // 190: google.privacy.dlp.v2.DlpJob.state:type_name -> google.privacy.dlp.v2.DlpJob.JobState 17989 57, // 191: google.privacy.dlp.v2.DlpJob.risk_details:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails 17990 48, // 192: google.privacy.dlp.v2.DlpJob.inspect_details:type_name -> google.privacy.dlp.v2.InspectDataSourceDetails 17991 197, // 193: google.privacy.dlp.v2.DlpJob.create_time:type_name -> google.protobuf.Timestamp 17992 197, // 194: google.privacy.dlp.v2.DlpJob.start_time:type_name -> google.protobuf.Timestamp 17993 197, // 195: google.privacy.dlp.v2.DlpJob.end_time:type_name -> google.protobuf.Timestamp 17994 92, // 196: google.privacy.dlp.v2.DlpJob.errors:type_name -> google.privacy.dlp.v2.Error 17995 5, // 197: google.privacy.dlp.v2.ListDlpJobsRequest.type:type_name -> google.privacy.dlp.v2.DlpJobType 17996 110, // 198: google.privacy.dlp.v2.ListDlpJobsResponse.jobs:type_name -> google.privacy.dlp.v2.DlpJob 17997 91, // 199: google.privacy.dlp.v2.CreateDeidentifyTemplateRequest.deidentify_template:type_name -> google.privacy.dlp.v2.DeidentifyTemplate 17998 91, // 200: google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest.deidentify_template:type_name -> google.privacy.dlp.v2.DeidentifyTemplate 17999 206, // 201: google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest.update_mask:type_name -> google.protobuf.FieldMask 18000 91, // 202: google.privacy.dlp.v2.ListDeidentifyTemplatesResponse.deidentify_templates:type_name -> google.privacy.dlp.v2.DeidentifyTemplate 18001 208, // 203: google.privacy.dlp.v2.LargeCustomDictionaryConfig.output_path:type_name -> google.privacy.dlp.v2.CloudStoragePath 18002 209, // 204: google.privacy.dlp.v2.LargeCustomDictionaryConfig.cloud_storage_file_set:type_name -> google.privacy.dlp.v2.CloudStorageFileSet 18003 210, // 205: google.privacy.dlp.v2.LargeCustomDictionaryConfig.big_query_field:type_name -> google.privacy.dlp.v2.BigQueryField 18004 123, // 206: google.privacy.dlp.v2.StoredInfoTypeConfig.large_custom_dictionary:type_name -> google.privacy.dlp.v2.LargeCustomDictionaryConfig 18005 191, // 207: google.privacy.dlp.v2.StoredInfoTypeConfig.dictionary:type_name -> google.privacy.dlp.v2.CustomInfoType.Dictionary 18006 192, // 208: google.privacy.dlp.v2.StoredInfoTypeConfig.regex:type_name -> google.privacy.dlp.v2.CustomInfoType.Regex 18007 124, // 209: google.privacy.dlp.v2.StoredInfoTypeStats.large_custom_dictionary:type_name -> google.privacy.dlp.v2.LargeCustomDictionaryStats 18008 125, // 210: google.privacy.dlp.v2.StoredInfoTypeVersion.config:type_name -> google.privacy.dlp.v2.StoredInfoTypeConfig 18009 197, // 211: google.privacy.dlp.v2.StoredInfoTypeVersion.create_time:type_name -> google.protobuf.Timestamp 18010 6, // 212: google.privacy.dlp.v2.StoredInfoTypeVersion.state:type_name -> google.privacy.dlp.v2.StoredInfoTypeState 18011 92, // 213: google.privacy.dlp.v2.StoredInfoTypeVersion.errors:type_name -> google.privacy.dlp.v2.Error 18012 126, // 214: google.privacy.dlp.v2.StoredInfoTypeVersion.stats:type_name -> google.privacy.dlp.v2.StoredInfoTypeStats 18013 127, // 215: google.privacy.dlp.v2.StoredInfoType.current_version:type_name -> google.privacy.dlp.v2.StoredInfoTypeVersion 18014 127, // 216: google.privacy.dlp.v2.StoredInfoType.pending_versions:type_name -> google.privacy.dlp.v2.StoredInfoTypeVersion 18015 125, // 217: google.privacy.dlp.v2.CreateStoredInfoTypeRequest.config:type_name -> google.privacy.dlp.v2.StoredInfoTypeConfig 18016 125, // 218: google.privacy.dlp.v2.UpdateStoredInfoTypeRequest.config:type_name -> google.privacy.dlp.v2.StoredInfoTypeConfig 18017 206, // 219: google.privacy.dlp.v2.UpdateStoredInfoTypeRequest.update_mask:type_name -> google.protobuf.FieldMask 18018 128, // 220: google.privacy.dlp.v2.ListStoredInfoTypesResponse.stored_info_types:type_name -> google.privacy.dlp.v2.StoredInfoType 18019 137, // 221: google.privacy.dlp.v2.HybridInspectJobTriggerRequest.hybrid_item:type_name -> google.privacy.dlp.v2.HybridContentItem 18020 137, // 222: google.privacy.dlp.v2.HybridInspectDlpJobRequest.hybrid_item:type_name -> google.privacy.dlp.v2.HybridContentItem 18021 22, // 223: google.privacy.dlp.v2.HybridContentItem.item:type_name -> google.privacy.dlp.v2.ContentItem 18022 138, // 224: google.privacy.dlp.v2.HybridContentItem.finding_details:type_name -> google.privacy.dlp.v2.HybridFindingDetails 18023 33, // 225: google.privacy.dlp.v2.HybridFindingDetails.container_details:type_name -> google.privacy.dlp.v2.Container 18024 211, // 226: google.privacy.dlp.v2.HybridFindingDetails.table_options:type_name -> google.privacy.dlp.v2.TableOptions 18025 189, // 227: google.privacy.dlp.v2.HybridFindingDetails.labels:type_name -> google.privacy.dlp.v2.HybridFindingDetails.LabelsEntry 18026 141, // 228: google.privacy.dlp.v2.InspectConfig.FindingLimits.max_findings_per_info_type:type_name -> google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit 18027 190, // 229: google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.info_type:type_name -> google.privacy.dlp.v2.InfoType 18028 59, // 230: google.privacy.dlp.v2.Table.Row.values:type_name -> google.privacy.dlp.v2.Value 18029 190, // 231: google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig.info_type:type_name -> google.privacy.dlp.v2.InfoType 18030 38, // 232: google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig.redaction_color:type_name -> google.privacy.dlp.v2.Color 18031 90, // 233: google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions.snapshot_inspect_template:type_name -> google.privacy.dlp.v2.InspectTemplate 18032 109, // 234: google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions.job_config:type_name -> google.privacy.dlp.v2.InspectJobConfig 18033 47, // 235: google.privacy.dlp.v2.InspectDataSourceDetails.Result.info_type_stats:type_name -> google.privacy.dlp.v2.InfoTypeStats 18034 49, // 236: google.privacy.dlp.v2.InspectDataSourceDetails.Result.hybrid_stats:type_name -> google.privacy.dlp.v2.HybridInspectStatistics 18035 196, // 237: google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField.field:type_name -> google.privacy.dlp.v2.FieldId 18036 196, // 238: google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig.field:type_name -> google.privacy.dlp.v2.FieldId 18037 196, // 239: google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig.field:type_name -> google.privacy.dlp.v2.FieldId 18038 196, // 240: google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig.quasi_ids:type_name -> google.privacy.dlp.v2.FieldId 18039 212, // 241: google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig.entity_id:type_name -> google.privacy.dlp.v2.EntityId 18040 196, // 242: google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig.quasi_ids:type_name -> google.privacy.dlp.v2.FieldId 18041 196, // 243: google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig.sensitive_attribute:type_name -> google.privacy.dlp.v2.FieldId 18042 154, // 244: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.quasi_ids:type_name -> google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField 18043 155, // 245: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.auxiliary_tables:type_name -> google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable 18044 54, // 246: google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig.quasi_ids:type_name -> google.privacy.dlp.v2.QuasiId 18045 55, // 247: google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig.auxiliary_tables:type_name -> google.privacy.dlp.v2.StatisticalTable 18046 196, // 248: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField.field:type_name -> google.privacy.dlp.v2.FieldId 18047 190, // 249: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField.info_type:type_name -> google.privacy.dlp.v2.InfoType 18048 200, // 250: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField.inferred:type_name -> google.protobuf.Empty 18049 199, // 251: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.table:type_name -> google.privacy.dlp.v2.BigQueryTable 18050 156, // 252: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.quasi_ids:type_name -> google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField 18051 196, // 253: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.relative_frequency:type_name -> google.privacy.dlp.v2.FieldId 18052 196, // 254: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField.field:type_name -> google.privacy.dlp.v2.FieldId 18053 59, // 255: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult.min_value:type_name -> google.privacy.dlp.v2.Value 18054 59, // 256: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult.max_value:type_name -> google.privacy.dlp.v2.Value 18055 59, // 257: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult.quantile_values:type_name -> google.privacy.dlp.v2.Value 18056 164, // 258: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.value_frequency_histogram_buckets:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket 18057 166, // 259: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.equivalence_class_histogram_buckets:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket 18058 168, // 260: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.sensitive_value_frequency_histogram_buckets:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket 18059 170, // 261: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.k_map_estimation_histogram:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket 18060 172, // 262: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.delta_presence_estimation_histogram:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket 18061 53, // 263: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions.job_config:type_name -> google.privacy.dlp.v2.RiskAnalysisJobConfig 18062 58, // 264: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.ValueFrequency 18063 59, // 265: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass.quasi_ids_values:type_name -> google.privacy.dlp.v2.Value 18064 165, // 266: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass 18065 59, // 267: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass.quasi_ids_values:type_name -> google.privacy.dlp.v2.Value 18066 58, // 268: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass.top_sensitive_values:type_name -> google.privacy.dlp.v2.ValueFrequency 18067 167, // 269: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass 18068 59, // 270: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues.quasi_ids_values:type_name -> google.privacy.dlp.v2.Value 18069 169, // 271: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues 18070 59, // 272: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues.quasi_ids_values:type_name -> google.privacy.dlp.v2.Value 18071 171, // 273: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues 18072 59, // 274: google.privacy.dlp.v2.BucketingConfig.Bucket.min:type_name -> google.privacy.dlp.v2.Value 18073 59, // 275: google.privacy.dlp.v2.BucketingConfig.Bucket.max:type_name -> google.privacy.dlp.v2.Value 18074 59, // 276: google.privacy.dlp.v2.BucketingConfig.Bucket.replacement_value:type_name -> google.privacy.dlp.v2.Value 18075 190, // 277: google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation.info_types:type_name -> google.privacy.dlp.v2.InfoType 18076 64, // 278: google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation.primitive_transformation:type_name -> google.privacy.dlp.v2.PrimitiveTransformation 18077 196, // 279: google.privacy.dlp.v2.RecordCondition.Condition.field:type_name -> google.privacy.dlp.v2.FieldId 18078 0, // 280: google.privacy.dlp.v2.RecordCondition.Condition.operator:type_name -> google.privacy.dlp.v2.RelationalOperator 18079 59, // 281: google.privacy.dlp.v2.RecordCondition.Condition.value:type_name -> google.privacy.dlp.v2.Value 18080 178, // 282: google.privacy.dlp.v2.RecordCondition.Conditions.conditions:type_name -> google.privacy.dlp.v2.RecordCondition.Condition 18081 12, // 283: google.privacy.dlp.v2.RecordCondition.Expressions.logical_operator:type_name -> google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator 18082 179, // 284: google.privacy.dlp.v2.RecordCondition.Expressions.conditions:type_name -> google.privacy.dlp.v2.RecordCondition.Conditions 18083 13, // 285: google.privacy.dlp.v2.TransformationSummary.SummaryResult.code:type_name -> google.privacy.dlp.v2.TransformationSummary.TransformationResultCode 18084 88, // 286: google.privacy.dlp.v2.JobTrigger.Trigger.schedule:type_name -> google.privacy.dlp.v2.Schedule 18085 89, // 287: google.privacy.dlp.v2.JobTrigger.Trigger.manual:type_name -> google.privacy.dlp.v2.Manual 18086 46, // 288: google.privacy.dlp.v2.Action.SaveFindings.output_config:type_name -> google.privacy.dlp.v2.OutputStorageConfig 18087 44, // 289: google.privacy.dlp.v2.DlpService.InspectContent:input_type -> google.privacy.dlp.v2.InspectContentRequest 18088 37, // 290: google.privacy.dlp.v2.DlpService.RedactImage:input_type -> google.privacy.dlp.v2.RedactImageRequest 18089 40, // 291: google.privacy.dlp.v2.DlpService.DeidentifyContent:input_type -> google.privacy.dlp.v2.DeidentifyContentRequest 18090 42, // 292: google.privacy.dlp.v2.DlpService.ReidentifyContent:input_type -> google.privacy.dlp.v2.ReidentifyContentRequest 18091 51, // 293: google.privacy.dlp.v2.DlpService.ListInfoTypes:input_type -> google.privacy.dlp.v2.ListInfoTypesRequest 18092 95, // 294: google.privacy.dlp.v2.DlpService.CreateInspectTemplate:input_type -> google.privacy.dlp.v2.CreateInspectTemplateRequest 18093 96, // 295: google.privacy.dlp.v2.DlpService.UpdateInspectTemplate:input_type -> google.privacy.dlp.v2.UpdateInspectTemplateRequest 18094 97, // 296: google.privacy.dlp.v2.DlpService.GetInspectTemplate:input_type -> google.privacy.dlp.v2.GetInspectTemplateRequest 18095 98, // 297: google.privacy.dlp.v2.DlpService.ListInspectTemplates:input_type -> google.privacy.dlp.v2.ListInspectTemplatesRequest 18096 100, // 298: google.privacy.dlp.v2.DlpService.DeleteInspectTemplate:input_type -> google.privacy.dlp.v2.DeleteInspectTemplateRequest 18097 117, // 299: google.privacy.dlp.v2.DlpService.CreateDeidentifyTemplate:input_type -> google.privacy.dlp.v2.CreateDeidentifyTemplateRequest 18098 118, // 300: google.privacy.dlp.v2.DlpService.UpdateDeidentifyTemplate:input_type -> google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest 18099 119, // 301: google.privacy.dlp.v2.DlpService.GetDeidentifyTemplate:input_type -> google.privacy.dlp.v2.GetDeidentifyTemplateRequest 18100 120, // 302: google.privacy.dlp.v2.DlpService.ListDeidentifyTemplates:input_type -> google.privacy.dlp.v2.ListDeidentifyTemplatesRequest 18101 122, // 303: google.privacy.dlp.v2.DlpService.DeleteDeidentifyTemplate:input_type -> google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest 18102 101, // 304: google.privacy.dlp.v2.DlpService.CreateJobTrigger:input_type -> google.privacy.dlp.v2.CreateJobTriggerRequest 18103 103, // 305: google.privacy.dlp.v2.DlpService.UpdateJobTrigger:input_type -> google.privacy.dlp.v2.UpdateJobTriggerRequest 18104 135, // 306: google.privacy.dlp.v2.DlpService.HybridInspectJobTrigger:input_type -> google.privacy.dlp.v2.HybridInspectJobTriggerRequest 18105 104, // 307: google.privacy.dlp.v2.DlpService.GetJobTrigger:input_type -> google.privacy.dlp.v2.GetJobTriggerRequest 18106 106, // 308: google.privacy.dlp.v2.DlpService.ListJobTriggers:input_type -> google.privacy.dlp.v2.ListJobTriggersRequest 18107 108, // 309: google.privacy.dlp.v2.DlpService.DeleteJobTrigger:input_type -> google.privacy.dlp.v2.DeleteJobTriggerRequest 18108 102, // 310: google.privacy.dlp.v2.DlpService.ActivateJobTrigger:input_type -> google.privacy.dlp.v2.ActivateJobTriggerRequest 18109 105, // 311: google.privacy.dlp.v2.DlpService.CreateDlpJob:input_type -> google.privacy.dlp.v2.CreateDlpJobRequest 18110 112, // 312: google.privacy.dlp.v2.DlpService.ListDlpJobs:input_type -> google.privacy.dlp.v2.ListDlpJobsRequest 18111 111, // 313: google.privacy.dlp.v2.DlpService.GetDlpJob:input_type -> google.privacy.dlp.v2.GetDlpJobRequest 18112 116, // 314: google.privacy.dlp.v2.DlpService.DeleteDlpJob:input_type -> google.privacy.dlp.v2.DeleteDlpJobRequest 18113 114, // 315: google.privacy.dlp.v2.DlpService.CancelDlpJob:input_type -> google.privacy.dlp.v2.CancelDlpJobRequest 18114 129, // 316: google.privacy.dlp.v2.DlpService.CreateStoredInfoType:input_type -> google.privacy.dlp.v2.CreateStoredInfoTypeRequest 18115 130, // 317: google.privacy.dlp.v2.DlpService.UpdateStoredInfoType:input_type -> google.privacy.dlp.v2.UpdateStoredInfoTypeRequest 18116 131, // 318: google.privacy.dlp.v2.DlpService.GetStoredInfoType:input_type -> google.privacy.dlp.v2.GetStoredInfoTypeRequest 18117 132, // 319: google.privacy.dlp.v2.DlpService.ListStoredInfoTypes:input_type -> google.privacy.dlp.v2.ListStoredInfoTypesRequest 18118 134, // 320: google.privacy.dlp.v2.DlpService.DeleteStoredInfoType:input_type -> google.privacy.dlp.v2.DeleteStoredInfoTypeRequest 18119 136, // 321: google.privacy.dlp.v2.DlpService.HybridInspectDlpJob:input_type -> google.privacy.dlp.v2.HybridInspectDlpJobRequest 18120 115, // 322: google.privacy.dlp.v2.DlpService.FinishDlpJob:input_type -> google.privacy.dlp.v2.FinishDlpJobRequest 18121 45, // 323: google.privacy.dlp.v2.DlpService.InspectContent:output_type -> google.privacy.dlp.v2.InspectContentResponse 18122 39, // 324: google.privacy.dlp.v2.DlpService.RedactImage:output_type -> google.privacy.dlp.v2.RedactImageResponse 18123 41, // 325: google.privacy.dlp.v2.DlpService.DeidentifyContent:output_type -> google.privacy.dlp.v2.DeidentifyContentResponse 18124 43, // 326: google.privacy.dlp.v2.DlpService.ReidentifyContent:output_type -> google.privacy.dlp.v2.ReidentifyContentResponse 18125 52, // 327: google.privacy.dlp.v2.DlpService.ListInfoTypes:output_type -> google.privacy.dlp.v2.ListInfoTypesResponse 18126 90, // 328: google.privacy.dlp.v2.DlpService.CreateInspectTemplate:output_type -> google.privacy.dlp.v2.InspectTemplate 18127 90, // 329: google.privacy.dlp.v2.DlpService.UpdateInspectTemplate:output_type -> google.privacy.dlp.v2.InspectTemplate 18128 90, // 330: google.privacy.dlp.v2.DlpService.GetInspectTemplate:output_type -> google.privacy.dlp.v2.InspectTemplate 18129 99, // 331: google.privacy.dlp.v2.DlpService.ListInspectTemplates:output_type -> google.privacy.dlp.v2.ListInspectTemplatesResponse 18130 200, // 332: google.privacy.dlp.v2.DlpService.DeleteInspectTemplate:output_type -> google.protobuf.Empty 18131 91, // 333: google.privacy.dlp.v2.DlpService.CreateDeidentifyTemplate:output_type -> google.privacy.dlp.v2.DeidentifyTemplate 18132 91, // 334: google.privacy.dlp.v2.DlpService.UpdateDeidentifyTemplate:output_type -> google.privacy.dlp.v2.DeidentifyTemplate 18133 91, // 335: google.privacy.dlp.v2.DlpService.GetDeidentifyTemplate:output_type -> google.privacy.dlp.v2.DeidentifyTemplate 18134 121, // 336: google.privacy.dlp.v2.DlpService.ListDeidentifyTemplates:output_type -> google.privacy.dlp.v2.ListDeidentifyTemplatesResponse 18135 200, // 337: google.privacy.dlp.v2.DlpService.DeleteDeidentifyTemplate:output_type -> google.protobuf.Empty 18136 93, // 338: google.privacy.dlp.v2.DlpService.CreateJobTrigger:output_type -> google.privacy.dlp.v2.JobTrigger 18137 93, // 339: google.privacy.dlp.v2.DlpService.UpdateJobTrigger:output_type -> google.privacy.dlp.v2.JobTrigger 18138 139, // 340: google.privacy.dlp.v2.DlpService.HybridInspectJobTrigger:output_type -> google.privacy.dlp.v2.HybridInspectResponse 18139 93, // 341: google.privacy.dlp.v2.DlpService.GetJobTrigger:output_type -> google.privacy.dlp.v2.JobTrigger 18140 107, // 342: google.privacy.dlp.v2.DlpService.ListJobTriggers:output_type -> google.privacy.dlp.v2.ListJobTriggersResponse 18141 200, // 343: google.privacy.dlp.v2.DlpService.DeleteJobTrigger:output_type -> google.protobuf.Empty 18142 110, // 344: google.privacy.dlp.v2.DlpService.ActivateJobTrigger:output_type -> google.privacy.dlp.v2.DlpJob 18143 110, // 345: google.privacy.dlp.v2.DlpService.CreateDlpJob:output_type -> google.privacy.dlp.v2.DlpJob 18144 113, // 346: google.privacy.dlp.v2.DlpService.ListDlpJobs:output_type -> google.privacy.dlp.v2.ListDlpJobsResponse 18145 110, // 347: google.privacy.dlp.v2.DlpService.GetDlpJob:output_type -> google.privacy.dlp.v2.DlpJob 18146 200, // 348: google.privacy.dlp.v2.DlpService.DeleteDlpJob:output_type -> google.protobuf.Empty 18147 200, // 349: google.privacy.dlp.v2.DlpService.CancelDlpJob:output_type -> google.protobuf.Empty 18148 128, // 350: google.privacy.dlp.v2.DlpService.CreateStoredInfoType:output_type -> google.privacy.dlp.v2.StoredInfoType 18149 128, // 351: google.privacy.dlp.v2.DlpService.UpdateStoredInfoType:output_type -> google.privacy.dlp.v2.StoredInfoType 18150 128, // 352: google.privacy.dlp.v2.DlpService.GetStoredInfoType:output_type -> google.privacy.dlp.v2.StoredInfoType 18151 133, // 353: google.privacy.dlp.v2.DlpService.ListStoredInfoTypes:output_type -> google.privacy.dlp.v2.ListStoredInfoTypesResponse 18152 200, // 354: google.privacy.dlp.v2.DlpService.DeleteStoredInfoType:output_type -> google.protobuf.Empty 18153 139, // 355: google.privacy.dlp.v2.DlpService.HybridInspectDlpJob:output_type -> google.privacy.dlp.v2.HybridInspectResponse 18154 200, // 356: google.privacy.dlp.v2.DlpService.FinishDlpJob:output_type -> google.protobuf.Empty 18155 323, // [323:357] is the sub-list for method output_type 18156 289, // [289:323] is the sub-list for method input_type 18157 289, // [289:289] is the sub-list for extension type_name 18158 289, // [289:289] is the sub-list for extension extendee 18159 0, // [0:289] is the sub-list for field type_name 18160} 18161 18162func init() { file_google_privacy_dlp_v2_dlp_proto_init() } 18163func file_google_privacy_dlp_v2_dlp_proto_init() { 18164 if File_google_privacy_dlp_v2_dlp_proto != nil { 18165 return 18166 } 18167 file_google_privacy_dlp_v2_storage_proto_init() 18168 if !protoimpl.UnsafeEnabled { 18169 file_google_privacy_dlp_v2_dlp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 18170 switch v := v.(*ExcludeInfoTypes); i { 18171 case 0: 18172 return &v.state 18173 case 1: 18174 return &v.sizeCache 18175 case 2: 18176 return &v.unknownFields 18177 default: 18178 return nil 18179 } 18180 } 18181 file_google_privacy_dlp_v2_dlp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 18182 switch v := v.(*ExclusionRule); i { 18183 case 0: 18184 return &v.state 18185 case 1: 18186 return &v.sizeCache 18187 case 2: 18188 return &v.unknownFields 18189 default: 18190 return nil 18191 } 18192 } 18193 file_google_privacy_dlp_v2_dlp_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 18194 switch v := v.(*InspectionRule); i { 18195 case 0: 18196 return &v.state 18197 case 1: 18198 return &v.sizeCache 18199 case 2: 18200 return &v.unknownFields 18201 default: 18202 return nil 18203 } 18204 } 18205 file_google_privacy_dlp_v2_dlp_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 18206 switch v := v.(*InspectionRuleSet); i { 18207 case 0: 18208 return &v.state 18209 case 1: 18210 return &v.sizeCache 18211 case 2: 18212 return &v.unknownFields 18213 default: 18214 return nil 18215 } 18216 } 18217 file_google_privacy_dlp_v2_dlp_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 18218 switch v := v.(*InspectConfig); i { 18219 case 0: 18220 return &v.state 18221 case 1: 18222 return &v.sizeCache 18223 case 2: 18224 return &v.unknownFields 18225 default: 18226 return nil 18227 } 18228 } 18229 file_google_privacy_dlp_v2_dlp_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 18230 switch v := v.(*ByteContentItem); i { 18231 case 0: 18232 return &v.state 18233 case 1: 18234 return &v.sizeCache 18235 case 2: 18236 return &v.unknownFields 18237 default: 18238 return nil 18239 } 18240 } 18241 file_google_privacy_dlp_v2_dlp_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 18242 switch v := v.(*ContentItem); i { 18243 case 0: 18244 return &v.state 18245 case 1: 18246 return &v.sizeCache 18247 case 2: 18248 return &v.unknownFields 18249 default: 18250 return nil 18251 } 18252 } 18253 file_google_privacy_dlp_v2_dlp_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 18254 switch v := v.(*Table); i { 18255 case 0: 18256 return &v.state 18257 case 1: 18258 return &v.sizeCache 18259 case 2: 18260 return &v.unknownFields 18261 default: 18262 return nil 18263 } 18264 } 18265 file_google_privacy_dlp_v2_dlp_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 18266 switch v := v.(*InspectResult); i { 18267 case 0: 18268 return &v.state 18269 case 1: 18270 return &v.sizeCache 18271 case 2: 18272 return &v.unknownFields 18273 default: 18274 return nil 18275 } 18276 } 18277 file_google_privacy_dlp_v2_dlp_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 18278 switch v := v.(*Finding); i { 18279 case 0: 18280 return &v.state 18281 case 1: 18282 return &v.sizeCache 18283 case 2: 18284 return &v.unknownFields 18285 default: 18286 return nil 18287 } 18288 } 18289 file_google_privacy_dlp_v2_dlp_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 18290 switch v := v.(*Location); i { 18291 case 0: 18292 return &v.state 18293 case 1: 18294 return &v.sizeCache 18295 case 2: 18296 return &v.unknownFields 18297 default: 18298 return nil 18299 } 18300 } 18301 file_google_privacy_dlp_v2_dlp_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 18302 switch v := v.(*ContentLocation); i { 18303 case 0: 18304 return &v.state 18305 case 1: 18306 return &v.sizeCache 18307 case 2: 18308 return &v.unknownFields 18309 default: 18310 return nil 18311 } 18312 } 18313 file_google_privacy_dlp_v2_dlp_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 18314 switch v := v.(*MetadataLocation); i { 18315 case 0: 18316 return &v.state 18317 case 1: 18318 return &v.sizeCache 18319 case 2: 18320 return &v.unknownFields 18321 default: 18322 return nil 18323 } 18324 } 18325 file_google_privacy_dlp_v2_dlp_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 18326 switch v := v.(*StorageMetadataLabel); i { 18327 case 0: 18328 return &v.state 18329 case 1: 18330 return &v.sizeCache 18331 case 2: 18332 return &v.unknownFields 18333 default: 18334 return nil 18335 } 18336 } 18337 file_google_privacy_dlp_v2_dlp_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 18338 switch v := v.(*DocumentLocation); i { 18339 case 0: 18340 return &v.state 18341 case 1: 18342 return &v.sizeCache 18343 case 2: 18344 return &v.unknownFields 18345 default: 18346 return nil 18347 } 18348 } 18349 file_google_privacy_dlp_v2_dlp_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 18350 switch v := v.(*RecordLocation); i { 18351 case 0: 18352 return &v.state 18353 case 1: 18354 return &v.sizeCache 18355 case 2: 18356 return &v.unknownFields 18357 default: 18358 return nil 18359 } 18360 } 18361 file_google_privacy_dlp_v2_dlp_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 18362 switch v := v.(*TableLocation); i { 18363 case 0: 18364 return &v.state 18365 case 1: 18366 return &v.sizeCache 18367 case 2: 18368 return &v.unknownFields 18369 default: 18370 return nil 18371 } 18372 } 18373 file_google_privacy_dlp_v2_dlp_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 18374 switch v := v.(*Container); i { 18375 case 0: 18376 return &v.state 18377 case 1: 18378 return &v.sizeCache 18379 case 2: 18380 return &v.unknownFields 18381 default: 18382 return nil 18383 } 18384 } 18385 file_google_privacy_dlp_v2_dlp_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 18386 switch v := v.(*Range); i { 18387 case 0: 18388 return &v.state 18389 case 1: 18390 return &v.sizeCache 18391 case 2: 18392 return &v.unknownFields 18393 default: 18394 return nil 18395 } 18396 } 18397 file_google_privacy_dlp_v2_dlp_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 18398 switch v := v.(*ImageLocation); i { 18399 case 0: 18400 return &v.state 18401 case 1: 18402 return &v.sizeCache 18403 case 2: 18404 return &v.unknownFields 18405 default: 18406 return nil 18407 } 18408 } 18409 file_google_privacy_dlp_v2_dlp_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 18410 switch v := v.(*BoundingBox); i { 18411 case 0: 18412 return &v.state 18413 case 1: 18414 return &v.sizeCache 18415 case 2: 18416 return &v.unknownFields 18417 default: 18418 return nil 18419 } 18420 } 18421 file_google_privacy_dlp_v2_dlp_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 18422 switch v := v.(*RedactImageRequest); i { 18423 case 0: 18424 return &v.state 18425 case 1: 18426 return &v.sizeCache 18427 case 2: 18428 return &v.unknownFields 18429 default: 18430 return nil 18431 } 18432 } 18433 file_google_privacy_dlp_v2_dlp_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 18434 switch v := v.(*Color); i { 18435 case 0: 18436 return &v.state 18437 case 1: 18438 return &v.sizeCache 18439 case 2: 18440 return &v.unknownFields 18441 default: 18442 return nil 18443 } 18444 } 18445 file_google_privacy_dlp_v2_dlp_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 18446 switch v := v.(*RedactImageResponse); i { 18447 case 0: 18448 return &v.state 18449 case 1: 18450 return &v.sizeCache 18451 case 2: 18452 return &v.unknownFields 18453 default: 18454 return nil 18455 } 18456 } 18457 file_google_privacy_dlp_v2_dlp_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 18458 switch v := v.(*DeidentifyContentRequest); i { 18459 case 0: 18460 return &v.state 18461 case 1: 18462 return &v.sizeCache 18463 case 2: 18464 return &v.unknownFields 18465 default: 18466 return nil 18467 } 18468 } 18469 file_google_privacy_dlp_v2_dlp_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 18470 switch v := v.(*DeidentifyContentResponse); i { 18471 case 0: 18472 return &v.state 18473 case 1: 18474 return &v.sizeCache 18475 case 2: 18476 return &v.unknownFields 18477 default: 18478 return nil 18479 } 18480 } 18481 file_google_privacy_dlp_v2_dlp_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 18482 switch v := v.(*ReidentifyContentRequest); i { 18483 case 0: 18484 return &v.state 18485 case 1: 18486 return &v.sizeCache 18487 case 2: 18488 return &v.unknownFields 18489 default: 18490 return nil 18491 } 18492 } 18493 file_google_privacy_dlp_v2_dlp_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 18494 switch v := v.(*ReidentifyContentResponse); i { 18495 case 0: 18496 return &v.state 18497 case 1: 18498 return &v.sizeCache 18499 case 2: 18500 return &v.unknownFields 18501 default: 18502 return nil 18503 } 18504 } 18505 file_google_privacy_dlp_v2_dlp_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 18506 switch v := v.(*InspectContentRequest); i { 18507 case 0: 18508 return &v.state 18509 case 1: 18510 return &v.sizeCache 18511 case 2: 18512 return &v.unknownFields 18513 default: 18514 return nil 18515 } 18516 } 18517 file_google_privacy_dlp_v2_dlp_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 18518 switch v := v.(*InspectContentResponse); i { 18519 case 0: 18520 return &v.state 18521 case 1: 18522 return &v.sizeCache 18523 case 2: 18524 return &v.unknownFields 18525 default: 18526 return nil 18527 } 18528 } 18529 file_google_privacy_dlp_v2_dlp_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 18530 switch v := v.(*OutputStorageConfig); i { 18531 case 0: 18532 return &v.state 18533 case 1: 18534 return &v.sizeCache 18535 case 2: 18536 return &v.unknownFields 18537 default: 18538 return nil 18539 } 18540 } 18541 file_google_privacy_dlp_v2_dlp_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 18542 switch v := v.(*InfoTypeStats); i { 18543 case 0: 18544 return &v.state 18545 case 1: 18546 return &v.sizeCache 18547 case 2: 18548 return &v.unknownFields 18549 default: 18550 return nil 18551 } 18552 } 18553 file_google_privacy_dlp_v2_dlp_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 18554 switch v := v.(*InspectDataSourceDetails); i { 18555 case 0: 18556 return &v.state 18557 case 1: 18558 return &v.sizeCache 18559 case 2: 18560 return &v.unknownFields 18561 default: 18562 return nil 18563 } 18564 } 18565 file_google_privacy_dlp_v2_dlp_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 18566 switch v := v.(*HybridInspectStatistics); i { 18567 case 0: 18568 return &v.state 18569 case 1: 18570 return &v.sizeCache 18571 case 2: 18572 return &v.unknownFields 18573 default: 18574 return nil 18575 } 18576 } 18577 file_google_privacy_dlp_v2_dlp_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 18578 switch v := v.(*InfoTypeDescription); i { 18579 case 0: 18580 return &v.state 18581 case 1: 18582 return &v.sizeCache 18583 case 2: 18584 return &v.unknownFields 18585 default: 18586 return nil 18587 } 18588 } 18589 file_google_privacy_dlp_v2_dlp_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 18590 switch v := v.(*ListInfoTypesRequest); i { 18591 case 0: 18592 return &v.state 18593 case 1: 18594 return &v.sizeCache 18595 case 2: 18596 return &v.unknownFields 18597 default: 18598 return nil 18599 } 18600 } 18601 file_google_privacy_dlp_v2_dlp_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 18602 switch v := v.(*ListInfoTypesResponse); i { 18603 case 0: 18604 return &v.state 18605 case 1: 18606 return &v.sizeCache 18607 case 2: 18608 return &v.unknownFields 18609 default: 18610 return nil 18611 } 18612 } 18613 file_google_privacy_dlp_v2_dlp_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { 18614 switch v := v.(*RiskAnalysisJobConfig); i { 18615 case 0: 18616 return &v.state 18617 case 1: 18618 return &v.sizeCache 18619 case 2: 18620 return &v.unknownFields 18621 default: 18622 return nil 18623 } 18624 } 18625 file_google_privacy_dlp_v2_dlp_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { 18626 switch v := v.(*QuasiId); i { 18627 case 0: 18628 return &v.state 18629 case 1: 18630 return &v.sizeCache 18631 case 2: 18632 return &v.unknownFields 18633 default: 18634 return nil 18635 } 18636 } 18637 file_google_privacy_dlp_v2_dlp_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { 18638 switch v := v.(*StatisticalTable); i { 18639 case 0: 18640 return &v.state 18641 case 1: 18642 return &v.sizeCache 18643 case 2: 18644 return &v.unknownFields 18645 default: 18646 return nil 18647 } 18648 } 18649 file_google_privacy_dlp_v2_dlp_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { 18650 switch v := v.(*PrivacyMetric); i { 18651 case 0: 18652 return &v.state 18653 case 1: 18654 return &v.sizeCache 18655 case 2: 18656 return &v.unknownFields 18657 default: 18658 return nil 18659 } 18660 } 18661 file_google_privacy_dlp_v2_dlp_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { 18662 switch v := v.(*AnalyzeDataSourceRiskDetails); i { 18663 case 0: 18664 return &v.state 18665 case 1: 18666 return &v.sizeCache 18667 case 2: 18668 return &v.unknownFields 18669 default: 18670 return nil 18671 } 18672 } 18673 file_google_privacy_dlp_v2_dlp_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { 18674 switch v := v.(*ValueFrequency); i { 18675 case 0: 18676 return &v.state 18677 case 1: 18678 return &v.sizeCache 18679 case 2: 18680 return &v.unknownFields 18681 default: 18682 return nil 18683 } 18684 } 18685 file_google_privacy_dlp_v2_dlp_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 18686 switch v := v.(*Value); i { 18687 case 0: 18688 return &v.state 18689 case 1: 18690 return &v.sizeCache 18691 case 2: 18692 return &v.unknownFields 18693 default: 18694 return nil 18695 } 18696 } 18697 file_google_privacy_dlp_v2_dlp_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 18698 switch v := v.(*QuoteInfo); i { 18699 case 0: 18700 return &v.state 18701 case 1: 18702 return &v.sizeCache 18703 case 2: 18704 return &v.unknownFields 18705 default: 18706 return nil 18707 } 18708 } 18709 file_google_privacy_dlp_v2_dlp_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { 18710 switch v := v.(*DateTime); i { 18711 case 0: 18712 return &v.state 18713 case 1: 18714 return &v.sizeCache 18715 case 2: 18716 return &v.unknownFields 18717 default: 18718 return nil 18719 } 18720 } 18721 file_google_privacy_dlp_v2_dlp_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { 18722 switch v := v.(*DeidentifyConfig); i { 18723 case 0: 18724 return &v.state 18725 case 1: 18726 return &v.sizeCache 18727 case 2: 18728 return &v.unknownFields 18729 default: 18730 return nil 18731 } 18732 } 18733 file_google_privacy_dlp_v2_dlp_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { 18734 switch v := v.(*TransformationErrorHandling); i { 18735 case 0: 18736 return &v.state 18737 case 1: 18738 return &v.sizeCache 18739 case 2: 18740 return &v.unknownFields 18741 default: 18742 return nil 18743 } 18744 } 18745 file_google_privacy_dlp_v2_dlp_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { 18746 switch v := v.(*PrimitiveTransformation); i { 18747 case 0: 18748 return &v.state 18749 case 1: 18750 return &v.sizeCache 18751 case 2: 18752 return &v.unknownFields 18753 default: 18754 return nil 18755 } 18756 } 18757 file_google_privacy_dlp_v2_dlp_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { 18758 switch v := v.(*TimePartConfig); i { 18759 case 0: 18760 return &v.state 18761 case 1: 18762 return &v.sizeCache 18763 case 2: 18764 return &v.unknownFields 18765 default: 18766 return nil 18767 } 18768 } 18769 file_google_privacy_dlp_v2_dlp_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { 18770 switch v := v.(*CryptoHashConfig); i { 18771 case 0: 18772 return &v.state 18773 case 1: 18774 return &v.sizeCache 18775 case 2: 18776 return &v.unknownFields 18777 default: 18778 return nil 18779 } 18780 } 18781 file_google_privacy_dlp_v2_dlp_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { 18782 switch v := v.(*CryptoDeterministicConfig); i { 18783 case 0: 18784 return &v.state 18785 case 1: 18786 return &v.sizeCache 18787 case 2: 18788 return &v.unknownFields 18789 default: 18790 return nil 18791 } 18792 } 18793 file_google_privacy_dlp_v2_dlp_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { 18794 switch v := v.(*ReplaceValueConfig); i { 18795 case 0: 18796 return &v.state 18797 case 1: 18798 return &v.sizeCache 18799 case 2: 18800 return &v.unknownFields 18801 default: 18802 return nil 18803 } 18804 } 18805 file_google_privacy_dlp_v2_dlp_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { 18806 switch v := v.(*ReplaceWithInfoTypeConfig); i { 18807 case 0: 18808 return &v.state 18809 case 1: 18810 return &v.sizeCache 18811 case 2: 18812 return &v.unknownFields 18813 default: 18814 return nil 18815 } 18816 } 18817 file_google_privacy_dlp_v2_dlp_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { 18818 switch v := v.(*RedactConfig); i { 18819 case 0: 18820 return &v.state 18821 case 1: 18822 return &v.sizeCache 18823 case 2: 18824 return &v.unknownFields 18825 default: 18826 return nil 18827 } 18828 } 18829 file_google_privacy_dlp_v2_dlp_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { 18830 switch v := v.(*CharsToIgnore); i { 18831 case 0: 18832 return &v.state 18833 case 1: 18834 return &v.sizeCache 18835 case 2: 18836 return &v.unknownFields 18837 default: 18838 return nil 18839 } 18840 } 18841 file_google_privacy_dlp_v2_dlp_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { 18842 switch v := v.(*CharacterMaskConfig); i { 18843 case 0: 18844 return &v.state 18845 case 1: 18846 return &v.sizeCache 18847 case 2: 18848 return &v.unknownFields 18849 default: 18850 return nil 18851 } 18852 } 18853 file_google_privacy_dlp_v2_dlp_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { 18854 switch v := v.(*FixedSizeBucketingConfig); i { 18855 case 0: 18856 return &v.state 18857 case 1: 18858 return &v.sizeCache 18859 case 2: 18860 return &v.unknownFields 18861 default: 18862 return nil 18863 } 18864 } 18865 file_google_privacy_dlp_v2_dlp_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { 18866 switch v := v.(*BucketingConfig); i { 18867 case 0: 18868 return &v.state 18869 case 1: 18870 return &v.sizeCache 18871 case 2: 18872 return &v.unknownFields 18873 default: 18874 return nil 18875 } 18876 } 18877 file_google_privacy_dlp_v2_dlp_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { 18878 switch v := v.(*CryptoReplaceFfxFpeConfig); i { 18879 case 0: 18880 return &v.state 18881 case 1: 18882 return &v.sizeCache 18883 case 2: 18884 return &v.unknownFields 18885 default: 18886 return nil 18887 } 18888 } 18889 file_google_privacy_dlp_v2_dlp_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { 18890 switch v := v.(*CryptoKey); i { 18891 case 0: 18892 return &v.state 18893 case 1: 18894 return &v.sizeCache 18895 case 2: 18896 return &v.unknownFields 18897 default: 18898 return nil 18899 } 18900 } 18901 file_google_privacy_dlp_v2_dlp_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { 18902 switch v := v.(*TransientCryptoKey); i { 18903 case 0: 18904 return &v.state 18905 case 1: 18906 return &v.sizeCache 18907 case 2: 18908 return &v.unknownFields 18909 default: 18910 return nil 18911 } 18912 } 18913 file_google_privacy_dlp_v2_dlp_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { 18914 switch v := v.(*UnwrappedCryptoKey); i { 18915 case 0: 18916 return &v.state 18917 case 1: 18918 return &v.sizeCache 18919 case 2: 18920 return &v.unknownFields 18921 default: 18922 return nil 18923 } 18924 } 18925 file_google_privacy_dlp_v2_dlp_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { 18926 switch v := v.(*KmsWrappedCryptoKey); i { 18927 case 0: 18928 return &v.state 18929 case 1: 18930 return &v.sizeCache 18931 case 2: 18932 return &v.unknownFields 18933 default: 18934 return nil 18935 } 18936 } 18937 file_google_privacy_dlp_v2_dlp_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { 18938 switch v := v.(*DateShiftConfig); i { 18939 case 0: 18940 return &v.state 18941 case 1: 18942 return &v.sizeCache 18943 case 2: 18944 return &v.unknownFields 18945 default: 18946 return nil 18947 } 18948 } 18949 file_google_privacy_dlp_v2_dlp_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { 18950 switch v := v.(*InfoTypeTransformations); i { 18951 case 0: 18952 return &v.state 18953 case 1: 18954 return &v.sizeCache 18955 case 2: 18956 return &v.unknownFields 18957 default: 18958 return nil 18959 } 18960 } 18961 file_google_privacy_dlp_v2_dlp_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { 18962 switch v := v.(*FieldTransformation); i { 18963 case 0: 18964 return &v.state 18965 case 1: 18966 return &v.sizeCache 18967 case 2: 18968 return &v.unknownFields 18969 default: 18970 return nil 18971 } 18972 } 18973 file_google_privacy_dlp_v2_dlp_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { 18974 switch v := v.(*RecordTransformations); i { 18975 case 0: 18976 return &v.state 18977 case 1: 18978 return &v.sizeCache 18979 case 2: 18980 return &v.unknownFields 18981 default: 18982 return nil 18983 } 18984 } 18985 file_google_privacy_dlp_v2_dlp_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { 18986 switch v := v.(*RecordSuppression); i { 18987 case 0: 18988 return &v.state 18989 case 1: 18990 return &v.sizeCache 18991 case 2: 18992 return &v.unknownFields 18993 default: 18994 return nil 18995 } 18996 } 18997 file_google_privacy_dlp_v2_dlp_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { 18998 switch v := v.(*RecordCondition); i { 18999 case 0: 19000 return &v.state 19001 case 1: 19002 return &v.sizeCache 19003 case 2: 19004 return &v.unknownFields 19005 default: 19006 return nil 19007 } 19008 } 19009 file_google_privacy_dlp_v2_dlp_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { 19010 switch v := v.(*TransformationOverview); i { 19011 case 0: 19012 return &v.state 19013 case 1: 19014 return &v.sizeCache 19015 case 2: 19016 return &v.unknownFields 19017 default: 19018 return nil 19019 } 19020 } 19021 file_google_privacy_dlp_v2_dlp_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { 19022 switch v := v.(*TransformationSummary); i { 19023 case 0: 19024 return &v.state 19025 case 1: 19026 return &v.sizeCache 19027 case 2: 19028 return &v.unknownFields 19029 default: 19030 return nil 19031 } 19032 } 19033 file_google_privacy_dlp_v2_dlp_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { 19034 switch v := v.(*Schedule); i { 19035 case 0: 19036 return &v.state 19037 case 1: 19038 return &v.sizeCache 19039 case 2: 19040 return &v.unknownFields 19041 default: 19042 return nil 19043 } 19044 } 19045 file_google_privacy_dlp_v2_dlp_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { 19046 switch v := v.(*Manual); i { 19047 case 0: 19048 return &v.state 19049 case 1: 19050 return &v.sizeCache 19051 case 2: 19052 return &v.unknownFields 19053 default: 19054 return nil 19055 } 19056 } 19057 file_google_privacy_dlp_v2_dlp_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { 19058 switch v := v.(*InspectTemplate); i { 19059 case 0: 19060 return &v.state 19061 case 1: 19062 return &v.sizeCache 19063 case 2: 19064 return &v.unknownFields 19065 default: 19066 return nil 19067 } 19068 } 19069 file_google_privacy_dlp_v2_dlp_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { 19070 switch v := v.(*DeidentifyTemplate); i { 19071 case 0: 19072 return &v.state 19073 case 1: 19074 return &v.sizeCache 19075 case 2: 19076 return &v.unknownFields 19077 default: 19078 return nil 19079 } 19080 } 19081 file_google_privacy_dlp_v2_dlp_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { 19082 switch v := v.(*Error); i { 19083 case 0: 19084 return &v.state 19085 case 1: 19086 return &v.sizeCache 19087 case 2: 19088 return &v.unknownFields 19089 default: 19090 return nil 19091 } 19092 } 19093 file_google_privacy_dlp_v2_dlp_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { 19094 switch v := v.(*JobTrigger); i { 19095 case 0: 19096 return &v.state 19097 case 1: 19098 return &v.sizeCache 19099 case 2: 19100 return &v.unknownFields 19101 default: 19102 return nil 19103 } 19104 } 19105 file_google_privacy_dlp_v2_dlp_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { 19106 switch v := v.(*Action); i { 19107 case 0: 19108 return &v.state 19109 case 1: 19110 return &v.sizeCache 19111 case 2: 19112 return &v.unknownFields 19113 default: 19114 return nil 19115 } 19116 } 19117 file_google_privacy_dlp_v2_dlp_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { 19118 switch v := v.(*CreateInspectTemplateRequest); i { 19119 case 0: 19120 return &v.state 19121 case 1: 19122 return &v.sizeCache 19123 case 2: 19124 return &v.unknownFields 19125 default: 19126 return nil 19127 } 19128 } 19129 file_google_privacy_dlp_v2_dlp_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { 19130 switch v := v.(*UpdateInspectTemplateRequest); i { 19131 case 0: 19132 return &v.state 19133 case 1: 19134 return &v.sizeCache 19135 case 2: 19136 return &v.unknownFields 19137 default: 19138 return nil 19139 } 19140 } 19141 file_google_privacy_dlp_v2_dlp_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { 19142 switch v := v.(*GetInspectTemplateRequest); i { 19143 case 0: 19144 return &v.state 19145 case 1: 19146 return &v.sizeCache 19147 case 2: 19148 return &v.unknownFields 19149 default: 19150 return nil 19151 } 19152 } 19153 file_google_privacy_dlp_v2_dlp_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { 19154 switch v := v.(*ListInspectTemplatesRequest); i { 19155 case 0: 19156 return &v.state 19157 case 1: 19158 return &v.sizeCache 19159 case 2: 19160 return &v.unknownFields 19161 default: 19162 return nil 19163 } 19164 } 19165 file_google_privacy_dlp_v2_dlp_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { 19166 switch v := v.(*ListInspectTemplatesResponse); i { 19167 case 0: 19168 return &v.state 19169 case 1: 19170 return &v.sizeCache 19171 case 2: 19172 return &v.unknownFields 19173 default: 19174 return nil 19175 } 19176 } 19177 file_google_privacy_dlp_v2_dlp_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { 19178 switch v := v.(*DeleteInspectTemplateRequest); i { 19179 case 0: 19180 return &v.state 19181 case 1: 19182 return &v.sizeCache 19183 case 2: 19184 return &v.unknownFields 19185 default: 19186 return nil 19187 } 19188 } 19189 file_google_privacy_dlp_v2_dlp_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { 19190 switch v := v.(*CreateJobTriggerRequest); i { 19191 case 0: 19192 return &v.state 19193 case 1: 19194 return &v.sizeCache 19195 case 2: 19196 return &v.unknownFields 19197 default: 19198 return nil 19199 } 19200 } 19201 file_google_privacy_dlp_v2_dlp_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { 19202 switch v := v.(*ActivateJobTriggerRequest); i { 19203 case 0: 19204 return &v.state 19205 case 1: 19206 return &v.sizeCache 19207 case 2: 19208 return &v.unknownFields 19209 default: 19210 return nil 19211 } 19212 } 19213 file_google_privacy_dlp_v2_dlp_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { 19214 switch v := v.(*UpdateJobTriggerRequest); i { 19215 case 0: 19216 return &v.state 19217 case 1: 19218 return &v.sizeCache 19219 case 2: 19220 return &v.unknownFields 19221 default: 19222 return nil 19223 } 19224 } 19225 file_google_privacy_dlp_v2_dlp_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { 19226 switch v := v.(*GetJobTriggerRequest); i { 19227 case 0: 19228 return &v.state 19229 case 1: 19230 return &v.sizeCache 19231 case 2: 19232 return &v.unknownFields 19233 default: 19234 return nil 19235 } 19236 } 19237 file_google_privacy_dlp_v2_dlp_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { 19238 switch v := v.(*CreateDlpJobRequest); i { 19239 case 0: 19240 return &v.state 19241 case 1: 19242 return &v.sizeCache 19243 case 2: 19244 return &v.unknownFields 19245 default: 19246 return nil 19247 } 19248 } 19249 file_google_privacy_dlp_v2_dlp_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { 19250 switch v := v.(*ListJobTriggersRequest); i { 19251 case 0: 19252 return &v.state 19253 case 1: 19254 return &v.sizeCache 19255 case 2: 19256 return &v.unknownFields 19257 default: 19258 return nil 19259 } 19260 } 19261 file_google_privacy_dlp_v2_dlp_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { 19262 switch v := v.(*ListJobTriggersResponse); i { 19263 case 0: 19264 return &v.state 19265 case 1: 19266 return &v.sizeCache 19267 case 2: 19268 return &v.unknownFields 19269 default: 19270 return nil 19271 } 19272 } 19273 file_google_privacy_dlp_v2_dlp_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { 19274 switch v := v.(*DeleteJobTriggerRequest); i { 19275 case 0: 19276 return &v.state 19277 case 1: 19278 return &v.sizeCache 19279 case 2: 19280 return &v.unknownFields 19281 default: 19282 return nil 19283 } 19284 } 19285 file_google_privacy_dlp_v2_dlp_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { 19286 switch v := v.(*InspectJobConfig); i { 19287 case 0: 19288 return &v.state 19289 case 1: 19290 return &v.sizeCache 19291 case 2: 19292 return &v.unknownFields 19293 default: 19294 return nil 19295 } 19296 } 19297 file_google_privacy_dlp_v2_dlp_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { 19298 switch v := v.(*DlpJob); i { 19299 case 0: 19300 return &v.state 19301 case 1: 19302 return &v.sizeCache 19303 case 2: 19304 return &v.unknownFields 19305 default: 19306 return nil 19307 } 19308 } 19309 file_google_privacy_dlp_v2_dlp_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { 19310 switch v := v.(*GetDlpJobRequest); i { 19311 case 0: 19312 return &v.state 19313 case 1: 19314 return &v.sizeCache 19315 case 2: 19316 return &v.unknownFields 19317 default: 19318 return nil 19319 } 19320 } 19321 file_google_privacy_dlp_v2_dlp_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { 19322 switch v := v.(*ListDlpJobsRequest); i { 19323 case 0: 19324 return &v.state 19325 case 1: 19326 return &v.sizeCache 19327 case 2: 19328 return &v.unknownFields 19329 default: 19330 return nil 19331 } 19332 } 19333 file_google_privacy_dlp_v2_dlp_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { 19334 switch v := v.(*ListDlpJobsResponse); i { 19335 case 0: 19336 return &v.state 19337 case 1: 19338 return &v.sizeCache 19339 case 2: 19340 return &v.unknownFields 19341 default: 19342 return nil 19343 } 19344 } 19345 file_google_privacy_dlp_v2_dlp_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { 19346 switch v := v.(*CancelDlpJobRequest); i { 19347 case 0: 19348 return &v.state 19349 case 1: 19350 return &v.sizeCache 19351 case 2: 19352 return &v.unknownFields 19353 default: 19354 return nil 19355 } 19356 } 19357 file_google_privacy_dlp_v2_dlp_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { 19358 switch v := v.(*FinishDlpJobRequest); i { 19359 case 0: 19360 return &v.state 19361 case 1: 19362 return &v.sizeCache 19363 case 2: 19364 return &v.unknownFields 19365 default: 19366 return nil 19367 } 19368 } 19369 file_google_privacy_dlp_v2_dlp_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { 19370 switch v := v.(*DeleteDlpJobRequest); i { 19371 case 0: 19372 return &v.state 19373 case 1: 19374 return &v.sizeCache 19375 case 2: 19376 return &v.unknownFields 19377 default: 19378 return nil 19379 } 19380 } 19381 file_google_privacy_dlp_v2_dlp_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { 19382 switch v := v.(*CreateDeidentifyTemplateRequest); i { 19383 case 0: 19384 return &v.state 19385 case 1: 19386 return &v.sizeCache 19387 case 2: 19388 return &v.unknownFields 19389 default: 19390 return nil 19391 } 19392 } 19393 file_google_privacy_dlp_v2_dlp_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { 19394 switch v := v.(*UpdateDeidentifyTemplateRequest); i { 19395 case 0: 19396 return &v.state 19397 case 1: 19398 return &v.sizeCache 19399 case 2: 19400 return &v.unknownFields 19401 default: 19402 return nil 19403 } 19404 } 19405 file_google_privacy_dlp_v2_dlp_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { 19406 switch v := v.(*GetDeidentifyTemplateRequest); i { 19407 case 0: 19408 return &v.state 19409 case 1: 19410 return &v.sizeCache 19411 case 2: 19412 return &v.unknownFields 19413 default: 19414 return nil 19415 } 19416 } 19417 file_google_privacy_dlp_v2_dlp_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { 19418 switch v := v.(*ListDeidentifyTemplatesRequest); i { 19419 case 0: 19420 return &v.state 19421 case 1: 19422 return &v.sizeCache 19423 case 2: 19424 return &v.unknownFields 19425 default: 19426 return nil 19427 } 19428 } 19429 file_google_privacy_dlp_v2_dlp_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { 19430 switch v := v.(*ListDeidentifyTemplatesResponse); i { 19431 case 0: 19432 return &v.state 19433 case 1: 19434 return &v.sizeCache 19435 case 2: 19436 return &v.unknownFields 19437 default: 19438 return nil 19439 } 19440 } 19441 file_google_privacy_dlp_v2_dlp_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { 19442 switch v := v.(*DeleteDeidentifyTemplateRequest); i { 19443 case 0: 19444 return &v.state 19445 case 1: 19446 return &v.sizeCache 19447 case 2: 19448 return &v.unknownFields 19449 default: 19450 return nil 19451 } 19452 } 19453 file_google_privacy_dlp_v2_dlp_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { 19454 switch v := v.(*LargeCustomDictionaryConfig); i { 19455 case 0: 19456 return &v.state 19457 case 1: 19458 return &v.sizeCache 19459 case 2: 19460 return &v.unknownFields 19461 default: 19462 return nil 19463 } 19464 } 19465 file_google_privacy_dlp_v2_dlp_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { 19466 switch v := v.(*LargeCustomDictionaryStats); i { 19467 case 0: 19468 return &v.state 19469 case 1: 19470 return &v.sizeCache 19471 case 2: 19472 return &v.unknownFields 19473 default: 19474 return nil 19475 } 19476 } 19477 file_google_privacy_dlp_v2_dlp_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { 19478 switch v := v.(*StoredInfoTypeConfig); i { 19479 case 0: 19480 return &v.state 19481 case 1: 19482 return &v.sizeCache 19483 case 2: 19484 return &v.unknownFields 19485 default: 19486 return nil 19487 } 19488 } 19489 file_google_privacy_dlp_v2_dlp_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { 19490 switch v := v.(*StoredInfoTypeStats); i { 19491 case 0: 19492 return &v.state 19493 case 1: 19494 return &v.sizeCache 19495 case 2: 19496 return &v.unknownFields 19497 default: 19498 return nil 19499 } 19500 } 19501 file_google_privacy_dlp_v2_dlp_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { 19502 switch v := v.(*StoredInfoTypeVersion); i { 19503 case 0: 19504 return &v.state 19505 case 1: 19506 return &v.sizeCache 19507 case 2: 19508 return &v.unknownFields 19509 default: 19510 return nil 19511 } 19512 } 19513 file_google_privacy_dlp_v2_dlp_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { 19514 switch v := v.(*StoredInfoType); i { 19515 case 0: 19516 return &v.state 19517 case 1: 19518 return &v.sizeCache 19519 case 2: 19520 return &v.unknownFields 19521 default: 19522 return nil 19523 } 19524 } 19525 file_google_privacy_dlp_v2_dlp_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { 19526 switch v := v.(*CreateStoredInfoTypeRequest); i { 19527 case 0: 19528 return &v.state 19529 case 1: 19530 return &v.sizeCache 19531 case 2: 19532 return &v.unknownFields 19533 default: 19534 return nil 19535 } 19536 } 19537 file_google_privacy_dlp_v2_dlp_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { 19538 switch v := v.(*UpdateStoredInfoTypeRequest); i { 19539 case 0: 19540 return &v.state 19541 case 1: 19542 return &v.sizeCache 19543 case 2: 19544 return &v.unknownFields 19545 default: 19546 return nil 19547 } 19548 } 19549 file_google_privacy_dlp_v2_dlp_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { 19550 switch v := v.(*GetStoredInfoTypeRequest); i { 19551 case 0: 19552 return &v.state 19553 case 1: 19554 return &v.sizeCache 19555 case 2: 19556 return &v.unknownFields 19557 default: 19558 return nil 19559 } 19560 } 19561 file_google_privacy_dlp_v2_dlp_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { 19562 switch v := v.(*ListStoredInfoTypesRequest); i { 19563 case 0: 19564 return &v.state 19565 case 1: 19566 return &v.sizeCache 19567 case 2: 19568 return &v.unknownFields 19569 default: 19570 return nil 19571 } 19572 } 19573 file_google_privacy_dlp_v2_dlp_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { 19574 switch v := v.(*ListStoredInfoTypesResponse); i { 19575 case 0: 19576 return &v.state 19577 case 1: 19578 return &v.sizeCache 19579 case 2: 19580 return &v.unknownFields 19581 default: 19582 return nil 19583 } 19584 } 19585 file_google_privacy_dlp_v2_dlp_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { 19586 switch v := v.(*DeleteStoredInfoTypeRequest); i { 19587 case 0: 19588 return &v.state 19589 case 1: 19590 return &v.sizeCache 19591 case 2: 19592 return &v.unknownFields 19593 default: 19594 return nil 19595 } 19596 } 19597 file_google_privacy_dlp_v2_dlp_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { 19598 switch v := v.(*HybridInspectJobTriggerRequest); i { 19599 case 0: 19600 return &v.state 19601 case 1: 19602 return &v.sizeCache 19603 case 2: 19604 return &v.unknownFields 19605 default: 19606 return nil 19607 } 19608 } 19609 file_google_privacy_dlp_v2_dlp_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { 19610 switch v := v.(*HybridInspectDlpJobRequest); i { 19611 case 0: 19612 return &v.state 19613 case 1: 19614 return &v.sizeCache 19615 case 2: 19616 return &v.unknownFields 19617 default: 19618 return nil 19619 } 19620 } 19621 file_google_privacy_dlp_v2_dlp_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { 19622 switch v := v.(*HybridContentItem); i { 19623 case 0: 19624 return &v.state 19625 case 1: 19626 return &v.sizeCache 19627 case 2: 19628 return &v.unknownFields 19629 default: 19630 return nil 19631 } 19632 } 19633 file_google_privacy_dlp_v2_dlp_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { 19634 switch v := v.(*HybridFindingDetails); i { 19635 case 0: 19636 return &v.state 19637 case 1: 19638 return &v.sizeCache 19639 case 2: 19640 return &v.unknownFields 19641 default: 19642 return nil 19643 } 19644 } 19645 file_google_privacy_dlp_v2_dlp_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { 19646 switch v := v.(*HybridInspectResponse); i { 19647 case 0: 19648 return &v.state 19649 case 1: 19650 return &v.sizeCache 19651 case 2: 19652 return &v.unknownFields 19653 default: 19654 return nil 19655 } 19656 } 19657 file_google_privacy_dlp_v2_dlp_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { 19658 switch v := v.(*InspectConfig_FindingLimits); i { 19659 case 0: 19660 return &v.state 19661 case 1: 19662 return &v.sizeCache 19663 case 2: 19664 return &v.unknownFields 19665 default: 19666 return nil 19667 } 19668 } 19669 file_google_privacy_dlp_v2_dlp_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { 19670 switch v := v.(*InspectConfig_FindingLimits_InfoTypeLimit); i { 19671 case 0: 19672 return &v.state 19673 case 1: 19674 return &v.sizeCache 19675 case 2: 19676 return &v.unknownFields 19677 default: 19678 return nil 19679 } 19680 } 19681 file_google_privacy_dlp_v2_dlp_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { 19682 switch v := v.(*Table_Row); i { 19683 case 0: 19684 return &v.state 19685 case 1: 19686 return &v.sizeCache 19687 case 2: 19688 return &v.unknownFields 19689 default: 19690 return nil 19691 } 19692 } 19693 file_google_privacy_dlp_v2_dlp_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { 19694 switch v := v.(*RedactImageRequest_ImageRedactionConfig); i { 19695 case 0: 19696 return &v.state 19697 case 1: 19698 return &v.sizeCache 19699 case 2: 19700 return &v.unknownFields 19701 default: 19702 return nil 19703 } 19704 } 19705 file_google_privacy_dlp_v2_dlp_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { 19706 switch v := v.(*InspectDataSourceDetails_RequestedOptions); i { 19707 case 0: 19708 return &v.state 19709 case 1: 19710 return &v.sizeCache 19711 case 2: 19712 return &v.unknownFields 19713 default: 19714 return nil 19715 } 19716 } 19717 file_google_privacy_dlp_v2_dlp_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { 19718 switch v := v.(*InspectDataSourceDetails_Result); i { 19719 case 0: 19720 return &v.state 19721 case 1: 19722 return &v.sizeCache 19723 case 2: 19724 return &v.unknownFields 19725 default: 19726 return nil 19727 } 19728 } 19729 file_google_privacy_dlp_v2_dlp_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { 19730 switch v := v.(*StatisticalTable_QuasiIdentifierField); i { 19731 case 0: 19732 return &v.state 19733 case 1: 19734 return &v.sizeCache 19735 case 2: 19736 return &v.unknownFields 19737 default: 19738 return nil 19739 } 19740 } 19741 file_google_privacy_dlp_v2_dlp_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { 19742 switch v := v.(*PrivacyMetric_NumericalStatsConfig); i { 19743 case 0: 19744 return &v.state 19745 case 1: 19746 return &v.sizeCache 19747 case 2: 19748 return &v.unknownFields 19749 default: 19750 return nil 19751 } 19752 } 19753 file_google_privacy_dlp_v2_dlp_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { 19754 switch v := v.(*PrivacyMetric_CategoricalStatsConfig); i { 19755 case 0: 19756 return &v.state 19757 case 1: 19758 return &v.sizeCache 19759 case 2: 19760 return &v.unknownFields 19761 default: 19762 return nil 19763 } 19764 } 19765 file_google_privacy_dlp_v2_dlp_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { 19766 switch v := v.(*PrivacyMetric_KAnonymityConfig); i { 19767 case 0: 19768 return &v.state 19769 case 1: 19770 return &v.sizeCache 19771 case 2: 19772 return &v.unknownFields 19773 default: 19774 return nil 19775 } 19776 } 19777 file_google_privacy_dlp_v2_dlp_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { 19778 switch v := v.(*PrivacyMetric_LDiversityConfig); i { 19779 case 0: 19780 return &v.state 19781 case 1: 19782 return &v.sizeCache 19783 case 2: 19784 return &v.unknownFields 19785 default: 19786 return nil 19787 } 19788 } 19789 file_google_privacy_dlp_v2_dlp_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { 19790 switch v := v.(*PrivacyMetric_KMapEstimationConfig); i { 19791 case 0: 19792 return &v.state 19793 case 1: 19794 return &v.sizeCache 19795 case 2: 19796 return &v.unknownFields 19797 default: 19798 return nil 19799 } 19800 } 19801 file_google_privacy_dlp_v2_dlp_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { 19802 switch v := v.(*PrivacyMetric_DeltaPresenceEstimationConfig); i { 19803 case 0: 19804 return &v.state 19805 case 1: 19806 return &v.sizeCache 19807 case 2: 19808 return &v.unknownFields 19809 default: 19810 return nil 19811 } 19812 } 19813 file_google_privacy_dlp_v2_dlp_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { 19814 switch v := v.(*PrivacyMetric_KMapEstimationConfig_TaggedField); i { 19815 case 0: 19816 return &v.state 19817 case 1: 19818 return &v.sizeCache 19819 case 2: 19820 return &v.unknownFields 19821 default: 19822 return nil 19823 } 19824 } 19825 file_google_privacy_dlp_v2_dlp_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { 19826 switch v := v.(*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable); i { 19827 case 0: 19828 return &v.state 19829 case 1: 19830 return &v.sizeCache 19831 case 2: 19832 return &v.unknownFields 19833 default: 19834 return nil 19835 } 19836 } 19837 file_google_privacy_dlp_v2_dlp_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { 19838 switch v := v.(*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField); i { 19839 case 0: 19840 return &v.state 19841 case 1: 19842 return &v.sizeCache 19843 case 2: 19844 return &v.unknownFields 19845 default: 19846 return nil 19847 } 19848 } 19849 file_google_privacy_dlp_v2_dlp_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { 19850 switch v := v.(*AnalyzeDataSourceRiskDetails_NumericalStatsResult); i { 19851 case 0: 19852 return &v.state 19853 case 1: 19854 return &v.sizeCache 19855 case 2: 19856 return &v.unknownFields 19857 default: 19858 return nil 19859 } 19860 } 19861 file_google_privacy_dlp_v2_dlp_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { 19862 switch v := v.(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult); i { 19863 case 0: 19864 return &v.state 19865 case 1: 19866 return &v.sizeCache 19867 case 2: 19868 return &v.unknownFields 19869 default: 19870 return nil 19871 } 19872 } 19873 file_google_privacy_dlp_v2_dlp_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { 19874 switch v := v.(*AnalyzeDataSourceRiskDetails_KAnonymityResult); i { 19875 case 0: 19876 return &v.state 19877 case 1: 19878 return &v.sizeCache 19879 case 2: 19880 return &v.unknownFields 19881 default: 19882 return nil 19883 } 19884 } 19885 file_google_privacy_dlp_v2_dlp_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { 19886 switch v := v.(*AnalyzeDataSourceRiskDetails_LDiversityResult); i { 19887 case 0: 19888 return &v.state 19889 case 1: 19890 return &v.sizeCache 19891 case 2: 19892 return &v.unknownFields 19893 default: 19894 return nil 19895 } 19896 } 19897 file_google_privacy_dlp_v2_dlp_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { 19898 switch v := v.(*AnalyzeDataSourceRiskDetails_KMapEstimationResult); i { 19899 case 0: 19900 return &v.state 19901 case 1: 19902 return &v.sizeCache 19903 case 2: 19904 return &v.unknownFields 19905 default: 19906 return nil 19907 } 19908 } 19909 file_google_privacy_dlp_v2_dlp_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { 19910 switch v := v.(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult); i { 19911 case 0: 19912 return &v.state 19913 case 1: 19914 return &v.sizeCache 19915 case 2: 19916 return &v.unknownFields 19917 default: 19918 return nil 19919 } 19920 } 19921 file_google_privacy_dlp_v2_dlp_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { 19922 switch v := v.(*AnalyzeDataSourceRiskDetails_RequestedRiskAnalysisOptions); i { 19923 case 0: 19924 return &v.state 19925 case 1: 19926 return &v.sizeCache 19927 case 2: 19928 return &v.unknownFields 19929 default: 19930 return nil 19931 } 19932 } 19933 file_google_privacy_dlp_v2_dlp_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { 19934 switch v := v.(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket); i { 19935 case 0: 19936 return &v.state 19937 case 1: 19938 return &v.sizeCache 19939 case 2: 19940 return &v.unknownFields 19941 default: 19942 return nil 19943 } 19944 } 19945 file_google_privacy_dlp_v2_dlp_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { 19946 switch v := v.(*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass); i { 19947 case 0: 19948 return &v.state 19949 case 1: 19950 return &v.sizeCache 19951 case 2: 19952 return &v.unknownFields 19953 default: 19954 return nil 19955 } 19956 } 19957 file_google_privacy_dlp_v2_dlp_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { 19958 switch v := v.(*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket); i { 19959 case 0: 19960 return &v.state 19961 case 1: 19962 return &v.sizeCache 19963 case 2: 19964 return &v.unknownFields 19965 default: 19966 return nil 19967 } 19968 } 19969 file_google_privacy_dlp_v2_dlp_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { 19970 switch v := v.(*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass); i { 19971 case 0: 19972 return &v.state 19973 case 1: 19974 return &v.sizeCache 19975 case 2: 19976 return &v.unknownFields 19977 default: 19978 return nil 19979 } 19980 } 19981 file_google_privacy_dlp_v2_dlp_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { 19982 switch v := v.(*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket); i { 19983 case 0: 19984 return &v.state 19985 case 1: 19986 return &v.sizeCache 19987 case 2: 19988 return &v.unknownFields 19989 default: 19990 return nil 19991 } 19992 } 19993 file_google_privacy_dlp_v2_dlp_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { 19994 switch v := v.(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues); i { 19995 case 0: 19996 return &v.state 19997 case 1: 19998 return &v.sizeCache 19999 case 2: 20000 return &v.unknownFields 20001 default: 20002 return nil 20003 } 20004 } 20005 file_google_privacy_dlp_v2_dlp_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { 20006 switch v := v.(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket); i { 20007 case 0: 20008 return &v.state 20009 case 1: 20010 return &v.sizeCache 20011 case 2: 20012 return &v.unknownFields 20013 default: 20014 return nil 20015 } 20016 } 20017 file_google_privacy_dlp_v2_dlp_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { 20018 switch v := v.(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues); i { 20019 case 0: 20020 return &v.state 20021 case 1: 20022 return &v.sizeCache 20023 case 2: 20024 return &v.unknownFields 20025 default: 20026 return nil 20027 } 20028 } 20029 file_google_privacy_dlp_v2_dlp_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { 20030 switch v := v.(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket); i { 20031 case 0: 20032 return &v.state 20033 case 1: 20034 return &v.sizeCache 20035 case 2: 20036 return &v.unknownFields 20037 default: 20038 return nil 20039 } 20040 } 20041 file_google_privacy_dlp_v2_dlp_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { 20042 switch v := v.(*DateTime_TimeZone); i { 20043 case 0: 20044 return &v.state 20045 case 1: 20046 return &v.sizeCache 20047 case 2: 20048 return &v.unknownFields 20049 default: 20050 return nil 20051 } 20052 } 20053 file_google_privacy_dlp_v2_dlp_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { 20054 switch v := v.(*TransformationErrorHandling_ThrowError); i { 20055 case 0: 20056 return &v.state 20057 case 1: 20058 return &v.sizeCache 20059 case 2: 20060 return &v.unknownFields 20061 default: 20062 return nil 20063 } 20064 } 20065 file_google_privacy_dlp_v2_dlp_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { 20066 switch v := v.(*TransformationErrorHandling_LeaveUntransformed); i { 20067 case 0: 20068 return &v.state 20069 case 1: 20070 return &v.sizeCache 20071 case 2: 20072 return &v.unknownFields 20073 default: 20074 return nil 20075 } 20076 } 20077 file_google_privacy_dlp_v2_dlp_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { 20078 switch v := v.(*BucketingConfig_Bucket); i { 20079 case 0: 20080 return &v.state 20081 case 1: 20082 return &v.sizeCache 20083 case 2: 20084 return &v.unknownFields 20085 default: 20086 return nil 20087 } 20088 } 20089 file_google_privacy_dlp_v2_dlp_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { 20090 switch v := v.(*InfoTypeTransformations_InfoTypeTransformation); i { 20091 case 0: 20092 return &v.state 20093 case 1: 20094 return &v.sizeCache 20095 case 2: 20096 return &v.unknownFields 20097 default: 20098 return nil 20099 } 20100 } 20101 file_google_privacy_dlp_v2_dlp_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { 20102 switch v := v.(*RecordCondition_Condition); i { 20103 case 0: 20104 return &v.state 20105 case 1: 20106 return &v.sizeCache 20107 case 2: 20108 return &v.unknownFields 20109 default: 20110 return nil 20111 } 20112 } 20113 file_google_privacy_dlp_v2_dlp_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { 20114 switch v := v.(*RecordCondition_Conditions); i { 20115 case 0: 20116 return &v.state 20117 case 1: 20118 return &v.sizeCache 20119 case 2: 20120 return &v.unknownFields 20121 default: 20122 return nil 20123 } 20124 } 20125 file_google_privacy_dlp_v2_dlp_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { 20126 switch v := v.(*RecordCondition_Expressions); i { 20127 case 0: 20128 return &v.state 20129 case 1: 20130 return &v.sizeCache 20131 case 2: 20132 return &v.unknownFields 20133 default: 20134 return nil 20135 } 20136 } 20137 file_google_privacy_dlp_v2_dlp_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { 20138 switch v := v.(*TransformationSummary_SummaryResult); i { 20139 case 0: 20140 return &v.state 20141 case 1: 20142 return &v.sizeCache 20143 case 2: 20144 return &v.unknownFields 20145 default: 20146 return nil 20147 } 20148 } 20149 file_google_privacy_dlp_v2_dlp_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { 20150 switch v := v.(*JobTrigger_Trigger); i { 20151 case 0: 20152 return &v.state 20153 case 1: 20154 return &v.sizeCache 20155 case 2: 20156 return &v.unknownFields 20157 default: 20158 return nil 20159 } 20160 } 20161 file_google_privacy_dlp_v2_dlp_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { 20162 switch v := v.(*Action_SaveFindings); i { 20163 case 0: 20164 return &v.state 20165 case 1: 20166 return &v.sizeCache 20167 case 2: 20168 return &v.unknownFields 20169 default: 20170 return nil 20171 } 20172 } 20173 file_google_privacy_dlp_v2_dlp_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { 20174 switch v := v.(*Action_PublishToPubSub); i { 20175 case 0: 20176 return &v.state 20177 case 1: 20178 return &v.sizeCache 20179 case 2: 20180 return &v.unknownFields 20181 default: 20182 return nil 20183 } 20184 } 20185 file_google_privacy_dlp_v2_dlp_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { 20186 switch v := v.(*Action_PublishSummaryToCscc); i { 20187 case 0: 20188 return &v.state 20189 case 1: 20190 return &v.sizeCache 20191 case 2: 20192 return &v.unknownFields 20193 default: 20194 return nil 20195 } 20196 } 20197 file_google_privacy_dlp_v2_dlp_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { 20198 switch v := v.(*Action_PublishFindingsToCloudDataCatalog); i { 20199 case 0: 20200 return &v.state 20201 case 1: 20202 return &v.sizeCache 20203 case 2: 20204 return &v.unknownFields 20205 default: 20206 return nil 20207 } 20208 } 20209 file_google_privacy_dlp_v2_dlp_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { 20210 switch v := v.(*Action_JobNotificationEmails); i { 20211 case 0: 20212 return &v.state 20213 case 1: 20214 return &v.sizeCache 20215 case 2: 20216 return &v.unknownFields 20217 default: 20218 return nil 20219 } 20220 } 20221 file_google_privacy_dlp_v2_dlp_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { 20222 switch v := v.(*Action_PublishToStackdriver); i { 20223 case 0: 20224 return &v.state 20225 case 1: 20226 return &v.sizeCache 20227 case 2: 20228 return &v.unknownFields 20229 default: 20230 return nil 20231 } 20232 } 20233 } 20234 file_google_privacy_dlp_v2_dlp_proto_msgTypes[1].OneofWrappers = []interface{}{ 20235 (*ExclusionRule_Dictionary)(nil), 20236 (*ExclusionRule_Regex)(nil), 20237 (*ExclusionRule_ExcludeInfoTypes)(nil), 20238 } 20239 file_google_privacy_dlp_v2_dlp_proto_msgTypes[2].OneofWrappers = []interface{}{ 20240 (*InspectionRule_HotwordRule)(nil), 20241 (*InspectionRule_ExclusionRule)(nil), 20242 } 20243 file_google_privacy_dlp_v2_dlp_proto_msgTypes[6].OneofWrappers = []interface{}{ 20244 (*ContentItem_Value)(nil), 20245 (*ContentItem_Table)(nil), 20246 (*ContentItem_ByteItem)(nil), 20247 } 20248 file_google_privacy_dlp_v2_dlp_proto_msgTypes[11].OneofWrappers = []interface{}{ 20249 (*ContentLocation_RecordLocation)(nil), 20250 (*ContentLocation_ImageLocation)(nil), 20251 (*ContentLocation_DocumentLocation)(nil), 20252 (*ContentLocation_MetadataLocation)(nil), 20253 } 20254 file_google_privacy_dlp_v2_dlp_proto_msgTypes[12].OneofWrappers = []interface{}{ 20255 (*MetadataLocation_StorageLabel)(nil), 20256 } 20257 file_google_privacy_dlp_v2_dlp_proto_msgTypes[30].OneofWrappers = []interface{}{ 20258 (*OutputStorageConfig_Table)(nil), 20259 } 20260 file_google_privacy_dlp_v2_dlp_proto_msgTypes[38].OneofWrappers = []interface{}{ 20261 (*QuasiId_InfoType)(nil), 20262 (*QuasiId_CustomTag)(nil), 20263 (*QuasiId_Inferred)(nil), 20264 } 20265 file_google_privacy_dlp_v2_dlp_proto_msgTypes[40].OneofWrappers = []interface{}{ 20266 (*PrivacyMetric_NumericalStatsConfig_)(nil), 20267 (*PrivacyMetric_CategoricalStatsConfig_)(nil), 20268 (*PrivacyMetric_KAnonymityConfig_)(nil), 20269 (*PrivacyMetric_LDiversityConfig_)(nil), 20270 (*PrivacyMetric_KMapEstimationConfig_)(nil), 20271 (*PrivacyMetric_DeltaPresenceEstimationConfig_)(nil), 20272 } 20273 file_google_privacy_dlp_v2_dlp_proto_msgTypes[41].OneofWrappers = []interface{}{ 20274 (*AnalyzeDataSourceRiskDetails_NumericalStatsResult_)(nil), 20275 (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_)(nil), 20276 (*AnalyzeDataSourceRiskDetails_KAnonymityResult_)(nil), 20277 (*AnalyzeDataSourceRiskDetails_LDiversityResult_)(nil), 20278 (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_)(nil), 20279 (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_)(nil), 20280 } 20281 file_google_privacy_dlp_v2_dlp_proto_msgTypes[43].OneofWrappers = []interface{}{ 20282 (*Value_IntegerValue)(nil), 20283 (*Value_FloatValue)(nil), 20284 (*Value_StringValue)(nil), 20285 (*Value_BooleanValue)(nil), 20286 (*Value_TimestampValue)(nil), 20287 (*Value_TimeValue)(nil), 20288 (*Value_DateValue)(nil), 20289 (*Value_DayOfWeekValue)(nil), 20290 } 20291 file_google_privacy_dlp_v2_dlp_proto_msgTypes[44].OneofWrappers = []interface{}{ 20292 (*QuoteInfo_DateTime)(nil), 20293 } 20294 file_google_privacy_dlp_v2_dlp_proto_msgTypes[46].OneofWrappers = []interface{}{ 20295 (*DeidentifyConfig_InfoTypeTransformations)(nil), 20296 (*DeidentifyConfig_RecordTransformations)(nil), 20297 } 20298 file_google_privacy_dlp_v2_dlp_proto_msgTypes[47].OneofWrappers = []interface{}{ 20299 (*TransformationErrorHandling_ThrowError_)(nil), 20300 (*TransformationErrorHandling_LeaveUntransformed_)(nil), 20301 } 20302 file_google_privacy_dlp_v2_dlp_proto_msgTypes[48].OneofWrappers = []interface{}{ 20303 (*PrimitiveTransformation_ReplaceConfig)(nil), 20304 (*PrimitiveTransformation_RedactConfig)(nil), 20305 (*PrimitiveTransformation_CharacterMaskConfig)(nil), 20306 (*PrimitiveTransformation_CryptoReplaceFfxFpeConfig)(nil), 20307 (*PrimitiveTransformation_FixedSizeBucketingConfig)(nil), 20308 (*PrimitiveTransformation_BucketingConfig)(nil), 20309 (*PrimitiveTransformation_ReplaceWithInfoTypeConfig)(nil), 20310 (*PrimitiveTransformation_TimePartConfig)(nil), 20311 (*PrimitiveTransformation_CryptoHashConfig)(nil), 20312 (*PrimitiveTransformation_DateShiftConfig)(nil), 20313 (*PrimitiveTransformation_CryptoDeterministicConfig)(nil), 20314 } 20315 file_google_privacy_dlp_v2_dlp_proto_msgTypes[55].OneofWrappers = []interface{}{ 20316 (*CharsToIgnore_CharactersToSkip)(nil), 20317 (*CharsToIgnore_CommonCharactersToIgnore)(nil), 20318 } 20319 file_google_privacy_dlp_v2_dlp_proto_msgTypes[59].OneofWrappers = []interface{}{ 20320 (*CryptoReplaceFfxFpeConfig_CommonAlphabet)(nil), 20321 (*CryptoReplaceFfxFpeConfig_CustomAlphabet)(nil), 20322 (*CryptoReplaceFfxFpeConfig_Radix)(nil), 20323 } 20324 file_google_privacy_dlp_v2_dlp_proto_msgTypes[60].OneofWrappers = []interface{}{ 20325 (*CryptoKey_Transient)(nil), 20326 (*CryptoKey_Unwrapped)(nil), 20327 (*CryptoKey_KmsWrapped)(nil), 20328 } 20329 file_google_privacy_dlp_v2_dlp_proto_msgTypes[64].OneofWrappers = []interface{}{ 20330 (*DateShiftConfig_CryptoKey)(nil), 20331 } 20332 file_google_privacy_dlp_v2_dlp_proto_msgTypes[66].OneofWrappers = []interface{}{ 20333 (*FieldTransformation_PrimitiveTransformation)(nil), 20334 (*FieldTransformation_InfoTypeTransformations)(nil), 20335 } 20336 file_google_privacy_dlp_v2_dlp_proto_msgTypes[72].OneofWrappers = []interface{}{ 20337 (*Schedule_RecurrencePeriodDuration)(nil), 20338 } 20339 file_google_privacy_dlp_v2_dlp_proto_msgTypes[77].OneofWrappers = []interface{}{ 20340 (*JobTrigger_InspectJob)(nil), 20341 } 20342 file_google_privacy_dlp_v2_dlp_proto_msgTypes[78].OneofWrappers = []interface{}{ 20343 (*Action_SaveFindings_)(nil), 20344 (*Action_PubSub)(nil), 20345 (*Action_PublishSummaryToCscc_)(nil), 20346 (*Action_PublishFindingsToCloudDataCatalog_)(nil), 20347 (*Action_JobNotificationEmails_)(nil), 20348 (*Action_PublishToStackdriver_)(nil), 20349 } 20350 file_google_privacy_dlp_v2_dlp_proto_msgTypes[89].OneofWrappers = []interface{}{ 20351 (*CreateDlpJobRequest_InspectJob)(nil), 20352 (*CreateDlpJobRequest_RiskJob)(nil), 20353 } 20354 file_google_privacy_dlp_v2_dlp_proto_msgTypes[94].OneofWrappers = []interface{}{ 20355 (*DlpJob_RiskDetails)(nil), 20356 (*DlpJob_InspectDetails)(nil), 20357 } 20358 file_google_privacy_dlp_v2_dlp_proto_msgTypes[107].OneofWrappers = []interface{}{ 20359 (*LargeCustomDictionaryConfig_CloudStorageFileSet)(nil), 20360 (*LargeCustomDictionaryConfig_BigQueryField)(nil), 20361 } 20362 file_google_privacy_dlp_v2_dlp_proto_msgTypes[109].OneofWrappers = []interface{}{ 20363 (*StoredInfoTypeConfig_LargeCustomDictionary)(nil), 20364 (*StoredInfoTypeConfig_Dictionary)(nil), 20365 (*StoredInfoTypeConfig_Regex)(nil), 20366 } 20367 file_google_privacy_dlp_v2_dlp_proto_msgTypes[110].OneofWrappers = []interface{}{ 20368 (*StoredInfoTypeStats_LargeCustomDictionary)(nil), 20369 } 20370 file_google_privacy_dlp_v2_dlp_proto_msgTypes[128].OneofWrappers = []interface{}{ 20371 (*RedactImageRequest_ImageRedactionConfig_InfoType)(nil), 20372 (*RedactImageRequest_ImageRedactionConfig_RedactAllText)(nil), 20373 } 20374 file_google_privacy_dlp_v2_dlp_proto_msgTypes[138].OneofWrappers = []interface{}{ 20375 (*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType)(nil), 20376 (*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag)(nil), 20377 (*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred)(nil), 20378 } 20379 file_google_privacy_dlp_v2_dlp_proto_msgTypes[164].OneofWrappers = []interface{}{ 20380 (*RecordCondition_Expressions_Conditions)(nil), 20381 } 20382 file_google_privacy_dlp_v2_dlp_proto_msgTypes[166].OneofWrappers = []interface{}{ 20383 (*JobTrigger_Trigger_Schedule)(nil), 20384 (*JobTrigger_Trigger_Manual)(nil), 20385 } 20386 type x struct{} 20387 out := protoimpl.TypeBuilder{ 20388 File: protoimpl.DescBuilder{ 20389 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 20390 RawDescriptor: file_google_privacy_dlp_v2_dlp_proto_rawDesc, 20391 NumEnums: 16, 20392 NumMessages: 174, 20393 NumExtensions: 0, 20394 NumServices: 1, 20395 }, 20396 GoTypes: file_google_privacy_dlp_v2_dlp_proto_goTypes, 20397 DependencyIndexes: file_google_privacy_dlp_v2_dlp_proto_depIdxs, 20398 EnumInfos: file_google_privacy_dlp_v2_dlp_proto_enumTypes, 20399 MessageInfos: file_google_privacy_dlp_v2_dlp_proto_msgTypes, 20400 }.Build() 20401 File_google_privacy_dlp_v2_dlp_proto = out.File 20402 file_google_privacy_dlp_v2_dlp_proto_rawDesc = nil 20403 file_google_privacy_dlp_v2_dlp_proto_goTypes = nil 20404 file_google_privacy_dlp_v2_dlp_proto_depIdxs = nil 20405} 20406 20407// Reference imports to suppress errors if they are not otherwise used. 20408var _ context.Context 20409var _ grpc.ClientConnInterface 20410 20411// This is a compile-time assertion to ensure that this generated file 20412// is compatible with the grpc package it is being compiled against. 20413const _ = grpc.SupportPackageIsVersion6 20414 20415// DlpServiceClient is the client API for DlpService service. 20416// 20417// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 20418type DlpServiceClient interface { 20419 // Finds potentially sensitive info in content. 20420 // This method has limits on input size, processing time, and output size. 20421 // 20422 // When no InfoTypes or CustomInfoTypes are specified in this request, the 20423 // system will automatically choose what detectors to run. By default this may 20424 // be all types, but may change over time as detectors are updated. 20425 // 20426 // For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images 20427 // and https://cloud.google.com/dlp/docs/inspecting-text, 20428 InspectContent(ctx context.Context, in *InspectContentRequest, opts ...grpc.CallOption) (*InspectContentResponse, error) 20429 // Redacts potentially sensitive info from an image. 20430 // This method has limits on input size, processing time, and output size. 20431 // See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to 20432 // learn more. 20433 // 20434 // When no InfoTypes or CustomInfoTypes are specified in this request, the 20435 // system will automatically choose what detectors to run. By default this may 20436 // be all types, but may change over time as detectors are updated. 20437 RedactImage(ctx context.Context, in *RedactImageRequest, opts ...grpc.CallOption) (*RedactImageResponse, error) 20438 // De-identifies potentially sensitive info from a ContentItem. 20439 // This method has limits on input size and output size. 20440 // See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to 20441 // learn more. 20442 // 20443 // When no InfoTypes or CustomInfoTypes are specified in this request, the 20444 // system will automatically choose what detectors to run. By default this may 20445 // be all types, but may change over time as detectors are updated. 20446 DeidentifyContent(ctx context.Context, in *DeidentifyContentRequest, opts ...grpc.CallOption) (*DeidentifyContentResponse, error) 20447 // Re-identifies content that has been de-identified. 20448 // See 20449 // https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example 20450 // to learn more. 20451 ReidentifyContent(ctx context.Context, in *ReidentifyContentRequest, opts ...grpc.CallOption) (*ReidentifyContentResponse, error) 20452 // Returns a list of the sensitive information types that the DLP API 20453 // supports. See https://cloud.google.com/dlp/docs/infotypes-reference to 20454 // learn more. 20455 ListInfoTypes(ctx context.Context, in *ListInfoTypesRequest, opts ...grpc.CallOption) (*ListInfoTypesResponse, error) 20456 // Creates an InspectTemplate for re-using frequently used configuration 20457 // for inspecting content, images, and storage. 20458 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20459 CreateInspectTemplate(ctx context.Context, in *CreateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) 20460 // Updates the InspectTemplate. 20461 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20462 UpdateInspectTemplate(ctx context.Context, in *UpdateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) 20463 // Gets an InspectTemplate. 20464 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20465 GetInspectTemplate(ctx context.Context, in *GetInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) 20466 // Lists InspectTemplates. 20467 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20468 ListInspectTemplates(ctx context.Context, in *ListInspectTemplatesRequest, opts ...grpc.CallOption) (*ListInspectTemplatesResponse, error) 20469 // Deletes an InspectTemplate. 20470 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20471 DeleteInspectTemplate(ctx context.Context, in *DeleteInspectTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 20472 // Creates a DeidentifyTemplate for re-using frequently used configuration 20473 // for de-identifying content, images, and storage. 20474 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20475 // more. 20476 CreateDeidentifyTemplate(ctx context.Context, in *CreateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) 20477 // Updates the DeidentifyTemplate. 20478 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20479 // more. 20480 UpdateDeidentifyTemplate(ctx context.Context, in *UpdateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) 20481 // Gets a DeidentifyTemplate. 20482 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20483 // more. 20484 GetDeidentifyTemplate(ctx context.Context, in *GetDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) 20485 // Lists DeidentifyTemplates. 20486 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20487 // more. 20488 ListDeidentifyTemplates(ctx context.Context, in *ListDeidentifyTemplatesRequest, opts ...grpc.CallOption) (*ListDeidentifyTemplatesResponse, error) 20489 // Deletes a DeidentifyTemplate. 20490 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20491 // more. 20492 DeleteDeidentifyTemplate(ctx context.Context, in *DeleteDeidentifyTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 20493 // Creates a job trigger to run DLP actions such as scanning storage for 20494 // sensitive information on a set schedule. 20495 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20496 CreateJobTrigger(ctx context.Context, in *CreateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) 20497 // Updates a job trigger. 20498 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20499 UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) 20500 // Inspect hybrid content and store findings to a trigger. The inspection 20501 // will be processed asynchronously. To review the findings monitor the 20502 // jobs within the trigger. 20503 // Early access feature is in a pre-release state and might change or have 20504 // limited support. For more information, see 20505 // https://cloud.google.com/products#product-launch-stages. 20506 HybridInspectJobTrigger(ctx context.Context, in *HybridInspectJobTriggerRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) 20507 // Gets a job trigger. 20508 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20509 GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) 20510 // Lists job triggers. 20511 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20512 ListJobTriggers(ctx context.Context, in *ListJobTriggersRequest, opts ...grpc.CallOption) (*ListJobTriggersResponse, error) 20513 // Deletes a job trigger. 20514 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20515 DeleteJobTrigger(ctx context.Context, in *DeleteJobTriggerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 20516 // Activate a job trigger. Causes the immediate execute of a trigger 20517 // instead of waiting on the trigger event to occur. 20518 ActivateJobTrigger(ctx context.Context, in *ActivateJobTriggerRequest, opts ...grpc.CallOption) (*DlpJob, error) 20519 // Creates a new job to inspect storage or calculate risk metrics. 20520 // See https://cloud.google.com/dlp/docs/inspecting-storage and 20521 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 20522 // 20523 // When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the 20524 // system will automatically choose what detectors to run. By default this may 20525 // be all types, but may change over time as detectors are updated. 20526 CreateDlpJob(ctx context.Context, in *CreateDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) 20527 // Lists DlpJobs that match the specified filter in the request. 20528 // See https://cloud.google.com/dlp/docs/inspecting-storage and 20529 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 20530 ListDlpJobs(ctx context.Context, in *ListDlpJobsRequest, opts ...grpc.CallOption) (*ListDlpJobsResponse, error) 20531 // Gets the latest state of a long-running DlpJob. 20532 // See https://cloud.google.com/dlp/docs/inspecting-storage and 20533 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 20534 GetDlpJob(ctx context.Context, in *GetDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) 20535 // Deletes a long-running DlpJob. This method indicates that the client is 20536 // no longer interested in the DlpJob result. The job will be cancelled if 20537 // possible. 20538 // See https://cloud.google.com/dlp/docs/inspecting-storage and 20539 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 20540 DeleteDlpJob(ctx context.Context, in *DeleteDlpJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 20541 // Starts asynchronous cancellation on a long-running DlpJob. The server 20542 // makes a best effort to cancel the DlpJob, but success is not 20543 // guaranteed. 20544 // See https://cloud.google.com/dlp/docs/inspecting-storage and 20545 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 20546 CancelDlpJob(ctx context.Context, in *CancelDlpJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 20547 // Creates a pre-built stored infoType to be used for inspection. 20548 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 20549 // learn more. 20550 CreateStoredInfoType(ctx context.Context, in *CreateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) 20551 // Updates the stored infoType by creating a new version. The existing version 20552 // will continue to be used until the new version is ready. 20553 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 20554 // learn more. 20555 UpdateStoredInfoType(ctx context.Context, in *UpdateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) 20556 // Gets a stored infoType. 20557 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 20558 // learn more. 20559 GetStoredInfoType(ctx context.Context, in *GetStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) 20560 // Lists stored infoTypes. 20561 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 20562 // learn more. 20563 ListStoredInfoTypes(ctx context.Context, in *ListStoredInfoTypesRequest, opts ...grpc.CallOption) (*ListStoredInfoTypesResponse, error) 20564 // Deletes a stored infoType. 20565 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 20566 // learn more. 20567 DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 20568 // Inspect hybrid content and store findings to a job. 20569 // To review the findings inspect the job. Inspection will occur 20570 // asynchronously. 20571 // Early access feature is in a pre-release state and might change or have 20572 // limited support. For more information, see 20573 // https://cloud.google.com/products#product-launch-stages. 20574 HybridInspectDlpJob(ctx context.Context, in *HybridInspectDlpJobRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) 20575 // Finish a running hybrid DlpJob. Triggers the finalization steps and running 20576 // of any enabled actions that have not yet run. 20577 // Early access feature is in a pre-release state and might change or have 20578 // limited support. For more information, see 20579 // https://cloud.google.com/products#product-launch-stages. 20580 FinishDlpJob(ctx context.Context, in *FinishDlpJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 20581} 20582 20583type dlpServiceClient struct { 20584 cc grpc.ClientConnInterface 20585} 20586 20587func NewDlpServiceClient(cc grpc.ClientConnInterface) DlpServiceClient { 20588 return &dlpServiceClient{cc} 20589} 20590 20591func (c *dlpServiceClient) InspectContent(ctx context.Context, in *InspectContentRequest, opts ...grpc.CallOption) (*InspectContentResponse, error) { 20592 out := new(InspectContentResponse) 20593 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/InspectContent", in, out, opts...) 20594 if err != nil { 20595 return nil, err 20596 } 20597 return out, nil 20598} 20599 20600func (c *dlpServiceClient) RedactImage(ctx context.Context, in *RedactImageRequest, opts ...grpc.CallOption) (*RedactImageResponse, error) { 20601 out := new(RedactImageResponse) 20602 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/RedactImage", in, out, opts...) 20603 if err != nil { 20604 return nil, err 20605 } 20606 return out, nil 20607} 20608 20609func (c *dlpServiceClient) DeidentifyContent(ctx context.Context, in *DeidentifyContentRequest, opts ...grpc.CallOption) (*DeidentifyContentResponse, error) { 20610 out := new(DeidentifyContentResponse) 20611 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeidentifyContent", in, out, opts...) 20612 if err != nil { 20613 return nil, err 20614 } 20615 return out, nil 20616} 20617 20618func (c *dlpServiceClient) ReidentifyContent(ctx context.Context, in *ReidentifyContentRequest, opts ...grpc.CallOption) (*ReidentifyContentResponse, error) { 20619 out := new(ReidentifyContentResponse) 20620 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ReidentifyContent", in, out, opts...) 20621 if err != nil { 20622 return nil, err 20623 } 20624 return out, nil 20625} 20626 20627func (c *dlpServiceClient) ListInfoTypes(ctx context.Context, in *ListInfoTypesRequest, opts ...grpc.CallOption) (*ListInfoTypesResponse, error) { 20628 out := new(ListInfoTypesResponse) 20629 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListInfoTypes", in, out, opts...) 20630 if err != nil { 20631 return nil, err 20632 } 20633 return out, nil 20634} 20635 20636func (c *dlpServiceClient) CreateInspectTemplate(ctx context.Context, in *CreateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) { 20637 out := new(InspectTemplate) 20638 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateInspectTemplate", in, out, opts...) 20639 if err != nil { 20640 return nil, err 20641 } 20642 return out, nil 20643} 20644 20645func (c *dlpServiceClient) UpdateInspectTemplate(ctx context.Context, in *UpdateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) { 20646 out := new(InspectTemplate) 20647 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateInspectTemplate", in, out, opts...) 20648 if err != nil { 20649 return nil, err 20650 } 20651 return out, nil 20652} 20653 20654func (c *dlpServiceClient) GetInspectTemplate(ctx context.Context, in *GetInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) { 20655 out := new(InspectTemplate) 20656 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetInspectTemplate", in, out, opts...) 20657 if err != nil { 20658 return nil, err 20659 } 20660 return out, nil 20661} 20662 20663func (c *dlpServiceClient) ListInspectTemplates(ctx context.Context, in *ListInspectTemplatesRequest, opts ...grpc.CallOption) (*ListInspectTemplatesResponse, error) { 20664 out := new(ListInspectTemplatesResponse) 20665 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListInspectTemplates", in, out, opts...) 20666 if err != nil { 20667 return nil, err 20668 } 20669 return out, nil 20670} 20671 20672func (c *dlpServiceClient) DeleteInspectTemplate(ctx context.Context, in *DeleteInspectTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 20673 out := new(emptypb.Empty) 20674 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteInspectTemplate", in, out, opts...) 20675 if err != nil { 20676 return nil, err 20677 } 20678 return out, nil 20679} 20680 20681func (c *dlpServiceClient) CreateDeidentifyTemplate(ctx context.Context, in *CreateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) { 20682 out := new(DeidentifyTemplate) 20683 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate", in, out, opts...) 20684 if err != nil { 20685 return nil, err 20686 } 20687 return out, nil 20688} 20689 20690func (c *dlpServiceClient) UpdateDeidentifyTemplate(ctx context.Context, in *UpdateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) { 20691 out := new(DeidentifyTemplate) 20692 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate", in, out, opts...) 20693 if err != nil { 20694 return nil, err 20695 } 20696 return out, nil 20697} 20698 20699func (c *dlpServiceClient) GetDeidentifyTemplate(ctx context.Context, in *GetDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) { 20700 out := new(DeidentifyTemplate) 20701 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate", in, out, opts...) 20702 if err != nil { 20703 return nil, err 20704 } 20705 return out, nil 20706} 20707 20708func (c *dlpServiceClient) ListDeidentifyTemplates(ctx context.Context, in *ListDeidentifyTemplatesRequest, opts ...grpc.CallOption) (*ListDeidentifyTemplatesResponse, error) { 20709 out := new(ListDeidentifyTemplatesResponse) 20710 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates", in, out, opts...) 20711 if err != nil { 20712 return nil, err 20713 } 20714 return out, nil 20715} 20716 20717func (c *dlpServiceClient) DeleteDeidentifyTemplate(ctx context.Context, in *DeleteDeidentifyTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 20718 out := new(emptypb.Empty) 20719 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate", in, out, opts...) 20720 if err != nil { 20721 return nil, err 20722 } 20723 return out, nil 20724} 20725 20726func (c *dlpServiceClient) CreateJobTrigger(ctx context.Context, in *CreateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) { 20727 out := new(JobTrigger) 20728 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateJobTrigger", in, out, opts...) 20729 if err != nil { 20730 return nil, err 20731 } 20732 return out, nil 20733} 20734 20735func (c *dlpServiceClient) UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) { 20736 out := new(JobTrigger) 20737 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateJobTrigger", in, out, opts...) 20738 if err != nil { 20739 return nil, err 20740 } 20741 return out, nil 20742} 20743 20744func (c *dlpServiceClient) HybridInspectJobTrigger(ctx context.Context, in *HybridInspectJobTriggerRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) { 20745 out := new(HybridInspectResponse) 20746 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/HybridInspectJobTrigger", in, out, opts...) 20747 if err != nil { 20748 return nil, err 20749 } 20750 return out, nil 20751} 20752 20753func (c *dlpServiceClient) GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) { 20754 out := new(JobTrigger) 20755 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetJobTrigger", in, out, opts...) 20756 if err != nil { 20757 return nil, err 20758 } 20759 return out, nil 20760} 20761 20762func (c *dlpServiceClient) ListJobTriggers(ctx context.Context, in *ListJobTriggersRequest, opts ...grpc.CallOption) (*ListJobTriggersResponse, error) { 20763 out := new(ListJobTriggersResponse) 20764 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListJobTriggers", in, out, opts...) 20765 if err != nil { 20766 return nil, err 20767 } 20768 return out, nil 20769} 20770 20771func (c *dlpServiceClient) DeleteJobTrigger(ctx context.Context, in *DeleteJobTriggerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 20772 out := new(emptypb.Empty) 20773 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteJobTrigger", in, out, opts...) 20774 if err != nil { 20775 return nil, err 20776 } 20777 return out, nil 20778} 20779 20780func (c *dlpServiceClient) ActivateJobTrigger(ctx context.Context, in *ActivateJobTriggerRequest, opts ...grpc.CallOption) (*DlpJob, error) { 20781 out := new(DlpJob) 20782 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ActivateJobTrigger", in, out, opts...) 20783 if err != nil { 20784 return nil, err 20785 } 20786 return out, nil 20787} 20788 20789func (c *dlpServiceClient) CreateDlpJob(ctx context.Context, in *CreateDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) { 20790 out := new(DlpJob) 20791 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateDlpJob", in, out, opts...) 20792 if err != nil { 20793 return nil, err 20794 } 20795 return out, nil 20796} 20797 20798func (c *dlpServiceClient) ListDlpJobs(ctx context.Context, in *ListDlpJobsRequest, opts ...grpc.CallOption) (*ListDlpJobsResponse, error) { 20799 out := new(ListDlpJobsResponse) 20800 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListDlpJobs", in, out, opts...) 20801 if err != nil { 20802 return nil, err 20803 } 20804 return out, nil 20805} 20806 20807func (c *dlpServiceClient) GetDlpJob(ctx context.Context, in *GetDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) { 20808 out := new(DlpJob) 20809 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetDlpJob", in, out, opts...) 20810 if err != nil { 20811 return nil, err 20812 } 20813 return out, nil 20814} 20815 20816func (c *dlpServiceClient) DeleteDlpJob(ctx context.Context, in *DeleteDlpJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 20817 out := new(emptypb.Empty) 20818 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteDlpJob", in, out, opts...) 20819 if err != nil { 20820 return nil, err 20821 } 20822 return out, nil 20823} 20824 20825func (c *dlpServiceClient) CancelDlpJob(ctx context.Context, in *CancelDlpJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 20826 out := new(emptypb.Empty) 20827 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CancelDlpJob", in, out, opts...) 20828 if err != nil { 20829 return nil, err 20830 } 20831 return out, nil 20832} 20833 20834func (c *dlpServiceClient) CreateStoredInfoType(ctx context.Context, in *CreateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) { 20835 out := new(StoredInfoType) 20836 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateStoredInfoType", in, out, opts...) 20837 if err != nil { 20838 return nil, err 20839 } 20840 return out, nil 20841} 20842 20843func (c *dlpServiceClient) UpdateStoredInfoType(ctx context.Context, in *UpdateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) { 20844 out := new(StoredInfoType) 20845 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateStoredInfoType", in, out, opts...) 20846 if err != nil { 20847 return nil, err 20848 } 20849 return out, nil 20850} 20851 20852func (c *dlpServiceClient) GetStoredInfoType(ctx context.Context, in *GetStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) { 20853 out := new(StoredInfoType) 20854 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetStoredInfoType", in, out, opts...) 20855 if err != nil { 20856 return nil, err 20857 } 20858 return out, nil 20859} 20860 20861func (c *dlpServiceClient) ListStoredInfoTypes(ctx context.Context, in *ListStoredInfoTypesRequest, opts ...grpc.CallOption) (*ListStoredInfoTypesResponse, error) { 20862 out := new(ListStoredInfoTypesResponse) 20863 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListStoredInfoTypes", in, out, opts...) 20864 if err != nil { 20865 return nil, err 20866 } 20867 return out, nil 20868} 20869 20870func (c *dlpServiceClient) DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 20871 out := new(emptypb.Empty) 20872 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteStoredInfoType", in, out, opts...) 20873 if err != nil { 20874 return nil, err 20875 } 20876 return out, nil 20877} 20878 20879func (c *dlpServiceClient) HybridInspectDlpJob(ctx context.Context, in *HybridInspectDlpJobRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) { 20880 out := new(HybridInspectResponse) 20881 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/HybridInspectDlpJob", in, out, opts...) 20882 if err != nil { 20883 return nil, err 20884 } 20885 return out, nil 20886} 20887 20888func (c *dlpServiceClient) FinishDlpJob(ctx context.Context, in *FinishDlpJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 20889 out := new(emptypb.Empty) 20890 err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/FinishDlpJob", in, out, opts...) 20891 if err != nil { 20892 return nil, err 20893 } 20894 return out, nil 20895} 20896 20897// DlpServiceServer is the server API for DlpService service. 20898type DlpServiceServer interface { 20899 // Finds potentially sensitive info in content. 20900 // This method has limits on input size, processing time, and output size. 20901 // 20902 // When no InfoTypes or CustomInfoTypes are specified in this request, the 20903 // system will automatically choose what detectors to run. By default this may 20904 // be all types, but may change over time as detectors are updated. 20905 // 20906 // For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images 20907 // and https://cloud.google.com/dlp/docs/inspecting-text, 20908 InspectContent(context.Context, *InspectContentRequest) (*InspectContentResponse, error) 20909 // Redacts potentially sensitive info from an image. 20910 // This method has limits on input size, processing time, and output size. 20911 // See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to 20912 // learn more. 20913 // 20914 // When no InfoTypes or CustomInfoTypes are specified in this request, the 20915 // system will automatically choose what detectors to run. By default this may 20916 // be all types, but may change over time as detectors are updated. 20917 RedactImage(context.Context, *RedactImageRequest) (*RedactImageResponse, error) 20918 // De-identifies potentially sensitive info from a ContentItem. 20919 // This method has limits on input size and output size. 20920 // See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to 20921 // learn more. 20922 // 20923 // When no InfoTypes or CustomInfoTypes are specified in this request, the 20924 // system will automatically choose what detectors to run. By default this may 20925 // be all types, but may change over time as detectors are updated. 20926 DeidentifyContent(context.Context, *DeidentifyContentRequest) (*DeidentifyContentResponse, error) 20927 // Re-identifies content that has been de-identified. 20928 // See 20929 // https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example 20930 // to learn more. 20931 ReidentifyContent(context.Context, *ReidentifyContentRequest) (*ReidentifyContentResponse, error) 20932 // Returns a list of the sensitive information types that the DLP API 20933 // supports. See https://cloud.google.com/dlp/docs/infotypes-reference to 20934 // learn more. 20935 ListInfoTypes(context.Context, *ListInfoTypesRequest) (*ListInfoTypesResponse, error) 20936 // Creates an InspectTemplate for re-using frequently used configuration 20937 // for inspecting content, images, and storage. 20938 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20939 CreateInspectTemplate(context.Context, *CreateInspectTemplateRequest) (*InspectTemplate, error) 20940 // Updates the InspectTemplate. 20941 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20942 UpdateInspectTemplate(context.Context, *UpdateInspectTemplateRequest) (*InspectTemplate, error) 20943 // Gets an InspectTemplate. 20944 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20945 GetInspectTemplate(context.Context, *GetInspectTemplateRequest) (*InspectTemplate, error) 20946 // Lists InspectTemplates. 20947 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20948 ListInspectTemplates(context.Context, *ListInspectTemplatesRequest) (*ListInspectTemplatesResponse, error) 20949 // Deletes an InspectTemplate. 20950 // See https://cloud.google.com/dlp/docs/creating-templates to learn more. 20951 DeleteInspectTemplate(context.Context, *DeleteInspectTemplateRequest) (*emptypb.Empty, error) 20952 // Creates a DeidentifyTemplate for re-using frequently used configuration 20953 // for de-identifying content, images, and storage. 20954 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20955 // more. 20956 CreateDeidentifyTemplate(context.Context, *CreateDeidentifyTemplateRequest) (*DeidentifyTemplate, error) 20957 // Updates the DeidentifyTemplate. 20958 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20959 // more. 20960 UpdateDeidentifyTemplate(context.Context, *UpdateDeidentifyTemplateRequest) (*DeidentifyTemplate, error) 20961 // Gets a DeidentifyTemplate. 20962 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20963 // more. 20964 GetDeidentifyTemplate(context.Context, *GetDeidentifyTemplateRequest) (*DeidentifyTemplate, error) 20965 // Lists DeidentifyTemplates. 20966 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20967 // more. 20968 ListDeidentifyTemplates(context.Context, *ListDeidentifyTemplatesRequest) (*ListDeidentifyTemplatesResponse, error) 20969 // Deletes a DeidentifyTemplate. 20970 // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn 20971 // more. 20972 DeleteDeidentifyTemplate(context.Context, *DeleteDeidentifyTemplateRequest) (*emptypb.Empty, error) 20973 // Creates a job trigger to run DLP actions such as scanning storage for 20974 // sensitive information on a set schedule. 20975 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20976 CreateJobTrigger(context.Context, *CreateJobTriggerRequest) (*JobTrigger, error) 20977 // Updates a job trigger. 20978 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20979 UpdateJobTrigger(context.Context, *UpdateJobTriggerRequest) (*JobTrigger, error) 20980 // Inspect hybrid content and store findings to a trigger. The inspection 20981 // will be processed asynchronously. To review the findings monitor the 20982 // jobs within the trigger. 20983 // Early access feature is in a pre-release state and might change or have 20984 // limited support. For more information, see 20985 // https://cloud.google.com/products#product-launch-stages. 20986 HybridInspectJobTrigger(context.Context, *HybridInspectJobTriggerRequest) (*HybridInspectResponse, error) 20987 // Gets a job trigger. 20988 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20989 GetJobTrigger(context.Context, *GetJobTriggerRequest) (*JobTrigger, error) 20990 // Lists job triggers. 20991 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20992 ListJobTriggers(context.Context, *ListJobTriggersRequest) (*ListJobTriggersResponse, error) 20993 // Deletes a job trigger. 20994 // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. 20995 DeleteJobTrigger(context.Context, *DeleteJobTriggerRequest) (*emptypb.Empty, error) 20996 // Activate a job trigger. Causes the immediate execute of a trigger 20997 // instead of waiting on the trigger event to occur. 20998 ActivateJobTrigger(context.Context, *ActivateJobTriggerRequest) (*DlpJob, error) 20999 // Creates a new job to inspect storage or calculate risk metrics. 21000 // See https://cloud.google.com/dlp/docs/inspecting-storage and 21001 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 21002 // 21003 // When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the 21004 // system will automatically choose what detectors to run. By default this may 21005 // be all types, but may change over time as detectors are updated. 21006 CreateDlpJob(context.Context, *CreateDlpJobRequest) (*DlpJob, error) 21007 // Lists DlpJobs that match the specified filter in the request. 21008 // See https://cloud.google.com/dlp/docs/inspecting-storage and 21009 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 21010 ListDlpJobs(context.Context, *ListDlpJobsRequest) (*ListDlpJobsResponse, error) 21011 // Gets the latest state of a long-running DlpJob. 21012 // See https://cloud.google.com/dlp/docs/inspecting-storage and 21013 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 21014 GetDlpJob(context.Context, *GetDlpJobRequest) (*DlpJob, error) 21015 // Deletes a long-running DlpJob. This method indicates that the client is 21016 // no longer interested in the DlpJob result. The job will be cancelled if 21017 // possible. 21018 // See https://cloud.google.com/dlp/docs/inspecting-storage and 21019 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 21020 DeleteDlpJob(context.Context, *DeleteDlpJobRequest) (*emptypb.Empty, error) 21021 // Starts asynchronous cancellation on a long-running DlpJob. The server 21022 // makes a best effort to cancel the DlpJob, but success is not 21023 // guaranteed. 21024 // See https://cloud.google.com/dlp/docs/inspecting-storage and 21025 // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. 21026 CancelDlpJob(context.Context, *CancelDlpJobRequest) (*emptypb.Empty, error) 21027 // Creates a pre-built stored infoType to be used for inspection. 21028 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 21029 // learn more. 21030 CreateStoredInfoType(context.Context, *CreateStoredInfoTypeRequest) (*StoredInfoType, error) 21031 // Updates the stored infoType by creating a new version. The existing version 21032 // will continue to be used until the new version is ready. 21033 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 21034 // learn more. 21035 UpdateStoredInfoType(context.Context, *UpdateStoredInfoTypeRequest) (*StoredInfoType, error) 21036 // Gets a stored infoType. 21037 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 21038 // learn more. 21039 GetStoredInfoType(context.Context, *GetStoredInfoTypeRequest) (*StoredInfoType, error) 21040 // Lists stored infoTypes. 21041 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 21042 // learn more. 21043 ListStoredInfoTypes(context.Context, *ListStoredInfoTypesRequest) (*ListStoredInfoTypesResponse, error) 21044 // Deletes a stored infoType. 21045 // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to 21046 // learn more. 21047 DeleteStoredInfoType(context.Context, *DeleteStoredInfoTypeRequest) (*emptypb.Empty, error) 21048 // Inspect hybrid content and store findings to a job. 21049 // To review the findings inspect the job. Inspection will occur 21050 // asynchronously. 21051 // Early access feature is in a pre-release state and might change or have 21052 // limited support. For more information, see 21053 // https://cloud.google.com/products#product-launch-stages. 21054 HybridInspectDlpJob(context.Context, *HybridInspectDlpJobRequest) (*HybridInspectResponse, error) 21055 // Finish a running hybrid DlpJob. Triggers the finalization steps and running 21056 // of any enabled actions that have not yet run. 21057 // Early access feature is in a pre-release state and might change or have 21058 // limited support. For more information, see 21059 // https://cloud.google.com/products#product-launch-stages. 21060 FinishDlpJob(context.Context, *FinishDlpJobRequest) (*emptypb.Empty, error) 21061} 21062 21063// UnimplementedDlpServiceServer can be embedded to have forward compatible implementations. 21064type UnimplementedDlpServiceServer struct { 21065} 21066 21067func (*UnimplementedDlpServiceServer) InspectContent(context.Context, *InspectContentRequest) (*InspectContentResponse, error) { 21068 return nil, status1.Errorf(codes.Unimplemented, "method InspectContent not implemented") 21069} 21070func (*UnimplementedDlpServiceServer) RedactImage(context.Context, *RedactImageRequest) (*RedactImageResponse, error) { 21071 return nil, status1.Errorf(codes.Unimplemented, "method RedactImage not implemented") 21072} 21073func (*UnimplementedDlpServiceServer) DeidentifyContent(context.Context, *DeidentifyContentRequest) (*DeidentifyContentResponse, error) { 21074 return nil, status1.Errorf(codes.Unimplemented, "method DeidentifyContent not implemented") 21075} 21076func (*UnimplementedDlpServiceServer) ReidentifyContent(context.Context, *ReidentifyContentRequest) (*ReidentifyContentResponse, error) { 21077 return nil, status1.Errorf(codes.Unimplemented, "method ReidentifyContent not implemented") 21078} 21079func (*UnimplementedDlpServiceServer) ListInfoTypes(context.Context, *ListInfoTypesRequest) (*ListInfoTypesResponse, error) { 21080 return nil, status1.Errorf(codes.Unimplemented, "method ListInfoTypes not implemented") 21081} 21082func (*UnimplementedDlpServiceServer) CreateInspectTemplate(context.Context, *CreateInspectTemplateRequest) (*InspectTemplate, error) { 21083 return nil, status1.Errorf(codes.Unimplemented, "method CreateInspectTemplate not implemented") 21084} 21085func (*UnimplementedDlpServiceServer) UpdateInspectTemplate(context.Context, *UpdateInspectTemplateRequest) (*InspectTemplate, error) { 21086 return nil, status1.Errorf(codes.Unimplemented, "method UpdateInspectTemplate not implemented") 21087} 21088func (*UnimplementedDlpServiceServer) GetInspectTemplate(context.Context, *GetInspectTemplateRequest) (*InspectTemplate, error) { 21089 return nil, status1.Errorf(codes.Unimplemented, "method GetInspectTemplate not implemented") 21090} 21091func (*UnimplementedDlpServiceServer) ListInspectTemplates(context.Context, *ListInspectTemplatesRequest) (*ListInspectTemplatesResponse, error) { 21092 return nil, status1.Errorf(codes.Unimplemented, "method ListInspectTemplates not implemented") 21093} 21094func (*UnimplementedDlpServiceServer) DeleteInspectTemplate(context.Context, *DeleteInspectTemplateRequest) (*emptypb.Empty, error) { 21095 return nil, status1.Errorf(codes.Unimplemented, "method DeleteInspectTemplate not implemented") 21096} 21097func (*UnimplementedDlpServiceServer) CreateDeidentifyTemplate(context.Context, *CreateDeidentifyTemplateRequest) (*DeidentifyTemplate, error) { 21098 return nil, status1.Errorf(codes.Unimplemented, "method CreateDeidentifyTemplate not implemented") 21099} 21100func (*UnimplementedDlpServiceServer) UpdateDeidentifyTemplate(context.Context, *UpdateDeidentifyTemplateRequest) (*DeidentifyTemplate, error) { 21101 return nil, status1.Errorf(codes.Unimplemented, "method UpdateDeidentifyTemplate not implemented") 21102} 21103func (*UnimplementedDlpServiceServer) GetDeidentifyTemplate(context.Context, *GetDeidentifyTemplateRequest) (*DeidentifyTemplate, error) { 21104 return nil, status1.Errorf(codes.Unimplemented, "method GetDeidentifyTemplate not implemented") 21105} 21106func (*UnimplementedDlpServiceServer) ListDeidentifyTemplates(context.Context, *ListDeidentifyTemplatesRequest) (*ListDeidentifyTemplatesResponse, error) { 21107 return nil, status1.Errorf(codes.Unimplemented, "method ListDeidentifyTemplates not implemented") 21108} 21109func (*UnimplementedDlpServiceServer) DeleteDeidentifyTemplate(context.Context, *DeleteDeidentifyTemplateRequest) (*emptypb.Empty, error) { 21110 return nil, status1.Errorf(codes.Unimplemented, "method DeleteDeidentifyTemplate not implemented") 21111} 21112func (*UnimplementedDlpServiceServer) CreateJobTrigger(context.Context, *CreateJobTriggerRequest) (*JobTrigger, error) { 21113 return nil, status1.Errorf(codes.Unimplemented, "method CreateJobTrigger not implemented") 21114} 21115func (*UnimplementedDlpServiceServer) UpdateJobTrigger(context.Context, *UpdateJobTriggerRequest) (*JobTrigger, error) { 21116 return nil, status1.Errorf(codes.Unimplemented, "method UpdateJobTrigger not implemented") 21117} 21118func (*UnimplementedDlpServiceServer) HybridInspectJobTrigger(context.Context, *HybridInspectJobTriggerRequest) (*HybridInspectResponse, error) { 21119 return nil, status1.Errorf(codes.Unimplemented, "method HybridInspectJobTrigger not implemented") 21120} 21121func (*UnimplementedDlpServiceServer) GetJobTrigger(context.Context, *GetJobTriggerRequest) (*JobTrigger, error) { 21122 return nil, status1.Errorf(codes.Unimplemented, "method GetJobTrigger not implemented") 21123} 21124func (*UnimplementedDlpServiceServer) ListJobTriggers(context.Context, *ListJobTriggersRequest) (*ListJobTriggersResponse, error) { 21125 return nil, status1.Errorf(codes.Unimplemented, "method ListJobTriggers not implemented") 21126} 21127func (*UnimplementedDlpServiceServer) DeleteJobTrigger(context.Context, *DeleteJobTriggerRequest) (*emptypb.Empty, error) { 21128 return nil, status1.Errorf(codes.Unimplemented, "method DeleteJobTrigger not implemented") 21129} 21130func (*UnimplementedDlpServiceServer) ActivateJobTrigger(context.Context, *ActivateJobTriggerRequest) (*DlpJob, error) { 21131 return nil, status1.Errorf(codes.Unimplemented, "method ActivateJobTrigger not implemented") 21132} 21133func (*UnimplementedDlpServiceServer) CreateDlpJob(context.Context, *CreateDlpJobRequest) (*DlpJob, error) { 21134 return nil, status1.Errorf(codes.Unimplemented, "method CreateDlpJob not implemented") 21135} 21136func (*UnimplementedDlpServiceServer) ListDlpJobs(context.Context, *ListDlpJobsRequest) (*ListDlpJobsResponse, error) { 21137 return nil, status1.Errorf(codes.Unimplemented, "method ListDlpJobs not implemented") 21138} 21139func (*UnimplementedDlpServiceServer) GetDlpJob(context.Context, *GetDlpJobRequest) (*DlpJob, error) { 21140 return nil, status1.Errorf(codes.Unimplemented, "method GetDlpJob not implemented") 21141} 21142func (*UnimplementedDlpServiceServer) DeleteDlpJob(context.Context, *DeleteDlpJobRequest) (*emptypb.Empty, error) { 21143 return nil, status1.Errorf(codes.Unimplemented, "method DeleteDlpJob not implemented") 21144} 21145func (*UnimplementedDlpServiceServer) CancelDlpJob(context.Context, *CancelDlpJobRequest) (*emptypb.Empty, error) { 21146 return nil, status1.Errorf(codes.Unimplemented, "method CancelDlpJob not implemented") 21147} 21148func (*UnimplementedDlpServiceServer) CreateStoredInfoType(context.Context, *CreateStoredInfoTypeRequest) (*StoredInfoType, error) { 21149 return nil, status1.Errorf(codes.Unimplemented, "method CreateStoredInfoType not implemented") 21150} 21151func (*UnimplementedDlpServiceServer) UpdateStoredInfoType(context.Context, *UpdateStoredInfoTypeRequest) (*StoredInfoType, error) { 21152 return nil, status1.Errorf(codes.Unimplemented, "method UpdateStoredInfoType not implemented") 21153} 21154func (*UnimplementedDlpServiceServer) GetStoredInfoType(context.Context, *GetStoredInfoTypeRequest) (*StoredInfoType, error) { 21155 return nil, status1.Errorf(codes.Unimplemented, "method GetStoredInfoType not implemented") 21156} 21157func (*UnimplementedDlpServiceServer) ListStoredInfoTypes(context.Context, *ListStoredInfoTypesRequest) (*ListStoredInfoTypesResponse, error) { 21158 return nil, status1.Errorf(codes.Unimplemented, "method ListStoredInfoTypes not implemented") 21159} 21160func (*UnimplementedDlpServiceServer) DeleteStoredInfoType(context.Context, *DeleteStoredInfoTypeRequest) (*emptypb.Empty, error) { 21161 return nil, status1.Errorf(codes.Unimplemented, "method DeleteStoredInfoType not implemented") 21162} 21163func (*UnimplementedDlpServiceServer) HybridInspectDlpJob(context.Context, *HybridInspectDlpJobRequest) (*HybridInspectResponse, error) { 21164 return nil, status1.Errorf(codes.Unimplemented, "method HybridInspectDlpJob not implemented") 21165} 21166func (*UnimplementedDlpServiceServer) FinishDlpJob(context.Context, *FinishDlpJobRequest) (*emptypb.Empty, error) { 21167 return nil, status1.Errorf(codes.Unimplemented, "method FinishDlpJob not implemented") 21168} 21169 21170func RegisterDlpServiceServer(s *grpc.Server, srv DlpServiceServer) { 21171 s.RegisterService(&_DlpService_serviceDesc, srv) 21172} 21173 21174func _DlpService_InspectContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21175 in := new(InspectContentRequest) 21176 if err := dec(in); err != nil { 21177 return nil, err 21178 } 21179 if interceptor == nil { 21180 return srv.(DlpServiceServer).InspectContent(ctx, in) 21181 } 21182 info := &grpc.UnaryServerInfo{ 21183 Server: srv, 21184 FullMethod: "/google.privacy.dlp.v2.DlpService/InspectContent", 21185 } 21186 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21187 return srv.(DlpServiceServer).InspectContent(ctx, req.(*InspectContentRequest)) 21188 } 21189 return interceptor(ctx, in, info, handler) 21190} 21191 21192func _DlpService_RedactImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21193 in := new(RedactImageRequest) 21194 if err := dec(in); err != nil { 21195 return nil, err 21196 } 21197 if interceptor == nil { 21198 return srv.(DlpServiceServer).RedactImage(ctx, in) 21199 } 21200 info := &grpc.UnaryServerInfo{ 21201 Server: srv, 21202 FullMethod: "/google.privacy.dlp.v2.DlpService/RedactImage", 21203 } 21204 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21205 return srv.(DlpServiceServer).RedactImage(ctx, req.(*RedactImageRequest)) 21206 } 21207 return interceptor(ctx, in, info, handler) 21208} 21209 21210func _DlpService_DeidentifyContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21211 in := new(DeidentifyContentRequest) 21212 if err := dec(in); err != nil { 21213 return nil, err 21214 } 21215 if interceptor == nil { 21216 return srv.(DlpServiceServer).DeidentifyContent(ctx, in) 21217 } 21218 info := &grpc.UnaryServerInfo{ 21219 Server: srv, 21220 FullMethod: "/google.privacy.dlp.v2.DlpService/DeidentifyContent", 21221 } 21222 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21223 return srv.(DlpServiceServer).DeidentifyContent(ctx, req.(*DeidentifyContentRequest)) 21224 } 21225 return interceptor(ctx, in, info, handler) 21226} 21227 21228func _DlpService_ReidentifyContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21229 in := new(ReidentifyContentRequest) 21230 if err := dec(in); err != nil { 21231 return nil, err 21232 } 21233 if interceptor == nil { 21234 return srv.(DlpServiceServer).ReidentifyContent(ctx, in) 21235 } 21236 info := &grpc.UnaryServerInfo{ 21237 Server: srv, 21238 FullMethod: "/google.privacy.dlp.v2.DlpService/ReidentifyContent", 21239 } 21240 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21241 return srv.(DlpServiceServer).ReidentifyContent(ctx, req.(*ReidentifyContentRequest)) 21242 } 21243 return interceptor(ctx, in, info, handler) 21244} 21245 21246func _DlpService_ListInfoTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21247 in := new(ListInfoTypesRequest) 21248 if err := dec(in); err != nil { 21249 return nil, err 21250 } 21251 if interceptor == nil { 21252 return srv.(DlpServiceServer).ListInfoTypes(ctx, in) 21253 } 21254 info := &grpc.UnaryServerInfo{ 21255 Server: srv, 21256 FullMethod: "/google.privacy.dlp.v2.DlpService/ListInfoTypes", 21257 } 21258 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21259 return srv.(DlpServiceServer).ListInfoTypes(ctx, req.(*ListInfoTypesRequest)) 21260 } 21261 return interceptor(ctx, in, info, handler) 21262} 21263 21264func _DlpService_CreateInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21265 in := new(CreateInspectTemplateRequest) 21266 if err := dec(in); err != nil { 21267 return nil, err 21268 } 21269 if interceptor == nil { 21270 return srv.(DlpServiceServer).CreateInspectTemplate(ctx, in) 21271 } 21272 info := &grpc.UnaryServerInfo{ 21273 Server: srv, 21274 FullMethod: "/google.privacy.dlp.v2.DlpService/CreateInspectTemplate", 21275 } 21276 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21277 return srv.(DlpServiceServer).CreateInspectTemplate(ctx, req.(*CreateInspectTemplateRequest)) 21278 } 21279 return interceptor(ctx, in, info, handler) 21280} 21281 21282func _DlpService_UpdateInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21283 in := new(UpdateInspectTemplateRequest) 21284 if err := dec(in); err != nil { 21285 return nil, err 21286 } 21287 if interceptor == nil { 21288 return srv.(DlpServiceServer).UpdateInspectTemplate(ctx, in) 21289 } 21290 info := &grpc.UnaryServerInfo{ 21291 Server: srv, 21292 FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateInspectTemplate", 21293 } 21294 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21295 return srv.(DlpServiceServer).UpdateInspectTemplate(ctx, req.(*UpdateInspectTemplateRequest)) 21296 } 21297 return interceptor(ctx, in, info, handler) 21298} 21299 21300func _DlpService_GetInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21301 in := new(GetInspectTemplateRequest) 21302 if err := dec(in); err != nil { 21303 return nil, err 21304 } 21305 if interceptor == nil { 21306 return srv.(DlpServiceServer).GetInspectTemplate(ctx, in) 21307 } 21308 info := &grpc.UnaryServerInfo{ 21309 Server: srv, 21310 FullMethod: "/google.privacy.dlp.v2.DlpService/GetInspectTemplate", 21311 } 21312 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21313 return srv.(DlpServiceServer).GetInspectTemplate(ctx, req.(*GetInspectTemplateRequest)) 21314 } 21315 return interceptor(ctx, in, info, handler) 21316} 21317 21318func _DlpService_ListInspectTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21319 in := new(ListInspectTemplatesRequest) 21320 if err := dec(in); err != nil { 21321 return nil, err 21322 } 21323 if interceptor == nil { 21324 return srv.(DlpServiceServer).ListInspectTemplates(ctx, in) 21325 } 21326 info := &grpc.UnaryServerInfo{ 21327 Server: srv, 21328 FullMethod: "/google.privacy.dlp.v2.DlpService/ListInspectTemplates", 21329 } 21330 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21331 return srv.(DlpServiceServer).ListInspectTemplates(ctx, req.(*ListInspectTemplatesRequest)) 21332 } 21333 return interceptor(ctx, in, info, handler) 21334} 21335 21336func _DlpService_DeleteInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21337 in := new(DeleteInspectTemplateRequest) 21338 if err := dec(in); err != nil { 21339 return nil, err 21340 } 21341 if interceptor == nil { 21342 return srv.(DlpServiceServer).DeleteInspectTemplate(ctx, in) 21343 } 21344 info := &grpc.UnaryServerInfo{ 21345 Server: srv, 21346 FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteInspectTemplate", 21347 } 21348 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21349 return srv.(DlpServiceServer).DeleteInspectTemplate(ctx, req.(*DeleteInspectTemplateRequest)) 21350 } 21351 return interceptor(ctx, in, info, handler) 21352} 21353 21354func _DlpService_CreateDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21355 in := new(CreateDeidentifyTemplateRequest) 21356 if err := dec(in); err != nil { 21357 return nil, err 21358 } 21359 if interceptor == nil { 21360 return srv.(DlpServiceServer).CreateDeidentifyTemplate(ctx, in) 21361 } 21362 info := &grpc.UnaryServerInfo{ 21363 Server: srv, 21364 FullMethod: "/google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate", 21365 } 21366 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21367 return srv.(DlpServiceServer).CreateDeidentifyTemplate(ctx, req.(*CreateDeidentifyTemplateRequest)) 21368 } 21369 return interceptor(ctx, in, info, handler) 21370} 21371 21372func _DlpService_UpdateDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21373 in := new(UpdateDeidentifyTemplateRequest) 21374 if err := dec(in); err != nil { 21375 return nil, err 21376 } 21377 if interceptor == nil { 21378 return srv.(DlpServiceServer).UpdateDeidentifyTemplate(ctx, in) 21379 } 21380 info := &grpc.UnaryServerInfo{ 21381 Server: srv, 21382 FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate", 21383 } 21384 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21385 return srv.(DlpServiceServer).UpdateDeidentifyTemplate(ctx, req.(*UpdateDeidentifyTemplateRequest)) 21386 } 21387 return interceptor(ctx, in, info, handler) 21388} 21389 21390func _DlpService_GetDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21391 in := new(GetDeidentifyTemplateRequest) 21392 if err := dec(in); err != nil { 21393 return nil, err 21394 } 21395 if interceptor == nil { 21396 return srv.(DlpServiceServer).GetDeidentifyTemplate(ctx, in) 21397 } 21398 info := &grpc.UnaryServerInfo{ 21399 Server: srv, 21400 FullMethod: "/google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate", 21401 } 21402 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21403 return srv.(DlpServiceServer).GetDeidentifyTemplate(ctx, req.(*GetDeidentifyTemplateRequest)) 21404 } 21405 return interceptor(ctx, in, info, handler) 21406} 21407 21408func _DlpService_ListDeidentifyTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21409 in := new(ListDeidentifyTemplatesRequest) 21410 if err := dec(in); err != nil { 21411 return nil, err 21412 } 21413 if interceptor == nil { 21414 return srv.(DlpServiceServer).ListDeidentifyTemplates(ctx, in) 21415 } 21416 info := &grpc.UnaryServerInfo{ 21417 Server: srv, 21418 FullMethod: "/google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates", 21419 } 21420 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21421 return srv.(DlpServiceServer).ListDeidentifyTemplates(ctx, req.(*ListDeidentifyTemplatesRequest)) 21422 } 21423 return interceptor(ctx, in, info, handler) 21424} 21425 21426func _DlpService_DeleteDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21427 in := new(DeleteDeidentifyTemplateRequest) 21428 if err := dec(in); err != nil { 21429 return nil, err 21430 } 21431 if interceptor == nil { 21432 return srv.(DlpServiceServer).DeleteDeidentifyTemplate(ctx, in) 21433 } 21434 info := &grpc.UnaryServerInfo{ 21435 Server: srv, 21436 FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate", 21437 } 21438 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21439 return srv.(DlpServiceServer).DeleteDeidentifyTemplate(ctx, req.(*DeleteDeidentifyTemplateRequest)) 21440 } 21441 return interceptor(ctx, in, info, handler) 21442} 21443 21444func _DlpService_CreateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21445 in := new(CreateJobTriggerRequest) 21446 if err := dec(in); err != nil { 21447 return nil, err 21448 } 21449 if interceptor == nil { 21450 return srv.(DlpServiceServer).CreateJobTrigger(ctx, in) 21451 } 21452 info := &grpc.UnaryServerInfo{ 21453 Server: srv, 21454 FullMethod: "/google.privacy.dlp.v2.DlpService/CreateJobTrigger", 21455 } 21456 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21457 return srv.(DlpServiceServer).CreateJobTrigger(ctx, req.(*CreateJobTriggerRequest)) 21458 } 21459 return interceptor(ctx, in, info, handler) 21460} 21461 21462func _DlpService_UpdateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21463 in := new(UpdateJobTriggerRequest) 21464 if err := dec(in); err != nil { 21465 return nil, err 21466 } 21467 if interceptor == nil { 21468 return srv.(DlpServiceServer).UpdateJobTrigger(ctx, in) 21469 } 21470 info := &grpc.UnaryServerInfo{ 21471 Server: srv, 21472 FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateJobTrigger", 21473 } 21474 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21475 return srv.(DlpServiceServer).UpdateJobTrigger(ctx, req.(*UpdateJobTriggerRequest)) 21476 } 21477 return interceptor(ctx, in, info, handler) 21478} 21479 21480func _DlpService_HybridInspectJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21481 in := new(HybridInspectJobTriggerRequest) 21482 if err := dec(in); err != nil { 21483 return nil, err 21484 } 21485 if interceptor == nil { 21486 return srv.(DlpServiceServer).HybridInspectJobTrigger(ctx, in) 21487 } 21488 info := &grpc.UnaryServerInfo{ 21489 Server: srv, 21490 FullMethod: "/google.privacy.dlp.v2.DlpService/HybridInspectJobTrigger", 21491 } 21492 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21493 return srv.(DlpServiceServer).HybridInspectJobTrigger(ctx, req.(*HybridInspectJobTriggerRequest)) 21494 } 21495 return interceptor(ctx, in, info, handler) 21496} 21497 21498func _DlpService_GetJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21499 in := new(GetJobTriggerRequest) 21500 if err := dec(in); err != nil { 21501 return nil, err 21502 } 21503 if interceptor == nil { 21504 return srv.(DlpServiceServer).GetJobTrigger(ctx, in) 21505 } 21506 info := &grpc.UnaryServerInfo{ 21507 Server: srv, 21508 FullMethod: "/google.privacy.dlp.v2.DlpService/GetJobTrigger", 21509 } 21510 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21511 return srv.(DlpServiceServer).GetJobTrigger(ctx, req.(*GetJobTriggerRequest)) 21512 } 21513 return interceptor(ctx, in, info, handler) 21514} 21515 21516func _DlpService_ListJobTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21517 in := new(ListJobTriggersRequest) 21518 if err := dec(in); err != nil { 21519 return nil, err 21520 } 21521 if interceptor == nil { 21522 return srv.(DlpServiceServer).ListJobTriggers(ctx, in) 21523 } 21524 info := &grpc.UnaryServerInfo{ 21525 Server: srv, 21526 FullMethod: "/google.privacy.dlp.v2.DlpService/ListJobTriggers", 21527 } 21528 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21529 return srv.(DlpServiceServer).ListJobTriggers(ctx, req.(*ListJobTriggersRequest)) 21530 } 21531 return interceptor(ctx, in, info, handler) 21532} 21533 21534func _DlpService_DeleteJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21535 in := new(DeleteJobTriggerRequest) 21536 if err := dec(in); err != nil { 21537 return nil, err 21538 } 21539 if interceptor == nil { 21540 return srv.(DlpServiceServer).DeleteJobTrigger(ctx, in) 21541 } 21542 info := &grpc.UnaryServerInfo{ 21543 Server: srv, 21544 FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteJobTrigger", 21545 } 21546 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21547 return srv.(DlpServiceServer).DeleteJobTrigger(ctx, req.(*DeleteJobTriggerRequest)) 21548 } 21549 return interceptor(ctx, in, info, handler) 21550} 21551 21552func _DlpService_ActivateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21553 in := new(ActivateJobTriggerRequest) 21554 if err := dec(in); err != nil { 21555 return nil, err 21556 } 21557 if interceptor == nil { 21558 return srv.(DlpServiceServer).ActivateJobTrigger(ctx, in) 21559 } 21560 info := &grpc.UnaryServerInfo{ 21561 Server: srv, 21562 FullMethod: "/google.privacy.dlp.v2.DlpService/ActivateJobTrigger", 21563 } 21564 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21565 return srv.(DlpServiceServer).ActivateJobTrigger(ctx, req.(*ActivateJobTriggerRequest)) 21566 } 21567 return interceptor(ctx, in, info, handler) 21568} 21569 21570func _DlpService_CreateDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21571 in := new(CreateDlpJobRequest) 21572 if err := dec(in); err != nil { 21573 return nil, err 21574 } 21575 if interceptor == nil { 21576 return srv.(DlpServiceServer).CreateDlpJob(ctx, in) 21577 } 21578 info := &grpc.UnaryServerInfo{ 21579 Server: srv, 21580 FullMethod: "/google.privacy.dlp.v2.DlpService/CreateDlpJob", 21581 } 21582 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21583 return srv.(DlpServiceServer).CreateDlpJob(ctx, req.(*CreateDlpJobRequest)) 21584 } 21585 return interceptor(ctx, in, info, handler) 21586} 21587 21588func _DlpService_ListDlpJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21589 in := new(ListDlpJobsRequest) 21590 if err := dec(in); err != nil { 21591 return nil, err 21592 } 21593 if interceptor == nil { 21594 return srv.(DlpServiceServer).ListDlpJobs(ctx, in) 21595 } 21596 info := &grpc.UnaryServerInfo{ 21597 Server: srv, 21598 FullMethod: "/google.privacy.dlp.v2.DlpService/ListDlpJobs", 21599 } 21600 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21601 return srv.(DlpServiceServer).ListDlpJobs(ctx, req.(*ListDlpJobsRequest)) 21602 } 21603 return interceptor(ctx, in, info, handler) 21604} 21605 21606func _DlpService_GetDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21607 in := new(GetDlpJobRequest) 21608 if err := dec(in); err != nil { 21609 return nil, err 21610 } 21611 if interceptor == nil { 21612 return srv.(DlpServiceServer).GetDlpJob(ctx, in) 21613 } 21614 info := &grpc.UnaryServerInfo{ 21615 Server: srv, 21616 FullMethod: "/google.privacy.dlp.v2.DlpService/GetDlpJob", 21617 } 21618 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21619 return srv.(DlpServiceServer).GetDlpJob(ctx, req.(*GetDlpJobRequest)) 21620 } 21621 return interceptor(ctx, in, info, handler) 21622} 21623 21624func _DlpService_DeleteDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21625 in := new(DeleteDlpJobRequest) 21626 if err := dec(in); err != nil { 21627 return nil, err 21628 } 21629 if interceptor == nil { 21630 return srv.(DlpServiceServer).DeleteDlpJob(ctx, in) 21631 } 21632 info := &grpc.UnaryServerInfo{ 21633 Server: srv, 21634 FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteDlpJob", 21635 } 21636 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21637 return srv.(DlpServiceServer).DeleteDlpJob(ctx, req.(*DeleteDlpJobRequest)) 21638 } 21639 return interceptor(ctx, in, info, handler) 21640} 21641 21642func _DlpService_CancelDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21643 in := new(CancelDlpJobRequest) 21644 if err := dec(in); err != nil { 21645 return nil, err 21646 } 21647 if interceptor == nil { 21648 return srv.(DlpServiceServer).CancelDlpJob(ctx, in) 21649 } 21650 info := &grpc.UnaryServerInfo{ 21651 Server: srv, 21652 FullMethod: "/google.privacy.dlp.v2.DlpService/CancelDlpJob", 21653 } 21654 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21655 return srv.(DlpServiceServer).CancelDlpJob(ctx, req.(*CancelDlpJobRequest)) 21656 } 21657 return interceptor(ctx, in, info, handler) 21658} 21659 21660func _DlpService_CreateStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21661 in := new(CreateStoredInfoTypeRequest) 21662 if err := dec(in); err != nil { 21663 return nil, err 21664 } 21665 if interceptor == nil { 21666 return srv.(DlpServiceServer).CreateStoredInfoType(ctx, in) 21667 } 21668 info := &grpc.UnaryServerInfo{ 21669 Server: srv, 21670 FullMethod: "/google.privacy.dlp.v2.DlpService/CreateStoredInfoType", 21671 } 21672 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21673 return srv.(DlpServiceServer).CreateStoredInfoType(ctx, req.(*CreateStoredInfoTypeRequest)) 21674 } 21675 return interceptor(ctx, in, info, handler) 21676} 21677 21678func _DlpService_UpdateStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21679 in := new(UpdateStoredInfoTypeRequest) 21680 if err := dec(in); err != nil { 21681 return nil, err 21682 } 21683 if interceptor == nil { 21684 return srv.(DlpServiceServer).UpdateStoredInfoType(ctx, in) 21685 } 21686 info := &grpc.UnaryServerInfo{ 21687 Server: srv, 21688 FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateStoredInfoType", 21689 } 21690 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21691 return srv.(DlpServiceServer).UpdateStoredInfoType(ctx, req.(*UpdateStoredInfoTypeRequest)) 21692 } 21693 return interceptor(ctx, in, info, handler) 21694} 21695 21696func _DlpService_GetStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21697 in := new(GetStoredInfoTypeRequest) 21698 if err := dec(in); err != nil { 21699 return nil, err 21700 } 21701 if interceptor == nil { 21702 return srv.(DlpServiceServer).GetStoredInfoType(ctx, in) 21703 } 21704 info := &grpc.UnaryServerInfo{ 21705 Server: srv, 21706 FullMethod: "/google.privacy.dlp.v2.DlpService/GetStoredInfoType", 21707 } 21708 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21709 return srv.(DlpServiceServer).GetStoredInfoType(ctx, req.(*GetStoredInfoTypeRequest)) 21710 } 21711 return interceptor(ctx, in, info, handler) 21712} 21713 21714func _DlpService_ListStoredInfoTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21715 in := new(ListStoredInfoTypesRequest) 21716 if err := dec(in); err != nil { 21717 return nil, err 21718 } 21719 if interceptor == nil { 21720 return srv.(DlpServiceServer).ListStoredInfoTypes(ctx, in) 21721 } 21722 info := &grpc.UnaryServerInfo{ 21723 Server: srv, 21724 FullMethod: "/google.privacy.dlp.v2.DlpService/ListStoredInfoTypes", 21725 } 21726 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21727 return srv.(DlpServiceServer).ListStoredInfoTypes(ctx, req.(*ListStoredInfoTypesRequest)) 21728 } 21729 return interceptor(ctx, in, info, handler) 21730} 21731 21732func _DlpService_DeleteStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21733 in := new(DeleteStoredInfoTypeRequest) 21734 if err := dec(in); err != nil { 21735 return nil, err 21736 } 21737 if interceptor == nil { 21738 return srv.(DlpServiceServer).DeleteStoredInfoType(ctx, in) 21739 } 21740 info := &grpc.UnaryServerInfo{ 21741 Server: srv, 21742 FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteStoredInfoType", 21743 } 21744 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21745 return srv.(DlpServiceServer).DeleteStoredInfoType(ctx, req.(*DeleteStoredInfoTypeRequest)) 21746 } 21747 return interceptor(ctx, in, info, handler) 21748} 21749 21750func _DlpService_HybridInspectDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21751 in := new(HybridInspectDlpJobRequest) 21752 if err := dec(in); err != nil { 21753 return nil, err 21754 } 21755 if interceptor == nil { 21756 return srv.(DlpServiceServer).HybridInspectDlpJob(ctx, in) 21757 } 21758 info := &grpc.UnaryServerInfo{ 21759 Server: srv, 21760 FullMethod: "/google.privacy.dlp.v2.DlpService/HybridInspectDlpJob", 21761 } 21762 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21763 return srv.(DlpServiceServer).HybridInspectDlpJob(ctx, req.(*HybridInspectDlpJobRequest)) 21764 } 21765 return interceptor(ctx, in, info, handler) 21766} 21767 21768func _DlpService_FinishDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 21769 in := new(FinishDlpJobRequest) 21770 if err := dec(in); err != nil { 21771 return nil, err 21772 } 21773 if interceptor == nil { 21774 return srv.(DlpServiceServer).FinishDlpJob(ctx, in) 21775 } 21776 info := &grpc.UnaryServerInfo{ 21777 Server: srv, 21778 FullMethod: "/google.privacy.dlp.v2.DlpService/FinishDlpJob", 21779 } 21780 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 21781 return srv.(DlpServiceServer).FinishDlpJob(ctx, req.(*FinishDlpJobRequest)) 21782 } 21783 return interceptor(ctx, in, info, handler) 21784} 21785 21786var _DlpService_serviceDesc = grpc.ServiceDesc{ 21787 ServiceName: "google.privacy.dlp.v2.DlpService", 21788 HandlerType: (*DlpServiceServer)(nil), 21789 Methods: []grpc.MethodDesc{ 21790 { 21791 MethodName: "InspectContent", 21792 Handler: _DlpService_InspectContent_Handler, 21793 }, 21794 { 21795 MethodName: "RedactImage", 21796 Handler: _DlpService_RedactImage_Handler, 21797 }, 21798 { 21799 MethodName: "DeidentifyContent", 21800 Handler: _DlpService_DeidentifyContent_Handler, 21801 }, 21802 { 21803 MethodName: "ReidentifyContent", 21804 Handler: _DlpService_ReidentifyContent_Handler, 21805 }, 21806 { 21807 MethodName: "ListInfoTypes", 21808 Handler: _DlpService_ListInfoTypes_Handler, 21809 }, 21810 { 21811 MethodName: "CreateInspectTemplate", 21812 Handler: _DlpService_CreateInspectTemplate_Handler, 21813 }, 21814 { 21815 MethodName: "UpdateInspectTemplate", 21816 Handler: _DlpService_UpdateInspectTemplate_Handler, 21817 }, 21818 { 21819 MethodName: "GetInspectTemplate", 21820 Handler: _DlpService_GetInspectTemplate_Handler, 21821 }, 21822 { 21823 MethodName: "ListInspectTemplates", 21824 Handler: _DlpService_ListInspectTemplates_Handler, 21825 }, 21826 { 21827 MethodName: "DeleteInspectTemplate", 21828 Handler: _DlpService_DeleteInspectTemplate_Handler, 21829 }, 21830 { 21831 MethodName: "CreateDeidentifyTemplate", 21832 Handler: _DlpService_CreateDeidentifyTemplate_Handler, 21833 }, 21834 { 21835 MethodName: "UpdateDeidentifyTemplate", 21836 Handler: _DlpService_UpdateDeidentifyTemplate_Handler, 21837 }, 21838 { 21839 MethodName: "GetDeidentifyTemplate", 21840 Handler: _DlpService_GetDeidentifyTemplate_Handler, 21841 }, 21842 { 21843 MethodName: "ListDeidentifyTemplates", 21844 Handler: _DlpService_ListDeidentifyTemplates_Handler, 21845 }, 21846 { 21847 MethodName: "DeleteDeidentifyTemplate", 21848 Handler: _DlpService_DeleteDeidentifyTemplate_Handler, 21849 }, 21850 { 21851 MethodName: "CreateJobTrigger", 21852 Handler: _DlpService_CreateJobTrigger_Handler, 21853 }, 21854 { 21855 MethodName: "UpdateJobTrigger", 21856 Handler: _DlpService_UpdateJobTrigger_Handler, 21857 }, 21858 { 21859 MethodName: "HybridInspectJobTrigger", 21860 Handler: _DlpService_HybridInspectJobTrigger_Handler, 21861 }, 21862 { 21863 MethodName: "GetJobTrigger", 21864 Handler: _DlpService_GetJobTrigger_Handler, 21865 }, 21866 { 21867 MethodName: "ListJobTriggers", 21868 Handler: _DlpService_ListJobTriggers_Handler, 21869 }, 21870 { 21871 MethodName: "DeleteJobTrigger", 21872 Handler: _DlpService_DeleteJobTrigger_Handler, 21873 }, 21874 { 21875 MethodName: "ActivateJobTrigger", 21876 Handler: _DlpService_ActivateJobTrigger_Handler, 21877 }, 21878 { 21879 MethodName: "CreateDlpJob", 21880 Handler: _DlpService_CreateDlpJob_Handler, 21881 }, 21882 { 21883 MethodName: "ListDlpJobs", 21884 Handler: _DlpService_ListDlpJobs_Handler, 21885 }, 21886 { 21887 MethodName: "GetDlpJob", 21888 Handler: _DlpService_GetDlpJob_Handler, 21889 }, 21890 { 21891 MethodName: "DeleteDlpJob", 21892 Handler: _DlpService_DeleteDlpJob_Handler, 21893 }, 21894 { 21895 MethodName: "CancelDlpJob", 21896 Handler: _DlpService_CancelDlpJob_Handler, 21897 }, 21898 { 21899 MethodName: "CreateStoredInfoType", 21900 Handler: _DlpService_CreateStoredInfoType_Handler, 21901 }, 21902 { 21903 MethodName: "UpdateStoredInfoType", 21904 Handler: _DlpService_UpdateStoredInfoType_Handler, 21905 }, 21906 { 21907 MethodName: "GetStoredInfoType", 21908 Handler: _DlpService_GetStoredInfoType_Handler, 21909 }, 21910 { 21911 MethodName: "ListStoredInfoTypes", 21912 Handler: _DlpService_ListStoredInfoTypes_Handler, 21913 }, 21914 { 21915 MethodName: "DeleteStoredInfoType", 21916 Handler: _DlpService_DeleteStoredInfoType_Handler, 21917 }, 21918 { 21919 MethodName: "HybridInspectDlpJob", 21920 Handler: _DlpService_HybridInspectDlpJob_Handler, 21921 }, 21922 { 21923 MethodName: "FinishDlpJob", 21924 Handler: _DlpService_FinishDlpJob_Handler, 21925 }, 21926 }, 21927 Streams: []grpc.StreamDesc{}, 21928 Metadata: "google/privacy/dlp/v2/dlp.proto", 21929} 21930