1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/privacy/dlp/v2/dlp.proto
3
4package dlp
5
6import (
7	context "context"
8	fmt "fmt"
9	math "math"
10
11	proto "github.com/golang/protobuf/proto"
12	duration "github.com/golang/protobuf/ptypes/duration"
13	empty "github.com/golang/protobuf/ptypes/empty"
14	timestamp "github.com/golang/protobuf/ptypes/timestamp"
15	_ "google.golang.org/genproto/googleapis/api/annotations"
16	status "google.golang.org/genproto/googleapis/rpc/status"
17	date "google.golang.org/genproto/googleapis/type/date"
18	dayofweek "google.golang.org/genproto/googleapis/type/dayofweek"
19	timeofday "google.golang.org/genproto/googleapis/type/timeofday"
20	field_mask "google.golang.org/genproto/protobuf/field_mask"
21	grpc "google.golang.org/grpc"
22	codes "google.golang.org/grpc/codes"
23	status1 "google.golang.org/grpc/status"
24)
25
26// Reference imports to suppress errors if they are not otherwise used.
27var _ = proto.Marshal
28var _ = fmt.Errorf
29var _ = math.Inf
30
31// This is a compile-time assertion to ensure that this generated file
32// is compatible with the proto package it is being compiled against.
33// A compilation error at this line likely means your copy of the
34// proto package needs to be updated.
35const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
36
37// Operators available for comparing the value of fields.
38type RelationalOperator int32
39
40const (
41	// Unused
42	RelationalOperator_RELATIONAL_OPERATOR_UNSPECIFIED RelationalOperator = 0
43	// Equal. Attempts to match even with incompatible types.
44	RelationalOperator_EQUAL_TO RelationalOperator = 1
45	// Not equal to. Attempts to match even with incompatible types.
46	RelationalOperator_NOT_EQUAL_TO RelationalOperator = 2
47	// Greater than.
48	RelationalOperator_GREATER_THAN RelationalOperator = 3
49	// Less than.
50	RelationalOperator_LESS_THAN RelationalOperator = 4
51	// Greater than or equals.
52	RelationalOperator_GREATER_THAN_OR_EQUALS RelationalOperator = 5
53	// Less than or equals.
54	RelationalOperator_LESS_THAN_OR_EQUALS RelationalOperator = 6
55	// Exists
56	RelationalOperator_EXISTS RelationalOperator = 7
57)
58
59var RelationalOperator_name = map[int32]string{
60	0: "RELATIONAL_OPERATOR_UNSPECIFIED",
61	1: "EQUAL_TO",
62	2: "NOT_EQUAL_TO",
63	3: "GREATER_THAN",
64	4: "LESS_THAN",
65	5: "GREATER_THAN_OR_EQUALS",
66	6: "LESS_THAN_OR_EQUALS",
67	7: "EXISTS",
68}
69
70var RelationalOperator_value = map[string]int32{
71	"RELATIONAL_OPERATOR_UNSPECIFIED": 0,
72	"EQUAL_TO":                        1,
73	"NOT_EQUAL_TO":                    2,
74	"GREATER_THAN":                    3,
75	"LESS_THAN":                       4,
76	"GREATER_THAN_OR_EQUALS":          5,
77	"LESS_THAN_OR_EQUALS":             6,
78	"EXISTS":                          7,
79}
80
81func (x RelationalOperator) String() string {
82	return proto.EnumName(RelationalOperator_name, int32(x))
83}
84
85func (RelationalOperator) EnumDescriptor() ([]byte, []int) {
86	return fileDescriptor_6872a91dcb80f8dc, []int{0}
87}
88
89// Type of the match which can be applied to different ways of matching, like
90// Dictionary, regular expression and intersecting with findings of another
91// info type.
92type MatchingType int32
93
94const (
95	// Invalid.
96	MatchingType_MATCHING_TYPE_UNSPECIFIED MatchingType = 0
97	// Full match.
98	//
99	// - Dictionary: join of Dictionary results matched complete finding quote
100	// - Regex: all regex matches fill a finding quote start to end
101	// - Exclude info type: completely inside affecting info types findings
102	MatchingType_MATCHING_TYPE_FULL_MATCH MatchingType = 1
103	// Partial match.
104	//
105	// - Dictionary: at least one of the tokens in the finding matches
106	// - Regex: substring of the finding matches
107	// - Exclude info type: intersects with affecting info types findings
108	MatchingType_MATCHING_TYPE_PARTIAL_MATCH MatchingType = 2
109	// Inverse match.
110	//
111	// - Dictionary: no tokens in the finding match the dictionary
112	// - Regex: finding doesn't match the regex
113	// - Exclude info type: no intersection with affecting info types findings
114	MatchingType_MATCHING_TYPE_INVERSE_MATCH MatchingType = 3
115)
116
117var MatchingType_name = map[int32]string{
118	0: "MATCHING_TYPE_UNSPECIFIED",
119	1: "MATCHING_TYPE_FULL_MATCH",
120	2: "MATCHING_TYPE_PARTIAL_MATCH",
121	3: "MATCHING_TYPE_INVERSE_MATCH",
122}
123
124var MatchingType_value = map[string]int32{
125	"MATCHING_TYPE_UNSPECIFIED":   0,
126	"MATCHING_TYPE_FULL_MATCH":    1,
127	"MATCHING_TYPE_PARTIAL_MATCH": 2,
128	"MATCHING_TYPE_INVERSE_MATCH": 3,
129}
130
131func (x MatchingType) String() string {
132	return proto.EnumName(MatchingType_name, int32(x))
133}
134
135func (MatchingType) EnumDescriptor() ([]byte, []int) {
136	return fileDescriptor_6872a91dcb80f8dc, []int{1}
137}
138
139// Options describing which parts of the provided content should be scanned.
140type ContentOption int32
141
142const (
143	// Includes entire content of a file or a data stream.
144	ContentOption_CONTENT_UNSPECIFIED ContentOption = 0
145	// Text content within the data, excluding any metadata.
146	ContentOption_CONTENT_TEXT ContentOption = 1
147	// Images found in the data.
148	ContentOption_CONTENT_IMAGE ContentOption = 2
149)
150
151var ContentOption_name = map[int32]string{
152	0: "CONTENT_UNSPECIFIED",
153	1: "CONTENT_TEXT",
154	2: "CONTENT_IMAGE",
155}
156
157var ContentOption_value = map[string]int32{
158	"CONTENT_UNSPECIFIED": 0,
159	"CONTENT_TEXT":        1,
160	"CONTENT_IMAGE":       2,
161}
162
163func (x ContentOption) String() string {
164	return proto.EnumName(ContentOption_name, int32(x))
165}
166
167func (ContentOption) EnumDescriptor() ([]byte, []int) {
168	return fileDescriptor_6872a91dcb80f8dc, []int{2}
169}
170
171// Parts of the APIs which use certain infoTypes.
172type InfoTypeSupportedBy int32
173
174const (
175	// Unused.
176	InfoTypeSupportedBy_ENUM_TYPE_UNSPECIFIED InfoTypeSupportedBy = 0
177	// Supported by the inspect operations.
178	InfoTypeSupportedBy_INSPECT InfoTypeSupportedBy = 1
179	// Supported by the risk analysis operations.
180	InfoTypeSupportedBy_RISK_ANALYSIS InfoTypeSupportedBy = 2
181)
182
183var InfoTypeSupportedBy_name = map[int32]string{
184	0: "ENUM_TYPE_UNSPECIFIED",
185	1: "INSPECT",
186	2: "RISK_ANALYSIS",
187}
188
189var InfoTypeSupportedBy_value = map[string]int32{
190	"ENUM_TYPE_UNSPECIFIED": 0,
191	"INSPECT":               1,
192	"RISK_ANALYSIS":         2,
193}
194
195func (x InfoTypeSupportedBy) String() string {
196	return proto.EnumName(InfoTypeSupportedBy_name, int32(x))
197}
198
199func (InfoTypeSupportedBy) EnumDescriptor() ([]byte, []int) {
200	return fileDescriptor_6872a91dcb80f8dc, []int{3}
201}
202
203// An enum to represent the various types of DLP jobs.
204type DlpJobType int32
205
206const (
207	// Unused
208	DlpJobType_DLP_JOB_TYPE_UNSPECIFIED DlpJobType = 0
209	// The job inspected Google Cloud for sensitive data.
210	DlpJobType_INSPECT_JOB DlpJobType = 1
211	// The job executed a Risk Analysis computation.
212	DlpJobType_RISK_ANALYSIS_JOB DlpJobType = 2
213)
214
215var DlpJobType_name = map[int32]string{
216	0: "DLP_JOB_TYPE_UNSPECIFIED",
217	1: "INSPECT_JOB",
218	2: "RISK_ANALYSIS_JOB",
219}
220
221var DlpJobType_value = map[string]int32{
222	"DLP_JOB_TYPE_UNSPECIFIED": 0,
223	"INSPECT_JOB":              1,
224	"RISK_ANALYSIS_JOB":        2,
225}
226
227func (x DlpJobType) String() string {
228	return proto.EnumName(DlpJobType_name, int32(x))
229}
230
231func (DlpJobType) EnumDescriptor() ([]byte, []int) {
232	return fileDescriptor_6872a91dcb80f8dc, []int{4}
233}
234
235// State of a StoredInfoType version.
236type StoredInfoTypeState int32
237
238const (
239	// Unused
240	StoredInfoTypeState_STORED_INFO_TYPE_STATE_UNSPECIFIED StoredInfoTypeState = 0
241	// StoredInfoType version is being created.
242	StoredInfoTypeState_PENDING StoredInfoTypeState = 1
243	// StoredInfoType version is ready for use.
244	StoredInfoTypeState_READY StoredInfoTypeState = 2
245	// StoredInfoType creation failed. All relevant error messages are returned in
246	// the `StoredInfoTypeVersion` message.
247	StoredInfoTypeState_FAILED StoredInfoTypeState = 3
248	// StoredInfoType is no longer valid because artifacts stored in
249	// user-controlled storage were modified. To fix an invalid StoredInfoType,
250	// use the `UpdateStoredInfoType` method to create a new version.
251	StoredInfoTypeState_INVALID StoredInfoTypeState = 4
252)
253
254var StoredInfoTypeState_name = map[int32]string{
255	0: "STORED_INFO_TYPE_STATE_UNSPECIFIED",
256	1: "PENDING",
257	2: "READY",
258	3: "FAILED",
259	4: "INVALID",
260}
261
262var StoredInfoTypeState_value = map[string]int32{
263	"STORED_INFO_TYPE_STATE_UNSPECIFIED": 0,
264	"PENDING":                            1,
265	"READY":                              2,
266	"FAILED":                             3,
267	"INVALID":                            4,
268}
269
270func (x StoredInfoTypeState) String() string {
271	return proto.EnumName(StoredInfoTypeState_name, int32(x))
272}
273
274func (StoredInfoTypeState) EnumDescriptor() ([]byte, []int) {
275	return fileDescriptor_6872a91dcb80f8dc, []int{5}
276}
277
278// The type of data being sent to in data.
279type ByteContentItem_BytesType int32
280
281const (
282	// Unused
283	ByteContentItem_BYTES_TYPE_UNSPECIFIED ByteContentItem_BytesType = 0
284	// Any image type.
285	ByteContentItem_IMAGE ByteContentItem_BytesType = 6
286	// jpeg
287	ByteContentItem_IMAGE_JPEG ByteContentItem_BytesType = 1
288	// bmp
289	ByteContentItem_IMAGE_BMP ByteContentItem_BytesType = 2
290	// png
291	ByteContentItem_IMAGE_PNG ByteContentItem_BytesType = 3
292	// svg
293	ByteContentItem_IMAGE_SVG ByteContentItem_BytesType = 4
294	// plain text
295	ByteContentItem_TEXT_UTF8 ByteContentItem_BytesType = 5
296	// avro
297	ByteContentItem_AVRO ByteContentItem_BytesType = 11
298)
299
300var ByteContentItem_BytesType_name = map[int32]string{
301	0:  "BYTES_TYPE_UNSPECIFIED",
302	6:  "IMAGE",
303	1:  "IMAGE_JPEG",
304	2:  "IMAGE_BMP",
305	3:  "IMAGE_PNG",
306	4:  "IMAGE_SVG",
307	5:  "TEXT_UTF8",
308	11: "AVRO",
309}
310
311var ByteContentItem_BytesType_value = map[string]int32{
312	"BYTES_TYPE_UNSPECIFIED": 0,
313	"IMAGE":                  6,
314	"IMAGE_JPEG":             1,
315	"IMAGE_BMP":              2,
316	"IMAGE_PNG":              3,
317	"IMAGE_SVG":              4,
318	"TEXT_UTF8":              5,
319	"AVRO":                   11,
320}
321
322func (x ByteContentItem_BytesType) String() string {
323	return proto.EnumName(ByteContentItem_BytesType_name, int32(x))
324}
325
326func (ByteContentItem_BytesType) EnumDescriptor() ([]byte, []int) {
327	return fileDescriptor_6872a91dcb80f8dc, []int{5, 0}
328}
329
330// Predefined schemas for storing findings.
331// Only for use with external storage.
332type OutputStorageConfig_OutputSchema int32
333
334const (
335	// Unused.
336	OutputStorageConfig_OUTPUT_SCHEMA_UNSPECIFIED OutputStorageConfig_OutputSchema = 0
337	// Basic schema including only `info_type`, `quote`, `certainty`, and
338	// `timestamp`.
339	OutputStorageConfig_BASIC_COLUMNS OutputStorageConfig_OutputSchema = 1
340	// Schema tailored to findings from scanning Google Cloud Storage.
341	OutputStorageConfig_GCS_COLUMNS OutputStorageConfig_OutputSchema = 2
342	// Schema tailored to findings from scanning Google Datastore.
343	OutputStorageConfig_DATASTORE_COLUMNS OutputStorageConfig_OutputSchema = 3
344	// Schema tailored to findings from scanning Google BigQuery.
345	OutputStorageConfig_BIG_QUERY_COLUMNS OutputStorageConfig_OutputSchema = 4
346	// Schema containing all columns.
347	OutputStorageConfig_ALL_COLUMNS OutputStorageConfig_OutputSchema = 5
348)
349
350var OutputStorageConfig_OutputSchema_name = map[int32]string{
351	0: "OUTPUT_SCHEMA_UNSPECIFIED",
352	1: "BASIC_COLUMNS",
353	2: "GCS_COLUMNS",
354	3: "DATASTORE_COLUMNS",
355	4: "BIG_QUERY_COLUMNS",
356	5: "ALL_COLUMNS",
357}
358
359var OutputStorageConfig_OutputSchema_value = map[string]int32{
360	"OUTPUT_SCHEMA_UNSPECIFIED": 0,
361	"BASIC_COLUMNS":             1,
362	"GCS_COLUMNS":               2,
363	"DATASTORE_COLUMNS":         3,
364	"BIG_QUERY_COLUMNS":         4,
365	"ALL_COLUMNS":               5,
366}
367
368func (x OutputStorageConfig_OutputSchema) String() string {
369	return proto.EnumName(OutputStorageConfig_OutputSchema_name, int32(x))
370}
371
372func (OutputStorageConfig_OutputSchema) EnumDescriptor() ([]byte, []int) {
373	return fileDescriptor_6872a91dcb80f8dc, []int{28, 0}
374}
375
376// Components that make up time.
377type TimePartConfig_TimePart int32
378
379const (
380	// Unused
381	TimePartConfig_TIME_PART_UNSPECIFIED TimePartConfig_TimePart = 0
382	// [0-9999]
383	TimePartConfig_YEAR TimePartConfig_TimePart = 1
384	// [1-12]
385	TimePartConfig_MONTH TimePartConfig_TimePart = 2
386	// [1-31]
387	TimePartConfig_DAY_OF_MONTH TimePartConfig_TimePart = 3
388	// [1-7]
389	TimePartConfig_DAY_OF_WEEK TimePartConfig_TimePart = 4
390	// [1-53]
391	TimePartConfig_WEEK_OF_YEAR TimePartConfig_TimePart = 5
392	// [0-23]
393	TimePartConfig_HOUR_OF_DAY TimePartConfig_TimePart = 6
394)
395
396var TimePartConfig_TimePart_name = map[int32]string{
397	0: "TIME_PART_UNSPECIFIED",
398	1: "YEAR",
399	2: "MONTH",
400	3: "DAY_OF_MONTH",
401	4: "DAY_OF_WEEK",
402	5: "WEEK_OF_YEAR",
403	6: "HOUR_OF_DAY",
404}
405
406var TimePartConfig_TimePart_value = map[string]int32{
407	"TIME_PART_UNSPECIFIED": 0,
408	"YEAR":                  1,
409	"MONTH":                 2,
410	"DAY_OF_MONTH":          3,
411	"DAY_OF_WEEK":           4,
412	"WEEK_OF_YEAR":          5,
413	"HOUR_OF_DAY":           6,
414}
415
416func (x TimePartConfig_TimePart) String() string {
417	return proto.EnumName(TimePartConfig_TimePart_name, int32(x))
418}
419
420func (TimePartConfig_TimePart) EnumDescriptor() ([]byte, []int) {
421	return fileDescriptor_6872a91dcb80f8dc, []int{47, 0}
422}
423
424// Convenience enum for indication common characters to not transform.
425type CharsToIgnore_CommonCharsToIgnore int32
426
427const (
428	// Unused.
429	CharsToIgnore_COMMON_CHARS_TO_IGNORE_UNSPECIFIED CharsToIgnore_CommonCharsToIgnore = 0
430	// 0-9
431	CharsToIgnore_NUMERIC CharsToIgnore_CommonCharsToIgnore = 1
432	// A-Z
433	CharsToIgnore_ALPHA_UPPER_CASE CharsToIgnore_CommonCharsToIgnore = 2
434	// a-z
435	CharsToIgnore_ALPHA_LOWER_CASE CharsToIgnore_CommonCharsToIgnore = 3
436	// US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
437	CharsToIgnore_PUNCTUATION CharsToIgnore_CommonCharsToIgnore = 4
438	// Whitespace character, one of [ \t\n\x0B\f\r]
439	CharsToIgnore_WHITESPACE CharsToIgnore_CommonCharsToIgnore = 5
440)
441
442var CharsToIgnore_CommonCharsToIgnore_name = map[int32]string{
443	0: "COMMON_CHARS_TO_IGNORE_UNSPECIFIED",
444	1: "NUMERIC",
445	2: "ALPHA_UPPER_CASE",
446	3: "ALPHA_LOWER_CASE",
447	4: "PUNCTUATION",
448	5: "WHITESPACE",
449}
450
451var CharsToIgnore_CommonCharsToIgnore_value = map[string]int32{
452	"COMMON_CHARS_TO_IGNORE_UNSPECIFIED": 0,
453	"NUMERIC":                            1,
454	"ALPHA_UPPER_CASE":                   2,
455	"ALPHA_LOWER_CASE":                   3,
456	"PUNCTUATION":                        4,
457	"WHITESPACE":                         5,
458}
459
460func (x CharsToIgnore_CommonCharsToIgnore) String() string {
461	return proto.EnumName(CharsToIgnore_CommonCharsToIgnore_name, int32(x))
462}
463
464func (CharsToIgnore_CommonCharsToIgnore) EnumDescriptor() ([]byte, []int) {
465	return fileDescriptor_6872a91dcb80f8dc, []int{53, 0}
466}
467
468// These are commonly used subsets of the alphabet that the FFX mode
469// natively supports. In the algorithm, the alphabet is selected using
470// the "radix". Therefore each corresponds to particular radix.
471type CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet int32
472
473const (
474	// Unused.
475	CryptoReplaceFfxFpeConfig_FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 0
476	// [0-9] (radix of 10)
477	CryptoReplaceFfxFpeConfig_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 1
478	// [0-9A-F] (radix of 16)
479	CryptoReplaceFfxFpeConfig_HEXADECIMAL CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 2
480	// [0-9A-Z] (radix of 36)
481	CryptoReplaceFfxFpeConfig_UPPER_CASE_ALPHA_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 3
482	// [0-9A-Za-z] (radix of 62)
483	CryptoReplaceFfxFpeConfig_ALPHA_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 4
484)
485
486var CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_name = map[int32]string{
487	0: "FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED",
488	1: "NUMERIC",
489	2: "HEXADECIMAL",
490	3: "UPPER_CASE_ALPHA_NUMERIC",
491	4: "ALPHA_NUMERIC",
492}
493
494var CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_value = map[string]int32{
495	"FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED": 0,
496	"NUMERIC":                                1,
497	"HEXADECIMAL":                            2,
498	"UPPER_CASE_ALPHA_NUMERIC":               3,
499	"ALPHA_NUMERIC":                          4,
500}
501
502func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) String() string {
503	return proto.EnumName(CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_name, int32(x))
504}
505
506func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) EnumDescriptor() ([]byte, []int) {
507	return fileDescriptor_6872a91dcb80f8dc, []int{57, 0}
508}
509
510// Logical operators for conditional checks.
511type RecordCondition_Expressions_LogicalOperator int32
512
513const (
514	// Unused
515	RecordCondition_Expressions_LOGICAL_OPERATOR_UNSPECIFIED RecordCondition_Expressions_LogicalOperator = 0
516	// Conditional AND
517	RecordCondition_Expressions_AND RecordCondition_Expressions_LogicalOperator = 1
518)
519
520var RecordCondition_Expressions_LogicalOperator_name = map[int32]string{
521	0: "LOGICAL_OPERATOR_UNSPECIFIED",
522	1: "AND",
523}
524
525var RecordCondition_Expressions_LogicalOperator_value = map[string]int32{
526	"LOGICAL_OPERATOR_UNSPECIFIED": 0,
527	"AND":                          1,
528}
529
530func (x RecordCondition_Expressions_LogicalOperator) String() string {
531	return proto.EnumName(RecordCondition_Expressions_LogicalOperator_name, int32(x))
532}
533
534func (RecordCondition_Expressions_LogicalOperator) EnumDescriptor() ([]byte, []int) {
535	return fileDescriptor_6872a91dcb80f8dc, []int{67, 2, 0}
536}
537
538// Possible outcomes of transformations.
539type TransformationSummary_TransformationResultCode int32
540
541const (
542	// Unused
543	TransformationSummary_TRANSFORMATION_RESULT_CODE_UNSPECIFIED TransformationSummary_TransformationResultCode = 0
544	// Transformation completed without an error.
545	TransformationSummary_SUCCESS TransformationSummary_TransformationResultCode = 1
546	// Transformation had an error.
547	TransformationSummary_ERROR TransformationSummary_TransformationResultCode = 2
548)
549
550var TransformationSummary_TransformationResultCode_name = map[int32]string{
551	0: "TRANSFORMATION_RESULT_CODE_UNSPECIFIED",
552	1: "SUCCESS",
553	2: "ERROR",
554}
555
556var TransformationSummary_TransformationResultCode_value = map[string]int32{
557	"TRANSFORMATION_RESULT_CODE_UNSPECIFIED": 0,
558	"SUCCESS":                                1,
559	"ERROR":                                  2,
560}
561
562func (x TransformationSummary_TransformationResultCode) String() string {
563	return proto.EnumName(TransformationSummary_TransformationResultCode_name, int32(x))
564}
565
566func (TransformationSummary_TransformationResultCode) EnumDescriptor() ([]byte, []int) {
567	return fileDescriptor_6872a91dcb80f8dc, []int{69, 0}
568}
569
570// Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs
571// will be created with this configuration. The service may automatically
572// pause triggers experiencing frequent errors. To restart a job, set the
573// status to HEALTHY after correcting user errors.
574type JobTrigger_Status int32
575
576const (
577	// Unused.
578	JobTrigger_STATUS_UNSPECIFIED JobTrigger_Status = 0
579	// Trigger is healthy.
580	JobTrigger_HEALTHY JobTrigger_Status = 1
581	// Trigger is temporarily paused.
582	JobTrigger_PAUSED JobTrigger_Status = 2
583	// Trigger is cancelled and can not be resumed.
584	JobTrigger_CANCELLED JobTrigger_Status = 3
585)
586
587var JobTrigger_Status_name = map[int32]string{
588	0: "STATUS_UNSPECIFIED",
589	1: "HEALTHY",
590	2: "PAUSED",
591	3: "CANCELLED",
592}
593
594var JobTrigger_Status_value = map[string]int32{
595	"STATUS_UNSPECIFIED": 0,
596	"HEALTHY":            1,
597	"PAUSED":             2,
598	"CANCELLED":          3,
599}
600
601func (x JobTrigger_Status) String() string {
602	return proto.EnumName(JobTrigger_Status_name, int32(x))
603}
604
605func (JobTrigger_Status) EnumDescriptor() ([]byte, []int) {
606	return fileDescriptor_6872a91dcb80f8dc, []int{75, 0}
607}
608
609// Possible states of a job. New items may be added.
610type DlpJob_JobState int32
611
612const (
613	// Unused.
614	DlpJob_JOB_STATE_UNSPECIFIED DlpJob_JobState = 0
615	// The job has not yet started.
616	DlpJob_PENDING DlpJob_JobState = 1
617	// The job is currently running. Once a job has finished it will transition
618	// to FAILED or DONE.
619	DlpJob_RUNNING DlpJob_JobState = 2
620	// The job is no longer running.
621	DlpJob_DONE DlpJob_JobState = 3
622	// The job was canceled before it could complete.
623	DlpJob_CANCELED DlpJob_JobState = 4
624	// The job had an error and did not complete.
625	DlpJob_FAILED DlpJob_JobState = 5
626	// The job is currently accepting findings via hybridInspect.
627	// A hybrid job in ACTIVE state may continue to have findings added to it
628	// through calling of hybridInspect. After the job has finished no more
629	// calls to hybridInspect may be made. ACTIVE jobs can transition to DONE.
630	DlpJob_ACTIVE DlpJob_JobState = 6
631)
632
633var DlpJob_JobState_name = map[int32]string{
634	0: "JOB_STATE_UNSPECIFIED",
635	1: "PENDING",
636	2: "RUNNING",
637	3: "DONE",
638	4: "CANCELED",
639	5: "FAILED",
640	6: "ACTIVE",
641}
642
643var DlpJob_JobState_value = map[string]int32{
644	"JOB_STATE_UNSPECIFIED": 0,
645	"PENDING":               1,
646	"RUNNING":               2,
647	"DONE":                  3,
648	"CANCELED":              4,
649	"FAILED":                5,
650	"ACTIVE":                6,
651}
652
653func (x DlpJob_JobState) String() string {
654	return proto.EnumName(DlpJob_JobState_name, int32(x))
655}
656
657func (DlpJob_JobState) EnumDescriptor() ([]byte, []int) {
658	return fileDescriptor_6872a91dcb80f8dc, []int{92, 0}
659}
660
661// List of exclude infoTypes.
662type ExcludeInfoTypes struct {
663	// InfoType list in ExclusionRule rule drops a finding when it overlaps or
664	// contained within with a finding of an infoType from this list. For
665	// example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
666	// `exclusion_rule` containing `exclude_info_types.info_types` with
667	// "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
668	// with EMAIL_ADDRESS finding.
669	// That leads to "555-222-2222@example.org" to generate only a single
670	// finding, namely email address.
671	InfoTypes            []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
672	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
673	XXX_unrecognized     []byte      `json:"-"`
674	XXX_sizecache        int32       `json:"-"`
675}
676
677func (m *ExcludeInfoTypes) Reset()         { *m = ExcludeInfoTypes{} }
678func (m *ExcludeInfoTypes) String() string { return proto.CompactTextString(m) }
679func (*ExcludeInfoTypes) ProtoMessage()    {}
680func (*ExcludeInfoTypes) Descriptor() ([]byte, []int) {
681	return fileDescriptor_6872a91dcb80f8dc, []int{0}
682}
683
684func (m *ExcludeInfoTypes) XXX_Unmarshal(b []byte) error {
685	return xxx_messageInfo_ExcludeInfoTypes.Unmarshal(m, b)
686}
687func (m *ExcludeInfoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
688	return xxx_messageInfo_ExcludeInfoTypes.Marshal(b, m, deterministic)
689}
690func (m *ExcludeInfoTypes) XXX_Merge(src proto.Message) {
691	xxx_messageInfo_ExcludeInfoTypes.Merge(m, src)
692}
693func (m *ExcludeInfoTypes) XXX_Size() int {
694	return xxx_messageInfo_ExcludeInfoTypes.Size(m)
695}
696func (m *ExcludeInfoTypes) XXX_DiscardUnknown() {
697	xxx_messageInfo_ExcludeInfoTypes.DiscardUnknown(m)
698}
699
700var xxx_messageInfo_ExcludeInfoTypes proto.InternalMessageInfo
701
702func (m *ExcludeInfoTypes) GetInfoTypes() []*InfoType {
703	if m != nil {
704		return m.InfoTypes
705	}
706	return nil
707}
708
709// The rule that specifies conditions when findings of infoTypes specified in
710// `InspectionRuleSet` are removed from results.
711type ExclusionRule struct {
712	// Exclusion rule types.
713	//
714	// Types that are valid to be assigned to Type:
715	//	*ExclusionRule_Dictionary
716	//	*ExclusionRule_Regex
717	//	*ExclusionRule_ExcludeInfoTypes
718	Type isExclusionRule_Type `protobuf_oneof:"type"`
719	// How the rule is applied, see MatchingType documentation for details.
720	MatchingType         MatchingType `protobuf:"varint,4,opt,name=matching_type,json=matchingType,proto3,enum=google.privacy.dlp.v2.MatchingType" json:"matching_type,omitempty"`
721	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
722	XXX_unrecognized     []byte       `json:"-"`
723	XXX_sizecache        int32        `json:"-"`
724}
725
726func (m *ExclusionRule) Reset()         { *m = ExclusionRule{} }
727func (m *ExclusionRule) String() string { return proto.CompactTextString(m) }
728func (*ExclusionRule) ProtoMessage()    {}
729func (*ExclusionRule) Descriptor() ([]byte, []int) {
730	return fileDescriptor_6872a91dcb80f8dc, []int{1}
731}
732
733func (m *ExclusionRule) XXX_Unmarshal(b []byte) error {
734	return xxx_messageInfo_ExclusionRule.Unmarshal(m, b)
735}
736func (m *ExclusionRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
737	return xxx_messageInfo_ExclusionRule.Marshal(b, m, deterministic)
738}
739func (m *ExclusionRule) XXX_Merge(src proto.Message) {
740	xxx_messageInfo_ExclusionRule.Merge(m, src)
741}
742func (m *ExclusionRule) XXX_Size() int {
743	return xxx_messageInfo_ExclusionRule.Size(m)
744}
745func (m *ExclusionRule) XXX_DiscardUnknown() {
746	xxx_messageInfo_ExclusionRule.DiscardUnknown(m)
747}
748
749var xxx_messageInfo_ExclusionRule proto.InternalMessageInfo
750
751type isExclusionRule_Type interface {
752	isExclusionRule_Type()
753}
754
755type ExclusionRule_Dictionary struct {
756	Dictionary *CustomInfoType_Dictionary `protobuf:"bytes,1,opt,name=dictionary,proto3,oneof"`
757}
758
759type ExclusionRule_Regex struct {
760	Regex *CustomInfoType_Regex `protobuf:"bytes,2,opt,name=regex,proto3,oneof"`
761}
762
763type ExclusionRule_ExcludeInfoTypes struct {
764	ExcludeInfoTypes *ExcludeInfoTypes `protobuf:"bytes,3,opt,name=exclude_info_types,json=excludeInfoTypes,proto3,oneof"`
765}
766
767func (*ExclusionRule_Dictionary) isExclusionRule_Type() {}
768
769func (*ExclusionRule_Regex) isExclusionRule_Type() {}
770
771func (*ExclusionRule_ExcludeInfoTypes) isExclusionRule_Type() {}
772
773func (m *ExclusionRule) GetType() isExclusionRule_Type {
774	if m != nil {
775		return m.Type
776	}
777	return nil
778}
779
780func (m *ExclusionRule) GetDictionary() *CustomInfoType_Dictionary {
781	if x, ok := m.GetType().(*ExclusionRule_Dictionary); ok {
782		return x.Dictionary
783	}
784	return nil
785}
786
787func (m *ExclusionRule) GetRegex() *CustomInfoType_Regex {
788	if x, ok := m.GetType().(*ExclusionRule_Regex); ok {
789		return x.Regex
790	}
791	return nil
792}
793
794func (m *ExclusionRule) GetExcludeInfoTypes() *ExcludeInfoTypes {
795	if x, ok := m.GetType().(*ExclusionRule_ExcludeInfoTypes); ok {
796		return x.ExcludeInfoTypes
797	}
798	return nil
799}
800
801func (m *ExclusionRule) GetMatchingType() MatchingType {
802	if m != nil {
803		return m.MatchingType
804	}
805	return MatchingType_MATCHING_TYPE_UNSPECIFIED
806}
807
808// XXX_OneofWrappers is for the internal use of the proto package.
809func (*ExclusionRule) XXX_OneofWrappers() []interface{} {
810	return []interface{}{
811		(*ExclusionRule_Dictionary)(nil),
812		(*ExclusionRule_Regex)(nil),
813		(*ExclusionRule_ExcludeInfoTypes)(nil),
814	}
815}
816
817// A single inspection rule to be applied to infoTypes, specified in
818// `InspectionRuleSet`.
819type InspectionRule struct {
820	// Inspection rule types.
821	//
822	// Types that are valid to be assigned to Type:
823	//	*InspectionRule_HotwordRule
824	//	*InspectionRule_ExclusionRule
825	Type                 isInspectionRule_Type `protobuf_oneof:"type"`
826	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
827	XXX_unrecognized     []byte                `json:"-"`
828	XXX_sizecache        int32                 `json:"-"`
829}
830
831func (m *InspectionRule) Reset()         { *m = InspectionRule{} }
832func (m *InspectionRule) String() string { return proto.CompactTextString(m) }
833func (*InspectionRule) ProtoMessage()    {}
834func (*InspectionRule) Descriptor() ([]byte, []int) {
835	return fileDescriptor_6872a91dcb80f8dc, []int{2}
836}
837
838func (m *InspectionRule) XXX_Unmarshal(b []byte) error {
839	return xxx_messageInfo_InspectionRule.Unmarshal(m, b)
840}
841func (m *InspectionRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
842	return xxx_messageInfo_InspectionRule.Marshal(b, m, deterministic)
843}
844func (m *InspectionRule) XXX_Merge(src proto.Message) {
845	xxx_messageInfo_InspectionRule.Merge(m, src)
846}
847func (m *InspectionRule) XXX_Size() int {
848	return xxx_messageInfo_InspectionRule.Size(m)
849}
850func (m *InspectionRule) XXX_DiscardUnknown() {
851	xxx_messageInfo_InspectionRule.DiscardUnknown(m)
852}
853
854var xxx_messageInfo_InspectionRule proto.InternalMessageInfo
855
856type isInspectionRule_Type interface {
857	isInspectionRule_Type()
858}
859
860type InspectionRule_HotwordRule struct {
861	HotwordRule *CustomInfoType_DetectionRule_HotwordRule `protobuf:"bytes,1,opt,name=hotword_rule,json=hotwordRule,proto3,oneof"`
862}
863
864type InspectionRule_ExclusionRule struct {
865	ExclusionRule *ExclusionRule `protobuf:"bytes,2,opt,name=exclusion_rule,json=exclusionRule,proto3,oneof"`
866}
867
868func (*InspectionRule_HotwordRule) isInspectionRule_Type() {}
869
870func (*InspectionRule_ExclusionRule) isInspectionRule_Type() {}
871
872func (m *InspectionRule) GetType() isInspectionRule_Type {
873	if m != nil {
874		return m.Type
875	}
876	return nil
877}
878
879func (m *InspectionRule) GetHotwordRule() *CustomInfoType_DetectionRule_HotwordRule {
880	if x, ok := m.GetType().(*InspectionRule_HotwordRule); ok {
881		return x.HotwordRule
882	}
883	return nil
884}
885
886func (m *InspectionRule) GetExclusionRule() *ExclusionRule {
887	if x, ok := m.GetType().(*InspectionRule_ExclusionRule); ok {
888		return x.ExclusionRule
889	}
890	return nil
891}
892
893// XXX_OneofWrappers is for the internal use of the proto package.
894func (*InspectionRule) XXX_OneofWrappers() []interface{} {
895	return []interface{}{
896		(*InspectionRule_HotwordRule)(nil),
897		(*InspectionRule_ExclusionRule)(nil),
898	}
899}
900
901// Rule set for modifying a set of infoTypes to alter behavior under certain
902// circumstances, depending on the specific details of the rules within the set.
903type InspectionRuleSet struct {
904	// List of infoTypes this rule set is applied to.
905	InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
906	// Set of rules to be applied to infoTypes. The rules are applied in order.
907	Rules                []*InspectionRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
908	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
909	XXX_unrecognized     []byte            `json:"-"`
910	XXX_sizecache        int32             `json:"-"`
911}
912
913func (m *InspectionRuleSet) Reset()         { *m = InspectionRuleSet{} }
914func (m *InspectionRuleSet) String() string { return proto.CompactTextString(m) }
915func (*InspectionRuleSet) ProtoMessage()    {}
916func (*InspectionRuleSet) Descriptor() ([]byte, []int) {
917	return fileDescriptor_6872a91dcb80f8dc, []int{3}
918}
919
920func (m *InspectionRuleSet) XXX_Unmarshal(b []byte) error {
921	return xxx_messageInfo_InspectionRuleSet.Unmarshal(m, b)
922}
923func (m *InspectionRuleSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
924	return xxx_messageInfo_InspectionRuleSet.Marshal(b, m, deterministic)
925}
926func (m *InspectionRuleSet) XXX_Merge(src proto.Message) {
927	xxx_messageInfo_InspectionRuleSet.Merge(m, src)
928}
929func (m *InspectionRuleSet) XXX_Size() int {
930	return xxx_messageInfo_InspectionRuleSet.Size(m)
931}
932func (m *InspectionRuleSet) XXX_DiscardUnknown() {
933	xxx_messageInfo_InspectionRuleSet.DiscardUnknown(m)
934}
935
936var xxx_messageInfo_InspectionRuleSet proto.InternalMessageInfo
937
938func (m *InspectionRuleSet) GetInfoTypes() []*InfoType {
939	if m != nil {
940		return m.InfoTypes
941	}
942	return nil
943}
944
945func (m *InspectionRuleSet) GetRules() []*InspectionRule {
946	if m != nil {
947		return m.Rules
948	}
949	return nil
950}
951
952// Configuration description of the scanning process.
953// When used with redactContent only info_types and min_likelihood are currently
954// used.
955type InspectConfig struct {
956	// Restricts what info_types to look for. The values must correspond to
957	// InfoType values returned by ListInfoTypes or listed at
958	// https://cloud.google.com/dlp/docs/infotypes-reference.
959	//
960	// When no InfoTypes or CustomInfoTypes are specified in a request, the
961	// system may automatically choose what detectors to run. By default this may
962	// be all types, but may change over time as detectors are updated.
963	//
964	// If you need precise control and predictability as to what detectors are
965	// run you should specify specific InfoTypes listed in the reference,
966	// otherwise a default list will be used, which may change over time.
967	InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
968	// Only returns findings equal or above this threshold. The default is
969	// POSSIBLE.
970	// See https://cloud.google.com/dlp/docs/likelihood to learn more.
971	MinLikelihood Likelihood `protobuf:"varint,2,opt,name=min_likelihood,json=minLikelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"min_likelihood,omitempty"`
972	// Configuration to control the number of findings returned.
973	Limits *InspectConfig_FindingLimits `protobuf:"bytes,3,opt,name=limits,proto3" json:"limits,omitempty"`
974	// When true, a contextual quote from the data that triggered a finding is
975	// included in the response; see Finding.quote.
976	IncludeQuote bool `protobuf:"varint,4,opt,name=include_quote,json=includeQuote,proto3" json:"include_quote,omitempty"`
977	// When true, excludes type information of the findings.
978	ExcludeInfoTypes bool `protobuf:"varint,5,opt,name=exclude_info_types,json=excludeInfoTypes,proto3" json:"exclude_info_types,omitempty"`
979	// CustomInfoTypes provided by the user. See
980	// https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
981	CustomInfoTypes []*CustomInfoType `protobuf:"bytes,6,rep,name=custom_info_types,json=customInfoTypes,proto3" json:"custom_info_types,omitempty"`
982	// List of options defining data content to scan.
983	// If empty, text, images, and other content will be included.
984	ContentOptions []ContentOption `protobuf:"varint,8,rep,packed,name=content_options,json=contentOptions,proto3,enum=google.privacy.dlp.v2.ContentOption" json:"content_options,omitempty"`
985	// Set of rules to apply to the findings for this InspectConfig.
986	// Exclusion rules, contained in the set are executed in the end, other
987	// rules are executed in the order they are specified for each info type.
988	RuleSet              []*InspectionRuleSet `protobuf:"bytes,10,rep,name=rule_set,json=ruleSet,proto3" json:"rule_set,omitempty"`
989	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
990	XXX_unrecognized     []byte               `json:"-"`
991	XXX_sizecache        int32                `json:"-"`
992}
993
994func (m *InspectConfig) Reset()         { *m = InspectConfig{} }
995func (m *InspectConfig) String() string { return proto.CompactTextString(m) }
996func (*InspectConfig) ProtoMessage()    {}
997func (*InspectConfig) Descriptor() ([]byte, []int) {
998	return fileDescriptor_6872a91dcb80f8dc, []int{4}
999}
1000
1001func (m *InspectConfig) XXX_Unmarshal(b []byte) error {
1002	return xxx_messageInfo_InspectConfig.Unmarshal(m, b)
1003}
1004func (m *InspectConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1005	return xxx_messageInfo_InspectConfig.Marshal(b, m, deterministic)
1006}
1007func (m *InspectConfig) XXX_Merge(src proto.Message) {
1008	xxx_messageInfo_InspectConfig.Merge(m, src)
1009}
1010func (m *InspectConfig) XXX_Size() int {
1011	return xxx_messageInfo_InspectConfig.Size(m)
1012}
1013func (m *InspectConfig) XXX_DiscardUnknown() {
1014	xxx_messageInfo_InspectConfig.DiscardUnknown(m)
1015}
1016
1017var xxx_messageInfo_InspectConfig proto.InternalMessageInfo
1018
1019func (m *InspectConfig) GetInfoTypes() []*InfoType {
1020	if m != nil {
1021		return m.InfoTypes
1022	}
1023	return nil
1024}
1025
1026func (m *InspectConfig) GetMinLikelihood() Likelihood {
1027	if m != nil {
1028		return m.MinLikelihood
1029	}
1030	return Likelihood_LIKELIHOOD_UNSPECIFIED
1031}
1032
1033func (m *InspectConfig) GetLimits() *InspectConfig_FindingLimits {
1034	if m != nil {
1035		return m.Limits
1036	}
1037	return nil
1038}
1039
1040func (m *InspectConfig) GetIncludeQuote() bool {
1041	if m != nil {
1042		return m.IncludeQuote
1043	}
1044	return false
1045}
1046
1047func (m *InspectConfig) GetExcludeInfoTypes() bool {
1048	if m != nil {
1049		return m.ExcludeInfoTypes
1050	}
1051	return false
1052}
1053
1054func (m *InspectConfig) GetCustomInfoTypes() []*CustomInfoType {
1055	if m != nil {
1056		return m.CustomInfoTypes
1057	}
1058	return nil
1059}
1060
1061func (m *InspectConfig) GetContentOptions() []ContentOption {
1062	if m != nil {
1063		return m.ContentOptions
1064	}
1065	return nil
1066}
1067
1068func (m *InspectConfig) GetRuleSet() []*InspectionRuleSet {
1069	if m != nil {
1070		return m.RuleSet
1071	}
1072	return nil
1073}
1074
1075// Configuration to control the number of findings returned.
1076type InspectConfig_FindingLimits struct {
1077	// Max number of findings that will be returned for each item scanned.
1078	// When set within `InspectJobConfig`,
1079	// the maximum returned is 2000 regardless if this is set higher.
1080	// When set within `InspectContentRequest`, this field is ignored.
1081	MaxFindingsPerItem int32 `protobuf:"varint,1,opt,name=max_findings_per_item,json=maxFindingsPerItem,proto3" json:"max_findings_per_item,omitempty"`
1082	// Max number of findings that will be returned per request/job.
1083	// When set within `InspectContentRequest`, the maximum returned is 2000
1084	// regardless if this is set higher.
1085	MaxFindingsPerRequest int32 `protobuf:"varint,2,opt,name=max_findings_per_request,json=maxFindingsPerRequest,proto3" json:"max_findings_per_request,omitempty"`
1086	// Configuration of findings limit given for specified infoTypes.
1087	MaxFindingsPerInfoType []*InspectConfig_FindingLimits_InfoTypeLimit `protobuf:"bytes,3,rep,name=max_findings_per_info_type,json=maxFindingsPerInfoType,proto3" json:"max_findings_per_info_type,omitempty"`
1088	XXX_NoUnkeyedLiteral   struct{}                                     `json:"-"`
1089	XXX_unrecognized       []byte                                       `json:"-"`
1090	XXX_sizecache          int32                                        `json:"-"`
1091}
1092
1093func (m *InspectConfig_FindingLimits) Reset()         { *m = InspectConfig_FindingLimits{} }
1094func (m *InspectConfig_FindingLimits) String() string { return proto.CompactTextString(m) }
1095func (*InspectConfig_FindingLimits) ProtoMessage()    {}
1096func (*InspectConfig_FindingLimits) Descriptor() ([]byte, []int) {
1097	return fileDescriptor_6872a91dcb80f8dc, []int{4, 0}
1098}
1099
1100func (m *InspectConfig_FindingLimits) XXX_Unmarshal(b []byte) error {
1101	return xxx_messageInfo_InspectConfig_FindingLimits.Unmarshal(m, b)
1102}
1103func (m *InspectConfig_FindingLimits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1104	return xxx_messageInfo_InspectConfig_FindingLimits.Marshal(b, m, deterministic)
1105}
1106func (m *InspectConfig_FindingLimits) XXX_Merge(src proto.Message) {
1107	xxx_messageInfo_InspectConfig_FindingLimits.Merge(m, src)
1108}
1109func (m *InspectConfig_FindingLimits) XXX_Size() int {
1110	return xxx_messageInfo_InspectConfig_FindingLimits.Size(m)
1111}
1112func (m *InspectConfig_FindingLimits) XXX_DiscardUnknown() {
1113	xxx_messageInfo_InspectConfig_FindingLimits.DiscardUnknown(m)
1114}
1115
1116var xxx_messageInfo_InspectConfig_FindingLimits proto.InternalMessageInfo
1117
1118func (m *InspectConfig_FindingLimits) GetMaxFindingsPerItem() int32 {
1119	if m != nil {
1120		return m.MaxFindingsPerItem
1121	}
1122	return 0
1123}
1124
1125func (m *InspectConfig_FindingLimits) GetMaxFindingsPerRequest() int32 {
1126	if m != nil {
1127		return m.MaxFindingsPerRequest
1128	}
1129	return 0
1130}
1131
1132func (m *InspectConfig_FindingLimits) GetMaxFindingsPerInfoType() []*InspectConfig_FindingLimits_InfoTypeLimit {
1133	if m != nil {
1134		return m.MaxFindingsPerInfoType
1135	}
1136	return nil
1137}
1138
1139// Max findings configuration per infoType, per content item or long
1140// running DlpJob.
1141type InspectConfig_FindingLimits_InfoTypeLimit struct {
1142	// Type of information the findings limit applies to. Only one limit per
1143	// info_type should be provided. If InfoTypeLimit does not have an
1144	// info_type, the DLP API applies the limit against all info_types that
1145	// are found but not specified in another InfoTypeLimit.
1146	InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
1147	// Max findings limit for the given infoType.
1148	MaxFindings          int32    `protobuf:"varint,2,opt,name=max_findings,json=maxFindings,proto3" json:"max_findings,omitempty"`
1149	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1150	XXX_unrecognized     []byte   `json:"-"`
1151	XXX_sizecache        int32    `json:"-"`
1152}
1153
1154func (m *InspectConfig_FindingLimits_InfoTypeLimit) Reset() {
1155	*m = InspectConfig_FindingLimits_InfoTypeLimit{}
1156}
1157func (m *InspectConfig_FindingLimits_InfoTypeLimit) String() string { return proto.CompactTextString(m) }
1158func (*InspectConfig_FindingLimits_InfoTypeLimit) ProtoMessage()    {}
1159func (*InspectConfig_FindingLimits_InfoTypeLimit) Descriptor() ([]byte, []int) {
1160	return fileDescriptor_6872a91dcb80f8dc, []int{4, 0, 0}
1161}
1162
1163func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_Unmarshal(b []byte) error {
1164	return xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.Unmarshal(m, b)
1165}
1166func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1167	return xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.Marshal(b, m, deterministic)
1168}
1169func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_Merge(src proto.Message) {
1170	xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.Merge(m, src)
1171}
1172func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_Size() int {
1173	return xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.Size(m)
1174}
1175func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_DiscardUnknown() {
1176	xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.DiscardUnknown(m)
1177}
1178
1179var xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit proto.InternalMessageInfo
1180
1181func (m *InspectConfig_FindingLimits_InfoTypeLimit) GetInfoType() *InfoType {
1182	if m != nil {
1183		return m.InfoType
1184	}
1185	return nil
1186}
1187
1188func (m *InspectConfig_FindingLimits_InfoTypeLimit) GetMaxFindings() int32 {
1189	if m != nil {
1190		return m.MaxFindings
1191	}
1192	return 0
1193}
1194
1195// Container for bytes to inspect or redact.
1196type ByteContentItem struct {
1197	// The type of data stored in the bytes string. Default will be TEXT_UTF8.
1198	Type ByteContentItem_BytesType `protobuf:"varint,1,opt,name=type,proto3,enum=google.privacy.dlp.v2.ByteContentItem_BytesType" json:"type,omitempty"`
1199	// Content data to inspect or redact.
1200	Data                 []byte   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
1201	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1202	XXX_unrecognized     []byte   `json:"-"`
1203	XXX_sizecache        int32    `json:"-"`
1204}
1205
1206func (m *ByteContentItem) Reset()         { *m = ByteContentItem{} }
1207func (m *ByteContentItem) String() string { return proto.CompactTextString(m) }
1208func (*ByteContentItem) ProtoMessage()    {}
1209func (*ByteContentItem) Descriptor() ([]byte, []int) {
1210	return fileDescriptor_6872a91dcb80f8dc, []int{5}
1211}
1212
1213func (m *ByteContentItem) XXX_Unmarshal(b []byte) error {
1214	return xxx_messageInfo_ByteContentItem.Unmarshal(m, b)
1215}
1216func (m *ByteContentItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1217	return xxx_messageInfo_ByteContentItem.Marshal(b, m, deterministic)
1218}
1219func (m *ByteContentItem) XXX_Merge(src proto.Message) {
1220	xxx_messageInfo_ByteContentItem.Merge(m, src)
1221}
1222func (m *ByteContentItem) XXX_Size() int {
1223	return xxx_messageInfo_ByteContentItem.Size(m)
1224}
1225func (m *ByteContentItem) XXX_DiscardUnknown() {
1226	xxx_messageInfo_ByteContentItem.DiscardUnknown(m)
1227}
1228
1229var xxx_messageInfo_ByteContentItem proto.InternalMessageInfo
1230
1231func (m *ByteContentItem) GetType() ByteContentItem_BytesType {
1232	if m != nil {
1233		return m.Type
1234	}
1235	return ByteContentItem_BYTES_TYPE_UNSPECIFIED
1236}
1237
1238func (m *ByteContentItem) GetData() []byte {
1239	if m != nil {
1240		return m.Data
1241	}
1242	return nil
1243}
1244
1245// Container structure for the content to inspect.
1246type ContentItem struct {
1247	// Data of the item either in the byte array or UTF-8 string form, or table.
1248	//
1249	// Types that are valid to be assigned to DataItem:
1250	//	*ContentItem_Value
1251	//	*ContentItem_Table
1252	//	*ContentItem_ByteItem
1253	DataItem             isContentItem_DataItem `protobuf_oneof:"data_item"`
1254	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
1255	XXX_unrecognized     []byte                 `json:"-"`
1256	XXX_sizecache        int32                  `json:"-"`
1257}
1258
1259func (m *ContentItem) Reset()         { *m = ContentItem{} }
1260func (m *ContentItem) String() string { return proto.CompactTextString(m) }
1261func (*ContentItem) ProtoMessage()    {}
1262func (*ContentItem) Descriptor() ([]byte, []int) {
1263	return fileDescriptor_6872a91dcb80f8dc, []int{6}
1264}
1265
1266func (m *ContentItem) XXX_Unmarshal(b []byte) error {
1267	return xxx_messageInfo_ContentItem.Unmarshal(m, b)
1268}
1269func (m *ContentItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1270	return xxx_messageInfo_ContentItem.Marshal(b, m, deterministic)
1271}
1272func (m *ContentItem) XXX_Merge(src proto.Message) {
1273	xxx_messageInfo_ContentItem.Merge(m, src)
1274}
1275func (m *ContentItem) XXX_Size() int {
1276	return xxx_messageInfo_ContentItem.Size(m)
1277}
1278func (m *ContentItem) XXX_DiscardUnknown() {
1279	xxx_messageInfo_ContentItem.DiscardUnknown(m)
1280}
1281
1282var xxx_messageInfo_ContentItem proto.InternalMessageInfo
1283
1284type isContentItem_DataItem interface {
1285	isContentItem_DataItem()
1286}
1287
1288type ContentItem_Value struct {
1289	Value string `protobuf:"bytes,3,opt,name=value,proto3,oneof"`
1290}
1291
1292type ContentItem_Table struct {
1293	Table *Table `protobuf:"bytes,4,opt,name=table,proto3,oneof"`
1294}
1295
1296type ContentItem_ByteItem struct {
1297	ByteItem *ByteContentItem `protobuf:"bytes,5,opt,name=byte_item,json=byteItem,proto3,oneof"`
1298}
1299
1300func (*ContentItem_Value) isContentItem_DataItem() {}
1301
1302func (*ContentItem_Table) isContentItem_DataItem() {}
1303
1304func (*ContentItem_ByteItem) isContentItem_DataItem() {}
1305
1306func (m *ContentItem) GetDataItem() isContentItem_DataItem {
1307	if m != nil {
1308		return m.DataItem
1309	}
1310	return nil
1311}
1312
1313func (m *ContentItem) GetValue() string {
1314	if x, ok := m.GetDataItem().(*ContentItem_Value); ok {
1315		return x.Value
1316	}
1317	return ""
1318}
1319
1320func (m *ContentItem) GetTable() *Table {
1321	if x, ok := m.GetDataItem().(*ContentItem_Table); ok {
1322		return x.Table
1323	}
1324	return nil
1325}
1326
1327func (m *ContentItem) GetByteItem() *ByteContentItem {
1328	if x, ok := m.GetDataItem().(*ContentItem_ByteItem); ok {
1329		return x.ByteItem
1330	}
1331	return nil
1332}
1333
1334// XXX_OneofWrappers is for the internal use of the proto package.
1335func (*ContentItem) XXX_OneofWrappers() []interface{} {
1336	return []interface{}{
1337		(*ContentItem_Value)(nil),
1338		(*ContentItem_Table)(nil),
1339		(*ContentItem_ByteItem)(nil),
1340	}
1341}
1342
1343// Structured content to inspect. Up to 50,000 `Value`s per request allowed.
1344// See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
1345// learn more.
1346type Table struct {
1347	// Headers of the table.
1348	Headers []*FieldId `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
1349	// Rows of the table.
1350	Rows                 []*Table_Row `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"`
1351	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
1352	XXX_unrecognized     []byte       `json:"-"`
1353	XXX_sizecache        int32        `json:"-"`
1354}
1355
1356func (m *Table) Reset()         { *m = Table{} }
1357func (m *Table) String() string { return proto.CompactTextString(m) }
1358func (*Table) ProtoMessage()    {}
1359func (*Table) Descriptor() ([]byte, []int) {
1360	return fileDescriptor_6872a91dcb80f8dc, []int{7}
1361}
1362
1363func (m *Table) XXX_Unmarshal(b []byte) error {
1364	return xxx_messageInfo_Table.Unmarshal(m, b)
1365}
1366func (m *Table) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1367	return xxx_messageInfo_Table.Marshal(b, m, deterministic)
1368}
1369func (m *Table) XXX_Merge(src proto.Message) {
1370	xxx_messageInfo_Table.Merge(m, src)
1371}
1372func (m *Table) XXX_Size() int {
1373	return xxx_messageInfo_Table.Size(m)
1374}
1375func (m *Table) XXX_DiscardUnknown() {
1376	xxx_messageInfo_Table.DiscardUnknown(m)
1377}
1378
1379var xxx_messageInfo_Table proto.InternalMessageInfo
1380
1381func (m *Table) GetHeaders() []*FieldId {
1382	if m != nil {
1383		return m.Headers
1384	}
1385	return nil
1386}
1387
1388func (m *Table) GetRows() []*Table_Row {
1389	if m != nil {
1390		return m.Rows
1391	}
1392	return nil
1393}
1394
1395// Values of the row.
1396type Table_Row struct {
1397	// Individual cells.
1398	Values               []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
1399	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1400	XXX_unrecognized     []byte   `json:"-"`
1401	XXX_sizecache        int32    `json:"-"`
1402}
1403
1404func (m *Table_Row) Reset()         { *m = Table_Row{} }
1405func (m *Table_Row) String() string { return proto.CompactTextString(m) }
1406func (*Table_Row) ProtoMessage()    {}
1407func (*Table_Row) Descriptor() ([]byte, []int) {
1408	return fileDescriptor_6872a91dcb80f8dc, []int{7, 0}
1409}
1410
1411func (m *Table_Row) XXX_Unmarshal(b []byte) error {
1412	return xxx_messageInfo_Table_Row.Unmarshal(m, b)
1413}
1414func (m *Table_Row) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1415	return xxx_messageInfo_Table_Row.Marshal(b, m, deterministic)
1416}
1417func (m *Table_Row) XXX_Merge(src proto.Message) {
1418	xxx_messageInfo_Table_Row.Merge(m, src)
1419}
1420func (m *Table_Row) XXX_Size() int {
1421	return xxx_messageInfo_Table_Row.Size(m)
1422}
1423func (m *Table_Row) XXX_DiscardUnknown() {
1424	xxx_messageInfo_Table_Row.DiscardUnknown(m)
1425}
1426
1427var xxx_messageInfo_Table_Row proto.InternalMessageInfo
1428
1429func (m *Table_Row) GetValues() []*Value {
1430	if m != nil {
1431		return m.Values
1432	}
1433	return nil
1434}
1435
1436// All the findings for a single scanned item.
1437type InspectResult struct {
1438	// List of findings for an item.
1439	Findings []*Finding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"`
1440	// If true, then this item might have more findings than were returned,
1441	// and the findings returned are an arbitrary subset of all findings.
1442	// The findings list might be truncated because the input items were too
1443	// large, or because the server reached the maximum amount of resources
1444	// allowed for a single API call. For best results, divide the input into
1445	// smaller batches.
1446	FindingsTruncated    bool     `protobuf:"varint,2,opt,name=findings_truncated,json=findingsTruncated,proto3" json:"findings_truncated,omitempty"`
1447	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1448	XXX_unrecognized     []byte   `json:"-"`
1449	XXX_sizecache        int32    `json:"-"`
1450}
1451
1452func (m *InspectResult) Reset()         { *m = InspectResult{} }
1453func (m *InspectResult) String() string { return proto.CompactTextString(m) }
1454func (*InspectResult) ProtoMessage()    {}
1455func (*InspectResult) Descriptor() ([]byte, []int) {
1456	return fileDescriptor_6872a91dcb80f8dc, []int{8}
1457}
1458
1459func (m *InspectResult) XXX_Unmarshal(b []byte) error {
1460	return xxx_messageInfo_InspectResult.Unmarshal(m, b)
1461}
1462func (m *InspectResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1463	return xxx_messageInfo_InspectResult.Marshal(b, m, deterministic)
1464}
1465func (m *InspectResult) XXX_Merge(src proto.Message) {
1466	xxx_messageInfo_InspectResult.Merge(m, src)
1467}
1468func (m *InspectResult) XXX_Size() int {
1469	return xxx_messageInfo_InspectResult.Size(m)
1470}
1471func (m *InspectResult) XXX_DiscardUnknown() {
1472	xxx_messageInfo_InspectResult.DiscardUnknown(m)
1473}
1474
1475var xxx_messageInfo_InspectResult proto.InternalMessageInfo
1476
1477func (m *InspectResult) GetFindings() []*Finding {
1478	if m != nil {
1479		return m.Findings
1480	}
1481	return nil
1482}
1483
1484func (m *InspectResult) GetFindingsTruncated() bool {
1485	if m != nil {
1486		return m.FindingsTruncated
1487	}
1488	return false
1489}
1490
1491// Represents a piece of potentially sensitive content.
1492type Finding struct {
1493	// Resource name in format
1494	// projects/{project}/locations/{location}/findings/{finding}
1495	// Populated only when viewing persisted findings.
1496	Name string `protobuf:"bytes,14,opt,name=name,proto3" json:"name,omitempty"`
1497	// The content that was found. Even if the content is not textual, it
1498	// may be converted to a textual representation here.
1499	// Provided if `include_quote` is true and the finding is
1500	// less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes
1501	// in length, the quote may be omitted.
1502	Quote string `protobuf:"bytes,1,opt,name=quote,proto3" json:"quote,omitempty"`
1503	// The type of content that might have been found.
1504	// Provided if `excluded_types` is false.
1505	InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
1506	// Confidence of how likely it is that the `info_type` is correct.
1507	Likelihood Likelihood `protobuf:"varint,3,opt,name=likelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"likelihood,omitempty"`
1508	// Where the content was found.
1509	Location *Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
1510	// Timestamp when finding was detected.
1511	CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
1512	// Contains data parsed from quotes. Only populated if include_quote was set
1513	// to true and a supported infoType was requested. Currently supported
1514	// infoTypes: DATE, DATE_OF_BIRTH and TIME.
1515	QuoteInfo *QuoteInfo `protobuf:"bytes,7,opt,name=quote_info,json=quoteInfo,proto3" json:"quote_info,omitempty"`
1516	// The job that stored the finding.
1517	ResourceName string `protobuf:"bytes,8,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
1518	// Job trigger name, if applicable, for this finding.
1519	// (-- api-linter: core::0122::name-suffix=disabled
1520	//     aip.dev/not-precedent: AIP-122 discourages _name suffixes for
1521	//     resource names, but this has existed as part of the bigquery schema
1522	//     before this rule existed. --)
1523	TriggerName string `protobuf:"bytes,9,opt,name=trigger_name,json=triggerName,proto3" json:"trigger_name,omitempty"`
1524	// The labels associated with this `InspectFinding`.
1525	//
1526	// Label keys must be between 1 and 63 characters long and must conform
1527	// to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
1528	//
1529	// Label values must be between 0 and 63 characters long and must conform
1530	// to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
1531	//
1532	// No more than 10 labels can be associated with a given finding.
1533	//
1534	// Example: <code>"environment" : "production"</code>
1535	// Example: <code>"pipeline" : "etl"</code>
1536	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"`
1537	// Time the job started that produced this finding.
1538	JobCreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=job_create_time,json=jobCreateTime,proto3" json:"job_create_time,omitempty"`
1539	// The job that stored the finding.
1540	// (-- api-linter: core::0122::name-suffix=disabled
1541	//     aip.dev/not-precedent: AIP-122 discourages _name suffixes for
1542	//     resource names, but this has existed as part of the bigquery schema
1543	//     before this rule existed. --)
1544	JobName              string   `protobuf:"bytes,13,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
1545	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1546	XXX_unrecognized     []byte   `json:"-"`
1547	XXX_sizecache        int32    `json:"-"`
1548}
1549
1550func (m *Finding) Reset()         { *m = Finding{} }
1551func (m *Finding) String() string { return proto.CompactTextString(m) }
1552func (*Finding) ProtoMessage()    {}
1553func (*Finding) Descriptor() ([]byte, []int) {
1554	return fileDescriptor_6872a91dcb80f8dc, []int{9}
1555}
1556
1557func (m *Finding) XXX_Unmarshal(b []byte) error {
1558	return xxx_messageInfo_Finding.Unmarshal(m, b)
1559}
1560func (m *Finding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1561	return xxx_messageInfo_Finding.Marshal(b, m, deterministic)
1562}
1563func (m *Finding) XXX_Merge(src proto.Message) {
1564	xxx_messageInfo_Finding.Merge(m, src)
1565}
1566func (m *Finding) XXX_Size() int {
1567	return xxx_messageInfo_Finding.Size(m)
1568}
1569func (m *Finding) XXX_DiscardUnknown() {
1570	xxx_messageInfo_Finding.DiscardUnknown(m)
1571}
1572
1573var xxx_messageInfo_Finding proto.InternalMessageInfo
1574
1575func (m *Finding) GetName() string {
1576	if m != nil {
1577		return m.Name
1578	}
1579	return ""
1580}
1581
1582func (m *Finding) GetQuote() string {
1583	if m != nil {
1584		return m.Quote
1585	}
1586	return ""
1587}
1588
1589func (m *Finding) GetInfoType() *InfoType {
1590	if m != nil {
1591		return m.InfoType
1592	}
1593	return nil
1594}
1595
1596func (m *Finding) GetLikelihood() Likelihood {
1597	if m != nil {
1598		return m.Likelihood
1599	}
1600	return Likelihood_LIKELIHOOD_UNSPECIFIED
1601}
1602
1603func (m *Finding) GetLocation() *Location {
1604	if m != nil {
1605		return m.Location
1606	}
1607	return nil
1608}
1609
1610func (m *Finding) GetCreateTime() *timestamp.Timestamp {
1611	if m != nil {
1612		return m.CreateTime
1613	}
1614	return nil
1615}
1616
1617func (m *Finding) GetQuoteInfo() *QuoteInfo {
1618	if m != nil {
1619		return m.QuoteInfo
1620	}
1621	return nil
1622}
1623
1624func (m *Finding) GetResourceName() string {
1625	if m != nil {
1626		return m.ResourceName
1627	}
1628	return ""
1629}
1630
1631func (m *Finding) GetTriggerName() string {
1632	if m != nil {
1633		return m.TriggerName
1634	}
1635	return ""
1636}
1637
1638func (m *Finding) GetLabels() map[string]string {
1639	if m != nil {
1640		return m.Labels
1641	}
1642	return nil
1643}
1644
1645func (m *Finding) GetJobCreateTime() *timestamp.Timestamp {
1646	if m != nil {
1647		return m.JobCreateTime
1648	}
1649	return nil
1650}
1651
1652func (m *Finding) GetJobName() string {
1653	if m != nil {
1654		return m.JobName
1655	}
1656	return ""
1657}
1658
1659// Specifies the location of the finding.
1660type Location struct {
1661	// Zero-based byte offsets delimiting the finding.
1662	// These are relative to the finding's containing element.
1663	// Note that when the content is not textual, this references
1664	// the UTF-8 encoded textual representation of the content.
1665	// Omitted if content is an image.
1666	ByteRange *Range `protobuf:"bytes,1,opt,name=byte_range,json=byteRange,proto3" json:"byte_range,omitempty"`
1667	// Unicode character offsets delimiting the finding.
1668	// These are relative to the finding's containing element.
1669	// Provided when the content is text.
1670	CodepointRange *Range `protobuf:"bytes,2,opt,name=codepoint_range,json=codepointRange,proto3" json:"codepoint_range,omitempty"`
1671	// List of nested objects pointing to the precise location of the finding
1672	// within the file or record.
1673	ContentLocations []*ContentLocation `protobuf:"bytes,7,rep,name=content_locations,json=contentLocations,proto3" json:"content_locations,omitempty"`
1674	// Information about the container where this finding occurred, if available.
1675	Container            *Container `protobuf:"bytes,8,opt,name=container,proto3" json:"container,omitempty"`
1676	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
1677	XXX_unrecognized     []byte     `json:"-"`
1678	XXX_sizecache        int32      `json:"-"`
1679}
1680
1681func (m *Location) Reset()         { *m = Location{} }
1682func (m *Location) String() string { return proto.CompactTextString(m) }
1683func (*Location) ProtoMessage()    {}
1684func (*Location) Descriptor() ([]byte, []int) {
1685	return fileDescriptor_6872a91dcb80f8dc, []int{10}
1686}
1687
1688func (m *Location) XXX_Unmarshal(b []byte) error {
1689	return xxx_messageInfo_Location.Unmarshal(m, b)
1690}
1691func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1692	return xxx_messageInfo_Location.Marshal(b, m, deterministic)
1693}
1694func (m *Location) XXX_Merge(src proto.Message) {
1695	xxx_messageInfo_Location.Merge(m, src)
1696}
1697func (m *Location) XXX_Size() int {
1698	return xxx_messageInfo_Location.Size(m)
1699}
1700func (m *Location) XXX_DiscardUnknown() {
1701	xxx_messageInfo_Location.DiscardUnknown(m)
1702}
1703
1704var xxx_messageInfo_Location proto.InternalMessageInfo
1705
1706func (m *Location) GetByteRange() *Range {
1707	if m != nil {
1708		return m.ByteRange
1709	}
1710	return nil
1711}
1712
1713func (m *Location) GetCodepointRange() *Range {
1714	if m != nil {
1715		return m.CodepointRange
1716	}
1717	return nil
1718}
1719
1720func (m *Location) GetContentLocations() []*ContentLocation {
1721	if m != nil {
1722		return m.ContentLocations
1723	}
1724	return nil
1725}
1726
1727func (m *Location) GetContainer() *Container {
1728	if m != nil {
1729		return m.Container
1730	}
1731	return nil
1732}
1733
1734// Precise location of the finding within a document, record, image, or metadata
1735// container.
1736type ContentLocation struct {
1737	// Name of the container where the finding is located.
1738	// The top level name is the source file name or table name. Names of some
1739	// common storage containers are formatted as follows:
1740	//
1741	// * BigQuery tables:  `{project_id}:{dataset_id}.{table_id}`
1742	// * Cloud Storage files: `gs://{bucket}/{path}`
1743	// * Datastore namespace: {namespace}
1744	//
1745	// Nested names could be absent if the embedded object has no string
1746	// identifier (for an example an image contained within a document).
1747	ContainerName string `protobuf:"bytes,1,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"`
1748	// Type of the container within the file with location of the finding.
1749	//
1750	// Types that are valid to be assigned to Location:
1751	//	*ContentLocation_RecordLocation
1752	//	*ContentLocation_ImageLocation
1753	//	*ContentLocation_DocumentLocation
1754	Location isContentLocation_Location `protobuf_oneof:"location"`
1755	// Findings container modification timestamp, if applicable.
1756	// For Google Cloud Storage contains last file modification timestamp.
1757	// For BigQuery table contains last_modified_time property.
1758	// For Datastore - not populated.
1759	ContainerTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=container_timestamp,json=containerTimestamp,proto3" json:"container_timestamp,omitempty"`
1760	// Findings container version, if available
1761	// ("generation" for Google Cloud Storage).
1762	ContainerVersion     string   `protobuf:"bytes,7,opt,name=container_version,json=containerVersion,proto3" json:"container_version,omitempty"`
1763	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1764	XXX_unrecognized     []byte   `json:"-"`
1765	XXX_sizecache        int32    `json:"-"`
1766}
1767
1768func (m *ContentLocation) Reset()         { *m = ContentLocation{} }
1769func (m *ContentLocation) String() string { return proto.CompactTextString(m) }
1770func (*ContentLocation) ProtoMessage()    {}
1771func (*ContentLocation) Descriptor() ([]byte, []int) {
1772	return fileDescriptor_6872a91dcb80f8dc, []int{11}
1773}
1774
1775func (m *ContentLocation) XXX_Unmarshal(b []byte) error {
1776	return xxx_messageInfo_ContentLocation.Unmarshal(m, b)
1777}
1778func (m *ContentLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1779	return xxx_messageInfo_ContentLocation.Marshal(b, m, deterministic)
1780}
1781func (m *ContentLocation) XXX_Merge(src proto.Message) {
1782	xxx_messageInfo_ContentLocation.Merge(m, src)
1783}
1784func (m *ContentLocation) XXX_Size() int {
1785	return xxx_messageInfo_ContentLocation.Size(m)
1786}
1787func (m *ContentLocation) XXX_DiscardUnknown() {
1788	xxx_messageInfo_ContentLocation.DiscardUnknown(m)
1789}
1790
1791var xxx_messageInfo_ContentLocation proto.InternalMessageInfo
1792
1793func (m *ContentLocation) GetContainerName() string {
1794	if m != nil {
1795		return m.ContainerName
1796	}
1797	return ""
1798}
1799
1800type isContentLocation_Location interface {
1801	isContentLocation_Location()
1802}
1803
1804type ContentLocation_RecordLocation struct {
1805	RecordLocation *RecordLocation `protobuf:"bytes,2,opt,name=record_location,json=recordLocation,proto3,oneof"`
1806}
1807
1808type ContentLocation_ImageLocation struct {
1809	ImageLocation *ImageLocation `protobuf:"bytes,3,opt,name=image_location,json=imageLocation,proto3,oneof"`
1810}
1811
1812type ContentLocation_DocumentLocation struct {
1813	DocumentLocation *DocumentLocation `protobuf:"bytes,5,opt,name=document_location,json=documentLocation,proto3,oneof"`
1814}
1815
1816func (*ContentLocation_RecordLocation) isContentLocation_Location() {}
1817
1818func (*ContentLocation_ImageLocation) isContentLocation_Location() {}
1819
1820func (*ContentLocation_DocumentLocation) isContentLocation_Location() {}
1821
1822func (m *ContentLocation) GetLocation() isContentLocation_Location {
1823	if m != nil {
1824		return m.Location
1825	}
1826	return nil
1827}
1828
1829func (m *ContentLocation) GetRecordLocation() *RecordLocation {
1830	if x, ok := m.GetLocation().(*ContentLocation_RecordLocation); ok {
1831		return x.RecordLocation
1832	}
1833	return nil
1834}
1835
1836func (m *ContentLocation) GetImageLocation() *ImageLocation {
1837	if x, ok := m.GetLocation().(*ContentLocation_ImageLocation); ok {
1838		return x.ImageLocation
1839	}
1840	return nil
1841}
1842
1843func (m *ContentLocation) GetDocumentLocation() *DocumentLocation {
1844	if x, ok := m.GetLocation().(*ContentLocation_DocumentLocation); ok {
1845		return x.DocumentLocation
1846	}
1847	return nil
1848}
1849
1850func (m *ContentLocation) GetContainerTimestamp() *timestamp.Timestamp {
1851	if m != nil {
1852		return m.ContainerTimestamp
1853	}
1854	return nil
1855}
1856
1857func (m *ContentLocation) GetContainerVersion() string {
1858	if m != nil {
1859		return m.ContainerVersion
1860	}
1861	return ""
1862}
1863
1864// XXX_OneofWrappers is for the internal use of the proto package.
1865func (*ContentLocation) XXX_OneofWrappers() []interface{} {
1866	return []interface{}{
1867		(*ContentLocation_RecordLocation)(nil),
1868		(*ContentLocation_ImageLocation)(nil),
1869		(*ContentLocation_DocumentLocation)(nil),
1870	}
1871}
1872
1873// Location of a finding within a document.
1874type DocumentLocation struct {
1875	// Offset of the line, from the beginning of the file, where the finding
1876	// is located.
1877	FileOffset           int64    `protobuf:"varint,1,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"`
1878	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1879	XXX_unrecognized     []byte   `json:"-"`
1880	XXX_sizecache        int32    `json:"-"`
1881}
1882
1883func (m *DocumentLocation) Reset()         { *m = DocumentLocation{} }
1884func (m *DocumentLocation) String() string { return proto.CompactTextString(m) }
1885func (*DocumentLocation) ProtoMessage()    {}
1886func (*DocumentLocation) Descriptor() ([]byte, []int) {
1887	return fileDescriptor_6872a91dcb80f8dc, []int{12}
1888}
1889
1890func (m *DocumentLocation) XXX_Unmarshal(b []byte) error {
1891	return xxx_messageInfo_DocumentLocation.Unmarshal(m, b)
1892}
1893func (m *DocumentLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1894	return xxx_messageInfo_DocumentLocation.Marshal(b, m, deterministic)
1895}
1896func (m *DocumentLocation) XXX_Merge(src proto.Message) {
1897	xxx_messageInfo_DocumentLocation.Merge(m, src)
1898}
1899func (m *DocumentLocation) XXX_Size() int {
1900	return xxx_messageInfo_DocumentLocation.Size(m)
1901}
1902func (m *DocumentLocation) XXX_DiscardUnknown() {
1903	xxx_messageInfo_DocumentLocation.DiscardUnknown(m)
1904}
1905
1906var xxx_messageInfo_DocumentLocation proto.InternalMessageInfo
1907
1908func (m *DocumentLocation) GetFileOffset() int64 {
1909	if m != nil {
1910		return m.FileOffset
1911	}
1912	return 0
1913}
1914
1915// Location of a finding within a row or record.
1916type RecordLocation struct {
1917	// Key of the finding.
1918	RecordKey *RecordKey `protobuf:"bytes,1,opt,name=record_key,json=recordKey,proto3" json:"record_key,omitempty"`
1919	// Field id of the field containing the finding.
1920	FieldId *FieldId `protobuf:"bytes,2,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
1921	// Location within a `ContentItem.Table`.
1922	TableLocation        *TableLocation `protobuf:"bytes,3,opt,name=table_location,json=tableLocation,proto3" json:"table_location,omitempty"`
1923	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
1924	XXX_unrecognized     []byte         `json:"-"`
1925	XXX_sizecache        int32          `json:"-"`
1926}
1927
1928func (m *RecordLocation) Reset()         { *m = RecordLocation{} }
1929func (m *RecordLocation) String() string { return proto.CompactTextString(m) }
1930func (*RecordLocation) ProtoMessage()    {}
1931func (*RecordLocation) Descriptor() ([]byte, []int) {
1932	return fileDescriptor_6872a91dcb80f8dc, []int{13}
1933}
1934
1935func (m *RecordLocation) XXX_Unmarshal(b []byte) error {
1936	return xxx_messageInfo_RecordLocation.Unmarshal(m, b)
1937}
1938func (m *RecordLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1939	return xxx_messageInfo_RecordLocation.Marshal(b, m, deterministic)
1940}
1941func (m *RecordLocation) XXX_Merge(src proto.Message) {
1942	xxx_messageInfo_RecordLocation.Merge(m, src)
1943}
1944func (m *RecordLocation) XXX_Size() int {
1945	return xxx_messageInfo_RecordLocation.Size(m)
1946}
1947func (m *RecordLocation) XXX_DiscardUnknown() {
1948	xxx_messageInfo_RecordLocation.DiscardUnknown(m)
1949}
1950
1951var xxx_messageInfo_RecordLocation proto.InternalMessageInfo
1952
1953func (m *RecordLocation) GetRecordKey() *RecordKey {
1954	if m != nil {
1955		return m.RecordKey
1956	}
1957	return nil
1958}
1959
1960func (m *RecordLocation) GetFieldId() *FieldId {
1961	if m != nil {
1962		return m.FieldId
1963	}
1964	return nil
1965}
1966
1967func (m *RecordLocation) GetTableLocation() *TableLocation {
1968	if m != nil {
1969		return m.TableLocation
1970	}
1971	return nil
1972}
1973
1974// Location of a finding within a table.
1975type TableLocation struct {
1976	// The zero-based index of the row where the finding is located.
1977	RowIndex             int64    `protobuf:"varint,1,opt,name=row_index,json=rowIndex,proto3" json:"row_index,omitempty"`
1978	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1979	XXX_unrecognized     []byte   `json:"-"`
1980	XXX_sizecache        int32    `json:"-"`
1981}
1982
1983func (m *TableLocation) Reset()         { *m = TableLocation{} }
1984func (m *TableLocation) String() string { return proto.CompactTextString(m) }
1985func (*TableLocation) ProtoMessage()    {}
1986func (*TableLocation) Descriptor() ([]byte, []int) {
1987	return fileDescriptor_6872a91dcb80f8dc, []int{14}
1988}
1989
1990func (m *TableLocation) XXX_Unmarshal(b []byte) error {
1991	return xxx_messageInfo_TableLocation.Unmarshal(m, b)
1992}
1993func (m *TableLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1994	return xxx_messageInfo_TableLocation.Marshal(b, m, deterministic)
1995}
1996func (m *TableLocation) XXX_Merge(src proto.Message) {
1997	xxx_messageInfo_TableLocation.Merge(m, src)
1998}
1999func (m *TableLocation) XXX_Size() int {
2000	return xxx_messageInfo_TableLocation.Size(m)
2001}
2002func (m *TableLocation) XXX_DiscardUnknown() {
2003	xxx_messageInfo_TableLocation.DiscardUnknown(m)
2004}
2005
2006var xxx_messageInfo_TableLocation proto.InternalMessageInfo
2007
2008func (m *TableLocation) GetRowIndex() int64 {
2009	if m != nil {
2010		return m.RowIndex
2011	}
2012	return 0
2013}
2014
2015// Represents a container that may contain DLP findings.
2016// Examples of a container include a file, table, or database record.
2017type Container struct {
2018	// Container type, for example BigQuery or Google Cloud Storage.
2019	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
2020	// Project where the finding was found.
2021	// Can be different from the project that owns the finding.
2022	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
2023	// A string representation of the full container name.
2024	// Examples:
2025	// - BigQuery: 'Project:DataSetId.TableId'
2026	// - Google Cloud Storage: 'gs://Bucket/folders/filename.txt'
2027	FullPath string `protobuf:"bytes,3,opt,name=full_path,json=fullPath,proto3" json:"full_path,omitempty"`
2028	// The root of the container.
2029	// Examples:
2030	// - For BigQuery table `project_id:dataset_id.table_id`, the root is
2031	//  `dataset_id`
2032	// - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root
2033	//  is `gs://bucket`
2034	RootPath string `protobuf:"bytes,4,opt,name=root_path,json=rootPath,proto3" json:"root_path,omitempty"`
2035	// The rest of the path after the root.
2036	// Examples:
2037	// - For BigQuery table `project_id:dataset_id.table_id`, the relative path is
2038	//  `table_id`
2039	// - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative
2040	//  path is `folder/filename.txt`
2041	RelativePath string `protobuf:"bytes,5,opt,name=relative_path,json=relativePath,proto3" json:"relative_path,omitempty"`
2042	// Findings container modification timestamp, if applicable.
2043	// For Google Cloud Storage contains last file modification timestamp.
2044	// For BigQuery table contains last_modified_time property.
2045	// For Datastore - not populated.
2046	UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
2047	// Findings container version, if available
2048	// ("generation" for Google Cloud Storage).
2049	Version              string   `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"`
2050	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2051	XXX_unrecognized     []byte   `json:"-"`
2052	XXX_sizecache        int32    `json:"-"`
2053}
2054
2055func (m *Container) Reset()         { *m = Container{} }
2056func (m *Container) String() string { return proto.CompactTextString(m) }
2057func (*Container) ProtoMessage()    {}
2058func (*Container) Descriptor() ([]byte, []int) {
2059	return fileDescriptor_6872a91dcb80f8dc, []int{15}
2060}
2061
2062func (m *Container) XXX_Unmarshal(b []byte) error {
2063	return xxx_messageInfo_Container.Unmarshal(m, b)
2064}
2065func (m *Container) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2066	return xxx_messageInfo_Container.Marshal(b, m, deterministic)
2067}
2068func (m *Container) XXX_Merge(src proto.Message) {
2069	xxx_messageInfo_Container.Merge(m, src)
2070}
2071func (m *Container) XXX_Size() int {
2072	return xxx_messageInfo_Container.Size(m)
2073}
2074func (m *Container) XXX_DiscardUnknown() {
2075	xxx_messageInfo_Container.DiscardUnknown(m)
2076}
2077
2078var xxx_messageInfo_Container proto.InternalMessageInfo
2079
2080func (m *Container) GetType() string {
2081	if m != nil {
2082		return m.Type
2083	}
2084	return ""
2085}
2086
2087func (m *Container) GetProjectId() string {
2088	if m != nil {
2089		return m.ProjectId
2090	}
2091	return ""
2092}
2093
2094func (m *Container) GetFullPath() string {
2095	if m != nil {
2096		return m.FullPath
2097	}
2098	return ""
2099}
2100
2101func (m *Container) GetRootPath() string {
2102	if m != nil {
2103		return m.RootPath
2104	}
2105	return ""
2106}
2107
2108func (m *Container) GetRelativePath() string {
2109	if m != nil {
2110		return m.RelativePath
2111	}
2112	return ""
2113}
2114
2115func (m *Container) GetUpdateTime() *timestamp.Timestamp {
2116	if m != nil {
2117		return m.UpdateTime
2118	}
2119	return nil
2120}
2121
2122func (m *Container) GetVersion() string {
2123	if m != nil {
2124		return m.Version
2125	}
2126	return ""
2127}
2128
2129// Generic half-open interval [start, end)
2130type Range struct {
2131	// Index of the first character of the range (inclusive).
2132	Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
2133	// Index of the last character of the range (exclusive).
2134	End                  int64    `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
2135	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2136	XXX_unrecognized     []byte   `json:"-"`
2137	XXX_sizecache        int32    `json:"-"`
2138}
2139
2140func (m *Range) Reset()         { *m = Range{} }
2141func (m *Range) String() string { return proto.CompactTextString(m) }
2142func (*Range) ProtoMessage()    {}
2143func (*Range) Descriptor() ([]byte, []int) {
2144	return fileDescriptor_6872a91dcb80f8dc, []int{16}
2145}
2146
2147func (m *Range) XXX_Unmarshal(b []byte) error {
2148	return xxx_messageInfo_Range.Unmarshal(m, b)
2149}
2150func (m *Range) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2151	return xxx_messageInfo_Range.Marshal(b, m, deterministic)
2152}
2153func (m *Range) XXX_Merge(src proto.Message) {
2154	xxx_messageInfo_Range.Merge(m, src)
2155}
2156func (m *Range) XXX_Size() int {
2157	return xxx_messageInfo_Range.Size(m)
2158}
2159func (m *Range) XXX_DiscardUnknown() {
2160	xxx_messageInfo_Range.DiscardUnknown(m)
2161}
2162
2163var xxx_messageInfo_Range proto.InternalMessageInfo
2164
2165func (m *Range) GetStart() int64 {
2166	if m != nil {
2167		return m.Start
2168	}
2169	return 0
2170}
2171
2172func (m *Range) GetEnd() int64 {
2173	if m != nil {
2174		return m.End
2175	}
2176	return 0
2177}
2178
2179// Location of the finding within an image.
2180type ImageLocation struct {
2181	// Bounding boxes locating the pixels within the image containing the finding.
2182	BoundingBoxes        []*BoundingBox `protobuf:"bytes,1,rep,name=bounding_boxes,json=boundingBoxes,proto3" json:"bounding_boxes,omitempty"`
2183	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
2184	XXX_unrecognized     []byte         `json:"-"`
2185	XXX_sizecache        int32          `json:"-"`
2186}
2187
2188func (m *ImageLocation) Reset()         { *m = ImageLocation{} }
2189func (m *ImageLocation) String() string { return proto.CompactTextString(m) }
2190func (*ImageLocation) ProtoMessage()    {}
2191func (*ImageLocation) Descriptor() ([]byte, []int) {
2192	return fileDescriptor_6872a91dcb80f8dc, []int{17}
2193}
2194
2195func (m *ImageLocation) XXX_Unmarshal(b []byte) error {
2196	return xxx_messageInfo_ImageLocation.Unmarshal(m, b)
2197}
2198func (m *ImageLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2199	return xxx_messageInfo_ImageLocation.Marshal(b, m, deterministic)
2200}
2201func (m *ImageLocation) XXX_Merge(src proto.Message) {
2202	xxx_messageInfo_ImageLocation.Merge(m, src)
2203}
2204func (m *ImageLocation) XXX_Size() int {
2205	return xxx_messageInfo_ImageLocation.Size(m)
2206}
2207func (m *ImageLocation) XXX_DiscardUnknown() {
2208	xxx_messageInfo_ImageLocation.DiscardUnknown(m)
2209}
2210
2211var xxx_messageInfo_ImageLocation proto.InternalMessageInfo
2212
2213func (m *ImageLocation) GetBoundingBoxes() []*BoundingBox {
2214	if m != nil {
2215		return m.BoundingBoxes
2216	}
2217	return nil
2218}
2219
2220// Bounding box encompassing detected text within an image.
2221type BoundingBox struct {
2222	// Top coordinate of the bounding box. (0,0) is upper left.
2223	Top int32 `protobuf:"varint,1,opt,name=top,proto3" json:"top,omitempty"`
2224	// Left coordinate of the bounding box. (0,0) is upper left.
2225	Left int32 `protobuf:"varint,2,opt,name=left,proto3" json:"left,omitempty"`
2226	// Width of the bounding box in pixels.
2227	Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
2228	// Height of the bounding box in pixels.
2229	Height               int32    `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
2230	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2231	XXX_unrecognized     []byte   `json:"-"`
2232	XXX_sizecache        int32    `json:"-"`
2233}
2234
2235func (m *BoundingBox) Reset()         { *m = BoundingBox{} }
2236func (m *BoundingBox) String() string { return proto.CompactTextString(m) }
2237func (*BoundingBox) ProtoMessage()    {}
2238func (*BoundingBox) Descriptor() ([]byte, []int) {
2239	return fileDescriptor_6872a91dcb80f8dc, []int{18}
2240}
2241
2242func (m *BoundingBox) XXX_Unmarshal(b []byte) error {
2243	return xxx_messageInfo_BoundingBox.Unmarshal(m, b)
2244}
2245func (m *BoundingBox) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2246	return xxx_messageInfo_BoundingBox.Marshal(b, m, deterministic)
2247}
2248func (m *BoundingBox) XXX_Merge(src proto.Message) {
2249	xxx_messageInfo_BoundingBox.Merge(m, src)
2250}
2251func (m *BoundingBox) XXX_Size() int {
2252	return xxx_messageInfo_BoundingBox.Size(m)
2253}
2254func (m *BoundingBox) XXX_DiscardUnknown() {
2255	xxx_messageInfo_BoundingBox.DiscardUnknown(m)
2256}
2257
2258var xxx_messageInfo_BoundingBox proto.InternalMessageInfo
2259
2260func (m *BoundingBox) GetTop() int32 {
2261	if m != nil {
2262		return m.Top
2263	}
2264	return 0
2265}
2266
2267func (m *BoundingBox) GetLeft() int32 {
2268	if m != nil {
2269		return m.Left
2270	}
2271	return 0
2272}
2273
2274func (m *BoundingBox) GetWidth() int32 {
2275	if m != nil {
2276		return m.Width
2277	}
2278	return 0
2279}
2280
2281func (m *BoundingBox) GetHeight() int32 {
2282	if m != nil {
2283		return m.Height
2284	}
2285	return 0
2286}
2287
2288// Request to search for potentially sensitive info in an image and redact it
2289// by covering it with a colored rectangle.
2290type RedactImageRequest struct {
2291	// The parent resource name, for example projects/my-project-id.
2292	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2293	// The geographic location to process the request. Reserved for future
2294	// extensions.
2295	LocationId string `protobuf:"bytes,8,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
2296	// Configuration for the inspector.
2297	InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
2298	// The configuration for specifying what content to redact from images.
2299	ImageRedactionConfigs []*RedactImageRequest_ImageRedactionConfig `protobuf:"bytes,5,rep,name=image_redaction_configs,json=imageRedactionConfigs,proto3" json:"image_redaction_configs,omitempty"`
2300	// Whether the response should include findings along with the redacted
2301	// image.
2302	IncludeFindings bool `protobuf:"varint,6,opt,name=include_findings,json=includeFindings,proto3" json:"include_findings,omitempty"`
2303	// The content must be PNG, JPEG, SVG or BMP.
2304	ByteItem             *ByteContentItem `protobuf:"bytes,7,opt,name=byte_item,json=byteItem,proto3" json:"byte_item,omitempty"`
2305	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
2306	XXX_unrecognized     []byte           `json:"-"`
2307	XXX_sizecache        int32            `json:"-"`
2308}
2309
2310func (m *RedactImageRequest) Reset()         { *m = RedactImageRequest{} }
2311func (m *RedactImageRequest) String() string { return proto.CompactTextString(m) }
2312func (*RedactImageRequest) ProtoMessage()    {}
2313func (*RedactImageRequest) Descriptor() ([]byte, []int) {
2314	return fileDescriptor_6872a91dcb80f8dc, []int{19}
2315}
2316
2317func (m *RedactImageRequest) XXX_Unmarshal(b []byte) error {
2318	return xxx_messageInfo_RedactImageRequest.Unmarshal(m, b)
2319}
2320func (m *RedactImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2321	return xxx_messageInfo_RedactImageRequest.Marshal(b, m, deterministic)
2322}
2323func (m *RedactImageRequest) XXX_Merge(src proto.Message) {
2324	xxx_messageInfo_RedactImageRequest.Merge(m, src)
2325}
2326func (m *RedactImageRequest) XXX_Size() int {
2327	return xxx_messageInfo_RedactImageRequest.Size(m)
2328}
2329func (m *RedactImageRequest) XXX_DiscardUnknown() {
2330	xxx_messageInfo_RedactImageRequest.DiscardUnknown(m)
2331}
2332
2333var xxx_messageInfo_RedactImageRequest proto.InternalMessageInfo
2334
2335func (m *RedactImageRequest) GetParent() string {
2336	if m != nil {
2337		return m.Parent
2338	}
2339	return ""
2340}
2341
2342func (m *RedactImageRequest) GetLocationId() string {
2343	if m != nil {
2344		return m.LocationId
2345	}
2346	return ""
2347}
2348
2349func (m *RedactImageRequest) GetInspectConfig() *InspectConfig {
2350	if m != nil {
2351		return m.InspectConfig
2352	}
2353	return nil
2354}
2355
2356func (m *RedactImageRequest) GetImageRedactionConfigs() []*RedactImageRequest_ImageRedactionConfig {
2357	if m != nil {
2358		return m.ImageRedactionConfigs
2359	}
2360	return nil
2361}
2362
2363func (m *RedactImageRequest) GetIncludeFindings() bool {
2364	if m != nil {
2365		return m.IncludeFindings
2366	}
2367	return false
2368}
2369
2370func (m *RedactImageRequest) GetByteItem() *ByteContentItem {
2371	if m != nil {
2372		return m.ByteItem
2373	}
2374	return nil
2375}
2376
2377// Configuration for determining how redaction of images should occur.
2378type RedactImageRequest_ImageRedactionConfig struct {
2379	// Type of information to redact from images.
2380	//
2381	// Types that are valid to be assigned to Target:
2382	//	*RedactImageRequest_ImageRedactionConfig_InfoType
2383	//	*RedactImageRequest_ImageRedactionConfig_RedactAllText
2384	Target isRedactImageRequest_ImageRedactionConfig_Target `protobuf_oneof:"target"`
2385	// The color to use when redacting content from an image. If not specified,
2386	// the default is black.
2387	RedactionColor       *Color   `protobuf:"bytes,3,opt,name=redaction_color,json=redactionColor,proto3" json:"redaction_color,omitempty"`
2388	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2389	XXX_unrecognized     []byte   `json:"-"`
2390	XXX_sizecache        int32    `json:"-"`
2391}
2392
2393func (m *RedactImageRequest_ImageRedactionConfig) Reset() {
2394	*m = RedactImageRequest_ImageRedactionConfig{}
2395}
2396func (m *RedactImageRequest_ImageRedactionConfig) String() string { return proto.CompactTextString(m) }
2397func (*RedactImageRequest_ImageRedactionConfig) ProtoMessage()    {}
2398func (*RedactImageRequest_ImageRedactionConfig) Descriptor() ([]byte, []int) {
2399	return fileDescriptor_6872a91dcb80f8dc, []int{19, 0}
2400}
2401
2402func (m *RedactImageRequest_ImageRedactionConfig) XXX_Unmarshal(b []byte) error {
2403	return xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.Unmarshal(m, b)
2404}
2405func (m *RedactImageRequest_ImageRedactionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2406	return xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.Marshal(b, m, deterministic)
2407}
2408func (m *RedactImageRequest_ImageRedactionConfig) XXX_Merge(src proto.Message) {
2409	xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.Merge(m, src)
2410}
2411func (m *RedactImageRequest_ImageRedactionConfig) XXX_Size() int {
2412	return xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.Size(m)
2413}
2414func (m *RedactImageRequest_ImageRedactionConfig) XXX_DiscardUnknown() {
2415	xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.DiscardUnknown(m)
2416}
2417
2418var xxx_messageInfo_RedactImageRequest_ImageRedactionConfig proto.InternalMessageInfo
2419
2420type isRedactImageRequest_ImageRedactionConfig_Target interface {
2421	isRedactImageRequest_ImageRedactionConfig_Target()
2422}
2423
2424type RedactImageRequest_ImageRedactionConfig_InfoType struct {
2425	InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3,oneof"`
2426}
2427
2428type RedactImageRequest_ImageRedactionConfig_RedactAllText struct {
2429	RedactAllText bool `protobuf:"varint,2,opt,name=redact_all_text,json=redactAllText,proto3,oneof"`
2430}
2431
2432func (*RedactImageRequest_ImageRedactionConfig_InfoType) isRedactImageRequest_ImageRedactionConfig_Target() {
2433}
2434
2435func (*RedactImageRequest_ImageRedactionConfig_RedactAllText) isRedactImageRequest_ImageRedactionConfig_Target() {
2436}
2437
2438func (m *RedactImageRequest_ImageRedactionConfig) GetTarget() isRedactImageRequest_ImageRedactionConfig_Target {
2439	if m != nil {
2440		return m.Target
2441	}
2442	return nil
2443}
2444
2445func (m *RedactImageRequest_ImageRedactionConfig) GetInfoType() *InfoType {
2446	if x, ok := m.GetTarget().(*RedactImageRequest_ImageRedactionConfig_InfoType); ok {
2447		return x.InfoType
2448	}
2449	return nil
2450}
2451
2452func (m *RedactImageRequest_ImageRedactionConfig) GetRedactAllText() bool {
2453	if x, ok := m.GetTarget().(*RedactImageRequest_ImageRedactionConfig_RedactAllText); ok {
2454		return x.RedactAllText
2455	}
2456	return false
2457}
2458
2459func (m *RedactImageRequest_ImageRedactionConfig) GetRedactionColor() *Color {
2460	if m != nil {
2461		return m.RedactionColor
2462	}
2463	return nil
2464}
2465
2466// XXX_OneofWrappers is for the internal use of the proto package.
2467func (*RedactImageRequest_ImageRedactionConfig) XXX_OneofWrappers() []interface{} {
2468	return []interface{}{
2469		(*RedactImageRequest_ImageRedactionConfig_InfoType)(nil),
2470		(*RedactImageRequest_ImageRedactionConfig_RedactAllText)(nil),
2471	}
2472}
2473
2474// Represents a color in the RGB color space.
2475type Color struct {
2476	// The amount of red in the color as a value in the interval [0, 1].
2477	Red float32 `protobuf:"fixed32,1,opt,name=red,proto3" json:"red,omitempty"`
2478	// The amount of green in the color as a value in the interval [0, 1].
2479	Green float32 `protobuf:"fixed32,2,opt,name=green,proto3" json:"green,omitempty"`
2480	// The amount of blue in the color as a value in the interval [0, 1].
2481	Blue                 float32  `protobuf:"fixed32,3,opt,name=blue,proto3" json:"blue,omitempty"`
2482	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2483	XXX_unrecognized     []byte   `json:"-"`
2484	XXX_sizecache        int32    `json:"-"`
2485}
2486
2487func (m *Color) Reset()         { *m = Color{} }
2488func (m *Color) String() string { return proto.CompactTextString(m) }
2489func (*Color) ProtoMessage()    {}
2490func (*Color) Descriptor() ([]byte, []int) {
2491	return fileDescriptor_6872a91dcb80f8dc, []int{20}
2492}
2493
2494func (m *Color) XXX_Unmarshal(b []byte) error {
2495	return xxx_messageInfo_Color.Unmarshal(m, b)
2496}
2497func (m *Color) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2498	return xxx_messageInfo_Color.Marshal(b, m, deterministic)
2499}
2500func (m *Color) XXX_Merge(src proto.Message) {
2501	xxx_messageInfo_Color.Merge(m, src)
2502}
2503func (m *Color) XXX_Size() int {
2504	return xxx_messageInfo_Color.Size(m)
2505}
2506func (m *Color) XXX_DiscardUnknown() {
2507	xxx_messageInfo_Color.DiscardUnknown(m)
2508}
2509
2510var xxx_messageInfo_Color proto.InternalMessageInfo
2511
2512func (m *Color) GetRed() float32 {
2513	if m != nil {
2514		return m.Red
2515	}
2516	return 0
2517}
2518
2519func (m *Color) GetGreen() float32 {
2520	if m != nil {
2521		return m.Green
2522	}
2523	return 0
2524}
2525
2526func (m *Color) GetBlue() float32 {
2527	if m != nil {
2528		return m.Blue
2529	}
2530	return 0
2531}
2532
2533// Results of redacting an image.
2534type RedactImageResponse struct {
2535	// The redacted image. The type will be the same as the original image.
2536	RedactedImage []byte `protobuf:"bytes,1,opt,name=redacted_image,json=redactedImage,proto3" json:"redacted_image,omitempty"`
2537	// If an image was being inspected and the InspectConfig's include_quote was
2538	// set to true, then this field will include all text, if any, that was found
2539	// in the image.
2540	ExtractedText string `protobuf:"bytes,2,opt,name=extracted_text,json=extractedText,proto3" json:"extracted_text,omitempty"`
2541	// The findings. Populated when include_findings in the request is true.
2542	InspectResult        *InspectResult `protobuf:"bytes,3,opt,name=inspect_result,json=inspectResult,proto3" json:"inspect_result,omitempty"`
2543	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
2544	XXX_unrecognized     []byte         `json:"-"`
2545	XXX_sizecache        int32          `json:"-"`
2546}
2547
2548func (m *RedactImageResponse) Reset()         { *m = RedactImageResponse{} }
2549func (m *RedactImageResponse) String() string { return proto.CompactTextString(m) }
2550func (*RedactImageResponse) ProtoMessage()    {}
2551func (*RedactImageResponse) Descriptor() ([]byte, []int) {
2552	return fileDescriptor_6872a91dcb80f8dc, []int{21}
2553}
2554
2555func (m *RedactImageResponse) XXX_Unmarshal(b []byte) error {
2556	return xxx_messageInfo_RedactImageResponse.Unmarshal(m, b)
2557}
2558func (m *RedactImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2559	return xxx_messageInfo_RedactImageResponse.Marshal(b, m, deterministic)
2560}
2561func (m *RedactImageResponse) XXX_Merge(src proto.Message) {
2562	xxx_messageInfo_RedactImageResponse.Merge(m, src)
2563}
2564func (m *RedactImageResponse) XXX_Size() int {
2565	return xxx_messageInfo_RedactImageResponse.Size(m)
2566}
2567func (m *RedactImageResponse) XXX_DiscardUnknown() {
2568	xxx_messageInfo_RedactImageResponse.DiscardUnknown(m)
2569}
2570
2571var xxx_messageInfo_RedactImageResponse proto.InternalMessageInfo
2572
2573func (m *RedactImageResponse) GetRedactedImage() []byte {
2574	if m != nil {
2575		return m.RedactedImage
2576	}
2577	return nil
2578}
2579
2580func (m *RedactImageResponse) GetExtractedText() string {
2581	if m != nil {
2582		return m.ExtractedText
2583	}
2584	return ""
2585}
2586
2587func (m *RedactImageResponse) GetInspectResult() *InspectResult {
2588	if m != nil {
2589		return m.InspectResult
2590	}
2591	return nil
2592}
2593
2594// Request to de-identify a list of items.
2595type DeidentifyContentRequest struct {
2596	// The parent resource name, for example projects/my-project-id.
2597	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2598	// Configuration for the de-identification of the content item.
2599	// Items specified here will override the template referenced by the
2600	// deidentify_template_name argument.
2601	DeidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=deidentify_config,json=deidentifyConfig,proto3" json:"deidentify_config,omitempty"`
2602	// Configuration for the inspector.
2603	// Items specified here will override the template referenced by the
2604	// inspect_template_name argument.
2605	InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
2606	// The item to de-identify. Will be treated as text.
2607	Item *ContentItem `protobuf:"bytes,4,opt,name=item,proto3" json:"item,omitempty"`
2608	// Template to use. Any configuration directly specified in
2609	// inspect_config will override those set in the template. Singular fields
2610	// that are set in this request will replace their corresponding fields in the
2611	// template. Repeated fields are appended. Singular sub-messages and groups
2612	// are recursively merged.
2613	InspectTemplateName string `protobuf:"bytes,5,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
2614	// Template to use. Any configuration directly specified in
2615	// deidentify_config will override those set in the template. Singular fields
2616	// that are set in this request will replace their corresponding fields in the
2617	// template. Repeated fields are appended. Singular sub-messages and groups
2618	// are recursively merged.
2619	DeidentifyTemplateName string `protobuf:"bytes,6,opt,name=deidentify_template_name,json=deidentifyTemplateName,proto3" json:"deidentify_template_name,omitempty"`
2620	// The geographic location to process de-identification. Reserved for future
2621	// extensions.
2622	LocationId           string   `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
2623	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2624	XXX_unrecognized     []byte   `json:"-"`
2625	XXX_sizecache        int32    `json:"-"`
2626}
2627
2628func (m *DeidentifyContentRequest) Reset()         { *m = DeidentifyContentRequest{} }
2629func (m *DeidentifyContentRequest) String() string { return proto.CompactTextString(m) }
2630func (*DeidentifyContentRequest) ProtoMessage()    {}
2631func (*DeidentifyContentRequest) Descriptor() ([]byte, []int) {
2632	return fileDescriptor_6872a91dcb80f8dc, []int{22}
2633}
2634
2635func (m *DeidentifyContentRequest) XXX_Unmarshal(b []byte) error {
2636	return xxx_messageInfo_DeidentifyContentRequest.Unmarshal(m, b)
2637}
2638func (m *DeidentifyContentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2639	return xxx_messageInfo_DeidentifyContentRequest.Marshal(b, m, deterministic)
2640}
2641func (m *DeidentifyContentRequest) XXX_Merge(src proto.Message) {
2642	xxx_messageInfo_DeidentifyContentRequest.Merge(m, src)
2643}
2644func (m *DeidentifyContentRequest) XXX_Size() int {
2645	return xxx_messageInfo_DeidentifyContentRequest.Size(m)
2646}
2647func (m *DeidentifyContentRequest) XXX_DiscardUnknown() {
2648	xxx_messageInfo_DeidentifyContentRequest.DiscardUnknown(m)
2649}
2650
2651var xxx_messageInfo_DeidentifyContentRequest proto.InternalMessageInfo
2652
2653func (m *DeidentifyContentRequest) GetParent() string {
2654	if m != nil {
2655		return m.Parent
2656	}
2657	return ""
2658}
2659
2660func (m *DeidentifyContentRequest) GetDeidentifyConfig() *DeidentifyConfig {
2661	if m != nil {
2662		return m.DeidentifyConfig
2663	}
2664	return nil
2665}
2666
2667func (m *DeidentifyContentRequest) GetInspectConfig() *InspectConfig {
2668	if m != nil {
2669		return m.InspectConfig
2670	}
2671	return nil
2672}
2673
2674func (m *DeidentifyContentRequest) GetItem() *ContentItem {
2675	if m != nil {
2676		return m.Item
2677	}
2678	return nil
2679}
2680
2681func (m *DeidentifyContentRequest) GetInspectTemplateName() string {
2682	if m != nil {
2683		return m.InspectTemplateName
2684	}
2685	return ""
2686}
2687
2688func (m *DeidentifyContentRequest) GetDeidentifyTemplateName() string {
2689	if m != nil {
2690		return m.DeidentifyTemplateName
2691	}
2692	return ""
2693}
2694
2695func (m *DeidentifyContentRequest) GetLocationId() string {
2696	if m != nil {
2697		return m.LocationId
2698	}
2699	return ""
2700}
2701
2702// Results of de-identifying a ContentItem.
2703type DeidentifyContentResponse struct {
2704	// The de-identified item.
2705	Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
2706	// An overview of the changes that were made on the `item`.
2707	Overview             *TransformationOverview `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"`
2708	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
2709	XXX_unrecognized     []byte                  `json:"-"`
2710	XXX_sizecache        int32                   `json:"-"`
2711}
2712
2713func (m *DeidentifyContentResponse) Reset()         { *m = DeidentifyContentResponse{} }
2714func (m *DeidentifyContentResponse) String() string { return proto.CompactTextString(m) }
2715func (*DeidentifyContentResponse) ProtoMessage()    {}
2716func (*DeidentifyContentResponse) Descriptor() ([]byte, []int) {
2717	return fileDescriptor_6872a91dcb80f8dc, []int{23}
2718}
2719
2720func (m *DeidentifyContentResponse) XXX_Unmarshal(b []byte) error {
2721	return xxx_messageInfo_DeidentifyContentResponse.Unmarshal(m, b)
2722}
2723func (m *DeidentifyContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2724	return xxx_messageInfo_DeidentifyContentResponse.Marshal(b, m, deterministic)
2725}
2726func (m *DeidentifyContentResponse) XXX_Merge(src proto.Message) {
2727	xxx_messageInfo_DeidentifyContentResponse.Merge(m, src)
2728}
2729func (m *DeidentifyContentResponse) XXX_Size() int {
2730	return xxx_messageInfo_DeidentifyContentResponse.Size(m)
2731}
2732func (m *DeidentifyContentResponse) XXX_DiscardUnknown() {
2733	xxx_messageInfo_DeidentifyContentResponse.DiscardUnknown(m)
2734}
2735
2736var xxx_messageInfo_DeidentifyContentResponse proto.InternalMessageInfo
2737
2738func (m *DeidentifyContentResponse) GetItem() *ContentItem {
2739	if m != nil {
2740		return m.Item
2741	}
2742	return nil
2743}
2744
2745func (m *DeidentifyContentResponse) GetOverview() *TransformationOverview {
2746	if m != nil {
2747		return m.Overview
2748	}
2749	return nil
2750}
2751
2752// Request to re-identify an item.
2753type ReidentifyContentRequest struct {
2754	// Required. The parent resource name.
2755	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2756	// Configuration for the re-identification of the content item.
2757	// This field shares the same proto message type that is used for
2758	// de-identification, however its usage here is for the reversal of the
2759	// previous de-identification. Re-identification is performed by examining
2760	// the transformations used to de-identify the items and executing the
2761	// reverse. This requires that only reversible transformations
2762	// be provided here. The reversible transformations are:
2763	//
2764	//  - `CryptoDeterministicConfig`
2765	//  - `CryptoReplaceFfxFpeConfig`
2766	ReidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=reidentify_config,json=reidentifyConfig,proto3" json:"reidentify_config,omitempty"`
2767	// Configuration for the inspector.
2768	InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
2769	// The item to re-identify. Will be treated as text.
2770	Item *ContentItem `protobuf:"bytes,4,opt,name=item,proto3" json:"item,omitempty"`
2771	// Template to use. Any configuration directly specified in
2772	// `inspect_config` will override those set in the template. Singular fields
2773	// that are set in this request will replace their corresponding fields in the
2774	// template. Repeated fields are appended. Singular sub-messages and groups
2775	// are recursively merged.
2776	InspectTemplateName string `protobuf:"bytes,5,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
2777	// Template to use. References an instance of `DeidentifyTemplate`.
2778	// Any configuration directly specified in `reidentify_config` or
2779	// `inspect_config` will override those set in the template. Singular fields
2780	// that are set in this request will replace their corresponding fields in the
2781	// template. Repeated fields are appended. Singular sub-messages and groups
2782	// are recursively merged.
2783	ReidentifyTemplateName string `protobuf:"bytes,6,opt,name=reidentify_template_name,json=reidentifyTemplateName,proto3" json:"reidentify_template_name,omitempty"`
2784	// The geographic location to process content reidentification.  Reserved for
2785	// future extensions.
2786	LocationId           string   `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
2787	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2788	XXX_unrecognized     []byte   `json:"-"`
2789	XXX_sizecache        int32    `json:"-"`
2790}
2791
2792func (m *ReidentifyContentRequest) Reset()         { *m = ReidentifyContentRequest{} }
2793func (m *ReidentifyContentRequest) String() string { return proto.CompactTextString(m) }
2794func (*ReidentifyContentRequest) ProtoMessage()    {}
2795func (*ReidentifyContentRequest) Descriptor() ([]byte, []int) {
2796	return fileDescriptor_6872a91dcb80f8dc, []int{24}
2797}
2798
2799func (m *ReidentifyContentRequest) XXX_Unmarshal(b []byte) error {
2800	return xxx_messageInfo_ReidentifyContentRequest.Unmarshal(m, b)
2801}
2802func (m *ReidentifyContentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2803	return xxx_messageInfo_ReidentifyContentRequest.Marshal(b, m, deterministic)
2804}
2805func (m *ReidentifyContentRequest) XXX_Merge(src proto.Message) {
2806	xxx_messageInfo_ReidentifyContentRequest.Merge(m, src)
2807}
2808func (m *ReidentifyContentRequest) XXX_Size() int {
2809	return xxx_messageInfo_ReidentifyContentRequest.Size(m)
2810}
2811func (m *ReidentifyContentRequest) XXX_DiscardUnknown() {
2812	xxx_messageInfo_ReidentifyContentRequest.DiscardUnknown(m)
2813}
2814
2815var xxx_messageInfo_ReidentifyContentRequest proto.InternalMessageInfo
2816
2817func (m *ReidentifyContentRequest) GetParent() string {
2818	if m != nil {
2819		return m.Parent
2820	}
2821	return ""
2822}
2823
2824func (m *ReidentifyContentRequest) GetReidentifyConfig() *DeidentifyConfig {
2825	if m != nil {
2826		return m.ReidentifyConfig
2827	}
2828	return nil
2829}
2830
2831func (m *ReidentifyContentRequest) GetInspectConfig() *InspectConfig {
2832	if m != nil {
2833		return m.InspectConfig
2834	}
2835	return nil
2836}
2837
2838func (m *ReidentifyContentRequest) GetItem() *ContentItem {
2839	if m != nil {
2840		return m.Item
2841	}
2842	return nil
2843}
2844
2845func (m *ReidentifyContentRequest) GetInspectTemplateName() string {
2846	if m != nil {
2847		return m.InspectTemplateName
2848	}
2849	return ""
2850}
2851
2852func (m *ReidentifyContentRequest) GetReidentifyTemplateName() string {
2853	if m != nil {
2854		return m.ReidentifyTemplateName
2855	}
2856	return ""
2857}
2858
2859func (m *ReidentifyContentRequest) GetLocationId() string {
2860	if m != nil {
2861		return m.LocationId
2862	}
2863	return ""
2864}
2865
2866// Results of re-identifying a item.
2867type ReidentifyContentResponse struct {
2868	// The re-identified item.
2869	Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
2870	// An overview of the changes that were made to the `item`.
2871	Overview             *TransformationOverview `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"`
2872	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
2873	XXX_unrecognized     []byte                  `json:"-"`
2874	XXX_sizecache        int32                   `json:"-"`
2875}
2876
2877func (m *ReidentifyContentResponse) Reset()         { *m = ReidentifyContentResponse{} }
2878func (m *ReidentifyContentResponse) String() string { return proto.CompactTextString(m) }
2879func (*ReidentifyContentResponse) ProtoMessage()    {}
2880func (*ReidentifyContentResponse) Descriptor() ([]byte, []int) {
2881	return fileDescriptor_6872a91dcb80f8dc, []int{25}
2882}
2883
2884func (m *ReidentifyContentResponse) XXX_Unmarshal(b []byte) error {
2885	return xxx_messageInfo_ReidentifyContentResponse.Unmarshal(m, b)
2886}
2887func (m *ReidentifyContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2888	return xxx_messageInfo_ReidentifyContentResponse.Marshal(b, m, deterministic)
2889}
2890func (m *ReidentifyContentResponse) XXX_Merge(src proto.Message) {
2891	xxx_messageInfo_ReidentifyContentResponse.Merge(m, src)
2892}
2893func (m *ReidentifyContentResponse) XXX_Size() int {
2894	return xxx_messageInfo_ReidentifyContentResponse.Size(m)
2895}
2896func (m *ReidentifyContentResponse) XXX_DiscardUnknown() {
2897	xxx_messageInfo_ReidentifyContentResponse.DiscardUnknown(m)
2898}
2899
2900var xxx_messageInfo_ReidentifyContentResponse proto.InternalMessageInfo
2901
2902func (m *ReidentifyContentResponse) GetItem() *ContentItem {
2903	if m != nil {
2904		return m.Item
2905	}
2906	return nil
2907}
2908
2909func (m *ReidentifyContentResponse) GetOverview() *TransformationOverview {
2910	if m != nil {
2911		return m.Overview
2912	}
2913	return nil
2914}
2915
2916// Request to search for potentially sensitive info in a ContentItem.
2917type InspectContentRequest struct {
2918	// The parent resource name, for example projects/my-project-id.
2919	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2920	// Configuration for the inspector. What specified here will override
2921	// the template referenced by the inspect_template_name argument.
2922	InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
2923	// The item to inspect.
2924	Item *ContentItem `protobuf:"bytes,3,opt,name=item,proto3" json:"item,omitempty"`
2925	// Template to use. Any configuration directly specified in
2926	// inspect_config will override those set in the template. Singular fields
2927	// that are set in this request will replace their corresponding fields in the
2928	// template. Repeated fields are appended. Singular sub-messages and groups
2929	// are recursively merged.
2930	InspectTemplateName string `protobuf:"bytes,4,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
2931	// The geographic location to process content inspection. Reserved for future
2932	// extensions.
2933	LocationId           string   `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
2934	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2935	XXX_unrecognized     []byte   `json:"-"`
2936	XXX_sizecache        int32    `json:"-"`
2937}
2938
2939func (m *InspectContentRequest) Reset()         { *m = InspectContentRequest{} }
2940func (m *InspectContentRequest) String() string { return proto.CompactTextString(m) }
2941func (*InspectContentRequest) ProtoMessage()    {}
2942func (*InspectContentRequest) Descriptor() ([]byte, []int) {
2943	return fileDescriptor_6872a91dcb80f8dc, []int{26}
2944}
2945
2946func (m *InspectContentRequest) XXX_Unmarshal(b []byte) error {
2947	return xxx_messageInfo_InspectContentRequest.Unmarshal(m, b)
2948}
2949func (m *InspectContentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2950	return xxx_messageInfo_InspectContentRequest.Marshal(b, m, deterministic)
2951}
2952func (m *InspectContentRequest) XXX_Merge(src proto.Message) {
2953	xxx_messageInfo_InspectContentRequest.Merge(m, src)
2954}
2955func (m *InspectContentRequest) XXX_Size() int {
2956	return xxx_messageInfo_InspectContentRequest.Size(m)
2957}
2958func (m *InspectContentRequest) XXX_DiscardUnknown() {
2959	xxx_messageInfo_InspectContentRequest.DiscardUnknown(m)
2960}
2961
2962var xxx_messageInfo_InspectContentRequest proto.InternalMessageInfo
2963
2964func (m *InspectContentRequest) GetParent() string {
2965	if m != nil {
2966		return m.Parent
2967	}
2968	return ""
2969}
2970
2971func (m *InspectContentRequest) GetInspectConfig() *InspectConfig {
2972	if m != nil {
2973		return m.InspectConfig
2974	}
2975	return nil
2976}
2977
2978func (m *InspectContentRequest) GetItem() *ContentItem {
2979	if m != nil {
2980		return m.Item
2981	}
2982	return nil
2983}
2984
2985func (m *InspectContentRequest) GetInspectTemplateName() string {
2986	if m != nil {
2987		return m.InspectTemplateName
2988	}
2989	return ""
2990}
2991
2992func (m *InspectContentRequest) GetLocationId() string {
2993	if m != nil {
2994		return m.LocationId
2995	}
2996	return ""
2997}
2998
2999// Results of inspecting an item.
3000type InspectContentResponse struct {
3001	// The findings.
3002	Result               *InspectResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
3003	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
3004	XXX_unrecognized     []byte         `json:"-"`
3005	XXX_sizecache        int32          `json:"-"`
3006}
3007
3008func (m *InspectContentResponse) Reset()         { *m = InspectContentResponse{} }
3009func (m *InspectContentResponse) String() string { return proto.CompactTextString(m) }
3010func (*InspectContentResponse) ProtoMessage()    {}
3011func (*InspectContentResponse) Descriptor() ([]byte, []int) {
3012	return fileDescriptor_6872a91dcb80f8dc, []int{27}
3013}
3014
3015func (m *InspectContentResponse) XXX_Unmarshal(b []byte) error {
3016	return xxx_messageInfo_InspectContentResponse.Unmarshal(m, b)
3017}
3018func (m *InspectContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3019	return xxx_messageInfo_InspectContentResponse.Marshal(b, m, deterministic)
3020}
3021func (m *InspectContentResponse) XXX_Merge(src proto.Message) {
3022	xxx_messageInfo_InspectContentResponse.Merge(m, src)
3023}
3024func (m *InspectContentResponse) XXX_Size() int {
3025	return xxx_messageInfo_InspectContentResponse.Size(m)
3026}
3027func (m *InspectContentResponse) XXX_DiscardUnknown() {
3028	xxx_messageInfo_InspectContentResponse.DiscardUnknown(m)
3029}
3030
3031var xxx_messageInfo_InspectContentResponse proto.InternalMessageInfo
3032
3033func (m *InspectContentResponse) GetResult() *InspectResult {
3034	if m != nil {
3035		return m.Result
3036	}
3037	return nil
3038}
3039
3040// Cloud repository for storing output.
3041type OutputStorageConfig struct {
3042	// Output storage types.
3043	//
3044	// Types that are valid to be assigned to Type:
3045	//	*OutputStorageConfig_Table
3046	Type isOutputStorageConfig_Type `protobuf_oneof:"type"`
3047	// Schema used for writing the findings for Inspect jobs. This field is only
3048	// used for Inspect and must be unspecified for Risk jobs. Columns are derived
3049	// from the `Finding` object. If appending to an existing table, any columns
3050	// from the predefined schema that are missing will be added. No columns in
3051	// the existing table will be deleted.
3052	//
3053	// If unspecified, then all available columns will be used for a new table or
3054	// an (existing) table with no schema, and no changes will be made to an
3055	// existing table that has a schema.
3056	// Only for use with external storage.
3057	OutputSchema         OutputStorageConfig_OutputSchema `protobuf:"varint,3,opt,name=output_schema,json=outputSchema,proto3,enum=google.privacy.dlp.v2.OutputStorageConfig_OutputSchema" json:"output_schema,omitempty"`
3058	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
3059	XXX_unrecognized     []byte                           `json:"-"`
3060	XXX_sizecache        int32                            `json:"-"`
3061}
3062
3063func (m *OutputStorageConfig) Reset()         { *m = OutputStorageConfig{} }
3064func (m *OutputStorageConfig) String() string { return proto.CompactTextString(m) }
3065func (*OutputStorageConfig) ProtoMessage()    {}
3066func (*OutputStorageConfig) Descriptor() ([]byte, []int) {
3067	return fileDescriptor_6872a91dcb80f8dc, []int{28}
3068}
3069
3070func (m *OutputStorageConfig) XXX_Unmarshal(b []byte) error {
3071	return xxx_messageInfo_OutputStorageConfig.Unmarshal(m, b)
3072}
3073func (m *OutputStorageConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3074	return xxx_messageInfo_OutputStorageConfig.Marshal(b, m, deterministic)
3075}
3076func (m *OutputStorageConfig) XXX_Merge(src proto.Message) {
3077	xxx_messageInfo_OutputStorageConfig.Merge(m, src)
3078}
3079func (m *OutputStorageConfig) XXX_Size() int {
3080	return xxx_messageInfo_OutputStorageConfig.Size(m)
3081}
3082func (m *OutputStorageConfig) XXX_DiscardUnknown() {
3083	xxx_messageInfo_OutputStorageConfig.DiscardUnknown(m)
3084}
3085
3086var xxx_messageInfo_OutputStorageConfig proto.InternalMessageInfo
3087
3088type isOutputStorageConfig_Type interface {
3089	isOutputStorageConfig_Type()
3090}
3091
3092type OutputStorageConfig_Table struct {
3093	Table *BigQueryTable `protobuf:"bytes,1,opt,name=table,proto3,oneof"`
3094}
3095
3096func (*OutputStorageConfig_Table) isOutputStorageConfig_Type() {}
3097
3098func (m *OutputStorageConfig) GetType() isOutputStorageConfig_Type {
3099	if m != nil {
3100		return m.Type
3101	}
3102	return nil
3103}
3104
3105func (m *OutputStorageConfig) GetTable() *BigQueryTable {
3106	if x, ok := m.GetType().(*OutputStorageConfig_Table); ok {
3107		return x.Table
3108	}
3109	return nil
3110}
3111
3112func (m *OutputStorageConfig) GetOutputSchema() OutputStorageConfig_OutputSchema {
3113	if m != nil {
3114		return m.OutputSchema
3115	}
3116	return OutputStorageConfig_OUTPUT_SCHEMA_UNSPECIFIED
3117}
3118
3119// XXX_OneofWrappers is for the internal use of the proto package.
3120func (*OutputStorageConfig) XXX_OneofWrappers() []interface{} {
3121	return []interface{}{
3122		(*OutputStorageConfig_Table)(nil),
3123	}
3124}
3125
3126// Statistics regarding a specific InfoType.
3127type InfoTypeStats struct {
3128	// The type of finding this stat is for.
3129	InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
3130	// Number of findings for this infoType.
3131	Count                int64    `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
3132	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3133	XXX_unrecognized     []byte   `json:"-"`
3134	XXX_sizecache        int32    `json:"-"`
3135}
3136
3137func (m *InfoTypeStats) Reset()         { *m = InfoTypeStats{} }
3138func (m *InfoTypeStats) String() string { return proto.CompactTextString(m) }
3139func (*InfoTypeStats) ProtoMessage()    {}
3140func (*InfoTypeStats) Descriptor() ([]byte, []int) {
3141	return fileDescriptor_6872a91dcb80f8dc, []int{29}
3142}
3143
3144func (m *InfoTypeStats) XXX_Unmarshal(b []byte) error {
3145	return xxx_messageInfo_InfoTypeStats.Unmarshal(m, b)
3146}
3147func (m *InfoTypeStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3148	return xxx_messageInfo_InfoTypeStats.Marshal(b, m, deterministic)
3149}
3150func (m *InfoTypeStats) XXX_Merge(src proto.Message) {
3151	xxx_messageInfo_InfoTypeStats.Merge(m, src)
3152}
3153func (m *InfoTypeStats) XXX_Size() int {
3154	return xxx_messageInfo_InfoTypeStats.Size(m)
3155}
3156func (m *InfoTypeStats) XXX_DiscardUnknown() {
3157	xxx_messageInfo_InfoTypeStats.DiscardUnknown(m)
3158}
3159
3160var xxx_messageInfo_InfoTypeStats proto.InternalMessageInfo
3161
3162func (m *InfoTypeStats) GetInfoType() *InfoType {
3163	if m != nil {
3164		return m.InfoType
3165	}
3166	return nil
3167}
3168
3169func (m *InfoTypeStats) GetCount() int64 {
3170	if m != nil {
3171		return m.Count
3172	}
3173	return 0
3174}
3175
3176// The results of an inspect DataSource job.
3177type InspectDataSourceDetails struct {
3178	// The configuration used for this job.
3179	RequestedOptions *InspectDataSourceDetails_RequestedOptions `protobuf:"bytes,2,opt,name=requested_options,json=requestedOptions,proto3" json:"requested_options,omitempty"`
3180	// A summary of the outcome of this inspect job.
3181	Result               *InspectDataSourceDetails_Result `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
3182	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
3183	XXX_unrecognized     []byte                           `json:"-"`
3184	XXX_sizecache        int32                            `json:"-"`
3185}
3186
3187func (m *InspectDataSourceDetails) Reset()         { *m = InspectDataSourceDetails{} }
3188func (m *InspectDataSourceDetails) String() string { return proto.CompactTextString(m) }
3189func (*InspectDataSourceDetails) ProtoMessage()    {}
3190func (*InspectDataSourceDetails) Descriptor() ([]byte, []int) {
3191	return fileDescriptor_6872a91dcb80f8dc, []int{30}
3192}
3193
3194func (m *InspectDataSourceDetails) XXX_Unmarshal(b []byte) error {
3195	return xxx_messageInfo_InspectDataSourceDetails.Unmarshal(m, b)
3196}
3197func (m *InspectDataSourceDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3198	return xxx_messageInfo_InspectDataSourceDetails.Marshal(b, m, deterministic)
3199}
3200func (m *InspectDataSourceDetails) XXX_Merge(src proto.Message) {
3201	xxx_messageInfo_InspectDataSourceDetails.Merge(m, src)
3202}
3203func (m *InspectDataSourceDetails) XXX_Size() int {
3204	return xxx_messageInfo_InspectDataSourceDetails.Size(m)
3205}
3206func (m *InspectDataSourceDetails) XXX_DiscardUnknown() {
3207	xxx_messageInfo_InspectDataSourceDetails.DiscardUnknown(m)
3208}
3209
3210var xxx_messageInfo_InspectDataSourceDetails proto.InternalMessageInfo
3211
3212func (m *InspectDataSourceDetails) GetRequestedOptions() *InspectDataSourceDetails_RequestedOptions {
3213	if m != nil {
3214		return m.RequestedOptions
3215	}
3216	return nil
3217}
3218
3219func (m *InspectDataSourceDetails) GetResult() *InspectDataSourceDetails_Result {
3220	if m != nil {
3221		return m.Result
3222	}
3223	return nil
3224}
3225
3226// Snapshot of the inspection configuration.
3227type InspectDataSourceDetails_RequestedOptions struct {
3228	// If run with an InspectTemplate, a snapshot of its state at the time of
3229	// this run.
3230	SnapshotInspectTemplate *InspectTemplate `protobuf:"bytes,1,opt,name=snapshot_inspect_template,json=snapshotInspectTemplate,proto3" json:"snapshot_inspect_template,omitempty"`
3231	// Inspect config.
3232	JobConfig            *InspectJobConfig `protobuf:"bytes,3,opt,name=job_config,json=jobConfig,proto3" json:"job_config,omitempty"`
3233	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
3234	XXX_unrecognized     []byte            `json:"-"`
3235	XXX_sizecache        int32             `json:"-"`
3236}
3237
3238func (m *InspectDataSourceDetails_RequestedOptions) Reset() {
3239	*m = InspectDataSourceDetails_RequestedOptions{}
3240}
3241func (m *InspectDataSourceDetails_RequestedOptions) String() string { return proto.CompactTextString(m) }
3242func (*InspectDataSourceDetails_RequestedOptions) ProtoMessage()    {}
3243func (*InspectDataSourceDetails_RequestedOptions) Descriptor() ([]byte, []int) {
3244	return fileDescriptor_6872a91dcb80f8dc, []int{30, 0}
3245}
3246
3247func (m *InspectDataSourceDetails_RequestedOptions) XXX_Unmarshal(b []byte) error {
3248	return xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.Unmarshal(m, b)
3249}
3250func (m *InspectDataSourceDetails_RequestedOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3251	return xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.Marshal(b, m, deterministic)
3252}
3253func (m *InspectDataSourceDetails_RequestedOptions) XXX_Merge(src proto.Message) {
3254	xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.Merge(m, src)
3255}
3256func (m *InspectDataSourceDetails_RequestedOptions) XXX_Size() int {
3257	return xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.Size(m)
3258}
3259func (m *InspectDataSourceDetails_RequestedOptions) XXX_DiscardUnknown() {
3260	xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.DiscardUnknown(m)
3261}
3262
3263var xxx_messageInfo_InspectDataSourceDetails_RequestedOptions proto.InternalMessageInfo
3264
3265func (m *InspectDataSourceDetails_RequestedOptions) GetSnapshotInspectTemplate() *InspectTemplate {
3266	if m != nil {
3267		return m.SnapshotInspectTemplate
3268	}
3269	return nil
3270}
3271
3272func (m *InspectDataSourceDetails_RequestedOptions) GetJobConfig() *InspectJobConfig {
3273	if m != nil {
3274		return m.JobConfig
3275	}
3276	return nil
3277}
3278
3279// All result fields mentioned below are updated while the job is processing.
3280type InspectDataSourceDetails_Result struct {
3281	// Total size in bytes that were processed.
3282	ProcessedBytes int64 `protobuf:"varint,1,opt,name=processed_bytes,json=processedBytes,proto3" json:"processed_bytes,omitempty"`
3283	// Estimate of the number of bytes to process.
3284	TotalEstimatedBytes int64 `protobuf:"varint,2,opt,name=total_estimated_bytes,json=totalEstimatedBytes,proto3" json:"total_estimated_bytes,omitempty"`
3285	// Statistics of how many instances of each info type were found during
3286	// inspect job.
3287	InfoTypeStats []*InfoTypeStats `protobuf:"bytes,3,rep,name=info_type_stats,json=infoTypeStats,proto3" json:"info_type_stats,omitempty"`
3288	// Statistics related to the processing of hybrid inspect.
3289	// Early access feature is in a pre-release state and might change or have
3290	// limited support. For more information, see
3291	// https://cloud.google.com/products#product-launch-stages.
3292	HybridStats          *HybridInspectStatistics `protobuf:"bytes,7,opt,name=hybrid_stats,json=hybridStats,proto3" json:"hybrid_stats,omitempty"`
3293	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
3294	XXX_unrecognized     []byte                   `json:"-"`
3295	XXX_sizecache        int32                    `json:"-"`
3296}
3297
3298func (m *InspectDataSourceDetails_Result) Reset()         { *m = InspectDataSourceDetails_Result{} }
3299func (m *InspectDataSourceDetails_Result) String() string { return proto.CompactTextString(m) }
3300func (*InspectDataSourceDetails_Result) ProtoMessage()    {}
3301func (*InspectDataSourceDetails_Result) Descriptor() ([]byte, []int) {
3302	return fileDescriptor_6872a91dcb80f8dc, []int{30, 1}
3303}
3304
3305func (m *InspectDataSourceDetails_Result) XXX_Unmarshal(b []byte) error {
3306	return xxx_messageInfo_InspectDataSourceDetails_Result.Unmarshal(m, b)
3307}
3308func (m *InspectDataSourceDetails_Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3309	return xxx_messageInfo_InspectDataSourceDetails_Result.Marshal(b, m, deterministic)
3310}
3311func (m *InspectDataSourceDetails_Result) XXX_Merge(src proto.Message) {
3312	xxx_messageInfo_InspectDataSourceDetails_Result.Merge(m, src)
3313}
3314func (m *InspectDataSourceDetails_Result) XXX_Size() int {
3315	return xxx_messageInfo_InspectDataSourceDetails_Result.Size(m)
3316}
3317func (m *InspectDataSourceDetails_Result) XXX_DiscardUnknown() {
3318	xxx_messageInfo_InspectDataSourceDetails_Result.DiscardUnknown(m)
3319}
3320
3321var xxx_messageInfo_InspectDataSourceDetails_Result proto.InternalMessageInfo
3322
3323func (m *InspectDataSourceDetails_Result) GetProcessedBytes() int64 {
3324	if m != nil {
3325		return m.ProcessedBytes
3326	}
3327	return 0
3328}
3329
3330func (m *InspectDataSourceDetails_Result) GetTotalEstimatedBytes() int64 {
3331	if m != nil {
3332		return m.TotalEstimatedBytes
3333	}
3334	return 0
3335}
3336
3337func (m *InspectDataSourceDetails_Result) GetInfoTypeStats() []*InfoTypeStats {
3338	if m != nil {
3339		return m.InfoTypeStats
3340	}
3341	return nil
3342}
3343
3344func (m *InspectDataSourceDetails_Result) GetHybridStats() *HybridInspectStatistics {
3345	if m != nil {
3346		return m.HybridStats
3347	}
3348	return nil
3349}
3350
3351// Statistics related to processing hybrid inspect requests.s
3352type HybridInspectStatistics struct {
3353	// The number of hybrid inspection requests processed within this job.
3354	ProcessedCount int64 `protobuf:"varint,1,opt,name=processed_count,json=processedCount,proto3" json:"processed_count,omitempty"`
3355	// The number of hybrid inspection requests aborted because the job ran
3356	// out of quota or was ended before they could be processed.
3357	AbortedCount int64 `protobuf:"varint,2,opt,name=aborted_count,json=abortedCount,proto3" json:"aborted_count,omitempty"`
3358	// The number of hybrid requests currently being processed. Only populated
3359	// when called via method `getDlpJob`.
3360	// A burst of traffic may cause hybrid inspect requests to be enqueued.
3361	// Processing will take place as quickly as possible, but resource limitations
3362	// may impact how long a request is enqueued for.
3363	PendingCount         int64    `protobuf:"varint,3,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"`
3364	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3365	XXX_unrecognized     []byte   `json:"-"`
3366	XXX_sizecache        int32    `json:"-"`
3367}
3368
3369func (m *HybridInspectStatistics) Reset()         { *m = HybridInspectStatistics{} }
3370func (m *HybridInspectStatistics) String() string { return proto.CompactTextString(m) }
3371func (*HybridInspectStatistics) ProtoMessage()    {}
3372func (*HybridInspectStatistics) Descriptor() ([]byte, []int) {
3373	return fileDescriptor_6872a91dcb80f8dc, []int{31}
3374}
3375
3376func (m *HybridInspectStatistics) XXX_Unmarshal(b []byte) error {
3377	return xxx_messageInfo_HybridInspectStatistics.Unmarshal(m, b)
3378}
3379func (m *HybridInspectStatistics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3380	return xxx_messageInfo_HybridInspectStatistics.Marshal(b, m, deterministic)
3381}
3382func (m *HybridInspectStatistics) XXX_Merge(src proto.Message) {
3383	xxx_messageInfo_HybridInspectStatistics.Merge(m, src)
3384}
3385func (m *HybridInspectStatistics) XXX_Size() int {
3386	return xxx_messageInfo_HybridInspectStatistics.Size(m)
3387}
3388func (m *HybridInspectStatistics) XXX_DiscardUnknown() {
3389	xxx_messageInfo_HybridInspectStatistics.DiscardUnknown(m)
3390}
3391
3392var xxx_messageInfo_HybridInspectStatistics proto.InternalMessageInfo
3393
3394func (m *HybridInspectStatistics) GetProcessedCount() int64 {
3395	if m != nil {
3396		return m.ProcessedCount
3397	}
3398	return 0
3399}
3400
3401func (m *HybridInspectStatistics) GetAbortedCount() int64 {
3402	if m != nil {
3403		return m.AbortedCount
3404	}
3405	return 0
3406}
3407
3408func (m *HybridInspectStatistics) GetPendingCount() int64 {
3409	if m != nil {
3410		return m.PendingCount
3411	}
3412	return 0
3413}
3414
3415// InfoType description.
3416type InfoTypeDescription struct {
3417	// Internal name of the infoType.
3418	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3419	// Human readable form of the infoType name.
3420	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
3421	// Which parts of the API supports this InfoType.
3422	SupportedBy []InfoTypeSupportedBy `protobuf:"varint,3,rep,packed,name=supported_by,json=supportedBy,proto3,enum=google.privacy.dlp.v2.InfoTypeSupportedBy" json:"supported_by,omitempty"`
3423	// Description of the infotype. Translated when language is provided in the
3424	// request.
3425	Description          string   `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
3426	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3427	XXX_unrecognized     []byte   `json:"-"`
3428	XXX_sizecache        int32    `json:"-"`
3429}
3430
3431func (m *InfoTypeDescription) Reset()         { *m = InfoTypeDescription{} }
3432func (m *InfoTypeDescription) String() string { return proto.CompactTextString(m) }
3433func (*InfoTypeDescription) ProtoMessage()    {}
3434func (*InfoTypeDescription) Descriptor() ([]byte, []int) {
3435	return fileDescriptor_6872a91dcb80f8dc, []int{32}
3436}
3437
3438func (m *InfoTypeDescription) XXX_Unmarshal(b []byte) error {
3439	return xxx_messageInfo_InfoTypeDescription.Unmarshal(m, b)
3440}
3441func (m *InfoTypeDescription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3442	return xxx_messageInfo_InfoTypeDescription.Marshal(b, m, deterministic)
3443}
3444func (m *InfoTypeDescription) XXX_Merge(src proto.Message) {
3445	xxx_messageInfo_InfoTypeDescription.Merge(m, src)
3446}
3447func (m *InfoTypeDescription) XXX_Size() int {
3448	return xxx_messageInfo_InfoTypeDescription.Size(m)
3449}
3450func (m *InfoTypeDescription) XXX_DiscardUnknown() {
3451	xxx_messageInfo_InfoTypeDescription.DiscardUnknown(m)
3452}
3453
3454var xxx_messageInfo_InfoTypeDescription proto.InternalMessageInfo
3455
3456func (m *InfoTypeDescription) GetName() string {
3457	if m != nil {
3458		return m.Name
3459	}
3460	return ""
3461}
3462
3463func (m *InfoTypeDescription) GetDisplayName() string {
3464	if m != nil {
3465		return m.DisplayName
3466	}
3467	return ""
3468}
3469
3470func (m *InfoTypeDescription) GetSupportedBy() []InfoTypeSupportedBy {
3471	if m != nil {
3472		return m.SupportedBy
3473	}
3474	return nil
3475}
3476
3477func (m *InfoTypeDescription) GetDescription() string {
3478	if m != nil {
3479		return m.Description
3480	}
3481	return ""
3482}
3483
3484// Request for the list of infoTypes.
3485type ListInfoTypesRequest struct {
3486	// BCP-47 language code for localized infoType friendly
3487	// names. If omitted, or if localized strings are not available,
3488	// en-US strings will be returned.
3489	LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
3490	// filter to only return infoTypes supported by certain parts of the
3491	// API. Defaults to supported_by=INSPECT.
3492	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
3493	// The geographic location to list info types. Reserved for future
3494	// extensions.
3495	LocationId           string   `protobuf:"bytes,3,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
3496	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3497	XXX_unrecognized     []byte   `json:"-"`
3498	XXX_sizecache        int32    `json:"-"`
3499}
3500
3501func (m *ListInfoTypesRequest) Reset()         { *m = ListInfoTypesRequest{} }
3502func (m *ListInfoTypesRequest) String() string { return proto.CompactTextString(m) }
3503func (*ListInfoTypesRequest) ProtoMessage()    {}
3504func (*ListInfoTypesRequest) Descriptor() ([]byte, []int) {
3505	return fileDescriptor_6872a91dcb80f8dc, []int{33}
3506}
3507
3508func (m *ListInfoTypesRequest) XXX_Unmarshal(b []byte) error {
3509	return xxx_messageInfo_ListInfoTypesRequest.Unmarshal(m, b)
3510}
3511func (m *ListInfoTypesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3512	return xxx_messageInfo_ListInfoTypesRequest.Marshal(b, m, deterministic)
3513}
3514func (m *ListInfoTypesRequest) XXX_Merge(src proto.Message) {
3515	xxx_messageInfo_ListInfoTypesRequest.Merge(m, src)
3516}
3517func (m *ListInfoTypesRequest) XXX_Size() int {
3518	return xxx_messageInfo_ListInfoTypesRequest.Size(m)
3519}
3520func (m *ListInfoTypesRequest) XXX_DiscardUnknown() {
3521	xxx_messageInfo_ListInfoTypesRequest.DiscardUnknown(m)
3522}
3523
3524var xxx_messageInfo_ListInfoTypesRequest proto.InternalMessageInfo
3525
3526func (m *ListInfoTypesRequest) GetLanguageCode() string {
3527	if m != nil {
3528		return m.LanguageCode
3529	}
3530	return ""
3531}
3532
3533func (m *ListInfoTypesRequest) GetFilter() string {
3534	if m != nil {
3535		return m.Filter
3536	}
3537	return ""
3538}
3539
3540func (m *ListInfoTypesRequest) GetLocationId() string {
3541	if m != nil {
3542		return m.LocationId
3543	}
3544	return ""
3545}
3546
3547// Response to the ListInfoTypes request.
3548type ListInfoTypesResponse struct {
3549	// Set of sensitive infoTypes.
3550	InfoTypes            []*InfoTypeDescription `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
3551	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
3552	XXX_unrecognized     []byte                 `json:"-"`
3553	XXX_sizecache        int32                  `json:"-"`
3554}
3555
3556func (m *ListInfoTypesResponse) Reset()         { *m = ListInfoTypesResponse{} }
3557func (m *ListInfoTypesResponse) String() string { return proto.CompactTextString(m) }
3558func (*ListInfoTypesResponse) ProtoMessage()    {}
3559func (*ListInfoTypesResponse) Descriptor() ([]byte, []int) {
3560	return fileDescriptor_6872a91dcb80f8dc, []int{34}
3561}
3562
3563func (m *ListInfoTypesResponse) XXX_Unmarshal(b []byte) error {
3564	return xxx_messageInfo_ListInfoTypesResponse.Unmarshal(m, b)
3565}
3566func (m *ListInfoTypesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3567	return xxx_messageInfo_ListInfoTypesResponse.Marshal(b, m, deterministic)
3568}
3569func (m *ListInfoTypesResponse) XXX_Merge(src proto.Message) {
3570	xxx_messageInfo_ListInfoTypesResponse.Merge(m, src)
3571}
3572func (m *ListInfoTypesResponse) XXX_Size() int {
3573	return xxx_messageInfo_ListInfoTypesResponse.Size(m)
3574}
3575func (m *ListInfoTypesResponse) XXX_DiscardUnknown() {
3576	xxx_messageInfo_ListInfoTypesResponse.DiscardUnknown(m)
3577}
3578
3579var xxx_messageInfo_ListInfoTypesResponse proto.InternalMessageInfo
3580
3581func (m *ListInfoTypesResponse) GetInfoTypes() []*InfoTypeDescription {
3582	if m != nil {
3583		return m.InfoTypes
3584	}
3585	return nil
3586}
3587
3588// Configuration for a risk analysis job. See
3589// https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more.
3590type RiskAnalysisJobConfig struct {
3591	// Privacy metric to compute.
3592	PrivacyMetric *PrivacyMetric `protobuf:"bytes,1,opt,name=privacy_metric,json=privacyMetric,proto3" json:"privacy_metric,omitempty"`
3593	// Input dataset to compute metrics over.
3594	SourceTable *BigQueryTable `protobuf:"bytes,2,opt,name=source_table,json=sourceTable,proto3" json:"source_table,omitempty"`
3595	// Actions to execute at the completion of the job. Are executed in the order
3596	// provided.
3597	Actions              []*Action `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
3598	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
3599	XXX_unrecognized     []byte    `json:"-"`
3600	XXX_sizecache        int32     `json:"-"`
3601}
3602
3603func (m *RiskAnalysisJobConfig) Reset()         { *m = RiskAnalysisJobConfig{} }
3604func (m *RiskAnalysisJobConfig) String() string { return proto.CompactTextString(m) }
3605func (*RiskAnalysisJobConfig) ProtoMessage()    {}
3606func (*RiskAnalysisJobConfig) Descriptor() ([]byte, []int) {
3607	return fileDescriptor_6872a91dcb80f8dc, []int{35}
3608}
3609
3610func (m *RiskAnalysisJobConfig) XXX_Unmarshal(b []byte) error {
3611	return xxx_messageInfo_RiskAnalysisJobConfig.Unmarshal(m, b)
3612}
3613func (m *RiskAnalysisJobConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3614	return xxx_messageInfo_RiskAnalysisJobConfig.Marshal(b, m, deterministic)
3615}
3616func (m *RiskAnalysisJobConfig) XXX_Merge(src proto.Message) {
3617	xxx_messageInfo_RiskAnalysisJobConfig.Merge(m, src)
3618}
3619func (m *RiskAnalysisJobConfig) XXX_Size() int {
3620	return xxx_messageInfo_RiskAnalysisJobConfig.Size(m)
3621}
3622func (m *RiskAnalysisJobConfig) XXX_DiscardUnknown() {
3623	xxx_messageInfo_RiskAnalysisJobConfig.DiscardUnknown(m)
3624}
3625
3626var xxx_messageInfo_RiskAnalysisJobConfig proto.InternalMessageInfo
3627
3628func (m *RiskAnalysisJobConfig) GetPrivacyMetric() *PrivacyMetric {
3629	if m != nil {
3630		return m.PrivacyMetric
3631	}
3632	return nil
3633}
3634
3635func (m *RiskAnalysisJobConfig) GetSourceTable() *BigQueryTable {
3636	if m != nil {
3637		return m.SourceTable
3638	}
3639	return nil
3640}
3641
3642func (m *RiskAnalysisJobConfig) GetActions() []*Action {
3643	if m != nil {
3644		return m.Actions
3645	}
3646	return nil
3647}
3648
3649// A column with a semantic tag attached.
3650type QuasiId struct {
3651	// Required. Identifies the column.
3652	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
3653	// Semantic tag that identifies what a column contains, to determine which
3654	// statistical model to use to estimate the reidentifiability of each
3655	// value. [required]
3656	//
3657	// Types that are valid to be assigned to Tag:
3658	//	*QuasiId_InfoType
3659	//	*QuasiId_CustomTag
3660	//	*QuasiId_Inferred
3661	Tag                  isQuasiId_Tag `protobuf_oneof:"tag"`
3662	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
3663	XXX_unrecognized     []byte        `json:"-"`
3664	XXX_sizecache        int32         `json:"-"`
3665}
3666
3667func (m *QuasiId) Reset()         { *m = QuasiId{} }
3668func (m *QuasiId) String() string { return proto.CompactTextString(m) }
3669func (*QuasiId) ProtoMessage()    {}
3670func (*QuasiId) Descriptor() ([]byte, []int) {
3671	return fileDescriptor_6872a91dcb80f8dc, []int{36}
3672}
3673
3674func (m *QuasiId) XXX_Unmarshal(b []byte) error {
3675	return xxx_messageInfo_QuasiId.Unmarshal(m, b)
3676}
3677func (m *QuasiId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3678	return xxx_messageInfo_QuasiId.Marshal(b, m, deterministic)
3679}
3680func (m *QuasiId) XXX_Merge(src proto.Message) {
3681	xxx_messageInfo_QuasiId.Merge(m, src)
3682}
3683func (m *QuasiId) XXX_Size() int {
3684	return xxx_messageInfo_QuasiId.Size(m)
3685}
3686func (m *QuasiId) XXX_DiscardUnknown() {
3687	xxx_messageInfo_QuasiId.DiscardUnknown(m)
3688}
3689
3690var xxx_messageInfo_QuasiId proto.InternalMessageInfo
3691
3692func (m *QuasiId) GetField() *FieldId {
3693	if m != nil {
3694		return m.Field
3695	}
3696	return nil
3697}
3698
3699type isQuasiId_Tag interface {
3700	isQuasiId_Tag()
3701}
3702
3703type QuasiId_InfoType struct {
3704	InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3,oneof"`
3705}
3706
3707type QuasiId_CustomTag struct {
3708	CustomTag string `protobuf:"bytes,3,opt,name=custom_tag,json=customTag,proto3,oneof"`
3709}
3710
3711type QuasiId_Inferred struct {
3712	Inferred *empty.Empty `protobuf:"bytes,4,opt,name=inferred,proto3,oneof"`
3713}
3714
3715func (*QuasiId_InfoType) isQuasiId_Tag() {}
3716
3717func (*QuasiId_CustomTag) isQuasiId_Tag() {}
3718
3719func (*QuasiId_Inferred) isQuasiId_Tag() {}
3720
3721func (m *QuasiId) GetTag() isQuasiId_Tag {
3722	if m != nil {
3723		return m.Tag
3724	}
3725	return nil
3726}
3727
3728func (m *QuasiId) GetInfoType() *InfoType {
3729	if x, ok := m.GetTag().(*QuasiId_InfoType); ok {
3730		return x.InfoType
3731	}
3732	return nil
3733}
3734
3735func (m *QuasiId) GetCustomTag() string {
3736	if x, ok := m.GetTag().(*QuasiId_CustomTag); ok {
3737		return x.CustomTag
3738	}
3739	return ""
3740}
3741
3742func (m *QuasiId) GetInferred() *empty.Empty {
3743	if x, ok := m.GetTag().(*QuasiId_Inferred); ok {
3744		return x.Inferred
3745	}
3746	return nil
3747}
3748
3749// XXX_OneofWrappers is for the internal use of the proto package.
3750func (*QuasiId) XXX_OneofWrappers() []interface{} {
3751	return []interface{}{
3752		(*QuasiId_InfoType)(nil),
3753		(*QuasiId_CustomTag)(nil),
3754		(*QuasiId_Inferred)(nil),
3755	}
3756}
3757
3758// An auxiliary table containing statistical information on the relative
3759// frequency of different quasi-identifiers values. It has one or several
3760// quasi-identifiers columns, and one column that indicates the relative
3761// frequency of each quasi-identifier tuple.
3762// If a tuple is present in the data but not in the auxiliary table, the
3763// corresponding relative frequency is assumed to be zero (and thus, the
3764// tuple is highly reidentifiable).
3765type StatisticalTable struct {
3766	// Required. Auxiliary table location.
3767	Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"`
3768	// Required. Quasi-identifier columns.
3769	QuasiIds []*StatisticalTable_QuasiIdentifierField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
3770	// Required. The relative frequency column must contain a floating-point
3771	// number between 0 and 1 (inclusive). Null values are assumed to be zero.
3772	RelativeFrequency    *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"`
3773	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3774	XXX_unrecognized     []byte   `json:"-"`
3775	XXX_sizecache        int32    `json:"-"`
3776}
3777
3778func (m *StatisticalTable) Reset()         { *m = StatisticalTable{} }
3779func (m *StatisticalTable) String() string { return proto.CompactTextString(m) }
3780func (*StatisticalTable) ProtoMessage()    {}
3781func (*StatisticalTable) Descriptor() ([]byte, []int) {
3782	return fileDescriptor_6872a91dcb80f8dc, []int{37}
3783}
3784
3785func (m *StatisticalTable) XXX_Unmarshal(b []byte) error {
3786	return xxx_messageInfo_StatisticalTable.Unmarshal(m, b)
3787}
3788func (m *StatisticalTable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3789	return xxx_messageInfo_StatisticalTable.Marshal(b, m, deterministic)
3790}
3791func (m *StatisticalTable) XXX_Merge(src proto.Message) {
3792	xxx_messageInfo_StatisticalTable.Merge(m, src)
3793}
3794func (m *StatisticalTable) XXX_Size() int {
3795	return xxx_messageInfo_StatisticalTable.Size(m)
3796}
3797func (m *StatisticalTable) XXX_DiscardUnknown() {
3798	xxx_messageInfo_StatisticalTable.DiscardUnknown(m)
3799}
3800
3801var xxx_messageInfo_StatisticalTable proto.InternalMessageInfo
3802
3803func (m *StatisticalTable) GetTable() *BigQueryTable {
3804	if m != nil {
3805		return m.Table
3806	}
3807	return nil
3808}
3809
3810func (m *StatisticalTable) GetQuasiIds() []*StatisticalTable_QuasiIdentifierField {
3811	if m != nil {
3812		return m.QuasiIds
3813	}
3814	return nil
3815}
3816
3817func (m *StatisticalTable) GetRelativeFrequency() *FieldId {
3818	if m != nil {
3819		return m.RelativeFrequency
3820	}
3821	return nil
3822}
3823
3824// A quasi-identifier column has a custom_tag, used to know which column
3825// in the data corresponds to which column in the statistical model.
3826type StatisticalTable_QuasiIdentifierField struct {
3827	// Identifies the column.
3828	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
3829	// A column can be tagged with a custom tag. In this case, the user must
3830	// indicate an auxiliary table that contains statistical information on
3831	// the possible values of this column (below).
3832	CustomTag            string   `protobuf:"bytes,2,opt,name=custom_tag,json=customTag,proto3" json:"custom_tag,omitempty"`
3833	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3834	XXX_unrecognized     []byte   `json:"-"`
3835	XXX_sizecache        int32    `json:"-"`
3836}
3837
3838func (m *StatisticalTable_QuasiIdentifierField) Reset()         { *m = StatisticalTable_QuasiIdentifierField{} }
3839func (m *StatisticalTable_QuasiIdentifierField) String() string { return proto.CompactTextString(m) }
3840func (*StatisticalTable_QuasiIdentifierField) ProtoMessage()    {}
3841func (*StatisticalTable_QuasiIdentifierField) Descriptor() ([]byte, []int) {
3842	return fileDescriptor_6872a91dcb80f8dc, []int{37, 0}
3843}
3844
3845func (m *StatisticalTable_QuasiIdentifierField) XXX_Unmarshal(b []byte) error {
3846	return xxx_messageInfo_StatisticalTable_QuasiIdentifierField.Unmarshal(m, b)
3847}
3848func (m *StatisticalTable_QuasiIdentifierField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3849	return xxx_messageInfo_StatisticalTable_QuasiIdentifierField.Marshal(b, m, deterministic)
3850}
3851func (m *StatisticalTable_QuasiIdentifierField) XXX_Merge(src proto.Message) {
3852	xxx_messageInfo_StatisticalTable_QuasiIdentifierField.Merge(m, src)
3853}
3854func (m *StatisticalTable_QuasiIdentifierField) XXX_Size() int {
3855	return xxx_messageInfo_StatisticalTable_QuasiIdentifierField.Size(m)
3856}
3857func (m *StatisticalTable_QuasiIdentifierField) XXX_DiscardUnknown() {
3858	xxx_messageInfo_StatisticalTable_QuasiIdentifierField.DiscardUnknown(m)
3859}
3860
3861var xxx_messageInfo_StatisticalTable_QuasiIdentifierField proto.InternalMessageInfo
3862
3863func (m *StatisticalTable_QuasiIdentifierField) GetField() *FieldId {
3864	if m != nil {
3865		return m.Field
3866	}
3867	return nil
3868}
3869
3870func (m *StatisticalTable_QuasiIdentifierField) GetCustomTag() string {
3871	if m != nil {
3872		return m.CustomTag
3873	}
3874	return ""
3875}
3876
3877// Privacy metric to compute for reidentification risk analysis.
3878type PrivacyMetric struct {
3879	// Types of analysis.
3880	//
3881	// Types that are valid to be assigned to Type:
3882	//	*PrivacyMetric_NumericalStatsConfig_
3883	//	*PrivacyMetric_CategoricalStatsConfig_
3884	//	*PrivacyMetric_KAnonymityConfig_
3885	//	*PrivacyMetric_LDiversityConfig_
3886	//	*PrivacyMetric_KMapEstimationConfig_
3887	//	*PrivacyMetric_DeltaPresenceEstimationConfig_
3888	Type                 isPrivacyMetric_Type `protobuf_oneof:"type"`
3889	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
3890	XXX_unrecognized     []byte               `json:"-"`
3891	XXX_sizecache        int32                `json:"-"`
3892}
3893
3894func (m *PrivacyMetric) Reset()         { *m = PrivacyMetric{} }
3895func (m *PrivacyMetric) String() string { return proto.CompactTextString(m) }
3896func (*PrivacyMetric) ProtoMessage()    {}
3897func (*PrivacyMetric) Descriptor() ([]byte, []int) {
3898	return fileDescriptor_6872a91dcb80f8dc, []int{38}
3899}
3900
3901func (m *PrivacyMetric) XXX_Unmarshal(b []byte) error {
3902	return xxx_messageInfo_PrivacyMetric.Unmarshal(m, b)
3903}
3904func (m *PrivacyMetric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3905	return xxx_messageInfo_PrivacyMetric.Marshal(b, m, deterministic)
3906}
3907func (m *PrivacyMetric) XXX_Merge(src proto.Message) {
3908	xxx_messageInfo_PrivacyMetric.Merge(m, src)
3909}
3910func (m *PrivacyMetric) XXX_Size() int {
3911	return xxx_messageInfo_PrivacyMetric.Size(m)
3912}
3913func (m *PrivacyMetric) XXX_DiscardUnknown() {
3914	xxx_messageInfo_PrivacyMetric.DiscardUnknown(m)
3915}
3916
3917var xxx_messageInfo_PrivacyMetric proto.InternalMessageInfo
3918
3919type isPrivacyMetric_Type interface {
3920	isPrivacyMetric_Type()
3921}
3922
3923type PrivacyMetric_NumericalStatsConfig_ struct {
3924	NumericalStatsConfig *PrivacyMetric_NumericalStatsConfig `protobuf:"bytes,1,opt,name=numerical_stats_config,json=numericalStatsConfig,proto3,oneof"`
3925}
3926
3927type PrivacyMetric_CategoricalStatsConfig_ struct {
3928	CategoricalStatsConfig *PrivacyMetric_CategoricalStatsConfig `protobuf:"bytes,2,opt,name=categorical_stats_config,json=categoricalStatsConfig,proto3,oneof"`
3929}
3930
3931type PrivacyMetric_KAnonymityConfig_ struct {
3932	KAnonymityConfig *PrivacyMetric_KAnonymityConfig `protobuf:"bytes,3,opt,name=k_anonymity_config,json=kAnonymityConfig,proto3,oneof"`
3933}
3934
3935type PrivacyMetric_LDiversityConfig_ struct {
3936	LDiversityConfig *PrivacyMetric_LDiversityConfig `protobuf:"bytes,4,opt,name=l_diversity_config,json=lDiversityConfig,proto3,oneof"`
3937}
3938
3939type PrivacyMetric_KMapEstimationConfig_ struct {
3940	KMapEstimationConfig *PrivacyMetric_KMapEstimationConfig `protobuf:"bytes,5,opt,name=k_map_estimation_config,json=kMapEstimationConfig,proto3,oneof"`
3941}
3942
3943type PrivacyMetric_DeltaPresenceEstimationConfig_ struct {
3944	DeltaPresenceEstimationConfig *PrivacyMetric_DeltaPresenceEstimationConfig `protobuf:"bytes,6,opt,name=delta_presence_estimation_config,json=deltaPresenceEstimationConfig,proto3,oneof"`
3945}
3946
3947func (*PrivacyMetric_NumericalStatsConfig_) isPrivacyMetric_Type() {}
3948
3949func (*PrivacyMetric_CategoricalStatsConfig_) isPrivacyMetric_Type() {}
3950
3951func (*PrivacyMetric_KAnonymityConfig_) isPrivacyMetric_Type() {}
3952
3953func (*PrivacyMetric_LDiversityConfig_) isPrivacyMetric_Type() {}
3954
3955func (*PrivacyMetric_KMapEstimationConfig_) isPrivacyMetric_Type() {}
3956
3957func (*PrivacyMetric_DeltaPresenceEstimationConfig_) isPrivacyMetric_Type() {}
3958
3959func (m *PrivacyMetric) GetType() isPrivacyMetric_Type {
3960	if m != nil {
3961		return m.Type
3962	}
3963	return nil
3964}
3965
3966func (m *PrivacyMetric) GetNumericalStatsConfig() *PrivacyMetric_NumericalStatsConfig {
3967	if x, ok := m.GetType().(*PrivacyMetric_NumericalStatsConfig_); ok {
3968		return x.NumericalStatsConfig
3969	}
3970	return nil
3971}
3972
3973func (m *PrivacyMetric) GetCategoricalStatsConfig() *PrivacyMetric_CategoricalStatsConfig {
3974	if x, ok := m.GetType().(*PrivacyMetric_CategoricalStatsConfig_); ok {
3975		return x.CategoricalStatsConfig
3976	}
3977	return nil
3978}
3979
3980func (m *PrivacyMetric) GetKAnonymityConfig() *PrivacyMetric_KAnonymityConfig {
3981	if x, ok := m.GetType().(*PrivacyMetric_KAnonymityConfig_); ok {
3982		return x.KAnonymityConfig
3983	}
3984	return nil
3985}
3986
3987func (m *PrivacyMetric) GetLDiversityConfig() *PrivacyMetric_LDiversityConfig {
3988	if x, ok := m.GetType().(*PrivacyMetric_LDiversityConfig_); ok {
3989		return x.LDiversityConfig
3990	}
3991	return nil
3992}
3993
3994func (m *PrivacyMetric) GetKMapEstimationConfig() *PrivacyMetric_KMapEstimationConfig {
3995	if x, ok := m.GetType().(*PrivacyMetric_KMapEstimationConfig_); ok {
3996		return x.KMapEstimationConfig
3997	}
3998	return nil
3999}
4000
4001func (m *PrivacyMetric) GetDeltaPresenceEstimationConfig() *PrivacyMetric_DeltaPresenceEstimationConfig {
4002	if x, ok := m.GetType().(*PrivacyMetric_DeltaPresenceEstimationConfig_); ok {
4003		return x.DeltaPresenceEstimationConfig
4004	}
4005	return nil
4006}
4007
4008// XXX_OneofWrappers is for the internal use of the proto package.
4009func (*PrivacyMetric) XXX_OneofWrappers() []interface{} {
4010	return []interface{}{
4011		(*PrivacyMetric_NumericalStatsConfig_)(nil),
4012		(*PrivacyMetric_CategoricalStatsConfig_)(nil),
4013		(*PrivacyMetric_KAnonymityConfig_)(nil),
4014		(*PrivacyMetric_LDiversityConfig_)(nil),
4015		(*PrivacyMetric_KMapEstimationConfig_)(nil),
4016		(*PrivacyMetric_DeltaPresenceEstimationConfig_)(nil),
4017	}
4018}
4019
4020// Compute numerical stats over an individual column, including
4021// min, max, and quantiles.
4022type PrivacyMetric_NumericalStatsConfig struct {
4023	// Field to compute numerical stats on. Supported types are
4024	// integer, float, date, datetime, timestamp, time.
4025	Field                *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
4026	XXX_NoUnkeyedLiteral struct{} `json:"-"`
4027	XXX_unrecognized     []byte   `json:"-"`
4028	XXX_sizecache        int32    `json:"-"`
4029}
4030
4031func (m *PrivacyMetric_NumericalStatsConfig) Reset()         { *m = PrivacyMetric_NumericalStatsConfig{} }
4032func (m *PrivacyMetric_NumericalStatsConfig) String() string { return proto.CompactTextString(m) }
4033func (*PrivacyMetric_NumericalStatsConfig) ProtoMessage()    {}
4034func (*PrivacyMetric_NumericalStatsConfig) Descriptor() ([]byte, []int) {
4035	return fileDescriptor_6872a91dcb80f8dc, []int{38, 0}
4036}
4037
4038func (m *PrivacyMetric_NumericalStatsConfig) XXX_Unmarshal(b []byte) error {
4039	return xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.Unmarshal(m, b)
4040}
4041func (m *PrivacyMetric_NumericalStatsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4042	return xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.Marshal(b, m, deterministic)
4043}
4044func (m *PrivacyMetric_NumericalStatsConfig) XXX_Merge(src proto.Message) {
4045	xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.Merge(m, src)
4046}
4047func (m *PrivacyMetric_NumericalStatsConfig) XXX_Size() int {
4048	return xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.Size(m)
4049}
4050func (m *PrivacyMetric_NumericalStatsConfig) XXX_DiscardUnknown() {
4051	xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.DiscardUnknown(m)
4052}
4053
4054var xxx_messageInfo_PrivacyMetric_NumericalStatsConfig proto.InternalMessageInfo
4055
4056func (m *PrivacyMetric_NumericalStatsConfig) GetField() *FieldId {
4057	if m != nil {
4058		return m.Field
4059	}
4060	return nil
4061}
4062
4063// Compute numerical stats over an individual column, including
4064// number of distinct values and value count distribution.
4065type PrivacyMetric_CategoricalStatsConfig struct {
4066	// Field to compute categorical stats on. All column types are
4067	// supported except for arrays and structs. However, it may be more
4068	// informative to use NumericalStats when the field type is supported,
4069	// depending on the data.
4070	Field                *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
4071	XXX_NoUnkeyedLiteral struct{} `json:"-"`
4072	XXX_unrecognized     []byte   `json:"-"`
4073	XXX_sizecache        int32    `json:"-"`
4074}
4075
4076func (m *PrivacyMetric_CategoricalStatsConfig) Reset()         { *m = PrivacyMetric_CategoricalStatsConfig{} }
4077func (m *PrivacyMetric_CategoricalStatsConfig) String() string { return proto.CompactTextString(m) }
4078func (*PrivacyMetric_CategoricalStatsConfig) ProtoMessage()    {}
4079func (*PrivacyMetric_CategoricalStatsConfig) Descriptor() ([]byte, []int) {
4080	return fileDescriptor_6872a91dcb80f8dc, []int{38, 1}
4081}
4082
4083func (m *PrivacyMetric_CategoricalStatsConfig) XXX_Unmarshal(b []byte) error {
4084	return xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.Unmarshal(m, b)
4085}
4086func (m *PrivacyMetric_CategoricalStatsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4087	return xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.Marshal(b, m, deterministic)
4088}
4089func (m *PrivacyMetric_CategoricalStatsConfig) XXX_Merge(src proto.Message) {
4090	xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.Merge(m, src)
4091}
4092func (m *PrivacyMetric_CategoricalStatsConfig) XXX_Size() int {
4093	return xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.Size(m)
4094}
4095func (m *PrivacyMetric_CategoricalStatsConfig) XXX_DiscardUnknown() {
4096	xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.DiscardUnknown(m)
4097}
4098
4099var xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig proto.InternalMessageInfo
4100
4101func (m *PrivacyMetric_CategoricalStatsConfig) GetField() *FieldId {
4102	if m != nil {
4103		return m.Field
4104	}
4105	return nil
4106}
4107
4108// k-anonymity metric, used for analysis of reidentification risk.
4109type PrivacyMetric_KAnonymityConfig struct {
4110	// Set of fields to compute k-anonymity over. When multiple fields are
4111	// specified, they are considered a single composite key. Structs and
4112	// repeated data types are not supported; however, nested fields are
4113	// supported so long as they are not structs themselves or nested within
4114	// a repeated field.
4115	QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
4116	// Message indicating that multiple rows might be associated to a
4117	// single individual. If the same entity_id is associated to multiple
4118	// quasi-identifier tuples over distinct rows, we consider the entire
4119	// collection of tuples as the composite quasi-identifier. This collection
4120	// is a multiset: the order in which the different tuples appear in the
4121	// dataset is ignored, but their frequency is taken into account.
4122	//
4123	// Important note: a maximum of 1000 rows can be associated to a single
4124	// entity ID. If more rows are associated with the same entity ID, some
4125	// might be ignored.
4126	EntityId             *EntityId `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
4127	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
4128	XXX_unrecognized     []byte    `json:"-"`
4129	XXX_sizecache        int32     `json:"-"`
4130}
4131
4132func (m *PrivacyMetric_KAnonymityConfig) Reset()         { *m = PrivacyMetric_KAnonymityConfig{} }
4133func (m *PrivacyMetric_KAnonymityConfig) String() string { return proto.CompactTextString(m) }
4134func (*PrivacyMetric_KAnonymityConfig) ProtoMessage()    {}
4135func (*PrivacyMetric_KAnonymityConfig) Descriptor() ([]byte, []int) {
4136	return fileDescriptor_6872a91dcb80f8dc, []int{38, 2}
4137}
4138
4139func (m *PrivacyMetric_KAnonymityConfig) XXX_Unmarshal(b []byte) error {
4140	return xxx_messageInfo_PrivacyMetric_KAnonymityConfig.Unmarshal(m, b)
4141}
4142func (m *PrivacyMetric_KAnonymityConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4143	return xxx_messageInfo_PrivacyMetric_KAnonymityConfig.Marshal(b, m, deterministic)
4144}
4145func (m *PrivacyMetric_KAnonymityConfig) XXX_Merge(src proto.Message) {
4146	xxx_messageInfo_PrivacyMetric_KAnonymityConfig.Merge(m, src)
4147}
4148func (m *PrivacyMetric_KAnonymityConfig) XXX_Size() int {
4149	return xxx_messageInfo_PrivacyMetric_KAnonymityConfig.Size(m)
4150}
4151func (m *PrivacyMetric_KAnonymityConfig) XXX_DiscardUnknown() {
4152	xxx_messageInfo_PrivacyMetric_KAnonymityConfig.DiscardUnknown(m)
4153}
4154
4155var xxx_messageInfo_PrivacyMetric_KAnonymityConfig proto.InternalMessageInfo
4156
4157func (m *PrivacyMetric_KAnonymityConfig) GetQuasiIds() []*FieldId {
4158	if m != nil {
4159		return m.QuasiIds
4160	}
4161	return nil
4162}
4163
4164func (m *PrivacyMetric_KAnonymityConfig) GetEntityId() *EntityId {
4165	if m != nil {
4166		return m.EntityId
4167	}
4168	return nil
4169}
4170
4171// l-diversity metric, used for analysis of reidentification risk.
4172type PrivacyMetric_LDiversityConfig struct {
4173	// Set of quasi-identifiers indicating how equivalence classes are
4174	// defined for the l-diversity computation. When multiple fields are
4175	// specified, they are considered a single composite key.
4176	QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
4177	// Sensitive field for computing the l-value.
4178	SensitiveAttribute   *FieldId `protobuf:"bytes,2,opt,name=sensitive_attribute,json=sensitiveAttribute,proto3" json:"sensitive_attribute,omitempty"`
4179	XXX_NoUnkeyedLiteral struct{} `json:"-"`
4180	XXX_unrecognized     []byte   `json:"-"`
4181	XXX_sizecache        int32    `json:"-"`
4182}
4183
4184func (m *PrivacyMetric_LDiversityConfig) Reset()         { *m = PrivacyMetric_LDiversityConfig{} }
4185func (m *PrivacyMetric_LDiversityConfig) String() string { return proto.CompactTextString(m) }
4186func (*PrivacyMetric_LDiversityConfig) ProtoMessage()    {}
4187func (*PrivacyMetric_LDiversityConfig) Descriptor() ([]byte, []int) {
4188	return fileDescriptor_6872a91dcb80f8dc, []int{38, 3}
4189}
4190
4191func (m *PrivacyMetric_LDiversityConfig) XXX_Unmarshal(b []byte) error {
4192	return xxx_messageInfo_PrivacyMetric_LDiversityConfig.Unmarshal(m, b)
4193}
4194func (m *PrivacyMetric_LDiversityConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4195	return xxx_messageInfo_PrivacyMetric_LDiversityConfig.Marshal(b, m, deterministic)
4196}
4197func (m *PrivacyMetric_LDiversityConfig) XXX_Merge(src proto.Message) {
4198	xxx_messageInfo_PrivacyMetric_LDiversityConfig.Merge(m, src)
4199}
4200func (m *PrivacyMetric_LDiversityConfig) XXX_Size() int {
4201	return xxx_messageInfo_PrivacyMetric_LDiversityConfig.Size(m)
4202}
4203func (m *PrivacyMetric_LDiversityConfig) XXX_DiscardUnknown() {
4204	xxx_messageInfo_PrivacyMetric_LDiversityConfig.DiscardUnknown(m)
4205}
4206
4207var xxx_messageInfo_PrivacyMetric_LDiversityConfig proto.InternalMessageInfo
4208
4209func (m *PrivacyMetric_LDiversityConfig) GetQuasiIds() []*FieldId {
4210	if m != nil {
4211		return m.QuasiIds
4212	}
4213	return nil
4214}
4215
4216func (m *PrivacyMetric_LDiversityConfig) GetSensitiveAttribute() *FieldId {
4217	if m != nil {
4218		return m.SensitiveAttribute
4219	}
4220	return nil
4221}
4222
4223// Reidentifiability metric. This corresponds to a risk model similar to what
4224// is called "journalist risk" in the literature, except the attack dataset is
4225// statistically modeled instead of being perfectly known. This can be done
4226// using publicly available data (like the US Census), or using a custom
4227// statistical model (indicated as one or several BigQuery tables), or by
4228// extrapolating from the distribution of values in the input dataset.
4229type PrivacyMetric_KMapEstimationConfig struct {
4230	// Required. Fields considered to be quasi-identifiers. No two columns can
4231	// have the same tag.
4232	QuasiIds []*PrivacyMetric_KMapEstimationConfig_TaggedField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
4233	// ISO 3166-1 alpha-2 region code to use in the statistical modeling.
4234	// Set if no column is tagged with a region-specific InfoType (like
4235	// US_ZIP_5) or a region code.
4236	RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
4237	// Several auxiliary tables can be used in the analysis. Each custom_tag
4238	// used to tag a quasi-identifiers column must appear in exactly one column
4239	// of one auxiliary table.
4240	AuxiliaryTables      []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable `protobuf:"bytes,3,rep,name=auxiliary_tables,json=auxiliaryTables,proto3" json:"auxiliary_tables,omitempty"`
4241	XXX_NoUnkeyedLiteral struct{}                                             `json:"-"`
4242	XXX_unrecognized     []byte                                               `json:"-"`
4243	XXX_sizecache        int32                                                `json:"-"`
4244}
4245
4246func (m *PrivacyMetric_KMapEstimationConfig) Reset()         { *m = PrivacyMetric_KMapEstimationConfig{} }
4247func (m *PrivacyMetric_KMapEstimationConfig) String() string { return proto.CompactTextString(m) }
4248func (*PrivacyMetric_KMapEstimationConfig) ProtoMessage()    {}
4249func (*PrivacyMetric_KMapEstimationConfig) Descriptor() ([]byte, []int) {
4250	return fileDescriptor_6872a91dcb80f8dc, []int{38, 4}
4251}
4252
4253func (m *PrivacyMetric_KMapEstimationConfig) XXX_Unmarshal(b []byte) error {
4254	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.Unmarshal(m, b)
4255}
4256func (m *PrivacyMetric_KMapEstimationConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4257	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.Marshal(b, m, deterministic)
4258}
4259func (m *PrivacyMetric_KMapEstimationConfig) XXX_Merge(src proto.Message) {
4260	xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.Merge(m, src)
4261}
4262func (m *PrivacyMetric_KMapEstimationConfig) XXX_Size() int {
4263	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.Size(m)
4264}
4265func (m *PrivacyMetric_KMapEstimationConfig) XXX_DiscardUnknown() {
4266	xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.DiscardUnknown(m)
4267}
4268
4269var xxx_messageInfo_PrivacyMetric_KMapEstimationConfig proto.InternalMessageInfo
4270
4271func (m *PrivacyMetric_KMapEstimationConfig) GetQuasiIds() []*PrivacyMetric_KMapEstimationConfig_TaggedField {
4272	if m != nil {
4273		return m.QuasiIds
4274	}
4275	return nil
4276}
4277
4278func (m *PrivacyMetric_KMapEstimationConfig) GetRegionCode() string {
4279	if m != nil {
4280		return m.RegionCode
4281	}
4282	return ""
4283}
4284
4285func (m *PrivacyMetric_KMapEstimationConfig) GetAuxiliaryTables() []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable {
4286	if m != nil {
4287		return m.AuxiliaryTables
4288	}
4289	return nil
4290}
4291
4292// A column with a semantic tag attached.
4293type PrivacyMetric_KMapEstimationConfig_TaggedField struct {
4294	// Required. Identifies the column.
4295	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
4296	// Semantic tag that identifies what a column contains, to determine which
4297	// statistical model to use to estimate the reidentifiability of each
4298	// value. [required]
4299	//
4300	// Types that are valid to be assigned to Tag:
4301	//	*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType
4302	//	*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag
4303	//	*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred
4304	Tag                  isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag `protobuf_oneof:"tag"`
4305	XXX_NoUnkeyedLiteral struct{}                                             `json:"-"`
4306	XXX_unrecognized     []byte                                               `json:"-"`
4307	XXX_sizecache        int32                                                `json:"-"`
4308}
4309
4310func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) Reset() {
4311	*m = PrivacyMetric_KMapEstimationConfig_TaggedField{}
4312}
4313func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) String() string {
4314	return proto.CompactTextString(m)
4315}
4316func (*PrivacyMetric_KMapEstimationConfig_TaggedField) ProtoMessage() {}
4317func (*PrivacyMetric_KMapEstimationConfig_TaggedField) Descriptor() ([]byte, []int) {
4318	return fileDescriptor_6872a91dcb80f8dc, []int{38, 4, 0}
4319}
4320
4321func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Unmarshal(b []byte) error {
4322	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.Unmarshal(m, b)
4323}
4324func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4325	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.Marshal(b, m, deterministic)
4326}
4327func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Merge(src proto.Message) {
4328	xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.Merge(m, src)
4329}
4330func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Size() int {
4331	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.Size(m)
4332}
4333func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_DiscardUnknown() {
4334	xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.DiscardUnknown(m)
4335}
4336
4337var xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField proto.InternalMessageInfo
4338
4339func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetField() *FieldId {
4340	if m != nil {
4341		return m.Field
4342	}
4343	return nil
4344}
4345
4346type isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag interface {
4347	isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag()
4348}
4349
4350type PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType struct {
4351	InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3,oneof"`
4352}
4353
4354type PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag struct {
4355	CustomTag string `protobuf:"bytes,3,opt,name=custom_tag,json=customTag,proto3,oneof"`
4356}
4357
4358type PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred struct {
4359	Inferred *empty.Empty `protobuf:"bytes,4,opt,name=inferred,proto3,oneof"`
4360}
4361
4362func (*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
4363}
4364
4365func (*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
4366}
4367
4368func (*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
4369}
4370
4371func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetTag() isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag {
4372	if m != nil {
4373		return m.Tag
4374	}
4375	return nil
4376}
4377
4378func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetInfoType() *InfoType {
4379	if x, ok := m.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType); ok {
4380		return x.InfoType
4381	}
4382	return nil
4383}
4384
4385func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetCustomTag() string {
4386	if x, ok := m.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag); ok {
4387		return x.CustomTag
4388	}
4389	return ""
4390}
4391
4392func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetInferred() *empty.Empty {
4393	if x, ok := m.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred); ok {
4394		return x.Inferred
4395	}
4396	return nil
4397}
4398
4399// XXX_OneofWrappers is for the internal use of the proto package.
4400func (*PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_OneofWrappers() []interface{} {
4401	return []interface{}{
4402		(*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType)(nil),
4403		(*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag)(nil),
4404		(*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred)(nil),
4405	}
4406}
4407
4408// An auxiliary table contains statistical information on the relative
4409// frequency of different quasi-identifiers values. It has one or several
4410// quasi-identifiers columns, and one column that indicates the relative
4411// frequency of each quasi-identifier tuple.
4412// If a tuple is present in the data but not in the auxiliary table, the
4413// corresponding relative frequency is assumed to be zero (and thus, the
4414// tuple is highly reidentifiable).
4415type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable struct {
4416	// Required. Auxiliary table location.
4417	Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"`
4418	// Required. Quasi-identifier columns.
4419	QuasiIds []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
4420	// Required. The relative frequency column must contain a floating-point
4421	// number between 0 and 1 (inclusive). Null values are assumed to be zero.
4422	RelativeFrequency    *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"`
4423	XXX_NoUnkeyedLiteral struct{} `json:"-"`
4424	XXX_unrecognized     []byte   `json:"-"`
4425	XXX_sizecache        int32    `json:"-"`
4426}
4427
4428func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Reset() {
4429	*m = PrivacyMetric_KMapEstimationConfig_AuxiliaryTable{}
4430}
4431func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) String() string {
4432	return proto.CompactTextString(m)
4433}
4434func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) ProtoMessage() {}
4435func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Descriptor() ([]byte, []int) {
4436	return fileDescriptor_6872a91dcb80f8dc, []int{38, 4, 1}
4437}
4438
4439func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Unmarshal(b []byte) error {
4440	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.Unmarshal(m, b)
4441}
4442func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4443	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.Marshal(b, m, deterministic)
4444}
4445func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Merge(src proto.Message) {
4446	xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.Merge(m, src)
4447}
4448func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Size() int {
4449	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.Size(m)
4450}
4451func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_DiscardUnknown() {
4452	xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.DiscardUnknown(m)
4453}
4454
4455var xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable proto.InternalMessageInfo
4456
4457func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetTable() *BigQueryTable {
4458	if m != nil {
4459		return m.Table
4460	}
4461	return nil
4462}
4463
4464func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetQuasiIds() []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField {
4465	if m != nil {
4466		return m.QuasiIds
4467	}
4468	return nil
4469}
4470
4471func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetRelativeFrequency() *FieldId {
4472	if m != nil {
4473		return m.RelativeFrequency
4474	}
4475	return nil
4476}
4477
4478// A quasi-identifier column has a custom_tag, used to know which column
4479// in the data corresponds to which column in the statistical model.
4480type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField struct {
4481	// Identifies the column.
4482	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
4483	// A auxiliary field.
4484	CustomTag            string   `protobuf:"bytes,2,opt,name=custom_tag,json=customTag,proto3" json:"custom_tag,omitempty"`
4485	XXX_NoUnkeyedLiteral struct{} `json:"-"`
4486	XXX_unrecognized     []byte   `json:"-"`
4487	XXX_sizecache        int32    `json:"-"`
4488}
4489
4490func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Reset() {
4491	*m = PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField{}
4492}
4493func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) String() string {
4494	return proto.CompactTextString(m)
4495}
4496func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) ProtoMessage() {}
4497func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Descriptor() ([]byte, []int) {
4498	return fileDescriptor_6872a91dcb80f8dc, []int{38, 4, 1, 0}
4499}
4500
4501func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Unmarshal(b []byte) error {
4502	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.Unmarshal(m, b)
4503}
4504func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4505	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.Marshal(b, m, deterministic)
4506}
4507func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Merge(src proto.Message) {
4508	xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.Merge(m, src)
4509}
4510func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Size() int {
4511	return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.Size(m)
4512}
4513func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_DiscardUnknown() {
4514	xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.DiscardUnknown(m)
4515}
4516
4517var xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField proto.InternalMessageInfo
4518
4519func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetField() *FieldId {
4520	if m != nil {
4521		return m.Field
4522	}
4523	return nil
4524}
4525
4526func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetCustomTag() string {
4527	if m != nil {
4528		return m.CustomTag
4529	}
4530	return ""
4531}
4532
4533// δ-presence metric, used to estimate how likely it is for an attacker to
4534// figure out that one given individual appears in a de-identified dataset.
4535// Similarly to the k-map metric, we cannot compute δ-presence exactly without
4536// knowing the attack dataset, so we use a statistical model instead.
4537type PrivacyMetric_DeltaPresenceEstimationConfig struct {
4538	// Required. Fields considered to be quasi-identifiers. No two fields can
4539	// have the same tag.
4540	QuasiIds []*QuasiId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
4541	// ISO 3166-1 alpha-2 region code to use in the statistical modeling.
4542	// Set if no column is tagged with a region-specific InfoType (like
4543	// US_ZIP_5) or a region code.
4544	RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
4545	// Several auxiliary tables can be used in the analysis. Each custom_tag
4546	// used to tag a quasi-identifiers field must appear in exactly one
4547	// field of one auxiliary table.
4548	AuxiliaryTables      []*StatisticalTable `protobuf:"bytes,3,rep,name=auxiliary_tables,json=auxiliaryTables,proto3" json:"auxiliary_tables,omitempty"`
4549	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
4550	XXX_unrecognized     []byte              `json:"-"`
4551	XXX_sizecache        int32               `json:"-"`
4552}
4553
4554func (m *PrivacyMetric_DeltaPresenceEstimationConfig) Reset() {
4555	*m = PrivacyMetric_DeltaPresenceEstimationConfig{}
4556}
4557func (m *PrivacyMetric_DeltaPresenceEstimationConfig) String() string {
4558	return proto.CompactTextString(m)
4559}
4560func (*PrivacyMetric_DeltaPresenceEstimationConfig) ProtoMessage() {}
4561func (*PrivacyMetric_DeltaPresenceEstimationConfig) Descriptor() ([]byte, []int) {
4562	return fileDescriptor_6872a91dcb80f8dc, []int{38, 5}
4563}
4564
4565func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Unmarshal(b []byte) error {
4566	return xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.Unmarshal(m, b)
4567}
4568func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4569	return xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.Marshal(b, m, deterministic)
4570}
4571func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Merge(src proto.Message) {
4572	xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.Merge(m, src)
4573}
4574func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Size() int {
4575	return xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.Size(m)
4576}
4577func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_DiscardUnknown() {
4578	xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.DiscardUnknown(m)
4579}
4580
4581var xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig proto.InternalMessageInfo
4582
4583func (m *PrivacyMetric_DeltaPresenceEstimationConfig) GetQuasiIds() []*QuasiId {
4584	if m != nil {
4585		return m.QuasiIds
4586	}
4587	return nil
4588}
4589
4590func (m *PrivacyMetric_DeltaPresenceEstimationConfig) GetRegionCode() string {
4591	if m != nil {
4592		return m.RegionCode
4593	}
4594	return ""
4595}
4596
4597func (m *PrivacyMetric_DeltaPresenceEstimationConfig) GetAuxiliaryTables() []*StatisticalTable {
4598	if m != nil {
4599		return m.AuxiliaryTables
4600	}
4601	return nil
4602}
4603
4604// Result of a risk analysis operation request.
4605type AnalyzeDataSourceRiskDetails struct {
4606	// Privacy metric to compute.
4607	RequestedPrivacyMetric *PrivacyMetric `protobuf:"bytes,1,opt,name=requested_privacy_metric,json=requestedPrivacyMetric,proto3" json:"requested_privacy_metric,omitempty"`
4608	// Input dataset to compute metrics over.
4609	RequestedSourceTable *BigQueryTable `protobuf:"bytes,2,opt,name=requested_source_table,json=requestedSourceTable,proto3" json:"requested_source_table,omitempty"`
4610	// Values associated with this metric.
4611	//
4612	// Types that are valid to be assigned to Result:
4613	//	*AnalyzeDataSourceRiskDetails_NumericalStatsResult_
4614	//	*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_
4615	//	*AnalyzeDataSourceRiskDetails_KAnonymityResult_
4616	//	*AnalyzeDataSourceRiskDetails_LDiversityResult_
4617	//	*AnalyzeDataSourceRiskDetails_KMapEstimationResult_
4618	//	*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_
4619	Result               isAnalyzeDataSourceRiskDetails_Result `protobuf_oneof:"result"`
4620	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
4621	XXX_unrecognized     []byte                                `json:"-"`
4622	XXX_sizecache        int32                                 `json:"-"`
4623}
4624
4625func (m *AnalyzeDataSourceRiskDetails) Reset()         { *m = AnalyzeDataSourceRiskDetails{} }
4626func (m *AnalyzeDataSourceRiskDetails) String() string { return proto.CompactTextString(m) }
4627func (*AnalyzeDataSourceRiskDetails) ProtoMessage()    {}
4628func (*AnalyzeDataSourceRiskDetails) Descriptor() ([]byte, []int) {
4629	return fileDescriptor_6872a91dcb80f8dc, []int{39}
4630}
4631
4632func (m *AnalyzeDataSourceRiskDetails) XXX_Unmarshal(b []byte) error {
4633	return xxx_messageInfo_AnalyzeDataSourceRiskDetails.Unmarshal(m, b)
4634}
4635func (m *AnalyzeDataSourceRiskDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4636	return xxx_messageInfo_AnalyzeDataSourceRiskDetails.Marshal(b, m, deterministic)
4637}
4638func (m *AnalyzeDataSourceRiskDetails) XXX_Merge(src proto.Message) {
4639	xxx_messageInfo_AnalyzeDataSourceRiskDetails.Merge(m, src)
4640}
4641func (m *AnalyzeDataSourceRiskDetails) XXX_Size() int {
4642	return xxx_messageInfo_AnalyzeDataSourceRiskDetails.Size(m)
4643}
4644func (m *AnalyzeDataSourceRiskDetails) XXX_DiscardUnknown() {
4645	xxx_messageInfo_AnalyzeDataSourceRiskDetails.DiscardUnknown(m)
4646}
4647
4648var xxx_messageInfo_AnalyzeDataSourceRiskDetails proto.InternalMessageInfo
4649
4650func (m *AnalyzeDataSourceRiskDetails) GetRequestedPrivacyMetric() *PrivacyMetric {
4651	if m != nil {
4652		return m.RequestedPrivacyMetric
4653	}
4654	return nil
4655}
4656
4657func (m *AnalyzeDataSourceRiskDetails) GetRequestedSourceTable() *BigQueryTable {
4658	if m != nil {
4659		return m.RequestedSourceTable
4660	}
4661	return nil
4662}
4663
4664type isAnalyzeDataSourceRiskDetails_Result interface {
4665	isAnalyzeDataSourceRiskDetails_Result()
4666}
4667
4668type AnalyzeDataSourceRiskDetails_NumericalStatsResult_ struct {
4669	NumericalStatsResult *AnalyzeDataSourceRiskDetails_NumericalStatsResult `protobuf:"bytes,3,opt,name=numerical_stats_result,json=numericalStatsResult,proto3,oneof"`
4670}
4671
4672type AnalyzeDataSourceRiskDetails_CategoricalStatsResult_ struct {
4673	CategoricalStatsResult *AnalyzeDataSourceRiskDetails_CategoricalStatsResult `protobuf:"bytes,4,opt,name=categorical_stats_result,json=categoricalStatsResult,proto3,oneof"`
4674}
4675
4676type AnalyzeDataSourceRiskDetails_KAnonymityResult_ struct {
4677	KAnonymityResult *AnalyzeDataSourceRiskDetails_KAnonymityResult `protobuf:"bytes,5,opt,name=k_anonymity_result,json=kAnonymityResult,proto3,oneof"`
4678}
4679
4680type AnalyzeDataSourceRiskDetails_LDiversityResult_ struct {
4681	LDiversityResult *AnalyzeDataSourceRiskDetails_LDiversityResult `protobuf:"bytes,6,opt,name=l_diversity_result,json=lDiversityResult,proto3,oneof"`
4682}
4683
4684type AnalyzeDataSourceRiskDetails_KMapEstimationResult_ struct {
4685	KMapEstimationResult *AnalyzeDataSourceRiskDetails_KMapEstimationResult `protobuf:"bytes,7,opt,name=k_map_estimation_result,json=kMapEstimationResult,proto3,oneof"`
4686}
4687
4688type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_ struct {
4689	DeltaPresenceEstimationResult *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult `protobuf:"bytes,9,opt,name=delta_presence_estimation_result,json=deltaPresenceEstimationResult,proto3,oneof"`
4690}
4691
4692func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4693
4694func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4695
4696func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4697
4698func (*AnalyzeDataSourceRiskDetails_LDiversityResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4699
4700func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4701
4702func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_) isAnalyzeDataSourceRiskDetails_Result() {
4703}
4704
4705func (m *AnalyzeDataSourceRiskDetails) GetResult() isAnalyzeDataSourceRiskDetails_Result {
4706	if m != nil {
4707		return m.Result
4708	}
4709	return nil
4710}
4711
4712func (m *AnalyzeDataSourceRiskDetails) GetNumericalStatsResult() *AnalyzeDataSourceRiskDetails_NumericalStatsResult {
4713	if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_NumericalStatsResult_); ok {
4714		return x.NumericalStatsResult
4715	}
4716	return nil
4717}
4718
4719func (m *AnalyzeDataSourceRiskDetails) GetCategoricalStatsResult() *AnalyzeDataSourceRiskDetails_CategoricalStatsResult {
4720	if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_); ok {
4721		return x.CategoricalStatsResult
4722	}
4723	return nil
4724}
4725
4726func (m *AnalyzeDataSourceRiskDetails) GetKAnonymityResult() *AnalyzeDataSourceRiskDetails_KAnonymityResult {
4727	if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_KAnonymityResult_); ok {
4728		return x.KAnonymityResult
4729	}
4730	return nil
4731}
4732
4733func (m *AnalyzeDataSourceRiskDetails) GetLDiversityResult() *AnalyzeDataSourceRiskDetails_LDiversityResult {
4734	if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_LDiversityResult_); ok {
4735		return x.LDiversityResult
4736	}
4737	return nil
4738}
4739
4740func (m *AnalyzeDataSourceRiskDetails) GetKMapEstimationResult() *AnalyzeDataSourceRiskDetails_KMapEstimationResult {
4741	if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_); ok {
4742		return x.KMapEstimationResult
4743	}
4744	return nil
4745}
4746
4747func (m *AnalyzeDataSourceRiskDetails) GetDeltaPresenceEstimationResult() *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult {
4748	if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_); ok {
4749		return x.DeltaPresenceEstimationResult
4750	}
4751	return nil
4752}
4753
4754// XXX_OneofWrappers is for the internal use of the proto package.
4755func (*AnalyzeDataSourceRiskDetails) XXX_OneofWrappers() []interface{} {
4756	return []interface{}{
4757		(*AnalyzeDataSourceRiskDetails_NumericalStatsResult_)(nil),
4758		(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_)(nil),
4759		(*AnalyzeDataSourceRiskDetails_KAnonymityResult_)(nil),
4760		(*AnalyzeDataSourceRiskDetails_LDiversityResult_)(nil),
4761		(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_)(nil),
4762		(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_)(nil),
4763	}
4764}
4765
4766// Result of the numerical stats computation.
4767type AnalyzeDataSourceRiskDetails_NumericalStatsResult struct {
4768	// Minimum value appearing in the column.
4769	MinValue *Value `protobuf:"bytes,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"`
4770	// Maximum value appearing in the column.
4771	MaxValue *Value `protobuf:"bytes,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"`
4772	// List of 99 values that partition the set of field values into 100 equal
4773	// sized buckets.
4774	QuantileValues       []*Value `protobuf:"bytes,4,rep,name=quantile_values,json=quantileValues,proto3" json:"quantile_values,omitempty"`
4775	XXX_NoUnkeyedLiteral struct{} `json:"-"`
4776	XXX_unrecognized     []byte   `json:"-"`
4777	XXX_sizecache        int32    `json:"-"`
4778}
4779
4780func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) Reset() {
4781	*m = AnalyzeDataSourceRiskDetails_NumericalStatsResult{}
4782}
4783func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) String() string {
4784	return proto.CompactTextString(m)
4785}
4786func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) ProtoMessage() {}
4787func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) Descriptor() ([]byte, []int) {
4788	return fileDescriptor_6872a91dcb80f8dc, []int{39, 0}
4789}
4790
4791func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Unmarshal(b []byte) error {
4792	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.Unmarshal(m, b)
4793}
4794func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4795	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.Marshal(b, m, deterministic)
4796}
4797func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Merge(src proto.Message) {
4798	xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.Merge(m, src)
4799}
4800func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Size() int {
4801	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.Size(m)
4802}
4803func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_DiscardUnknown() {
4804	xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.DiscardUnknown(m)
4805}
4806
4807var xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult proto.InternalMessageInfo
4808
4809func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetMinValue() *Value {
4810	if m != nil {
4811		return m.MinValue
4812	}
4813	return nil
4814}
4815
4816func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetMaxValue() *Value {
4817	if m != nil {
4818		return m.MaxValue
4819	}
4820	return nil
4821}
4822
4823func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetQuantileValues() []*Value {
4824	if m != nil {
4825		return m.QuantileValues
4826	}
4827	return nil
4828}
4829
4830// Result of the categorical stats computation.
4831type AnalyzeDataSourceRiskDetails_CategoricalStatsResult struct {
4832	// Histogram of value frequencies in the column.
4833	ValueFrequencyHistogramBuckets []*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket `protobuf:"bytes,5,rep,name=value_frequency_histogram_buckets,json=valueFrequencyHistogramBuckets,proto3" json:"value_frequency_histogram_buckets,omitempty"`
4834	XXX_NoUnkeyedLiteral           struct{}                                                                               `json:"-"`
4835	XXX_unrecognized               []byte                                                                                 `json:"-"`
4836	XXX_sizecache                  int32                                                                                  `json:"-"`
4837}
4838
4839func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Reset() {
4840	*m = AnalyzeDataSourceRiskDetails_CategoricalStatsResult{}
4841}
4842func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) String() string {
4843	return proto.CompactTextString(m)
4844}
4845func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) ProtoMessage() {}
4846func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Descriptor() ([]byte, []int) {
4847	return fileDescriptor_6872a91dcb80f8dc, []int{39, 1}
4848}
4849
4850func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Unmarshal(b []byte) error {
4851	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.Unmarshal(m, b)
4852}
4853func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4854	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.Marshal(b, m, deterministic)
4855}
4856func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Merge(src proto.Message) {
4857	xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.Merge(m, src)
4858}
4859func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Size() int {
4860	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.Size(m)
4861}
4862func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_DiscardUnknown() {
4863	xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.DiscardUnknown(m)
4864}
4865
4866var xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult proto.InternalMessageInfo
4867
4868func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) GetValueFrequencyHistogramBuckets() []*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket {
4869	if m != nil {
4870		return m.ValueFrequencyHistogramBuckets
4871	}
4872	return nil
4873}
4874
4875// Histogram of value frequencies in the column.
4876type AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket struct {
4877	// Lower bound on the value frequency of the values in this bucket.
4878	ValueFrequencyLowerBound int64 `protobuf:"varint,1,opt,name=value_frequency_lower_bound,json=valueFrequencyLowerBound,proto3" json:"value_frequency_lower_bound,omitempty"`
4879	// Upper bound on the value frequency of the values in this bucket.
4880	ValueFrequencyUpperBound int64 `protobuf:"varint,2,opt,name=value_frequency_upper_bound,json=valueFrequencyUpperBound,proto3" json:"value_frequency_upper_bound,omitempty"`
4881	// Total number of values in this bucket.
4882	BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
4883	// Sample of value frequencies in this bucket. The total number of
4884	// values returned per bucket is capped at 20.
4885	BucketValues []*ValueFrequency `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
4886	// Total number of distinct values in this bucket.
4887	BucketValueCount     int64    `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
4888	XXX_NoUnkeyedLiteral struct{} `json:"-"`
4889	XXX_unrecognized     []byte   `json:"-"`
4890	XXX_sizecache        int32    `json:"-"`
4891}
4892
4893func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Reset() {
4894	*m = AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket{}
4895}
4896func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) String() string {
4897	return proto.CompactTextString(m)
4898}
4899func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) ProtoMessage() {
4900}
4901func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Descriptor() ([]byte, []int) {
4902	return fileDescriptor_6872a91dcb80f8dc, []int{39, 1, 0}
4903}
4904
4905func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Unmarshal(b []byte) error {
4906	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.Unmarshal(m, b)
4907}
4908func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4909	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.Marshal(b, m, deterministic)
4910}
4911func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Merge(src proto.Message) {
4912	xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.Merge(m, src)
4913}
4914func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Size() int {
4915	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.Size(m)
4916}
4917func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_DiscardUnknown() {
4918	xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.DiscardUnknown(m)
4919}
4920
4921var xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket proto.InternalMessageInfo
4922
4923func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetValueFrequencyLowerBound() int64 {
4924	if m != nil {
4925		return m.ValueFrequencyLowerBound
4926	}
4927	return 0
4928}
4929
4930func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetValueFrequencyUpperBound() int64 {
4931	if m != nil {
4932		return m.ValueFrequencyUpperBound
4933	}
4934	return 0
4935}
4936
4937func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketSize() int64 {
4938	if m != nil {
4939		return m.BucketSize
4940	}
4941	return 0
4942}
4943
4944func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketValues() []*ValueFrequency {
4945	if m != nil {
4946		return m.BucketValues
4947	}
4948	return nil
4949}
4950
4951func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketValueCount() int64 {
4952	if m != nil {
4953		return m.BucketValueCount
4954	}
4955	return 0
4956}
4957
4958// Result of the k-anonymity computation.
4959type AnalyzeDataSourceRiskDetails_KAnonymityResult struct {
4960	// Histogram of k-anonymity equivalence classes.
4961	EquivalenceClassHistogramBuckets []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket `protobuf:"bytes,5,rep,name=equivalence_class_histogram_buckets,json=equivalenceClassHistogramBuckets,proto3" json:"equivalence_class_histogram_buckets,omitempty"`
4962	XXX_NoUnkeyedLiteral             struct{}                                                                   `json:"-"`
4963	XXX_unrecognized                 []byte                                                                     `json:"-"`
4964	XXX_sizecache                    int32                                                                      `json:"-"`
4965}
4966
4967func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) Reset() {
4968	*m = AnalyzeDataSourceRiskDetails_KAnonymityResult{}
4969}
4970func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) String() string {
4971	return proto.CompactTextString(m)
4972}
4973func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) ProtoMessage() {}
4974func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) Descriptor() ([]byte, []int) {
4975	return fileDescriptor_6872a91dcb80f8dc, []int{39, 2}
4976}
4977
4978func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Unmarshal(b []byte) error {
4979	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.Unmarshal(m, b)
4980}
4981func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
4982	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.Marshal(b, m, deterministic)
4983}
4984func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Merge(src proto.Message) {
4985	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.Merge(m, src)
4986}
4987func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Size() int {
4988	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.Size(m)
4989}
4990func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_DiscardUnknown() {
4991	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.DiscardUnknown(m)
4992}
4993
4994var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult proto.InternalMessageInfo
4995
4996func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) GetEquivalenceClassHistogramBuckets() []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket {
4997	if m != nil {
4998		return m.EquivalenceClassHistogramBuckets
4999	}
5000	return nil
5001}
5002
5003// The set of columns' values that share the same ldiversity value
5004type AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass struct {
5005	// Set of values defining the equivalence class. One value per
5006	// quasi-identifier column in the original KAnonymity metric message.
5007	// The order is always the same as the original request.
5008	QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
5009	// Size of the equivalence class, for example number of rows with the
5010	// above set of values.
5011	EquivalenceClassSize int64    `protobuf:"varint,2,opt,name=equivalence_class_size,json=equivalenceClassSize,proto3" json:"equivalence_class_size,omitempty"`
5012	XXX_NoUnkeyedLiteral struct{} `json:"-"`
5013	XXX_unrecognized     []byte   `json:"-"`
5014	XXX_sizecache        int32    `json:"-"`
5015}
5016
5017func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Reset() {
5018	*m = AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass{}
5019}
5020func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) String() string {
5021	return proto.CompactTextString(m)
5022}
5023func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) ProtoMessage() {}
5024func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Descriptor() ([]byte, []int) {
5025	return fileDescriptor_6872a91dcb80f8dc, []int{39, 2, 0}
5026}
5027
5028func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Unmarshal(b []byte) error {
5029	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.Unmarshal(m, b)
5030}
5031func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5032	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.Marshal(b, m, deterministic)
5033}
5034func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Merge(src proto.Message) {
5035	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.Merge(m, src)
5036}
5037func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Size() int {
5038	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.Size(m)
5039}
5040func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_DiscardUnknown() {
5041	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.DiscardUnknown(m)
5042}
5043
5044var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass proto.InternalMessageInfo
5045
5046func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) GetQuasiIdsValues() []*Value {
5047	if m != nil {
5048		return m.QuasiIdsValues
5049	}
5050	return nil
5051}
5052
5053func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) GetEquivalenceClassSize() int64 {
5054	if m != nil {
5055		return m.EquivalenceClassSize
5056	}
5057	return 0
5058}
5059
5060// Histogram of k-anonymity equivalence classes.
5061type AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket struct {
5062	// Lower bound on the size of the equivalence classes in this bucket.
5063	EquivalenceClassSizeLowerBound int64 `protobuf:"varint,1,opt,name=equivalence_class_size_lower_bound,json=equivalenceClassSizeLowerBound,proto3" json:"equivalence_class_size_lower_bound,omitempty"`
5064	// Upper bound on the size of the equivalence classes in this bucket.
5065	EquivalenceClassSizeUpperBound int64 `protobuf:"varint,2,opt,name=equivalence_class_size_upper_bound,json=equivalenceClassSizeUpperBound,proto3" json:"equivalence_class_size_upper_bound,omitempty"`
5066	// Total number of equivalence classes in this bucket.
5067	BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
5068	// Sample of equivalence classes in this bucket. The total number of
5069	// classes returned per bucket is capped at 20.
5070	BucketValues []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
5071	// Total number of distinct equivalence classes in this bucket.
5072	BucketValueCount     int64    `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
5073	XXX_NoUnkeyedLiteral struct{} `json:"-"`
5074	XXX_unrecognized     []byte   `json:"-"`
5075	XXX_sizecache        int32    `json:"-"`
5076}
5077
5078func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Reset() {
5079	*m = AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket{}
5080}
5081func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) String() string {
5082	return proto.CompactTextString(m)
5083}
5084func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) ProtoMessage() {}
5085func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Descriptor() ([]byte, []int) {
5086	return fileDescriptor_6872a91dcb80f8dc, []int{39, 2, 1}
5087}
5088
5089func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Unmarshal(b []byte) error {
5090	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.Unmarshal(m, b)
5091}
5092func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5093	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.Marshal(b, m, deterministic)
5094}
5095func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Merge(src proto.Message) {
5096	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.Merge(m, src)
5097}
5098func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Size() int {
5099	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.Size(m)
5100}
5101func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_DiscardUnknown() {
5102	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.DiscardUnknown(m)
5103}
5104
5105var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket proto.InternalMessageInfo
5106
5107func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetEquivalenceClassSizeLowerBound() int64 {
5108	if m != nil {
5109		return m.EquivalenceClassSizeLowerBound
5110	}
5111	return 0
5112}
5113
5114func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetEquivalenceClassSizeUpperBound() int64 {
5115	if m != nil {
5116		return m.EquivalenceClassSizeUpperBound
5117	}
5118	return 0
5119}
5120
5121func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketSize() int64 {
5122	if m != nil {
5123		return m.BucketSize
5124	}
5125	return 0
5126}
5127
5128func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass {
5129	if m != nil {
5130		return m.BucketValues
5131	}
5132	return nil
5133}
5134
5135func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketValueCount() int64 {
5136	if m != nil {
5137		return m.BucketValueCount
5138	}
5139	return 0
5140}
5141
5142// Result of the l-diversity computation.
5143type AnalyzeDataSourceRiskDetails_LDiversityResult struct {
5144	// Histogram of l-diversity equivalence class sensitive value frequencies.
5145	SensitiveValueFrequencyHistogramBuckets []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket `protobuf:"bytes,5,rep,name=sensitive_value_frequency_histogram_buckets,json=sensitiveValueFrequencyHistogramBuckets,proto3" json:"sensitive_value_frequency_histogram_buckets,omitempty"`
5146	XXX_NoUnkeyedLiteral                    struct{}                                                                   `json:"-"`
5147	XXX_unrecognized                        []byte                                                                     `json:"-"`
5148	XXX_sizecache                           int32                                                                      `json:"-"`
5149}
5150
5151func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) Reset() {
5152	*m = AnalyzeDataSourceRiskDetails_LDiversityResult{}
5153}
5154func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) String() string {
5155	return proto.CompactTextString(m)
5156}
5157func (*AnalyzeDataSourceRiskDetails_LDiversityResult) ProtoMessage() {}
5158func (*AnalyzeDataSourceRiskDetails_LDiversityResult) Descriptor() ([]byte, []int) {
5159	return fileDescriptor_6872a91dcb80f8dc, []int{39, 3}
5160}
5161
5162func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Unmarshal(b []byte) error {
5163	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.Unmarshal(m, b)
5164}
5165func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5166	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.Marshal(b, m, deterministic)
5167}
5168func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Merge(src proto.Message) {
5169	xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.Merge(m, src)
5170}
5171func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Size() int {
5172	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.Size(m)
5173}
5174func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_DiscardUnknown() {
5175	xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.DiscardUnknown(m)
5176}
5177
5178var xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult proto.InternalMessageInfo
5179
5180func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) GetSensitiveValueFrequencyHistogramBuckets() []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket {
5181	if m != nil {
5182		return m.SensitiveValueFrequencyHistogramBuckets
5183	}
5184	return nil
5185}
5186
5187// The set of columns' values that share the same ldiversity value.
5188type AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass struct {
5189	// Quasi-identifier values defining the k-anonymity equivalence
5190	// class. The order is always the same as the original request.
5191	QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
5192	// Size of the k-anonymity equivalence class.
5193	EquivalenceClassSize int64 `protobuf:"varint,2,opt,name=equivalence_class_size,json=equivalenceClassSize,proto3" json:"equivalence_class_size,omitempty"`
5194	// Number of distinct sensitive values in this equivalence class.
5195	NumDistinctSensitiveValues int64 `protobuf:"varint,3,opt,name=num_distinct_sensitive_values,json=numDistinctSensitiveValues,proto3" json:"num_distinct_sensitive_values,omitempty"`
5196	// Estimated frequencies of top sensitive values.
5197	TopSensitiveValues   []*ValueFrequency `protobuf:"bytes,4,rep,name=top_sensitive_values,json=topSensitiveValues,proto3" json:"top_sensitive_values,omitempty"`
5198	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
5199	XXX_unrecognized     []byte            `json:"-"`
5200	XXX_sizecache        int32             `json:"-"`
5201}
5202
5203func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Reset() {
5204	*m = AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass{}
5205}
5206func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) String() string {
5207	return proto.CompactTextString(m)
5208}
5209func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) ProtoMessage() {}
5210func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Descriptor() ([]byte, []int) {
5211	return fileDescriptor_6872a91dcb80f8dc, []int{39, 3, 0}
5212}
5213
5214func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Unmarshal(b []byte) error {
5215	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.Unmarshal(m, b)
5216}
5217func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5218	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.Marshal(b, m, deterministic)
5219}
5220func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Merge(src proto.Message) {
5221	xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.Merge(m, src)
5222}
5223func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Size() int {
5224	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.Size(m)
5225}
5226func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_DiscardUnknown() {
5227	xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.DiscardUnknown(m)
5228}
5229
5230var xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass proto.InternalMessageInfo
5231
5232func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetQuasiIdsValues() []*Value {
5233	if m != nil {
5234		return m.QuasiIdsValues
5235	}
5236	return nil
5237}
5238
5239func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetEquivalenceClassSize() int64 {
5240	if m != nil {
5241		return m.EquivalenceClassSize
5242	}
5243	return 0
5244}
5245
5246func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetNumDistinctSensitiveValues() int64 {
5247	if m != nil {
5248		return m.NumDistinctSensitiveValues
5249	}
5250	return 0
5251}
5252
5253func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetTopSensitiveValues() []*ValueFrequency {
5254	if m != nil {
5255		return m.TopSensitiveValues
5256	}
5257	return nil
5258}
5259
5260// Histogram of l-diversity equivalence class sensitive value frequencies.
5261type AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket struct {
5262	// Lower bound on the sensitive value frequencies of the equivalence
5263	// classes in this bucket.
5264	SensitiveValueFrequencyLowerBound int64 `protobuf:"varint,1,opt,name=sensitive_value_frequency_lower_bound,json=sensitiveValueFrequencyLowerBound,proto3" json:"sensitive_value_frequency_lower_bound,omitempty"`
5265	// Upper bound on the sensitive value frequencies of the equivalence
5266	// classes in this bucket.
5267	SensitiveValueFrequencyUpperBound int64 `protobuf:"varint,2,opt,name=sensitive_value_frequency_upper_bound,json=sensitiveValueFrequencyUpperBound,proto3" json:"sensitive_value_frequency_upper_bound,omitempty"`
5268	// Total number of equivalence classes in this bucket.
5269	BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
5270	// Sample of equivalence classes in this bucket. The total number of
5271	// classes returned per bucket is capped at 20.
5272	BucketValues []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
5273	// Total number of distinct equivalence classes in this bucket.
5274	BucketValueCount     int64    `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
5275	XXX_NoUnkeyedLiteral struct{} `json:"-"`
5276	XXX_unrecognized     []byte   `json:"-"`
5277	XXX_sizecache        int32    `json:"-"`
5278}
5279
5280func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Reset() {
5281	*m = AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket{}
5282}
5283func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) String() string {
5284	return proto.CompactTextString(m)
5285}
5286func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) ProtoMessage() {}
5287func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Descriptor() ([]byte, []int) {
5288	return fileDescriptor_6872a91dcb80f8dc, []int{39, 3, 1}
5289}
5290
5291func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Unmarshal(b []byte) error {
5292	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.Unmarshal(m, b)
5293}
5294func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5295	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.Marshal(b, m, deterministic)
5296}
5297func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Merge(src proto.Message) {
5298	xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.Merge(m, src)
5299}
5300func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Size() int {
5301	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.Size(m)
5302}
5303func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_DiscardUnknown() {
5304	xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.DiscardUnknown(m)
5305}
5306
5307var xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket proto.InternalMessageInfo
5308
5309func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetSensitiveValueFrequencyLowerBound() int64 {
5310	if m != nil {
5311		return m.SensitiveValueFrequencyLowerBound
5312	}
5313	return 0
5314}
5315
5316func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetSensitiveValueFrequencyUpperBound() int64 {
5317	if m != nil {
5318		return m.SensitiveValueFrequencyUpperBound
5319	}
5320	return 0
5321}
5322
5323func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketSize() int64 {
5324	if m != nil {
5325		return m.BucketSize
5326	}
5327	return 0
5328}
5329
5330func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass {
5331	if m != nil {
5332		return m.BucketValues
5333	}
5334	return nil
5335}
5336
5337func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketValueCount() int64 {
5338	if m != nil {
5339		return m.BucketValueCount
5340	}
5341	return 0
5342}
5343
5344// Result of the reidentifiability analysis. Note that these results are an
5345// estimation, not exact values.
5346type AnalyzeDataSourceRiskDetails_KMapEstimationResult struct {
5347	// The intervals [min_anonymity, max_anonymity] do not overlap. If a value
5348	// doesn't correspond to any such interval, the associated frequency is
5349	// zero. For example, the following records:
5350	//   {min_anonymity: 1, max_anonymity: 1, frequency: 17}
5351	//   {min_anonymity: 2, max_anonymity: 3, frequency: 42}
5352	//   {min_anonymity: 5, max_anonymity: 10, frequency: 99}
5353	// mean that there are no record with an estimated anonymity of 4, 5, or
5354	// larger than 10.
5355	KMapEstimationHistogram []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket `protobuf:"bytes,1,rep,name=k_map_estimation_histogram,json=kMapEstimationHistogram,proto3" json:"k_map_estimation_histogram,omitempty"`
5356	XXX_NoUnkeyedLiteral    struct{}                                                                           `json:"-"`
5357	XXX_unrecognized        []byte                                                                             `json:"-"`
5358	XXX_sizecache           int32                                                                              `json:"-"`
5359}
5360
5361func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) Reset() {
5362	*m = AnalyzeDataSourceRiskDetails_KMapEstimationResult{}
5363}
5364func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) String() string {
5365	return proto.CompactTextString(m)
5366}
5367func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) ProtoMessage() {}
5368func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) Descriptor() ([]byte, []int) {
5369	return fileDescriptor_6872a91dcb80f8dc, []int{39, 4}
5370}
5371
5372func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Unmarshal(b []byte) error {
5373	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.Unmarshal(m, b)
5374}
5375func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5376	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.Marshal(b, m, deterministic)
5377}
5378func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Merge(src proto.Message) {
5379	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.Merge(m, src)
5380}
5381func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Size() int {
5382	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.Size(m)
5383}
5384func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_DiscardUnknown() {
5385	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.DiscardUnknown(m)
5386}
5387
5388var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult proto.InternalMessageInfo
5389
5390func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) GetKMapEstimationHistogram() []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket {
5391	if m != nil {
5392		return m.KMapEstimationHistogram
5393	}
5394	return nil
5395}
5396
5397// A tuple of values for the quasi-identifier columns.
5398type AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues struct {
5399	// The quasi-identifier values.
5400	QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
5401	// The estimated anonymity for these quasi-identifier values.
5402	EstimatedAnonymity   int64    `protobuf:"varint,2,opt,name=estimated_anonymity,json=estimatedAnonymity,proto3" json:"estimated_anonymity,omitempty"`
5403	XXX_NoUnkeyedLiteral struct{} `json:"-"`
5404	XXX_unrecognized     []byte   `json:"-"`
5405	XXX_sizecache        int32    `json:"-"`
5406}
5407
5408func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Reset() {
5409	*m = AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues{}
5410}
5411func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) String() string {
5412	return proto.CompactTextString(m)
5413}
5414func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) ProtoMessage() {}
5415func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Descriptor() ([]byte, []int) {
5416	return fileDescriptor_6872a91dcb80f8dc, []int{39, 4, 0}
5417}
5418
5419func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Unmarshal(b []byte) error {
5420	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.Unmarshal(m, b)
5421}
5422func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5423	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.Marshal(b, m, deterministic)
5424}
5425func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Merge(src proto.Message) {
5426	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.Merge(m, src)
5427}
5428func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Size() int {
5429	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.Size(m)
5430}
5431func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_DiscardUnknown() {
5432	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.DiscardUnknown(m)
5433}
5434
5435var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues proto.InternalMessageInfo
5436
5437func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) GetQuasiIdsValues() []*Value {
5438	if m != nil {
5439		return m.QuasiIdsValues
5440	}
5441	return nil
5442}
5443
5444func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) GetEstimatedAnonymity() int64 {
5445	if m != nil {
5446		return m.EstimatedAnonymity
5447	}
5448	return 0
5449}
5450
5451// A KMapEstimationHistogramBucket message with the following values:
5452//   min_anonymity: 3
5453//   max_anonymity: 5
5454//   frequency: 42
5455// means that there are 42 records whose quasi-identifier values correspond
5456// to 3, 4 or 5 people in the overlying population. An important particular
5457// case is when min_anonymity = max_anonymity = 1: the frequency field then
5458// corresponds to the number of uniquely identifiable records.
5459type AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket struct {
5460	// Always positive.
5461	MinAnonymity int64 `protobuf:"varint,1,opt,name=min_anonymity,json=minAnonymity,proto3" json:"min_anonymity,omitempty"`
5462	// Always greater than or equal to min_anonymity.
5463	MaxAnonymity int64 `protobuf:"varint,2,opt,name=max_anonymity,json=maxAnonymity,proto3" json:"max_anonymity,omitempty"`
5464	// Number of records within these anonymity bounds.
5465	BucketSize int64 `protobuf:"varint,5,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
5466	// Sample of quasi-identifier tuple values in this bucket. The total
5467	// number of classes returned per bucket is capped at 20.
5468	BucketValues []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues `protobuf:"bytes,6,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
5469	// Total number of distinct quasi-identifier tuple values in this bucket.
5470	BucketValueCount     int64    `protobuf:"varint,7,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
5471	XXX_NoUnkeyedLiteral struct{} `json:"-"`
5472	XXX_unrecognized     []byte   `json:"-"`
5473	XXX_sizecache        int32    `json:"-"`
5474}
5475
5476func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Reset() {
5477	*m = AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket{}
5478}
5479func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) String() string {
5480	return proto.CompactTextString(m)
5481}
5482func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) ProtoMessage() {
5483}
5484func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Descriptor() ([]byte, []int) {
5485	return fileDescriptor_6872a91dcb80f8dc, []int{39, 4, 1}
5486}
5487
5488func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Unmarshal(b []byte) error {
5489	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.Unmarshal(m, b)
5490}
5491func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5492	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.Marshal(b, m, deterministic)
5493}
5494func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Merge(src proto.Message) {
5495	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.Merge(m, src)
5496}
5497func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Size() int {
5498	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.Size(m)
5499}
5500func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_DiscardUnknown() {
5501	xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.DiscardUnknown(m)
5502}
5503
5504var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket proto.InternalMessageInfo
5505
5506func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetMinAnonymity() int64 {
5507	if m != nil {
5508		return m.MinAnonymity
5509	}
5510	return 0
5511}
5512
5513func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetMaxAnonymity() int64 {
5514	if m != nil {
5515		return m.MaxAnonymity
5516	}
5517	return 0
5518}
5519
5520func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketSize() int64 {
5521	if m != nil {
5522		return m.BucketSize
5523	}
5524	return 0
5525}
5526
5527func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues {
5528	if m != nil {
5529		return m.BucketValues
5530	}
5531	return nil
5532}
5533
5534func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketValueCount() int64 {
5535	if m != nil {
5536		return m.BucketValueCount
5537	}
5538	return 0
5539}
5540
5541// Result of the δ-presence computation. Note that these results are an
5542// estimation, not exact values.
5543type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult struct {
5544	// The intervals [min_probability, max_probability) do not overlap. If a
5545	// value doesn't correspond to any such interval, the associated frequency
5546	// is zero. For example, the following records:
5547	//   {min_probability: 0, max_probability: 0.1, frequency: 17}
5548	//   {min_probability: 0.2, max_probability: 0.3, frequency: 42}
5549	//   {min_probability: 0.3, max_probability: 0.4, frequency: 99}
5550	// mean that there are no record with an estimated probability in [0.1, 0.2)
5551	// nor larger or equal to 0.4.
5552	DeltaPresenceEstimationHistogram []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket `protobuf:"bytes,1,rep,name=delta_presence_estimation_histogram,json=deltaPresenceEstimationHistogram,proto3" json:"delta_presence_estimation_histogram,omitempty"`
5553	XXX_NoUnkeyedLiteral             struct{}                                                                                             `json:"-"`
5554	XXX_unrecognized                 []byte                                                                                               `json:"-"`
5555	XXX_sizecache                    int32                                                                                                `json:"-"`
5556}
5557
5558func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Reset() {
5559	*m = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult{}
5560}
5561func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) String() string {
5562	return proto.CompactTextString(m)
5563}
5564func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) ProtoMessage() {}
5565func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Descriptor() ([]byte, []int) {
5566	return fileDescriptor_6872a91dcb80f8dc, []int{39, 5}
5567}
5568
5569func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Unmarshal(b []byte) error {
5570	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.Unmarshal(m, b)
5571}
5572func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5573	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.Marshal(b, m, deterministic)
5574}
5575func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Merge(src proto.Message) {
5576	xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.Merge(m, src)
5577}
5578func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Size() int {
5579	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.Size(m)
5580}
5581func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_DiscardUnknown() {
5582	xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.DiscardUnknown(m)
5583}
5584
5585var xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult proto.InternalMessageInfo
5586
5587func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) GetDeltaPresenceEstimationHistogram() []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket {
5588	if m != nil {
5589		return m.DeltaPresenceEstimationHistogram
5590	}
5591	return nil
5592}
5593
5594// A tuple of values for the quasi-identifier columns.
5595type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues struct {
5596	// The quasi-identifier values.
5597	QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
5598	// The estimated probability that a given individual sharing these
5599	// quasi-identifier values is in the dataset. This value, typically called
5600	// δ, is the ratio between the number of records in the dataset with these
5601	// quasi-identifier values, and the total number of individuals (inside
5602	// *and* outside the dataset) with these quasi-identifier values.
5603	// For example, if there are 15 individuals in the dataset who share the
5604	// same quasi-identifier values, and an estimated 100 people in the entire
5605	// population with these values, then δ is 0.15.
5606	EstimatedProbability float64  `protobuf:"fixed64,2,opt,name=estimated_probability,json=estimatedProbability,proto3" json:"estimated_probability,omitempty"`
5607	XXX_NoUnkeyedLiteral struct{} `json:"-"`
5608	XXX_unrecognized     []byte   `json:"-"`
5609	XXX_sizecache        int32    `json:"-"`
5610}
5611
5612func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Reset() {
5613	*m = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues{}
5614}
5615func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) String() string {
5616	return proto.CompactTextString(m)
5617}
5618func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) ProtoMessage() {
5619}
5620func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Descriptor() ([]byte, []int) {
5621	return fileDescriptor_6872a91dcb80f8dc, []int{39, 5, 0}
5622}
5623
5624func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Unmarshal(b []byte) error {
5625	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.Unmarshal(m, b)
5626}
5627func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5628	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.Marshal(b, m, deterministic)
5629}
5630func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Merge(src proto.Message) {
5631	xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.Merge(m, src)
5632}
5633func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Size() int {
5634	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.Size(m)
5635}
5636func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_DiscardUnknown() {
5637	xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.DiscardUnknown(m)
5638}
5639
5640var xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues proto.InternalMessageInfo
5641
5642func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) GetQuasiIdsValues() []*Value {
5643	if m != nil {
5644		return m.QuasiIdsValues
5645	}
5646	return nil
5647}
5648
5649func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) GetEstimatedProbability() float64 {
5650	if m != nil {
5651		return m.EstimatedProbability
5652	}
5653	return 0
5654}
5655
5656// A DeltaPresenceEstimationHistogramBucket message with the following
5657// values:
5658//   min_probability: 0.1
5659//   max_probability: 0.2
5660//   frequency: 42
5661// means that there are 42 records for which δ is in [0.1, 0.2). An
5662// important particular case is when min_probability = max_probability = 1:
5663// then, every individual who shares this quasi-identifier combination is in
5664// the dataset.
5665type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket struct {
5666	// Between 0 and 1.
5667	MinProbability float64 `protobuf:"fixed64,1,opt,name=min_probability,json=minProbability,proto3" json:"min_probability,omitempty"`
5668	// Always greater than or equal to min_probability.
5669	MaxProbability float64 `protobuf:"fixed64,2,opt,name=max_probability,json=maxProbability,proto3" json:"max_probability,omitempty"`
5670	// Number of records within these probability bounds.
5671	BucketSize int64 `protobuf:"varint,5,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
5672	// Sample of quasi-identifier tuple values in this bucket. The total
5673	// number of classes returned per bucket is capped at 20.
5674	BucketValues []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues `protobuf:"bytes,6,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
5675	// Total number of distinct quasi-identifier tuple values in this bucket.
5676	BucketValueCount     int64    `protobuf:"varint,7,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
5677	XXX_NoUnkeyedLiteral struct{} `json:"-"`
5678	XXX_unrecognized     []byte   `json:"-"`
5679	XXX_sizecache        int32    `json:"-"`
5680}
5681
5682func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Reset() {
5683	*m = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket{}
5684}
5685func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) String() string {
5686	return proto.CompactTextString(m)
5687}
5688func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) ProtoMessage() {
5689}
5690func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Descriptor() ([]byte, []int) {
5691	return fileDescriptor_6872a91dcb80f8dc, []int{39, 5, 1}
5692}
5693
5694func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Unmarshal(b []byte) error {
5695	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.Unmarshal(m, b)
5696}
5697func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5698	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.Marshal(b, m, deterministic)
5699}
5700func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Merge(src proto.Message) {
5701	xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.Merge(m, src)
5702}
5703func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Size() int {
5704	return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.Size(m)
5705}
5706func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_DiscardUnknown() {
5707	xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.DiscardUnknown(m)
5708}
5709
5710var xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket proto.InternalMessageInfo
5711
5712func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetMinProbability() float64 {
5713	if m != nil {
5714		return m.MinProbability
5715	}
5716	return 0
5717}
5718
5719func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetMaxProbability() float64 {
5720	if m != nil {
5721		return m.MaxProbability
5722	}
5723	return 0
5724}
5725
5726func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketSize() int64 {
5727	if m != nil {
5728		return m.BucketSize
5729	}
5730	return 0
5731}
5732
5733func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues {
5734	if m != nil {
5735		return m.BucketValues
5736	}
5737	return nil
5738}
5739
5740func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketValueCount() int64 {
5741	if m != nil {
5742		return m.BucketValueCount
5743	}
5744	return 0
5745}
5746
5747// A value of a field, including its frequency.
5748type ValueFrequency struct {
5749	// A value contained in the field in question.
5750	Value *Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
5751	// How many times the value is contained in the field.
5752	Count                int64    `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
5753	XXX_NoUnkeyedLiteral struct{} `json:"-"`
5754	XXX_unrecognized     []byte   `json:"-"`
5755	XXX_sizecache        int32    `json:"-"`
5756}
5757
5758func (m *ValueFrequency) Reset()         { *m = ValueFrequency{} }
5759func (m *ValueFrequency) String() string { return proto.CompactTextString(m) }
5760func (*ValueFrequency) ProtoMessage()    {}
5761func (*ValueFrequency) Descriptor() ([]byte, []int) {
5762	return fileDescriptor_6872a91dcb80f8dc, []int{40}
5763}
5764
5765func (m *ValueFrequency) XXX_Unmarshal(b []byte) error {
5766	return xxx_messageInfo_ValueFrequency.Unmarshal(m, b)
5767}
5768func (m *ValueFrequency) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5769	return xxx_messageInfo_ValueFrequency.Marshal(b, m, deterministic)
5770}
5771func (m *ValueFrequency) XXX_Merge(src proto.Message) {
5772	xxx_messageInfo_ValueFrequency.Merge(m, src)
5773}
5774func (m *ValueFrequency) XXX_Size() int {
5775	return xxx_messageInfo_ValueFrequency.Size(m)
5776}
5777func (m *ValueFrequency) XXX_DiscardUnknown() {
5778	xxx_messageInfo_ValueFrequency.DiscardUnknown(m)
5779}
5780
5781var xxx_messageInfo_ValueFrequency proto.InternalMessageInfo
5782
5783func (m *ValueFrequency) GetValue() *Value {
5784	if m != nil {
5785		return m.Value
5786	}
5787	return nil
5788}
5789
5790func (m *ValueFrequency) GetCount() int64 {
5791	if m != nil {
5792		return m.Count
5793	}
5794	return 0
5795}
5796
5797// Set of primitive values supported by the system.
5798// Note that for the purposes of inspection or transformation, the number
5799// of bytes considered to comprise a 'Value' is based on its representation
5800// as a UTF-8 encoded string. For example, if 'integer_value' is set to
5801// 123456789, the number of bytes would be counted as 9, even though an
5802// int64 only holds up to 8 bytes of data.
5803type Value struct {
5804	// Value types
5805	//
5806	// Types that are valid to be assigned to Type:
5807	//	*Value_IntegerValue
5808	//	*Value_FloatValue
5809	//	*Value_StringValue
5810	//	*Value_BooleanValue
5811	//	*Value_TimestampValue
5812	//	*Value_TimeValue
5813	//	*Value_DateValue
5814	//	*Value_DayOfWeekValue
5815	Type                 isValue_Type `protobuf_oneof:"type"`
5816	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
5817	XXX_unrecognized     []byte       `json:"-"`
5818	XXX_sizecache        int32        `json:"-"`
5819}
5820
5821func (m *Value) Reset()         { *m = Value{} }
5822func (m *Value) String() string { return proto.CompactTextString(m) }
5823func (*Value) ProtoMessage()    {}
5824func (*Value) Descriptor() ([]byte, []int) {
5825	return fileDescriptor_6872a91dcb80f8dc, []int{41}
5826}
5827
5828func (m *Value) XXX_Unmarshal(b []byte) error {
5829	return xxx_messageInfo_Value.Unmarshal(m, b)
5830}
5831func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5832	return xxx_messageInfo_Value.Marshal(b, m, deterministic)
5833}
5834func (m *Value) XXX_Merge(src proto.Message) {
5835	xxx_messageInfo_Value.Merge(m, src)
5836}
5837func (m *Value) XXX_Size() int {
5838	return xxx_messageInfo_Value.Size(m)
5839}
5840func (m *Value) XXX_DiscardUnknown() {
5841	xxx_messageInfo_Value.DiscardUnknown(m)
5842}
5843
5844var xxx_messageInfo_Value proto.InternalMessageInfo
5845
5846type isValue_Type interface {
5847	isValue_Type()
5848}
5849
5850type Value_IntegerValue struct {
5851	IntegerValue int64 `protobuf:"varint,1,opt,name=integer_value,json=integerValue,proto3,oneof"`
5852}
5853
5854type Value_FloatValue struct {
5855	FloatValue float64 `protobuf:"fixed64,2,opt,name=float_value,json=floatValue,proto3,oneof"`
5856}
5857
5858type Value_StringValue struct {
5859	StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
5860}
5861
5862type Value_BooleanValue struct {
5863	BooleanValue bool `protobuf:"varint,4,opt,name=boolean_value,json=booleanValue,proto3,oneof"`
5864}
5865
5866type Value_TimestampValue struct {
5867	TimestampValue *timestamp.Timestamp `protobuf:"bytes,5,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
5868}
5869
5870type Value_TimeValue struct {
5871	TimeValue *timeofday.TimeOfDay `protobuf:"bytes,6,opt,name=time_value,json=timeValue,proto3,oneof"`
5872}
5873
5874type Value_DateValue struct {
5875	DateValue *date.Date `protobuf:"bytes,7,opt,name=date_value,json=dateValue,proto3,oneof"`
5876}
5877
5878type Value_DayOfWeekValue struct {
5879	DayOfWeekValue dayofweek.DayOfWeek `protobuf:"varint,8,opt,name=day_of_week_value,json=dayOfWeekValue,proto3,enum=google.type.DayOfWeek,oneof"`
5880}
5881
5882func (*Value_IntegerValue) isValue_Type() {}
5883
5884func (*Value_FloatValue) isValue_Type() {}
5885
5886func (*Value_StringValue) isValue_Type() {}
5887
5888func (*Value_BooleanValue) isValue_Type() {}
5889
5890func (*Value_TimestampValue) isValue_Type() {}
5891
5892func (*Value_TimeValue) isValue_Type() {}
5893
5894func (*Value_DateValue) isValue_Type() {}
5895
5896func (*Value_DayOfWeekValue) isValue_Type() {}
5897
5898func (m *Value) GetType() isValue_Type {
5899	if m != nil {
5900		return m.Type
5901	}
5902	return nil
5903}
5904
5905func (m *Value) GetIntegerValue() int64 {
5906	if x, ok := m.GetType().(*Value_IntegerValue); ok {
5907		return x.IntegerValue
5908	}
5909	return 0
5910}
5911
5912func (m *Value) GetFloatValue() float64 {
5913	if x, ok := m.GetType().(*Value_FloatValue); ok {
5914		return x.FloatValue
5915	}
5916	return 0
5917}
5918
5919func (m *Value) GetStringValue() string {
5920	if x, ok := m.GetType().(*Value_StringValue); ok {
5921		return x.StringValue
5922	}
5923	return ""
5924}
5925
5926func (m *Value) GetBooleanValue() bool {
5927	if x, ok := m.GetType().(*Value_BooleanValue); ok {
5928		return x.BooleanValue
5929	}
5930	return false
5931}
5932
5933func (m *Value) GetTimestampValue() *timestamp.Timestamp {
5934	if x, ok := m.GetType().(*Value_TimestampValue); ok {
5935		return x.TimestampValue
5936	}
5937	return nil
5938}
5939
5940func (m *Value) GetTimeValue() *timeofday.TimeOfDay {
5941	if x, ok := m.GetType().(*Value_TimeValue); ok {
5942		return x.TimeValue
5943	}
5944	return nil
5945}
5946
5947func (m *Value) GetDateValue() *date.Date {
5948	if x, ok := m.GetType().(*Value_DateValue); ok {
5949		return x.DateValue
5950	}
5951	return nil
5952}
5953
5954func (m *Value) GetDayOfWeekValue() dayofweek.DayOfWeek {
5955	if x, ok := m.GetType().(*Value_DayOfWeekValue); ok {
5956		return x.DayOfWeekValue
5957	}
5958	return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
5959}
5960
5961// XXX_OneofWrappers is for the internal use of the proto package.
5962func (*Value) XXX_OneofWrappers() []interface{} {
5963	return []interface{}{
5964		(*Value_IntegerValue)(nil),
5965		(*Value_FloatValue)(nil),
5966		(*Value_StringValue)(nil),
5967		(*Value_BooleanValue)(nil),
5968		(*Value_TimestampValue)(nil),
5969		(*Value_TimeValue)(nil),
5970		(*Value_DateValue)(nil),
5971		(*Value_DayOfWeekValue)(nil),
5972	}
5973}
5974
5975// Message for infoType-dependent details parsed from quote.
5976type QuoteInfo struct {
5977	// Object representation of the quote.
5978	//
5979	// Types that are valid to be assigned to ParsedQuote:
5980	//	*QuoteInfo_DateTime
5981	ParsedQuote          isQuoteInfo_ParsedQuote `protobuf_oneof:"parsed_quote"`
5982	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
5983	XXX_unrecognized     []byte                  `json:"-"`
5984	XXX_sizecache        int32                   `json:"-"`
5985}
5986
5987func (m *QuoteInfo) Reset()         { *m = QuoteInfo{} }
5988func (m *QuoteInfo) String() string { return proto.CompactTextString(m) }
5989func (*QuoteInfo) ProtoMessage()    {}
5990func (*QuoteInfo) Descriptor() ([]byte, []int) {
5991	return fileDescriptor_6872a91dcb80f8dc, []int{42}
5992}
5993
5994func (m *QuoteInfo) XXX_Unmarshal(b []byte) error {
5995	return xxx_messageInfo_QuoteInfo.Unmarshal(m, b)
5996}
5997func (m *QuoteInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
5998	return xxx_messageInfo_QuoteInfo.Marshal(b, m, deterministic)
5999}
6000func (m *QuoteInfo) XXX_Merge(src proto.Message) {
6001	xxx_messageInfo_QuoteInfo.Merge(m, src)
6002}
6003func (m *QuoteInfo) XXX_Size() int {
6004	return xxx_messageInfo_QuoteInfo.Size(m)
6005}
6006func (m *QuoteInfo) XXX_DiscardUnknown() {
6007	xxx_messageInfo_QuoteInfo.DiscardUnknown(m)
6008}
6009
6010var xxx_messageInfo_QuoteInfo proto.InternalMessageInfo
6011
6012type isQuoteInfo_ParsedQuote interface {
6013	isQuoteInfo_ParsedQuote()
6014}
6015
6016type QuoteInfo_DateTime struct {
6017	DateTime *DateTime `protobuf:"bytes,2,opt,name=date_time,json=dateTime,proto3,oneof"`
6018}
6019
6020func (*QuoteInfo_DateTime) isQuoteInfo_ParsedQuote() {}
6021
6022func (m *QuoteInfo) GetParsedQuote() isQuoteInfo_ParsedQuote {
6023	if m != nil {
6024		return m.ParsedQuote
6025	}
6026	return nil
6027}
6028
6029func (m *QuoteInfo) GetDateTime() *DateTime {
6030	if x, ok := m.GetParsedQuote().(*QuoteInfo_DateTime); ok {
6031		return x.DateTime
6032	}
6033	return nil
6034}
6035
6036// XXX_OneofWrappers is for the internal use of the proto package.
6037func (*QuoteInfo) XXX_OneofWrappers() []interface{} {
6038	return []interface{}{
6039		(*QuoteInfo_DateTime)(nil),
6040	}
6041}
6042
6043// Message for a date time object.
6044// e.g. 2018-01-01, 5th August.
6045type DateTime struct {
6046	// One or more of the following must be set.
6047	// Must be a valid date or time value.
6048	Date *date.Date `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
6049	// Day of week
6050	DayOfWeek dayofweek.DayOfWeek `protobuf:"varint,2,opt,name=day_of_week,json=dayOfWeek,proto3,enum=google.type.DayOfWeek" json:"day_of_week,omitempty"`
6051	// Time of day
6052	Time *timeofday.TimeOfDay `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"`
6053	// Time zone
6054	TimeZone             *DateTime_TimeZone `protobuf:"bytes,4,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
6055	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
6056	XXX_unrecognized     []byte             `json:"-"`
6057	XXX_sizecache        int32              `json:"-"`
6058}
6059
6060func (m *DateTime) Reset()         { *m = DateTime{} }
6061func (m *DateTime) String() string { return proto.CompactTextString(m) }
6062func (*DateTime) ProtoMessage()    {}
6063func (*DateTime) Descriptor() ([]byte, []int) {
6064	return fileDescriptor_6872a91dcb80f8dc, []int{43}
6065}
6066
6067func (m *DateTime) XXX_Unmarshal(b []byte) error {
6068	return xxx_messageInfo_DateTime.Unmarshal(m, b)
6069}
6070func (m *DateTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6071	return xxx_messageInfo_DateTime.Marshal(b, m, deterministic)
6072}
6073func (m *DateTime) XXX_Merge(src proto.Message) {
6074	xxx_messageInfo_DateTime.Merge(m, src)
6075}
6076func (m *DateTime) XXX_Size() int {
6077	return xxx_messageInfo_DateTime.Size(m)
6078}
6079func (m *DateTime) XXX_DiscardUnknown() {
6080	xxx_messageInfo_DateTime.DiscardUnknown(m)
6081}
6082
6083var xxx_messageInfo_DateTime proto.InternalMessageInfo
6084
6085func (m *DateTime) GetDate() *date.Date {
6086	if m != nil {
6087		return m.Date
6088	}
6089	return nil
6090}
6091
6092func (m *DateTime) GetDayOfWeek() dayofweek.DayOfWeek {
6093	if m != nil {
6094		return m.DayOfWeek
6095	}
6096	return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
6097}
6098
6099func (m *DateTime) GetTime() *timeofday.TimeOfDay {
6100	if m != nil {
6101		return m.Time
6102	}
6103	return nil
6104}
6105
6106func (m *DateTime) GetTimeZone() *DateTime_TimeZone {
6107	if m != nil {
6108		return m.TimeZone
6109	}
6110	return nil
6111}
6112
6113// Time zone of the date time object.
6114type DateTime_TimeZone struct {
6115	// Set only if the offset can be determined. Positive for time ahead of UTC.
6116	// E.g. For "UTC-9", this value is -540.
6117	OffsetMinutes        int32    `protobuf:"varint,1,opt,name=offset_minutes,json=offsetMinutes,proto3" json:"offset_minutes,omitempty"`
6118	XXX_NoUnkeyedLiteral struct{} `json:"-"`
6119	XXX_unrecognized     []byte   `json:"-"`
6120	XXX_sizecache        int32    `json:"-"`
6121}
6122
6123func (m *DateTime_TimeZone) Reset()         { *m = DateTime_TimeZone{} }
6124func (m *DateTime_TimeZone) String() string { return proto.CompactTextString(m) }
6125func (*DateTime_TimeZone) ProtoMessage()    {}
6126func (*DateTime_TimeZone) Descriptor() ([]byte, []int) {
6127	return fileDescriptor_6872a91dcb80f8dc, []int{43, 0}
6128}
6129
6130func (m *DateTime_TimeZone) XXX_Unmarshal(b []byte) error {
6131	return xxx_messageInfo_DateTime_TimeZone.Unmarshal(m, b)
6132}
6133func (m *DateTime_TimeZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6134	return xxx_messageInfo_DateTime_TimeZone.Marshal(b, m, deterministic)
6135}
6136func (m *DateTime_TimeZone) XXX_Merge(src proto.Message) {
6137	xxx_messageInfo_DateTime_TimeZone.Merge(m, src)
6138}
6139func (m *DateTime_TimeZone) XXX_Size() int {
6140	return xxx_messageInfo_DateTime_TimeZone.Size(m)
6141}
6142func (m *DateTime_TimeZone) XXX_DiscardUnknown() {
6143	xxx_messageInfo_DateTime_TimeZone.DiscardUnknown(m)
6144}
6145
6146var xxx_messageInfo_DateTime_TimeZone proto.InternalMessageInfo
6147
6148func (m *DateTime_TimeZone) GetOffsetMinutes() int32 {
6149	if m != nil {
6150		return m.OffsetMinutes
6151	}
6152	return 0
6153}
6154
6155// The configuration that controls how the data will change.
6156type DeidentifyConfig struct {
6157	// Types that are valid to be assigned to Transformation:
6158	//	*DeidentifyConfig_InfoTypeTransformations
6159	//	*DeidentifyConfig_RecordTransformations
6160	Transformation isDeidentifyConfig_Transformation `protobuf_oneof:"transformation"`
6161	// Mode for handling transformation errors. If left unspecified, the default
6162	// mode is `TransformationErrorHandling.ThrowError`.
6163	TransformationErrorHandling *TransformationErrorHandling `protobuf:"bytes,3,opt,name=transformation_error_handling,json=transformationErrorHandling,proto3" json:"transformation_error_handling,omitempty"`
6164	XXX_NoUnkeyedLiteral        struct{}                     `json:"-"`
6165	XXX_unrecognized            []byte                       `json:"-"`
6166	XXX_sizecache               int32                        `json:"-"`
6167}
6168
6169func (m *DeidentifyConfig) Reset()         { *m = DeidentifyConfig{} }
6170func (m *DeidentifyConfig) String() string { return proto.CompactTextString(m) }
6171func (*DeidentifyConfig) ProtoMessage()    {}
6172func (*DeidentifyConfig) Descriptor() ([]byte, []int) {
6173	return fileDescriptor_6872a91dcb80f8dc, []int{44}
6174}
6175
6176func (m *DeidentifyConfig) XXX_Unmarshal(b []byte) error {
6177	return xxx_messageInfo_DeidentifyConfig.Unmarshal(m, b)
6178}
6179func (m *DeidentifyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6180	return xxx_messageInfo_DeidentifyConfig.Marshal(b, m, deterministic)
6181}
6182func (m *DeidentifyConfig) XXX_Merge(src proto.Message) {
6183	xxx_messageInfo_DeidentifyConfig.Merge(m, src)
6184}
6185func (m *DeidentifyConfig) XXX_Size() int {
6186	return xxx_messageInfo_DeidentifyConfig.Size(m)
6187}
6188func (m *DeidentifyConfig) XXX_DiscardUnknown() {
6189	xxx_messageInfo_DeidentifyConfig.DiscardUnknown(m)
6190}
6191
6192var xxx_messageInfo_DeidentifyConfig proto.InternalMessageInfo
6193
6194type isDeidentifyConfig_Transformation interface {
6195	isDeidentifyConfig_Transformation()
6196}
6197
6198type DeidentifyConfig_InfoTypeTransformations struct {
6199	InfoTypeTransformations *InfoTypeTransformations `protobuf:"bytes,1,opt,name=info_type_transformations,json=infoTypeTransformations,proto3,oneof"`
6200}
6201
6202type DeidentifyConfig_RecordTransformations struct {
6203	RecordTransformations *RecordTransformations `protobuf:"bytes,2,opt,name=record_transformations,json=recordTransformations,proto3,oneof"`
6204}
6205
6206func (*DeidentifyConfig_InfoTypeTransformations) isDeidentifyConfig_Transformation() {}
6207
6208func (*DeidentifyConfig_RecordTransformations) isDeidentifyConfig_Transformation() {}
6209
6210func (m *DeidentifyConfig) GetTransformation() isDeidentifyConfig_Transformation {
6211	if m != nil {
6212		return m.Transformation
6213	}
6214	return nil
6215}
6216
6217func (m *DeidentifyConfig) GetInfoTypeTransformations() *InfoTypeTransformations {
6218	if x, ok := m.GetTransformation().(*DeidentifyConfig_InfoTypeTransformations); ok {
6219		return x.InfoTypeTransformations
6220	}
6221	return nil
6222}
6223
6224func (m *DeidentifyConfig) GetRecordTransformations() *RecordTransformations {
6225	if x, ok := m.GetTransformation().(*DeidentifyConfig_RecordTransformations); ok {
6226		return x.RecordTransformations
6227	}
6228	return nil
6229}
6230
6231func (m *DeidentifyConfig) GetTransformationErrorHandling() *TransformationErrorHandling {
6232	if m != nil {
6233		return m.TransformationErrorHandling
6234	}
6235	return nil
6236}
6237
6238// XXX_OneofWrappers is for the internal use of the proto package.
6239func (*DeidentifyConfig) XXX_OneofWrappers() []interface{} {
6240	return []interface{}{
6241		(*DeidentifyConfig_InfoTypeTransformations)(nil),
6242		(*DeidentifyConfig_RecordTransformations)(nil),
6243	}
6244}
6245
6246// How to handle transformation errors during de-identification. A
6247// transformation error occurs when the requested transformation is incompatible
6248// with the data. For example, trying to de-identify an IP address using a
6249// `DateShift` transformation would result in a transformation error, since date
6250// info cannot be extracted from an IP address.
6251// Information about any incompatible transformations, and how they were
6252// handled, is returned in the response as part of the
6253// `TransformationOverviews`.
6254type TransformationErrorHandling struct {
6255	// How transformation errors should be handled.
6256	//
6257	// Types that are valid to be assigned to Mode:
6258	//	*TransformationErrorHandling_ThrowError_
6259	//	*TransformationErrorHandling_LeaveUntransformed_
6260	Mode                 isTransformationErrorHandling_Mode `protobuf_oneof:"mode"`
6261	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
6262	XXX_unrecognized     []byte                             `json:"-"`
6263	XXX_sizecache        int32                              `json:"-"`
6264}
6265
6266func (m *TransformationErrorHandling) Reset()         { *m = TransformationErrorHandling{} }
6267func (m *TransformationErrorHandling) String() string { return proto.CompactTextString(m) }
6268func (*TransformationErrorHandling) ProtoMessage()    {}
6269func (*TransformationErrorHandling) Descriptor() ([]byte, []int) {
6270	return fileDescriptor_6872a91dcb80f8dc, []int{45}
6271}
6272
6273func (m *TransformationErrorHandling) XXX_Unmarshal(b []byte) error {
6274	return xxx_messageInfo_TransformationErrorHandling.Unmarshal(m, b)
6275}
6276func (m *TransformationErrorHandling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6277	return xxx_messageInfo_TransformationErrorHandling.Marshal(b, m, deterministic)
6278}
6279func (m *TransformationErrorHandling) XXX_Merge(src proto.Message) {
6280	xxx_messageInfo_TransformationErrorHandling.Merge(m, src)
6281}
6282func (m *TransformationErrorHandling) XXX_Size() int {
6283	return xxx_messageInfo_TransformationErrorHandling.Size(m)
6284}
6285func (m *TransformationErrorHandling) XXX_DiscardUnknown() {
6286	xxx_messageInfo_TransformationErrorHandling.DiscardUnknown(m)
6287}
6288
6289var xxx_messageInfo_TransformationErrorHandling proto.InternalMessageInfo
6290
6291type isTransformationErrorHandling_Mode interface {
6292	isTransformationErrorHandling_Mode()
6293}
6294
6295type TransformationErrorHandling_ThrowError_ struct {
6296	ThrowError *TransformationErrorHandling_ThrowError `protobuf:"bytes,1,opt,name=throw_error,json=throwError,proto3,oneof"`
6297}
6298
6299type TransformationErrorHandling_LeaveUntransformed_ struct {
6300	LeaveUntransformed *TransformationErrorHandling_LeaveUntransformed `protobuf:"bytes,2,opt,name=leave_untransformed,json=leaveUntransformed,proto3,oneof"`
6301}
6302
6303func (*TransformationErrorHandling_ThrowError_) isTransformationErrorHandling_Mode() {}
6304
6305func (*TransformationErrorHandling_LeaveUntransformed_) isTransformationErrorHandling_Mode() {}
6306
6307func (m *TransformationErrorHandling) GetMode() isTransformationErrorHandling_Mode {
6308	if m != nil {
6309		return m.Mode
6310	}
6311	return nil
6312}
6313
6314func (m *TransformationErrorHandling) GetThrowError() *TransformationErrorHandling_ThrowError {
6315	if x, ok := m.GetMode().(*TransformationErrorHandling_ThrowError_); ok {
6316		return x.ThrowError
6317	}
6318	return nil
6319}
6320
6321func (m *TransformationErrorHandling) GetLeaveUntransformed() *TransformationErrorHandling_LeaveUntransformed {
6322	if x, ok := m.GetMode().(*TransformationErrorHandling_LeaveUntransformed_); ok {
6323		return x.LeaveUntransformed
6324	}
6325	return nil
6326}
6327
6328// XXX_OneofWrappers is for the internal use of the proto package.
6329func (*TransformationErrorHandling) XXX_OneofWrappers() []interface{} {
6330	return []interface{}{
6331		(*TransformationErrorHandling_ThrowError_)(nil),
6332		(*TransformationErrorHandling_LeaveUntransformed_)(nil),
6333	}
6334}
6335
6336// Throw an error and fail the request when a transformation error occurs.
6337type TransformationErrorHandling_ThrowError struct {
6338	XXX_NoUnkeyedLiteral struct{} `json:"-"`
6339	XXX_unrecognized     []byte   `json:"-"`
6340	XXX_sizecache        int32    `json:"-"`
6341}
6342
6343func (m *TransformationErrorHandling_ThrowError) Reset() {
6344	*m = TransformationErrorHandling_ThrowError{}
6345}
6346func (m *TransformationErrorHandling_ThrowError) String() string { return proto.CompactTextString(m) }
6347func (*TransformationErrorHandling_ThrowError) ProtoMessage()    {}
6348func (*TransformationErrorHandling_ThrowError) Descriptor() ([]byte, []int) {
6349	return fileDescriptor_6872a91dcb80f8dc, []int{45, 0}
6350}
6351
6352func (m *TransformationErrorHandling_ThrowError) XXX_Unmarshal(b []byte) error {
6353	return xxx_messageInfo_TransformationErrorHandling_ThrowError.Unmarshal(m, b)
6354}
6355func (m *TransformationErrorHandling_ThrowError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6356	return xxx_messageInfo_TransformationErrorHandling_ThrowError.Marshal(b, m, deterministic)
6357}
6358func (m *TransformationErrorHandling_ThrowError) XXX_Merge(src proto.Message) {
6359	xxx_messageInfo_TransformationErrorHandling_ThrowError.Merge(m, src)
6360}
6361func (m *TransformationErrorHandling_ThrowError) XXX_Size() int {
6362	return xxx_messageInfo_TransformationErrorHandling_ThrowError.Size(m)
6363}
6364func (m *TransformationErrorHandling_ThrowError) XXX_DiscardUnknown() {
6365	xxx_messageInfo_TransformationErrorHandling_ThrowError.DiscardUnknown(m)
6366}
6367
6368var xxx_messageInfo_TransformationErrorHandling_ThrowError proto.InternalMessageInfo
6369
6370// Skips the data without modifying it if the requested transformation would
6371// cause an error. For example, if a `DateShift` transformation were applied
6372// an an IP address, this mode would leave the IP address unchanged in the
6373// response.
6374type TransformationErrorHandling_LeaveUntransformed struct {
6375	XXX_NoUnkeyedLiteral struct{} `json:"-"`
6376	XXX_unrecognized     []byte   `json:"-"`
6377	XXX_sizecache        int32    `json:"-"`
6378}
6379
6380func (m *TransformationErrorHandling_LeaveUntransformed) Reset() {
6381	*m = TransformationErrorHandling_LeaveUntransformed{}
6382}
6383func (m *TransformationErrorHandling_LeaveUntransformed) String() string {
6384	return proto.CompactTextString(m)
6385}
6386func (*TransformationErrorHandling_LeaveUntransformed) ProtoMessage() {}
6387func (*TransformationErrorHandling_LeaveUntransformed) Descriptor() ([]byte, []int) {
6388	return fileDescriptor_6872a91dcb80f8dc, []int{45, 1}
6389}
6390
6391func (m *TransformationErrorHandling_LeaveUntransformed) XXX_Unmarshal(b []byte) error {
6392	return xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.Unmarshal(m, b)
6393}
6394func (m *TransformationErrorHandling_LeaveUntransformed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6395	return xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.Marshal(b, m, deterministic)
6396}
6397func (m *TransformationErrorHandling_LeaveUntransformed) XXX_Merge(src proto.Message) {
6398	xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.Merge(m, src)
6399}
6400func (m *TransformationErrorHandling_LeaveUntransformed) XXX_Size() int {
6401	return xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.Size(m)
6402}
6403func (m *TransformationErrorHandling_LeaveUntransformed) XXX_DiscardUnknown() {
6404	xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.DiscardUnknown(m)
6405}
6406
6407var xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed proto.InternalMessageInfo
6408
6409// A rule for transforming a value.
6410type PrimitiveTransformation struct {
6411	// Types that are valid to be assigned to Transformation:
6412	//	*PrimitiveTransformation_ReplaceConfig
6413	//	*PrimitiveTransformation_RedactConfig
6414	//	*PrimitiveTransformation_CharacterMaskConfig
6415	//	*PrimitiveTransformation_CryptoReplaceFfxFpeConfig
6416	//	*PrimitiveTransformation_FixedSizeBucketingConfig
6417	//	*PrimitiveTransformation_BucketingConfig
6418	//	*PrimitiveTransformation_ReplaceWithInfoTypeConfig
6419	//	*PrimitiveTransformation_TimePartConfig
6420	//	*PrimitiveTransformation_CryptoHashConfig
6421	//	*PrimitiveTransformation_DateShiftConfig
6422	//	*PrimitiveTransformation_CryptoDeterministicConfig
6423	Transformation       isPrimitiveTransformation_Transformation `protobuf_oneof:"transformation"`
6424	XXX_NoUnkeyedLiteral struct{}                                 `json:"-"`
6425	XXX_unrecognized     []byte                                   `json:"-"`
6426	XXX_sizecache        int32                                    `json:"-"`
6427}
6428
6429func (m *PrimitiveTransformation) Reset()         { *m = PrimitiveTransformation{} }
6430func (m *PrimitiveTransformation) String() string { return proto.CompactTextString(m) }
6431func (*PrimitiveTransformation) ProtoMessage()    {}
6432func (*PrimitiveTransformation) Descriptor() ([]byte, []int) {
6433	return fileDescriptor_6872a91dcb80f8dc, []int{46}
6434}
6435
6436func (m *PrimitiveTransformation) XXX_Unmarshal(b []byte) error {
6437	return xxx_messageInfo_PrimitiveTransformation.Unmarshal(m, b)
6438}
6439func (m *PrimitiveTransformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6440	return xxx_messageInfo_PrimitiveTransformation.Marshal(b, m, deterministic)
6441}
6442func (m *PrimitiveTransformation) XXX_Merge(src proto.Message) {
6443	xxx_messageInfo_PrimitiveTransformation.Merge(m, src)
6444}
6445func (m *PrimitiveTransformation) XXX_Size() int {
6446	return xxx_messageInfo_PrimitiveTransformation.Size(m)
6447}
6448func (m *PrimitiveTransformation) XXX_DiscardUnknown() {
6449	xxx_messageInfo_PrimitiveTransformation.DiscardUnknown(m)
6450}
6451
6452var xxx_messageInfo_PrimitiveTransformation proto.InternalMessageInfo
6453
6454type isPrimitiveTransformation_Transformation interface {
6455	isPrimitiveTransformation_Transformation()
6456}
6457
6458type PrimitiveTransformation_ReplaceConfig struct {
6459	ReplaceConfig *ReplaceValueConfig `protobuf:"bytes,1,opt,name=replace_config,json=replaceConfig,proto3,oneof"`
6460}
6461
6462type PrimitiveTransformation_RedactConfig struct {
6463	RedactConfig *RedactConfig `protobuf:"bytes,2,opt,name=redact_config,json=redactConfig,proto3,oneof"`
6464}
6465
6466type PrimitiveTransformation_CharacterMaskConfig struct {
6467	CharacterMaskConfig *CharacterMaskConfig `protobuf:"bytes,3,opt,name=character_mask_config,json=characterMaskConfig,proto3,oneof"`
6468}
6469
6470type PrimitiveTransformation_CryptoReplaceFfxFpeConfig struct {
6471	CryptoReplaceFfxFpeConfig *CryptoReplaceFfxFpeConfig `protobuf:"bytes,4,opt,name=crypto_replace_ffx_fpe_config,json=cryptoReplaceFfxFpeConfig,proto3,oneof"`
6472}
6473
6474type PrimitiveTransformation_FixedSizeBucketingConfig struct {
6475	FixedSizeBucketingConfig *FixedSizeBucketingConfig `protobuf:"bytes,5,opt,name=fixed_size_bucketing_config,json=fixedSizeBucketingConfig,proto3,oneof"`
6476}
6477
6478type PrimitiveTransformation_BucketingConfig struct {
6479	BucketingConfig *BucketingConfig `protobuf:"bytes,6,opt,name=bucketing_config,json=bucketingConfig,proto3,oneof"`
6480}
6481
6482type PrimitiveTransformation_ReplaceWithInfoTypeConfig struct {
6483	ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `protobuf:"bytes,7,opt,name=replace_with_info_type_config,json=replaceWithInfoTypeConfig,proto3,oneof"`
6484}
6485
6486type PrimitiveTransformation_TimePartConfig struct {
6487	TimePartConfig *TimePartConfig `protobuf:"bytes,8,opt,name=time_part_config,json=timePartConfig,proto3,oneof"`
6488}
6489
6490type PrimitiveTransformation_CryptoHashConfig struct {
6491	CryptoHashConfig *CryptoHashConfig `protobuf:"bytes,9,opt,name=crypto_hash_config,json=cryptoHashConfig,proto3,oneof"`
6492}
6493
6494type PrimitiveTransformation_DateShiftConfig struct {
6495	DateShiftConfig *DateShiftConfig `protobuf:"bytes,11,opt,name=date_shift_config,json=dateShiftConfig,proto3,oneof"`
6496}
6497
6498type PrimitiveTransformation_CryptoDeterministicConfig struct {
6499	CryptoDeterministicConfig *CryptoDeterministicConfig `protobuf:"bytes,12,opt,name=crypto_deterministic_config,json=cryptoDeterministicConfig,proto3,oneof"`
6500}
6501
6502func (*PrimitiveTransformation_ReplaceConfig) isPrimitiveTransformation_Transformation() {}
6503
6504func (*PrimitiveTransformation_RedactConfig) isPrimitiveTransformation_Transformation() {}
6505
6506func (*PrimitiveTransformation_CharacterMaskConfig) isPrimitiveTransformation_Transformation() {}
6507
6508func (*PrimitiveTransformation_CryptoReplaceFfxFpeConfig) isPrimitiveTransformation_Transformation() {}
6509
6510func (*PrimitiveTransformation_FixedSizeBucketingConfig) isPrimitiveTransformation_Transformation() {}
6511
6512func (*PrimitiveTransformation_BucketingConfig) isPrimitiveTransformation_Transformation() {}
6513
6514func (*PrimitiveTransformation_ReplaceWithInfoTypeConfig) isPrimitiveTransformation_Transformation() {}
6515
6516func (*PrimitiveTransformation_TimePartConfig) isPrimitiveTransformation_Transformation() {}
6517
6518func (*PrimitiveTransformation_CryptoHashConfig) isPrimitiveTransformation_Transformation() {}
6519
6520func (*PrimitiveTransformation_DateShiftConfig) isPrimitiveTransformation_Transformation() {}
6521
6522func (*PrimitiveTransformation_CryptoDeterministicConfig) isPrimitiveTransformation_Transformation() {}
6523
6524func (m *PrimitiveTransformation) GetTransformation() isPrimitiveTransformation_Transformation {
6525	if m != nil {
6526		return m.Transformation
6527	}
6528	return nil
6529}
6530
6531func (m *PrimitiveTransformation) GetReplaceConfig() *ReplaceValueConfig {
6532	if x, ok := m.GetTransformation().(*PrimitiveTransformation_ReplaceConfig); ok {
6533		return x.ReplaceConfig
6534	}
6535	return nil
6536}
6537
6538func (m *PrimitiveTransformation) GetRedactConfig() *RedactConfig {
6539	if x, ok := m.GetTransformation().(*PrimitiveTransformation_RedactConfig); ok {
6540		return x.RedactConfig
6541	}
6542	return nil
6543}
6544
6545func (m *PrimitiveTransformation) GetCharacterMaskConfig() *CharacterMaskConfig {
6546	if x, ok := m.GetTransformation().(*PrimitiveTransformation_CharacterMaskConfig); ok {
6547		return x.CharacterMaskConfig
6548	}
6549	return nil
6550}
6551
6552func (m *PrimitiveTransformation) GetCryptoReplaceFfxFpeConfig() *CryptoReplaceFfxFpeConfig {
6553	if x, ok := m.GetTransformation().(*PrimitiveTransformation_CryptoReplaceFfxFpeConfig); ok {
6554		return x.CryptoReplaceFfxFpeConfig
6555	}
6556	return nil
6557}
6558
6559func (m *PrimitiveTransformation) GetFixedSizeBucketingConfig() *FixedSizeBucketingConfig {
6560	if x, ok := m.GetTransformation().(*PrimitiveTransformation_FixedSizeBucketingConfig); ok {
6561		return x.FixedSizeBucketingConfig
6562	}
6563	return nil
6564}
6565
6566func (m *PrimitiveTransformation) GetBucketingConfig() *BucketingConfig {
6567	if x, ok := m.GetTransformation().(*PrimitiveTransformation_BucketingConfig); ok {
6568		return x.BucketingConfig
6569	}
6570	return nil
6571}
6572
6573func (m *PrimitiveTransformation) GetReplaceWithInfoTypeConfig() *ReplaceWithInfoTypeConfig {
6574	if x, ok := m.GetTransformation().(*PrimitiveTransformation_ReplaceWithInfoTypeConfig); ok {
6575		return x.ReplaceWithInfoTypeConfig
6576	}
6577	return nil
6578}
6579
6580func (m *PrimitiveTransformation) GetTimePartConfig() *TimePartConfig {
6581	if x, ok := m.GetTransformation().(*PrimitiveTransformation_TimePartConfig); ok {
6582		return x.TimePartConfig
6583	}
6584	return nil
6585}
6586
6587func (m *PrimitiveTransformation) GetCryptoHashConfig() *CryptoHashConfig {
6588	if x, ok := m.GetTransformation().(*PrimitiveTransformation_CryptoHashConfig); ok {
6589		return x.CryptoHashConfig
6590	}
6591	return nil
6592}
6593
6594func (m *PrimitiveTransformation) GetDateShiftConfig() *DateShiftConfig {
6595	if x, ok := m.GetTransformation().(*PrimitiveTransformation_DateShiftConfig); ok {
6596		return x.DateShiftConfig
6597	}
6598	return nil
6599}
6600
6601func (m *PrimitiveTransformation) GetCryptoDeterministicConfig() *CryptoDeterministicConfig {
6602	if x, ok := m.GetTransformation().(*PrimitiveTransformation_CryptoDeterministicConfig); ok {
6603		return x.CryptoDeterministicConfig
6604	}
6605	return nil
6606}
6607
6608// XXX_OneofWrappers is for the internal use of the proto package.
6609func (*PrimitiveTransformation) XXX_OneofWrappers() []interface{} {
6610	return []interface{}{
6611		(*PrimitiveTransformation_ReplaceConfig)(nil),
6612		(*PrimitiveTransformation_RedactConfig)(nil),
6613		(*PrimitiveTransformation_CharacterMaskConfig)(nil),
6614		(*PrimitiveTransformation_CryptoReplaceFfxFpeConfig)(nil),
6615		(*PrimitiveTransformation_FixedSizeBucketingConfig)(nil),
6616		(*PrimitiveTransformation_BucketingConfig)(nil),
6617		(*PrimitiveTransformation_ReplaceWithInfoTypeConfig)(nil),
6618		(*PrimitiveTransformation_TimePartConfig)(nil),
6619		(*PrimitiveTransformation_CryptoHashConfig)(nil),
6620		(*PrimitiveTransformation_DateShiftConfig)(nil),
6621		(*PrimitiveTransformation_CryptoDeterministicConfig)(nil),
6622	}
6623}
6624
6625// For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a
6626// portion of the value.
6627type TimePartConfig struct {
6628	// The part of the time to keep.
6629	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"`
6630	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
6631	XXX_unrecognized     []byte                  `json:"-"`
6632	XXX_sizecache        int32                   `json:"-"`
6633}
6634
6635func (m *TimePartConfig) Reset()         { *m = TimePartConfig{} }
6636func (m *TimePartConfig) String() string { return proto.CompactTextString(m) }
6637func (*TimePartConfig) ProtoMessage()    {}
6638func (*TimePartConfig) Descriptor() ([]byte, []int) {
6639	return fileDescriptor_6872a91dcb80f8dc, []int{47}
6640}
6641
6642func (m *TimePartConfig) XXX_Unmarshal(b []byte) error {
6643	return xxx_messageInfo_TimePartConfig.Unmarshal(m, b)
6644}
6645func (m *TimePartConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6646	return xxx_messageInfo_TimePartConfig.Marshal(b, m, deterministic)
6647}
6648func (m *TimePartConfig) XXX_Merge(src proto.Message) {
6649	xxx_messageInfo_TimePartConfig.Merge(m, src)
6650}
6651func (m *TimePartConfig) XXX_Size() int {
6652	return xxx_messageInfo_TimePartConfig.Size(m)
6653}
6654func (m *TimePartConfig) XXX_DiscardUnknown() {
6655	xxx_messageInfo_TimePartConfig.DiscardUnknown(m)
6656}
6657
6658var xxx_messageInfo_TimePartConfig proto.InternalMessageInfo
6659
6660func (m *TimePartConfig) GetPartToExtract() TimePartConfig_TimePart {
6661	if m != nil {
6662		return m.PartToExtract
6663	}
6664	return TimePartConfig_TIME_PART_UNSPECIFIED
6665}
6666
6667// Pseudonymization method that generates surrogates via cryptographic hashing.
6668// Uses SHA-256.
6669// The key size must be either 32 or 64 bytes.
6670// Outputs a base64 encoded representation of the hashed output
6671// (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=).
6672// Currently, only string and integer values can be hashed.
6673// See https://cloud.google.com/dlp/docs/pseudonymization to learn more.
6674type CryptoHashConfig struct {
6675	// The key used by the hash function.
6676	CryptoKey            *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
6677	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
6678	XXX_unrecognized     []byte     `json:"-"`
6679	XXX_sizecache        int32      `json:"-"`
6680}
6681
6682func (m *CryptoHashConfig) Reset()         { *m = CryptoHashConfig{} }
6683func (m *CryptoHashConfig) String() string { return proto.CompactTextString(m) }
6684func (*CryptoHashConfig) ProtoMessage()    {}
6685func (*CryptoHashConfig) Descriptor() ([]byte, []int) {
6686	return fileDescriptor_6872a91dcb80f8dc, []int{48}
6687}
6688
6689func (m *CryptoHashConfig) XXX_Unmarshal(b []byte) error {
6690	return xxx_messageInfo_CryptoHashConfig.Unmarshal(m, b)
6691}
6692func (m *CryptoHashConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6693	return xxx_messageInfo_CryptoHashConfig.Marshal(b, m, deterministic)
6694}
6695func (m *CryptoHashConfig) XXX_Merge(src proto.Message) {
6696	xxx_messageInfo_CryptoHashConfig.Merge(m, src)
6697}
6698func (m *CryptoHashConfig) XXX_Size() int {
6699	return xxx_messageInfo_CryptoHashConfig.Size(m)
6700}
6701func (m *CryptoHashConfig) XXX_DiscardUnknown() {
6702	xxx_messageInfo_CryptoHashConfig.DiscardUnknown(m)
6703}
6704
6705var xxx_messageInfo_CryptoHashConfig proto.InternalMessageInfo
6706
6707func (m *CryptoHashConfig) GetCryptoKey() *CryptoKey {
6708	if m != nil {
6709		return m.CryptoKey
6710	}
6711	return nil
6712}
6713
6714// Pseudonymization method that generates deterministic encryption for the given
6715// input. Outputs a base64 encoded representation of the encrypted output.
6716// Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297.
6717type CryptoDeterministicConfig struct {
6718	// The key used by the encryption function.
6719	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
6720	// The custom info type to annotate the surrogate with.
6721	// This annotation will be applied to the surrogate by prefixing it with
6722	// the name of the custom info type followed by the number of
6723	// characters comprising the surrogate. The following scheme defines the
6724	// format: {info type name}({surrogate character count}):{surrogate}
6725	//
6726	// For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
6727	// the surrogate is 'abc', the full replacement value
6728	// will be: 'MY_TOKEN_INFO_TYPE(3):abc'
6729	//
6730	// This annotation identifies the surrogate when inspecting content using the
6731	// custom info type 'Surrogate'. This facilitates reversal of the
6732	// surrogate when it occurs in free text.
6733	//
6734	// Note: For record transformations where the entire cell in a table is being
6735	// transformed, surrogates are not mandatory. Surrogates are used to denote
6736	// the location of the token and are necessary for re-identification in free
6737	// form text.
6738	//
6739	// In order for inspection to work properly, the name of this info type must
6740	// not occur naturally anywhere in your data; otherwise, inspection may either
6741	//
6742	// - reverse a surrogate that does not correspond to an actual identifier
6743	// - be unable to parse the surrogate and result in an error
6744	//
6745	// Therefore, choose your custom info type name carefully after considering
6746	// what your data looks like. One way to select a name that has a high chance
6747	// of yielding reliable detection is to include one or more unicode characters
6748	// that are highly improbable to exist in your data.
6749	// For example, assuming your data is entered from a regular ASCII keyboard,
6750	// the symbol with the hex code point 29DD might be used like so:
6751	// ⧝MY_TOKEN_TYPE.
6752	SurrogateInfoType *InfoType `protobuf:"bytes,2,opt,name=surrogate_info_type,json=surrogateInfoType,proto3" json:"surrogate_info_type,omitempty"`
6753	// A context may be used for higher security and maintaining
6754	// referential integrity such that the same identifier in two different
6755	// contexts will be given a distinct surrogate. The context is appended to
6756	// plaintext value being encrypted. On decryption the provided context is
6757	// validated against the value used during encryption. If a context was
6758	// provided during encryption, same context must be provided during decryption
6759	// as well.
6760	//
6761	// If the context is not set, plaintext would be used as is for encryption.
6762	// If the context is set but:
6763	//
6764	// 1. there is no record present when transforming a given value or
6765	// 2. the field is not present when transforming a given value,
6766	//
6767	// plaintext would be used as is for encryption.
6768	//
6769	// Note that case (1) is expected when an `InfoTypeTransformation` is
6770	// applied to both structured and non-structured `ContentItem`s.
6771	Context              *FieldId `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
6772	XXX_NoUnkeyedLiteral struct{} `json:"-"`
6773	XXX_unrecognized     []byte   `json:"-"`
6774	XXX_sizecache        int32    `json:"-"`
6775}
6776
6777func (m *CryptoDeterministicConfig) Reset()         { *m = CryptoDeterministicConfig{} }
6778func (m *CryptoDeterministicConfig) String() string { return proto.CompactTextString(m) }
6779func (*CryptoDeterministicConfig) ProtoMessage()    {}
6780func (*CryptoDeterministicConfig) Descriptor() ([]byte, []int) {
6781	return fileDescriptor_6872a91dcb80f8dc, []int{49}
6782}
6783
6784func (m *CryptoDeterministicConfig) XXX_Unmarshal(b []byte) error {
6785	return xxx_messageInfo_CryptoDeterministicConfig.Unmarshal(m, b)
6786}
6787func (m *CryptoDeterministicConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6788	return xxx_messageInfo_CryptoDeterministicConfig.Marshal(b, m, deterministic)
6789}
6790func (m *CryptoDeterministicConfig) XXX_Merge(src proto.Message) {
6791	xxx_messageInfo_CryptoDeterministicConfig.Merge(m, src)
6792}
6793func (m *CryptoDeterministicConfig) XXX_Size() int {
6794	return xxx_messageInfo_CryptoDeterministicConfig.Size(m)
6795}
6796func (m *CryptoDeterministicConfig) XXX_DiscardUnknown() {
6797	xxx_messageInfo_CryptoDeterministicConfig.DiscardUnknown(m)
6798}
6799
6800var xxx_messageInfo_CryptoDeterministicConfig proto.InternalMessageInfo
6801
6802func (m *CryptoDeterministicConfig) GetCryptoKey() *CryptoKey {
6803	if m != nil {
6804		return m.CryptoKey
6805	}
6806	return nil
6807}
6808
6809func (m *CryptoDeterministicConfig) GetSurrogateInfoType() *InfoType {
6810	if m != nil {
6811		return m.SurrogateInfoType
6812	}
6813	return nil
6814}
6815
6816func (m *CryptoDeterministicConfig) GetContext() *FieldId {
6817	if m != nil {
6818		return m.Context
6819	}
6820	return nil
6821}
6822
6823// Replace each input value with a given `Value`.
6824type ReplaceValueConfig struct {
6825	// Value to replace it with.
6826	NewValue             *Value   `protobuf:"bytes,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"`
6827	XXX_NoUnkeyedLiteral struct{} `json:"-"`
6828	XXX_unrecognized     []byte   `json:"-"`
6829	XXX_sizecache        int32    `json:"-"`
6830}
6831
6832func (m *ReplaceValueConfig) Reset()         { *m = ReplaceValueConfig{} }
6833func (m *ReplaceValueConfig) String() string { return proto.CompactTextString(m) }
6834func (*ReplaceValueConfig) ProtoMessage()    {}
6835func (*ReplaceValueConfig) Descriptor() ([]byte, []int) {
6836	return fileDescriptor_6872a91dcb80f8dc, []int{50}
6837}
6838
6839func (m *ReplaceValueConfig) XXX_Unmarshal(b []byte) error {
6840	return xxx_messageInfo_ReplaceValueConfig.Unmarshal(m, b)
6841}
6842func (m *ReplaceValueConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6843	return xxx_messageInfo_ReplaceValueConfig.Marshal(b, m, deterministic)
6844}
6845func (m *ReplaceValueConfig) XXX_Merge(src proto.Message) {
6846	xxx_messageInfo_ReplaceValueConfig.Merge(m, src)
6847}
6848func (m *ReplaceValueConfig) XXX_Size() int {
6849	return xxx_messageInfo_ReplaceValueConfig.Size(m)
6850}
6851func (m *ReplaceValueConfig) XXX_DiscardUnknown() {
6852	xxx_messageInfo_ReplaceValueConfig.DiscardUnknown(m)
6853}
6854
6855var xxx_messageInfo_ReplaceValueConfig proto.InternalMessageInfo
6856
6857func (m *ReplaceValueConfig) GetNewValue() *Value {
6858	if m != nil {
6859		return m.NewValue
6860	}
6861	return nil
6862}
6863
6864// Replace each matching finding with the name of the info_type.
6865type ReplaceWithInfoTypeConfig struct {
6866	XXX_NoUnkeyedLiteral struct{} `json:"-"`
6867	XXX_unrecognized     []byte   `json:"-"`
6868	XXX_sizecache        int32    `json:"-"`
6869}
6870
6871func (m *ReplaceWithInfoTypeConfig) Reset()         { *m = ReplaceWithInfoTypeConfig{} }
6872func (m *ReplaceWithInfoTypeConfig) String() string { return proto.CompactTextString(m) }
6873func (*ReplaceWithInfoTypeConfig) ProtoMessage()    {}
6874func (*ReplaceWithInfoTypeConfig) Descriptor() ([]byte, []int) {
6875	return fileDescriptor_6872a91dcb80f8dc, []int{51}
6876}
6877
6878func (m *ReplaceWithInfoTypeConfig) XXX_Unmarshal(b []byte) error {
6879	return xxx_messageInfo_ReplaceWithInfoTypeConfig.Unmarshal(m, b)
6880}
6881func (m *ReplaceWithInfoTypeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6882	return xxx_messageInfo_ReplaceWithInfoTypeConfig.Marshal(b, m, deterministic)
6883}
6884func (m *ReplaceWithInfoTypeConfig) XXX_Merge(src proto.Message) {
6885	xxx_messageInfo_ReplaceWithInfoTypeConfig.Merge(m, src)
6886}
6887func (m *ReplaceWithInfoTypeConfig) XXX_Size() int {
6888	return xxx_messageInfo_ReplaceWithInfoTypeConfig.Size(m)
6889}
6890func (m *ReplaceWithInfoTypeConfig) XXX_DiscardUnknown() {
6891	xxx_messageInfo_ReplaceWithInfoTypeConfig.DiscardUnknown(m)
6892}
6893
6894var xxx_messageInfo_ReplaceWithInfoTypeConfig proto.InternalMessageInfo
6895
6896// Redact a given value. For example, if used with an `InfoTypeTransformation`
6897// transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
6898// output would be 'My phone number is '.
6899type RedactConfig struct {
6900	XXX_NoUnkeyedLiteral struct{} `json:"-"`
6901	XXX_unrecognized     []byte   `json:"-"`
6902	XXX_sizecache        int32    `json:"-"`
6903}
6904
6905func (m *RedactConfig) Reset()         { *m = RedactConfig{} }
6906func (m *RedactConfig) String() string { return proto.CompactTextString(m) }
6907func (*RedactConfig) ProtoMessage()    {}
6908func (*RedactConfig) Descriptor() ([]byte, []int) {
6909	return fileDescriptor_6872a91dcb80f8dc, []int{52}
6910}
6911
6912func (m *RedactConfig) XXX_Unmarshal(b []byte) error {
6913	return xxx_messageInfo_RedactConfig.Unmarshal(m, b)
6914}
6915func (m *RedactConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6916	return xxx_messageInfo_RedactConfig.Marshal(b, m, deterministic)
6917}
6918func (m *RedactConfig) XXX_Merge(src proto.Message) {
6919	xxx_messageInfo_RedactConfig.Merge(m, src)
6920}
6921func (m *RedactConfig) XXX_Size() int {
6922	return xxx_messageInfo_RedactConfig.Size(m)
6923}
6924func (m *RedactConfig) XXX_DiscardUnknown() {
6925	xxx_messageInfo_RedactConfig.DiscardUnknown(m)
6926}
6927
6928var xxx_messageInfo_RedactConfig proto.InternalMessageInfo
6929
6930// Characters to skip when doing deidentification of a value. These will be left
6931// alone and skipped.
6932type CharsToIgnore struct {
6933	// Types that are valid to be assigned to Characters:
6934	//	*CharsToIgnore_CharactersToSkip
6935	//	*CharsToIgnore_CommonCharactersToIgnore
6936	Characters           isCharsToIgnore_Characters `protobuf_oneof:"characters"`
6937	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
6938	XXX_unrecognized     []byte                     `json:"-"`
6939	XXX_sizecache        int32                      `json:"-"`
6940}
6941
6942func (m *CharsToIgnore) Reset()         { *m = CharsToIgnore{} }
6943func (m *CharsToIgnore) String() string { return proto.CompactTextString(m) }
6944func (*CharsToIgnore) ProtoMessage()    {}
6945func (*CharsToIgnore) Descriptor() ([]byte, []int) {
6946	return fileDescriptor_6872a91dcb80f8dc, []int{53}
6947}
6948
6949func (m *CharsToIgnore) XXX_Unmarshal(b []byte) error {
6950	return xxx_messageInfo_CharsToIgnore.Unmarshal(m, b)
6951}
6952func (m *CharsToIgnore) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
6953	return xxx_messageInfo_CharsToIgnore.Marshal(b, m, deterministic)
6954}
6955func (m *CharsToIgnore) XXX_Merge(src proto.Message) {
6956	xxx_messageInfo_CharsToIgnore.Merge(m, src)
6957}
6958func (m *CharsToIgnore) XXX_Size() int {
6959	return xxx_messageInfo_CharsToIgnore.Size(m)
6960}
6961func (m *CharsToIgnore) XXX_DiscardUnknown() {
6962	xxx_messageInfo_CharsToIgnore.DiscardUnknown(m)
6963}
6964
6965var xxx_messageInfo_CharsToIgnore proto.InternalMessageInfo
6966
6967type isCharsToIgnore_Characters interface {
6968	isCharsToIgnore_Characters()
6969}
6970
6971type CharsToIgnore_CharactersToSkip struct {
6972	CharactersToSkip string `protobuf:"bytes,1,opt,name=characters_to_skip,json=charactersToSkip,proto3,oneof"`
6973}
6974
6975type CharsToIgnore_CommonCharactersToIgnore struct {
6976	CommonCharactersToIgnore CharsToIgnore_CommonCharsToIgnore `protobuf:"varint,2,opt,name=common_characters_to_ignore,json=commonCharactersToIgnore,proto3,enum=google.privacy.dlp.v2.CharsToIgnore_CommonCharsToIgnore,oneof"`
6977}
6978
6979func (*CharsToIgnore_CharactersToSkip) isCharsToIgnore_Characters() {}
6980
6981func (*CharsToIgnore_CommonCharactersToIgnore) isCharsToIgnore_Characters() {}
6982
6983func (m *CharsToIgnore) GetCharacters() isCharsToIgnore_Characters {
6984	if m != nil {
6985		return m.Characters
6986	}
6987	return nil
6988}
6989
6990func (m *CharsToIgnore) GetCharactersToSkip() string {
6991	if x, ok := m.GetCharacters().(*CharsToIgnore_CharactersToSkip); ok {
6992		return x.CharactersToSkip
6993	}
6994	return ""
6995}
6996
6997func (m *CharsToIgnore) GetCommonCharactersToIgnore() CharsToIgnore_CommonCharsToIgnore {
6998	if x, ok := m.GetCharacters().(*CharsToIgnore_CommonCharactersToIgnore); ok {
6999		return x.CommonCharactersToIgnore
7000	}
7001	return CharsToIgnore_COMMON_CHARS_TO_IGNORE_UNSPECIFIED
7002}
7003
7004// XXX_OneofWrappers is for the internal use of the proto package.
7005func (*CharsToIgnore) XXX_OneofWrappers() []interface{} {
7006	return []interface{}{
7007		(*CharsToIgnore_CharactersToSkip)(nil),
7008		(*CharsToIgnore_CommonCharactersToIgnore)(nil),
7009	}
7010}
7011
7012// Partially mask a string by replacing a given number of characters with a
7013// fixed character. Masking can start from the beginning or end of the string.
7014// This can be used on data of any type (numbers, longs, and so on) and when
7015// de-identifying structured data we'll attempt to preserve the original data's
7016// type. (This allows you to take a long like 123 and modify it to a string like
7017// **3.
7018type CharacterMaskConfig struct {
7019	// Character to use to mask the sensitive values&mdash;for example, `*` for an
7020	// alphabetic string such as a name, or `0` for a numeric string such as ZIP
7021	// code or credit card number. This string must have a length of 1. If not
7022	// supplied, this value defaults to `*` for strings, and `0` for digits.
7023	MaskingCharacter string `protobuf:"bytes,1,opt,name=masking_character,json=maskingCharacter,proto3" json:"masking_character,omitempty"`
7024	// Number of characters to mask. If not set, all matching chars will be
7025	// masked. Skipped characters do not count towards this tally.
7026	NumberToMask int32 `protobuf:"varint,2,opt,name=number_to_mask,json=numberToMask,proto3" json:"number_to_mask,omitempty"`
7027	// Mask characters in reverse order. For example, if `masking_character` is
7028	// `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the
7029	// input string `1234-5678-9012-3456` is masked as `00000000000000-3456`.
7030	// If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order`
7031	// is `true`, then the string `12345` is masked as `12***`.
7032	ReverseOrder bool `protobuf:"varint,3,opt,name=reverse_order,json=reverseOrder,proto3" json:"reverse_order,omitempty"`
7033	// When masking a string, items in this list will be skipped when replacing
7034	// characters. For example, if the input string is `555-555-5555` and you
7035	// instruct Cloud DLP to skip `-` and mask 5 characters with `*`, Cloud DLP
7036	// returns `***-**5-5555`.
7037	CharactersToIgnore   []*CharsToIgnore `protobuf:"bytes,4,rep,name=characters_to_ignore,json=charactersToIgnore,proto3" json:"characters_to_ignore,omitempty"`
7038	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
7039	XXX_unrecognized     []byte           `json:"-"`
7040	XXX_sizecache        int32            `json:"-"`
7041}
7042
7043func (m *CharacterMaskConfig) Reset()         { *m = CharacterMaskConfig{} }
7044func (m *CharacterMaskConfig) String() string { return proto.CompactTextString(m) }
7045func (*CharacterMaskConfig) ProtoMessage()    {}
7046func (*CharacterMaskConfig) Descriptor() ([]byte, []int) {
7047	return fileDescriptor_6872a91dcb80f8dc, []int{54}
7048}
7049
7050func (m *CharacterMaskConfig) XXX_Unmarshal(b []byte) error {
7051	return xxx_messageInfo_CharacterMaskConfig.Unmarshal(m, b)
7052}
7053func (m *CharacterMaskConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7054	return xxx_messageInfo_CharacterMaskConfig.Marshal(b, m, deterministic)
7055}
7056func (m *CharacterMaskConfig) XXX_Merge(src proto.Message) {
7057	xxx_messageInfo_CharacterMaskConfig.Merge(m, src)
7058}
7059func (m *CharacterMaskConfig) XXX_Size() int {
7060	return xxx_messageInfo_CharacterMaskConfig.Size(m)
7061}
7062func (m *CharacterMaskConfig) XXX_DiscardUnknown() {
7063	xxx_messageInfo_CharacterMaskConfig.DiscardUnknown(m)
7064}
7065
7066var xxx_messageInfo_CharacterMaskConfig proto.InternalMessageInfo
7067
7068func (m *CharacterMaskConfig) GetMaskingCharacter() string {
7069	if m != nil {
7070		return m.MaskingCharacter
7071	}
7072	return ""
7073}
7074
7075func (m *CharacterMaskConfig) GetNumberToMask() int32 {
7076	if m != nil {
7077		return m.NumberToMask
7078	}
7079	return 0
7080}
7081
7082func (m *CharacterMaskConfig) GetReverseOrder() bool {
7083	if m != nil {
7084		return m.ReverseOrder
7085	}
7086	return false
7087}
7088
7089func (m *CharacterMaskConfig) GetCharactersToIgnore() []*CharsToIgnore {
7090	if m != nil {
7091		return m.CharactersToIgnore
7092	}
7093	return nil
7094}
7095
7096// Buckets values based on fixed size ranges. The
7097// Bucketing transformation can provide all of this functionality,
7098// but requires more configuration. This message is provided as a convenience to
7099// the user for simple bucketing strategies.
7100//
7101// The transformed value will be a hyphenated string of
7102// {lower_bound}-{upper_bound}, i.e if lower_bound = 10 and upper_bound = 20
7103// all values that are within this bucket will be replaced with "10-20".
7104//
7105// This can be used on data of type: double, long.
7106//
7107// If the bound Value type differs from the type of data
7108// being transformed, we will first attempt converting the type of the data to
7109// be transformed to match the type of the bound before comparing.
7110//
7111// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
7112type FixedSizeBucketingConfig struct {
7113	// Required. Lower bound value of buckets. All values less than `lower_bound`
7114	// are grouped together into a single bucket; for example if `lower_bound` =
7115	// 10, then all values less than 10 are replaced with the value “-10”.
7116	LowerBound *Value `protobuf:"bytes,1,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"`
7117	// Required. Upper bound value of buckets. All values greater than upper_bound
7118	// are grouped together into a single bucket; for example if `upper_bound` =
7119	// 89, then all values greater than 89 are replaced with the value “89+”.
7120	UpperBound *Value `protobuf:"bytes,2,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"`
7121	// Required. Size of each bucket (except for minimum and maximum buckets). So
7122	// if `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
7123	// following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
7124	// 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
7125	BucketSize           float64  `protobuf:"fixed64,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
7126	XXX_NoUnkeyedLiteral struct{} `json:"-"`
7127	XXX_unrecognized     []byte   `json:"-"`
7128	XXX_sizecache        int32    `json:"-"`
7129}
7130
7131func (m *FixedSizeBucketingConfig) Reset()         { *m = FixedSizeBucketingConfig{} }
7132func (m *FixedSizeBucketingConfig) String() string { return proto.CompactTextString(m) }
7133func (*FixedSizeBucketingConfig) ProtoMessage()    {}
7134func (*FixedSizeBucketingConfig) Descriptor() ([]byte, []int) {
7135	return fileDescriptor_6872a91dcb80f8dc, []int{55}
7136}
7137
7138func (m *FixedSizeBucketingConfig) XXX_Unmarshal(b []byte) error {
7139	return xxx_messageInfo_FixedSizeBucketingConfig.Unmarshal(m, b)
7140}
7141func (m *FixedSizeBucketingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7142	return xxx_messageInfo_FixedSizeBucketingConfig.Marshal(b, m, deterministic)
7143}
7144func (m *FixedSizeBucketingConfig) XXX_Merge(src proto.Message) {
7145	xxx_messageInfo_FixedSizeBucketingConfig.Merge(m, src)
7146}
7147func (m *FixedSizeBucketingConfig) XXX_Size() int {
7148	return xxx_messageInfo_FixedSizeBucketingConfig.Size(m)
7149}
7150func (m *FixedSizeBucketingConfig) XXX_DiscardUnknown() {
7151	xxx_messageInfo_FixedSizeBucketingConfig.DiscardUnknown(m)
7152}
7153
7154var xxx_messageInfo_FixedSizeBucketingConfig proto.InternalMessageInfo
7155
7156func (m *FixedSizeBucketingConfig) GetLowerBound() *Value {
7157	if m != nil {
7158		return m.LowerBound
7159	}
7160	return nil
7161}
7162
7163func (m *FixedSizeBucketingConfig) GetUpperBound() *Value {
7164	if m != nil {
7165		return m.UpperBound
7166	}
7167	return nil
7168}
7169
7170func (m *FixedSizeBucketingConfig) GetBucketSize() float64 {
7171	if m != nil {
7172		return m.BucketSize
7173	}
7174	return 0
7175}
7176
7177// Generalization function that buckets values based on ranges. The ranges and
7178// replacement values are dynamically provided by the user for custom behavior,
7179// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
7180// This can be used on
7181// data of type: number, long, string, timestamp.
7182// If the bound `Value` type differs from the type of data being transformed, we
7183// will first attempt converting the type of the data to be transformed to match
7184// the type of the bound before comparing.
7185// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
7186type BucketingConfig struct {
7187	// Set of buckets. Ranges must be non-overlapping.
7188	Buckets              []*BucketingConfig_Bucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"`
7189	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
7190	XXX_unrecognized     []byte                    `json:"-"`
7191	XXX_sizecache        int32                     `json:"-"`
7192}
7193
7194func (m *BucketingConfig) Reset()         { *m = BucketingConfig{} }
7195func (m *BucketingConfig) String() string { return proto.CompactTextString(m) }
7196func (*BucketingConfig) ProtoMessage()    {}
7197func (*BucketingConfig) Descriptor() ([]byte, []int) {
7198	return fileDescriptor_6872a91dcb80f8dc, []int{56}
7199}
7200
7201func (m *BucketingConfig) XXX_Unmarshal(b []byte) error {
7202	return xxx_messageInfo_BucketingConfig.Unmarshal(m, b)
7203}
7204func (m *BucketingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7205	return xxx_messageInfo_BucketingConfig.Marshal(b, m, deterministic)
7206}
7207func (m *BucketingConfig) XXX_Merge(src proto.Message) {
7208	xxx_messageInfo_BucketingConfig.Merge(m, src)
7209}
7210func (m *BucketingConfig) XXX_Size() int {
7211	return xxx_messageInfo_BucketingConfig.Size(m)
7212}
7213func (m *BucketingConfig) XXX_DiscardUnknown() {
7214	xxx_messageInfo_BucketingConfig.DiscardUnknown(m)
7215}
7216
7217var xxx_messageInfo_BucketingConfig proto.InternalMessageInfo
7218
7219func (m *BucketingConfig) GetBuckets() []*BucketingConfig_Bucket {
7220	if m != nil {
7221		return m.Buckets
7222	}
7223	return nil
7224}
7225
7226// Bucket is represented as a range, along with replacement values.
7227type BucketingConfig_Bucket struct {
7228	// Lower bound of the range, inclusive. Type should be the same as max if
7229	// used.
7230	Min *Value `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"`
7231	// Upper bound of the range, exclusive; type must match min.
7232	Max *Value `protobuf:"bytes,2,opt,name=max,proto3" json:"max,omitempty"`
7233	// Replacement value for this bucket. If not provided
7234	// the default behavior will be to hyphenate the min-max range.
7235	ReplacementValue     *Value   `protobuf:"bytes,3,opt,name=replacement_value,json=replacementValue,proto3" json:"replacement_value,omitempty"`
7236	XXX_NoUnkeyedLiteral struct{} `json:"-"`
7237	XXX_unrecognized     []byte   `json:"-"`
7238	XXX_sizecache        int32    `json:"-"`
7239}
7240
7241func (m *BucketingConfig_Bucket) Reset()         { *m = BucketingConfig_Bucket{} }
7242func (m *BucketingConfig_Bucket) String() string { return proto.CompactTextString(m) }
7243func (*BucketingConfig_Bucket) ProtoMessage()    {}
7244func (*BucketingConfig_Bucket) Descriptor() ([]byte, []int) {
7245	return fileDescriptor_6872a91dcb80f8dc, []int{56, 0}
7246}
7247
7248func (m *BucketingConfig_Bucket) XXX_Unmarshal(b []byte) error {
7249	return xxx_messageInfo_BucketingConfig_Bucket.Unmarshal(m, b)
7250}
7251func (m *BucketingConfig_Bucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7252	return xxx_messageInfo_BucketingConfig_Bucket.Marshal(b, m, deterministic)
7253}
7254func (m *BucketingConfig_Bucket) XXX_Merge(src proto.Message) {
7255	xxx_messageInfo_BucketingConfig_Bucket.Merge(m, src)
7256}
7257func (m *BucketingConfig_Bucket) XXX_Size() int {
7258	return xxx_messageInfo_BucketingConfig_Bucket.Size(m)
7259}
7260func (m *BucketingConfig_Bucket) XXX_DiscardUnknown() {
7261	xxx_messageInfo_BucketingConfig_Bucket.DiscardUnknown(m)
7262}
7263
7264var xxx_messageInfo_BucketingConfig_Bucket proto.InternalMessageInfo
7265
7266func (m *BucketingConfig_Bucket) GetMin() *Value {
7267	if m != nil {
7268		return m.Min
7269	}
7270	return nil
7271}
7272
7273func (m *BucketingConfig_Bucket) GetMax() *Value {
7274	if m != nil {
7275		return m.Max
7276	}
7277	return nil
7278}
7279
7280func (m *BucketingConfig_Bucket) GetReplacementValue() *Value {
7281	if m != nil {
7282		return m.ReplacementValue
7283	}
7284	return nil
7285}
7286
7287// Replaces an identifier with a surrogate using Format Preserving Encryption
7288// (FPE) with the FFX mode of operation; however when used in the
7289// `ReidentifyContent` API method, it serves the opposite function by reversing
7290// the surrogate back into the original identifier. The identifier must be
7291// encoded as ASCII. For a given crypto key and context, the same identifier
7292// will be replaced with the same surrogate. Identifiers must be at least two
7293// characters long. In the case that the identifier is the empty string, it will
7294// be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn
7295// more.
7296//
7297// Note: We recommend using  CryptoDeterministicConfig for all use cases which
7298// do not require preserving the input alphabet space and size, plus warrant
7299// referential integrity.
7300type CryptoReplaceFfxFpeConfig struct {
7301	// Required. The key used by the encryption algorithm.
7302	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
7303	// The 'tweak', a context may be used for higher security since the same
7304	// identifier in two different contexts won't be given the same surrogate. If
7305	// the context is not set, a default tweak will be used.
7306	//
7307	// If the context is set but:
7308	//
7309	// 1. there is no record present when transforming a given value or
7310	// 1. the field is not present when transforming a given value,
7311	//
7312	// a default tweak will be used.
7313	//
7314	// Note that case (1) is expected when an `InfoTypeTransformation` is
7315	// applied to both structured and non-structured `ContentItem`s.
7316	// Currently, the referenced field may be of value type integer or string.
7317	//
7318	// The tweak is constructed as a sequence of bytes in big endian byte order
7319	// such that:
7320	//
7321	// - a 64 bit integer is encoded followed by a single byte of value 1
7322	// - a string is encoded in UTF-8 format followed by a single byte of value 2
7323	Context *FieldId `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"`
7324	// Choose an alphabet which the data being transformed will be made up of.
7325	//
7326	// Types that are valid to be assigned to Alphabet:
7327	//	*CryptoReplaceFfxFpeConfig_CommonAlphabet
7328	//	*CryptoReplaceFfxFpeConfig_CustomAlphabet
7329	//	*CryptoReplaceFfxFpeConfig_Radix
7330	Alphabet isCryptoReplaceFfxFpeConfig_Alphabet `protobuf_oneof:"alphabet"`
7331	// The custom infoType to annotate the surrogate with.
7332	// This annotation will be applied to the surrogate by prefixing it with
7333	// the name of the custom infoType followed by the number of
7334	// characters comprising the surrogate. The following scheme defines the
7335	// format: info_type_name(surrogate_character_count):surrogate
7336	//
7337	// For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
7338	// the surrogate is 'abc', the full replacement value
7339	// will be: 'MY_TOKEN_INFO_TYPE(3):abc'
7340	//
7341	// This annotation identifies the surrogate when inspecting content using the
7342	// custom infoType
7343	// [`SurrogateType`](/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).
7344	// This facilitates reversal of the surrogate when it occurs in free text.
7345	//
7346	// In order for inspection to work properly, the name of this infoType must
7347	// not occur naturally anywhere in your data; otherwise, inspection may
7348	// find a surrogate that does not correspond to an actual identifier.
7349	// Therefore, choose your custom infoType name carefully after considering
7350	// what your data looks like. One way to select a name that has a high chance
7351	// of yielding reliable detection is to include one or more unicode characters
7352	// that are highly improbable to exist in your data.
7353	// For example, assuming your data is entered from a regular ASCII keyboard,
7354	// the symbol with the hex code point 29DD might be used like so:
7355	// ⧝MY_TOKEN_TYPE
7356	SurrogateInfoType    *InfoType `protobuf:"bytes,8,opt,name=surrogate_info_type,json=surrogateInfoType,proto3" json:"surrogate_info_type,omitempty"`
7357	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
7358	XXX_unrecognized     []byte    `json:"-"`
7359	XXX_sizecache        int32     `json:"-"`
7360}
7361
7362func (m *CryptoReplaceFfxFpeConfig) Reset()         { *m = CryptoReplaceFfxFpeConfig{} }
7363func (m *CryptoReplaceFfxFpeConfig) String() string { return proto.CompactTextString(m) }
7364func (*CryptoReplaceFfxFpeConfig) ProtoMessage()    {}
7365func (*CryptoReplaceFfxFpeConfig) Descriptor() ([]byte, []int) {
7366	return fileDescriptor_6872a91dcb80f8dc, []int{57}
7367}
7368
7369func (m *CryptoReplaceFfxFpeConfig) XXX_Unmarshal(b []byte) error {
7370	return xxx_messageInfo_CryptoReplaceFfxFpeConfig.Unmarshal(m, b)
7371}
7372func (m *CryptoReplaceFfxFpeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7373	return xxx_messageInfo_CryptoReplaceFfxFpeConfig.Marshal(b, m, deterministic)
7374}
7375func (m *CryptoReplaceFfxFpeConfig) XXX_Merge(src proto.Message) {
7376	xxx_messageInfo_CryptoReplaceFfxFpeConfig.Merge(m, src)
7377}
7378func (m *CryptoReplaceFfxFpeConfig) XXX_Size() int {
7379	return xxx_messageInfo_CryptoReplaceFfxFpeConfig.Size(m)
7380}
7381func (m *CryptoReplaceFfxFpeConfig) XXX_DiscardUnknown() {
7382	xxx_messageInfo_CryptoReplaceFfxFpeConfig.DiscardUnknown(m)
7383}
7384
7385var xxx_messageInfo_CryptoReplaceFfxFpeConfig proto.InternalMessageInfo
7386
7387func (m *CryptoReplaceFfxFpeConfig) GetCryptoKey() *CryptoKey {
7388	if m != nil {
7389		return m.CryptoKey
7390	}
7391	return nil
7392}
7393
7394func (m *CryptoReplaceFfxFpeConfig) GetContext() *FieldId {
7395	if m != nil {
7396		return m.Context
7397	}
7398	return nil
7399}
7400
7401type isCryptoReplaceFfxFpeConfig_Alphabet interface {
7402	isCryptoReplaceFfxFpeConfig_Alphabet()
7403}
7404
7405type CryptoReplaceFfxFpeConfig_CommonAlphabet struct {
7406	CommonAlphabet CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet `protobuf:"varint,4,opt,name=common_alphabet,json=commonAlphabet,proto3,enum=google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet,oneof"`
7407}
7408
7409type CryptoReplaceFfxFpeConfig_CustomAlphabet struct {
7410	CustomAlphabet string `protobuf:"bytes,5,opt,name=custom_alphabet,json=customAlphabet,proto3,oneof"`
7411}
7412
7413type CryptoReplaceFfxFpeConfig_Radix struct {
7414	Radix int32 `protobuf:"varint,6,opt,name=radix,proto3,oneof"`
7415}
7416
7417func (*CryptoReplaceFfxFpeConfig_CommonAlphabet) isCryptoReplaceFfxFpeConfig_Alphabet() {}
7418
7419func (*CryptoReplaceFfxFpeConfig_CustomAlphabet) isCryptoReplaceFfxFpeConfig_Alphabet() {}
7420
7421func (*CryptoReplaceFfxFpeConfig_Radix) isCryptoReplaceFfxFpeConfig_Alphabet() {}
7422
7423func (m *CryptoReplaceFfxFpeConfig) GetAlphabet() isCryptoReplaceFfxFpeConfig_Alphabet {
7424	if m != nil {
7425		return m.Alphabet
7426	}
7427	return nil
7428}
7429
7430func (m *CryptoReplaceFfxFpeConfig) GetCommonAlphabet() CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet {
7431	if x, ok := m.GetAlphabet().(*CryptoReplaceFfxFpeConfig_CommonAlphabet); ok {
7432		return x.CommonAlphabet
7433	}
7434	return CryptoReplaceFfxFpeConfig_FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED
7435}
7436
7437func (m *CryptoReplaceFfxFpeConfig) GetCustomAlphabet() string {
7438	if x, ok := m.GetAlphabet().(*CryptoReplaceFfxFpeConfig_CustomAlphabet); ok {
7439		return x.CustomAlphabet
7440	}
7441	return ""
7442}
7443
7444func (m *CryptoReplaceFfxFpeConfig) GetRadix() int32 {
7445	if x, ok := m.GetAlphabet().(*CryptoReplaceFfxFpeConfig_Radix); ok {
7446		return x.Radix
7447	}
7448	return 0
7449}
7450
7451func (m *CryptoReplaceFfxFpeConfig) GetSurrogateInfoType() *InfoType {
7452	if m != nil {
7453		return m.SurrogateInfoType
7454	}
7455	return nil
7456}
7457
7458// XXX_OneofWrappers is for the internal use of the proto package.
7459func (*CryptoReplaceFfxFpeConfig) XXX_OneofWrappers() []interface{} {
7460	return []interface{}{
7461		(*CryptoReplaceFfxFpeConfig_CommonAlphabet)(nil),
7462		(*CryptoReplaceFfxFpeConfig_CustomAlphabet)(nil),
7463		(*CryptoReplaceFfxFpeConfig_Radix)(nil),
7464	}
7465}
7466
7467// This is a data encryption key (DEK) (as opposed to
7468// a key encryption key (KEK) stored by KMS).
7469// When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
7470// IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
7471// unwrap the data crypto key.
7472type CryptoKey struct {
7473	// Sources of crypto keys.
7474	//
7475	// Types that are valid to be assigned to Source:
7476	//	*CryptoKey_Transient
7477	//	*CryptoKey_Unwrapped
7478	//	*CryptoKey_KmsWrapped
7479	Source               isCryptoKey_Source `protobuf_oneof:"source"`
7480	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
7481	XXX_unrecognized     []byte             `json:"-"`
7482	XXX_sizecache        int32              `json:"-"`
7483}
7484
7485func (m *CryptoKey) Reset()         { *m = CryptoKey{} }
7486func (m *CryptoKey) String() string { return proto.CompactTextString(m) }
7487func (*CryptoKey) ProtoMessage()    {}
7488func (*CryptoKey) Descriptor() ([]byte, []int) {
7489	return fileDescriptor_6872a91dcb80f8dc, []int{58}
7490}
7491
7492func (m *CryptoKey) XXX_Unmarshal(b []byte) error {
7493	return xxx_messageInfo_CryptoKey.Unmarshal(m, b)
7494}
7495func (m *CryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7496	return xxx_messageInfo_CryptoKey.Marshal(b, m, deterministic)
7497}
7498func (m *CryptoKey) XXX_Merge(src proto.Message) {
7499	xxx_messageInfo_CryptoKey.Merge(m, src)
7500}
7501func (m *CryptoKey) XXX_Size() int {
7502	return xxx_messageInfo_CryptoKey.Size(m)
7503}
7504func (m *CryptoKey) XXX_DiscardUnknown() {
7505	xxx_messageInfo_CryptoKey.DiscardUnknown(m)
7506}
7507
7508var xxx_messageInfo_CryptoKey proto.InternalMessageInfo
7509
7510type isCryptoKey_Source interface {
7511	isCryptoKey_Source()
7512}
7513
7514type CryptoKey_Transient struct {
7515	Transient *TransientCryptoKey `protobuf:"bytes,1,opt,name=transient,proto3,oneof"`
7516}
7517
7518type CryptoKey_Unwrapped struct {
7519	Unwrapped *UnwrappedCryptoKey `protobuf:"bytes,2,opt,name=unwrapped,proto3,oneof"`
7520}
7521
7522type CryptoKey_KmsWrapped struct {
7523	KmsWrapped *KmsWrappedCryptoKey `protobuf:"bytes,3,opt,name=kms_wrapped,json=kmsWrapped,proto3,oneof"`
7524}
7525
7526func (*CryptoKey_Transient) isCryptoKey_Source() {}
7527
7528func (*CryptoKey_Unwrapped) isCryptoKey_Source() {}
7529
7530func (*CryptoKey_KmsWrapped) isCryptoKey_Source() {}
7531
7532func (m *CryptoKey) GetSource() isCryptoKey_Source {
7533	if m != nil {
7534		return m.Source
7535	}
7536	return nil
7537}
7538
7539func (m *CryptoKey) GetTransient() *TransientCryptoKey {
7540	if x, ok := m.GetSource().(*CryptoKey_Transient); ok {
7541		return x.Transient
7542	}
7543	return nil
7544}
7545
7546func (m *CryptoKey) GetUnwrapped() *UnwrappedCryptoKey {
7547	if x, ok := m.GetSource().(*CryptoKey_Unwrapped); ok {
7548		return x.Unwrapped
7549	}
7550	return nil
7551}
7552
7553func (m *CryptoKey) GetKmsWrapped() *KmsWrappedCryptoKey {
7554	if x, ok := m.GetSource().(*CryptoKey_KmsWrapped); ok {
7555		return x.KmsWrapped
7556	}
7557	return nil
7558}
7559
7560// XXX_OneofWrappers is for the internal use of the proto package.
7561func (*CryptoKey) XXX_OneofWrappers() []interface{} {
7562	return []interface{}{
7563		(*CryptoKey_Transient)(nil),
7564		(*CryptoKey_Unwrapped)(nil),
7565		(*CryptoKey_KmsWrapped)(nil),
7566	}
7567}
7568
7569// Use this to have a random data crypto key generated.
7570// It will be discarded after the request finishes.
7571type TransientCryptoKey struct {
7572	// Required. Name of the key.
7573	// This is an arbitrary string used to differentiate different keys.
7574	// A unique key is generated per name: two separate `TransientCryptoKey`
7575	// protos share the same generated key if their names are the same.
7576	// When the data crypto key is generated, this name is not used in any way
7577	// (repeating the api call will result in a different key being generated).
7578	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
7579	XXX_NoUnkeyedLiteral struct{} `json:"-"`
7580	XXX_unrecognized     []byte   `json:"-"`
7581	XXX_sizecache        int32    `json:"-"`
7582}
7583
7584func (m *TransientCryptoKey) Reset()         { *m = TransientCryptoKey{} }
7585func (m *TransientCryptoKey) String() string { return proto.CompactTextString(m) }
7586func (*TransientCryptoKey) ProtoMessage()    {}
7587func (*TransientCryptoKey) Descriptor() ([]byte, []int) {
7588	return fileDescriptor_6872a91dcb80f8dc, []int{59}
7589}
7590
7591func (m *TransientCryptoKey) XXX_Unmarshal(b []byte) error {
7592	return xxx_messageInfo_TransientCryptoKey.Unmarshal(m, b)
7593}
7594func (m *TransientCryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7595	return xxx_messageInfo_TransientCryptoKey.Marshal(b, m, deterministic)
7596}
7597func (m *TransientCryptoKey) XXX_Merge(src proto.Message) {
7598	xxx_messageInfo_TransientCryptoKey.Merge(m, src)
7599}
7600func (m *TransientCryptoKey) XXX_Size() int {
7601	return xxx_messageInfo_TransientCryptoKey.Size(m)
7602}
7603func (m *TransientCryptoKey) XXX_DiscardUnknown() {
7604	xxx_messageInfo_TransientCryptoKey.DiscardUnknown(m)
7605}
7606
7607var xxx_messageInfo_TransientCryptoKey proto.InternalMessageInfo
7608
7609func (m *TransientCryptoKey) GetName() string {
7610	if m != nil {
7611		return m.Name
7612	}
7613	return ""
7614}
7615
7616// Using raw keys is prone to security risks due to accidentally
7617// leaking the key. Choose another type of key if possible.
7618type UnwrappedCryptoKey struct {
7619	// Required. A 128/192/256 bit key.
7620	Key                  []byte   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
7621	XXX_NoUnkeyedLiteral struct{} `json:"-"`
7622	XXX_unrecognized     []byte   `json:"-"`
7623	XXX_sizecache        int32    `json:"-"`
7624}
7625
7626func (m *UnwrappedCryptoKey) Reset()         { *m = UnwrappedCryptoKey{} }
7627func (m *UnwrappedCryptoKey) String() string { return proto.CompactTextString(m) }
7628func (*UnwrappedCryptoKey) ProtoMessage()    {}
7629func (*UnwrappedCryptoKey) Descriptor() ([]byte, []int) {
7630	return fileDescriptor_6872a91dcb80f8dc, []int{60}
7631}
7632
7633func (m *UnwrappedCryptoKey) XXX_Unmarshal(b []byte) error {
7634	return xxx_messageInfo_UnwrappedCryptoKey.Unmarshal(m, b)
7635}
7636func (m *UnwrappedCryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7637	return xxx_messageInfo_UnwrappedCryptoKey.Marshal(b, m, deterministic)
7638}
7639func (m *UnwrappedCryptoKey) XXX_Merge(src proto.Message) {
7640	xxx_messageInfo_UnwrappedCryptoKey.Merge(m, src)
7641}
7642func (m *UnwrappedCryptoKey) XXX_Size() int {
7643	return xxx_messageInfo_UnwrappedCryptoKey.Size(m)
7644}
7645func (m *UnwrappedCryptoKey) XXX_DiscardUnknown() {
7646	xxx_messageInfo_UnwrappedCryptoKey.DiscardUnknown(m)
7647}
7648
7649var xxx_messageInfo_UnwrappedCryptoKey proto.InternalMessageInfo
7650
7651func (m *UnwrappedCryptoKey) GetKey() []byte {
7652	if m != nil {
7653		return m.Key
7654	}
7655	return nil
7656}
7657
7658// Include to use an existing data crypto key wrapped by KMS.
7659// The wrapped key must be a 128/192/256 bit key.
7660// Authorization requires the following IAM permissions when sending a request
7661// to perform a crypto transformation using a kms-wrapped crypto key:
7662// dlp.kms.encrypt
7663type KmsWrappedCryptoKey struct {
7664	// Required. The wrapped data crypto key.
7665	WrappedKey []byte `protobuf:"bytes,1,opt,name=wrapped_key,json=wrappedKey,proto3" json:"wrapped_key,omitempty"`
7666	// Required. The resource name of the KMS CryptoKey to use for unwrapping.
7667	CryptoKeyName        string   `protobuf:"bytes,2,opt,name=crypto_key_name,json=cryptoKeyName,proto3" json:"crypto_key_name,omitempty"`
7668	XXX_NoUnkeyedLiteral struct{} `json:"-"`
7669	XXX_unrecognized     []byte   `json:"-"`
7670	XXX_sizecache        int32    `json:"-"`
7671}
7672
7673func (m *KmsWrappedCryptoKey) Reset()         { *m = KmsWrappedCryptoKey{} }
7674func (m *KmsWrappedCryptoKey) String() string { return proto.CompactTextString(m) }
7675func (*KmsWrappedCryptoKey) ProtoMessage()    {}
7676func (*KmsWrappedCryptoKey) Descriptor() ([]byte, []int) {
7677	return fileDescriptor_6872a91dcb80f8dc, []int{61}
7678}
7679
7680func (m *KmsWrappedCryptoKey) XXX_Unmarshal(b []byte) error {
7681	return xxx_messageInfo_KmsWrappedCryptoKey.Unmarshal(m, b)
7682}
7683func (m *KmsWrappedCryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7684	return xxx_messageInfo_KmsWrappedCryptoKey.Marshal(b, m, deterministic)
7685}
7686func (m *KmsWrappedCryptoKey) XXX_Merge(src proto.Message) {
7687	xxx_messageInfo_KmsWrappedCryptoKey.Merge(m, src)
7688}
7689func (m *KmsWrappedCryptoKey) XXX_Size() int {
7690	return xxx_messageInfo_KmsWrappedCryptoKey.Size(m)
7691}
7692func (m *KmsWrappedCryptoKey) XXX_DiscardUnknown() {
7693	xxx_messageInfo_KmsWrappedCryptoKey.DiscardUnknown(m)
7694}
7695
7696var xxx_messageInfo_KmsWrappedCryptoKey proto.InternalMessageInfo
7697
7698func (m *KmsWrappedCryptoKey) GetWrappedKey() []byte {
7699	if m != nil {
7700		return m.WrappedKey
7701	}
7702	return nil
7703}
7704
7705func (m *KmsWrappedCryptoKey) GetCryptoKeyName() string {
7706	if m != nil {
7707		return m.CryptoKeyName
7708	}
7709	return ""
7710}
7711
7712// Shifts dates by random number of days, with option to be consistent for the
7713// same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting
7714// to learn more.
7715type DateShiftConfig struct {
7716	// Required. Range of shift in days. Actual shift will be selected at random
7717	// within this range (inclusive ends). Negative means shift to earlier in
7718	// time. Must not be more than 365250 days (1000 years) each direction.
7719	//
7720	// For example, 3 means shift date to at most 3 days into the future.
7721	UpperBoundDays int32 `protobuf:"varint,1,opt,name=upper_bound_days,json=upperBoundDays,proto3" json:"upper_bound_days,omitempty"`
7722	// Required. For example, -5 means shift date to at most 5 days back in the
7723	// past.
7724	LowerBoundDays int32 `protobuf:"varint,2,opt,name=lower_bound_days,json=lowerBoundDays,proto3" json:"lower_bound_days,omitempty"`
7725	// Points to the field that contains the context, for example, an entity id.
7726	// If set, must also set cryptoKey. If set, shift will be consistent for the
7727	// given context.
7728	Context *FieldId `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
7729	// Method for calculating shift that takes context into consideration. If
7730	// set, must also set context. Can only be applied to table items.
7731	//
7732	// Types that are valid to be assigned to Method:
7733	//	*DateShiftConfig_CryptoKey
7734	Method               isDateShiftConfig_Method `protobuf_oneof:"method"`
7735	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
7736	XXX_unrecognized     []byte                   `json:"-"`
7737	XXX_sizecache        int32                    `json:"-"`
7738}
7739
7740func (m *DateShiftConfig) Reset()         { *m = DateShiftConfig{} }
7741func (m *DateShiftConfig) String() string { return proto.CompactTextString(m) }
7742func (*DateShiftConfig) ProtoMessage()    {}
7743func (*DateShiftConfig) Descriptor() ([]byte, []int) {
7744	return fileDescriptor_6872a91dcb80f8dc, []int{62}
7745}
7746
7747func (m *DateShiftConfig) XXX_Unmarshal(b []byte) error {
7748	return xxx_messageInfo_DateShiftConfig.Unmarshal(m, b)
7749}
7750func (m *DateShiftConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7751	return xxx_messageInfo_DateShiftConfig.Marshal(b, m, deterministic)
7752}
7753func (m *DateShiftConfig) XXX_Merge(src proto.Message) {
7754	xxx_messageInfo_DateShiftConfig.Merge(m, src)
7755}
7756func (m *DateShiftConfig) XXX_Size() int {
7757	return xxx_messageInfo_DateShiftConfig.Size(m)
7758}
7759func (m *DateShiftConfig) XXX_DiscardUnknown() {
7760	xxx_messageInfo_DateShiftConfig.DiscardUnknown(m)
7761}
7762
7763var xxx_messageInfo_DateShiftConfig proto.InternalMessageInfo
7764
7765func (m *DateShiftConfig) GetUpperBoundDays() int32 {
7766	if m != nil {
7767		return m.UpperBoundDays
7768	}
7769	return 0
7770}
7771
7772func (m *DateShiftConfig) GetLowerBoundDays() int32 {
7773	if m != nil {
7774		return m.LowerBoundDays
7775	}
7776	return 0
7777}
7778
7779func (m *DateShiftConfig) GetContext() *FieldId {
7780	if m != nil {
7781		return m.Context
7782	}
7783	return nil
7784}
7785
7786type isDateShiftConfig_Method interface {
7787	isDateShiftConfig_Method()
7788}
7789
7790type DateShiftConfig_CryptoKey struct {
7791	CryptoKey *CryptoKey `protobuf:"bytes,4,opt,name=crypto_key,json=cryptoKey,proto3,oneof"`
7792}
7793
7794func (*DateShiftConfig_CryptoKey) isDateShiftConfig_Method() {}
7795
7796func (m *DateShiftConfig) GetMethod() isDateShiftConfig_Method {
7797	if m != nil {
7798		return m.Method
7799	}
7800	return nil
7801}
7802
7803func (m *DateShiftConfig) GetCryptoKey() *CryptoKey {
7804	if x, ok := m.GetMethod().(*DateShiftConfig_CryptoKey); ok {
7805		return x.CryptoKey
7806	}
7807	return nil
7808}
7809
7810// XXX_OneofWrappers is for the internal use of the proto package.
7811func (*DateShiftConfig) XXX_OneofWrappers() []interface{} {
7812	return []interface{}{
7813		(*DateShiftConfig_CryptoKey)(nil),
7814	}
7815}
7816
7817// A type of transformation that will scan unstructured text and
7818// apply various `PrimitiveTransformation`s to each finding, where the
7819// transformation is applied to only values that were identified as a specific
7820// info_type.
7821type InfoTypeTransformations struct {
7822	// Required. Transformation for each infoType. Cannot specify more than one
7823	// for a given infoType.
7824	Transformations      []*InfoTypeTransformations_InfoTypeTransformation `protobuf:"bytes,1,rep,name=transformations,proto3" json:"transformations,omitempty"`
7825	XXX_NoUnkeyedLiteral struct{}                                          `json:"-"`
7826	XXX_unrecognized     []byte                                            `json:"-"`
7827	XXX_sizecache        int32                                             `json:"-"`
7828}
7829
7830func (m *InfoTypeTransformations) Reset()         { *m = InfoTypeTransformations{} }
7831func (m *InfoTypeTransformations) String() string { return proto.CompactTextString(m) }
7832func (*InfoTypeTransformations) ProtoMessage()    {}
7833func (*InfoTypeTransformations) Descriptor() ([]byte, []int) {
7834	return fileDescriptor_6872a91dcb80f8dc, []int{63}
7835}
7836
7837func (m *InfoTypeTransformations) XXX_Unmarshal(b []byte) error {
7838	return xxx_messageInfo_InfoTypeTransformations.Unmarshal(m, b)
7839}
7840func (m *InfoTypeTransformations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7841	return xxx_messageInfo_InfoTypeTransformations.Marshal(b, m, deterministic)
7842}
7843func (m *InfoTypeTransformations) XXX_Merge(src proto.Message) {
7844	xxx_messageInfo_InfoTypeTransformations.Merge(m, src)
7845}
7846func (m *InfoTypeTransformations) XXX_Size() int {
7847	return xxx_messageInfo_InfoTypeTransformations.Size(m)
7848}
7849func (m *InfoTypeTransformations) XXX_DiscardUnknown() {
7850	xxx_messageInfo_InfoTypeTransformations.DiscardUnknown(m)
7851}
7852
7853var xxx_messageInfo_InfoTypeTransformations proto.InternalMessageInfo
7854
7855func (m *InfoTypeTransformations) GetTransformations() []*InfoTypeTransformations_InfoTypeTransformation {
7856	if m != nil {
7857		return m.Transformations
7858	}
7859	return nil
7860}
7861
7862// A transformation to apply to text that is identified as a specific
7863// info_type.
7864type InfoTypeTransformations_InfoTypeTransformation struct {
7865	// InfoTypes to apply the transformation to. An empty list will cause
7866	// this transformation to apply to all findings that correspond to
7867	// infoTypes that were requested in `InspectConfig`.
7868	InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
7869	// Required. Primitive transformation to apply to the infoType.
7870	PrimitiveTransformation *PrimitiveTransformation `protobuf:"bytes,2,opt,name=primitive_transformation,json=primitiveTransformation,proto3" json:"primitive_transformation,omitempty"`
7871	XXX_NoUnkeyedLiteral    struct{}                 `json:"-"`
7872	XXX_unrecognized        []byte                   `json:"-"`
7873	XXX_sizecache           int32                    `json:"-"`
7874}
7875
7876func (m *InfoTypeTransformations_InfoTypeTransformation) Reset() {
7877	*m = InfoTypeTransformations_InfoTypeTransformation{}
7878}
7879func (m *InfoTypeTransformations_InfoTypeTransformation) String() string {
7880	return proto.CompactTextString(m)
7881}
7882func (*InfoTypeTransformations_InfoTypeTransformation) ProtoMessage() {}
7883func (*InfoTypeTransformations_InfoTypeTransformation) Descriptor() ([]byte, []int) {
7884	return fileDescriptor_6872a91dcb80f8dc, []int{63, 0}
7885}
7886
7887func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_Unmarshal(b []byte) error {
7888	return xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.Unmarshal(m, b)
7889}
7890func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7891	return xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.Marshal(b, m, deterministic)
7892}
7893func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_Merge(src proto.Message) {
7894	xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.Merge(m, src)
7895}
7896func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_Size() int {
7897	return xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.Size(m)
7898}
7899func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_DiscardUnknown() {
7900	xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.DiscardUnknown(m)
7901}
7902
7903var xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation proto.InternalMessageInfo
7904
7905func (m *InfoTypeTransformations_InfoTypeTransformation) GetInfoTypes() []*InfoType {
7906	if m != nil {
7907		return m.InfoTypes
7908	}
7909	return nil
7910}
7911
7912func (m *InfoTypeTransformations_InfoTypeTransformation) GetPrimitiveTransformation() *PrimitiveTransformation {
7913	if m != nil {
7914		return m.PrimitiveTransformation
7915	}
7916	return nil
7917}
7918
7919// The transformation to apply to the field.
7920type FieldTransformation struct {
7921	// Required. Input field(s) to apply the transformation to.
7922	Fields []*FieldId `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
7923	// Only apply the transformation if the condition evaluates to true for the
7924	// given `RecordCondition`. The conditions are allowed to reference fields
7925	// that are not used in the actual transformation.
7926	//
7927	// Example Use Cases:
7928	//
7929	// - Apply a different bucket transformation to an age column if the zip code
7930	// column for the same record is within a specific range.
7931	// - Redact a field if the date of birth field is greater than 85.
7932	Condition *RecordCondition `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"`
7933	// Transformation to apply. [required]
7934	//
7935	// Types that are valid to be assigned to Transformation:
7936	//	*FieldTransformation_PrimitiveTransformation
7937	//	*FieldTransformation_InfoTypeTransformations
7938	Transformation       isFieldTransformation_Transformation `protobuf_oneof:"transformation"`
7939	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
7940	XXX_unrecognized     []byte                               `json:"-"`
7941	XXX_sizecache        int32                                `json:"-"`
7942}
7943
7944func (m *FieldTransformation) Reset()         { *m = FieldTransformation{} }
7945func (m *FieldTransformation) String() string { return proto.CompactTextString(m) }
7946func (*FieldTransformation) ProtoMessage()    {}
7947func (*FieldTransformation) Descriptor() ([]byte, []int) {
7948	return fileDescriptor_6872a91dcb80f8dc, []int{64}
7949}
7950
7951func (m *FieldTransformation) XXX_Unmarshal(b []byte) error {
7952	return xxx_messageInfo_FieldTransformation.Unmarshal(m, b)
7953}
7954func (m *FieldTransformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
7955	return xxx_messageInfo_FieldTransformation.Marshal(b, m, deterministic)
7956}
7957func (m *FieldTransformation) XXX_Merge(src proto.Message) {
7958	xxx_messageInfo_FieldTransformation.Merge(m, src)
7959}
7960func (m *FieldTransformation) XXX_Size() int {
7961	return xxx_messageInfo_FieldTransformation.Size(m)
7962}
7963func (m *FieldTransformation) XXX_DiscardUnknown() {
7964	xxx_messageInfo_FieldTransformation.DiscardUnknown(m)
7965}
7966
7967var xxx_messageInfo_FieldTransformation proto.InternalMessageInfo
7968
7969func (m *FieldTransformation) GetFields() []*FieldId {
7970	if m != nil {
7971		return m.Fields
7972	}
7973	return nil
7974}
7975
7976func (m *FieldTransformation) GetCondition() *RecordCondition {
7977	if m != nil {
7978		return m.Condition
7979	}
7980	return nil
7981}
7982
7983type isFieldTransformation_Transformation interface {
7984	isFieldTransformation_Transformation()
7985}
7986
7987type FieldTransformation_PrimitiveTransformation struct {
7988	PrimitiveTransformation *PrimitiveTransformation `protobuf:"bytes,4,opt,name=primitive_transformation,json=primitiveTransformation,proto3,oneof"`
7989}
7990
7991type FieldTransformation_InfoTypeTransformations struct {
7992	InfoTypeTransformations *InfoTypeTransformations `protobuf:"bytes,5,opt,name=info_type_transformations,json=infoTypeTransformations,proto3,oneof"`
7993}
7994
7995func (*FieldTransformation_PrimitiveTransformation) isFieldTransformation_Transformation() {}
7996
7997func (*FieldTransformation_InfoTypeTransformations) isFieldTransformation_Transformation() {}
7998
7999func (m *FieldTransformation) GetTransformation() isFieldTransformation_Transformation {
8000	if m != nil {
8001		return m.Transformation
8002	}
8003	return nil
8004}
8005
8006func (m *FieldTransformation) GetPrimitiveTransformation() *PrimitiveTransformation {
8007	if x, ok := m.GetTransformation().(*FieldTransformation_PrimitiveTransformation); ok {
8008		return x.PrimitiveTransformation
8009	}
8010	return nil
8011}
8012
8013func (m *FieldTransformation) GetInfoTypeTransformations() *InfoTypeTransformations {
8014	if x, ok := m.GetTransformation().(*FieldTransformation_InfoTypeTransformations); ok {
8015		return x.InfoTypeTransformations
8016	}
8017	return nil
8018}
8019
8020// XXX_OneofWrappers is for the internal use of the proto package.
8021func (*FieldTransformation) XXX_OneofWrappers() []interface{} {
8022	return []interface{}{
8023		(*FieldTransformation_PrimitiveTransformation)(nil),
8024		(*FieldTransformation_InfoTypeTransformations)(nil),
8025	}
8026}
8027
8028// A type of transformation that is applied over structured data such as a
8029// table.
8030type RecordTransformations struct {
8031	// Transform the record by applying various field transformations.
8032	FieldTransformations []*FieldTransformation `protobuf:"bytes,1,rep,name=field_transformations,json=fieldTransformations,proto3" json:"field_transformations,omitempty"`
8033	// Configuration defining which records get suppressed entirely. Records that
8034	// match any suppression rule are omitted from the output.
8035	RecordSuppressions   []*RecordSuppression `protobuf:"bytes,2,rep,name=record_suppressions,json=recordSuppressions,proto3" json:"record_suppressions,omitempty"`
8036	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
8037	XXX_unrecognized     []byte               `json:"-"`
8038	XXX_sizecache        int32                `json:"-"`
8039}
8040
8041func (m *RecordTransformations) Reset()         { *m = RecordTransformations{} }
8042func (m *RecordTransformations) String() string { return proto.CompactTextString(m) }
8043func (*RecordTransformations) ProtoMessage()    {}
8044func (*RecordTransformations) Descriptor() ([]byte, []int) {
8045	return fileDescriptor_6872a91dcb80f8dc, []int{65}
8046}
8047
8048func (m *RecordTransformations) XXX_Unmarshal(b []byte) error {
8049	return xxx_messageInfo_RecordTransformations.Unmarshal(m, b)
8050}
8051func (m *RecordTransformations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8052	return xxx_messageInfo_RecordTransformations.Marshal(b, m, deterministic)
8053}
8054func (m *RecordTransformations) XXX_Merge(src proto.Message) {
8055	xxx_messageInfo_RecordTransformations.Merge(m, src)
8056}
8057func (m *RecordTransformations) XXX_Size() int {
8058	return xxx_messageInfo_RecordTransformations.Size(m)
8059}
8060func (m *RecordTransformations) XXX_DiscardUnknown() {
8061	xxx_messageInfo_RecordTransformations.DiscardUnknown(m)
8062}
8063
8064var xxx_messageInfo_RecordTransformations proto.InternalMessageInfo
8065
8066func (m *RecordTransformations) GetFieldTransformations() []*FieldTransformation {
8067	if m != nil {
8068		return m.FieldTransformations
8069	}
8070	return nil
8071}
8072
8073func (m *RecordTransformations) GetRecordSuppressions() []*RecordSuppression {
8074	if m != nil {
8075		return m.RecordSuppressions
8076	}
8077	return nil
8078}
8079
8080// Configuration to suppress records whose suppression conditions evaluate to
8081// true.
8082type RecordSuppression struct {
8083	// A condition that when it evaluates to true will result in the record being
8084	// evaluated to be suppressed from the transformed content.
8085	Condition            *RecordCondition `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"`
8086	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
8087	XXX_unrecognized     []byte           `json:"-"`
8088	XXX_sizecache        int32            `json:"-"`
8089}
8090
8091func (m *RecordSuppression) Reset()         { *m = RecordSuppression{} }
8092func (m *RecordSuppression) String() string { return proto.CompactTextString(m) }
8093func (*RecordSuppression) ProtoMessage()    {}
8094func (*RecordSuppression) Descriptor() ([]byte, []int) {
8095	return fileDescriptor_6872a91dcb80f8dc, []int{66}
8096}
8097
8098func (m *RecordSuppression) XXX_Unmarshal(b []byte) error {
8099	return xxx_messageInfo_RecordSuppression.Unmarshal(m, b)
8100}
8101func (m *RecordSuppression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8102	return xxx_messageInfo_RecordSuppression.Marshal(b, m, deterministic)
8103}
8104func (m *RecordSuppression) XXX_Merge(src proto.Message) {
8105	xxx_messageInfo_RecordSuppression.Merge(m, src)
8106}
8107func (m *RecordSuppression) XXX_Size() int {
8108	return xxx_messageInfo_RecordSuppression.Size(m)
8109}
8110func (m *RecordSuppression) XXX_DiscardUnknown() {
8111	xxx_messageInfo_RecordSuppression.DiscardUnknown(m)
8112}
8113
8114var xxx_messageInfo_RecordSuppression proto.InternalMessageInfo
8115
8116func (m *RecordSuppression) GetCondition() *RecordCondition {
8117	if m != nil {
8118		return m.Condition
8119	}
8120	return nil
8121}
8122
8123// A condition for determining whether a transformation should be applied to
8124// a field.
8125type RecordCondition struct {
8126	// An expression.
8127	Expressions          *RecordCondition_Expressions `protobuf:"bytes,3,opt,name=expressions,proto3" json:"expressions,omitempty"`
8128	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
8129	XXX_unrecognized     []byte                       `json:"-"`
8130	XXX_sizecache        int32                        `json:"-"`
8131}
8132
8133func (m *RecordCondition) Reset()         { *m = RecordCondition{} }
8134func (m *RecordCondition) String() string { return proto.CompactTextString(m) }
8135func (*RecordCondition) ProtoMessage()    {}
8136func (*RecordCondition) Descriptor() ([]byte, []int) {
8137	return fileDescriptor_6872a91dcb80f8dc, []int{67}
8138}
8139
8140func (m *RecordCondition) XXX_Unmarshal(b []byte) error {
8141	return xxx_messageInfo_RecordCondition.Unmarshal(m, b)
8142}
8143func (m *RecordCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8144	return xxx_messageInfo_RecordCondition.Marshal(b, m, deterministic)
8145}
8146func (m *RecordCondition) XXX_Merge(src proto.Message) {
8147	xxx_messageInfo_RecordCondition.Merge(m, src)
8148}
8149func (m *RecordCondition) XXX_Size() int {
8150	return xxx_messageInfo_RecordCondition.Size(m)
8151}
8152func (m *RecordCondition) XXX_DiscardUnknown() {
8153	xxx_messageInfo_RecordCondition.DiscardUnknown(m)
8154}
8155
8156var xxx_messageInfo_RecordCondition proto.InternalMessageInfo
8157
8158func (m *RecordCondition) GetExpressions() *RecordCondition_Expressions {
8159	if m != nil {
8160		return m.Expressions
8161	}
8162	return nil
8163}
8164
8165// The field type of `value` and `field` do not need to match to be
8166// considered equal, but not all comparisons are possible.
8167// EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types,
8168// but all other comparisons are invalid with incompatible types.
8169// A `value` of type:
8170//
8171// - `string` can be compared against all other types
8172// - `boolean` can only be compared against other booleans
8173// - `integer` can be compared against doubles or a string if the string value
8174// can be parsed as an integer.
8175// - `double` can be compared against integers or a string if the string can
8176// be parsed as a double.
8177// - `Timestamp` can be compared against strings in RFC 3339 date string
8178// format.
8179// - `TimeOfDay` can be compared against timestamps and strings in the format
8180// of 'HH:mm:ss'.
8181//
8182// If we fail to compare do to type mismatch, a warning will be given and
8183// the condition will evaluate to false.
8184type RecordCondition_Condition struct {
8185	// Required. Field within the record this condition is evaluated against.
8186	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
8187	// Required. Operator used to compare the field or infoType to the value.
8188	Operator RelationalOperator `protobuf:"varint,3,opt,name=operator,proto3,enum=google.privacy.dlp.v2.RelationalOperator" json:"operator,omitempty"`
8189	// Value to compare against. [Mandatory, except for `EXISTS` tests.]
8190	Value                *Value   `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
8191	XXX_NoUnkeyedLiteral struct{} `json:"-"`
8192	XXX_unrecognized     []byte   `json:"-"`
8193	XXX_sizecache        int32    `json:"-"`
8194}
8195
8196func (m *RecordCondition_Condition) Reset()         { *m = RecordCondition_Condition{} }
8197func (m *RecordCondition_Condition) String() string { return proto.CompactTextString(m) }
8198func (*RecordCondition_Condition) ProtoMessage()    {}
8199func (*RecordCondition_Condition) Descriptor() ([]byte, []int) {
8200	return fileDescriptor_6872a91dcb80f8dc, []int{67, 0}
8201}
8202
8203func (m *RecordCondition_Condition) XXX_Unmarshal(b []byte) error {
8204	return xxx_messageInfo_RecordCondition_Condition.Unmarshal(m, b)
8205}
8206func (m *RecordCondition_Condition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8207	return xxx_messageInfo_RecordCondition_Condition.Marshal(b, m, deterministic)
8208}
8209func (m *RecordCondition_Condition) XXX_Merge(src proto.Message) {
8210	xxx_messageInfo_RecordCondition_Condition.Merge(m, src)
8211}
8212func (m *RecordCondition_Condition) XXX_Size() int {
8213	return xxx_messageInfo_RecordCondition_Condition.Size(m)
8214}
8215func (m *RecordCondition_Condition) XXX_DiscardUnknown() {
8216	xxx_messageInfo_RecordCondition_Condition.DiscardUnknown(m)
8217}
8218
8219var xxx_messageInfo_RecordCondition_Condition proto.InternalMessageInfo
8220
8221func (m *RecordCondition_Condition) GetField() *FieldId {
8222	if m != nil {
8223		return m.Field
8224	}
8225	return nil
8226}
8227
8228func (m *RecordCondition_Condition) GetOperator() RelationalOperator {
8229	if m != nil {
8230		return m.Operator
8231	}
8232	return RelationalOperator_RELATIONAL_OPERATOR_UNSPECIFIED
8233}
8234
8235func (m *RecordCondition_Condition) GetValue() *Value {
8236	if m != nil {
8237		return m.Value
8238	}
8239	return nil
8240}
8241
8242// A collection of conditions.
8243type RecordCondition_Conditions struct {
8244	// A collection of conditions.
8245	Conditions           []*RecordCondition_Condition `protobuf:"bytes,1,rep,name=conditions,proto3" json:"conditions,omitempty"`
8246	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
8247	XXX_unrecognized     []byte                       `json:"-"`
8248	XXX_sizecache        int32                        `json:"-"`
8249}
8250
8251func (m *RecordCondition_Conditions) Reset()         { *m = RecordCondition_Conditions{} }
8252func (m *RecordCondition_Conditions) String() string { return proto.CompactTextString(m) }
8253func (*RecordCondition_Conditions) ProtoMessage()    {}
8254func (*RecordCondition_Conditions) Descriptor() ([]byte, []int) {
8255	return fileDescriptor_6872a91dcb80f8dc, []int{67, 1}
8256}
8257
8258func (m *RecordCondition_Conditions) XXX_Unmarshal(b []byte) error {
8259	return xxx_messageInfo_RecordCondition_Conditions.Unmarshal(m, b)
8260}
8261func (m *RecordCondition_Conditions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8262	return xxx_messageInfo_RecordCondition_Conditions.Marshal(b, m, deterministic)
8263}
8264func (m *RecordCondition_Conditions) XXX_Merge(src proto.Message) {
8265	xxx_messageInfo_RecordCondition_Conditions.Merge(m, src)
8266}
8267func (m *RecordCondition_Conditions) XXX_Size() int {
8268	return xxx_messageInfo_RecordCondition_Conditions.Size(m)
8269}
8270func (m *RecordCondition_Conditions) XXX_DiscardUnknown() {
8271	xxx_messageInfo_RecordCondition_Conditions.DiscardUnknown(m)
8272}
8273
8274var xxx_messageInfo_RecordCondition_Conditions proto.InternalMessageInfo
8275
8276func (m *RecordCondition_Conditions) GetConditions() []*RecordCondition_Condition {
8277	if m != nil {
8278		return m.Conditions
8279	}
8280	return nil
8281}
8282
8283// An expression, consisting or an operator and conditions.
8284type RecordCondition_Expressions struct {
8285	// The operator to apply to the result of conditions. Default and currently
8286	// only supported value is `AND`.
8287	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"`
8288	// Expression types.
8289	//
8290	// Types that are valid to be assigned to Type:
8291	//	*RecordCondition_Expressions_Conditions
8292	Type                 isRecordCondition_Expressions_Type `protobuf_oneof:"type"`
8293	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
8294	XXX_unrecognized     []byte                             `json:"-"`
8295	XXX_sizecache        int32                              `json:"-"`
8296}
8297
8298func (m *RecordCondition_Expressions) Reset()         { *m = RecordCondition_Expressions{} }
8299func (m *RecordCondition_Expressions) String() string { return proto.CompactTextString(m) }
8300func (*RecordCondition_Expressions) ProtoMessage()    {}
8301func (*RecordCondition_Expressions) Descriptor() ([]byte, []int) {
8302	return fileDescriptor_6872a91dcb80f8dc, []int{67, 2}
8303}
8304
8305func (m *RecordCondition_Expressions) XXX_Unmarshal(b []byte) error {
8306	return xxx_messageInfo_RecordCondition_Expressions.Unmarshal(m, b)
8307}
8308func (m *RecordCondition_Expressions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8309	return xxx_messageInfo_RecordCondition_Expressions.Marshal(b, m, deterministic)
8310}
8311func (m *RecordCondition_Expressions) XXX_Merge(src proto.Message) {
8312	xxx_messageInfo_RecordCondition_Expressions.Merge(m, src)
8313}
8314func (m *RecordCondition_Expressions) XXX_Size() int {
8315	return xxx_messageInfo_RecordCondition_Expressions.Size(m)
8316}
8317func (m *RecordCondition_Expressions) XXX_DiscardUnknown() {
8318	xxx_messageInfo_RecordCondition_Expressions.DiscardUnknown(m)
8319}
8320
8321var xxx_messageInfo_RecordCondition_Expressions proto.InternalMessageInfo
8322
8323func (m *RecordCondition_Expressions) GetLogicalOperator() RecordCondition_Expressions_LogicalOperator {
8324	if m != nil {
8325		return m.LogicalOperator
8326	}
8327	return RecordCondition_Expressions_LOGICAL_OPERATOR_UNSPECIFIED
8328}
8329
8330type isRecordCondition_Expressions_Type interface {
8331	isRecordCondition_Expressions_Type()
8332}
8333
8334type RecordCondition_Expressions_Conditions struct {
8335	Conditions *RecordCondition_Conditions `protobuf:"bytes,3,opt,name=conditions,proto3,oneof"`
8336}
8337
8338func (*RecordCondition_Expressions_Conditions) isRecordCondition_Expressions_Type() {}
8339
8340func (m *RecordCondition_Expressions) GetType() isRecordCondition_Expressions_Type {
8341	if m != nil {
8342		return m.Type
8343	}
8344	return nil
8345}
8346
8347func (m *RecordCondition_Expressions) GetConditions() *RecordCondition_Conditions {
8348	if x, ok := m.GetType().(*RecordCondition_Expressions_Conditions); ok {
8349		return x.Conditions
8350	}
8351	return nil
8352}
8353
8354// XXX_OneofWrappers is for the internal use of the proto package.
8355func (*RecordCondition_Expressions) XXX_OneofWrappers() []interface{} {
8356	return []interface{}{
8357		(*RecordCondition_Expressions_Conditions)(nil),
8358	}
8359}
8360
8361// Overview of the modifications that occurred.
8362type TransformationOverview struct {
8363	// Total size in bytes that were transformed in some way.
8364	TransformedBytes int64 `protobuf:"varint,2,opt,name=transformed_bytes,json=transformedBytes,proto3" json:"transformed_bytes,omitempty"`
8365	// Transformations applied to the dataset.
8366	TransformationSummaries []*TransformationSummary `protobuf:"bytes,3,rep,name=transformation_summaries,json=transformationSummaries,proto3" json:"transformation_summaries,omitempty"`
8367	XXX_NoUnkeyedLiteral    struct{}                 `json:"-"`
8368	XXX_unrecognized        []byte                   `json:"-"`
8369	XXX_sizecache           int32                    `json:"-"`
8370}
8371
8372func (m *TransformationOverview) Reset()         { *m = TransformationOverview{} }
8373func (m *TransformationOverview) String() string { return proto.CompactTextString(m) }
8374func (*TransformationOverview) ProtoMessage()    {}
8375func (*TransformationOverview) Descriptor() ([]byte, []int) {
8376	return fileDescriptor_6872a91dcb80f8dc, []int{68}
8377}
8378
8379func (m *TransformationOverview) XXX_Unmarshal(b []byte) error {
8380	return xxx_messageInfo_TransformationOverview.Unmarshal(m, b)
8381}
8382func (m *TransformationOverview) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8383	return xxx_messageInfo_TransformationOverview.Marshal(b, m, deterministic)
8384}
8385func (m *TransformationOverview) XXX_Merge(src proto.Message) {
8386	xxx_messageInfo_TransformationOverview.Merge(m, src)
8387}
8388func (m *TransformationOverview) XXX_Size() int {
8389	return xxx_messageInfo_TransformationOverview.Size(m)
8390}
8391func (m *TransformationOverview) XXX_DiscardUnknown() {
8392	xxx_messageInfo_TransformationOverview.DiscardUnknown(m)
8393}
8394
8395var xxx_messageInfo_TransformationOverview proto.InternalMessageInfo
8396
8397func (m *TransformationOverview) GetTransformedBytes() int64 {
8398	if m != nil {
8399		return m.TransformedBytes
8400	}
8401	return 0
8402}
8403
8404func (m *TransformationOverview) GetTransformationSummaries() []*TransformationSummary {
8405	if m != nil {
8406		return m.TransformationSummaries
8407	}
8408	return nil
8409}
8410
8411// Summary of a single transformation.
8412// Only one of 'transformation', 'field_transformation', or 'record_suppress'
8413// will be set.
8414type TransformationSummary struct {
8415	// Set if the transformation was limited to a specific InfoType.
8416	InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
8417	// Set if the transformation was limited to a specific FieldId.
8418	Field *FieldId `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
8419	// The specific transformation these stats apply to.
8420	Transformation *PrimitiveTransformation `protobuf:"bytes,3,opt,name=transformation,proto3" json:"transformation,omitempty"`
8421	// The field transformation that was applied.
8422	// If multiple field transformations are requested for a single field,
8423	// this list will contain all of them; otherwise, only one is supplied.
8424	FieldTransformations []*FieldTransformation `protobuf:"bytes,5,rep,name=field_transformations,json=fieldTransformations,proto3" json:"field_transformations,omitempty"`
8425	// The specific suppression option these stats apply to.
8426	RecordSuppress *RecordSuppression `protobuf:"bytes,6,opt,name=record_suppress,json=recordSuppress,proto3" json:"record_suppress,omitempty"`
8427	// Collection of all transformations that took place or had an error.
8428	Results []*TransformationSummary_SummaryResult `protobuf:"bytes,4,rep,name=results,proto3" json:"results,omitempty"`
8429	// Total size in bytes that were transformed in some way.
8430	TransformedBytes     int64    `protobuf:"varint,7,opt,name=transformed_bytes,json=transformedBytes,proto3" json:"transformed_bytes,omitempty"`
8431	XXX_NoUnkeyedLiteral struct{} `json:"-"`
8432	XXX_unrecognized     []byte   `json:"-"`
8433	XXX_sizecache        int32    `json:"-"`
8434}
8435
8436func (m *TransformationSummary) Reset()         { *m = TransformationSummary{} }
8437func (m *TransformationSummary) String() string { return proto.CompactTextString(m) }
8438func (*TransformationSummary) ProtoMessage()    {}
8439func (*TransformationSummary) Descriptor() ([]byte, []int) {
8440	return fileDescriptor_6872a91dcb80f8dc, []int{69}
8441}
8442
8443func (m *TransformationSummary) XXX_Unmarshal(b []byte) error {
8444	return xxx_messageInfo_TransformationSummary.Unmarshal(m, b)
8445}
8446func (m *TransformationSummary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8447	return xxx_messageInfo_TransformationSummary.Marshal(b, m, deterministic)
8448}
8449func (m *TransformationSummary) XXX_Merge(src proto.Message) {
8450	xxx_messageInfo_TransformationSummary.Merge(m, src)
8451}
8452func (m *TransformationSummary) XXX_Size() int {
8453	return xxx_messageInfo_TransformationSummary.Size(m)
8454}
8455func (m *TransformationSummary) XXX_DiscardUnknown() {
8456	xxx_messageInfo_TransformationSummary.DiscardUnknown(m)
8457}
8458
8459var xxx_messageInfo_TransformationSummary proto.InternalMessageInfo
8460
8461func (m *TransformationSummary) GetInfoType() *InfoType {
8462	if m != nil {
8463		return m.InfoType
8464	}
8465	return nil
8466}
8467
8468func (m *TransformationSummary) GetField() *FieldId {
8469	if m != nil {
8470		return m.Field
8471	}
8472	return nil
8473}
8474
8475func (m *TransformationSummary) GetTransformation() *PrimitiveTransformation {
8476	if m != nil {
8477		return m.Transformation
8478	}
8479	return nil
8480}
8481
8482func (m *TransformationSummary) GetFieldTransformations() []*FieldTransformation {
8483	if m != nil {
8484		return m.FieldTransformations
8485	}
8486	return nil
8487}
8488
8489func (m *TransformationSummary) GetRecordSuppress() *RecordSuppression {
8490	if m != nil {
8491		return m.RecordSuppress
8492	}
8493	return nil
8494}
8495
8496func (m *TransformationSummary) GetResults() []*TransformationSummary_SummaryResult {
8497	if m != nil {
8498		return m.Results
8499	}
8500	return nil
8501}
8502
8503func (m *TransformationSummary) GetTransformedBytes() int64 {
8504	if m != nil {
8505		return m.TransformedBytes
8506	}
8507	return 0
8508}
8509
8510// A collection that informs the user the number of times a particular
8511// `TransformationResultCode` and error details occurred.
8512type TransformationSummary_SummaryResult struct {
8513	// Number of transformations counted by this result.
8514	Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
8515	// Outcome of the transformation.
8516	Code TransformationSummary_TransformationResultCode `protobuf:"varint,2,opt,name=code,proto3,enum=google.privacy.dlp.v2.TransformationSummary_TransformationResultCode" json:"code,omitempty"`
8517	// A place for warnings or errors to show up if a transformation didn't
8518	// work as expected.
8519	Details              string   `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"`
8520	XXX_NoUnkeyedLiteral struct{} `json:"-"`
8521	XXX_unrecognized     []byte   `json:"-"`
8522	XXX_sizecache        int32    `json:"-"`
8523}
8524
8525func (m *TransformationSummary_SummaryResult) Reset()         { *m = TransformationSummary_SummaryResult{} }
8526func (m *TransformationSummary_SummaryResult) String() string { return proto.CompactTextString(m) }
8527func (*TransformationSummary_SummaryResult) ProtoMessage()    {}
8528func (*TransformationSummary_SummaryResult) Descriptor() ([]byte, []int) {
8529	return fileDescriptor_6872a91dcb80f8dc, []int{69, 0}
8530}
8531
8532func (m *TransformationSummary_SummaryResult) XXX_Unmarshal(b []byte) error {
8533	return xxx_messageInfo_TransformationSummary_SummaryResult.Unmarshal(m, b)
8534}
8535func (m *TransformationSummary_SummaryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8536	return xxx_messageInfo_TransformationSummary_SummaryResult.Marshal(b, m, deterministic)
8537}
8538func (m *TransformationSummary_SummaryResult) XXX_Merge(src proto.Message) {
8539	xxx_messageInfo_TransformationSummary_SummaryResult.Merge(m, src)
8540}
8541func (m *TransformationSummary_SummaryResult) XXX_Size() int {
8542	return xxx_messageInfo_TransformationSummary_SummaryResult.Size(m)
8543}
8544func (m *TransformationSummary_SummaryResult) XXX_DiscardUnknown() {
8545	xxx_messageInfo_TransformationSummary_SummaryResult.DiscardUnknown(m)
8546}
8547
8548var xxx_messageInfo_TransformationSummary_SummaryResult proto.InternalMessageInfo
8549
8550func (m *TransformationSummary_SummaryResult) GetCount() int64 {
8551	if m != nil {
8552		return m.Count
8553	}
8554	return 0
8555}
8556
8557func (m *TransformationSummary_SummaryResult) GetCode() TransformationSummary_TransformationResultCode {
8558	if m != nil {
8559		return m.Code
8560	}
8561	return TransformationSummary_TRANSFORMATION_RESULT_CODE_UNSPECIFIED
8562}
8563
8564func (m *TransformationSummary_SummaryResult) GetDetails() string {
8565	if m != nil {
8566		return m.Details
8567	}
8568	return ""
8569}
8570
8571// Schedule for triggeredJobs.
8572type Schedule struct {
8573	// Types that are valid to be assigned to Option:
8574	//	*Schedule_RecurrencePeriodDuration
8575	Option               isSchedule_Option `protobuf_oneof:"option"`
8576	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
8577	XXX_unrecognized     []byte            `json:"-"`
8578	XXX_sizecache        int32             `json:"-"`
8579}
8580
8581func (m *Schedule) Reset()         { *m = Schedule{} }
8582func (m *Schedule) String() string { return proto.CompactTextString(m) }
8583func (*Schedule) ProtoMessage()    {}
8584func (*Schedule) Descriptor() ([]byte, []int) {
8585	return fileDescriptor_6872a91dcb80f8dc, []int{70}
8586}
8587
8588func (m *Schedule) XXX_Unmarshal(b []byte) error {
8589	return xxx_messageInfo_Schedule.Unmarshal(m, b)
8590}
8591func (m *Schedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8592	return xxx_messageInfo_Schedule.Marshal(b, m, deterministic)
8593}
8594func (m *Schedule) XXX_Merge(src proto.Message) {
8595	xxx_messageInfo_Schedule.Merge(m, src)
8596}
8597func (m *Schedule) XXX_Size() int {
8598	return xxx_messageInfo_Schedule.Size(m)
8599}
8600func (m *Schedule) XXX_DiscardUnknown() {
8601	xxx_messageInfo_Schedule.DiscardUnknown(m)
8602}
8603
8604var xxx_messageInfo_Schedule proto.InternalMessageInfo
8605
8606type isSchedule_Option interface {
8607	isSchedule_Option()
8608}
8609
8610type Schedule_RecurrencePeriodDuration struct {
8611	RecurrencePeriodDuration *duration.Duration `protobuf:"bytes,1,opt,name=recurrence_period_duration,json=recurrencePeriodDuration,proto3,oneof"`
8612}
8613
8614func (*Schedule_RecurrencePeriodDuration) isSchedule_Option() {}
8615
8616func (m *Schedule) GetOption() isSchedule_Option {
8617	if m != nil {
8618		return m.Option
8619	}
8620	return nil
8621}
8622
8623func (m *Schedule) GetRecurrencePeriodDuration() *duration.Duration {
8624	if x, ok := m.GetOption().(*Schedule_RecurrencePeriodDuration); ok {
8625		return x.RecurrencePeriodDuration
8626	}
8627	return nil
8628}
8629
8630// XXX_OneofWrappers is for the internal use of the proto package.
8631func (*Schedule) XXX_OneofWrappers() []interface{} {
8632	return []interface{}{
8633		(*Schedule_RecurrencePeriodDuration)(nil),
8634	}
8635}
8636
8637// Job trigger option for hybrid jobs. Jobs must be manually created
8638// and finished.
8639type Manual struct {
8640	XXX_NoUnkeyedLiteral struct{} `json:"-"`
8641	XXX_unrecognized     []byte   `json:"-"`
8642	XXX_sizecache        int32    `json:"-"`
8643}
8644
8645func (m *Manual) Reset()         { *m = Manual{} }
8646func (m *Manual) String() string { return proto.CompactTextString(m) }
8647func (*Manual) ProtoMessage()    {}
8648func (*Manual) Descriptor() ([]byte, []int) {
8649	return fileDescriptor_6872a91dcb80f8dc, []int{71}
8650}
8651
8652func (m *Manual) XXX_Unmarshal(b []byte) error {
8653	return xxx_messageInfo_Manual.Unmarshal(m, b)
8654}
8655func (m *Manual) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8656	return xxx_messageInfo_Manual.Marshal(b, m, deterministic)
8657}
8658func (m *Manual) XXX_Merge(src proto.Message) {
8659	xxx_messageInfo_Manual.Merge(m, src)
8660}
8661func (m *Manual) XXX_Size() int {
8662	return xxx_messageInfo_Manual.Size(m)
8663}
8664func (m *Manual) XXX_DiscardUnknown() {
8665	xxx_messageInfo_Manual.DiscardUnknown(m)
8666}
8667
8668var xxx_messageInfo_Manual proto.InternalMessageInfo
8669
8670// The inspectTemplate contains a configuration (set of types of sensitive data
8671// to be detected) to be used anywhere you otherwise would normally specify
8672// InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
8673// to learn more.
8674type InspectTemplate struct {
8675	// Output only. The template name.
8676	//
8677	// The template will have one of the following formats:
8678	// `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
8679	// `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`;
8680	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8681	// Display name (max 256 chars).
8682	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
8683	// Short description (max 256 chars).
8684	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
8685	// Output only. The creation timestamp of an inspectTemplate.
8686	CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
8687	// Output only. The last update timestamp of an inspectTemplate.
8688	UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
8689	// The core content of the template. Configuration of the scanning process.
8690	InspectConfig        *InspectConfig `protobuf:"bytes,6,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
8691	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
8692	XXX_unrecognized     []byte         `json:"-"`
8693	XXX_sizecache        int32          `json:"-"`
8694}
8695
8696func (m *InspectTemplate) Reset()         { *m = InspectTemplate{} }
8697func (m *InspectTemplate) String() string { return proto.CompactTextString(m) }
8698func (*InspectTemplate) ProtoMessage()    {}
8699func (*InspectTemplate) Descriptor() ([]byte, []int) {
8700	return fileDescriptor_6872a91dcb80f8dc, []int{72}
8701}
8702
8703func (m *InspectTemplate) XXX_Unmarshal(b []byte) error {
8704	return xxx_messageInfo_InspectTemplate.Unmarshal(m, b)
8705}
8706func (m *InspectTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8707	return xxx_messageInfo_InspectTemplate.Marshal(b, m, deterministic)
8708}
8709func (m *InspectTemplate) XXX_Merge(src proto.Message) {
8710	xxx_messageInfo_InspectTemplate.Merge(m, src)
8711}
8712func (m *InspectTemplate) XXX_Size() int {
8713	return xxx_messageInfo_InspectTemplate.Size(m)
8714}
8715func (m *InspectTemplate) XXX_DiscardUnknown() {
8716	xxx_messageInfo_InspectTemplate.DiscardUnknown(m)
8717}
8718
8719var xxx_messageInfo_InspectTemplate proto.InternalMessageInfo
8720
8721func (m *InspectTemplate) GetName() string {
8722	if m != nil {
8723		return m.Name
8724	}
8725	return ""
8726}
8727
8728func (m *InspectTemplate) GetDisplayName() string {
8729	if m != nil {
8730		return m.DisplayName
8731	}
8732	return ""
8733}
8734
8735func (m *InspectTemplate) GetDescription() string {
8736	if m != nil {
8737		return m.Description
8738	}
8739	return ""
8740}
8741
8742func (m *InspectTemplate) GetCreateTime() *timestamp.Timestamp {
8743	if m != nil {
8744		return m.CreateTime
8745	}
8746	return nil
8747}
8748
8749func (m *InspectTemplate) GetUpdateTime() *timestamp.Timestamp {
8750	if m != nil {
8751		return m.UpdateTime
8752	}
8753	return nil
8754}
8755
8756func (m *InspectTemplate) GetInspectConfig() *InspectConfig {
8757	if m != nil {
8758		return m.InspectConfig
8759	}
8760	return nil
8761}
8762
8763// DeidentifyTemplates contains instructions on how to de-identify content.
8764// See https://cloud.google.com/dlp/docs/concepts-templates to learn more.
8765type DeidentifyTemplate struct {
8766	// Output only. The template name.
8767	//
8768	// The template will have one of the following formats:
8769	// `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR
8770	// `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`
8771	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8772	// Display name (max 256 chars).
8773	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
8774	// Short description (max 256 chars).
8775	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
8776	// Output only. The creation timestamp of an inspectTemplate.
8777	CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
8778	// Output only. The last update timestamp of an inspectTemplate.
8779	UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
8780	// ///////////// // The core content of the template  // ///////////////
8781	DeidentifyConfig     *DeidentifyConfig `protobuf:"bytes,6,opt,name=deidentify_config,json=deidentifyConfig,proto3" json:"deidentify_config,omitempty"`
8782	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
8783	XXX_unrecognized     []byte            `json:"-"`
8784	XXX_sizecache        int32             `json:"-"`
8785}
8786
8787func (m *DeidentifyTemplate) Reset()         { *m = DeidentifyTemplate{} }
8788func (m *DeidentifyTemplate) String() string { return proto.CompactTextString(m) }
8789func (*DeidentifyTemplate) ProtoMessage()    {}
8790func (*DeidentifyTemplate) Descriptor() ([]byte, []int) {
8791	return fileDescriptor_6872a91dcb80f8dc, []int{73}
8792}
8793
8794func (m *DeidentifyTemplate) XXX_Unmarshal(b []byte) error {
8795	return xxx_messageInfo_DeidentifyTemplate.Unmarshal(m, b)
8796}
8797func (m *DeidentifyTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8798	return xxx_messageInfo_DeidentifyTemplate.Marshal(b, m, deterministic)
8799}
8800func (m *DeidentifyTemplate) XXX_Merge(src proto.Message) {
8801	xxx_messageInfo_DeidentifyTemplate.Merge(m, src)
8802}
8803func (m *DeidentifyTemplate) XXX_Size() int {
8804	return xxx_messageInfo_DeidentifyTemplate.Size(m)
8805}
8806func (m *DeidentifyTemplate) XXX_DiscardUnknown() {
8807	xxx_messageInfo_DeidentifyTemplate.DiscardUnknown(m)
8808}
8809
8810var xxx_messageInfo_DeidentifyTemplate proto.InternalMessageInfo
8811
8812func (m *DeidentifyTemplate) GetName() string {
8813	if m != nil {
8814		return m.Name
8815	}
8816	return ""
8817}
8818
8819func (m *DeidentifyTemplate) GetDisplayName() string {
8820	if m != nil {
8821		return m.DisplayName
8822	}
8823	return ""
8824}
8825
8826func (m *DeidentifyTemplate) GetDescription() string {
8827	if m != nil {
8828		return m.Description
8829	}
8830	return ""
8831}
8832
8833func (m *DeidentifyTemplate) GetCreateTime() *timestamp.Timestamp {
8834	if m != nil {
8835		return m.CreateTime
8836	}
8837	return nil
8838}
8839
8840func (m *DeidentifyTemplate) GetUpdateTime() *timestamp.Timestamp {
8841	if m != nil {
8842		return m.UpdateTime
8843	}
8844	return nil
8845}
8846
8847func (m *DeidentifyTemplate) GetDeidentifyConfig() *DeidentifyConfig {
8848	if m != nil {
8849		return m.DeidentifyConfig
8850	}
8851	return nil
8852}
8853
8854// Details information about an error encountered during job execution or
8855// the results of an unsuccessful activation of the JobTrigger.
8856type Error struct {
8857	// Detailed error codes and messages.
8858	Details *status.Status `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
8859	// The times the error occurred.
8860	Timestamps           []*timestamp.Timestamp `protobuf:"bytes,2,rep,name=timestamps,proto3" json:"timestamps,omitempty"`
8861	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
8862	XXX_unrecognized     []byte                 `json:"-"`
8863	XXX_sizecache        int32                  `json:"-"`
8864}
8865
8866func (m *Error) Reset()         { *m = Error{} }
8867func (m *Error) String() string { return proto.CompactTextString(m) }
8868func (*Error) ProtoMessage()    {}
8869func (*Error) Descriptor() ([]byte, []int) {
8870	return fileDescriptor_6872a91dcb80f8dc, []int{74}
8871}
8872
8873func (m *Error) XXX_Unmarshal(b []byte) error {
8874	return xxx_messageInfo_Error.Unmarshal(m, b)
8875}
8876func (m *Error) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8877	return xxx_messageInfo_Error.Marshal(b, m, deterministic)
8878}
8879func (m *Error) XXX_Merge(src proto.Message) {
8880	xxx_messageInfo_Error.Merge(m, src)
8881}
8882func (m *Error) XXX_Size() int {
8883	return xxx_messageInfo_Error.Size(m)
8884}
8885func (m *Error) XXX_DiscardUnknown() {
8886	xxx_messageInfo_Error.DiscardUnknown(m)
8887}
8888
8889var xxx_messageInfo_Error proto.InternalMessageInfo
8890
8891func (m *Error) GetDetails() *status.Status {
8892	if m != nil {
8893		return m.Details
8894	}
8895	return nil
8896}
8897
8898func (m *Error) GetTimestamps() []*timestamp.Timestamp {
8899	if m != nil {
8900		return m.Timestamps
8901	}
8902	return nil
8903}
8904
8905// Contains a configuration to make dlp api calls on a repeating basis.
8906// See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
8907type JobTrigger struct {
8908	// Unique resource name for the triggeredJob, assigned by the service when the
8909	// triggeredJob is created, for example
8910	// `projects/dlp-test-project/jobTriggers/53234423`.
8911	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8912	// Display name (max 100 chars)
8913	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
8914	// User provided description (max 256 chars)
8915	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
8916	// The configuration details for the specific type of job to run.
8917	//
8918	// Types that are valid to be assigned to Job:
8919	//	*JobTrigger_InspectJob
8920	Job isJobTrigger_Job `protobuf_oneof:"job"`
8921	// A list of triggers which will be OR'ed together. Only one in the list
8922	// needs to trigger for a job to be started. The list may contain only
8923	// a single Schedule trigger and must have at least one object.
8924	Triggers []*JobTrigger_Trigger `protobuf:"bytes,5,rep,name=triggers,proto3" json:"triggers,omitempty"`
8925	// Output only. A stream of errors encountered when the trigger was activated.
8926	// Repeated errors may result in the JobTrigger automatically being paused.
8927	// Will return the last 100 errors. Whenever the JobTrigger is modified
8928	// this list will be cleared.
8929	Errors []*Error `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors,omitempty"`
8930	// Output only. The creation timestamp of a triggeredJob.
8931	CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
8932	// Output only. The last update timestamp of a triggeredJob.
8933	UpdateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
8934	// Output only. The timestamp of the last time this trigger executed.
8935	LastRunTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=last_run_time,json=lastRunTime,proto3" json:"last_run_time,omitempty"`
8936	// Required. A status for this trigger.
8937	Status               JobTrigger_Status `protobuf:"varint,10,opt,name=status,proto3,enum=google.privacy.dlp.v2.JobTrigger_Status" json:"status,omitempty"`
8938	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
8939	XXX_unrecognized     []byte            `json:"-"`
8940	XXX_sizecache        int32             `json:"-"`
8941}
8942
8943func (m *JobTrigger) Reset()         { *m = JobTrigger{} }
8944func (m *JobTrigger) String() string { return proto.CompactTextString(m) }
8945func (*JobTrigger) ProtoMessage()    {}
8946func (*JobTrigger) Descriptor() ([]byte, []int) {
8947	return fileDescriptor_6872a91dcb80f8dc, []int{75}
8948}
8949
8950func (m *JobTrigger) XXX_Unmarshal(b []byte) error {
8951	return xxx_messageInfo_JobTrigger.Unmarshal(m, b)
8952}
8953func (m *JobTrigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
8954	return xxx_messageInfo_JobTrigger.Marshal(b, m, deterministic)
8955}
8956func (m *JobTrigger) XXX_Merge(src proto.Message) {
8957	xxx_messageInfo_JobTrigger.Merge(m, src)
8958}
8959func (m *JobTrigger) XXX_Size() int {
8960	return xxx_messageInfo_JobTrigger.Size(m)
8961}
8962func (m *JobTrigger) XXX_DiscardUnknown() {
8963	xxx_messageInfo_JobTrigger.DiscardUnknown(m)
8964}
8965
8966var xxx_messageInfo_JobTrigger proto.InternalMessageInfo
8967
8968func (m *JobTrigger) GetName() string {
8969	if m != nil {
8970		return m.Name
8971	}
8972	return ""
8973}
8974
8975func (m *JobTrigger) GetDisplayName() string {
8976	if m != nil {
8977		return m.DisplayName
8978	}
8979	return ""
8980}
8981
8982func (m *JobTrigger) GetDescription() string {
8983	if m != nil {
8984		return m.Description
8985	}
8986	return ""
8987}
8988
8989type isJobTrigger_Job interface {
8990	isJobTrigger_Job()
8991}
8992
8993type JobTrigger_InspectJob struct {
8994	InspectJob *InspectJobConfig `protobuf:"bytes,4,opt,name=inspect_job,json=inspectJob,proto3,oneof"`
8995}
8996
8997func (*JobTrigger_InspectJob) isJobTrigger_Job() {}
8998
8999func (m *JobTrigger) GetJob() isJobTrigger_Job {
9000	if m != nil {
9001		return m.Job
9002	}
9003	return nil
9004}
9005
9006func (m *JobTrigger) GetInspectJob() *InspectJobConfig {
9007	if x, ok := m.GetJob().(*JobTrigger_InspectJob); ok {
9008		return x.InspectJob
9009	}
9010	return nil
9011}
9012
9013func (m *JobTrigger) GetTriggers() []*JobTrigger_Trigger {
9014	if m != nil {
9015		return m.Triggers
9016	}
9017	return nil
9018}
9019
9020func (m *JobTrigger) GetErrors() []*Error {
9021	if m != nil {
9022		return m.Errors
9023	}
9024	return nil
9025}
9026
9027func (m *JobTrigger) GetCreateTime() *timestamp.Timestamp {
9028	if m != nil {
9029		return m.CreateTime
9030	}
9031	return nil
9032}
9033
9034func (m *JobTrigger) GetUpdateTime() *timestamp.Timestamp {
9035	if m != nil {
9036		return m.UpdateTime
9037	}
9038	return nil
9039}
9040
9041func (m *JobTrigger) GetLastRunTime() *timestamp.Timestamp {
9042	if m != nil {
9043		return m.LastRunTime
9044	}
9045	return nil
9046}
9047
9048func (m *JobTrigger) GetStatus() JobTrigger_Status {
9049	if m != nil {
9050		return m.Status
9051	}
9052	return JobTrigger_STATUS_UNSPECIFIED
9053}
9054
9055// XXX_OneofWrappers is for the internal use of the proto package.
9056func (*JobTrigger) XXX_OneofWrappers() []interface{} {
9057	return []interface{}{
9058		(*JobTrigger_InspectJob)(nil),
9059	}
9060}
9061
9062// What event needs to occur for a new job to be started.
9063type JobTrigger_Trigger struct {
9064	// Types that are valid to be assigned to Trigger:
9065	//	*JobTrigger_Trigger_Schedule
9066	//	*JobTrigger_Trigger_Manual
9067	Trigger              isJobTrigger_Trigger_Trigger `protobuf_oneof:"trigger"`
9068	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
9069	XXX_unrecognized     []byte                       `json:"-"`
9070	XXX_sizecache        int32                        `json:"-"`
9071}
9072
9073func (m *JobTrigger_Trigger) Reset()         { *m = JobTrigger_Trigger{} }
9074func (m *JobTrigger_Trigger) String() string { return proto.CompactTextString(m) }
9075func (*JobTrigger_Trigger) ProtoMessage()    {}
9076func (*JobTrigger_Trigger) Descriptor() ([]byte, []int) {
9077	return fileDescriptor_6872a91dcb80f8dc, []int{75, 0}
9078}
9079
9080func (m *JobTrigger_Trigger) XXX_Unmarshal(b []byte) error {
9081	return xxx_messageInfo_JobTrigger_Trigger.Unmarshal(m, b)
9082}
9083func (m *JobTrigger_Trigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9084	return xxx_messageInfo_JobTrigger_Trigger.Marshal(b, m, deterministic)
9085}
9086func (m *JobTrigger_Trigger) XXX_Merge(src proto.Message) {
9087	xxx_messageInfo_JobTrigger_Trigger.Merge(m, src)
9088}
9089func (m *JobTrigger_Trigger) XXX_Size() int {
9090	return xxx_messageInfo_JobTrigger_Trigger.Size(m)
9091}
9092func (m *JobTrigger_Trigger) XXX_DiscardUnknown() {
9093	xxx_messageInfo_JobTrigger_Trigger.DiscardUnknown(m)
9094}
9095
9096var xxx_messageInfo_JobTrigger_Trigger proto.InternalMessageInfo
9097
9098type isJobTrigger_Trigger_Trigger interface {
9099	isJobTrigger_Trigger_Trigger()
9100}
9101
9102type JobTrigger_Trigger_Schedule struct {
9103	Schedule *Schedule `protobuf:"bytes,1,opt,name=schedule,proto3,oneof"`
9104}
9105
9106type JobTrigger_Trigger_Manual struct {
9107	Manual *Manual `protobuf:"bytes,2,opt,name=manual,proto3,oneof"`
9108}
9109
9110func (*JobTrigger_Trigger_Schedule) isJobTrigger_Trigger_Trigger() {}
9111
9112func (*JobTrigger_Trigger_Manual) isJobTrigger_Trigger_Trigger() {}
9113
9114func (m *JobTrigger_Trigger) GetTrigger() isJobTrigger_Trigger_Trigger {
9115	if m != nil {
9116		return m.Trigger
9117	}
9118	return nil
9119}
9120
9121func (m *JobTrigger_Trigger) GetSchedule() *Schedule {
9122	if x, ok := m.GetTrigger().(*JobTrigger_Trigger_Schedule); ok {
9123		return x.Schedule
9124	}
9125	return nil
9126}
9127
9128func (m *JobTrigger_Trigger) GetManual() *Manual {
9129	if x, ok := m.GetTrigger().(*JobTrigger_Trigger_Manual); ok {
9130		return x.Manual
9131	}
9132	return nil
9133}
9134
9135// XXX_OneofWrappers is for the internal use of the proto package.
9136func (*JobTrigger_Trigger) XXX_OneofWrappers() []interface{} {
9137	return []interface{}{
9138		(*JobTrigger_Trigger_Schedule)(nil),
9139		(*JobTrigger_Trigger_Manual)(nil),
9140	}
9141}
9142
9143// A task to execute on the completion of a job.
9144// See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
9145type Action struct {
9146	// Types that are valid to be assigned to Action:
9147	//	*Action_SaveFindings_
9148	//	*Action_PubSub
9149	//	*Action_PublishSummaryToCscc_
9150	//	*Action_PublishFindingsToCloudDataCatalog_
9151	//	*Action_JobNotificationEmails_
9152	//	*Action_PublishToStackdriver_
9153	Action               isAction_Action `protobuf_oneof:"action"`
9154	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
9155	XXX_unrecognized     []byte          `json:"-"`
9156	XXX_sizecache        int32           `json:"-"`
9157}
9158
9159func (m *Action) Reset()         { *m = Action{} }
9160func (m *Action) String() string { return proto.CompactTextString(m) }
9161func (*Action) ProtoMessage()    {}
9162func (*Action) Descriptor() ([]byte, []int) {
9163	return fileDescriptor_6872a91dcb80f8dc, []int{76}
9164}
9165
9166func (m *Action) XXX_Unmarshal(b []byte) error {
9167	return xxx_messageInfo_Action.Unmarshal(m, b)
9168}
9169func (m *Action) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9170	return xxx_messageInfo_Action.Marshal(b, m, deterministic)
9171}
9172func (m *Action) XXX_Merge(src proto.Message) {
9173	xxx_messageInfo_Action.Merge(m, src)
9174}
9175func (m *Action) XXX_Size() int {
9176	return xxx_messageInfo_Action.Size(m)
9177}
9178func (m *Action) XXX_DiscardUnknown() {
9179	xxx_messageInfo_Action.DiscardUnknown(m)
9180}
9181
9182var xxx_messageInfo_Action proto.InternalMessageInfo
9183
9184type isAction_Action interface {
9185	isAction_Action()
9186}
9187
9188type Action_SaveFindings_ struct {
9189	SaveFindings *Action_SaveFindings `protobuf:"bytes,1,opt,name=save_findings,json=saveFindings,proto3,oneof"`
9190}
9191
9192type Action_PubSub struct {
9193	PubSub *Action_PublishToPubSub `protobuf:"bytes,2,opt,name=pub_sub,json=pubSub,proto3,oneof"`
9194}
9195
9196type Action_PublishSummaryToCscc_ struct {
9197	PublishSummaryToCscc *Action_PublishSummaryToCscc `protobuf:"bytes,3,opt,name=publish_summary_to_cscc,json=publishSummaryToCscc,proto3,oneof"`
9198}
9199
9200type Action_PublishFindingsToCloudDataCatalog_ struct {
9201	PublishFindingsToCloudDataCatalog *Action_PublishFindingsToCloudDataCatalog `protobuf:"bytes,5,opt,name=publish_findings_to_cloud_data_catalog,json=publishFindingsToCloudDataCatalog,proto3,oneof"`
9202}
9203
9204type Action_JobNotificationEmails_ struct {
9205	JobNotificationEmails *Action_JobNotificationEmails `protobuf:"bytes,8,opt,name=job_notification_emails,json=jobNotificationEmails,proto3,oneof"`
9206}
9207
9208type Action_PublishToStackdriver_ struct {
9209	PublishToStackdriver *Action_PublishToStackdriver `protobuf:"bytes,9,opt,name=publish_to_stackdriver,json=publishToStackdriver,proto3,oneof"`
9210}
9211
9212func (*Action_SaveFindings_) isAction_Action() {}
9213
9214func (*Action_PubSub) isAction_Action() {}
9215
9216func (*Action_PublishSummaryToCscc_) isAction_Action() {}
9217
9218func (*Action_PublishFindingsToCloudDataCatalog_) isAction_Action() {}
9219
9220func (*Action_JobNotificationEmails_) isAction_Action() {}
9221
9222func (*Action_PublishToStackdriver_) isAction_Action() {}
9223
9224func (m *Action) GetAction() isAction_Action {
9225	if m != nil {
9226		return m.Action
9227	}
9228	return nil
9229}
9230
9231func (m *Action) GetSaveFindings() *Action_SaveFindings {
9232	if x, ok := m.GetAction().(*Action_SaveFindings_); ok {
9233		return x.SaveFindings
9234	}
9235	return nil
9236}
9237
9238func (m *Action) GetPubSub() *Action_PublishToPubSub {
9239	if x, ok := m.GetAction().(*Action_PubSub); ok {
9240		return x.PubSub
9241	}
9242	return nil
9243}
9244
9245func (m *Action) GetPublishSummaryToCscc() *Action_PublishSummaryToCscc {
9246	if x, ok := m.GetAction().(*Action_PublishSummaryToCscc_); ok {
9247		return x.PublishSummaryToCscc
9248	}
9249	return nil
9250}
9251
9252func (m *Action) GetPublishFindingsToCloudDataCatalog() *Action_PublishFindingsToCloudDataCatalog {
9253	if x, ok := m.GetAction().(*Action_PublishFindingsToCloudDataCatalog_); ok {
9254		return x.PublishFindingsToCloudDataCatalog
9255	}
9256	return nil
9257}
9258
9259func (m *Action) GetJobNotificationEmails() *Action_JobNotificationEmails {
9260	if x, ok := m.GetAction().(*Action_JobNotificationEmails_); ok {
9261		return x.JobNotificationEmails
9262	}
9263	return nil
9264}
9265
9266func (m *Action) GetPublishToStackdriver() *Action_PublishToStackdriver {
9267	if x, ok := m.GetAction().(*Action_PublishToStackdriver_); ok {
9268		return x.PublishToStackdriver
9269	}
9270	return nil
9271}
9272
9273// XXX_OneofWrappers is for the internal use of the proto package.
9274func (*Action) XXX_OneofWrappers() []interface{} {
9275	return []interface{}{
9276		(*Action_SaveFindings_)(nil),
9277		(*Action_PubSub)(nil),
9278		(*Action_PublishSummaryToCscc_)(nil),
9279		(*Action_PublishFindingsToCloudDataCatalog_)(nil),
9280		(*Action_JobNotificationEmails_)(nil),
9281		(*Action_PublishToStackdriver_)(nil),
9282	}
9283}
9284
9285// If set, the detailed findings will be persisted to the specified
9286// OutputStorageConfig. Only a single instance of this action can be
9287// specified.
9288// Compatible with: Inspect, Risk
9289type Action_SaveFindings struct {
9290	// Location to store findings outside of DLP.
9291	OutputConfig         *OutputStorageConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
9292	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
9293	XXX_unrecognized     []byte               `json:"-"`
9294	XXX_sizecache        int32                `json:"-"`
9295}
9296
9297func (m *Action_SaveFindings) Reset()         { *m = Action_SaveFindings{} }
9298func (m *Action_SaveFindings) String() string { return proto.CompactTextString(m) }
9299func (*Action_SaveFindings) ProtoMessage()    {}
9300func (*Action_SaveFindings) Descriptor() ([]byte, []int) {
9301	return fileDescriptor_6872a91dcb80f8dc, []int{76, 0}
9302}
9303
9304func (m *Action_SaveFindings) XXX_Unmarshal(b []byte) error {
9305	return xxx_messageInfo_Action_SaveFindings.Unmarshal(m, b)
9306}
9307func (m *Action_SaveFindings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9308	return xxx_messageInfo_Action_SaveFindings.Marshal(b, m, deterministic)
9309}
9310func (m *Action_SaveFindings) XXX_Merge(src proto.Message) {
9311	xxx_messageInfo_Action_SaveFindings.Merge(m, src)
9312}
9313func (m *Action_SaveFindings) XXX_Size() int {
9314	return xxx_messageInfo_Action_SaveFindings.Size(m)
9315}
9316func (m *Action_SaveFindings) XXX_DiscardUnknown() {
9317	xxx_messageInfo_Action_SaveFindings.DiscardUnknown(m)
9318}
9319
9320var xxx_messageInfo_Action_SaveFindings proto.InternalMessageInfo
9321
9322func (m *Action_SaveFindings) GetOutputConfig() *OutputStorageConfig {
9323	if m != nil {
9324		return m.OutputConfig
9325	}
9326	return nil
9327}
9328
9329// Publish a message into given Pub/Sub topic when DlpJob has completed. The
9330// message contains a single field, `DlpJobName`, which is equal to the
9331// finished job's
9332// [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
9333// Compatible with: Inspect, Risk
9334type Action_PublishToPubSub struct {
9335	// Cloud Pub/Sub topic to send notifications to. The topic must have given
9336	// publishing access rights to the DLP API service account executing
9337	// the long running DlpJob sending the notifications.
9338	// Format is projects/{project}/topics/{topic}.
9339	Topic                string   `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
9340	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9341	XXX_unrecognized     []byte   `json:"-"`
9342	XXX_sizecache        int32    `json:"-"`
9343}
9344
9345func (m *Action_PublishToPubSub) Reset()         { *m = Action_PublishToPubSub{} }
9346func (m *Action_PublishToPubSub) String() string { return proto.CompactTextString(m) }
9347func (*Action_PublishToPubSub) ProtoMessage()    {}
9348func (*Action_PublishToPubSub) Descriptor() ([]byte, []int) {
9349	return fileDescriptor_6872a91dcb80f8dc, []int{76, 1}
9350}
9351
9352func (m *Action_PublishToPubSub) XXX_Unmarshal(b []byte) error {
9353	return xxx_messageInfo_Action_PublishToPubSub.Unmarshal(m, b)
9354}
9355func (m *Action_PublishToPubSub) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9356	return xxx_messageInfo_Action_PublishToPubSub.Marshal(b, m, deterministic)
9357}
9358func (m *Action_PublishToPubSub) XXX_Merge(src proto.Message) {
9359	xxx_messageInfo_Action_PublishToPubSub.Merge(m, src)
9360}
9361func (m *Action_PublishToPubSub) XXX_Size() int {
9362	return xxx_messageInfo_Action_PublishToPubSub.Size(m)
9363}
9364func (m *Action_PublishToPubSub) XXX_DiscardUnknown() {
9365	xxx_messageInfo_Action_PublishToPubSub.DiscardUnknown(m)
9366}
9367
9368var xxx_messageInfo_Action_PublishToPubSub proto.InternalMessageInfo
9369
9370func (m *Action_PublishToPubSub) GetTopic() string {
9371	if m != nil {
9372		return m.Topic
9373	}
9374	return ""
9375}
9376
9377// Publish the result summary of a DlpJob to the Cloud Security
9378// Command Center (CSCC Alpha).
9379// This action is only available for projects which are parts of
9380// an organization and whitelisted for the alpha Cloud Security Command
9381// Center.
9382// The action will publish count of finding instances and their info types.
9383// The summary of findings will be persisted in CSCC and are governed by CSCC
9384// service-specific policy, see https://cloud.google.com/terms/service-terms
9385// Only a single instance of this action can be specified.
9386// Compatible with: Inspect
9387type Action_PublishSummaryToCscc struct {
9388	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9389	XXX_unrecognized     []byte   `json:"-"`
9390	XXX_sizecache        int32    `json:"-"`
9391}
9392
9393func (m *Action_PublishSummaryToCscc) Reset()         { *m = Action_PublishSummaryToCscc{} }
9394func (m *Action_PublishSummaryToCscc) String() string { return proto.CompactTextString(m) }
9395func (*Action_PublishSummaryToCscc) ProtoMessage()    {}
9396func (*Action_PublishSummaryToCscc) Descriptor() ([]byte, []int) {
9397	return fileDescriptor_6872a91dcb80f8dc, []int{76, 2}
9398}
9399
9400func (m *Action_PublishSummaryToCscc) XXX_Unmarshal(b []byte) error {
9401	return xxx_messageInfo_Action_PublishSummaryToCscc.Unmarshal(m, b)
9402}
9403func (m *Action_PublishSummaryToCscc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9404	return xxx_messageInfo_Action_PublishSummaryToCscc.Marshal(b, m, deterministic)
9405}
9406func (m *Action_PublishSummaryToCscc) XXX_Merge(src proto.Message) {
9407	xxx_messageInfo_Action_PublishSummaryToCscc.Merge(m, src)
9408}
9409func (m *Action_PublishSummaryToCscc) XXX_Size() int {
9410	return xxx_messageInfo_Action_PublishSummaryToCscc.Size(m)
9411}
9412func (m *Action_PublishSummaryToCscc) XXX_DiscardUnknown() {
9413	xxx_messageInfo_Action_PublishSummaryToCscc.DiscardUnknown(m)
9414}
9415
9416var xxx_messageInfo_Action_PublishSummaryToCscc proto.InternalMessageInfo
9417
9418// Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the
9419// results of the DlpJob will be applied to the entry for the resource scanned
9420// in Cloud Data Catalog. Any labels previously written by another DlpJob will
9421// be deleted. InfoType naming patterns are strictly enforced when using this
9422// feature. Note that the findings will be persisted in Cloud Data Catalog
9423// storage and are governed by Data Catalog service-specific policy, see
9424// https://cloud.google.com/terms/service-terms
9425// Only a single instance of this action can be specified and only allowed if
9426// all resources being scanned are BigQuery tables.
9427// Compatible with: Inspect
9428type Action_PublishFindingsToCloudDataCatalog struct {
9429	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9430	XXX_unrecognized     []byte   `json:"-"`
9431	XXX_sizecache        int32    `json:"-"`
9432}
9433
9434func (m *Action_PublishFindingsToCloudDataCatalog) Reset() {
9435	*m = Action_PublishFindingsToCloudDataCatalog{}
9436}
9437func (m *Action_PublishFindingsToCloudDataCatalog) String() string { return proto.CompactTextString(m) }
9438func (*Action_PublishFindingsToCloudDataCatalog) ProtoMessage()    {}
9439func (*Action_PublishFindingsToCloudDataCatalog) Descriptor() ([]byte, []int) {
9440	return fileDescriptor_6872a91dcb80f8dc, []int{76, 3}
9441}
9442
9443func (m *Action_PublishFindingsToCloudDataCatalog) XXX_Unmarshal(b []byte) error {
9444	return xxx_messageInfo_Action_PublishFindingsToCloudDataCatalog.Unmarshal(m, b)
9445}
9446func (m *Action_PublishFindingsToCloudDataCatalog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9447	return xxx_messageInfo_Action_PublishFindingsToCloudDataCatalog.Marshal(b, m, deterministic)
9448}
9449func (m *Action_PublishFindingsToCloudDataCatalog) XXX_Merge(src proto.Message) {
9450	xxx_messageInfo_Action_PublishFindingsToCloudDataCatalog.Merge(m, src)
9451}
9452func (m *Action_PublishFindingsToCloudDataCatalog) XXX_Size() int {
9453	return xxx_messageInfo_Action_PublishFindingsToCloudDataCatalog.Size(m)
9454}
9455func (m *Action_PublishFindingsToCloudDataCatalog) XXX_DiscardUnknown() {
9456	xxx_messageInfo_Action_PublishFindingsToCloudDataCatalog.DiscardUnknown(m)
9457}
9458
9459var xxx_messageInfo_Action_PublishFindingsToCloudDataCatalog proto.InternalMessageInfo
9460
9461// Enable email notification to project owners and editors on jobs's
9462// completion/failure.
9463type Action_JobNotificationEmails struct {
9464	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9465	XXX_unrecognized     []byte   `json:"-"`
9466	XXX_sizecache        int32    `json:"-"`
9467}
9468
9469func (m *Action_JobNotificationEmails) Reset()         { *m = Action_JobNotificationEmails{} }
9470func (m *Action_JobNotificationEmails) String() string { return proto.CompactTextString(m) }
9471func (*Action_JobNotificationEmails) ProtoMessage()    {}
9472func (*Action_JobNotificationEmails) Descriptor() ([]byte, []int) {
9473	return fileDescriptor_6872a91dcb80f8dc, []int{76, 4}
9474}
9475
9476func (m *Action_JobNotificationEmails) XXX_Unmarshal(b []byte) error {
9477	return xxx_messageInfo_Action_JobNotificationEmails.Unmarshal(m, b)
9478}
9479func (m *Action_JobNotificationEmails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9480	return xxx_messageInfo_Action_JobNotificationEmails.Marshal(b, m, deterministic)
9481}
9482func (m *Action_JobNotificationEmails) XXX_Merge(src proto.Message) {
9483	xxx_messageInfo_Action_JobNotificationEmails.Merge(m, src)
9484}
9485func (m *Action_JobNotificationEmails) XXX_Size() int {
9486	return xxx_messageInfo_Action_JobNotificationEmails.Size(m)
9487}
9488func (m *Action_JobNotificationEmails) XXX_DiscardUnknown() {
9489	xxx_messageInfo_Action_JobNotificationEmails.DiscardUnknown(m)
9490}
9491
9492var xxx_messageInfo_Action_JobNotificationEmails proto.InternalMessageInfo
9493
9494// Enable Stackdriver metric dlp.googleapis.com/finding_count. This
9495// will publish a metric to stack driver on each infotype requested and
9496// how many findings were found for it. CustomDetectors will be bucketed
9497// as 'Custom' under the Stackdriver label 'info_type'.
9498type Action_PublishToStackdriver struct {
9499	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9500	XXX_unrecognized     []byte   `json:"-"`
9501	XXX_sizecache        int32    `json:"-"`
9502}
9503
9504func (m *Action_PublishToStackdriver) Reset()         { *m = Action_PublishToStackdriver{} }
9505func (m *Action_PublishToStackdriver) String() string { return proto.CompactTextString(m) }
9506func (*Action_PublishToStackdriver) ProtoMessage()    {}
9507func (*Action_PublishToStackdriver) Descriptor() ([]byte, []int) {
9508	return fileDescriptor_6872a91dcb80f8dc, []int{76, 5}
9509}
9510
9511func (m *Action_PublishToStackdriver) XXX_Unmarshal(b []byte) error {
9512	return xxx_messageInfo_Action_PublishToStackdriver.Unmarshal(m, b)
9513}
9514func (m *Action_PublishToStackdriver) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9515	return xxx_messageInfo_Action_PublishToStackdriver.Marshal(b, m, deterministic)
9516}
9517func (m *Action_PublishToStackdriver) XXX_Merge(src proto.Message) {
9518	xxx_messageInfo_Action_PublishToStackdriver.Merge(m, src)
9519}
9520func (m *Action_PublishToStackdriver) XXX_Size() int {
9521	return xxx_messageInfo_Action_PublishToStackdriver.Size(m)
9522}
9523func (m *Action_PublishToStackdriver) XXX_DiscardUnknown() {
9524	xxx_messageInfo_Action_PublishToStackdriver.DiscardUnknown(m)
9525}
9526
9527var xxx_messageInfo_Action_PublishToStackdriver proto.InternalMessageInfo
9528
9529// Request message for CreateInspectTemplate.
9530type CreateInspectTemplateRequest struct {
9531	// Required. The parent resource name, for example projects/my-project-id or
9532	// organizations/my-org-id.
9533	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
9534	// Required. The InspectTemplate to create.
9535	InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"`
9536	// The template id can contain uppercase and lowercase letters,
9537	// numbers, and hyphens; that is, it must match the regular
9538	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
9539	// characters. Can be empty to allow the system to generate one.
9540	TemplateId string `protobuf:"bytes,3,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
9541	// The geographic location to store the inspection template. Reserved for
9542	// future extensions.
9543	LocationId           string   `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
9544	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9545	XXX_unrecognized     []byte   `json:"-"`
9546	XXX_sizecache        int32    `json:"-"`
9547}
9548
9549func (m *CreateInspectTemplateRequest) Reset()         { *m = CreateInspectTemplateRequest{} }
9550func (m *CreateInspectTemplateRequest) String() string { return proto.CompactTextString(m) }
9551func (*CreateInspectTemplateRequest) ProtoMessage()    {}
9552func (*CreateInspectTemplateRequest) Descriptor() ([]byte, []int) {
9553	return fileDescriptor_6872a91dcb80f8dc, []int{77}
9554}
9555
9556func (m *CreateInspectTemplateRequest) XXX_Unmarshal(b []byte) error {
9557	return xxx_messageInfo_CreateInspectTemplateRequest.Unmarshal(m, b)
9558}
9559func (m *CreateInspectTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9560	return xxx_messageInfo_CreateInspectTemplateRequest.Marshal(b, m, deterministic)
9561}
9562func (m *CreateInspectTemplateRequest) XXX_Merge(src proto.Message) {
9563	xxx_messageInfo_CreateInspectTemplateRequest.Merge(m, src)
9564}
9565func (m *CreateInspectTemplateRequest) XXX_Size() int {
9566	return xxx_messageInfo_CreateInspectTemplateRequest.Size(m)
9567}
9568func (m *CreateInspectTemplateRequest) XXX_DiscardUnknown() {
9569	xxx_messageInfo_CreateInspectTemplateRequest.DiscardUnknown(m)
9570}
9571
9572var xxx_messageInfo_CreateInspectTemplateRequest proto.InternalMessageInfo
9573
9574func (m *CreateInspectTemplateRequest) GetParent() string {
9575	if m != nil {
9576		return m.Parent
9577	}
9578	return ""
9579}
9580
9581func (m *CreateInspectTemplateRequest) GetInspectTemplate() *InspectTemplate {
9582	if m != nil {
9583		return m.InspectTemplate
9584	}
9585	return nil
9586}
9587
9588func (m *CreateInspectTemplateRequest) GetTemplateId() string {
9589	if m != nil {
9590		return m.TemplateId
9591	}
9592	return ""
9593}
9594
9595func (m *CreateInspectTemplateRequest) GetLocationId() string {
9596	if m != nil {
9597		return m.LocationId
9598	}
9599	return ""
9600}
9601
9602// Request message for UpdateInspectTemplate.
9603type UpdateInspectTemplateRequest struct {
9604	// Required. Resource name of organization and inspectTemplate to be updated,
9605	// for example `organizations/433245324/inspectTemplates/432452342` or
9606	// projects/project-id/inspectTemplates/432452342.
9607	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9608	// New InspectTemplate value.
9609	InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"`
9610	// Mask to control which fields get updated.
9611	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
9612	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
9613	XXX_unrecognized     []byte                `json:"-"`
9614	XXX_sizecache        int32                 `json:"-"`
9615}
9616
9617func (m *UpdateInspectTemplateRequest) Reset()         { *m = UpdateInspectTemplateRequest{} }
9618func (m *UpdateInspectTemplateRequest) String() string { return proto.CompactTextString(m) }
9619func (*UpdateInspectTemplateRequest) ProtoMessage()    {}
9620func (*UpdateInspectTemplateRequest) Descriptor() ([]byte, []int) {
9621	return fileDescriptor_6872a91dcb80f8dc, []int{78}
9622}
9623
9624func (m *UpdateInspectTemplateRequest) XXX_Unmarshal(b []byte) error {
9625	return xxx_messageInfo_UpdateInspectTemplateRequest.Unmarshal(m, b)
9626}
9627func (m *UpdateInspectTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9628	return xxx_messageInfo_UpdateInspectTemplateRequest.Marshal(b, m, deterministic)
9629}
9630func (m *UpdateInspectTemplateRequest) XXX_Merge(src proto.Message) {
9631	xxx_messageInfo_UpdateInspectTemplateRequest.Merge(m, src)
9632}
9633func (m *UpdateInspectTemplateRequest) XXX_Size() int {
9634	return xxx_messageInfo_UpdateInspectTemplateRequest.Size(m)
9635}
9636func (m *UpdateInspectTemplateRequest) XXX_DiscardUnknown() {
9637	xxx_messageInfo_UpdateInspectTemplateRequest.DiscardUnknown(m)
9638}
9639
9640var xxx_messageInfo_UpdateInspectTemplateRequest proto.InternalMessageInfo
9641
9642func (m *UpdateInspectTemplateRequest) GetName() string {
9643	if m != nil {
9644		return m.Name
9645	}
9646	return ""
9647}
9648
9649func (m *UpdateInspectTemplateRequest) GetInspectTemplate() *InspectTemplate {
9650	if m != nil {
9651		return m.InspectTemplate
9652	}
9653	return nil
9654}
9655
9656func (m *UpdateInspectTemplateRequest) GetUpdateMask() *field_mask.FieldMask {
9657	if m != nil {
9658		return m.UpdateMask
9659	}
9660	return nil
9661}
9662
9663// Request message for GetInspectTemplate.
9664type GetInspectTemplateRequest struct {
9665	// Required. Resource name of the organization and inspectTemplate to be read,
9666	// for example `organizations/433245324/inspectTemplates/432452342` or
9667	// projects/project-id/inspectTemplates/432452342.
9668	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9669	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9670	XXX_unrecognized     []byte   `json:"-"`
9671	XXX_sizecache        int32    `json:"-"`
9672}
9673
9674func (m *GetInspectTemplateRequest) Reset()         { *m = GetInspectTemplateRequest{} }
9675func (m *GetInspectTemplateRequest) String() string { return proto.CompactTextString(m) }
9676func (*GetInspectTemplateRequest) ProtoMessage()    {}
9677func (*GetInspectTemplateRequest) Descriptor() ([]byte, []int) {
9678	return fileDescriptor_6872a91dcb80f8dc, []int{79}
9679}
9680
9681func (m *GetInspectTemplateRequest) XXX_Unmarshal(b []byte) error {
9682	return xxx_messageInfo_GetInspectTemplateRequest.Unmarshal(m, b)
9683}
9684func (m *GetInspectTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9685	return xxx_messageInfo_GetInspectTemplateRequest.Marshal(b, m, deterministic)
9686}
9687func (m *GetInspectTemplateRequest) XXX_Merge(src proto.Message) {
9688	xxx_messageInfo_GetInspectTemplateRequest.Merge(m, src)
9689}
9690func (m *GetInspectTemplateRequest) XXX_Size() int {
9691	return xxx_messageInfo_GetInspectTemplateRequest.Size(m)
9692}
9693func (m *GetInspectTemplateRequest) XXX_DiscardUnknown() {
9694	xxx_messageInfo_GetInspectTemplateRequest.DiscardUnknown(m)
9695}
9696
9697var xxx_messageInfo_GetInspectTemplateRequest proto.InternalMessageInfo
9698
9699func (m *GetInspectTemplateRequest) GetName() string {
9700	if m != nil {
9701		return m.Name
9702	}
9703	return ""
9704}
9705
9706// Request message for ListInspectTemplates.
9707type ListInspectTemplatesRequest struct {
9708	// Required. The parent resource name, for example projects/my-project-id or
9709	// organizations/my-org-id.
9710	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
9711	// Page token to continue retrieval. Comes from previous call
9712	// to `ListInspectTemplates`.
9713	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
9714	// Size of the page, can be limited by server. If zero server returns
9715	// a page of max size 100.
9716	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
9717	// Comma separated list of fields to order by,
9718	// followed by `asc` or `desc` postfix. This list is case-insensitive,
9719	// default sorting order is ascending, redundant space characters are
9720	// insignificant.
9721	//
9722	// Example: `name asc,update_time, create_time desc`
9723	//
9724	// Supported fields are:
9725	//
9726	// - `create_time`: corresponds to time the template was created.
9727	// - `update_time`: corresponds to time the template was last updated.
9728	// - `name`: corresponds to template's name.
9729	// - `display_name`: corresponds to template's display name.
9730	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
9731	// The geographic location where inspection templates will be retrieved from.
9732	// Use `-` for all locations. Reserved for future extensions.
9733	LocationId           string   `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
9734	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9735	XXX_unrecognized     []byte   `json:"-"`
9736	XXX_sizecache        int32    `json:"-"`
9737}
9738
9739func (m *ListInspectTemplatesRequest) Reset()         { *m = ListInspectTemplatesRequest{} }
9740func (m *ListInspectTemplatesRequest) String() string { return proto.CompactTextString(m) }
9741func (*ListInspectTemplatesRequest) ProtoMessage()    {}
9742func (*ListInspectTemplatesRequest) Descriptor() ([]byte, []int) {
9743	return fileDescriptor_6872a91dcb80f8dc, []int{80}
9744}
9745
9746func (m *ListInspectTemplatesRequest) XXX_Unmarshal(b []byte) error {
9747	return xxx_messageInfo_ListInspectTemplatesRequest.Unmarshal(m, b)
9748}
9749func (m *ListInspectTemplatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9750	return xxx_messageInfo_ListInspectTemplatesRequest.Marshal(b, m, deterministic)
9751}
9752func (m *ListInspectTemplatesRequest) XXX_Merge(src proto.Message) {
9753	xxx_messageInfo_ListInspectTemplatesRequest.Merge(m, src)
9754}
9755func (m *ListInspectTemplatesRequest) XXX_Size() int {
9756	return xxx_messageInfo_ListInspectTemplatesRequest.Size(m)
9757}
9758func (m *ListInspectTemplatesRequest) XXX_DiscardUnknown() {
9759	xxx_messageInfo_ListInspectTemplatesRequest.DiscardUnknown(m)
9760}
9761
9762var xxx_messageInfo_ListInspectTemplatesRequest proto.InternalMessageInfo
9763
9764func (m *ListInspectTemplatesRequest) GetParent() string {
9765	if m != nil {
9766		return m.Parent
9767	}
9768	return ""
9769}
9770
9771func (m *ListInspectTemplatesRequest) GetPageToken() string {
9772	if m != nil {
9773		return m.PageToken
9774	}
9775	return ""
9776}
9777
9778func (m *ListInspectTemplatesRequest) GetPageSize() int32 {
9779	if m != nil {
9780		return m.PageSize
9781	}
9782	return 0
9783}
9784
9785func (m *ListInspectTemplatesRequest) GetOrderBy() string {
9786	if m != nil {
9787		return m.OrderBy
9788	}
9789	return ""
9790}
9791
9792func (m *ListInspectTemplatesRequest) GetLocationId() string {
9793	if m != nil {
9794		return m.LocationId
9795	}
9796	return ""
9797}
9798
9799// Response message for ListInspectTemplates.
9800type ListInspectTemplatesResponse struct {
9801	// List of inspectTemplates, up to page_size in ListInspectTemplatesRequest.
9802	InspectTemplates []*InspectTemplate `protobuf:"bytes,1,rep,name=inspect_templates,json=inspectTemplates,proto3" json:"inspect_templates,omitempty"`
9803	// If the next page is available then the next page token to be used
9804	// in following ListInspectTemplates request.
9805	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
9806	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9807	XXX_unrecognized     []byte   `json:"-"`
9808	XXX_sizecache        int32    `json:"-"`
9809}
9810
9811func (m *ListInspectTemplatesResponse) Reset()         { *m = ListInspectTemplatesResponse{} }
9812func (m *ListInspectTemplatesResponse) String() string { return proto.CompactTextString(m) }
9813func (*ListInspectTemplatesResponse) ProtoMessage()    {}
9814func (*ListInspectTemplatesResponse) Descriptor() ([]byte, []int) {
9815	return fileDescriptor_6872a91dcb80f8dc, []int{81}
9816}
9817
9818func (m *ListInspectTemplatesResponse) XXX_Unmarshal(b []byte) error {
9819	return xxx_messageInfo_ListInspectTemplatesResponse.Unmarshal(m, b)
9820}
9821func (m *ListInspectTemplatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9822	return xxx_messageInfo_ListInspectTemplatesResponse.Marshal(b, m, deterministic)
9823}
9824func (m *ListInspectTemplatesResponse) XXX_Merge(src proto.Message) {
9825	xxx_messageInfo_ListInspectTemplatesResponse.Merge(m, src)
9826}
9827func (m *ListInspectTemplatesResponse) XXX_Size() int {
9828	return xxx_messageInfo_ListInspectTemplatesResponse.Size(m)
9829}
9830func (m *ListInspectTemplatesResponse) XXX_DiscardUnknown() {
9831	xxx_messageInfo_ListInspectTemplatesResponse.DiscardUnknown(m)
9832}
9833
9834var xxx_messageInfo_ListInspectTemplatesResponse proto.InternalMessageInfo
9835
9836func (m *ListInspectTemplatesResponse) GetInspectTemplates() []*InspectTemplate {
9837	if m != nil {
9838		return m.InspectTemplates
9839	}
9840	return nil
9841}
9842
9843func (m *ListInspectTemplatesResponse) GetNextPageToken() string {
9844	if m != nil {
9845		return m.NextPageToken
9846	}
9847	return ""
9848}
9849
9850// Request message for DeleteInspectTemplate.
9851type DeleteInspectTemplateRequest struct {
9852	// Required. Resource name of the organization and inspectTemplate to be
9853	// deleted, for example `organizations/433245324/inspectTemplates/432452342`
9854	// or projects/project-id/inspectTemplates/432452342.
9855	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9856	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9857	XXX_unrecognized     []byte   `json:"-"`
9858	XXX_sizecache        int32    `json:"-"`
9859}
9860
9861func (m *DeleteInspectTemplateRequest) Reset()         { *m = DeleteInspectTemplateRequest{} }
9862func (m *DeleteInspectTemplateRequest) String() string { return proto.CompactTextString(m) }
9863func (*DeleteInspectTemplateRequest) ProtoMessage()    {}
9864func (*DeleteInspectTemplateRequest) Descriptor() ([]byte, []int) {
9865	return fileDescriptor_6872a91dcb80f8dc, []int{82}
9866}
9867
9868func (m *DeleteInspectTemplateRequest) XXX_Unmarshal(b []byte) error {
9869	return xxx_messageInfo_DeleteInspectTemplateRequest.Unmarshal(m, b)
9870}
9871func (m *DeleteInspectTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9872	return xxx_messageInfo_DeleteInspectTemplateRequest.Marshal(b, m, deterministic)
9873}
9874func (m *DeleteInspectTemplateRequest) XXX_Merge(src proto.Message) {
9875	xxx_messageInfo_DeleteInspectTemplateRequest.Merge(m, src)
9876}
9877func (m *DeleteInspectTemplateRequest) XXX_Size() int {
9878	return xxx_messageInfo_DeleteInspectTemplateRequest.Size(m)
9879}
9880func (m *DeleteInspectTemplateRequest) XXX_DiscardUnknown() {
9881	xxx_messageInfo_DeleteInspectTemplateRequest.DiscardUnknown(m)
9882}
9883
9884var xxx_messageInfo_DeleteInspectTemplateRequest proto.InternalMessageInfo
9885
9886func (m *DeleteInspectTemplateRequest) GetName() string {
9887	if m != nil {
9888		return m.Name
9889	}
9890	return ""
9891}
9892
9893// Request message for CreateJobTrigger.
9894type CreateJobTriggerRequest struct {
9895	// Required. The parent resource name, for example projects/my-project-id.
9896	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
9897	// Required. The JobTrigger to create.
9898	JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"`
9899	// The trigger id can contain uppercase and lowercase letters,
9900	// numbers, and hyphens; that is, it must match the regular
9901	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
9902	// characters. Can be empty to allow the system to generate one.
9903	TriggerId string `protobuf:"bytes,3,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
9904	// The geographic location to store the job trigger. Reserved for
9905	// future extensions.
9906	LocationId           string   `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
9907	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9908	XXX_unrecognized     []byte   `json:"-"`
9909	XXX_sizecache        int32    `json:"-"`
9910}
9911
9912func (m *CreateJobTriggerRequest) Reset()         { *m = CreateJobTriggerRequest{} }
9913func (m *CreateJobTriggerRequest) String() string { return proto.CompactTextString(m) }
9914func (*CreateJobTriggerRequest) ProtoMessage()    {}
9915func (*CreateJobTriggerRequest) Descriptor() ([]byte, []int) {
9916	return fileDescriptor_6872a91dcb80f8dc, []int{83}
9917}
9918
9919func (m *CreateJobTriggerRequest) XXX_Unmarshal(b []byte) error {
9920	return xxx_messageInfo_CreateJobTriggerRequest.Unmarshal(m, b)
9921}
9922func (m *CreateJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9923	return xxx_messageInfo_CreateJobTriggerRequest.Marshal(b, m, deterministic)
9924}
9925func (m *CreateJobTriggerRequest) XXX_Merge(src proto.Message) {
9926	xxx_messageInfo_CreateJobTriggerRequest.Merge(m, src)
9927}
9928func (m *CreateJobTriggerRequest) XXX_Size() int {
9929	return xxx_messageInfo_CreateJobTriggerRequest.Size(m)
9930}
9931func (m *CreateJobTriggerRequest) XXX_DiscardUnknown() {
9932	xxx_messageInfo_CreateJobTriggerRequest.DiscardUnknown(m)
9933}
9934
9935var xxx_messageInfo_CreateJobTriggerRequest proto.InternalMessageInfo
9936
9937func (m *CreateJobTriggerRequest) GetParent() string {
9938	if m != nil {
9939		return m.Parent
9940	}
9941	return ""
9942}
9943
9944func (m *CreateJobTriggerRequest) GetJobTrigger() *JobTrigger {
9945	if m != nil {
9946		return m.JobTrigger
9947	}
9948	return nil
9949}
9950
9951func (m *CreateJobTriggerRequest) GetTriggerId() string {
9952	if m != nil {
9953		return m.TriggerId
9954	}
9955	return ""
9956}
9957
9958func (m *CreateJobTriggerRequest) GetLocationId() string {
9959	if m != nil {
9960		return m.LocationId
9961	}
9962	return ""
9963}
9964
9965// Request message for ActivateJobTrigger.
9966type ActivateJobTriggerRequest struct {
9967	// Required. Resource name of the trigger to activate, for example
9968	// `projects/dlp-test-project/jobTriggers/53234423`.
9969	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9970	XXX_NoUnkeyedLiteral struct{} `json:"-"`
9971	XXX_unrecognized     []byte   `json:"-"`
9972	XXX_sizecache        int32    `json:"-"`
9973}
9974
9975func (m *ActivateJobTriggerRequest) Reset()         { *m = ActivateJobTriggerRequest{} }
9976func (m *ActivateJobTriggerRequest) String() string { return proto.CompactTextString(m) }
9977func (*ActivateJobTriggerRequest) ProtoMessage()    {}
9978func (*ActivateJobTriggerRequest) Descriptor() ([]byte, []int) {
9979	return fileDescriptor_6872a91dcb80f8dc, []int{84}
9980}
9981
9982func (m *ActivateJobTriggerRequest) XXX_Unmarshal(b []byte) error {
9983	return xxx_messageInfo_ActivateJobTriggerRequest.Unmarshal(m, b)
9984}
9985func (m *ActivateJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
9986	return xxx_messageInfo_ActivateJobTriggerRequest.Marshal(b, m, deterministic)
9987}
9988func (m *ActivateJobTriggerRequest) XXX_Merge(src proto.Message) {
9989	xxx_messageInfo_ActivateJobTriggerRequest.Merge(m, src)
9990}
9991func (m *ActivateJobTriggerRequest) XXX_Size() int {
9992	return xxx_messageInfo_ActivateJobTriggerRequest.Size(m)
9993}
9994func (m *ActivateJobTriggerRequest) XXX_DiscardUnknown() {
9995	xxx_messageInfo_ActivateJobTriggerRequest.DiscardUnknown(m)
9996}
9997
9998var xxx_messageInfo_ActivateJobTriggerRequest proto.InternalMessageInfo
9999
10000func (m *ActivateJobTriggerRequest) GetName() string {
10001	if m != nil {
10002		return m.Name
10003	}
10004	return ""
10005}
10006
10007// Request message for UpdateJobTrigger.
10008type UpdateJobTriggerRequest struct {
10009	// Required. Resource name of the project and the triggeredJob, for example
10010	// `projects/dlp-test-project/jobTriggers/53234423`.
10011	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10012	// New JobTrigger value.
10013	JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"`
10014	// Mask to control which fields get updated.
10015	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
10016	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
10017	XXX_unrecognized     []byte                `json:"-"`
10018	XXX_sizecache        int32                 `json:"-"`
10019}
10020
10021func (m *UpdateJobTriggerRequest) Reset()         { *m = UpdateJobTriggerRequest{} }
10022func (m *UpdateJobTriggerRequest) String() string { return proto.CompactTextString(m) }
10023func (*UpdateJobTriggerRequest) ProtoMessage()    {}
10024func (*UpdateJobTriggerRequest) Descriptor() ([]byte, []int) {
10025	return fileDescriptor_6872a91dcb80f8dc, []int{85}
10026}
10027
10028func (m *UpdateJobTriggerRequest) XXX_Unmarshal(b []byte) error {
10029	return xxx_messageInfo_UpdateJobTriggerRequest.Unmarshal(m, b)
10030}
10031func (m *UpdateJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10032	return xxx_messageInfo_UpdateJobTriggerRequest.Marshal(b, m, deterministic)
10033}
10034func (m *UpdateJobTriggerRequest) XXX_Merge(src proto.Message) {
10035	xxx_messageInfo_UpdateJobTriggerRequest.Merge(m, src)
10036}
10037func (m *UpdateJobTriggerRequest) XXX_Size() int {
10038	return xxx_messageInfo_UpdateJobTriggerRequest.Size(m)
10039}
10040func (m *UpdateJobTriggerRequest) XXX_DiscardUnknown() {
10041	xxx_messageInfo_UpdateJobTriggerRequest.DiscardUnknown(m)
10042}
10043
10044var xxx_messageInfo_UpdateJobTriggerRequest proto.InternalMessageInfo
10045
10046func (m *UpdateJobTriggerRequest) GetName() string {
10047	if m != nil {
10048		return m.Name
10049	}
10050	return ""
10051}
10052
10053func (m *UpdateJobTriggerRequest) GetJobTrigger() *JobTrigger {
10054	if m != nil {
10055		return m.JobTrigger
10056	}
10057	return nil
10058}
10059
10060func (m *UpdateJobTriggerRequest) GetUpdateMask() *field_mask.FieldMask {
10061	if m != nil {
10062		return m.UpdateMask
10063	}
10064	return nil
10065}
10066
10067// Request message for GetJobTrigger.
10068type GetJobTriggerRequest struct {
10069	// Required. Resource name of the project and the triggeredJob, for example
10070	// `projects/dlp-test-project/jobTriggers/53234423`.
10071	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10072	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10073	XXX_unrecognized     []byte   `json:"-"`
10074	XXX_sizecache        int32    `json:"-"`
10075}
10076
10077func (m *GetJobTriggerRequest) Reset()         { *m = GetJobTriggerRequest{} }
10078func (m *GetJobTriggerRequest) String() string { return proto.CompactTextString(m) }
10079func (*GetJobTriggerRequest) ProtoMessage()    {}
10080func (*GetJobTriggerRequest) Descriptor() ([]byte, []int) {
10081	return fileDescriptor_6872a91dcb80f8dc, []int{86}
10082}
10083
10084func (m *GetJobTriggerRequest) XXX_Unmarshal(b []byte) error {
10085	return xxx_messageInfo_GetJobTriggerRequest.Unmarshal(m, b)
10086}
10087func (m *GetJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10088	return xxx_messageInfo_GetJobTriggerRequest.Marshal(b, m, deterministic)
10089}
10090func (m *GetJobTriggerRequest) XXX_Merge(src proto.Message) {
10091	xxx_messageInfo_GetJobTriggerRequest.Merge(m, src)
10092}
10093func (m *GetJobTriggerRequest) XXX_Size() int {
10094	return xxx_messageInfo_GetJobTriggerRequest.Size(m)
10095}
10096func (m *GetJobTriggerRequest) XXX_DiscardUnknown() {
10097	xxx_messageInfo_GetJobTriggerRequest.DiscardUnknown(m)
10098}
10099
10100var xxx_messageInfo_GetJobTriggerRequest proto.InternalMessageInfo
10101
10102func (m *GetJobTriggerRequest) GetName() string {
10103	if m != nil {
10104		return m.Name
10105	}
10106	return ""
10107}
10108
10109// Request message for CreateDlpJobRequest. Used to initiate long running
10110// jobs such as calculating risk metrics or inspecting Google Cloud
10111// Storage.
10112type CreateDlpJobRequest struct {
10113	// Required. The parent resource name, for example projects/my-project-id.
10114	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
10115	// The configuration details for the specific type of job to run.
10116	//
10117	// Types that are valid to be assigned to Job:
10118	//	*CreateDlpJobRequest_InspectJob
10119	//	*CreateDlpJobRequest_RiskJob
10120	Job isCreateDlpJobRequest_Job `protobuf_oneof:"job"`
10121	// The job id can contain uppercase and lowercase letters,
10122	// numbers, and hyphens; that is, it must match the regular
10123	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
10124	// characters. Can be empty to allow the system to generate one.
10125	JobId string `protobuf:"bytes,4,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
10126	// The geographic location to store and process the job. Reserved for
10127	// future extensions.
10128	LocationId           string   `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
10129	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10130	XXX_unrecognized     []byte   `json:"-"`
10131	XXX_sizecache        int32    `json:"-"`
10132}
10133
10134func (m *CreateDlpJobRequest) Reset()         { *m = CreateDlpJobRequest{} }
10135func (m *CreateDlpJobRequest) String() string { return proto.CompactTextString(m) }
10136func (*CreateDlpJobRequest) ProtoMessage()    {}
10137func (*CreateDlpJobRequest) Descriptor() ([]byte, []int) {
10138	return fileDescriptor_6872a91dcb80f8dc, []int{87}
10139}
10140
10141func (m *CreateDlpJobRequest) XXX_Unmarshal(b []byte) error {
10142	return xxx_messageInfo_CreateDlpJobRequest.Unmarshal(m, b)
10143}
10144func (m *CreateDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10145	return xxx_messageInfo_CreateDlpJobRequest.Marshal(b, m, deterministic)
10146}
10147func (m *CreateDlpJobRequest) XXX_Merge(src proto.Message) {
10148	xxx_messageInfo_CreateDlpJobRequest.Merge(m, src)
10149}
10150func (m *CreateDlpJobRequest) XXX_Size() int {
10151	return xxx_messageInfo_CreateDlpJobRequest.Size(m)
10152}
10153func (m *CreateDlpJobRequest) XXX_DiscardUnknown() {
10154	xxx_messageInfo_CreateDlpJobRequest.DiscardUnknown(m)
10155}
10156
10157var xxx_messageInfo_CreateDlpJobRequest proto.InternalMessageInfo
10158
10159func (m *CreateDlpJobRequest) GetParent() string {
10160	if m != nil {
10161		return m.Parent
10162	}
10163	return ""
10164}
10165
10166type isCreateDlpJobRequest_Job interface {
10167	isCreateDlpJobRequest_Job()
10168}
10169
10170type CreateDlpJobRequest_InspectJob struct {
10171	InspectJob *InspectJobConfig `protobuf:"bytes,2,opt,name=inspect_job,json=inspectJob,proto3,oneof"`
10172}
10173
10174type CreateDlpJobRequest_RiskJob struct {
10175	RiskJob *RiskAnalysisJobConfig `protobuf:"bytes,3,opt,name=risk_job,json=riskJob,proto3,oneof"`
10176}
10177
10178func (*CreateDlpJobRequest_InspectJob) isCreateDlpJobRequest_Job() {}
10179
10180func (*CreateDlpJobRequest_RiskJob) isCreateDlpJobRequest_Job() {}
10181
10182func (m *CreateDlpJobRequest) GetJob() isCreateDlpJobRequest_Job {
10183	if m != nil {
10184		return m.Job
10185	}
10186	return nil
10187}
10188
10189func (m *CreateDlpJobRequest) GetInspectJob() *InspectJobConfig {
10190	if x, ok := m.GetJob().(*CreateDlpJobRequest_InspectJob); ok {
10191		return x.InspectJob
10192	}
10193	return nil
10194}
10195
10196func (m *CreateDlpJobRequest) GetRiskJob() *RiskAnalysisJobConfig {
10197	if x, ok := m.GetJob().(*CreateDlpJobRequest_RiskJob); ok {
10198		return x.RiskJob
10199	}
10200	return nil
10201}
10202
10203func (m *CreateDlpJobRequest) GetJobId() string {
10204	if m != nil {
10205		return m.JobId
10206	}
10207	return ""
10208}
10209
10210func (m *CreateDlpJobRequest) GetLocationId() string {
10211	if m != nil {
10212		return m.LocationId
10213	}
10214	return ""
10215}
10216
10217// XXX_OneofWrappers is for the internal use of the proto package.
10218func (*CreateDlpJobRequest) XXX_OneofWrappers() []interface{} {
10219	return []interface{}{
10220		(*CreateDlpJobRequest_InspectJob)(nil),
10221		(*CreateDlpJobRequest_RiskJob)(nil),
10222	}
10223}
10224
10225// Request message for ListJobTriggers.
10226type ListJobTriggersRequest struct {
10227	// Required. The parent resource name, for example `projects/my-project-id`.
10228	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
10229	// Page token to continue retrieval. Comes from previous call
10230	// to ListJobTriggers. `order_by` field must not
10231	// change for subsequent calls.
10232	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
10233	// Size of the page, can be limited by a server.
10234	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
10235	// Comma separated list of triggeredJob fields to order by,
10236	// followed by `asc` or `desc` postfix. This list is case-insensitive,
10237	// default sorting order is ascending, redundant space characters are
10238	// insignificant.
10239	//
10240	// Example: `name asc,update_time, create_time desc`
10241	//
10242	// Supported fields are:
10243	//
10244	// - `create_time`: corresponds to time the JobTrigger was created.
10245	// - `update_time`: corresponds to time the JobTrigger was last updated.
10246	// - `last_run_time`: corresponds to the last time the JobTrigger ran.
10247	// - `name`: corresponds to JobTrigger's name.
10248	// - `display_name`: corresponds to JobTrigger's display name.
10249	// - `status`: corresponds to JobTrigger's status.
10250	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
10251	// Allows filtering.
10252	//
10253	// Supported syntax:
10254	//
10255	// * Filter expressions are made up of one or more restrictions.
10256	// * Restrictions can be combined by `AND` or `OR` logical operators. A
10257	// sequence of restrictions implicitly uses `AND`.
10258	// * A restriction has the form of `{field} {operator} {value}`.
10259	// * Supported fields/values for inspect jobs:
10260	//     - `status` - HEALTHY|PAUSED|CANCELLED
10261	//     - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
10262	//     - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
10263	//     quotation marks. Nanoseconds are ignored.
10264	//     - 'error_count' - Number of errors that have occurred while running.
10265	// * The operator must be `=` or `!=` for status and inspected_storage.
10266	//
10267	// Examples:
10268	//
10269	// * inspected_storage = cloud_storage AND status = HEALTHY
10270	// * inspected_storage = cloud_storage OR inspected_storage = bigquery
10271	// * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
10272	// * last_run_time > \"2017-12-12T00:00:00+00:00\"
10273	//
10274	// The length of this field should be no more than 500 characters.
10275	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
10276	// The geographic location where job triggers will be retrieved from.
10277	// Use `-` for all locations. Reserved for future extensions.
10278	LocationId           string   `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
10279	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10280	XXX_unrecognized     []byte   `json:"-"`
10281	XXX_sizecache        int32    `json:"-"`
10282}
10283
10284func (m *ListJobTriggersRequest) Reset()         { *m = ListJobTriggersRequest{} }
10285func (m *ListJobTriggersRequest) String() string { return proto.CompactTextString(m) }
10286func (*ListJobTriggersRequest) ProtoMessage()    {}
10287func (*ListJobTriggersRequest) Descriptor() ([]byte, []int) {
10288	return fileDescriptor_6872a91dcb80f8dc, []int{88}
10289}
10290
10291func (m *ListJobTriggersRequest) XXX_Unmarshal(b []byte) error {
10292	return xxx_messageInfo_ListJobTriggersRequest.Unmarshal(m, b)
10293}
10294func (m *ListJobTriggersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10295	return xxx_messageInfo_ListJobTriggersRequest.Marshal(b, m, deterministic)
10296}
10297func (m *ListJobTriggersRequest) XXX_Merge(src proto.Message) {
10298	xxx_messageInfo_ListJobTriggersRequest.Merge(m, src)
10299}
10300func (m *ListJobTriggersRequest) XXX_Size() int {
10301	return xxx_messageInfo_ListJobTriggersRequest.Size(m)
10302}
10303func (m *ListJobTriggersRequest) XXX_DiscardUnknown() {
10304	xxx_messageInfo_ListJobTriggersRequest.DiscardUnknown(m)
10305}
10306
10307var xxx_messageInfo_ListJobTriggersRequest proto.InternalMessageInfo
10308
10309func (m *ListJobTriggersRequest) GetParent() string {
10310	if m != nil {
10311		return m.Parent
10312	}
10313	return ""
10314}
10315
10316func (m *ListJobTriggersRequest) GetPageToken() string {
10317	if m != nil {
10318		return m.PageToken
10319	}
10320	return ""
10321}
10322
10323func (m *ListJobTriggersRequest) GetPageSize() int32 {
10324	if m != nil {
10325		return m.PageSize
10326	}
10327	return 0
10328}
10329
10330func (m *ListJobTriggersRequest) GetOrderBy() string {
10331	if m != nil {
10332		return m.OrderBy
10333	}
10334	return ""
10335}
10336
10337func (m *ListJobTriggersRequest) GetFilter() string {
10338	if m != nil {
10339		return m.Filter
10340	}
10341	return ""
10342}
10343
10344func (m *ListJobTriggersRequest) GetLocationId() string {
10345	if m != nil {
10346		return m.LocationId
10347	}
10348	return ""
10349}
10350
10351// Response message for ListJobTriggers.
10352type ListJobTriggersResponse struct {
10353	// List of triggeredJobs, up to page_size in ListJobTriggersRequest.
10354	JobTriggers []*JobTrigger `protobuf:"bytes,1,rep,name=job_triggers,json=jobTriggers,proto3" json:"job_triggers,omitempty"`
10355	// If the next page is available then the next page token to be used
10356	// in following ListJobTriggers request.
10357	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
10358	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10359	XXX_unrecognized     []byte   `json:"-"`
10360	XXX_sizecache        int32    `json:"-"`
10361}
10362
10363func (m *ListJobTriggersResponse) Reset()         { *m = ListJobTriggersResponse{} }
10364func (m *ListJobTriggersResponse) String() string { return proto.CompactTextString(m) }
10365func (*ListJobTriggersResponse) ProtoMessage()    {}
10366func (*ListJobTriggersResponse) Descriptor() ([]byte, []int) {
10367	return fileDescriptor_6872a91dcb80f8dc, []int{89}
10368}
10369
10370func (m *ListJobTriggersResponse) XXX_Unmarshal(b []byte) error {
10371	return xxx_messageInfo_ListJobTriggersResponse.Unmarshal(m, b)
10372}
10373func (m *ListJobTriggersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10374	return xxx_messageInfo_ListJobTriggersResponse.Marshal(b, m, deterministic)
10375}
10376func (m *ListJobTriggersResponse) XXX_Merge(src proto.Message) {
10377	xxx_messageInfo_ListJobTriggersResponse.Merge(m, src)
10378}
10379func (m *ListJobTriggersResponse) XXX_Size() int {
10380	return xxx_messageInfo_ListJobTriggersResponse.Size(m)
10381}
10382func (m *ListJobTriggersResponse) XXX_DiscardUnknown() {
10383	xxx_messageInfo_ListJobTriggersResponse.DiscardUnknown(m)
10384}
10385
10386var xxx_messageInfo_ListJobTriggersResponse proto.InternalMessageInfo
10387
10388func (m *ListJobTriggersResponse) GetJobTriggers() []*JobTrigger {
10389	if m != nil {
10390		return m.JobTriggers
10391	}
10392	return nil
10393}
10394
10395func (m *ListJobTriggersResponse) GetNextPageToken() string {
10396	if m != nil {
10397		return m.NextPageToken
10398	}
10399	return ""
10400}
10401
10402// Request message for DeleteJobTrigger.
10403type DeleteJobTriggerRequest struct {
10404	// Required. Resource name of the project and the triggeredJob, for example
10405	// `projects/dlp-test-project/jobTriggers/53234423`.
10406	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10407	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10408	XXX_unrecognized     []byte   `json:"-"`
10409	XXX_sizecache        int32    `json:"-"`
10410}
10411
10412func (m *DeleteJobTriggerRequest) Reset()         { *m = DeleteJobTriggerRequest{} }
10413func (m *DeleteJobTriggerRequest) String() string { return proto.CompactTextString(m) }
10414func (*DeleteJobTriggerRequest) ProtoMessage()    {}
10415func (*DeleteJobTriggerRequest) Descriptor() ([]byte, []int) {
10416	return fileDescriptor_6872a91dcb80f8dc, []int{90}
10417}
10418
10419func (m *DeleteJobTriggerRequest) XXX_Unmarshal(b []byte) error {
10420	return xxx_messageInfo_DeleteJobTriggerRequest.Unmarshal(m, b)
10421}
10422func (m *DeleteJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10423	return xxx_messageInfo_DeleteJobTriggerRequest.Marshal(b, m, deterministic)
10424}
10425func (m *DeleteJobTriggerRequest) XXX_Merge(src proto.Message) {
10426	xxx_messageInfo_DeleteJobTriggerRequest.Merge(m, src)
10427}
10428func (m *DeleteJobTriggerRequest) XXX_Size() int {
10429	return xxx_messageInfo_DeleteJobTriggerRequest.Size(m)
10430}
10431func (m *DeleteJobTriggerRequest) XXX_DiscardUnknown() {
10432	xxx_messageInfo_DeleteJobTriggerRequest.DiscardUnknown(m)
10433}
10434
10435var xxx_messageInfo_DeleteJobTriggerRequest proto.InternalMessageInfo
10436
10437func (m *DeleteJobTriggerRequest) GetName() string {
10438	if m != nil {
10439		return m.Name
10440	}
10441	return ""
10442}
10443
10444// Controls what and how to inspect for findings.
10445type InspectJobConfig struct {
10446	// The data to scan.
10447	StorageConfig *StorageConfig `protobuf:"bytes,1,opt,name=storage_config,json=storageConfig,proto3" json:"storage_config,omitempty"`
10448	// How and what to scan for.
10449	InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
10450	// If provided, will be used as the default for all values in InspectConfig.
10451	// `inspect_config` will be merged into the values persisted as part of the
10452	// template.
10453	InspectTemplateName string `protobuf:"bytes,3,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
10454	// Actions to execute at the completion of the job.
10455	Actions              []*Action `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"`
10456	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
10457	XXX_unrecognized     []byte    `json:"-"`
10458	XXX_sizecache        int32     `json:"-"`
10459}
10460
10461func (m *InspectJobConfig) Reset()         { *m = InspectJobConfig{} }
10462func (m *InspectJobConfig) String() string { return proto.CompactTextString(m) }
10463func (*InspectJobConfig) ProtoMessage()    {}
10464func (*InspectJobConfig) Descriptor() ([]byte, []int) {
10465	return fileDescriptor_6872a91dcb80f8dc, []int{91}
10466}
10467
10468func (m *InspectJobConfig) XXX_Unmarshal(b []byte) error {
10469	return xxx_messageInfo_InspectJobConfig.Unmarshal(m, b)
10470}
10471func (m *InspectJobConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10472	return xxx_messageInfo_InspectJobConfig.Marshal(b, m, deterministic)
10473}
10474func (m *InspectJobConfig) XXX_Merge(src proto.Message) {
10475	xxx_messageInfo_InspectJobConfig.Merge(m, src)
10476}
10477func (m *InspectJobConfig) XXX_Size() int {
10478	return xxx_messageInfo_InspectJobConfig.Size(m)
10479}
10480func (m *InspectJobConfig) XXX_DiscardUnknown() {
10481	xxx_messageInfo_InspectJobConfig.DiscardUnknown(m)
10482}
10483
10484var xxx_messageInfo_InspectJobConfig proto.InternalMessageInfo
10485
10486func (m *InspectJobConfig) GetStorageConfig() *StorageConfig {
10487	if m != nil {
10488		return m.StorageConfig
10489	}
10490	return nil
10491}
10492
10493func (m *InspectJobConfig) GetInspectConfig() *InspectConfig {
10494	if m != nil {
10495		return m.InspectConfig
10496	}
10497	return nil
10498}
10499
10500func (m *InspectJobConfig) GetInspectTemplateName() string {
10501	if m != nil {
10502		return m.InspectTemplateName
10503	}
10504	return ""
10505}
10506
10507func (m *InspectJobConfig) GetActions() []*Action {
10508	if m != nil {
10509		return m.Actions
10510	}
10511	return nil
10512}
10513
10514// Combines all of the information about a DLP job.
10515type DlpJob struct {
10516	// The server-assigned name.
10517	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10518	// The type of job.
10519	Type DlpJobType `protobuf:"varint,2,opt,name=type,proto3,enum=google.privacy.dlp.v2.DlpJobType" json:"type,omitempty"`
10520	// State of a job.
10521	State DlpJob_JobState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.DlpJob_JobState" json:"state,omitempty"`
10522	// Types that are valid to be assigned to Details:
10523	//	*DlpJob_RiskDetails
10524	//	*DlpJob_InspectDetails
10525	Details isDlpJob_Details `protobuf_oneof:"details"`
10526	// Time when the job was created.
10527	CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
10528	// Time when the job started.
10529	StartTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
10530	// Time when the job finished.
10531	EndTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
10532	// If created by a job trigger, the resource name of the trigger that
10533	// instantiated the job.
10534	JobTriggerName string `protobuf:"bytes,10,opt,name=job_trigger_name,json=jobTriggerName,proto3" json:"job_trigger_name,omitempty"`
10535	// A stream of errors encountered running the job.
10536	Errors               []*Error `protobuf:"bytes,11,rep,name=errors,proto3" json:"errors,omitempty"`
10537	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10538	XXX_unrecognized     []byte   `json:"-"`
10539	XXX_sizecache        int32    `json:"-"`
10540}
10541
10542func (m *DlpJob) Reset()         { *m = DlpJob{} }
10543func (m *DlpJob) String() string { return proto.CompactTextString(m) }
10544func (*DlpJob) ProtoMessage()    {}
10545func (*DlpJob) Descriptor() ([]byte, []int) {
10546	return fileDescriptor_6872a91dcb80f8dc, []int{92}
10547}
10548
10549func (m *DlpJob) XXX_Unmarshal(b []byte) error {
10550	return xxx_messageInfo_DlpJob.Unmarshal(m, b)
10551}
10552func (m *DlpJob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10553	return xxx_messageInfo_DlpJob.Marshal(b, m, deterministic)
10554}
10555func (m *DlpJob) XXX_Merge(src proto.Message) {
10556	xxx_messageInfo_DlpJob.Merge(m, src)
10557}
10558func (m *DlpJob) XXX_Size() int {
10559	return xxx_messageInfo_DlpJob.Size(m)
10560}
10561func (m *DlpJob) XXX_DiscardUnknown() {
10562	xxx_messageInfo_DlpJob.DiscardUnknown(m)
10563}
10564
10565var xxx_messageInfo_DlpJob proto.InternalMessageInfo
10566
10567func (m *DlpJob) GetName() string {
10568	if m != nil {
10569		return m.Name
10570	}
10571	return ""
10572}
10573
10574func (m *DlpJob) GetType() DlpJobType {
10575	if m != nil {
10576		return m.Type
10577	}
10578	return DlpJobType_DLP_JOB_TYPE_UNSPECIFIED
10579}
10580
10581func (m *DlpJob) GetState() DlpJob_JobState {
10582	if m != nil {
10583		return m.State
10584	}
10585	return DlpJob_JOB_STATE_UNSPECIFIED
10586}
10587
10588type isDlpJob_Details interface {
10589	isDlpJob_Details()
10590}
10591
10592type DlpJob_RiskDetails struct {
10593	RiskDetails *AnalyzeDataSourceRiskDetails `protobuf:"bytes,4,opt,name=risk_details,json=riskDetails,proto3,oneof"`
10594}
10595
10596type DlpJob_InspectDetails struct {
10597	InspectDetails *InspectDataSourceDetails `protobuf:"bytes,5,opt,name=inspect_details,json=inspectDetails,proto3,oneof"`
10598}
10599
10600func (*DlpJob_RiskDetails) isDlpJob_Details() {}
10601
10602func (*DlpJob_InspectDetails) isDlpJob_Details() {}
10603
10604func (m *DlpJob) GetDetails() isDlpJob_Details {
10605	if m != nil {
10606		return m.Details
10607	}
10608	return nil
10609}
10610
10611func (m *DlpJob) GetRiskDetails() *AnalyzeDataSourceRiskDetails {
10612	if x, ok := m.GetDetails().(*DlpJob_RiskDetails); ok {
10613		return x.RiskDetails
10614	}
10615	return nil
10616}
10617
10618func (m *DlpJob) GetInspectDetails() *InspectDataSourceDetails {
10619	if x, ok := m.GetDetails().(*DlpJob_InspectDetails); ok {
10620		return x.InspectDetails
10621	}
10622	return nil
10623}
10624
10625func (m *DlpJob) GetCreateTime() *timestamp.Timestamp {
10626	if m != nil {
10627		return m.CreateTime
10628	}
10629	return nil
10630}
10631
10632func (m *DlpJob) GetStartTime() *timestamp.Timestamp {
10633	if m != nil {
10634		return m.StartTime
10635	}
10636	return nil
10637}
10638
10639func (m *DlpJob) GetEndTime() *timestamp.Timestamp {
10640	if m != nil {
10641		return m.EndTime
10642	}
10643	return nil
10644}
10645
10646func (m *DlpJob) GetJobTriggerName() string {
10647	if m != nil {
10648		return m.JobTriggerName
10649	}
10650	return ""
10651}
10652
10653func (m *DlpJob) GetErrors() []*Error {
10654	if m != nil {
10655		return m.Errors
10656	}
10657	return nil
10658}
10659
10660// XXX_OneofWrappers is for the internal use of the proto package.
10661func (*DlpJob) XXX_OneofWrappers() []interface{} {
10662	return []interface{}{
10663		(*DlpJob_RiskDetails)(nil),
10664		(*DlpJob_InspectDetails)(nil),
10665	}
10666}
10667
10668// The request message for [DlpJobs.GetDlpJob][].
10669type GetDlpJobRequest struct {
10670	// Required. The name of the DlpJob resource.
10671	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10672	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10673	XXX_unrecognized     []byte   `json:"-"`
10674	XXX_sizecache        int32    `json:"-"`
10675}
10676
10677func (m *GetDlpJobRequest) Reset()         { *m = GetDlpJobRequest{} }
10678func (m *GetDlpJobRequest) String() string { return proto.CompactTextString(m) }
10679func (*GetDlpJobRequest) ProtoMessage()    {}
10680func (*GetDlpJobRequest) Descriptor() ([]byte, []int) {
10681	return fileDescriptor_6872a91dcb80f8dc, []int{93}
10682}
10683
10684func (m *GetDlpJobRequest) XXX_Unmarshal(b []byte) error {
10685	return xxx_messageInfo_GetDlpJobRequest.Unmarshal(m, b)
10686}
10687func (m *GetDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10688	return xxx_messageInfo_GetDlpJobRequest.Marshal(b, m, deterministic)
10689}
10690func (m *GetDlpJobRequest) XXX_Merge(src proto.Message) {
10691	xxx_messageInfo_GetDlpJobRequest.Merge(m, src)
10692}
10693func (m *GetDlpJobRequest) XXX_Size() int {
10694	return xxx_messageInfo_GetDlpJobRequest.Size(m)
10695}
10696func (m *GetDlpJobRequest) XXX_DiscardUnknown() {
10697	xxx_messageInfo_GetDlpJobRequest.DiscardUnknown(m)
10698}
10699
10700var xxx_messageInfo_GetDlpJobRequest proto.InternalMessageInfo
10701
10702func (m *GetDlpJobRequest) GetName() string {
10703	if m != nil {
10704		return m.Name
10705	}
10706	return ""
10707}
10708
10709// The request message for listing DLP jobs.
10710type ListDlpJobsRequest struct {
10711	// Required. The parent resource name, for example projects/my-project-id.
10712	Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
10713	// Allows filtering.
10714	//
10715	// Supported syntax:
10716	//
10717	// * Filter expressions are made up of one or more restrictions.
10718	// * Restrictions can be combined by `AND` or `OR` logical operators. A
10719	// sequence of restrictions implicitly uses `AND`.
10720	// * A restriction has the form of `{field} {operator} {value}`.
10721	// * Supported fields/values for inspect jobs:
10722	//     - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
10723	//     - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
10724	//     - `trigger_name` - The resource name of the trigger that created job.
10725	//     - 'end_time` - Corresponds to time the job finished.
10726	//     - 'start_time` - Corresponds to time the job finished.
10727	// * Supported fields for risk analysis jobs:
10728	//     - `state` - RUNNING|CANCELED|FINISHED|FAILED
10729	//     - 'end_time` - Corresponds to time the job finished.
10730	//     - 'start_time` - Corresponds to time the job finished.
10731	// * The operator must be `=` or `!=`.
10732	//
10733	// Examples:
10734	//
10735	// * inspected_storage = cloud_storage AND state = done
10736	// * inspected_storage = cloud_storage OR inspected_storage = bigquery
10737	// * inspected_storage = cloud_storage AND (state = done OR state = canceled)
10738	// * end_time > \"2017-12-12T00:00:00+00:00\"
10739	//
10740	// The length of this field should be no more than 500 characters.
10741	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
10742	// The standard list page size.
10743	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
10744	// The standard list page token.
10745	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
10746	// The type of job. Defaults to `DlpJobType.INSPECT`
10747	Type DlpJobType `protobuf:"varint,5,opt,name=type,proto3,enum=google.privacy.dlp.v2.DlpJobType" json:"type,omitempty"`
10748	// Comma separated list of fields to order by,
10749	// followed by `asc` or `desc` postfix. This list is case-insensitive,
10750	// default sorting order is ascending, redundant space characters are
10751	// insignificant.
10752	//
10753	// Example: `name asc, end_time asc, create_time desc`
10754	//
10755	// Supported fields are:
10756	//
10757	// - `create_time`: corresponds to time the job was created.
10758	// - `end_time`: corresponds to time the job ended.
10759	// - `name`: corresponds to job's name.
10760	// - `state`: corresponds to `state`
10761	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
10762	// The geographic location where jobs will be retrieved from.
10763	// Use `-` for all locations. Reserved for future extensions.
10764	LocationId           string   `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
10765	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10766	XXX_unrecognized     []byte   `json:"-"`
10767	XXX_sizecache        int32    `json:"-"`
10768}
10769
10770func (m *ListDlpJobsRequest) Reset()         { *m = ListDlpJobsRequest{} }
10771func (m *ListDlpJobsRequest) String() string { return proto.CompactTextString(m) }
10772func (*ListDlpJobsRequest) ProtoMessage()    {}
10773func (*ListDlpJobsRequest) Descriptor() ([]byte, []int) {
10774	return fileDescriptor_6872a91dcb80f8dc, []int{94}
10775}
10776
10777func (m *ListDlpJobsRequest) XXX_Unmarshal(b []byte) error {
10778	return xxx_messageInfo_ListDlpJobsRequest.Unmarshal(m, b)
10779}
10780func (m *ListDlpJobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10781	return xxx_messageInfo_ListDlpJobsRequest.Marshal(b, m, deterministic)
10782}
10783func (m *ListDlpJobsRequest) XXX_Merge(src proto.Message) {
10784	xxx_messageInfo_ListDlpJobsRequest.Merge(m, src)
10785}
10786func (m *ListDlpJobsRequest) XXX_Size() int {
10787	return xxx_messageInfo_ListDlpJobsRequest.Size(m)
10788}
10789func (m *ListDlpJobsRequest) XXX_DiscardUnknown() {
10790	xxx_messageInfo_ListDlpJobsRequest.DiscardUnknown(m)
10791}
10792
10793var xxx_messageInfo_ListDlpJobsRequest proto.InternalMessageInfo
10794
10795func (m *ListDlpJobsRequest) GetParent() string {
10796	if m != nil {
10797		return m.Parent
10798	}
10799	return ""
10800}
10801
10802func (m *ListDlpJobsRequest) GetFilter() string {
10803	if m != nil {
10804		return m.Filter
10805	}
10806	return ""
10807}
10808
10809func (m *ListDlpJobsRequest) GetPageSize() int32 {
10810	if m != nil {
10811		return m.PageSize
10812	}
10813	return 0
10814}
10815
10816func (m *ListDlpJobsRequest) GetPageToken() string {
10817	if m != nil {
10818		return m.PageToken
10819	}
10820	return ""
10821}
10822
10823func (m *ListDlpJobsRequest) GetType() DlpJobType {
10824	if m != nil {
10825		return m.Type
10826	}
10827	return DlpJobType_DLP_JOB_TYPE_UNSPECIFIED
10828}
10829
10830func (m *ListDlpJobsRequest) GetOrderBy() string {
10831	if m != nil {
10832		return m.OrderBy
10833	}
10834	return ""
10835}
10836
10837func (m *ListDlpJobsRequest) GetLocationId() string {
10838	if m != nil {
10839		return m.LocationId
10840	}
10841	return ""
10842}
10843
10844// The response message for listing DLP jobs.
10845type ListDlpJobsResponse struct {
10846	// A list of DlpJobs that matches the specified filter in the request.
10847	Jobs []*DlpJob `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
10848	// The standard List next-page token.
10849	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
10850	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10851	XXX_unrecognized     []byte   `json:"-"`
10852	XXX_sizecache        int32    `json:"-"`
10853}
10854
10855func (m *ListDlpJobsResponse) Reset()         { *m = ListDlpJobsResponse{} }
10856func (m *ListDlpJobsResponse) String() string { return proto.CompactTextString(m) }
10857func (*ListDlpJobsResponse) ProtoMessage()    {}
10858func (*ListDlpJobsResponse) Descriptor() ([]byte, []int) {
10859	return fileDescriptor_6872a91dcb80f8dc, []int{95}
10860}
10861
10862func (m *ListDlpJobsResponse) XXX_Unmarshal(b []byte) error {
10863	return xxx_messageInfo_ListDlpJobsResponse.Unmarshal(m, b)
10864}
10865func (m *ListDlpJobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10866	return xxx_messageInfo_ListDlpJobsResponse.Marshal(b, m, deterministic)
10867}
10868func (m *ListDlpJobsResponse) XXX_Merge(src proto.Message) {
10869	xxx_messageInfo_ListDlpJobsResponse.Merge(m, src)
10870}
10871func (m *ListDlpJobsResponse) XXX_Size() int {
10872	return xxx_messageInfo_ListDlpJobsResponse.Size(m)
10873}
10874func (m *ListDlpJobsResponse) XXX_DiscardUnknown() {
10875	xxx_messageInfo_ListDlpJobsResponse.DiscardUnknown(m)
10876}
10877
10878var xxx_messageInfo_ListDlpJobsResponse proto.InternalMessageInfo
10879
10880func (m *ListDlpJobsResponse) GetJobs() []*DlpJob {
10881	if m != nil {
10882		return m.Jobs
10883	}
10884	return nil
10885}
10886
10887func (m *ListDlpJobsResponse) GetNextPageToken() string {
10888	if m != nil {
10889		return m.NextPageToken
10890	}
10891	return ""
10892}
10893
10894// The request message for canceling a DLP job.
10895type CancelDlpJobRequest struct {
10896	// Required. The name of the DlpJob resource to be cancelled.
10897	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10898	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10899	XXX_unrecognized     []byte   `json:"-"`
10900	XXX_sizecache        int32    `json:"-"`
10901}
10902
10903func (m *CancelDlpJobRequest) Reset()         { *m = CancelDlpJobRequest{} }
10904func (m *CancelDlpJobRequest) String() string { return proto.CompactTextString(m) }
10905func (*CancelDlpJobRequest) ProtoMessage()    {}
10906func (*CancelDlpJobRequest) Descriptor() ([]byte, []int) {
10907	return fileDescriptor_6872a91dcb80f8dc, []int{96}
10908}
10909
10910func (m *CancelDlpJobRequest) XXX_Unmarshal(b []byte) error {
10911	return xxx_messageInfo_CancelDlpJobRequest.Unmarshal(m, b)
10912}
10913func (m *CancelDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10914	return xxx_messageInfo_CancelDlpJobRequest.Marshal(b, m, deterministic)
10915}
10916func (m *CancelDlpJobRequest) XXX_Merge(src proto.Message) {
10917	xxx_messageInfo_CancelDlpJobRequest.Merge(m, src)
10918}
10919func (m *CancelDlpJobRequest) XXX_Size() int {
10920	return xxx_messageInfo_CancelDlpJobRequest.Size(m)
10921}
10922func (m *CancelDlpJobRequest) XXX_DiscardUnknown() {
10923	xxx_messageInfo_CancelDlpJobRequest.DiscardUnknown(m)
10924}
10925
10926var xxx_messageInfo_CancelDlpJobRequest proto.InternalMessageInfo
10927
10928func (m *CancelDlpJobRequest) GetName() string {
10929	if m != nil {
10930		return m.Name
10931	}
10932	return ""
10933}
10934
10935// The request message for finishing a DLP hybrid job.
10936type FinishDlpJobRequest struct {
10937	// Required. The name of the DlpJob resource to be cancelled.
10938	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10939	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10940	XXX_unrecognized     []byte   `json:"-"`
10941	XXX_sizecache        int32    `json:"-"`
10942}
10943
10944func (m *FinishDlpJobRequest) Reset()         { *m = FinishDlpJobRequest{} }
10945func (m *FinishDlpJobRequest) String() string { return proto.CompactTextString(m) }
10946func (*FinishDlpJobRequest) ProtoMessage()    {}
10947func (*FinishDlpJobRequest) Descriptor() ([]byte, []int) {
10948	return fileDescriptor_6872a91dcb80f8dc, []int{97}
10949}
10950
10951func (m *FinishDlpJobRequest) XXX_Unmarshal(b []byte) error {
10952	return xxx_messageInfo_FinishDlpJobRequest.Unmarshal(m, b)
10953}
10954func (m *FinishDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10955	return xxx_messageInfo_FinishDlpJobRequest.Marshal(b, m, deterministic)
10956}
10957func (m *FinishDlpJobRequest) XXX_Merge(src proto.Message) {
10958	xxx_messageInfo_FinishDlpJobRequest.Merge(m, src)
10959}
10960func (m *FinishDlpJobRequest) XXX_Size() int {
10961	return xxx_messageInfo_FinishDlpJobRequest.Size(m)
10962}
10963func (m *FinishDlpJobRequest) XXX_DiscardUnknown() {
10964	xxx_messageInfo_FinishDlpJobRequest.DiscardUnknown(m)
10965}
10966
10967var xxx_messageInfo_FinishDlpJobRequest proto.InternalMessageInfo
10968
10969func (m *FinishDlpJobRequest) GetName() string {
10970	if m != nil {
10971		return m.Name
10972	}
10973	return ""
10974}
10975
10976// The request message for deleting a DLP job.
10977type DeleteDlpJobRequest struct {
10978	// Required. The name of the DlpJob resource to be deleted.
10979	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10980	XXX_NoUnkeyedLiteral struct{} `json:"-"`
10981	XXX_unrecognized     []byte   `json:"-"`
10982	XXX_sizecache        int32    `json:"-"`
10983}
10984
10985func (m *DeleteDlpJobRequest) Reset()         { *m = DeleteDlpJobRequest{} }
10986func (m *DeleteDlpJobRequest) String() string { return proto.CompactTextString(m) }
10987func (*DeleteDlpJobRequest) ProtoMessage()    {}
10988func (*DeleteDlpJobRequest) Descriptor() ([]byte, []int) {
10989	return fileDescriptor_6872a91dcb80f8dc, []int{98}
10990}
10991
10992func (m *DeleteDlpJobRequest) XXX_Unmarshal(b []byte) error {
10993	return xxx_messageInfo_DeleteDlpJobRequest.Unmarshal(m, b)
10994}
10995func (m *DeleteDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
10996	return xxx_messageInfo_DeleteDlpJobRequest.Marshal(b, m, deterministic)
10997}
10998func (m *DeleteDlpJobRequest) XXX_Merge(src proto.Message) {
10999	xxx_messageInfo_DeleteDlpJobRequest.Merge(m, src)
11000}
11001func (m *DeleteDlpJobRequest) XXX_Size() int {
11002	return xxx_messageInfo_DeleteDlpJobRequest.Size(m)
11003}
11004func (m *DeleteDlpJobRequest) XXX_DiscardUnknown() {
11005	xxx_messageInfo_DeleteDlpJobRequest.DiscardUnknown(m)
11006}
11007
11008var xxx_messageInfo_DeleteDlpJobRequest proto.InternalMessageInfo
11009
11010func (m *DeleteDlpJobRequest) GetName() string {
11011	if m != nil {
11012		return m.Name
11013	}
11014	return ""
11015}
11016
11017// Request message for CreateDeidentifyTemplate.
11018type CreateDeidentifyTemplateRequest struct {
11019	// Required. The parent resource name, for example projects/my-project-id or
11020	// organizations/my-org-id.
11021	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
11022	// Required. The DeidentifyTemplate to create.
11023	DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"`
11024	// The template id can contain uppercase and lowercase letters,
11025	// numbers, and hyphens; that is, it must match the regular
11026	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
11027	// characters. Can be empty to allow the system to generate one.
11028	TemplateId string `protobuf:"bytes,3,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
11029	// The geographic location to store the deidentification template. Reserved
11030	// for future extensions.
11031	LocationId           string   `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
11032	XXX_NoUnkeyedLiteral struct{} `json:"-"`
11033	XXX_unrecognized     []byte   `json:"-"`
11034	XXX_sizecache        int32    `json:"-"`
11035}
11036
11037func (m *CreateDeidentifyTemplateRequest) Reset()         { *m = CreateDeidentifyTemplateRequest{} }
11038func (m *CreateDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) }
11039func (*CreateDeidentifyTemplateRequest) ProtoMessage()    {}
11040func (*CreateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
11041	return fileDescriptor_6872a91dcb80f8dc, []int{99}
11042}
11043
11044func (m *CreateDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error {
11045	return xxx_messageInfo_CreateDeidentifyTemplateRequest.Unmarshal(m, b)
11046}
11047func (m *CreateDeidentifyTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11048	return xxx_messageInfo_CreateDeidentifyTemplateRequest.Marshal(b, m, deterministic)
11049}
11050func (m *CreateDeidentifyTemplateRequest) XXX_Merge(src proto.Message) {
11051	xxx_messageInfo_CreateDeidentifyTemplateRequest.Merge(m, src)
11052}
11053func (m *CreateDeidentifyTemplateRequest) XXX_Size() int {
11054	return xxx_messageInfo_CreateDeidentifyTemplateRequest.Size(m)
11055}
11056func (m *CreateDeidentifyTemplateRequest) XXX_DiscardUnknown() {
11057	xxx_messageInfo_CreateDeidentifyTemplateRequest.DiscardUnknown(m)
11058}
11059
11060var xxx_messageInfo_CreateDeidentifyTemplateRequest proto.InternalMessageInfo
11061
11062func (m *CreateDeidentifyTemplateRequest) GetParent() string {
11063	if m != nil {
11064		return m.Parent
11065	}
11066	return ""
11067}
11068
11069func (m *CreateDeidentifyTemplateRequest) GetDeidentifyTemplate() *DeidentifyTemplate {
11070	if m != nil {
11071		return m.DeidentifyTemplate
11072	}
11073	return nil
11074}
11075
11076func (m *CreateDeidentifyTemplateRequest) GetTemplateId() string {
11077	if m != nil {
11078		return m.TemplateId
11079	}
11080	return ""
11081}
11082
11083func (m *CreateDeidentifyTemplateRequest) GetLocationId() string {
11084	if m != nil {
11085		return m.LocationId
11086	}
11087	return ""
11088}
11089
11090// Request message for UpdateDeidentifyTemplate.
11091type UpdateDeidentifyTemplateRequest struct {
11092	// Required. Resource name of organization and deidentify template to be
11093	// updated, for example
11094	// `organizations/433245324/deidentifyTemplates/432452342` or
11095	// projects/project-id/deidentifyTemplates/432452342.
11096	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
11097	// New DeidentifyTemplate value.
11098	DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"`
11099	// Mask to control which fields get updated.
11100	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
11101	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
11102	XXX_unrecognized     []byte                `json:"-"`
11103	XXX_sizecache        int32                 `json:"-"`
11104}
11105
11106func (m *UpdateDeidentifyTemplateRequest) Reset()         { *m = UpdateDeidentifyTemplateRequest{} }
11107func (m *UpdateDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) }
11108func (*UpdateDeidentifyTemplateRequest) ProtoMessage()    {}
11109func (*UpdateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
11110	return fileDescriptor_6872a91dcb80f8dc, []int{100}
11111}
11112
11113func (m *UpdateDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error {
11114	return xxx_messageInfo_UpdateDeidentifyTemplateRequest.Unmarshal(m, b)
11115}
11116func (m *UpdateDeidentifyTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11117	return xxx_messageInfo_UpdateDeidentifyTemplateRequest.Marshal(b, m, deterministic)
11118}
11119func (m *UpdateDeidentifyTemplateRequest) XXX_Merge(src proto.Message) {
11120	xxx_messageInfo_UpdateDeidentifyTemplateRequest.Merge(m, src)
11121}
11122func (m *UpdateDeidentifyTemplateRequest) XXX_Size() int {
11123	return xxx_messageInfo_UpdateDeidentifyTemplateRequest.Size(m)
11124}
11125func (m *UpdateDeidentifyTemplateRequest) XXX_DiscardUnknown() {
11126	xxx_messageInfo_UpdateDeidentifyTemplateRequest.DiscardUnknown(m)
11127}
11128
11129var xxx_messageInfo_UpdateDeidentifyTemplateRequest proto.InternalMessageInfo
11130
11131func (m *UpdateDeidentifyTemplateRequest) GetName() string {
11132	if m != nil {
11133		return m.Name
11134	}
11135	return ""
11136}
11137
11138func (m *UpdateDeidentifyTemplateRequest) GetDeidentifyTemplate() *DeidentifyTemplate {
11139	if m != nil {
11140		return m.DeidentifyTemplate
11141	}
11142	return nil
11143}
11144
11145func (m *UpdateDeidentifyTemplateRequest) GetUpdateMask() *field_mask.FieldMask {
11146	if m != nil {
11147		return m.UpdateMask
11148	}
11149	return nil
11150}
11151
11152// Request message for GetDeidentifyTemplate.
11153type GetDeidentifyTemplateRequest struct {
11154	// Required. Resource name of the organization and deidentify template to be
11155	// read, for example `organizations/433245324/deidentifyTemplates/432452342`
11156	// or projects/project-id/deidentifyTemplates/432452342.
11157	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
11158	XXX_NoUnkeyedLiteral struct{} `json:"-"`
11159	XXX_unrecognized     []byte   `json:"-"`
11160	XXX_sizecache        int32    `json:"-"`
11161}
11162
11163func (m *GetDeidentifyTemplateRequest) Reset()         { *m = GetDeidentifyTemplateRequest{} }
11164func (m *GetDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) }
11165func (*GetDeidentifyTemplateRequest) ProtoMessage()    {}
11166func (*GetDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
11167	return fileDescriptor_6872a91dcb80f8dc, []int{101}
11168}
11169
11170func (m *GetDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error {
11171	return xxx_messageInfo_GetDeidentifyTemplateRequest.Unmarshal(m, b)
11172}
11173func (m *GetDeidentifyTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11174	return xxx_messageInfo_GetDeidentifyTemplateRequest.Marshal(b, m, deterministic)
11175}
11176func (m *GetDeidentifyTemplateRequest) XXX_Merge(src proto.Message) {
11177	xxx_messageInfo_GetDeidentifyTemplateRequest.Merge(m, src)
11178}
11179func (m *GetDeidentifyTemplateRequest) XXX_Size() int {
11180	return xxx_messageInfo_GetDeidentifyTemplateRequest.Size(m)
11181}
11182func (m *GetDeidentifyTemplateRequest) XXX_DiscardUnknown() {
11183	xxx_messageInfo_GetDeidentifyTemplateRequest.DiscardUnknown(m)
11184}
11185
11186var xxx_messageInfo_GetDeidentifyTemplateRequest proto.InternalMessageInfo
11187
11188func (m *GetDeidentifyTemplateRequest) GetName() string {
11189	if m != nil {
11190		return m.Name
11191	}
11192	return ""
11193}
11194
11195// Request message for ListDeidentifyTemplates.
11196type ListDeidentifyTemplatesRequest struct {
11197	// Required. The parent resource name, for example projects/my-project-id or
11198	// organizations/my-org-id.
11199	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
11200	// Page token to continue retrieval. Comes from previous call
11201	// to `ListDeidentifyTemplates`.
11202	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
11203	// Size of the page, can be limited by server. If zero server returns
11204	// a page of max size 100.
11205	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
11206	// Comma separated list of fields to order by,
11207	// followed by `asc` or `desc` postfix. This list is case-insensitive,
11208	// default sorting order is ascending, redundant space characters are
11209	// insignificant.
11210	//
11211	// Example: `name asc,update_time, create_time desc`
11212	//
11213	// Supported fields are:
11214	//
11215	// - `create_time`: corresponds to time the template was created.
11216	// - `update_time`: corresponds to time the template was last updated.
11217	// - `name`: corresponds to template's name.
11218	// - `display_name`: corresponds to template's display name.
11219	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
11220	// The geographic location where deidentifications templates will be retrieved
11221	// from. Use `-` for all locations. Reserved for future extensions.
11222	LocationId           string   `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
11223	XXX_NoUnkeyedLiteral struct{} `json:"-"`
11224	XXX_unrecognized     []byte   `json:"-"`
11225	XXX_sizecache        int32    `json:"-"`
11226}
11227
11228func (m *ListDeidentifyTemplatesRequest) Reset()         { *m = ListDeidentifyTemplatesRequest{} }
11229func (m *ListDeidentifyTemplatesRequest) String() string { return proto.CompactTextString(m) }
11230func (*ListDeidentifyTemplatesRequest) ProtoMessage()    {}
11231func (*ListDeidentifyTemplatesRequest) Descriptor() ([]byte, []int) {
11232	return fileDescriptor_6872a91dcb80f8dc, []int{102}
11233}
11234
11235func (m *ListDeidentifyTemplatesRequest) XXX_Unmarshal(b []byte) error {
11236	return xxx_messageInfo_ListDeidentifyTemplatesRequest.Unmarshal(m, b)
11237}
11238func (m *ListDeidentifyTemplatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11239	return xxx_messageInfo_ListDeidentifyTemplatesRequest.Marshal(b, m, deterministic)
11240}
11241func (m *ListDeidentifyTemplatesRequest) XXX_Merge(src proto.Message) {
11242	xxx_messageInfo_ListDeidentifyTemplatesRequest.Merge(m, src)
11243}
11244func (m *ListDeidentifyTemplatesRequest) XXX_Size() int {
11245	return xxx_messageInfo_ListDeidentifyTemplatesRequest.Size(m)
11246}
11247func (m *ListDeidentifyTemplatesRequest) XXX_DiscardUnknown() {
11248	xxx_messageInfo_ListDeidentifyTemplatesRequest.DiscardUnknown(m)
11249}
11250
11251var xxx_messageInfo_ListDeidentifyTemplatesRequest proto.InternalMessageInfo
11252
11253func (m *ListDeidentifyTemplatesRequest) GetParent() string {
11254	if m != nil {
11255		return m.Parent
11256	}
11257	return ""
11258}
11259
11260func (m *ListDeidentifyTemplatesRequest) GetPageToken() string {
11261	if m != nil {
11262		return m.PageToken
11263	}
11264	return ""
11265}
11266
11267func (m *ListDeidentifyTemplatesRequest) GetPageSize() int32 {
11268	if m != nil {
11269		return m.PageSize
11270	}
11271	return 0
11272}
11273
11274func (m *ListDeidentifyTemplatesRequest) GetOrderBy() string {
11275	if m != nil {
11276		return m.OrderBy
11277	}
11278	return ""
11279}
11280
11281func (m *ListDeidentifyTemplatesRequest) GetLocationId() string {
11282	if m != nil {
11283		return m.LocationId
11284	}
11285	return ""
11286}
11287
11288// Response message for ListDeidentifyTemplates.
11289type ListDeidentifyTemplatesResponse struct {
11290	// List of deidentify templates, up to page_size in
11291	// ListDeidentifyTemplatesRequest.
11292	DeidentifyTemplates []*DeidentifyTemplate `protobuf:"bytes,1,rep,name=deidentify_templates,json=deidentifyTemplates,proto3" json:"deidentify_templates,omitempty"`
11293	// If the next page is available then the next page token to be used
11294	// in following ListDeidentifyTemplates request.
11295	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
11296	XXX_NoUnkeyedLiteral struct{} `json:"-"`
11297	XXX_unrecognized     []byte   `json:"-"`
11298	XXX_sizecache        int32    `json:"-"`
11299}
11300
11301func (m *ListDeidentifyTemplatesResponse) Reset()         { *m = ListDeidentifyTemplatesResponse{} }
11302func (m *ListDeidentifyTemplatesResponse) String() string { return proto.CompactTextString(m) }
11303func (*ListDeidentifyTemplatesResponse) ProtoMessage()    {}
11304func (*ListDeidentifyTemplatesResponse) Descriptor() ([]byte, []int) {
11305	return fileDescriptor_6872a91dcb80f8dc, []int{103}
11306}
11307
11308func (m *ListDeidentifyTemplatesResponse) XXX_Unmarshal(b []byte) error {
11309	return xxx_messageInfo_ListDeidentifyTemplatesResponse.Unmarshal(m, b)
11310}
11311func (m *ListDeidentifyTemplatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11312	return xxx_messageInfo_ListDeidentifyTemplatesResponse.Marshal(b, m, deterministic)
11313}
11314func (m *ListDeidentifyTemplatesResponse) XXX_Merge(src proto.Message) {
11315	xxx_messageInfo_ListDeidentifyTemplatesResponse.Merge(m, src)
11316}
11317func (m *ListDeidentifyTemplatesResponse) XXX_Size() int {
11318	return xxx_messageInfo_ListDeidentifyTemplatesResponse.Size(m)
11319}
11320func (m *ListDeidentifyTemplatesResponse) XXX_DiscardUnknown() {
11321	xxx_messageInfo_ListDeidentifyTemplatesResponse.DiscardUnknown(m)
11322}
11323
11324var xxx_messageInfo_ListDeidentifyTemplatesResponse proto.InternalMessageInfo
11325
11326func (m *ListDeidentifyTemplatesResponse) GetDeidentifyTemplates() []*DeidentifyTemplate {
11327	if m != nil {
11328		return m.DeidentifyTemplates
11329	}
11330	return nil
11331}
11332
11333func (m *ListDeidentifyTemplatesResponse) GetNextPageToken() string {
11334	if m != nil {
11335		return m.NextPageToken
11336	}
11337	return ""
11338}
11339
11340// Request message for DeleteDeidentifyTemplate.
11341type DeleteDeidentifyTemplateRequest struct {
11342	// Required. Resource name of the organization and deidentify template to be
11343	// deleted, for example
11344	// `organizations/433245324/deidentifyTemplates/432452342` or
11345	// projects/project-id/deidentifyTemplates/432452342.
11346	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
11347	XXX_NoUnkeyedLiteral struct{} `json:"-"`
11348	XXX_unrecognized     []byte   `json:"-"`
11349	XXX_sizecache        int32    `json:"-"`
11350}
11351
11352func (m *DeleteDeidentifyTemplateRequest) Reset()         { *m = DeleteDeidentifyTemplateRequest{} }
11353func (m *DeleteDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) }
11354func (*DeleteDeidentifyTemplateRequest) ProtoMessage()    {}
11355func (*DeleteDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
11356	return fileDescriptor_6872a91dcb80f8dc, []int{104}
11357}
11358
11359func (m *DeleteDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error {
11360	return xxx_messageInfo_DeleteDeidentifyTemplateRequest.Unmarshal(m, b)
11361}
11362func (m *DeleteDeidentifyTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11363	return xxx_messageInfo_DeleteDeidentifyTemplateRequest.Marshal(b, m, deterministic)
11364}
11365func (m *DeleteDeidentifyTemplateRequest) XXX_Merge(src proto.Message) {
11366	xxx_messageInfo_DeleteDeidentifyTemplateRequest.Merge(m, src)
11367}
11368func (m *DeleteDeidentifyTemplateRequest) XXX_Size() int {
11369	return xxx_messageInfo_DeleteDeidentifyTemplateRequest.Size(m)
11370}
11371func (m *DeleteDeidentifyTemplateRequest) XXX_DiscardUnknown() {
11372	xxx_messageInfo_DeleteDeidentifyTemplateRequest.DiscardUnknown(m)
11373}
11374
11375var xxx_messageInfo_DeleteDeidentifyTemplateRequest proto.InternalMessageInfo
11376
11377func (m *DeleteDeidentifyTemplateRequest) GetName() string {
11378	if m != nil {
11379		return m.Name
11380	}
11381	return ""
11382}
11383
11384// Configuration for a custom dictionary created from a data source of any size
11385// up to the maximum size defined in the
11386// [limits](https://cloud.google.com/dlp/limits) page. The artifacts of
11387// dictionary creation are stored in the specified Google Cloud Storage
11388// location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries
11389// that satisfy the size requirements.
11390type LargeCustomDictionaryConfig struct {
11391	// Location to store dictionary artifacts in Google Cloud Storage. These files
11392	// will only be accessible by project owners and the DLP API. If any of these
11393	// artifacts are modified, the dictionary is considered invalid and can no
11394	// longer be used.
11395	OutputPath *CloudStoragePath `protobuf:"bytes,1,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
11396	// Types that are valid to be assigned to Source:
11397	//	*LargeCustomDictionaryConfig_CloudStorageFileSet
11398	//	*LargeCustomDictionaryConfig_BigQueryField
11399	Source               isLargeCustomDictionaryConfig_Source `protobuf_oneof:"source"`
11400	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
11401	XXX_unrecognized     []byte                               `json:"-"`
11402	XXX_sizecache        int32                                `json:"-"`
11403}
11404
11405func (m *LargeCustomDictionaryConfig) Reset()         { *m = LargeCustomDictionaryConfig{} }
11406func (m *LargeCustomDictionaryConfig) String() string { return proto.CompactTextString(m) }
11407func (*LargeCustomDictionaryConfig) ProtoMessage()    {}
11408func (*LargeCustomDictionaryConfig) Descriptor() ([]byte, []int) {
11409	return fileDescriptor_6872a91dcb80f8dc, []int{105}
11410}
11411
11412func (m *LargeCustomDictionaryConfig) XXX_Unmarshal(b []byte) error {
11413	return xxx_messageInfo_LargeCustomDictionaryConfig.Unmarshal(m, b)
11414}
11415func (m *LargeCustomDictionaryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11416	return xxx_messageInfo_LargeCustomDictionaryConfig.Marshal(b, m, deterministic)
11417}
11418func (m *LargeCustomDictionaryConfig) XXX_Merge(src proto.Message) {
11419	xxx_messageInfo_LargeCustomDictionaryConfig.Merge(m, src)
11420}
11421func (m *LargeCustomDictionaryConfig) XXX_Size() int {
11422	return xxx_messageInfo_LargeCustomDictionaryConfig.Size(m)
11423}
11424func (m *LargeCustomDictionaryConfig) XXX_DiscardUnknown() {
11425	xxx_messageInfo_LargeCustomDictionaryConfig.DiscardUnknown(m)
11426}
11427
11428var xxx_messageInfo_LargeCustomDictionaryConfig proto.InternalMessageInfo
11429
11430func (m *LargeCustomDictionaryConfig) GetOutputPath() *CloudStoragePath {
11431	if m != nil {
11432		return m.OutputPath
11433	}
11434	return nil
11435}
11436
11437type isLargeCustomDictionaryConfig_Source interface {
11438	isLargeCustomDictionaryConfig_Source()
11439}
11440
11441type LargeCustomDictionaryConfig_CloudStorageFileSet struct {
11442	CloudStorageFileSet *CloudStorageFileSet `protobuf:"bytes,2,opt,name=cloud_storage_file_set,json=cloudStorageFileSet,proto3,oneof"`
11443}
11444
11445type LargeCustomDictionaryConfig_BigQueryField struct {
11446	BigQueryField *BigQueryField `protobuf:"bytes,3,opt,name=big_query_field,json=bigQueryField,proto3,oneof"`
11447}
11448
11449func (*LargeCustomDictionaryConfig_CloudStorageFileSet) isLargeCustomDictionaryConfig_Source() {}
11450
11451func (*LargeCustomDictionaryConfig_BigQueryField) isLargeCustomDictionaryConfig_Source() {}
11452
11453func (m *LargeCustomDictionaryConfig) GetSource() isLargeCustomDictionaryConfig_Source {
11454	if m != nil {
11455		return m.Source
11456	}
11457	return nil
11458}
11459
11460func (m *LargeCustomDictionaryConfig) GetCloudStorageFileSet() *CloudStorageFileSet {
11461	if x, ok := m.GetSource().(*LargeCustomDictionaryConfig_CloudStorageFileSet); ok {
11462		return x.CloudStorageFileSet
11463	}
11464	return nil
11465}
11466
11467func (m *LargeCustomDictionaryConfig) GetBigQueryField() *BigQueryField {
11468	if x, ok := m.GetSource().(*LargeCustomDictionaryConfig_BigQueryField); ok {
11469		return x.BigQueryField
11470	}
11471	return nil
11472}
11473
11474// XXX_OneofWrappers is for the internal use of the proto package.
11475func (*LargeCustomDictionaryConfig) XXX_OneofWrappers() []interface{} {
11476	return []interface{}{
11477		(*LargeCustomDictionaryConfig_CloudStorageFileSet)(nil),
11478		(*LargeCustomDictionaryConfig_BigQueryField)(nil),
11479	}
11480}
11481
11482// Summary statistics of a custom dictionary.
11483type LargeCustomDictionaryStats struct {
11484	// Approximate number of distinct phrases in the dictionary.
11485	ApproxNumPhrases     int64    `protobuf:"varint,1,opt,name=approx_num_phrases,json=approxNumPhrases,proto3" json:"approx_num_phrases,omitempty"`
11486	XXX_NoUnkeyedLiteral struct{} `json:"-"`
11487	XXX_unrecognized     []byte   `json:"-"`
11488	XXX_sizecache        int32    `json:"-"`
11489}
11490
11491func (m *LargeCustomDictionaryStats) Reset()         { *m = LargeCustomDictionaryStats{} }
11492func (m *LargeCustomDictionaryStats) String() string { return proto.CompactTextString(m) }
11493func (*LargeCustomDictionaryStats) ProtoMessage()    {}
11494func (*LargeCustomDictionaryStats) Descriptor() ([]byte, []int) {
11495	return fileDescriptor_6872a91dcb80f8dc, []int{106}
11496}
11497
11498func (m *LargeCustomDictionaryStats) XXX_Unmarshal(b []byte) error {
11499	return xxx_messageInfo_LargeCustomDictionaryStats.Unmarshal(m, b)
11500}
11501func (m *LargeCustomDictionaryStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11502	return xxx_messageInfo_LargeCustomDictionaryStats.Marshal(b, m, deterministic)
11503}
11504func (m *LargeCustomDictionaryStats) XXX_Merge(src proto.Message) {
11505	xxx_messageInfo_LargeCustomDictionaryStats.Merge(m, src)
11506}
11507func (m *LargeCustomDictionaryStats) XXX_Size() int {
11508	return xxx_messageInfo_LargeCustomDictionaryStats.Size(m)
11509}
11510func (m *LargeCustomDictionaryStats) XXX_DiscardUnknown() {
11511	xxx_messageInfo_LargeCustomDictionaryStats.DiscardUnknown(m)
11512}
11513
11514var xxx_messageInfo_LargeCustomDictionaryStats proto.InternalMessageInfo
11515
11516func (m *LargeCustomDictionaryStats) GetApproxNumPhrases() int64 {
11517	if m != nil {
11518		return m.ApproxNumPhrases
11519	}
11520	return 0
11521}
11522
11523// Configuration for stored infoTypes. All fields and subfield are provided
11524// by the user. For more information, see
11525// https://cloud.google.com/dlp/docs/creating-custom-infotypes.
11526type StoredInfoTypeConfig struct {
11527	// Display name of the StoredInfoType (max 256 characters).
11528	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
11529	// Description of the StoredInfoType (max 256 characters).
11530	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
11531	// Stored infotype types.
11532	//
11533	// Types that are valid to be assigned to Type:
11534	//	*StoredInfoTypeConfig_LargeCustomDictionary
11535	//	*StoredInfoTypeConfig_Dictionary
11536	//	*StoredInfoTypeConfig_Regex
11537	Type                 isStoredInfoTypeConfig_Type `protobuf_oneof:"type"`
11538	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
11539	XXX_unrecognized     []byte                      `json:"-"`
11540	XXX_sizecache        int32                       `json:"-"`
11541}
11542
11543func (m *StoredInfoTypeConfig) Reset()         { *m = StoredInfoTypeConfig{} }
11544func (m *StoredInfoTypeConfig) String() string { return proto.CompactTextString(m) }
11545func (*StoredInfoTypeConfig) ProtoMessage()    {}
11546func (*StoredInfoTypeConfig) Descriptor() ([]byte, []int) {
11547	return fileDescriptor_6872a91dcb80f8dc, []int{107}
11548}
11549
11550func (m *StoredInfoTypeConfig) XXX_Unmarshal(b []byte) error {
11551	return xxx_messageInfo_StoredInfoTypeConfig.Unmarshal(m, b)
11552}
11553func (m *StoredInfoTypeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11554	return xxx_messageInfo_StoredInfoTypeConfig.Marshal(b, m, deterministic)
11555}
11556func (m *StoredInfoTypeConfig) XXX_Merge(src proto.Message) {
11557	xxx_messageInfo_StoredInfoTypeConfig.Merge(m, src)
11558}
11559func (m *StoredInfoTypeConfig) XXX_Size() int {
11560	return xxx_messageInfo_StoredInfoTypeConfig.Size(m)
11561}
11562func (m *StoredInfoTypeConfig) XXX_DiscardUnknown() {
11563	xxx_messageInfo_StoredInfoTypeConfig.DiscardUnknown(m)
11564}
11565
11566var xxx_messageInfo_StoredInfoTypeConfig proto.InternalMessageInfo
11567
11568func (m *StoredInfoTypeConfig) GetDisplayName() string {
11569	if m != nil {
11570		return m.DisplayName
11571	}
11572	return ""
11573}
11574
11575func (m *StoredInfoTypeConfig) GetDescription() string {
11576	if m != nil {
11577		return m.Description
11578	}
11579	return ""
11580}
11581
11582type isStoredInfoTypeConfig_Type interface {
11583	isStoredInfoTypeConfig_Type()
11584}
11585
11586type StoredInfoTypeConfig_LargeCustomDictionary struct {
11587	LargeCustomDictionary *LargeCustomDictionaryConfig `protobuf:"bytes,3,opt,name=large_custom_dictionary,json=largeCustomDictionary,proto3,oneof"`
11588}
11589
11590type StoredInfoTypeConfig_Dictionary struct {
11591	Dictionary *CustomInfoType_Dictionary `protobuf:"bytes,4,opt,name=dictionary,proto3,oneof"`
11592}
11593
11594type StoredInfoTypeConfig_Regex struct {
11595	Regex *CustomInfoType_Regex `protobuf:"bytes,5,opt,name=regex,proto3,oneof"`
11596}
11597
11598func (*StoredInfoTypeConfig_LargeCustomDictionary) isStoredInfoTypeConfig_Type() {}
11599
11600func (*StoredInfoTypeConfig_Dictionary) isStoredInfoTypeConfig_Type() {}
11601
11602func (*StoredInfoTypeConfig_Regex) isStoredInfoTypeConfig_Type() {}
11603
11604func (m *StoredInfoTypeConfig) GetType() isStoredInfoTypeConfig_Type {
11605	if m != nil {
11606		return m.Type
11607	}
11608	return nil
11609}
11610
11611func (m *StoredInfoTypeConfig) GetLargeCustomDictionary() *LargeCustomDictionaryConfig {
11612	if x, ok := m.GetType().(*StoredInfoTypeConfig_LargeCustomDictionary); ok {
11613		return x.LargeCustomDictionary
11614	}
11615	return nil
11616}
11617
11618func (m *StoredInfoTypeConfig) GetDictionary() *CustomInfoType_Dictionary {
11619	if x, ok := m.GetType().(*StoredInfoTypeConfig_Dictionary); ok {
11620		return x.Dictionary
11621	}
11622	return nil
11623}
11624
11625func (m *StoredInfoTypeConfig) GetRegex() *CustomInfoType_Regex {
11626	if x, ok := m.GetType().(*StoredInfoTypeConfig_Regex); ok {
11627		return x.Regex
11628	}
11629	return nil
11630}
11631
11632// XXX_OneofWrappers is for the internal use of the proto package.
11633func (*StoredInfoTypeConfig) XXX_OneofWrappers() []interface{} {
11634	return []interface{}{
11635		(*StoredInfoTypeConfig_LargeCustomDictionary)(nil),
11636		(*StoredInfoTypeConfig_Dictionary)(nil),
11637		(*StoredInfoTypeConfig_Regex)(nil),
11638	}
11639}
11640
11641// Statistics for a StoredInfoType.
11642type StoredInfoTypeStats struct {
11643	// Stat types
11644	//
11645	// Types that are valid to be assigned to Type:
11646	//	*StoredInfoTypeStats_LargeCustomDictionary
11647	Type                 isStoredInfoTypeStats_Type `protobuf_oneof:"type"`
11648	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
11649	XXX_unrecognized     []byte                     `json:"-"`
11650	XXX_sizecache        int32                      `json:"-"`
11651}
11652
11653func (m *StoredInfoTypeStats) Reset()         { *m = StoredInfoTypeStats{} }
11654func (m *StoredInfoTypeStats) String() string { return proto.CompactTextString(m) }
11655func (*StoredInfoTypeStats) ProtoMessage()    {}
11656func (*StoredInfoTypeStats) Descriptor() ([]byte, []int) {
11657	return fileDescriptor_6872a91dcb80f8dc, []int{108}
11658}
11659
11660func (m *StoredInfoTypeStats) XXX_Unmarshal(b []byte) error {
11661	return xxx_messageInfo_StoredInfoTypeStats.Unmarshal(m, b)
11662}
11663func (m *StoredInfoTypeStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11664	return xxx_messageInfo_StoredInfoTypeStats.Marshal(b, m, deterministic)
11665}
11666func (m *StoredInfoTypeStats) XXX_Merge(src proto.Message) {
11667	xxx_messageInfo_StoredInfoTypeStats.Merge(m, src)
11668}
11669func (m *StoredInfoTypeStats) XXX_Size() int {
11670	return xxx_messageInfo_StoredInfoTypeStats.Size(m)
11671}
11672func (m *StoredInfoTypeStats) XXX_DiscardUnknown() {
11673	xxx_messageInfo_StoredInfoTypeStats.DiscardUnknown(m)
11674}
11675
11676var xxx_messageInfo_StoredInfoTypeStats proto.InternalMessageInfo
11677
11678type isStoredInfoTypeStats_Type interface {
11679	isStoredInfoTypeStats_Type()
11680}
11681
11682type StoredInfoTypeStats_LargeCustomDictionary struct {
11683	LargeCustomDictionary *LargeCustomDictionaryStats `protobuf:"bytes,1,opt,name=large_custom_dictionary,json=largeCustomDictionary,proto3,oneof"`
11684}
11685
11686func (*StoredInfoTypeStats_LargeCustomDictionary) isStoredInfoTypeStats_Type() {}
11687
11688func (m *StoredInfoTypeStats) GetType() isStoredInfoTypeStats_Type {
11689	if m != nil {
11690		return m.Type
11691	}
11692	return nil
11693}
11694
11695func (m *StoredInfoTypeStats) GetLargeCustomDictionary() *LargeCustomDictionaryStats {
11696	if x, ok := m.GetType().(*StoredInfoTypeStats_LargeCustomDictionary); ok {
11697		return x.LargeCustomDictionary
11698	}
11699	return nil
11700}
11701
11702// XXX_OneofWrappers is for the internal use of the proto package.
11703func (*StoredInfoTypeStats) XXX_OneofWrappers() []interface{} {
11704	return []interface{}{
11705		(*StoredInfoTypeStats_LargeCustomDictionary)(nil),
11706	}
11707}
11708
11709// Version of a StoredInfoType, including the configuration used to build it,
11710// create timestamp, and current state.
11711type StoredInfoTypeVersion struct {
11712	// StoredInfoType configuration.
11713	Config *StoredInfoTypeConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
11714	// Create timestamp of the version. Read-only, determined by the system
11715	// when the version is created.
11716	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
11717	// Stored info type version state. Read-only, updated by the system
11718	// during dictionary creation.
11719	State StoredInfoTypeState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.StoredInfoTypeState" json:"state,omitempty"`
11720	// Errors that occurred when creating this storedInfoType version, or
11721	// anomalies detected in the storedInfoType data that render it unusable. Only
11722	// the five most recent errors will be displayed, with the most recent error
11723	// appearing first.
11724	//
11725	// For example, some of the data for stored custom dictionaries is put in
11726	// the user's Google Cloud Storage bucket, and if this data is modified or
11727	// deleted by the user or another system, the dictionary becomes invalid.
11728	//
11729	// If any errors occur, fix the problem indicated by the error message and
11730	// use the UpdateStoredInfoType API method to create another version of the
11731	// storedInfoType to continue using it, reusing the same `config` if it was
11732	// not the source of the error.
11733	Errors []*Error `protobuf:"bytes,4,rep,name=errors,proto3" json:"errors,omitempty"`
11734	// Statistics about this storedInfoType version.
11735	Stats                *StoredInfoTypeStats `protobuf:"bytes,5,opt,name=stats,proto3" json:"stats,omitempty"`
11736	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
11737	XXX_unrecognized     []byte               `json:"-"`
11738	XXX_sizecache        int32                `json:"-"`
11739}
11740
11741func (m *StoredInfoTypeVersion) Reset()         { *m = StoredInfoTypeVersion{} }
11742func (m *StoredInfoTypeVersion) String() string { return proto.CompactTextString(m) }
11743func (*StoredInfoTypeVersion) ProtoMessage()    {}
11744func (*StoredInfoTypeVersion) Descriptor() ([]byte, []int) {
11745	return fileDescriptor_6872a91dcb80f8dc, []int{109}
11746}
11747
11748func (m *StoredInfoTypeVersion) XXX_Unmarshal(b []byte) error {
11749	return xxx_messageInfo_StoredInfoTypeVersion.Unmarshal(m, b)
11750}
11751func (m *StoredInfoTypeVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11752	return xxx_messageInfo_StoredInfoTypeVersion.Marshal(b, m, deterministic)
11753}
11754func (m *StoredInfoTypeVersion) XXX_Merge(src proto.Message) {
11755	xxx_messageInfo_StoredInfoTypeVersion.Merge(m, src)
11756}
11757func (m *StoredInfoTypeVersion) XXX_Size() int {
11758	return xxx_messageInfo_StoredInfoTypeVersion.Size(m)
11759}
11760func (m *StoredInfoTypeVersion) XXX_DiscardUnknown() {
11761	xxx_messageInfo_StoredInfoTypeVersion.DiscardUnknown(m)
11762}
11763
11764var xxx_messageInfo_StoredInfoTypeVersion proto.InternalMessageInfo
11765
11766func (m *StoredInfoTypeVersion) GetConfig() *StoredInfoTypeConfig {
11767	if m != nil {
11768		return m.Config
11769	}
11770	return nil
11771}
11772
11773func (m *StoredInfoTypeVersion) GetCreateTime() *timestamp.Timestamp {
11774	if m != nil {
11775		return m.CreateTime
11776	}
11777	return nil
11778}
11779
11780func (m *StoredInfoTypeVersion) GetState() StoredInfoTypeState {
11781	if m != nil {
11782		return m.State
11783	}
11784	return StoredInfoTypeState_STORED_INFO_TYPE_STATE_UNSPECIFIED
11785}
11786
11787func (m *StoredInfoTypeVersion) GetErrors() []*Error {
11788	if m != nil {
11789		return m.Errors
11790	}
11791	return nil
11792}
11793
11794func (m *StoredInfoTypeVersion) GetStats() *StoredInfoTypeStats {
11795	if m != nil {
11796		return m.Stats
11797	}
11798	return nil
11799}
11800
11801// StoredInfoType resource message that contains information about the current
11802// version and any pending updates.
11803type StoredInfoType struct {
11804	// Resource name.
11805	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
11806	// Current version of the stored info type.
11807	CurrentVersion *StoredInfoTypeVersion `protobuf:"bytes,2,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"`
11808	// Pending versions of the stored info type. Empty if no versions are
11809	// pending.
11810	PendingVersions      []*StoredInfoTypeVersion `protobuf:"bytes,3,rep,name=pending_versions,json=pendingVersions,proto3" json:"pending_versions,omitempty"`
11811	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
11812	XXX_unrecognized     []byte                   `json:"-"`
11813	XXX_sizecache        int32                    `json:"-"`
11814}
11815
11816func (m *StoredInfoType) Reset()         { *m = StoredInfoType{} }
11817func (m *StoredInfoType) String() string { return proto.CompactTextString(m) }
11818func (*StoredInfoType) ProtoMessage()    {}
11819func (*StoredInfoType) Descriptor() ([]byte, []int) {
11820	return fileDescriptor_6872a91dcb80f8dc, []int{110}
11821}
11822
11823func (m *StoredInfoType) XXX_Unmarshal(b []byte) error {
11824	return xxx_messageInfo_StoredInfoType.Unmarshal(m, b)
11825}
11826func (m *StoredInfoType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11827	return xxx_messageInfo_StoredInfoType.Marshal(b, m, deterministic)
11828}
11829func (m *StoredInfoType) XXX_Merge(src proto.Message) {
11830	xxx_messageInfo_StoredInfoType.Merge(m, src)
11831}
11832func (m *StoredInfoType) XXX_Size() int {
11833	return xxx_messageInfo_StoredInfoType.Size(m)
11834}
11835func (m *StoredInfoType) XXX_DiscardUnknown() {
11836	xxx_messageInfo_StoredInfoType.DiscardUnknown(m)
11837}
11838
11839var xxx_messageInfo_StoredInfoType proto.InternalMessageInfo
11840
11841func (m *StoredInfoType) GetName() string {
11842	if m != nil {
11843		return m.Name
11844	}
11845	return ""
11846}
11847
11848func (m *StoredInfoType) GetCurrentVersion() *StoredInfoTypeVersion {
11849	if m != nil {
11850		return m.CurrentVersion
11851	}
11852	return nil
11853}
11854
11855func (m *StoredInfoType) GetPendingVersions() []*StoredInfoTypeVersion {
11856	if m != nil {
11857		return m.PendingVersions
11858	}
11859	return nil
11860}
11861
11862// Request message for CreateStoredInfoType.
11863type CreateStoredInfoTypeRequest struct {
11864	// Required. The parent resource name, for example projects/my-project-id or
11865	// organizations/my-org-id.
11866	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
11867	// Required. Configuration of the storedInfoType to create.
11868	Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
11869	// The storedInfoType ID can contain uppercase and lowercase letters,
11870	// numbers, and hyphens; that is, it must match the regular
11871	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
11872	// characters. Can be empty to allow the system to generate one.
11873	StoredInfoTypeId string `protobuf:"bytes,3,opt,name=stored_info_type_id,json=storedInfoTypeId,proto3" json:"stored_info_type_id,omitempty"`
11874	// The geographic location to store the stored infoType. Reserved for
11875	// future extensions.
11876	LocationId           string   `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
11877	XXX_NoUnkeyedLiteral struct{} `json:"-"`
11878	XXX_unrecognized     []byte   `json:"-"`
11879	XXX_sizecache        int32    `json:"-"`
11880}
11881
11882func (m *CreateStoredInfoTypeRequest) Reset()         { *m = CreateStoredInfoTypeRequest{} }
11883func (m *CreateStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) }
11884func (*CreateStoredInfoTypeRequest) ProtoMessage()    {}
11885func (*CreateStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
11886	return fileDescriptor_6872a91dcb80f8dc, []int{111}
11887}
11888
11889func (m *CreateStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error {
11890	return xxx_messageInfo_CreateStoredInfoTypeRequest.Unmarshal(m, b)
11891}
11892func (m *CreateStoredInfoTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11893	return xxx_messageInfo_CreateStoredInfoTypeRequest.Marshal(b, m, deterministic)
11894}
11895func (m *CreateStoredInfoTypeRequest) XXX_Merge(src proto.Message) {
11896	xxx_messageInfo_CreateStoredInfoTypeRequest.Merge(m, src)
11897}
11898func (m *CreateStoredInfoTypeRequest) XXX_Size() int {
11899	return xxx_messageInfo_CreateStoredInfoTypeRequest.Size(m)
11900}
11901func (m *CreateStoredInfoTypeRequest) XXX_DiscardUnknown() {
11902	xxx_messageInfo_CreateStoredInfoTypeRequest.DiscardUnknown(m)
11903}
11904
11905var xxx_messageInfo_CreateStoredInfoTypeRequest proto.InternalMessageInfo
11906
11907func (m *CreateStoredInfoTypeRequest) GetParent() string {
11908	if m != nil {
11909		return m.Parent
11910	}
11911	return ""
11912}
11913
11914func (m *CreateStoredInfoTypeRequest) GetConfig() *StoredInfoTypeConfig {
11915	if m != nil {
11916		return m.Config
11917	}
11918	return nil
11919}
11920
11921func (m *CreateStoredInfoTypeRequest) GetStoredInfoTypeId() string {
11922	if m != nil {
11923		return m.StoredInfoTypeId
11924	}
11925	return ""
11926}
11927
11928func (m *CreateStoredInfoTypeRequest) GetLocationId() string {
11929	if m != nil {
11930		return m.LocationId
11931	}
11932	return ""
11933}
11934
11935// Request message for UpdateStoredInfoType.
11936type UpdateStoredInfoTypeRequest struct {
11937	// Required. Resource name of organization and storedInfoType to be updated,
11938	// for example `organizations/433245324/storedInfoTypes/432452342` or
11939	// projects/project-id/storedInfoTypes/432452342.
11940	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
11941	// Updated configuration for the storedInfoType. If not provided, a new
11942	// version of the storedInfoType will be created with the existing
11943	// configuration.
11944	Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
11945	// Mask to control which fields get updated.
11946	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
11947	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
11948	XXX_unrecognized     []byte                `json:"-"`
11949	XXX_sizecache        int32                 `json:"-"`
11950}
11951
11952func (m *UpdateStoredInfoTypeRequest) Reset()         { *m = UpdateStoredInfoTypeRequest{} }
11953func (m *UpdateStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) }
11954func (*UpdateStoredInfoTypeRequest) ProtoMessage()    {}
11955func (*UpdateStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
11956	return fileDescriptor_6872a91dcb80f8dc, []int{112}
11957}
11958
11959func (m *UpdateStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error {
11960	return xxx_messageInfo_UpdateStoredInfoTypeRequest.Unmarshal(m, b)
11961}
11962func (m *UpdateStoredInfoTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
11963	return xxx_messageInfo_UpdateStoredInfoTypeRequest.Marshal(b, m, deterministic)
11964}
11965func (m *UpdateStoredInfoTypeRequest) XXX_Merge(src proto.Message) {
11966	xxx_messageInfo_UpdateStoredInfoTypeRequest.Merge(m, src)
11967}
11968func (m *UpdateStoredInfoTypeRequest) XXX_Size() int {
11969	return xxx_messageInfo_UpdateStoredInfoTypeRequest.Size(m)
11970}
11971func (m *UpdateStoredInfoTypeRequest) XXX_DiscardUnknown() {
11972	xxx_messageInfo_UpdateStoredInfoTypeRequest.DiscardUnknown(m)
11973}
11974
11975var xxx_messageInfo_UpdateStoredInfoTypeRequest proto.InternalMessageInfo
11976
11977func (m *UpdateStoredInfoTypeRequest) GetName() string {
11978	if m != nil {
11979		return m.Name
11980	}
11981	return ""
11982}
11983
11984func (m *UpdateStoredInfoTypeRequest) GetConfig() *StoredInfoTypeConfig {
11985	if m != nil {
11986		return m.Config
11987	}
11988	return nil
11989}
11990
11991func (m *UpdateStoredInfoTypeRequest) GetUpdateMask() *field_mask.FieldMask {
11992	if m != nil {
11993		return m.UpdateMask
11994	}
11995	return nil
11996}
11997
11998// Request message for GetStoredInfoType.
11999type GetStoredInfoTypeRequest struct {
12000	// Required. Resource name of the organization and storedInfoType to be read,
12001	// for example `organizations/433245324/storedInfoTypes/432452342` or
12002	// projects/project-id/storedInfoTypes/432452342.
12003	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
12004	XXX_NoUnkeyedLiteral struct{} `json:"-"`
12005	XXX_unrecognized     []byte   `json:"-"`
12006	XXX_sizecache        int32    `json:"-"`
12007}
12008
12009func (m *GetStoredInfoTypeRequest) Reset()         { *m = GetStoredInfoTypeRequest{} }
12010func (m *GetStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) }
12011func (*GetStoredInfoTypeRequest) ProtoMessage()    {}
12012func (*GetStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
12013	return fileDescriptor_6872a91dcb80f8dc, []int{113}
12014}
12015
12016func (m *GetStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error {
12017	return xxx_messageInfo_GetStoredInfoTypeRequest.Unmarshal(m, b)
12018}
12019func (m *GetStoredInfoTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12020	return xxx_messageInfo_GetStoredInfoTypeRequest.Marshal(b, m, deterministic)
12021}
12022func (m *GetStoredInfoTypeRequest) XXX_Merge(src proto.Message) {
12023	xxx_messageInfo_GetStoredInfoTypeRequest.Merge(m, src)
12024}
12025func (m *GetStoredInfoTypeRequest) XXX_Size() int {
12026	return xxx_messageInfo_GetStoredInfoTypeRequest.Size(m)
12027}
12028func (m *GetStoredInfoTypeRequest) XXX_DiscardUnknown() {
12029	xxx_messageInfo_GetStoredInfoTypeRequest.DiscardUnknown(m)
12030}
12031
12032var xxx_messageInfo_GetStoredInfoTypeRequest proto.InternalMessageInfo
12033
12034func (m *GetStoredInfoTypeRequest) GetName() string {
12035	if m != nil {
12036		return m.Name
12037	}
12038	return ""
12039}
12040
12041// Request message for ListStoredInfoTypes.
12042type ListStoredInfoTypesRequest struct {
12043	// Required. The parent resource name, for example projects/my-project-id or
12044	// organizations/my-org-id.
12045	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
12046	// Page token to continue retrieval. Comes from previous call
12047	// to `ListStoredInfoTypes`.
12048	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
12049	// Size of the page, can be limited by server. If zero server returns
12050	// a page of max size 100.
12051	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
12052	// Comma separated list of fields to order by,
12053	// followed by `asc` or `desc` postfix. This list is case-insensitive,
12054	// default sorting order is ascending, redundant space characters are
12055	// insignificant.
12056	//
12057	// Example: `name asc, display_name, create_time desc`
12058	//
12059	// Supported fields are:
12060	//
12061	// - `create_time`: corresponds to time the most recent version of the
12062	// resource was created.
12063	// - `state`: corresponds to the state of the resource.
12064	// - `name`: corresponds to resource name.
12065	// - `display_name`: corresponds to info type's display name.
12066	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
12067	// The geographic location where stored infoTypes will be retrieved from.
12068	// Use `-` for all locations. Reserved for future extensions.
12069	LocationId           string   `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
12070	XXX_NoUnkeyedLiteral struct{} `json:"-"`
12071	XXX_unrecognized     []byte   `json:"-"`
12072	XXX_sizecache        int32    `json:"-"`
12073}
12074
12075func (m *ListStoredInfoTypesRequest) Reset()         { *m = ListStoredInfoTypesRequest{} }
12076func (m *ListStoredInfoTypesRequest) String() string { return proto.CompactTextString(m) }
12077func (*ListStoredInfoTypesRequest) ProtoMessage()    {}
12078func (*ListStoredInfoTypesRequest) Descriptor() ([]byte, []int) {
12079	return fileDescriptor_6872a91dcb80f8dc, []int{114}
12080}
12081
12082func (m *ListStoredInfoTypesRequest) XXX_Unmarshal(b []byte) error {
12083	return xxx_messageInfo_ListStoredInfoTypesRequest.Unmarshal(m, b)
12084}
12085func (m *ListStoredInfoTypesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12086	return xxx_messageInfo_ListStoredInfoTypesRequest.Marshal(b, m, deterministic)
12087}
12088func (m *ListStoredInfoTypesRequest) XXX_Merge(src proto.Message) {
12089	xxx_messageInfo_ListStoredInfoTypesRequest.Merge(m, src)
12090}
12091func (m *ListStoredInfoTypesRequest) XXX_Size() int {
12092	return xxx_messageInfo_ListStoredInfoTypesRequest.Size(m)
12093}
12094func (m *ListStoredInfoTypesRequest) XXX_DiscardUnknown() {
12095	xxx_messageInfo_ListStoredInfoTypesRequest.DiscardUnknown(m)
12096}
12097
12098var xxx_messageInfo_ListStoredInfoTypesRequest proto.InternalMessageInfo
12099
12100func (m *ListStoredInfoTypesRequest) GetParent() string {
12101	if m != nil {
12102		return m.Parent
12103	}
12104	return ""
12105}
12106
12107func (m *ListStoredInfoTypesRequest) GetPageToken() string {
12108	if m != nil {
12109		return m.PageToken
12110	}
12111	return ""
12112}
12113
12114func (m *ListStoredInfoTypesRequest) GetPageSize() int32 {
12115	if m != nil {
12116		return m.PageSize
12117	}
12118	return 0
12119}
12120
12121func (m *ListStoredInfoTypesRequest) GetOrderBy() string {
12122	if m != nil {
12123		return m.OrderBy
12124	}
12125	return ""
12126}
12127
12128func (m *ListStoredInfoTypesRequest) GetLocationId() string {
12129	if m != nil {
12130		return m.LocationId
12131	}
12132	return ""
12133}
12134
12135// Response message for ListStoredInfoTypes.
12136type ListStoredInfoTypesResponse struct {
12137	// List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest.
12138	StoredInfoTypes []*StoredInfoType `protobuf:"bytes,1,rep,name=stored_info_types,json=storedInfoTypes,proto3" json:"stored_info_types,omitempty"`
12139	// If the next page is available then the next page token to be used
12140	// in following ListStoredInfoTypes request.
12141	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
12142	XXX_NoUnkeyedLiteral struct{} `json:"-"`
12143	XXX_unrecognized     []byte   `json:"-"`
12144	XXX_sizecache        int32    `json:"-"`
12145}
12146
12147func (m *ListStoredInfoTypesResponse) Reset()         { *m = ListStoredInfoTypesResponse{} }
12148func (m *ListStoredInfoTypesResponse) String() string { return proto.CompactTextString(m) }
12149func (*ListStoredInfoTypesResponse) ProtoMessage()    {}
12150func (*ListStoredInfoTypesResponse) Descriptor() ([]byte, []int) {
12151	return fileDescriptor_6872a91dcb80f8dc, []int{115}
12152}
12153
12154func (m *ListStoredInfoTypesResponse) XXX_Unmarshal(b []byte) error {
12155	return xxx_messageInfo_ListStoredInfoTypesResponse.Unmarshal(m, b)
12156}
12157func (m *ListStoredInfoTypesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12158	return xxx_messageInfo_ListStoredInfoTypesResponse.Marshal(b, m, deterministic)
12159}
12160func (m *ListStoredInfoTypesResponse) XXX_Merge(src proto.Message) {
12161	xxx_messageInfo_ListStoredInfoTypesResponse.Merge(m, src)
12162}
12163func (m *ListStoredInfoTypesResponse) XXX_Size() int {
12164	return xxx_messageInfo_ListStoredInfoTypesResponse.Size(m)
12165}
12166func (m *ListStoredInfoTypesResponse) XXX_DiscardUnknown() {
12167	xxx_messageInfo_ListStoredInfoTypesResponse.DiscardUnknown(m)
12168}
12169
12170var xxx_messageInfo_ListStoredInfoTypesResponse proto.InternalMessageInfo
12171
12172func (m *ListStoredInfoTypesResponse) GetStoredInfoTypes() []*StoredInfoType {
12173	if m != nil {
12174		return m.StoredInfoTypes
12175	}
12176	return nil
12177}
12178
12179func (m *ListStoredInfoTypesResponse) GetNextPageToken() string {
12180	if m != nil {
12181		return m.NextPageToken
12182	}
12183	return ""
12184}
12185
12186// Request message for DeleteStoredInfoType.
12187type DeleteStoredInfoTypeRequest struct {
12188	// Required. Resource name of the organization and storedInfoType to be
12189	// deleted, for example `organizations/433245324/storedInfoTypes/432452342` or
12190	// projects/project-id/storedInfoTypes/432452342.
12191	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
12192	XXX_NoUnkeyedLiteral struct{} `json:"-"`
12193	XXX_unrecognized     []byte   `json:"-"`
12194	XXX_sizecache        int32    `json:"-"`
12195}
12196
12197func (m *DeleteStoredInfoTypeRequest) Reset()         { *m = DeleteStoredInfoTypeRequest{} }
12198func (m *DeleteStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) }
12199func (*DeleteStoredInfoTypeRequest) ProtoMessage()    {}
12200func (*DeleteStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
12201	return fileDescriptor_6872a91dcb80f8dc, []int{116}
12202}
12203
12204func (m *DeleteStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error {
12205	return xxx_messageInfo_DeleteStoredInfoTypeRequest.Unmarshal(m, b)
12206}
12207func (m *DeleteStoredInfoTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12208	return xxx_messageInfo_DeleteStoredInfoTypeRequest.Marshal(b, m, deterministic)
12209}
12210func (m *DeleteStoredInfoTypeRequest) XXX_Merge(src proto.Message) {
12211	xxx_messageInfo_DeleteStoredInfoTypeRequest.Merge(m, src)
12212}
12213func (m *DeleteStoredInfoTypeRequest) XXX_Size() int {
12214	return xxx_messageInfo_DeleteStoredInfoTypeRequest.Size(m)
12215}
12216func (m *DeleteStoredInfoTypeRequest) XXX_DiscardUnknown() {
12217	xxx_messageInfo_DeleteStoredInfoTypeRequest.DiscardUnknown(m)
12218}
12219
12220var xxx_messageInfo_DeleteStoredInfoTypeRequest proto.InternalMessageInfo
12221
12222func (m *DeleteStoredInfoTypeRequest) GetName() string {
12223	if m != nil {
12224		return m.Name
12225	}
12226	return ""
12227}
12228
12229// Request to search for potentially sensitive info in a custom location.
12230type HybridInspectJobTriggerRequest struct {
12231	// Required. Resource name of the trigger to execute a hybrid inspect on, for
12232	// example `projects/dlp-test-project/jobTriggers/53234423`.
12233	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
12234	// The item to inspect.
12235	HybridItem           *HybridContentItem `protobuf:"bytes,3,opt,name=hybrid_item,json=hybridItem,proto3" json:"hybrid_item,omitempty"`
12236	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
12237	XXX_unrecognized     []byte             `json:"-"`
12238	XXX_sizecache        int32              `json:"-"`
12239}
12240
12241func (m *HybridInspectJobTriggerRequest) Reset()         { *m = HybridInspectJobTriggerRequest{} }
12242func (m *HybridInspectJobTriggerRequest) String() string { return proto.CompactTextString(m) }
12243func (*HybridInspectJobTriggerRequest) ProtoMessage()    {}
12244func (*HybridInspectJobTriggerRequest) Descriptor() ([]byte, []int) {
12245	return fileDescriptor_6872a91dcb80f8dc, []int{117}
12246}
12247
12248func (m *HybridInspectJobTriggerRequest) XXX_Unmarshal(b []byte) error {
12249	return xxx_messageInfo_HybridInspectJobTriggerRequest.Unmarshal(m, b)
12250}
12251func (m *HybridInspectJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12252	return xxx_messageInfo_HybridInspectJobTriggerRequest.Marshal(b, m, deterministic)
12253}
12254func (m *HybridInspectJobTriggerRequest) XXX_Merge(src proto.Message) {
12255	xxx_messageInfo_HybridInspectJobTriggerRequest.Merge(m, src)
12256}
12257func (m *HybridInspectJobTriggerRequest) XXX_Size() int {
12258	return xxx_messageInfo_HybridInspectJobTriggerRequest.Size(m)
12259}
12260func (m *HybridInspectJobTriggerRequest) XXX_DiscardUnknown() {
12261	xxx_messageInfo_HybridInspectJobTriggerRequest.DiscardUnknown(m)
12262}
12263
12264var xxx_messageInfo_HybridInspectJobTriggerRequest proto.InternalMessageInfo
12265
12266func (m *HybridInspectJobTriggerRequest) GetName() string {
12267	if m != nil {
12268		return m.Name
12269	}
12270	return ""
12271}
12272
12273func (m *HybridInspectJobTriggerRequest) GetHybridItem() *HybridContentItem {
12274	if m != nil {
12275		return m.HybridItem
12276	}
12277	return nil
12278}
12279
12280// Request to search for potentially sensitive info in a custom location.
12281type HybridInspectDlpJobRequest struct {
12282	// Required. Resource name of the job to execute a hybrid inspect on, for
12283	// example `projects/dlp-test-project/dlpJob/53234423`.
12284	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
12285	// The item to inspect.
12286	HybridItem           *HybridContentItem `protobuf:"bytes,3,opt,name=hybrid_item,json=hybridItem,proto3" json:"hybrid_item,omitempty"`
12287	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
12288	XXX_unrecognized     []byte             `json:"-"`
12289	XXX_sizecache        int32              `json:"-"`
12290}
12291
12292func (m *HybridInspectDlpJobRequest) Reset()         { *m = HybridInspectDlpJobRequest{} }
12293func (m *HybridInspectDlpJobRequest) String() string { return proto.CompactTextString(m) }
12294func (*HybridInspectDlpJobRequest) ProtoMessage()    {}
12295func (*HybridInspectDlpJobRequest) Descriptor() ([]byte, []int) {
12296	return fileDescriptor_6872a91dcb80f8dc, []int{118}
12297}
12298
12299func (m *HybridInspectDlpJobRequest) XXX_Unmarshal(b []byte) error {
12300	return xxx_messageInfo_HybridInspectDlpJobRequest.Unmarshal(m, b)
12301}
12302func (m *HybridInspectDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12303	return xxx_messageInfo_HybridInspectDlpJobRequest.Marshal(b, m, deterministic)
12304}
12305func (m *HybridInspectDlpJobRequest) XXX_Merge(src proto.Message) {
12306	xxx_messageInfo_HybridInspectDlpJobRequest.Merge(m, src)
12307}
12308func (m *HybridInspectDlpJobRequest) XXX_Size() int {
12309	return xxx_messageInfo_HybridInspectDlpJobRequest.Size(m)
12310}
12311func (m *HybridInspectDlpJobRequest) XXX_DiscardUnknown() {
12312	xxx_messageInfo_HybridInspectDlpJobRequest.DiscardUnknown(m)
12313}
12314
12315var xxx_messageInfo_HybridInspectDlpJobRequest proto.InternalMessageInfo
12316
12317func (m *HybridInspectDlpJobRequest) GetName() string {
12318	if m != nil {
12319		return m.Name
12320	}
12321	return ""
12322}
12323
12324func (m *HybridInspectDlpJobRequest) GetHybridItem() *HybridContentItem {
12325	if m != nil {
12326		return m.HybridItem
12327	}
12328	return nil
12329}
12330
12331// An individual hybrid item to inspect. Will be stored temporarily during
12332// processing.
12333type HybridContentItem struct {
12334	// The item to inspect.
12335	Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
12336	// Supplementary information that will be added to each finding.
12337	FindingDetails       *HybridFindingDetails `protobuf:"bytes,2,opt,name=finding_details,json=findingDetails,proto3" json:"finding_details,omitempty"`
12338	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
12339	XXX_unrecognized     []byte                `json:"-"`
12340	XXX_sizecache        int32                 `json:"-"`
12341}
12342
12343func (m *HybridContentItem) Reset()         { *m = HybridContentItem{} }
12344func (m *HybridContentItem) String() string { return proto.CompactTextString(m) }
12345func (*HybridContentItem) ProtoMessage()    {}
12346func (*HybridContentItem) Descriptor() ([]byte, []int) {
12347	return fileDescriptor_6872a91dcb80f8dc, []int{119}
12348}
12349
12350func (m *HybridContentItem) XXX_Unmarshal(b []byte) error {
12351	return xxx_messageInfo_HybridContentItem.Unmarshal(m, b)
12352}
12353func (m *HybridContentItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12354	return xxx_messageInfo_HybridContentItem.Marshal(b, m, deterministic)
12355}
12356func (m *HybridContentItem) XXX_Merge(src proto.Message) {
12357	xxx_messageInfo_HybridContentItem.Merge(m, src)
12358}
12359func (m *HybridContentItem) XXX_Size() int {
12360	return xxx_messageInfo_HybridContentItem.Size(m)
12361}
12362func (m *HybridContentItem) XXX_DiscardUnknown() {
12363	xxx_messageInfo_HybridContentItem.DiscardUnknown(m)
12364}
12365
12366var xxx_messageInfo_HybridContentItem proto.InternalMessageInfo
12367
12368func (m *HybridContentItem) GetItem() *ContentItem {
12369	if m != nil {
12370		return m.Item
12371	}
12372	return nil
12373}
12374
12375func (m *HybridContentItem) GetFindingDetails() *HybridFindingDetails {
12376	if m != nil {
12377		return m.FindingDetails
12378	}
12379	return nil
12380}
12381
12382// Populate to associate additional data with each finding.
12383type HybridFindingDetails struct {
12384	// Details about the container where the content being inspected is from.
12385	ContainerDetails *Container `protobuf:"bytes,1,opt,name=container_details,json=containerDetails,proto3" json:"container_details,omitempty"`
12386	// Offset in bytes of the line, from the beginning of the file, where the
12387	// finding  is located. Populate if the item being scanned is only part of a
12388	// bigger item, such as a shard of a file and you want to track the absolute
12389	// position of the finding.
12390	FileOffset int64 `protobuf:"varint,2,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"`
12391	// Offset of the row for tables. Populate if the row(s) being scanned are
12392	// part of a bigger dataset and you want to keep track of their absolute
12393	// position.
12394	RowOffset int64 `protobuf:"varint,3,opt,name=row_offset,json=rowOffset,proto3" json:"row_offset,omitempty"`
12395	// If the container is a table, additional information to make findings
12396	// meaningful such as the columns that are primary keys. If not known ahead
12397	// of time, can also be set within each inspect hybrid call and the two
12398	// will be merged. Note that identifying_fields will only be stored to
12399	// BigQuery, and only if the BigQuery action has been included.
12400	TableOptions *TableOptions `protobuf:"bytes,4,opt,name=table_options,json=tableOptions,proto3" json:"table_options,omitempty"`
12401	// Labels to represent user provided metadata about the data being inspected.
12402	// If configured by the job, some key values may be required.
12403	// The labels associated with `Finding`'s produced by hybrid
12404	// inspection.
12405	//
12406	// Label keys must be between 1 and 63 characters long and must conform
12407	// to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
12408	//
12409	// Label values must be between 0 and 63 characters long and must conform
12410	// to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
12411	//
12412	// No more than 10 labels can be associated with a given finding.
12413	//
12414	// Example: <code>"environment" : "production"</code>
12415	// Example: <code>"pipeline" : "etl"</code>
12416	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"`
12417	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
12418	XXX_unrecognized     []byte            `json:"-"`
12419	XXX_sizecache        int32             `json:"-"`
12420}
12421
12422func (m *HybridFindingDetails) Reset()         { *m = HybridFindingDetails{} }
12423func (m *HybridFindingDetails) String() string { return proto.CompactTextString(m) }
12424func (*HybridFindingDetails) ProtoMessage()    {}
12425func (*HybridFindingDetails) Descriptor() ([]byte, []int) {
12426	return fileDescriptor_6872a91dcb80f8dc, []int{120}
12427}
12428
12429func (m *HybridFindingDetails) XXX_Unmarshal(b []byte) error {
12430	return xxx_messageInfo_HybridFindingDetails.Unmarshal(m, b)
12431}
12432func (m *HybridFindingDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12433	return xxx_messageInfo_HybridFindingDetails.Marshal(b, m, deterministic)
12434}
12435func (m *HybridFindingDetails) XXX_Merge(src proto.Message) {
12436	xxx_messageInfo_HybridFindingDetails.Merge(m, src)
12437}
12438func (m *HybridFindingDetails) XXX_Size() int {
12439	return xxx_messageInfo_HybridFindingDetails.Size(m)
12440}
12441func (m *HybridFindingDetails) XXX_DiscardUnknown() {
12442	xxx_messageInfo_HybridFindingDetails.DiscardUnknown(m)
12443}
12444
12445var xxx_messageInfo_HybridFindingDetails proto.InternalMessageInfo
12446
12447func (m *HybridFindingDetails) GetContainerDetails() *Container {
12448	if m != nil {
12449		return m.ContainerDetails
12450	}
12451	return nil
12452}
12453
12454func (m *HybridFindingDetails) GetFileOffset() int64 {
12455	if m != nil {
12456		return m.FileOffset
12457	}
12458	return 0
12459}
12460
12461func (m *HybridFindingDetails) GetRowOffset() int64 {
12462	if m != nil {
12463		return m.RowOffset
12464	}
12465	return 0
12466}
12467
12468func (m *HybridFindingDetails) GetTableOptions() *TableOptions {
12469	if m != nil {
12470		return m.TableOptions
12471	}
12472	return nil
12473}
12474
12475func (m *HybridFindingDetails) GetLabels() map[string]string {
12476	if m != nil {
12477		return m.Labels
12478	}
12479	return nil
12480}
12481
12482// Quota exceeded errors will be thrown once quota has been met.
12483type HybridInspectResponse struct {
12484	XXX_NoUnkeyedLiteral struct{} `json:"-"`
12485	XXX_unrecognized     []byte   `json:"-"`
12486	XXX_sizecache        int32    `json:"-"`
12487}
12488
12489func (m *HybridInspectResponse) Reset()         { *m = HybridInspectResponse{} }
12490func (m *HybridInspectResponse) String() string { return proto.CompactTextString(m) }
12491func (*HybridInspectResponse) ProtoMessage()    {}
12492func (*HybridInspectResponse) Descriptor() ([]byte, []int) {
12493	return fileDescriptor_6872a91dcb80f8dc, []int{121}
12494}
12495
12496func (m *HybridInspectResponse) XXX_Unmarshal(b []byte) error {
12497	return xxx_messageInfo_HybridInspectResponse.Unmarshal(m, b)
12498}
12499func (m *HybridInspectResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
12500	return xxx_messageInfo_HybridInspectResponse.Marshal(b, m, deterministic)
12501}
12502func (m *HybridInspectResponse) XXX_Merge(src proto.Message) {
12503	xxx_messageInfo_HybridInspectResponse.Merge(m, src)
12504}
12505func (m *HybridInspectResponse) XXX_Size() int {
12506	return xxx_messageInfo_HybridInspectResponse.Size(m)
12507}
12508func (m *HybridInspectResponse) XXX_DiscardUnknown() {
12509	xxx_messageInfo_HybridInspectResponse.DiscardUnknown(m)
12510}
12511
12512var xxx_messageInfo_HybridInspectResponse proto.InternalMessageInfo
12513
12514func init() {
12515	proto.RegisterEnum("google.privacy.dlp.v2.RelationalOperator", RelationalOperator_name, RelationalOperator_value)
12516	proto.RegisterEnum("google.privacy.dlp.v2.MatchingType", MatchingType_name, MatchingType_value)
12517	proto.RegisterEnum("google.privacy.dlp.v2.ContentOption", ContentOption_name, ContentOption_value)
12518	proto.RegisterEnum("google.privacy.dlp.v2.InfoTypeSupportedBy", InfoTypeSupportedBy_name, InfoTypeSupportedBy_value)
12519	proto.RegisterEnum("google.privacy.dlp.v2.DlpJobType", DlpJobType_name, DlpJobType_value)
12520	proto.RegisterEnum("google.privacy.dlp.v2.StoredInfoTypeState", StoredInfoTypeState_name, StoredInfoTypeState_value)
12521	proto.RegisterEnum("google.privacy.dlp.v2.ByteContentItem_BytesType", ByteContentItem_BytesType_name, ByteContentItem_BytesType_value)
12522	proto.RegisterEnum("google.privacy.dlp.v2.OutputStorageConfig_OutputSchema", OutputStorageConfig_OutputSchema_name, OutputStorageConfig_OutputSchema_value)
12523	proto.RegisterEnum("google.privacy.dlp.v2.TimePartConfig_TimePart", TimePartConfig_TimePart_name, TimePartConfig_TimePart_value)
12524	proto.RegisterEnum("google.privacy.dlp.v2.CharsToIgnore_CommonCharsToIgnore", CharsToIgnore_CommonCharsToIgnore_name, CharsToIgnore_CommonCharsToIgnore_value)
12525	proto.RegisterEnum("google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet", CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_name, CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_value)
12526	proto.RegisterEnum("google.privacy.dlp.v2.RecordCondition_Expressions_LogicalOperator", RecordCondition_Expressions_LogicalOperator_name, RecordCondition_Expressions_LogicalOperator_value)
12527	proto.RegisterEnum("google.privacy.dlp.v2.TransformationSummary_TransformationResultCode", TransformationSummary_TransformationResultCode_name, TransformationSummary_TransformationResultCode_value)
12528	proto.RegisterEnum("google.privacy.dlp.v2.JobTrigger_Status", JobTrigger_Status_name, JobTrigger_Status_value)
12529	proto.RegisterEnum("google.privacy.dlp.v2.DlpJob_JobState", DlpJob_JobState_name, DlpJob_JobState_value)
12530	proto.RegisterType((*ExcludeInfoTypes)(nil), "google.privacy.dlp.v2.ExcludeInfoTypes")
12531	proto.RegisterType((*ExclusionRule)(nil), "google.privacy.dlp.v2.ExclusionRule")
12532	proto.RegisterType((*InspectionRule)(nil), "google.privacy.dlp.v2.InspectionRule")
12533	proto.RegisterType((*InspectionRuleSet)(nil), "google.privacy.dlp.v2.InspectionRuleSet")
12534	proto.RegisterType((*InspectConfig)(nil), "google.privacy.dlp.v2.InspectConfig")
12535	proto.RegisterType((*InspectConfig_FindingLimits)(nil), "google.privacy.dlp.v2.InspectConfig.FindingLimits")
12536	proto.RegisterType((*InspectConfig_FindingLimits_InfoTypeLimit)(nil), "google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit")
12537	proto.RegisterType((*ByteContentItem)(nil), "google.privacy.dlp.v2.ByteContentItem")
12538	proto.RegisterType((*ContentItem)(nil), "google.privacy.dlp.v2.ContentItem")
12539	proto.RegisterType((*Table)(nil), "google.privacy.dlp.v2.Table")
12540	proto.RegisterType((*Table_Row)(nil), "google.privacy.dlp.v2.Table.Row")
12541	proto.RegisterType((*InspectResult)(nil), "google.privacy.dlp.v2.InspectResult")
12542	proto.RegisterType((*Finding)(nil), "google.privacy.dlp.v2.Finding")
12543	proto.RegisterMapType((map[string]string)(nil), "google.privacy.dlp.v2.Finding.LabelsEntry")
12544	proto.RegisterType((*Location)(nil), "google.privacy.dlp.v2.Location")
12545	proto.RegisterType((*ContentLocation)(nil), "google.privacy.dlp.v2.ContentLocation")
12546	proto.RegisterType((*DocumentLocation)(nil), "google.privacy.dlp.v2.DocumentLocation")
12547	proto.RegisterType((*RecordLocation)(nil), "google.privacy.dlp.v2.RecordLocation")
12548	proto.RegisterType((*TableLocation)(nil), "google.privacy.dlp.v2.TableLocation")
12549	proto.RegisterType((*Container)(nil), "google.privacy.dlp.v2.Container")
12550	proto.RegisterType((*Range)(nil), "google.privacy.dlp.v2.Range")
12551	proto.RegisterType((*ImageLocation)(nil), "google.privacy.dlp.v2.ImageLocation")
12552	proto.RegisterType((*BoundingBox)(nil), "google.privacy.dlp.v2.BoundingBox")
12553	proto.RegisterType((*RedactImageRequest)(nil), "google.privacy.dlp.v2.RedactImageRequest")
12554	proto.RegisterType((*RedactImageRequest_ImageRedactionConfig)(nil), "google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig")
12555	proto.RegisterType((*Color)(nil), "google.privacy.dlp.v2.Color")
12556	proto.RegisterType((*RedactImageResponse)(nil), "google.privacy.dlp.v2.RedactImageResponse")
12557	proto.RegisterType((*DeidentifyContentRequest)(nil), "google.privacy.dlp.v2.DeidentifyContentRequest")
12558	proto.RegisterType((*DeidentifyContentResponse)(nil), "google.privacy.dlp.v2.DeidentifyContentResponse")
12559	proto.RegisterType((*ReidentifyContentRequest)(nil), "google.privacy.dlp.v2.ReidentifyContentRequest")
12560	proto.RegisterType((*ReidentifyContentResponse)(nil), "google.privacy.dlp.v2.ReidentifyContentResponse")
12561	proto.RegisterType((*InspectContentRequest)(nil), "google.privacy.dlp.v2.InspectContentRequest")
12562	proto.RegisterType((*InspectContentResponse)(nil), "google.privacy.dlp.v2.InspectContentResponse")
12563	proto.RegisterType((*OutputStorageConfig)(nil), "google.privacy.dlp.v2.OutputStorageConfig")
12564	proto.RegisterType((*InfoTypeStats)(nil), "google.privacy.dlp.v2.InfoTypeStats")
12565	proto.RegisterType((*InspectDataSourceDetails)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails")
12566	proto.RegisterType((*InspectDataSourceDetails_RequestedOptions)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions")
12567	proto.RegisterType((*InspectDataSourceDetails_Result)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails.Result")
12568	proto.RegisterType((*HybridInspectStatistics)(nil), "google.privacy.dlp.v2.HybridInspectStatistics")
12569	proto.RegisterType((*InfoTypeDescription)(nil), "google.privacy.dlp.v2.InfoTypeDescription")
12570	proto.RegisterType((*ListInfoTypesRequest)(nil), "google.privacy.dlp.v2.ListInfoTypesRequest")
12571	proto.RegisterType((*ListInfoTypesResponse)(nil), "google.privacy.dlp.v2.ListInfoTypesResponse")
12572	proto.RegisterType((*RiskAnalysisJobConfig)(nil), "google.privacy.dlp.v2.RiskAnalysisJobConfig")
12573	proto.RegisterType((*QuasiId)(nil), "google.privacy.dlp.v2.QuasiId")
12574	proto.RegisterType((*StatisticalTable)(nil), "google.privacy.dlp.v2.StatisticalTable")
12575	proto.RegisterType((*StatisticalTable_QuasiIdentifierField)(nil), "google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField")
12576	proto.RegisterType((*PrivacyMetric)(nil), "google.privacy.dlp.v2.PrivacyMetric")
12577	proto.RegisterType((*PrivacyMetric_NumericalStatsConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig")
12578	proto.RegisterType((*PrivacyMetric_CategoricalStatsConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig")
12579	proto.RegisterType((*PrivacyMetric_KAnonymityConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig")
12580	proto.RegisterType((*PrivacyMetric_LDiversityConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig")
12581	proto.RegisterType((*PrivacyMetric_KMapEstimationConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig")
12582	proto.RegisterType((*PrivacyMetric_KMapEstimationConfig_TaggedField)(nil), "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField")
12583	proto.RegisterType((*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable)(nil), "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable")
12584	proto.RegisterType((*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField)(nil), "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField")
12585	proto.RegisterType((*PrivacyMetric_DeltaPresenceEstimationConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig")
12586	proto.RegisterType((*AnalyzeDataSourceRiskDetails)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails")
12587	proto.RegisterType((*AnalyzeDataSourceRiskDetails_NumericalStatsResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult")
12588	proto.RegisterType((*AnalyzeDataSourceRiskDetails_CategoricalStatsResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult")
12589	proto.RegisterType((*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket")
12590	proto.RegisterType((*AnalyzeDataSourceRiskDetails_KAnonymityResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult")
12591	proto.RegisterType((*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass")
12592	proto.RegisterType((*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket")
12593	proto.RegisterType((*AnalyzeDataSourceRiskDetails_LDiversityResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult")
12594	proto.RegisterType((*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass")
12595	proto.RegisterType((*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket")
12596	proto.RegisterType((*AnalyzeDataSourceRiskDetails_KMapEstimationResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult")
12597	proto.RegisterType((*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues")
12598	proto.RegisterType((*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket")
12599	proto.RegisterType((*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult")
12600	proto.RegisterType((*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues")
12601	proto.RegisterType((*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket")
12602	proto.RegisterType((*ValueFrequency)(nil), "google.privacy.dlp.v2.ValueFrequency")
12603	proto.RegisterType((*Value)(nil), "google.privacy.dlp.v2.Value")
12604	proto.RegisterType((*QuoteInfo)(nil), "google.privacy.dlp.v2.QuoteInfo")
12605	proto.RegisterType((*DateTime)(nil), "google.privacy.dlp.v2.DateTime")
12606	proto.RegisterType((*DateTime_TimeZone)(nil), "google.privacy.dlp.v2.DateTime.TimeZone")
12607	proto.RegisterType((*DeidentifyConfig)(nil), "google.privacy.dlp.v2.DeidentifyConfig")
12608	proto.RegisterType((*TransformationErrorHandling)(nil), "google.privacy.dlp.v2.TransformationErrorHandling")
12609	proto.RegisterType((*TransformationErrorHandling_ThrowError)(nil), "google.privacy.dlp.v2.TransformationErrorHandling.ThrowError")
12610	proto.RegisterType((*TransformationErrorHandling_LeaveUntransformed)(nil), "google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed")
12611	proto.RegisterType((*PrimitiveTransformation)(nil), "google.privacy.dlp.v2.PrimitiveTransformation")
12612	proto.RegisterType((*TimePartConfig)(nil), "google.privacy.dlp.v2.TimePartConfig")
12613	proto.RegisterType((*CryptoHashConfig)(nil), "google.privacy.dlp.v2.CryptoHashConfig")
12614	proto.RegisterType((*CryptoDeterministicConfig)(nil), "google.privacy.dlp.v2.CryptoDeterministicConfig")
12615	proto.RegisterType((*ReplaceValueConfig)(nil), "google.privacy.dlp.v2.ReplaceValueConfig")
12616	proto.RegisterType((*ReplaceWithInfoTypeConfig)(nil), "google.privacy.dlp.v2.ReplaceWithInfoTypeConfig")
12617	proto.RegisterType((*RedactConfig)(nil), "google.privacy.dlp.v2.RedactConfig")
12618	proto.RegisterType((*CharsToIgnore)(nil), "google.privacy.dlp.v2.CharsToIgnore")
12619	proto.RegisterType((*CharacterMaskConfig)(nil), "google.privacy.dlp.v2.CharacterMaskConfig")
12620	proto.RegisterType((*FixedSizeBucketingConfig)(nil), "google.privacy.dlp.v2.FixedSizeBucketingConfig")
12621	proto.RegisterType((*BucketingConfig)(nil), "google.privacy.dlp.v2.BucketingConfig")
12622	proto.RegisterType((*BucketingConfig_Bucket)(nil), "google.privacy.dlp.v2.BucketingConfig.Bucket")
12623	proto.RegisterType((*CryptoReplaceFfxFpeConfig)(nil), "google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig")
12624	proto.RegisterType((*CryptoKey)(nil), "google.privacy.dlp.v2.CryptoKey")
12625	proto.RegisterType((*TransientCryptoKey)(nil), "google.privacy.dlp.v2.TransientCryptoKey")
12626	proto.RegisterType((*UnwrappedCryptoKey)(nil), "google.privacy.dlp.v2.UnwrappedCryptoKey")
12627	proto.RegisterType((*KmsWrappedCryptoKey)(nil), "google.privacy.dlp.v2.KmsWrappedCryptoKey")
12628	proto.RegisterType((*DateShiftConfig)(nil), "google.privacy.dlp.v2.DateShiftConfig")
12629	proto.RegisterType((*InfoTypeTransformations)(nil), "google.privacy.dlp.v2.InfoTypeTransformations")
12630	proto.RegisterType((*InfoTypeTransformations_InfoTypeTransformation)(nil), "google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation")
12631	proto.RegisterType((*FieldTransformation)(nil), "google.privacy.dlp.v2.FieldTransformation")
12632	proto.RegisterType((*RecordTransformations)(nil), "google.privacy.dlp.v2.RecordTransformations")
12633	proto.RegisterType((*RecordSuppression)(nil), "google.privacy.dlp.v2.RecordSuppression")
12634	proto.RegisterType((*RecordCondition)(nil), "google.privacy.dlp.v2.RecordCondition")
12635	proto.RegisterType((*RecordCondition_Condition)(nil), "google.privacy.dlp.v2.RecordCondition.Condition")
12636	proto.RegisterType((*RecordCondition_Conditions)(nil), "google.privacy.dlp.v2.RecordCondition.Conditions")
12637	proto.RegisterType((*RecordCondition_Expressions)(nil), "google.privacy.dlp.v2.RecordCondition.Expressions")
12638	proto.RegisterType((*TransformationOverview)(nil), "google.privacy.dlp.v2.TransformationOverview")
12639	proto.RegisterType((*TransformationSummary)(nil), "google.privacy.dlp.v2.TransformationSummary")
12640	proto.RegisterType((*TransformationSummary_SummaryResult)(nil), "google.privacy.dlp.v2.TransformationSummary.SummaryResult")
12641	proto.RegisterType((*Schedule)(nil), "google.privacy.dlp.v2.Schedule")
12642	proto.RegisterType((*Manual)(nil), "google.privacy.dlp.v2.Manual")
12643	proto.RegisterType((*InspectTemplate)(nil), "google.privacy.dlp.v2.InspectTemplate")
12644	proto.RegisterType((*DeidentifyTemplate)(nil), "google.privacy.dlp.v2.DeidentifyTemplate")
12645	proto.RegisterType((*Error)(nil), "google.privacy.dlp.v2.Error")
12646	proto.RegisterType((*JobTrigger)(nil), "google.privacy.dlp.v2.JobTrigger")
12647	proto.RegisterType((*JobTrigger_Trigger)(nil), "google.privacy.dlp.v2.JobTrigger.Trigger")
12648	proto.RegisterType((*Action)(nil), "google.privacy.dlp.v2.Action")
12649	proto.RegisterType((*Action_SaveFindings)(nil), "google.privacy.dlp.v2.Action.SaveFindings")
12650	proto.RegisterType((*Action_PublishToPubSub)(nil), "google.privacy.dlp.v2.Action.PublishToPubSub")
12651	proto.RegisterType((*Action_PublishSummaryToCscc)(nil), "google.privacy.dlp.v2.Action.PublishSummaryToCscc")
12652	proto.RegisterType((*Action_PublishFindingsToCloudDataCatalog)(nil), "google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog")
12653	proto.RegisterType((*Action_JobNotificationEmails)(nil), "google.privacy.dlp.v2.Action.JobNotificationEmails")
12654	proto.RegisterType((*Action_PublishToStackdriver)(nil), "google.privacy.dlp.v2.Action.PublishToStackdriver")
12655	proto.RegisterType((*CreateInspectTemplateRequest)(nil), "google.privacy.dlp.v2.CreateInspectTemplateRequest")
12656	proto.RegisterType((*UpdateInspectTemplateRequest)(nil), "google.privacy.dlp.v2.UpdateInspectTemplateRequest")
12657	proto.RegisterType((*GetInspectTemplateRequest)(nil), "google.privacy.dlp.v2.GetInspectTemplateRequest")
12658	proto.RegisterType((*ListInspectTemplatesRequest)(nil), "google.privacy.dlp.v2.ListInspectTemplatesRequest")
12659	proto.RegisterType((*ListInspectTemplatesResponse)(nil), "google.privacy.dlp.v2.ListInspectTemplatesResponse")
12660	proto.RegisterType((*DeleteInspectTemplateRequest)(nil), "google.privacy.dlp.v2.DeleteInspectTemplateRequest")
12661	proto.RegisterType((*CreateJobTriggerRequest)(nil), "google.privacy.dlp.v2.CreateJobTriggerRequest")
12662	proto.RegisterType((*ActivateJobTriggerRequest)(nil), "google.privacy.dlp.v2.ActivateJobTriggerRequest")
12663	proto.RegisterType((*UpdateJobTriggerRequest)(nil), "google.privacy.dlp.v2.UpdateJobTriggerRequest")
12664	proto.RegisterType((*GetJobTriggerRequest)(nil), "google.privacy.dlp.v2.GetJobTriggerRequest")
12665	proto.RegisterType((*CreateDlpJobRequest)(nil), "google.privacy.dlp.v2.CreateDlpJobRequest")
12666	proto.RegisterType((*ListJobTriggersRequest)(nil), "google.privacy.dlp.v2.ListJobTriggersRequest")
12667	proto.RegisterType((*ListJobTriggersResponse)(nil), "google.privacy.dlp.v2.ListJobTriggersResponse")
12668	proto.RegisterType((*DeleteJobTriggerRequest)(nil), "google.privacy.dlp.v2.DeleteJobTriggerRequest")
12669	proto.RegisterType((*InspectJobConfig)(nil), "google.privacy.dlp.v2.InspectJobConfig")
12670	proto.RegisterType((*DlpJob)(nil), "google.privacy.dlp.v2.DlpJob")
12671	proto.RegisterType((*GetDlpJobRequest)(nil), "google.privacy.dlp.v2.GetDlpJobRequest")
12672	proto.RegisterType((*ListDlpJobsRequest)(nil), "google.privacy.dlp.v2.ListDlpJobsRequest")
12673	proto.RegisterType((*ListDlpJobsResponse)(nil), "google.privacy.dlp.v2.ListDlpJobsResponse")
12674	proto.RegisterType((*CancelDlpJobRequest)(nil), "google.privacy.dlp.v2.CancelDlpJobRequest")
12675	proto.RegisterType((*FinishDlpJobRequest)(nil), "google.privacy.dlp.v2.FinishDlpJobRequest")
12676	proto.RegisterType((*DeleteDlpJobRequest)(nil), "google.privacy.dlp.v2.DeleteDlpJobRequest")
12677	proto.RegisterType((*CreateDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.CreateDeidentifyTemplateRequest")
12678	proto.RegisterType((*UpdateDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest")
12679	proto.RegisterType((*GetDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.GetDeidentifyTemplateRequest")
12680	proto.RegisterType((*ListDeidentifyTemplatesRequest)(nil), "google.privacy.dlp.v2.ListDeidentifyTemplatesRequest")
12681	proto.RegisterType((*ListDeidentifyTemplatesResponse)(nil), "google.privacy.dlp.v2.ListDeidentifyTemplatesResponse")
12682	proto.RegisterType((*DeleteDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest")
12683	proto.RegisterType((*LargeCustomDictionaryConfig)(nil), "google.privacy.dlp.v2.LargeCustomDictionaryConfig")
12684	proto.RegisterType((*LargeCustomDictionaryStats)(nil), "google.privacy.dlp.v2.LargeCustomDictionaryStats")
12685	proto.RegisterType((*StoredInfoTypeConfig)(nil), "google.privacy.dlp.v2.StoredInfoTypeConfig")
12686	proto.RegisterType((*StoredInfoTypeStats)(nil), "google.privacy.dlp.v2.StoredInfoTypeStats")
12687	proto.RegisterType((*StoredInfoTypeVersion)(nil), "google.privacy.dlp.v2.StoredInfoTypeVersion")
12688	proto.RegisterType((*StoredInfoType)(nil), "google.privacy.dlp.v2.StoredInfoType")
12689	proto.RegisterType((*CreateStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.CreateStoredInfoTypeRequest")
12690	proto.RegisterType((*UpdateStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.UpdateStoredInfoTypeRequest")
12691	proto.RegisterType((*GetStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.GetStoredInfoTypeRequest")
12692	proto.RegisterType((*ListStoredInfoTypesRequest)(nil), "google.privacy.dlp.v2.ListStoredInfoTypesRequest")
12693	proto.RegisterType((*ListStoredInfoTypesResponse)(nil), "google.privacy.dlp.v2.ListStoredInfoTypesResponse")
12694	proto.RegisterType((*DeleteStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.DeleteStoredInfoTypeRequest")
12695	proto.RegisterType((*HybridInspectJobTriggerRequest)(nil), "google.privacy.dlp.v2.HybridInspectJobTriggerRequest")
12696	proto.RegisterType((*HybridInspectDlpJobRequest)(nil), "google.privacy.dlp.v2.HybridInspectDlpJobRequest")
12697	proto.RegisterType((*HybridContentItem)(nil), "google.privacy.dlp.v2.HybridContentItem")
12698	proto.RegisterType((*HybridFindingDetails)(nil), "google.privacy.dlp.v2.HybridFindingDetails")
12699	proto.RegisterMapType((map[string]string)(nil), "google.privacy.dlp.v2.HybridFindingDetails.LabelsEntry")
12700	proto.RegisterType((*HybridInspectResponse)(nil), "google.privacy.dlp.v2.HybridInspectResponse")
12701}
12702
12703func init() {
12704	proto.RegisterFile("google/privacy/dlp/v2/dlp.proto", fileDescriptor_6872a91dcb80f8dc)
12705}
12706
12707var fileDescriptor_6872a91dcb80f8dc = []byte{
12708	// 11530 bytes of a gzipped FileDescriptorProto
12709	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x69, 0x70, 0x1b, 0x59,
12710	0x7a, 0x18, 0x1b, 0x20, 0x48, 0xf0, 0x03, 0x40, 0x82, 0x8f, 0xa7, 0x20, 0x69, 0x34, 0x6a, 0xcd,
12711	0x48, 0x1a, 0x8e, 0x44, 0xce, 0x70, 0x2e, 0x49, 0x73, 0x82, 0x20, 0x24, 0x50, 0xe2, 0xa5, 0x06,
12712	0xa8, 0x19, 0xd1, 0x93, 0x69, 0x37, 0x81, 0x26, 0xd9, 0x22, 0x80, 0xc6, 0x74, 0x37, 0x24, 0x72,
12713	0xc6, 0x93, 0x38, 0xb1, 0xb3, 0xb6, 0x13, 0x6f, 0xbc, 0x29, 0x3b, 0xbb, 0x8e, 0xed, 0xda, 0x4a,
12714	0xb2, 0x89, 0x93, 0xda, 0xaa, 0x24, 0x8e, 0x73, 0xb9, 0xbc, 0xb1, 0x53, 0xce, 0xb1, 0xde, 0x72,
12715	0x79, 0xed, 0x6c, 0xa6, 0xe2, 0x43, 0xe5, 0x75, 0x1c, 0xd7, 0xda, 0xeb, 0x9a, 0xcd, 0x59, 0xd9,
12716	0x6c, 0xc5, 0x93, 0xa3, 0x52, 0xef, 0xe8, 0xbb, 0x1b, 0x68, 0x90, 0x94, 0xd7, 0xe5, 0xfc, 0x02,
12717	0xde, 0xf7, 0xbe, 0xef, 0x7b, 0xef, 0x7d, 0xef, 0x7b, 0xdf, 0xf7, 0xbd, 0xb3, 0xe1, 0xcc, 0x8e,
12718	0xaa, 0xee, 0xd4, 0xe5, 0xb9, 0x96, 0xa6, 0xdc, 0x97, 0xaa, 0x07, 0x73, 0xb5, 0x7a, 0x6b, 0xee,
12719	0xfe, 0x3c, 0xfe, 0x99, 0x6d, 0x69, 0xaa, 0xa1, 0xa2, 0x09, 0x8a, 0x30, 0xcb, 0x10, 0x66, 0x71,
12720	0xce, 0xfd, 0xf9, 0xdc, 0x29, 0x46, 0x27, 0xb5, 0x94, 0x39, 0xa9, 0xd9, 0x54, 0x0d, 0xc9, 0x50,
12721	0xd4, 0xa6, 0x4e, 0x89, 0x72, 0x53, 0x8e, 0xdc, 0x6a, 0x5d, 0x91, 0x9b, 0x06, 0xcb, 0x38, 0xe3,
12722	0xc8, 0xd8, 0x56, 0xe4, 0x7a, 0x4d, 0xdc, 0x92, 0x77, 0xa5, 0xfb, 0x8a, 0xaa, 0x31, 0x84, 0x13,
12723	0x0e, 0x04, 0x4d, 0xd6, 0xd5, 0xb6, 0x56, 0x95, 0x59, 0xd6, 0xb9, 0xe0, 0xaa, 0xea, 0x86, 0xaa,
12724	0x49, 0x3b, 0x26, 0xd2, 0x63, 0x16, 0x92, 0x6a, 0xa8, 0x5b, 0xed, 0xed, 0xb9, 0x5a, 0x5b, 0x23,
12725	0x55, 0x63, 0xf9, 0x27, 0xbd, 0xf9, 0x72, 0xa3, 0x65, 0x1c, 0xb0, 0xcc, 0xc7, 0xbd, 0x99, 0xb4,
12726	0x8a, 0x0d, 0x49, 0xdf, 0xf3, 0xd4, 0xdf, 0xc2, 0x30, 0x94, 0x86, 0xac, 0x1b, 0x52, 0xa3, 0xe5,
12727	0x69, 0xb9, 0xd6, 0xaa, 0xce, 0xe9, 0x86, 0x64, 0xb4, 0x4d, 0x91, 0x4c, 0xb2, 0x0c, 0xe3, 0xa0,
12728	0x25, 0xcf, 0xd5, 0x24, 0x43, 0xf6, 0x54, 0x88, 0xc1, 0x0f, 0xd4, 0xed, 0x07, 0xb2, 0xbc, 0x17,
12729	0x94, 0x89, 0x8b, 0x52, 0xb7, 0x6b, 0x12, 0xab, 0x2d, 0x2f, 0x40, 0xb6, 0xb8, 0x5f, 0xad, 0xb7,
12730	0x6b, 0xf2, 0x52, 0x73, 0x5b, 0xad, 0x1c, 0xb4, 0x64, 0x1d, 0xbd, 0x06, 0xa0, 0x34, 0xb7, 0x55,
12731	0x11, 0x13, 0xe8, 0xd3, 0xdc, 0xe3, 0xf1, 0x8b, 0xa9, 0xf9, 0x33, 0xb3, 0x81, 0x5d, 0x38, 0x6b,
12732	0x52, 0x09, 0x43, 0x8a, 0x49, 0xcf, 0x7f, 0x18, 0x83, 0x0c, 0x61, 0xaa, 0x2b, 0x6a, 0x53, 0x68,
12733	0xd7, 0x65, 0x24, 0x00, 0xd4, 0x94, 0x2a, 0x96, 0xa0, 0xa4, 0x1d, 0x4c, 0x73, 0x8f, 0x73, 0x17,
12734	0x53, 0xf3, 0xcf, 0x84, 0x70, 0x2c, 0xb4, 0x75, 0x43, 0x6d, 0x98, 0x7c, 0x67, 0x17, 0x2d, 0xba,
12735	0x52, 0x9f, 0xe0, 0xe0, 0x82, 0x0a, 0x90, 0xd0, 0xe4, 0x1d, 0x79, 0x7f, 0x3a, 0x46, 0xd8, 0x3d,
12736	0x1d, 0x8d, 0x9d, 0x80, 0x49, 0x4a, 0x7d, 0x02, 0xa5, 0x45, 0x6f, 0x02, 0x92, 0x69, 0xf3, 0x45,
12737	0x47, 0x93, 0xe3, 0x84, 0xe3, 0x85, 0x10, 0x8e, 0x5e, 0x79, 0x95, 0xfa, 0x84, 0xac, 0xec, 0x95,
12738	0x61, 0x09, 0x32, 0x0d, 0xc9, 0xa8, 0xee, 0x2a, 0xcd, 0x1d, 0xc2, 0x74, 0xba, 0xff, 0x71, 0xee,
12739	0xe2, 0xf0, 0xfc, 0xb9, 0x10, 0x9e, 0x2b, 0x0c, 0x97, 0x88, 0x32, 0xdd, 0x70, 0xa4, 0x16, 0x06,
12740	0xa0, 0x1f, 0x33, 0xe0, 0xbf, 0xcc, 0xc1, 0xf0, 0x52, 0x53, 0x6f, 0xc9, 0x44, 0x02, 0x44, 0xac,
12741	0x35, 0x48, 0xef, 0xaa, 0xc6, 0x03, 0x55, 0xab, 0x89, 0x5a, 0xbb, 0x2e, 0x33, 0xc1, 0xbe, 0x1e,
12742	0x51, 0xb0, 0xb2, 0x61, 0xb3, 0x9a, 0x2d, 0x51, 0x3e, 0xf8, 0x7f, 0xa9, 0x4f, 0x48, 0xed, 0xda,
12743	0x49, 0xb4, 0x02, 0xc3, 0xb2, 0xd9, 0x9b, 0xb4, 0x1c, 0x2a, 0xf1, 0x27, 0x3a, 0xc9, 0xc7, 0xec,
12744	0xfa, 0x52, 0x9f, 0x90, 0x91, 0x9d, 0x00, 0xab, 0x3d, 0x9f, 0xe2, 0x60, 0xd4, 0xdd, 0x9e, 0xb2,
12745	0x6c, 0x1c, 0x55, 0xf7, 0xd0, 0xcb, 0x90, 0xc0, 0x55, 0xd4, 0xa7, 0x63, 0x84, 0xf4, 0xc9, 0x50,
12746	0x52, 0x67, 0xc1, 0x02, 0xa5, 0xe1, 0x3f, 0x39, 0x08, 0x19, 0x96, 0x53, 0x50, 0x9b, 0xdb, 0xca,
12747	0xce, 0x91, 0xab, 0x53, 0x82, 0xe1, 0x86, 0xd2, 0x14, 0xeb, 0xca, 0x9e, 0x5c, 0x57, 0x76, 0x55,
12748	0xb5, 0x46, 0x64, 0x37, 0x3c, 0x7f, 0x36, 0x84, 0xc7, 0xb2, 0x85, 0x28, 0x64, 0x1a, 0x4a, 0xd3,
12749	0x4e, 0xa2, 0x9b, 0x30, 0x50, 0x57, 0x1a, 0x8a, 0x61, 0x6a, 0xe7, 0x7c, 0xe7, 0x96, 0xd1, 0xfa,
12750	0xcf, 0x5e, 0x57, 0x9a, 0x35, 0xa5, 0xb9, 0xb3, 0x4c, 0x28, 0x05, 0xc6, 0x01, 0x9d, 0x83, 0x8c,
12751	0xd2, 0xa4, 0x5a, 0xff, 0x6e, 0x5b, 0x35, 0xa8, 0x72, 0x26, 0x85, 0x34, 0x03, 0xde, 0xc6, 0x30,
12752	0x74, 0x29, 0x70, 0x68, 0x24, 0x08, 0xa6, 0x5f, 0xdf, 0x6f, 0xc3, 0x68, 0x95, 0xe8, 0x97, 0x13,
12753	0x79, 0xa0, 0x63, 0x1f, 0xb8, 0xf5, 0x51, 0x18, 0xa9, 0xba, 0xd2, 0x3a, 0x5a, 0x81, 0x91, 0xaa,
12754	0xda, 0x34, 0xe4, 0xa6, 0x21, 0xaa, 0x2d, 0xe2, 0x18, 0xa6, 0x93, 0x8f, 0xc7, 0x2f, 0x0e, 0x87,
12755	0x2a, 0x5e, 0x81, 0x62, 0xaf, 0x11, 0x64, 0x61, 0xb8, 0xea, 0x4c, 0xea, 0xa8, 0x00, 0x49, 0xdc,
12756	0xcb, 0xa2, 0x2e, 0x1b, 0xd3, 0x40, 0x2a, 0x76, 0x31, 0x92, 0x72, 0x94, 0x65, 0x43, 0x18, 0xd4,
12757	0xe8, 0x9f, 0xdc, 0x37, 0x62, 0x90, 0x71, 0xc9, 0x14, 0x3d, 0x0b, 0x13, 0x0d, 0x69, 0x5f, 0xdc,
12758	0xa6, 0x40, 0x5d, 0x6c, 0xc9, 0x9a, 0xa8, 0x18, 0x72, 0x83, 0x0c, 0xc6, 0x84, 0x80, 0x1a, 0xd2,
12759	0x3e, 0x23, 0xd0, 0xd7, 0x65, 0x6d, 0xc9, 0x90, 0x1b, 0xe8, 0x25, 0x98, 0xf6, 0x91, 0x68, 0xf2,
12760	0xbb, 0x6d, 0x59, 0x37, 0x88, 0x7a, 0x24, 0x84, 0x09, 0x37, 0x95, 0x40, 0x33, 0xd1, 0x77, 0x41,
12761	0xce, 0x5f, 0x96, 0x29, 0xee, 0xe9, 0x38, 0x69, 0xd4, 0x1b, 0xbd, 0xeb, 0x85, 0xa5, 0xb9, 0x24,
12762	0x29, 0x4c, 0x7a, 0xaa, 0xcc, 0x32, 0x73, 0x2d, 0x3c, 0x38, 0x1c, 0x88, 0xe8, 0x15, 0x18, 0xb2,
12763	0x4b, 0xa7, 0xb6, 0xa7, 0xeb, 0xd8, 0x48, 0x9a, 0x63, 0x03, 0x9d, 0x85, 0xb4, 0xb3, 0x31, 0xac,
12764	0xe5, 0x29, 0x47, 0xe1, 0xfc, 0xb7, 0x38, 0x18, 0x59, 0x38, 0x30, 0x64, 0xd6, 0xb1, 0x44, 0x78,
12765	0x8b, 0xd4, 0x7c, 0x90, 0xf2, 0x86, 0x43, 0x9d, 0x88, 0x87, 0x8a, 0xa4, 0x75, 0x52, 0x01, 0x42,
12766	0x8d, 0x10, 0xf4, 0xd7, 0x24, 0x43, 0x22, 0x85, 0xa6, 0x05, 0xf2, 0x9f, 0xff, 0x7e, 0x0e, 0x86,
12767	0x2c, 0x3c, 0x94, 0x83, 0xc9, 0x85, 0xbb, 0x95, 0x62, 0x59, 0xac, 0xdc, 0x5d, 0x2f, 0x8a, 0x1b,
12768	0xab, 0xe5, 0xf5, 0x62, 0x61, 0xe9, 0xfa, 0x52, 0x71, 0x31, 0xdb, 0x87, 0x86, 0x20, 0xb1, 0xb4,
12769	0x92, 0xbf, 0x51, 0xcc, 0x0e, 0xa0, 0x61, 0x00, 0xf2, 0x57, 0xbc, 0xb9, 0x5e, 0xbc, 0x91, 0xe5,
12770	0x50, 0x06, 0x86, 0x68, 0x7a, 0x61, 0x65, 0x3d, 0x1b, 0xb3, 0x93, 0xeb, 0xab, 0x37, 0xb2, 0x71,
12771	0x3b, 0x59, 0xbe, 0x73, 0x23, 0xdb, 0x8f, 0x93, 0x95, 0xe2, 0x5b, 0x15, 0x71, 0xa3, 0x72, 0xfd,
12772	0x4a, 0x36, 0x81, 0x92, 0xd0, 0x9f, 0xbf, 0x23, 0xac, 0x65, 0x53, 0xfc, 0xdf, 0xe7, 0x20, 0xe5,
12773	0x6c, 0xf4, 0x24, 0x24, 0xee, 0x4b, 0xf5, 0xb6, 0x4c, 0xc6, 0xfe, 0x10, 0x76, 0x5f, 0x24, 0x89,
12774	0x9e, 0x87, 0x84, 0x21, 0x6d, 0xd5, 0xe9, 0x00, 0x4e, 0xcd, 0x9f, 0x0a, 0x91, 0x46, 0x05, 0xe3,
12775	0x60, 0x2a, 0x82, 0x8c, 0x8a, 0x30, 0xb4, 0x75, 0x60, 0xc8, 0x54, 0x4d, 0x13, 0x84, 0xf2, 0x7c,
12776	0x34, 0x39, 0x96, 0xfa, 0x84, 0x24, 0x26, 0xc5, 0xff, 0x17, 0x52, 0x30, 0x84, 0xe5, 0x46, 0xd8,
12777	0xf0, 0xff, 0x88, 0x83, 0x04, 0x29, 0x06, 0x5d, 0x81, 0xc1, 0x5d, 0x59, 0xaa, 0xc9, 0x9a, 0x69,
12778	0x2f, 0x1f, 0x0b, 0xe1, 0x7d, 0x1d, 0xc7, 0x45, 0x4b, 0x35, 0xc1, 0x44, 0x47, 0xcf, 0x43, 0xbf,
12779	0xa6, 0x3e, 0x30, 0x4d, 0xf7, 0xe3, 0x9d, 0x1a, 0x33, 0x2b, 0xa8, 0x0f, 0x04, 0x82, 0x9d, 0x7b,
12780	0x19, 0xe2, 0x82, 0xfa, 0x00, 0x3d, 0x0f, 0x03, 0x44, 0x26, 0x66, 0xa9, 0x61, 0xb2, 0xb8, 0x83,
12781	0x91, 0x04, 0x86, 0xcb, 0xbf, 0x67, 0x19, 0x7c, 0x41, 0xd6, 0xdb, 0x75, 0x03, 0x5d, 0x83, 0xa4,
12782	0xa5, 0x91, 0xdd, 0xaa, 0x4f, 0xd0, 0x04, 0x0b, 0x1f, 0x5d, 0x06, 0x64, 0x0d, 0x4d, 0x43, 0x6b,
12783	0x37, 0xab, 0x92, 0x21, 0x53, 0x83, 0x9f, 0x14, 0x46, 0xcd, 0x9c, 0x8a, 0x99, 0xc1, 0x7f, 0x75,
12784	0x00, 0x06, 0x19, 0x13, 0xac, 0x8f, 0x4d, 0xa9, 0x21, 0x4f, 0x0f, 0xe3, 0xfe, 0x15, 0xc8, 0x7f,
12785	0x34, 0x0e, 0x09, 0x6a, 0x9d, 0x39, 0x02, 0xa4, 0x09, 0xf7, 0xa0, 0x8b, 0xf5, 0x3a, 0xe8, 0xf2,
12786	0x00, 0x0e, 0x5f, 0x14, 0x8f, 0xea, 0x8b, 0x1c, 0x44, 0xe8, 0x65, 0x48, 0xd6, 0xd5, 0x2a, 0x09,
12787	0x87, 0x99, 0xda, 0x85, 0x95, 0xbf, 0xcc, 0xd0, 0x04, 0x8b, 0x00, 0xbd, 0x0c, 0xa9, 0xaa, 0x26,
12788	0x4b, 0x86, 0x2c, 0xe2, 0x40, 0x74, 0x7a, 0x80, 0xd0, 0xe7, 0x6c, 0x7a, 0x1a, 0x10, 0xcf, 0x56,
12789	0xcc, 0x80, 0x58, 0x00, 0x8a, 0x8e, 0x01, 0xe8, 0x75, 0x00, 0x22, 0x03, 0x62, 0xf3, 0xa6, 0x07,
12790	0x09, 0x6d, 0x98, 0x96, 0x10, 0x1f, 0x86, 0x05, 0x20, 0x0c, 0xbd, 0x6b, 0xfe, 0x45, 0x05, 0xc8,
12791	0x98, 0xd3, 0x01, 0x91, 0x88, 0x3b, 0x89, 0x25, 0xbb, 0xf0, 0xd8, 0xc7, 0xf9, 0x93, 0x70, 0x02,
12792	0x13, 0x52, 0x5e, 0x52, 0x4b, 0xd1, 0x67, 0xab, 0x6a, 0x63, 0x6e, 0xb1, 0xde, 0xba, 0xa9, 0x6e,
12793	0x09, 0x69, 0x93, 0x68, 0x15, 0x77, 0x4b, 0x11, 0xd2, 0x86, 0xa6, 0xec, 0xec, 0xc8, 0x1a, 0xe5,
12794	0x31, 0x44, 0x78, 0xf0, 0x1f, 0xe7, 0xcf, 0xc0, 0xe9, 0x00, 0x1e, 0x37, 0xd5, 0xad, 0x0a, 0x45,
12795	0x17, 0x52, 0x8c, 0x8e, 0xb0, 0x59, 0x80, 0x81, 0xba, 0xb4, 0x25, 0xd7, 0x75, 0xe6, 0x8c, 0x66,
12796	0x3a, 0xab, 0xd9, 0xec, 0x32, 0x41, 0x2e, 0x36, 0x0d, 0xed, 0x40, 0x60, 0x94, 0x68, 0x01, 0x46,
12797	0xee, 0xa9, 0x5b, 0xa2, 0x53, 0xa2, 0xa9, 0xae, 0x12, 0xcd, 0xdc, 0x53, 0xb7, 0x0a, 0xb6, 0x50,
12798	0xaf, 0x42, 0x12, 0xf3, 0x20, 0x4d, 0xc9, 0x44, 0x12, 0xc7, 0xe0, 0x3d, 0x75, 0x0b, 0x37, 0x21,
12799	0x77, 0x15, 0x52, 0x8e, 0x5a, 0xa1, 0x2c, 0xc4, 0xf7, 0xe4, 0x03, 0xa6, 0xad, 0xf8, 0x2f, 0xd6,
12800	0x60, 0x6a, 0xb6, 0x62, 0x54, 0x83, 0x49, 0xe2, 0x5a, 0xec, 0x0a, 0x77, 0x6d, 0xeb, 0xa3, 0xbc,
12801	0x08, 0x67, 0x03, 0xca, 0x60, 0xa3, 0xd1, 0x1c, 0x17, 0xd7, 0x5a, 0x9a, 0x7a, 0x4f, 0xae, 0x1a,
12802	0xfa, 0xdc, 0xfb, 0xec, 0xdf, 0x07, 0x73, 0xa6, 0x32, 0xe9, 0x73, 0xef, 0x9b, 0x7f, 0x3f, 0x98,
12803	0x33, 0x87, 0xd7, 0xdc, 0xfb, 0xec, 0xdf, 0x07, 0xfc, 0xe7, 0x62, 0x90, 0x5c, 0xb6, 0x15, 0x0f,
12804	0x88, 0xcd, 0xd3, 0xa4, 0xe6, 0x8e, 0xe9, 0xac, 0xc2, 0x4c, 0x84, 0x80, 0x71, 0x04, 0x62, 0x23,
12805	0xc9, 0x5f, 0x54, 0xc4, 0x91, 0x48, 0x4d, 0x6e, 0xa9, 0x4a, 0xd3, 0x60, 0x1c, 0x62, 0x11, 0x38,
12806	0x0c, 0x5b, 0x44, 0x94, 0x4d, 0x19, 0x46, 0xcd, 0x80, 0xc6, 0x6a, 0xc3, 0xf4, 0x20, 0xe9, 0xfd,
12807	0xf3, 0x9d, 0x43, 0x1a, 0x6b, 0x24, 0x65, 0xab, 0x6e, 0x00, 0x9e, 0xac, 0x0d, 0x61, 0x98, 0xa4,
12808	0x34, 0x65, 0x8d, 0xe8, 0x73, 0xf8, 0x98, 0x28, 0x98, 0x78, 0x82, 0x4d, 0xc2, 0xff, 0xd3, 0x38,
12809	0x8c, 0x78, 0x4a, 0x41, 0x4f, 0xc2, 0xb0, 0x85, 0x40, 0x35, 0x83, 0x76, 0x6a, 0xc6, 0x82, 0x12,
12810	0x15, 0x5e, 0x87, 0x11, 0x4d, 0xae, 0xe2, 0xd9, 0x87, 0x65, 0x10, 0xa8, 0x58, 0xc2, 0x22, 0x3e,
12811	0x81, 0x60, 0x9b, 0xc5, 0x94, 0xfa, 0x84, 0x61, 0xcd, 0x05, 0xc1, 0x53, 0x0d, 0xa5, 0x21, 0xed,
12812	0xc8, 0x36, 0xc3, 0x78, 0xc7, 0xa9, 0xc6, 0x12, 0x46, 0x76, 0xf0, 0xcb, 0x28, 0x4e, 0x00, 0xba,
12813	0x03, 0xa3, 0x35, 0xb5, 0xda, 0x6e, 0x38, 0x25, 0xce, 0x1c, 0x5e, 0xd8, 0xe4, 0x6e, 0x91, 0xe1,
12814	0x3b, 0x98, 0x66, 0x6b, 0x1e, 0x18, 0xba, 0x05, 0x63, 0xb6, 0x7c, 0xac, 0xc9, 0x7b, 0x04, 0x6b,
12815	0x86, 0x2c, 0x32, 0x0b, 0x86, 0x9e, 0xa6, 0x5a, 0x41, 0x99, 0xdd, 0x97, 0x35, 0x3c, 0x51, 0x22,
12816	0xc6, 0x6d, 0x88, 0xf6, 0x36, 0xc9, 0xb8, 0x43, 0xe1, 0x0b, 0x60, 0x1b, 0x5f, 0xfe, 0x39, 0xc8,
12817	0x7a, 0x6b, 0x8b, 0xce, 0x40, 0x6a, 0x5b, 0xa9, 0xcb, 0xa2, 0xba, 0xbd, 0x8d, 0xe3, 0x5c, 0xdc,
12818	0x6d, 0x71, 0x01, 0x30, 0x68, 0x8d, 0x40, 0xf8, 0xdf, 0xe4, 0x60, 0xd8, 0xdd, 0x0d, 0xd8, 0xac,
12819	0xb2, 0x6e, 0x34, 0x87, 0x6f, 0xb8, 0x0a, 0x51, 0xd2, 0x5b, 0xf2, 0x81, 0x30, 0xa4, 0x99, 0x7f,
12820	0xb1, 0x09, 0xa1, 0x6b, 0x1c, 0x4a, 0x8d, 0x29, 0x40, 0x57, 0x97, 0xbf, 0x4d, 0xff, 0xa0, 0x5b,
12821	0x30, 0x4c, 0x62, 0x92, 0xa8, 0x1d, 0x4e, 0x9c, 0xbf, 0x35, 0x1a, 0x32, 0x86, 0x33, 0xc9, 0x5f,
12822	0x82, 0x8c, 0x2b, 0x1f, 0x9d, 0x84, 0x21, 0x4d, 0x7d, 0x20, 0x2a, 0xcd, 0x9a, 0xbc, 0xcf, 0x64,
12823	0x91, 0xd4, 0xd4, 0x07, 0x4b, 0x38, 0xcd, 0x7f, 0x93, 0x83, 0x21, 0x6b, 0x44, 0x60, 0x07, 0x6c,
12824	0x85, 0x95, 0x43, 0x2c, 0x48, 0x3c, 0x0d, 0xc0, 0x8c, 0x8e, 0xd9, 0xb2, 0x21, 0x61, 0x88, 0x41,
12825	0x96, 0x6a, 0x98, 0xfb, 0x76, 0xbb, 0x5e, 0x17, 0x5b, 0x92, 0xb1, 0x4b, 0x03, 0x33, 0x21, 0x89,
12826	0x01, 0xeb, 0x92, 0xb1, 0x4b, 0x8b, 0x56, 0x0d, 0x9a, 0xd9, 0x4f, 0x33, 0x31, 0x80, 0x64, 0x9e,
12827	0xc3, 0x7e, 0xa8, 0x2e, 0x19, 0xca, 0x7d, 0x99, 0x22, 0x24, 0x08, 0x42, 0xda, 0x04, 0x12, 0xa4,
12828	0x97, 0x21, 0xd5, 0x6e, 0xd5, 0x7a, 0x71, 0x95, 0x14, 0x9d, 0x58, 0xf5, 0x69, 0x18, 0x74, 0xab,
12829	0x92, 0x99, 0xe4, 0xe7, 0x20, 0x41, 0xad, 0xd1, 0x38, 0x24, 0x74, 0x43, 0xd2, 0x4c, 0x25, 0xa1,
12830	0x09, 0x6c, 0xc4, 0xe5, 0x26, 0x6d, 0x6c, 0x5c, 0xc0, 0x7f, 0xf9, 0x4d, 0xc8, 0xb8, 0x86, 0x19,
12831	0x5a, 0x82, 0xe1, 0x2d, 0xb5, 0x4d, 0x8c, 0xac, 0xb8, 0xa5, 0xee, 0x5b, 0x11, 0x17, 0x1f, 0x16,
12832	0x43, 0x32, 0xe4, 0x05, 0x75, 0x5f, 0xc8, 0x6c, 0xd9, 0x09, 0x59, 0xe7, 0x25, 0x48, 0x39, 0x72,
12833	0x71, 0xe1, 0x86, 0xda, 0x62, 0x33, 0x27, 0xfc, 0x17, 0x77, 0x4b, 0x5d, 0xde, 0x36, 0xa7, 0x45,
12834	0xe4, 0x3f, 0xae, 0xf8, 0x03, 0xa5, 0xc6, 0x64, 0x9e, 0x10, 0x68, 0x02, 0x4d, 0xc2, 0xc0, 0xae,
12835	0xac, 0xec, 0xec, 0x1a, 0x44, 0xda, 0x09, 0x81, 0xa5, 0xf8, 0xef, 0x4f, 0x00, 0x12, 0xe4, 0x9a,
12836	0x54, 0x35, 0x48, 0x2b, 0xcc, 0xa9, 0x54, 0x09, 0x06, 0x5a, 0x92, 0x26, 0x37, 0x69, 0xf3, 0x87,
12837	0x16, 0x9e, 0xf9, 0x38, 0x7f, 0x19, 0x9e, 0xae, 0xd6, 0xd5, 0x76, 0xcd, 0xf4, 0xf6, 0x0d, 0xa9,
12838	0x29, 0xed, 0xc8, 0x9a, 0xd7, 0x43, 0xad, 0x53, 0x05, 0x10, 0x18, 0x3d, 0x1e, 0x72, 0xa6, 0xf2,
12839	0x62, 0x35, 0x21, 0x21, 0x85, 0x00, 0x26, 0x88, 0xea, 0xb8, 0x42, 0xbd, 0x9a, 0x58, 0x25, 0xb3,
12840	0xaf, 0x2e, 0xeb, 0x27, 0xae, 0x99, 0x9a, 0x90, 0x51, 0x5c, 0x0b, 0x12, 0xf7, 0x61, 0x8a, 0x5a,
12841	0x48, 0x8d, 0xb4, 0x09, 0x17, 0x4a, 0x99, 0xe2, 0xa9, 0x39, 0xee, 0x85, 0xd7, 0x42, 0x47, 0xae,
12842	0x57, 0x06, 0xb3, 0x2c, 0xc1, 0xf8, 0xb0, 0xf2, 0x26, 0x94, 0x00, 0xa8, 0x8e, 0x9e, 0x82, 0xac,
12843	0xb9, 0x64, 0x60, 0xc5, 0xc7, 0x03, 0x24, 0xb2, 0x1d, 0x61, 0x70, 0x73, 0xd6, 0x86, 0x0a, 0xce,
12844	0xe9, 0xc5, 0x60, 0x2f, 0xd3, 0x0b, 0x7b, 0x72, 0x91, 0xfb, 0x0a, 0x07, 0xe3, 0x41, 0xf5, 0xc3,
12845	0xfe, 0xae, 0xd7, 0x49, 0x27, 0x9e, 0xb5, 0x58, 0x11, 0xf0, 0x45, 0xec, 0xb4, 0x30, 0x4b, 0x51,
12846	0xaa, 0xd7, 0x45, 0x43, 0xde, 0xa7, 0xca, 0x95, 0xc4, 0xde, 0x83, 0x66, 0xe4, 0xeb, 0xf5, 0x8a,
12847	0xbc, 0x6f, 0x60, 0xaf, 0xef, 0x14, 0x72, 0x5d, 0xd5, 0x98, 0x71, 0x3a, 0x15, 0xea, 0x5f, 0xeb,
12848	0xaa, 0x86, 0x7d, 0x9a, 0x55, 0xe3, 0xba, 0xaa, 0x2d, 0x24, 0x61, 0xc0, 0x90, 0xb4, 0x1d, 0xd9,
12849	0xe0, 0x0b, 0x90, 0x20, 0x20, 0xac, 0xe7, 0x9a, 0x5c, 0x23, 0xb5, 0x8f, 0x09, 0xf8, 0x2f, 0xd6,
12850	0xe9, 0x1d, 0x4d, 0x96, 0xa9, 0x03, 0x8d, 0x09, 0x34, 0x81, 0xb5, 0x7f, 0xcb, 0x9c, 0xf5, 0xc5,
12851	0x04, 0xf2, 0x9f, 0xff, 0x29, 0x0e, 0xc6, 0x5c, 0x7d, 0xa9, 0xb7, 0xd4, 0xa6, 0x2e, 0x63, 0x9f,
12852	0x4d, 0x0b, 0x96, 0x6b, 0x22, 0xe9, 0x42, 0xc2, 0x3e, 0x6d, 0x36, 0x4a, 0xae, 0x11, 0x74, 0x8c,
12853	0x26, 0xef, 0x1b, 0x1a, 0xc5, 0xb3, 0x5a, 0x3f, 0x24, 0x64, 0x2c, 0x28, 0x69, 0xbb, 0x43, 0x67,
12854	0x35, 0x32, 0x31, 0xea, 0xe6, 0x88, 0x9d, 0x93, 0x28, 0x4b, 0x67, 0x69, 0x92, 0xff, 0x95, 0x38,
12855	0x4c, 0x2f, 0xca, 0x4a, 0x4d, 0x6e, 0x1a, 0xca, 0xf6, 0x01, 0xeb, 0xef, 0xe3, 0x1f, 0x88, 0x15,
12856	0x18, 0xad, 0x59, 0xa5, 0xb8, 0x87, 0x5a, 0xa8, 0xb7, 0x77, 0xd6, 0x0a, 0x6b, 0x7f, 0xb6, 0xe6,
12857	0x81, 0x04, 0x8c, 0xde, 0xf8, 0xe1, 0x47, 0xef, 0x8b, 0xd0, 0x4f, 0x46, 0x05, 0x9d, 0x37, 0xf1,
12858	0x9d, 0x83, 0x3e, 0x32, 0x22, 0x08, 0x3e, 0x9a, 0x87, 0x09, 0xb3, 0x12, 0x86, 0xdc, 0x68, 0xd5,
12859	0xb1, 0x57, 0x20, 0x71, 0x19, 0x75, 0x1c, 0x63, 0x2c, 0xb3, 0xc2, 0xf2, 0x48, 0x74, 0x76, 0x05,
12860	0xa6, 0x1d, 0xe2, 0x70, 0x93, 0x0d, 0x10, 0xb2, 0x49, 0x3b, 0xdf, 0x45, 0xe9, 0xb1, 0x68, 0x83,
12861	0x5e, 0x8b, 0xc6, 0x7f, 0x96, 0x83, 0x13, 0x01, 0x1d, 0xca, 0x34, 0xd1, 0x6c, 0x24, 0xd7, 0x63,
12862	0x23, 0x97, 0x20, 0xa9, 0xde, 0x97, 0xb5, 0xfb, 0x8a, 0xfc, 0x80, 0x75, 0xdb, 0xe5, 0xb0, 0x28,
12863	0x40, 0x93, 0x9a, 0xfa, 0xb6, 0xaa, 0x35, 0x48, 0x85, 0xd6, 0x18, 0x91, 0x60, 0x91, 0xf3, 0x5f,
12864	0x89, 0xc3, 0xb4, 0x10, 0xa6, 0x71, 0xb7, 0x3c, 0x1a, 0xf7, 0xdc, 0xef, 0xe4, 0x63, 0x47, 0x51,
12865	0x3a, 0xed, 0xc8, 0x4a, 0xa7, 0xfd, 0x49, 0x52, 0x3a, 0xad, 0x8b, 0xd2, 0x69, 0x47, 0x50, 0x3a,
12866	0xe1, 0x8f, 0xb3, 0xd2, 0x7d, 0x21, 0x06, 0x13, 0x76, 0x47, 0x3c, 0x1a, 0x1b, 0x77, 0xac, 0xb1,
12867	0x84, 0x29, 0xb3, 0xf8, 0x71, 0x29, 0x46, 0x7f, 0xb8, 0x62, 0x78, 0xba, 0x37, 0xe1, 0xeb, 0xde,
12868	0x3b, 0x30, 0xe9, 0x15, 0x1e, 0xeb, 0xda, 0x57, 0x60, 0x80, 0xf9, 0x20, 0xae, 0x07, 0x1f, 0xc4,
12869	0x68, 0xf8, 0x5f, 0x8e, 0xc1, 0xd8, 0x5a, 0xdb, 0x68, 0xb5, 0x8d, 0x32, 0xdd, 0xe3, 0x65, 0x8d,
12870	0x7f, 0xc5, 0x5c, 0x3a, 0xed, 0xcc, 0x74, 0x41, 0xd9, 0xb9, 0xdd, 0x96, 0xb5, 0x03, 0xcf, 0x12,
12871	0xea, 0xdb, 0x90, 0x51, 0x09, 0x53, 0x51, 0xaf, 0xee, 0xca, 0x0d, 0x89, 0x2d, 0xa5, 0xbd, 0x14,
12872	0xc2, 0x25, 0xa0, 0x02, 0x26, 0x8c, 0x90, 0x0b, 0x69, 0xd5, 0x91, 0xe2, 0x3f, 0xc5, 0x41, 0xda,
12873	0x99, 0x8d, 0x4e, 0xc3, 0x89, 0xb5, 0x8d, 0xca, 0xfa, 0x46, 0x45, 0x2c, 0x17, 0x4a, 0xc5, 0x95,
12874	0xbc, 0x67, 0x3d, 0x7a, 0x14, 0x32, 0x0b, 0xf9, 0xf2, 0x52, 0x41, 0x2c, 0xac, 0x2d, 0x6f, 0xac,
12875	0xac, 0x96, 0xb3, 0x1c, 0x1a, 0x81, 0xd4, 0x8d, 0x42, 0xd9, 0x02, 0xc4, 0xd0, 0x04, 0x8c, 0x2e,
12876	0xe6, 0x2b, 0xf9, 0x72, 0x65, 0x4d, 0x28, 0x5a, 0xe0, 0x38, 0x06, 0x2f, 0x2c, 0xdd, 0x10, 0x6f,
12877	0x6f, 0x14, 0x85, 0xbb, 0x16, 0xb8, 0x1f, 0x93, 0xe7, 0x97, 0x97, 0x2d, 0x40, 0xc2, 0xda, 0xb5,
12878	0xab, 0xda, 0x9b, 0x00, 0x65, 0x43, 0x32, 0xf4, 0x23, 0x6e, 0x02, 0x8c, 0x43, 0xa2, 0xaa, 0xb6,
12879	0x9b, 0x06, 0x9b, 0x70, 0xd0, 0x04, 0xff, 0xb9, 0x04, 0x4c, 0xb3, 0xde, 0x5c, 0x94, 0x0c, 0xa9,
12880	0x4c, 0x46, 0xc8, 0xa2, 0x6c, 0x48, 0x4a, 0x5d, 0x47, 0x0d, 0x6c, 0x71, 0xc9, 0xb8, 0x92, 0x6b,
12881	0xd6, 0xc6, 0x10, 0x1d, 0x05, 0x5d, 0xf6, 0x3e, 0x7c, 0xbc, 0x66, 0x05, 0x93, 0x11, 0xdb, 0x24,
12882	0xc2, 0xa6, 0xd8, 0x0d, 0x41, 0xab, 0x96, 0xf6, 0xd1, 0x61, 0xf2, 0x62, 0xef, 0x65, 0x38, 0xf5,
12883	0x31, 0xf7, 0xf3, 0x1c, 0x64, 0xbd, 0xc5, 0xa2, 0x2d, 0x38, 0xa1, 0x37, 0xa5, 0x96, 0xbe, 0xab,
12884	0x1a, 0xa2, 0x77, 0x68, 0x31, 0xa1, 0x9e, 0xef, 0x5c, 0xae, 0x39, 0xd8, 0x84, 0x29, 0x93, 0x91,
12885	0x27, 0x03, 0x5d, 0x07, 0x20, 0x8b, 0x85, 0x4e, 0x7f, 0x72, 0xa1, 0x33, 0xd3, 0x9b, 0xea, 0x16,
12886	0xb3, 0x1c, 0x43, 0xf7, 0xcc, 0xbf, 0xb9, 0x4f, 0xc4, 0x60, 0x80, 0x2d, 0x96, 0x5f, 0x80, 0x91,
12887	0x96, 0xa6, 0x56, 0x65, 0x5d, 0x97, 0x6b, 0x22, 0x0e, 0xdd, 0x75, 0x36, 0x99, 0x1c, 0xb6, 0xc0,
12888	0x64, 0x43, 0x05, 0x5b, 0x0c, 0x43, 0x35, 0xa4, 0xba, 0x28, 0xeb, 0x86, 0xd2, 0x90, 0x0c, 0x0b,
12889	0x9d, 0x76, 0xfb, 0x18, 0xc9, 0x2c, 0x9a, 0x79, 0x94, 0x66, 0x19, 0x46, 0x2c, 0xc5, 0x12, 0x75,
12890	0xac, 0x6b, 0x6c, 0x87, 0xeb, 0x89, 0x2e, 0xea, 0x45, 0xf4, 0x12, 0xdb, 0x3a, 0xa7, 0x9a, 0xde,
12891	0x86, 0xf4, 0xee, 0xc1, 0x96, 0xa6, 0xd4, 0x18, 0x2b, 0x3a, 0x2f, 0x99, 0x0d, 0x61, 0x55, 0x22,
12892	0xa8, 0x4c, 0x0a, 0x98, 0x81, 0xa2, 0x1b, 0x4a, 0x55, 0x17, 0x52, 0x94, 0x07, 0x61, 0xc9, 0xff,
12893	0x20, 0x07, 0x53, 0x21, 0x88, 0x6e, 0xc9, 0x50, 0x0d, 0xf7, 0x4a, 0xa6, 0x80, 0xa1, 0xe8, 0x1c,
12894	0x64, 0xa4, 0x2d, 0x55, 0x33, 0x2c, 0x34, 0x2a, 0x91, 0x34, 0x03, 0x5a, 0x48, 0x2d, 0x99, 0x4e,
12895	0xb8, 0x29, 0x52, 0x9c, 0x22, 0x31, 0x20, 0x41, 0xe2, 0x7f, 0x8e, 0x83, 0x31, 0x53, 0x04, 0x8b,
12896	0xb2, 0x5e, 0xd5, 0x14, 0xa2, 0x5c, 0xd6, 0xd6, 0x02, 0xe7, 0xd8, 0x5a, 0x38, 0x0b, 0xe9, 0x9a,
12897	0xa2, 0xb7, 0xea, 0xd2, 0x01, 0x35, 0xdc, 0x74, 0x0e, 0x90, 0x62, 0x30, 0x62, 0xb0, 0x57, 0x20,
12898	0xad, 0xb7, 0x5b, 0x2d, 0x5a, 0xb5, 0xad, 0x03, 0x22, 0xfb, 0xe1, 0xd0, 0x55, 0x6a, 0x4b, 0xf6,
12899	0x26, 0xc9, 0xc2, 0x81, 0x90, 0xd2, 0xed, 0x04, 0x7a, 0x1c, 0x52, 0x35, 0xbb, 0x52, 0xcc, 0x53,
12900	0x38, 0x41, 0xbc, 0x01, 0xe3, 0xcb, 0x8a, 0x6e, 0x58, 0xfb, 0xbf, 0xa6, 0xf3, 0x3c, 0x07, 0x99,
12901	0xba, 0xd4, 0xdc, 0x69, 0xe3, 0x49, 0x6f, 0x55, 0xad, 0x99, 0x0d, 0x49, 0x9b, 0xc0, 0x82, 0x5a,
12902	0x93, 0xf1, 0xec, 0x7f, 0x5b, 0xa9, 0x1b, 0xb2, 0xc6, 0x9a, 0xc2, 0x52, 0x5e, 0xb7, 0x13, 0xf7,
12903	0xb9, 0x9d, 0x2d, 0x98, 0xf0, 0x94, 0xca, 0xbc, 0xce, 0x52, 0xc0, 0xce, 0x7f, 0xb7, 0xd6, 0x3b,
12904	0xc4, 0xee, 0x3c, 0x0f, 0xf3, 0xfb, 0x1c, 0x4c, 0x08, 0x8a, 0xbe, 0x97, 0x6f, 0x4a, 0xf5, 0x03,
12905	0x5d, 0xd1, 0xad, 0x61, 0x85, 0xdd, 0x39, 0x63, 0x25, 0x36, 0x64, 0x43, 0x53, 0xaa, 0x5d, 0xbc,
12906	0xd1, 0x3a, 0x4d, 0xae, 0x10, 0x5c, 0x21, 0xd3, 0x72, 0x26, 0xd1, 0x0d, 0x48, 0xb3, 0xbd, 0x0d,
12907	0xea, 0xd8, 0x62, 0xd1, 0x1d, 0x9b, 0x90, 0xa2, 0x94, 0x74, 0x07, 0xef, 0x25, 0x18, 0xa4, 0x13,
12908	0x58, 0x73, 0xc4, 0x9d, 0x0e, 0xe1, 0x91, 0xa7, 0x9b, 0xe4, 0x26, 0x36, 0xff, 0xbb, 0x1c, 0x0c,
12909	0xde, 0x6e, 0x4b, 0xba, 0xb2, 0x54, 0x43, 0x57, 0x21, 0x41, 0x16, 0xf9, 0x58, 0x8b, 0xba, 0xac,
12910	0x08, 0x2e, 0xc4, 0x7f, 0x27, 0x1f, 0x13, 0x28, 0x85, 0x7b, 0x8a, 0x1f, 0xeb, 0x7d, 0x8a, 0x7f,
12911	0x06, 0x80, 0x9d, 0x45, 0x30, 0xa4, 0x1d, 0x6b, 0xcb, 0x74, 0x88, 0xc2, 0x2a, 0xd2, 0x0e, 0x7a,
12912	0x1e, 0x30, 0xb2, 0xac, 0xe1, 0x49, 0x38, 0x8d, 0x8a, 0x27, 0x7d, 0xeb, 0x6a, 0xc5, 0x46, 0xcb,
12913	0x38, 0x60, 0x6c, 0x09, 0xe6, 0x42, 0x02, 0xe2, 0x86, 0xb4, 0xc3, 0x7f, 0x33, 0x06, 0x59, 0x6b,
12914	0xa4, 0x4b, 0x75, 0x2a, 0xb2, 0xd7, 0xcd, 0x68, 0x22, 0x1e, 0x5d, 0xe8, 0xac, 0xcd, 0x34, 0xa0,
12915	0x78, 0x07, 0x86, 0xde, 0xc5, 0x92, 0x13, 0x95, 0x9a, 0xa9, 0x6d, 0xaf, 0x84, 0x30, 0xf1, 0x16,
12916	0x3e, 0xcb, 0x44, 0x4e, 0x02, 0x63, 0x45, 0xd6, 0x88, 0x48, 0x29, 0xf3, 0xe4, 0xbb, 0x34, 0x4b,
12917	0x47, 0x02, 0x20, 0x6b, 0xc9, 0x71, 0x9b, 0x38, 0xb9, 0x66, 0xf5, 0x20, 0xda, 0x6a, 0x2d, 0x65,
12918	0x35, 0x6a, 0x92, 0x5f, 0x37, 0xa9, 0x73, 0x7b, 0x30, 0x1e, 0x54, 0x34, 0x7a, 0xbe, 0xa7, 0xae,
12919	0x37, 0x7b, 0xfd, 0xb4, 0xab, 0xd7, 0xd8, 0x6a, 0xab, 0xd5, 0x67, 0xfc, 0x27, 0x10, 0x64, 0x5c,
12920	0xea, 0x8f, 0xde, 0x85, 0xc9, 0x66, 0xbb, 0x21, 0x6b, 0x58, 0x10, 0xd4, 0xaa, 0x9b, 0xce, 0x8d,
12921	0x96, 0x7b, 0x35, 0xca, 0x20, 0x9a, 0x5d, 0x35, 0x59, 0x10, 0xa3, 0x4e, 0xc7, 0x65, 0xa9, 0x4f,
12922	0x18, 0x6f, 0x06, 0xc0, 0xd1, 0x03, 0x98, 0xae, 0x4a, 0x86, 0xbc, 0xa3, 0x06, 0x14, 0x4a, 0x65,
12923	0xf9, 0x72, 0xa4, 0x42, 0x0b, 0x36, 0x13, 0x77, 0xb1, 0x93, 0xd5, 0xc0, 0x1c, 0x24, 0x03, 0xda,
12924	0x13, 0xa5, 0xa6, 0xda, 0x3c, 0x68, 0x28, 0xc6, 0x81, 0xdb, 0x89, 0xbf, 0x10, 0xa9, 0xc8, 0x5b,
12925	0x79, 0x93, 0xda, 0x2a, 0x2c, 0xbb, 0xe7, 0x81, 0xe1, 0x62, 0xea, 0x62, 0x4d, 0x21, 0x6b, 0xc5,
12926	0x76, 0x31, 0xfd, 0x3d, 0x14, 0xb3, 0xbc, 0x68, 0x52, 0xdb, 0xc5, 0xd4, 0x3d, 0x30, 0xa4, 0xc1,
12927	0xd4, 0x9e, 0xd8, 0x90, 0x5a, 0x66, 0x38, 0x60, 0xaf, 0x62, 0xb2, 0xdd, 0x99, 0x68, 0x5d, 0x77,
12928	0x6b, 0x45, 0x6a, 0x15, 0x2d, 0x0e, 0x76, 0xd7, 0xed, 0x05, 0xc0, 0xd1, 0x27, 0x39, 0x78, 0xbc,
12929	0x26, 0xd7, 0x0d, 0x49, 0x6c, 0x69, 0xb2, 0x2e, 0x37, 0xab, 0x72, 0x40, 0xe9, 0x74, 0x91, 0x7d,
12930	0x21, 0x52, 0xe9, 0x8b, 0x98, 0xd9, 0x3a, 0xe3, 0x15, 0x50, 0x8d, 0xd3, 0xb5, 0x4e, 0x08, 0xb9,
12931	0x65, 0x18, 0x0f, 0x52, 0xbd, 0xc3, 0x0d, 0x9e, 0xdc, 0x2a, 0x4c, 0x06, 0xeb, 0xd4, 0x21, 0xf9,
12932	0x7d, 0x92, 0x83, 0xac, 0x57, 0x63, 0xd0, 0xcb, 0x7e, 0x1b, 0xd5, 0x8d, 0x9d, 0x6d, 0x80, 0x5e,
12933	0x81, 0x21, 0x6c, 0x25, 0x8c, 0x03, 0x7b, 0x97, 0x28, 0xcc, 0xa8, 0x17, 0x09, 0x1e, 0xa6, 0x96,
12934	0xd9, 0xbf, 0xdc, 0x5f, 0xe3, 0x20, 0xeb, 0x55, 0xad, 0xa3, 0xd5, 0x67, 0x0d, 0xc6, 0x74, 0xb9,
12935	0xa9, 0x2b, 0xc4, 0x22, 0x4a, 0x86, 0xa1, 0x29, 0x5b, 0x6d, 0x43, 0x8e, 0xb8, 0x7f, 0x85, 0x2c,
12936	0xd2, 0xbc, 0x49, 0x99, 0xfb, 0xde, 0x41, 0x18, 0x0f, 0xd2, 0x48, 0xb4, 0xe3, 0xaf, 0x66, 0xf1,
12937	0xd0, 0xfa, 0x3d, 0x5b, 0x91, 0x76, 0x76, 0xe4, 0x5a, 0xa0, 0x8d, 0x3f, 0x03, 0x29, 0x4d, 0xde,
12938	0xa1, 0xea, 0x5c, 0x33, 0x83, 0x3a, 0xa0, 0x20, 0x12, 0x25, 0xe9, 0x90, 0x95, 0xda, 0xfb, 0x4a,
12939	0x5d, 0x91, 0xb4, 0x03, 0x1a, 0x24, 0x98, 0x1e, 0xbe, 0x74, 0xf8, 0x0a, 0xe5, 0x4d, 0x8e, 0x34,
12940	0x92, 0x18, 0x91, 0x5c, 0x69, 0x3d, 0xf7, 0xfb, 0x1c, 0xa4, 0x1c, 0x95, 0xfe, 0x13, 0x1b, 0x18,
12941	0xe4, 0xbe, 0x27, 0x0e, 0xc3, 0x6e, 0x61, 0x1c, 0x3d, 0x2c, 0x78, 0xe0, 0xd7, 0x9d, 0x8d, 0xe3,
12942	0xea, 0x2a, 0x33, 0x6e, 0xf8, 0x23, 0x8b, 0x17, 0xaa, 0x90, 0x76, 0x16, 0xf9, 0x48, 0xe2, 0x84,
12943	0xdc, 0xaf, 0x71, 0x70, 0xba, 0xa3, 0x69, 0x46, 0x6f, 0x44, 0x37, 0x1b, 0xac, 0xba, 0x3d, 0x0f,
12944	0x34, 0x21, 0x74, 0xa0, 0x5d, 0x88, 0x18, 0xd4, 0xf9, 0xc6, 0x91, 0xb5, 0x02, 0xf3, 0xc3, 0xe7,
12945	0xe1, 0x14, 0x99, 0x49, 0xbc, 0x27, 0xdb, 0x8b, 0x0d, 0x78, 0x7a, 0x61, 0x2e, 0x90, 0xbc, 0x03,
12946	0xd3, 0xf6, 0x02, 0xc9, 0x11, 0xa6, 0x17, 0x93, 0x16, 0x17, 0x77, 0xdc, 0xb5, 0x09, 0x76, 0x8e,
12947	0x78, 0xe8, 0x19, 0xc7, 0xb8, 0xc5, 0xa3, 0xec, 0x98, 0x7a, 0x7c, 0x37, 0xe7, 0x0f, 0xea, 0x5c,
12948	0xcb, 0x2f, 0x61, 0x86, 0xaa, 0x93, 0x44, 0x3c, 0x31, 0x1e, 0x5d, 0xbc, 0xf0, 0xc7, 0x78, 0x6c,
12949	0x51, 0xe3, 0x13, 0x5c, 0x50, 0x90, 0xc7, 0x2a, 0x41, 0x8d, 0xc2, 0xcd, 0xc3, 0x54, 0xc2, 0xeb,
12950	0x9f, 0xad, 0x6a, 0xf8, 0x62, 0x3e, 0x56, 0x11, 0xc3, 0x1d, 0xf3, 0xb1, 0x1a, 0xd0, 0x00, 0x69,
12951	0xf1, 0x30, 0x35, 0xb0, 0x1d, 0xba, 0x55, 0xb6, 0x23, 0x04, 0xb4, 0x4b, 0x75, 0x86, 0x80, 0xac,
12952	0xd4, 0x81, 0xc3, 0x97, 0x6a, 0xbb, 0x6d, 0xbb, 0xd4, 0xba, 0x07, 0x86, 0xfe, 0x2c, 0x17, 0x10,
12953	0x12, 0xb2, 0xb2, 0x07, 0x0f, 0xdf, 0xf1, 0x6e, 0x2b, 0x68, 0x77, 0xfc, 0x5e, 0x00, 0x1c, 0xfd,
12954	0x44, 0xc7, 0x08, 0x91, 0x55, 0x66, 0x88, 0x54, 0xe6, 0xf6, 0x61, 0x2a, 0x13, 0x62, 0x95, 0xac,
12955	0x5a, 0x85, 0x05, 0x8c, 0x14, 0x21, 0xf7, 0x21, 0xe7, 0x8d, 0x18, 0x59, 0xbd, 0xaf, 0xc2, 0x50,
12956	0x43, 0x69, 0x8a, 0xf4, 0xa4, 0x5d, 0xe7, 0x93, 0x6d, 0xf4, 0xf0, 0x6b, 0xb2, 0xa1, 0x34, 0xc9,
12957	0x3f, 0x42, 0x2a, 0xed, 0x8b, 0xf6, 0x21, 0xbd, 0xee, 0xa4, 0xd2, 0x3e, 0x25, 0x2d, 0xc2, 0xc8,
12958	0xbb, 0x6d, 0xa9, 0x69, 0x28, 0x75, 0x59, 0x64, 0x07, 0x6f, 0xfb, 0x23, 0x1c, 0xbc, 0x1d, 0x36,
12959	0x89, 0x48, 0x52, 0xcf, 0x7d, 0xb2, 0xdf, 0x1f, 0xb9, 0xb2, 0x76, 0xfd, 0x63, 0x0e, 0xce, 0x12,
12960	0xce, 0xb6, 0x03, 0x12, 0x77, 0x15, 0xdd, 0x50, 0x77, 0x34, 0xa9, 0x21, 0x6e, 0xb5, 0xab, 0x7b,
12961	0xb2, 0x61, 0x9e, 0x7a, 0xb8, 0x77, 0x7c, 0x23, 0xd2, 0x07, 0x2e, 0x99, 0x65, 0x2e, 0x90, 0x22,
12962	0x85, 0xc7, 0x48, 0xa5, 0x2c, 0xb7, 0xe6, 0xc9, 0xd6, 0x73, 0x3f, 0x1b, 0x83, 0x33, 0x5d, 0x78,
12963	0xa0, 0x57, 0xe1, 0xa4, 0xb7, 0x69, 0x75, 0xf5, 0x81, 0xac, 0x89, 0xe4, 0x7c, 0x0c, 0x5b, 0x2b,
12964	0x9c, 0x76, 0x17, 0xb4, 0x8c, 0x11, 0xc8, 0x71, 0x99, 0x20, 0xf2, 0x76, 0xab, 0x65, 0x91, 0xc7,
12965	0x82, 0xc8, 0x37, 0x30, 0x02, 0x25, 0x3f, 0x03, 0x29, 0x2a, 0x3e, 0x51, 0x57, 0xde, 0x93, 0xd9,
12966	0x6a, 0x22, 0x50, 0x50, 0x59, 0x79, 0x4f, 0x46, 0x37, 0x21, 0xc3, 0x10, 0x5c, 0x5d, 0xfb, 0x64,
12967	0xa7, 0xae, 0xb5, 0x0a, 0x12, 0xd2, 0x94, 0x96, 0xf6, 0x30, 0xba, 0x04, 0xc8, 0xc9, 0x8b, 0xad,
12968	0x60, 0x26, 0x48, 0x99, 0x59, 0x07, 0x26, 0x59, 0xc5, 0xcc, 0x7d, 0x23, 0xe1, 0x9c, 0x78, 0x30,
12969	0x4d, 0xf8, 0xbb, 0x1c, 0x9c, 0x93, 0xdf, 0x6d, 0x2b, 0xf7, 0xa5, 0x3a, 0x19, 0x96, 0xd5, 0xba,
12970	0xa4, 0xeb, 0xa1, 0xba, 0xf0, 0xce, 0x71, 0xd8, 0x46, 0x07, 0xc0, 0xdb, 0xff, 0x8f, 0x3b, 0xaa,
12971	0x52, 0xc0, 0x35, 0xf1, 0x69, 0xc0, 0x8f, 0x71, 0x90, 0xb3, 0xe9, 0x8b, 0x1e, 0x74, 0x74, 0x1d,
12972	0xb2, 0x56, 0x00, 0x22, 0xf6, 0x70, 0x68, 0x7d, 0xd8, 0x0c, 0x40, 0x98, 0x64, 0x9f, 0x87, 0x49,
12973	0xbf, 0x54, 0x48, 0x8f, 0x52, 0x05, 0x18, 0xf7, 0x56, 0x14, 0xf7, 0x6d, 0xee, 0x07, 0xe2, 0x70,
12974	0x22, 0xb4, 0x71, 0xe8, 0x26, 0xf0, 0xc1, 0x3c, 0x03, 0xf4, 0xf3, 0xb1, 0x20, 0xfe, 0x0e, 0x2d,
12975	0x0d, 0xe7, 0xe5, 0x57, 0xd6, 0x40, 0x5e, 0xbd, 0xa8, 0xec, 0xf7, 0x72, 0xc1, 0x3a, 0x2b, 0x1e,
12976	0xb3, 0x36, 0x78, 0x7b, 0xf3, 0x48, 0xda, 0xfe, 0x37, 0x06, 0x9d, 0xd3, 0x5a, 0xa6, 0xed, 0xff,
12977	0x8c, 0x83, 0xa7, 0xed, 0xa9, 0x69, 0x54, 0x0b, 0xf8, 0xce, 0x71, 0xf8, 0x66, 0x07, 0xc0, 0xab,
12978	0xf5, 0x17, 0xac, 0x2a, 0xdd, 0xe9, 0x6c, 0xfe, 0xfe, 0x49, 0x0c, 0x72, 0x36, 0x9b, 0x3f, 0x5e,
12979	0xca, 0x8f, 0xf2, 0x70, 0xba, 0xd9, 0x6e, 0x88, 0x35, 0x1c, 0x6a, 0x37, 0xab, 0x86, 0xe8, 0x91,
12980	0xb3, 0xce, 0x14, 0x2b, 0xd7, 0x6c, 0x37, 0x16, 0x19, 0x4e, 0xd9, 0xd5, 0x6e, 0x1d, 0xbd, 0x09,
12981	0xe3, 0x86, 0xda, 0xf2, 0x53, 0xf6, 0x64, 0x22, 0x91, 0xa1, 0xb6, 0x3c, 0x8c, 0x73, 0x7f, 0x25,
12982	0x0e, 0x27, 0x42, 0xe5, 0x8f, 0xd6, 0xe1, 0xc9, 0x70, 0xa5, 0xf0, 0x8f, 0xcd, 0xb3, 0x21, 0xdd,
12983	0xe5, 0x18, 0x9e, 0x1d, 0x39, 0xfa, 0x47, 0x68, 0x18, 0xc7, 0x6f, 0xdb, 0x20, 0xed, 0xa0, 0xbc,
12984	0xc7, 0x3a, 0x48, 0x7f, 0x22, 0xe1, 0x5d, 0xd8, 0x61, 0x03, 0xf5, 0x73, 0x1c, 0xe4, 0x7c, 0x41,
12985	0xab, 0x35, 0x3e, 0x99, 0x56, 0x6f, 0x1f, 0x57, 0xdc, 0xea, 0x01, 0x7a, 0xc7, 0xe7, 0xd4, 0x5e,
12986	0x70, 0x76, 0xee, 0xd3, 0x1c, 0x9c, 0x74, 0x93, 0xb2, 0x59, 0x2d, 0x13, 0xc6, 0x71, 0x0d, 0xc8,
12987	0x39, 0x18, 0xb3, 0x77, 0x77, 0xad, 0x69, 0x0b, 0x53, 0x1e, 0x64, 0x65, 0x59, 0x86, 0x34, 0xf7,
12988	0xaf, 0x62, 0x70, 0xba, 0x63, 0x9b, 0xd0, 0x39, 0xc8, 0xe0, 0xc8, 0xd6, 0x66, 0x46, 0x75, 0x3b,
12989	0xdd, 0x50, 0x9a, 0x16, 0x1b, 0x82, 0x24, 0xed, 0xfb, 0x4a, 0x4c, 0x37, 0xa4, 0x7d, 0x1b, 0xc9,
12990	0xa3, 0x99, 0x09, 0x9f, 0x66, 0xfe, 0x80, 0x4f, 0x33, 0xe9, 0xe5, 0xd5, 0xda, 0x23, 0xea, 0x3e,
12991	0x57, 0x1f, 0x44, 0x52, 0xcf, 0xc1, 0x10, 0xf5, 0xfc, 0xc3, 0x44, 0xe8, 0x82, 0x07, 0xd3, 0xd3,
12992	0x5f, 0xe4, 0xe0, 0x5c, 0xf8, 0xc4, 0xc6, 0xab, 0xb0, 0xfb, 0xc7, 0x3e, 0xb7, 0x09, 0xcb, 0xf5,
12993	0x05, 0x56, 0xb5, 0x2e, 0x78, 0xb9, 0xcf, 0x71, 0xf0, 0x44, 0x08, 0xb3, 0x47, 0xa3, 0xd4, 0xcf,
12994	0xc1, 0x84, 0xad, 0xd4, 0x2d, 0x4d, 0xdd, 0x92, 0xb6, 0x94, 0xba, 0xa9, 0x64, 0x9c, 0x30, 0x6e,
12995	0x65, 0xae, 0xdb, 0x79, 0xb9, 0xaf, 0xc7, 0xe0, 0x7c, 0xb4, 0x26, 0xa3, 0x0b, 0x30, 0x82, 0x35,
12996	0xdc, 0xc9, 0x99, 0x23, 0x9c, 0x87, 0x1b, 0x4a, 0xd3, 0xc1, 0x93, 0x20, 0x4a, 0xfb, 0x01, 0x55,
12997	0x18, 0x6e, 0x48, 0xfb, 0x4e, 0xc4, 0xae, 0x9a, 0xfe, 0xe3, 0x21, 0x9a, 0x7e, 0xff, 0x8f, 0xac,
12998	0xdf, 0x8f, 0x4d, 0xf7, 0x17, 0x92, 0xe6, 0xe1, 0x1c, 0x7e, 0x13, 0x86, 0xdd, 0x6e, 0x09, 0xcd,
12999	0x9b, 0x97, 0xcf, 0xa2, 0x4c, 0x89, 0xd9, 0x7d, 0xda, 0xe0, 0xe3, 0x48, 0x9f, 0x8d, 0x43, 0x82,
13000	0x4e, 0x7a, 0x9f, 0x84, 0x8c, 0xd2, 0x34, 0xe4, 0x1d, 0x59, 0x73, 0x4c, 0xb7, 0xe3, 0xa5, 0x3e,
13001	0x21, 0xcd, 0xc0, 0x14, 0xed, 0x2c, 0xa4, 0xb6, 0xeb, 0xaa, 0x64, 0x38, 0x26, 0xd6, 0x5c, 0xa9,
13002	0x4f, 0x00, 0x02, 0xa4, 0x28, 0xe7, 0x20, 0xad, 0x1b, 0x9a, 0xd2, 0xdc, 0x11, 0xdd, 0x17, 0x7b,
13003	0x53, 0x14, 0x6a, 0x15, 0xb7, 0xa5, 0xaa, 0x75, 0x59, 0x32, 0x67, 0xf7, 0xfd, 0xec, 0xa4, 0x7a,
13004	0x9a, 0x81, 0xad, 0xa9, 0xb8, 0x75, 0x09, 0x89, 0x21, 0x26, 0xba, 0xdd, 0x16, 0x29, 0xf5, 0x09,
13005	0xc3, 0x16, 0x11, 0x65, 0xf3, 0x12, 0x00, 0x86, 0x30, 0x0e, 0x03, 0xee, 0xe5, 0x6f, 0xe3, 0xa0,
13006	0x25, 0x13, 0xea, 0xb5, 0xed, 0x45, 0xe9, 0xa0, 0xd4, 0x27, 0x0c, 0x61, 0x5c, 0x4a, 0x38, 0x0f,
13007	0x40, 0xee, 0xa9, 0x50, 0x42, 0xba, 0x5c, 0x33, 0xea, 0x22, 0x5c, 0x94, 0x0c, 0x19, 0xd3, 0x60,
13008	0x34, 0x4a, 0x53, 0x80, 0xd1, 0x9a, 0x74, 0x20, 0xaa, 0xdb, 0xe2, 0x03, 0x59, 0xde, 0x63, 0xa4,
13009	0x49, 0x72, 0x88, 0x6e, 0xd2, 0x43, 0x7a, 0xb0, 0xb6, 0xfd, 0xa6, 0x2c, 0xef, 0xe1, 0x1a, 0xd7,
13010	0xcc, 0x04, 0x61, 0x62, 0x2d, 0x89, 0x7e, 0x07, 0x0c, 0x59, 0xf7, 0x3d, 0xd1, 0x6b, 0xe4, 0x5a,
13011	0x32, 0xbb, 0x35, 0xd3, 0x79, 0x93, 0x60, 0x91, 0x5d, 0x97, 0x29, 0xf5, 0x09, 0x49, 0xf3, 0xea,
13012	0xcc, 0xc2, 0x30, 0xa4, 0x5b, 0x92, 0xa6, 0xcb, 0x35, 0xfa, 0x36, 0x02, 0xff, 0x43, 0x31, 0x48,
13013	0x9a, 0x88, 0xe8, 0x49, 0x72, 0x6f, 0xdc, 0xd4, 0x29, 0x7f, 0x23, 0xc9, 0x55, 0x72, 0x19, 0xbd,
13014	0x08, 0x29, 0x47, 0xeb, 0xd8, 0x9b, 0x0f, 0x21, 0xed, 0xc2, 0x52, 0x61, 0x7f, 0xd1, 0x0c, 0xf4,
13015	0x93, 0x6a, 0xc7, 0x3b, 0x09, 0x5f, 0x20, 0x38, 0xa8, 0x08, 0xa4, 0x0b, 0xc4, 0xf7, 0xd4, 0xa6,
13016	0x79, 0xff, 0xfb, 0x62, 0x97, 0x76, 0x12, 0x1e, 0x9b, 0x6a, 0x53, 0x16, 0x92, 0x06, 0xfb, 0x97,
13017	0x7b, 0x16, 0x92, 0x26, 0x14, 0x3d, 0x09, 0xc3, 0xf4, 0xe2, 0x98, 0xd8, 0x50, 0x9a, 0x6d, 0xf3,
13018	0x38, 0x57, 0x42, 0xc8, 0x50, 0xe8, 0x0a, 0x05, 0xf2, 0xff, 0x2d, 0x06, 0x59, 0xef, 0x21, 0x66,
13019	0x54, 0x87, 0x13, 0xf6, 0x71, 0x2d, 0xc3, 0x75, 0x56, 0x56, 0x67, 0xe2, 0x9a, 0xed, 0xb2, 0x57,
13020	0xe3, 0x3e, 0x61, 0xab, 0x97, 0xfa, 0x84, 0x29, 0x25, 0x38, 0x0b, 0xc9, 0x30, 0xc9, 0xee, 0xac,
13021	0x79, 0x8b, 0xa2, 0x3d, 0x7e, 0xa9, 0xe3, 0xfd, 0x35, 0x7f, 0x41, 0x13, 0x5a, 0x50, 0x06, 0xba,
13022	0x0f, 0xa7, 0xdd, 0xfc, 0x45, 0x59, 0xd3, 0x54, 0x4d, 0xdc, 0x95, 0x9a, 0xb5, 0xba, 0xd2, 0xdc,
13023	0xe9, 0xf2, 0x16, 0x87, 0x9b, 0x5d, 0x11, 0x93, 0x96, 0x18, 0xa5, 0x70, 0xd2, 0x08, 0xcf, 0x5c,
13024	0xc8, 0xc2, 0xb0, 0x3b, 0x9b, 0xff, 0x5b, 0x31, 0x38, 0xd9, 0x81, 0x1d, 0xfa, 0x4e, 0x48, 0x19,
13025	0xbb, 0x9a, 0xfa, 0x80, 0x56, 0x90, 0x09, 0xfc, 0xd5, 0xde, 0xeb, 0x35, 0x5b, 0xc1, 0x5c, 0x28,
13026	0xa8, 0x4f, 0x00, 0xc3, 0x4a, 0xa1, 0x7d, 0x18, 0xab, 0xcb, 0xd2, 0x7d, 0x59, 0x6c, 0x37, 0xad,
13027	0xba, 0xc9, 0xe6, 0x56, 0x6e, 0xf1, 0x10, 0x25, 0x2d, 0x63, 0x6e, 0x1b, 0x4e, 0x66, 0xa5, 0x3e,
13028	0x01, 0xd5, 0x7d, 0xd0, 0x5c, 0x1a, 0xc0, 0xae, 0x55, 0x6e, 0x1c, 0x90, 0x9f, 0x12, 0x9b, 0x82,
13029	0x86, 0x5a, 0x93, 0xf9, 0x5f, 0x4b, 0xc2, 0xd4, 0xba, 0xa6, 0x34, 0xc8, 0x44, 0xc5, 0x5d, 0x3a,
13030	0x12, 0x60, 0x58, 0x93, 0x5b, 0x75, 0x09, 0x4f, 0x17, 0x9d, 0x07, 0x45, 0x9e, 0x0a, 0x55, 0x16,
13031	0x82, 0xcc, 0xfc, 0x0d, 0xdb, 0xd6, 0xcf, 0x30, 0x16, 0x4c, 0xed, 0x6f, 0x02, 0xbb, 0x60, 0xe3,
13032	0x3e, 0x06, 0x72, 0xae, 0xe3, 0x2d, 0x2c, 0x8b, 0x59, 0x5a, 0x73, 0xa4, 0xd1, 0x77, 0xc2, 0x44,
13033	0x75, 0x57, 0x22, 0xb7, 0x70, 0x34, 0xf2, 0x5e, 0x94, 0xfb, 0x9c, 0x47, 0xd8, 0xe9, 0xb3, 0x82,
13034	0x49, 0xb3, 0x22, 0xe9, 0x7b, 0x16, 0xeb, 0xb1, 0xaa, 0x1f, 0x8c, 0x0c, 0x38, 0x5d, 0xd5, 0x0e,
13035	0x5a, 0x86, 0x2a, 0x9a, 0x82, 0xd8, 0xde, 0xde, 0x17, 0xb7, 0x5b, 0xb2, 0xfb, 0xa8, 0x47, 0xe8,
13036	0xd3, 0x4c, 0x84, 0x96, 0x89, 0xe5, 0xfa, 0xf6, 0xfe, 0xf5, 0x96, 0x2d, 0x97, 0x13, 0xd5, 0xb0,
13037	0x4c, 0xd4, 0x82, 0x93, 0xdb, 0xca, 0xbe, 0x5c, 0xa3, 0x6b, 0x3f, 0xd4, 0x89, 0xd3, 0xb3, 0x8c,
13038	0x8e, 0x23, 0x1f, 0x73, 0xa1, 0xbb, 0x7f, 0xfb, 0x72, 0x0d, 0x07, 0x2e, 0x0b, 0x26, 0x9d, 0x55,
13039	0xe4, 0xf4, 0x76, 0x48, 0x1e, 0x2a, 0x43, 0xd6, 0x57, 0xcc, 0x40, 0xe7, 0x9b, 0x68, 0x3e, 0xee,
13040	0x23, 0x5b, 0x1e, 0xa6, 0x06, 0x9c, 0x36, 0xa5, 0xf6, 0x40, 0x31, 0x76, 0xed, 0x97, 0x57, 0xcc,
13041	0x12, 0x06, 0x3b, 0x0a, 0x8f, 0x49, 0xe6, 0x4d, 0xc5, 0xd8, 0x35, 0x0d, 0x9e, 0x2d, 0x3c, 0x2d,
13042	0x2c, 0x13, 0xdd, 0x86, 0x2c, 0x31, 0xf3, 0x2d, 0x49, 0xb3, 0x74, 0x2c, 0xd9, 0xf1, 0x96, 0x35,
13043	0x36, 0xe7, 0xeb, 0x92, 0x66, 0x6b, 0x19, 0x71, 0xf4, 0x36, 0x04, 0xbd, 0x09, 0x88, 0x69, 0xc1,
13044	0xae, 0xa4, 0xef, 0x9a, 0x4c, 0x87, 0x3a, 0x9e, 0x08, 0xa6, 0x5d, 0x5f, 0x92, 0xf4, 0x5d, 0xfb,
13045	0x5c, 0x4f, 0xd5, 0x03, 0x23, 0x37, 0xb0, 0xb0, 0xeb, 0xd5, 0x77, 0x95, 0x6d, 0xab, 0xb2, 0xa9,
13046	0x8e, 0x72, 0xc7, 0xae, 0xa9, 0x8c, 0xd1, 0x6d, 0xb9, 0xd7, 0xdc, 0x20, 0xa4, 0xc1, 0x49, 0x56,
13047	0xdd, 0x9a, 0x6c, 0xc8, 0x5a, 0x43, 0x69, 0x92, 0x8d, 0x52, 0x93, 0x7f, 0x3a, 0x82, 0xca, 0x2e,
13048	0x3a, 0x09, 0xbd, 0x2a, 0x1b, 0x90, 0x19, 0x60, 0x80, 0xbf, 0xc1, 0xc1, 0xb0, 0x5b, 0xb2, 0xe8,
13049	0x0e, 0x8c, 0x90, 0x5e, 0x31, 0x54, 0x91, 0xdd, 0x9e, 0x63, 0xaf, 0xd2, 0xcc, 0x46, 0xea, 0x19,
13050	0x2b, 0x29, 0x64, 0x30, 0x9b, 0x8a, 0x5a, 0xa4, 0x4c, 0xf8, 0xef, 0xe6, 0xa8, 0x4f, 0xc6, 0x79,
13051	0xe8, 0x04, 0x4c, 0x54, 0x96, 0x56, 0x8a, 0xe2, 0x7a, 0x5e, 0xa8, 0x78, 0x8e, 0xfd, 0x27, 0xa1,
13052	0xff, 0x6e, 0x31, 0x2f, 0x64, 0x39, 0x34, 0x04, 0x89, 0x95, 0xb5, 0xd5, 0x4a, 0x29, 0x1b, 0x43,
13053	0x59, 0x48, 0x2f, 0xe6, 0xef, 0x8a, 0x6b, 0xd7, 0x45, 0x0a, 0x89, 0xa3, 0x11, 0x48, 0x31, 0xc8,
13054	0x9b, 0xc5, 0xe2, 0xad, 0x6c, 0x3f, 0x46, 0xc1, 0xff, 0x30, 0x84, 0xd0, 0x27, 0x30, 0x4a, 0x69,
13055	0x6d, 0x43, 0xc0, 0x90, 0xc5, 0xfc, 0xdd, 0xec, 0x00, 0x5f, 0x86, 0xac, 0xb7, 0xc7, 0xd1, 0xeb,
13056	0x00, 0xac, 0x1f, 0xba, 0xdf, 0x13, 0xa7, 0xc4, 0xe4, 0x9e, 0x78, 0xd5, 0xfc, 0xcb, 0x7f, 0x9d,
13057	0x83, 0x13, 0xa1, 0xfd, 0x71, 0x64, 0xf6, 0xe4, 0x44, 0x4f, 0x5b, 0xd3, 0xd4, 0x1d, 0xc9, 0x70,
13058	0x3c, 0x59, 0x15, 0xf5, 0x8d, 0x94, 0x51, 0x8b, 0xd6, 0x04, 0xa1, 0x2b, 0x30, 0x48, 0x9e, 0x5b,
13059	0xd8, 0x37, 0x37, 0x9f, 0xbb, 0x5e, 0x6b, 0x67, 0xe8, 0xfc, 0x1a, 0x20, 0xbf, 0xf3, 0x40, 0x57,
13060	0x61, 0xa8, 0x29, 0x3f, 0xe8, 0x65, 0xa3, 0xae, 0x29, 0x3f, 0x20, 0xff, 0xf8, 0x93, 0x70, 0x22,
13061	0xd4, 0x7e, 0xf0, 0xc3, 0x90, 0x76, 0xfa, 0x15, 0xfe, 0x77, 0x63, 0x90, 0xc1, 0x4e, 0x41, 0xaf,
13062	0xa8, 0x4b, 0x3b, 0x4d, 0x55, 0x93, 0xd1, 0x2c, 0x20, 0xcb, 0x1d, 0xe8, 0x58, 0x5f, 0xf5, 0x3d,
13063	0x85, 0xde, 0xb3, 0x1e, 0x22, 0x03, 0xd9, 0xca, 0xab, 0xa8, 0xe5, 0x3d, 0xa5, 0x85, 0x0e, 0xe0,
13064	0x64, 0x55, 0x6d, 0x34, 0xd4, 0xa6, 0xe8, 0x26, 0x53, 0x08, 0x3b, 0x16, 0xcf, 0x5e, 0xe9, 0xe0,
13065	0x8f, 0xac, 0xa2, 0x67, 0x0b, 0x84, 0x8f, 0x0b, 0x86, 0x4d, 0x77, 0xd5, 0x02, 0x9b, 0x05, 0xd3,
13066	0x3c, 0xfe, 0x33, 0x1c, 0x8c, 0x05, 0xd0, 0xa0, 0xf3, 0xc0, 0x17, 0xd6, 0x56, 0x56, 0xd6, 0x56,
13067	0xc5, 0x42, 0x29, 0x2f, 0x94, 0xc5, 0xca, 0x9a, 0xb8, 0x74, 0x63, 0x75, 0x4d, 0xf0, 0xbe, 0xcd,
13068	0x94, 0x82, 0xc1, 0xd5, 0x8d, 0x95, 0xa2, 0xb0, 0x54, 0xc8, 0x72, 0x68, 0x1c, 0xb2, 0xf9, 0xe5,
13069	0xf5, 0x52, 0x5e, 0xdc, 0x58, 0x5f, 0x2f, 0x0a, 0x62, 0x21, 0x5f, 0x2e, 0x66, 0x63, 0x36, 0x74,
13070	0x79, 0xed, 0x4d, 0x13, 0x4a, 0x86, 0xc9, 0xfa, 0xc6, 0x6a, 0xa1, 0xb2, 0x91, 0xaf, 0x2c, 0xad,
13071	0xad, 0x66, 0xfb, 0xd1, 0x30, 0xc0, 0x9b, 0xa5, 0xa5, 0x4a, 0xb1, 0xbc, 0x9e, 0x2f, 0x14, 0xb3,
13072	0x89, 0x85, 0x34, 0x80, 0x2d, 0x0d, 0xfe, 0xf7, 0x70, 0x3d, 0x03, 0x5c, 0xec, 0xd3, 0x30, 0x8a,
13073	0x5d, 0x37, 0x71, 0x3c, 0x66, 0x36, 0x3b, 0xb2, 0x9e, 0x65, 0x19, 0x16, 0x19, 0x7a, 0x02, 0x86,
13074	0x9b, 0xed, 0xc6, 0x96, 0xac, 0x61, 0xe1, 0xe2, 0x5c, 0x76, 0xd1, 0x3d, 0x4d, 0xa1, 0x15, 0x15,
13075	0x33, 0xa6, 0xcf, 0x05, 0xdc, 0x97, 0x35, 0x5d, 0x16, 0x55, 0xad, 0x26, 0xd3, 0x6b, 0xc8, 0x49,
13076	0x1c, 0x3c, 0x10, 0xe0, 0x1a, 0x86, 0xa1, 0x3b, 0x30, 0x1e, 0xd8, 0x57, 0xfd, 0x1d, 0xef, 0x4c,
13077	0xb8, 0x64, 0x2c, 0xa0, 0xaa, 0xbf, 0x3f, 0xbe, 0xc4, 0xc1, 0x74, 0x98, 0x0f, 0x46, 0x0b, 0x90,
13078	0xf2, 0x2e, 0x3d, 0x77, 0xd1, 0x69, 0x7a, 0x94, 0x06, 0xea, 0xf6, 0x32, 0xf4, 0x02, 0xa4, 0xbc,
13079	0x8b, 0xcd, 0xd1, 0x78, 0xb4, 0xed, 0x85, 0xe7, 0x27, 0xfc, 0x0b, 0xcf, 0x1c, 0xc3, 0xb2, 0x57,
13080	0x3e, 0xf8, 0x4f, 0xc5, 0x60, 0xc4, 0xdb, 0x82, 0x1b, 0x30, 0x68, 0xee, 0xa3, 0xd0, 0xf5, 0xa1,
13081	0xcb, 0xd1, 0x02, 0x04, 0x96, 0x16, 0x4c, 0xea, 0xdc, 0x3f, 0xe4, 0x60, 0x80, 0x2d, 0xea, 0xcc,
13082	0x42, 0xbc, 0xa1, 0x34, 0x23, 0x8d, 0x70, 0x8c, 0x48, 0xf0, 0xa5, 0xfd, 0x48, 0xfb, 0xef, 0x18,
13083	0x11, 0x2d, 0xc1, 0x28, 0x8b, 0x17, 0xc8, 0xcb, 0x26, 0xf6, 0x02, 0x42, 0x37, 0xea, 0xac, 0x83,
13084	0x8c, 0xda, 0x95, 0x5f, 0xec, 0x37, 0x4d, 0x72, 0x50, 0xe0, 0xb6, 0x78, 0x18, 0x93, 0x4c, 0xe5,
13085	0xee, 0xb0, 0xcb, 0x0e, 0x33, 0x1a, 0xeb, 0xc9, 0x8c, 0x22, 0x1d, 0x46, 0x98, 0x19, 0x92, 0xea,
13086	0xad, 0x5d, 0x69, 0x4b, 0x36, 0xd8, 0x33, 0x9a, 0xa5, 0x5e, 0x03, 0xd4, 0xd9, 0xeb, 0xdb, 0xfb,
13087	0xd4, 0xaa, 0xac, 0x92, 0x43, 0x69, 0x79, 0xc6, 0x0f, 0x47, 0x47, 0xb4, 0x08, 0x13, 0x82, 0x9e,
13088	0x02, 0xf6, 0x12, 0xa1, 0x5d, 0x68, 0x82, 0x19, 0xca, 0x61, 0x9a, 0x61, 0xa1, 0x4e, 0x42, 0x42,
13089	0x93, 0x6a, 0xca, 0x3e, 0x89, 0x2d, 0x13, 0xe4, 0x55, 0x51, 0x9c, 0x0c, 0xf3, 0x44, 0xc9, 0xc3,
13090	0x7a, 0x22, 0xfe, 0x47, 0x38, 0x98, 0x0a, 0x69, 0x01, 0x9a, 0x81, 0xf3, 0xd7, 0xaf, 0xbf, 0x25,
13091	0x32, 0xe3, 0xb8, 0x9a, 0xaf, 0x2c, 0xdd, 0x29, 0x8a, 0xc4, 0xbe, 0x2d, 0x14, 0x2b, 0x9d, 0x8c,
13092	0x23, 0x76, 0xfa, 0xc5, 0xb7, 0xf2, 0x8b, 0xc5, 0xc2, 0xd2, 0x4a, 0x7e, 0x39, 0x1b, 0x43, 0xa7,
13093	0x60, 0xda, 0xb6, 0x93, 0x94, 0x85, 0x68, 0xa2, 0xc7, 0xd1, 0x28, 0x64, 0xdc, 0xa0, 0xfe, 0x05,
13094	0x80, 0xa4, 0x29, 0x23, 0xfe, 0x63, 0x0e, 0x86, 0x2c, 0x1d, 0x40, 0x4b, 0x30, 0x44, 0xe2, 0x27,
13095	0xc5, 0xbc, 0xf4, 0x1a, 0x3e, 0xcb, 0xaa, 0x98, 0x78, 0x16, 0x35, 0x59, 0x5d, 0x32, 0xa1, 0x98,
13096	0x55, 0xbb, 0xf9, 0x40, 0x93, 0x5a, 0x2d, 0x6b, 0xb6, 0x19, 0xc6, 0x6a, 0xc3, 0xc4, 0x73, 0xb1,
13097	0xb2, 0xa8, 0xd1, 0x0a, 0xa4, 0xf6, 0x1a, 0xba, 0x68, 0x32, 0xeb, 0x3c, 0xad, 0xba, 0xd5, 0xd0,
13098	0xdf, 0xf4, 0x73, 0x83, 0x3d, 0x0b, 0xbc, 0x90, 0x84, 0x01, 0x7a, 0xfc, 0x8d, 0xbf, 0x0c, 0xc8,
13099	0xdf, 0x0c, 0x34, 0xe5, 0xbc, 0x79, 0x45, 0x87, 0x05, 0x01, 0xf0, 0x4f, 0x03, 0xf2, 0x57, 0x15,
13100	0x4d, 0xd8, 0xef, 0x67, 0xa5, 0x29, 0x36, 0x4e, 0xf3, 0xbb, 0x30, 0x16, 0x50, 0x15, 0x6c, 0xf2,
13101	0x18, 0x07, 0xd1, 0x43, 0x05, 0x0c, 0x8e, 0xb1, 0x9e, 0x86, 0x11, 0x7b, 0x04, 0x3b, 0xee, 0x7a,
13102	0x51, 0xcc, 0x8c, 0x35, 0x48, 0x57, 0x71, 0xb5, 0xbe, 0xc5, 0xc1, 0x88, 0x27, 0x1e, 0x47, 0x97,
13103	0x21, 0xeb, 0xb0, 0xce, 0x62, 0x4d, 0x3a, 0x60, 0x8b, 0x42, 0x94, 0xc3, 0xb0, 0x6d, 0x84, 0x17,
13104	0xa5, 0x03, 0x1d, 0xa3, 0x3b, 0x1c, 0x02, 0x45, 0x8f, 0x39, 0xd0, 0x6d, 0xbb, 0x4f, 0xd0, 0x0f,
13105	0x1d, 0x61, 0xa1, 0xbc, 0xcb, 0x34, 0xf5, 0x47, 0x33, 0x4d, 0xe4, 0xb0, 0xaf, 0x65, 0xa7, 0x92,
13106	0x30, 0xd0, 0x90, 0x8d, 0x5d, 0xb5, 0xc6, 0x3f, 0x8c, 0xc1, 0x54, 0xc8, 0x22, 0x14, 0x32, 0x60,
13107	0xc4, 0xbf, 0x9a, 0xd5, 0xe9, 0x0c, 0x77, 0x08, 0xa3, 0x10, 0x38, 0x95, 0x8b, 0xb7, 0x88, 0xdc,
13108	0x97, 0x38, 0x98, 0x0c, 0x26, 0x38, 0xf2, 0x93, 0xb4, 0x4d, 0x98, 0x6e, 0x99, 0x0b, 0x24, 0x9e,
13109	0xd5, 0x33, 0x36, 0xbc, 0x66, 0xc3, 0x8f, 0x87, 0x06, 0xad, 0xab, 0xd0, 0x26, 0x4c, 0xb5, 0x82,
13110	0x73, 0xf9, 0x3f, 0x1f, 0x87, 0x31, 0xd2, 0x7d, 0x9e, 0x76, 0xbc, 0x0c, 0x03, 0xe4, 0x40, 0x6f,
13111	0xc4, 0xa3, 0xfb, 0xb4, 0x14, 0x46, 0x82, 0x16, 0xc9, 0xab, 0x67, 0x35, 0xc5, 0xf1, 0x64, 0xd4,
13112	0xf9, 0x8e, 0x4b, 0x7e, 0x05, 0x13, 0x5b, 0xb0, 0x09, 0xd1, 0x5e, 0x07, 0x51, 0xf4, 0x1f, 0x46,
13113	0x14, 0xa5, 0xbe, 0x50, 0x39, 0x74, 0x5e, 0x20, 0x4d, 0x1c, 0xf3, 0x02, 0x69, 0xc0, 0x04, 0xf6,
13114	0x43, 0x0e, 0x26, 0x02, 0x97, 0x3f, 0x91, 0x08, 0x13, 0xf4, 0xfd, 0xae, 0x60, 0x45, 0x9f, 0xe9,
13115	0xd4, 0x31, 0x6e, 0x5e, 0xc2, 0xf8, 0xb6, 0x1f, 0xa8, 0xa3, 0xbb, 0x30, 0xc6, 0x56, 0x6b, 0xf5,
13116	0x76, 0xab, 0xa5, 0xc9, 0xba, 0xce, 0x96, 0x6a, 0x3b, 0xbd, 0xc2, 0x4b, 0xeb, 0x5a, 0xb6, 0x09,
13117	0x04, 0xa4, 0x79, 0x41, 0x3a, 0x7f, 0x17, 0x46, 0x7d, 0x88, 0x6e, 0xed, 0xe0, 0x0e, 0xa9, 0x1d,
13118	0xfc, 0xe7, 0x13, 0x30, 0xe2, 0xc9, 0x46, 0x15, 0x48, 0xc9, 0xfb, 0x76, 0x0b, 0x3a, 0x2f, 0xff,
13119	0x7a, 0x88, 0x67, 0x8b, 0x36, 0xa5, 0xe0, 0x64, 0x93, 0xfb, 0x22, 0x7d, 0x8a, 0x8c, 0x95, 0x71,
13120	0x84, 0x0b, 0x12, 0x37, 0x21, 0xa9, 0xb6, 0x64, 0x4d, 0x32, 0xd8, 0x5b, 0x45, 0xc3, 0x1d, 0xd6,
13121	0x36, 0xeb, 0xa4, 0x73, 0xa4, 0xfa, 0x1a, 0x23, 0x60, 0x87, 0xdc, 0x4d, 0x7a, 0x7b, 0xff, 0xac,
13122	0x3f, 0xf2, 0xfe, 0x59, 0xee, 0x1d, 0x00, 0xab, 0x1d, 0x3a, 0x5a, 0x07, 0xb0, 0xa4, 0x69, 0x2a,
13123	0xd3, 0x33, 0x11, 0x65, 0x65, 0xf7, 0x88, 0x83, 0x47, 0xee, 0x33, 0x31, 0x48, 0x39, 0xa4, 0x88,
13124	0x1a, 0xd8, 0xdd, 0xec, 0x90, 0x63, 0xda, 0x56, 0xbb, 0xe9, 0x12, 0xcc, 0x42, 0xef, 0x7d, 0x32,
13125	0xbb, 0x4c, 0x59, 0x99, 0x02, 0x11, 0x46, 0xea, 0x6e, 0x00, 0x2a, 0xbb, 0x1a, 0x44, 0x3b, 0xff,
13126	0xd9, 0x5e, 0x1b, 0x84, 0x87, 0xad, 0x83, 0x0d, 0xff, 0x0a, 0x8c, 0x78, 0x0a, 0x46, 0x8f, 0xc3,
13127	0xa9, 0xe5, 0xb5, 0x1b, 0x4b, 0x85, 0xfc, 0xb2, 0xb8, 0xb6, 0x5e, 0x14, 0xf2, 0x95, 0x35, 0xc1,
13128	0x13, 0xc8, 0x0d, 0x42, 0x3c, 0xbf, 0xba, 0x98, 0xe5, 0xac, 0x2d, 0xb0, 0xbf, 0xc7, 0xc1, 0x64,
13129	0xf0, 0x0b, 0x25, 0x78, 0x46, 0xea, 0x58, 0x29, 0x77, 0x5d, 0xbc, 0xcf, 0x3a, 0x97, 0xd0, 0xc9,
13130	0xad, 0xfb, 0x1d, 0x98, 0xf6, 0xec, 0x78, 0xe8, 0xed, 0x46, 0x43, 0xd2, 0x14, 0xeb, 0x06, 0xc3,
13131	0xa5, 0x48, 0x4b, 0xfd, 0x65, 0x42, 0x75, 0x20, 0x4c, 0x19, 0x01, 0x60, 0x45, 0xd6, 0xf9, 0xcf,
13132	0x0c, 0xc0, 0x44, 0x20, 0xc9, 0x11, 0x5f, 0x94, 0xb0, 0x2e, 0x95, 0xc4, 0x7a, 0xb9, 0x54, 0x72,
13133	0xc7, 0x6b, 0x2e, 0x59, 0xef, 0xf6, 0x68, 0xff, 0x05, 0x0f, 0x97, 0x70, 0xd3, 0x9a, 0x38, 0x26,
13134	0xd3, 0x7a, 0xdb, 0x7a, 0x83, 0xd3, 0x34, 0xad, 0x6c, 0xa1, 0x3b, 0xba, 0x59, 0x1d, 0x76, 0x9b,
13135	0x55, 0x54, 0x81, 0x41, 0xba, 0xa9, 0x6e, 0x9e, 0xce, 0xba, 0xd6, 0x4b, 0x8f, 0xcf, 0x9a, 0x3d,
13136	0x4f, 0x9f, 0xbd, 0x30, 0x59, 0x05, 0x6b, 0xe1, 0x60, 0xb0, 0x16, 0xe6, 0x7e, 0x8c, 0x83, 0x8c,
13137	0x8b, 0x8f, 0xbd, 0x33, 0xcf, 0x39, 0x76, 0xe6, 0xd1, 0x5d, 0xe8, 0xb7, 0x6e, 0xe0, 0x0c, 0x47,
13138	0xdc, 0x84, 0x32, 0xeb, 0xe9, 0x11, 0x2f, 0x29, 0xa6, 0xa0, 0xd6, 0x64, 0x81, 0xb0, 0x44, 0xd3,
13139	0x30, 0x58, 0xa3, 0x87, 0x1c, 0xd8, 0xab, 0x01, 0x66, 0x92, 0x7f, 0x07, 0xa6, 0xc3, 0x68, 0xf1,
13140	0x64, 0xac, 0x22, 0xe4, 0x57, 0xcb, 0xd7, 0xd7, 0x84, 0x15, 0xb2, 0x8e, 0x24, 0x0a, 0xc5, 0xf2,
13141	0xc6, 0x72, 0x45, 0x2c, 0xac, 0x2d, 0x06, 0xac, 0x54, 0x95, 0x37, 0x0a, 0x85, 0x62, 0xb9, 0x4c,
13142	0x57, 0x70, 0x8b, 0x82, 0xb0, 0x26, 0x64, 0x63, 0xbc, 0x0a, 0xc9, 0x72, 0x75, 0x57, 0xae, 0xb5,
13143	0xeb, 0x32, 0xba, 0x0b, 0x39, 0x4d, 0xae, 0xb6, 0x35, 0x8d, 0x9c, 0xda, 0x69, 0xc9, 0x9a, 0xa2,
13144	0xd6, 0x44, 0xf3, 0x6b, 0x24, 0x6c, 0x70, 0x9c, 0xf0, 0xed, 0xf2, 0x2f, 0x32, 0x84, 0x52, 0x9f,
13145	0x30, 0x6d, 0x93, 0xaf, 0x13, 0x6a, 0x33, 0x0f, 0x87, 0xbf, 0xf4, 0xf5, 0x14, 0x3e, 0x09, 0x03,
13146	0x2b, 0x52, 0xb3, 0x2d, 0xd5, 0xf9, 0x1f, 0x48, 0xc0, 0x88, 0xf7, 0xdd, 0x10, 0xdf, 0x2c, 0x26,
13147	0x1e, 0xfd, 0x11, 0x09, 0xcf, 0xab, 0x0f, 0x71, 0xdf, 0xab, 0x0f, 0xe8, 0x0d, 0xf7, 0x83, 0xd0,
13148	0xfd, 0xdd, 0xce, 0x2d, 0xd0, 0x0a, 0x38, 0x5f, 0x85, 0x7e, 0xc3, 0xfd, 0x4e, 0x66, 0x22, 0x22,
13149	0x07, 0xc7, 0x63, 0x99, 0xfe, 0x47, 0x95, 0x06, 0x0e, 0xfd, 0xa8, 0xd2, 0xb5, 0x2f, 0xc6, 0x3e,
13150	0xca, 0xff, 0x8b, 0x18, 0xf0, 0xe1, 0x6f, 0x1b, 0x5b, 0x92, 0x7d, 0x43, 0xd5, 0x76, 0xa4, 0xa6,
13151	0xf2, 0x9e, 0xf9, 0x9a, 0xb1, 0x33, 0xf9, 0xc1, 0x9c, 0xe7, 0x15, 0x25, 0x7d, 0xee, 0x7d, 0xef,
13152	0xcb, 0x30, 0x1f, 0xa0, 0x17, 0x03, 0x9e, 0x47, 0x8e, 0x42, 0xb7, 0xd1, 0xb1, 0xe4, 0xc0, 0x07,
13153	0x96, 0xa3, 0xb0, 0xbd, 0x15, 0xf5, 0xb5, 0xe6, 0x08, 0xcc, 0xf8, 0x9f, 0x4a, 0x00, 0x5a, 0xf4,
13154	0xbd, 0x15, 0xf6, 0xff, 0x81, 0x3a, 0x06, 0xbe, 0x63, 0x38, 0x70, 0xc4, 0x77, 0x0c, 0xaf, 0xfd,
13155	0x87, 0xd8, 0x47, 0xf9, 0xaf, 0xc6, 0xe0, 0xc9, 0xa0, 0x77, 0xbd, 0xfd, 0x52, 0xbe, 0xde, 0x51,
13156	0x41, 0xfc, 0xef, 0x06, 0xea, 0x73, 0xef, 0x07, 0x3c, 0x36, 0xf8, 0x01, 0x7a, 0x25, 0x40, 0x23,
13157	0xa2, 0x53, 0x7f, 0x47, 0xef, 0x6a, 0x1a, 0x9d, 0xf9, 0xed, 0xa8, 0xca, 0x1a, 0x99, 0x25, 0xff,
13158	0x2e, 0x24, 0xe8, 0x59, 0x89, 0x4b, 0xb6, 0xf3, 0xa0, 0x36, 0x1a, 0x99, 0x1d, 0xa7, 0xb5, 0xaa,
13159	0xe4, 0xae, 0x67, 0x5b, 0xb7, 0x1c, 0x0a, 0xba, 0x46, 0x0f, 0x5e, 0x11, 0x75, 0x30, 0x67, 0x45,
13160	0x1d, 0x1f, 0xfa, 0xb5, 0xb1, 0xf9, 0x9f, 0x1d, 0x04, 0xb0, 0x9f, 0x98, 0x3f, 0xec, 0x63, 0x3f,
13161	0xdd, 0x07, 0xc6, 0x4d, 0x48, 0x99, 0x43, 0xf4, 0x9e, 0xba, 0xc5, 0x06, 0x46, 0xd4, 0xe7, 0xa3,
13162	0x70, 0xc4, 0xab, 0x58, 0x30, 0x54, 0x84, 0x24, 0x7b, 0x09, 0xdf, 0x8c, 0x83, 0xc2, 0x66, 0x29,
13163	0x76, 0xcb, 0x66, 0xcd, 0x47, 0xf4, 0x2d, 0x52, 0x74, 0x15, 0x06, 0xc8, 0x61, 0x17, 0xf3, 0x00,
13164	0x63, 0xd8, 0x0c, 0x85, 0x74, 0x09, 0x1d, 0x66, 0x8c, 0xc0, 0x3b, 0xcc, 0x07, 0x8f, 0x3c, 0xcc,
13165	0x93, 0xbd, 0x0f, 0xf3, 0x02, 0x64, 0xea, 0x92, 0x6e, 0x88, 0x5a, 0xbb, 0x49, 0x79, 0x0c, 0x45,
13166	0xe3, 0x91, 0xc2, 0x54, 0x42, 0xbb, 0x59, 0xa1, 0x87, 0xc0, 0x06, 0xe8, 0x07, 0xc2, 0xa6, 0x81,
13167	0x84, 0x40, 0x17, 0xbb, 0x0b, 0x92, 0x6a, 0x1f, 0x5b, 0x4e, 0xa1, 0xc4, 0xb9, 0x1f, 0xe4, 0x60,
13168	0xd0, 0x54, 0xa1, 0x57, 0x21, 0xa9, 0xb3, 0xf0, 0xa3, 0x4b, 0xf4, 0x6d, 0x46, 0x29, 0xa5, 0x3e,
13169	0xc1, 0x22, 0x41, 0x2f, 0xc1, 0x40, 0x83, 0x04, 0x13, 0x2c, 0x00, 0x3f, 0x1d, 0xfa, 0xc5, 0x2b,
13170	0x8c, 0x54, 0xea, 0x13, 0x18, 0xfa, 0xc2, 0x10, 0x0c, 0xb2, 0xae, 0xe5, 0x4b, 0x30, 0x40, 0x6b,
13171	0x89, 0x26, 0x01, 0x95, 0x2b, 0xf9, 0xca, 0x46, 0xd9, 0x1f, 0x3b, 0x95, 0x8a, 0xf9, 0xe5, 0x4a,
13172	0xe9, 0x6e, 0x96, 0x43, 0x00, 0x03, 0xeb, 0xf9, 0x8d, 0x72, 0x71, 0x91, 0x7e, 0x70, 0xa5, 0x90,
13173	0x5f, 0x2d, 0x14, 0x97, 0x97, 0x8b, 0x8b, 0xd9, 0xf8, 0xb5, 0x1f, 0xe1, 0x3e, 0xca, 0x7f, 0x8a,
13174	0xeb, 0xf2, 0x61, 0x06, 0x74, 0x29, 0xc0, 0x14, 0xdc, 0xb3, 0xb2, 0xf5, 0xb9, 0xf7, 0xef, 0xa9,
13175	0x5b, 0x22, 0xab, 0xdc, 0x07, 0x28, 0x1f, 0xd5, 0x70, 0x84, 0xb2, 0x58, 0x48, 0x40, 0xfc, 0x9e,
13176	0xba, 0xc5, 0x7f, 0x62, 0x10, 0x06, 0xe8, 0x1b, 0x4a, 0xe8, 0x36, 0x64, 0x74, 0xe9, 0xbe, 0xe3,
13177	0x71, 0x65, 0xae, 0xe3, 0xe2, 0x34, 0xa5, 0x9a, 0x2d, 0x4b, 0xf7, 0xad, 0x77, 0x97, 0x4b, 0x7d,
13178	0x42, 0x5a, 0x77, 0xa4, 0x51, 0x09, 0x06, 0x5b, 0xed, 0x2d, 0x51, 0x6f, 0x6f, 0x75, 0x79, 0xd9,
13179	0x92, 0x31, 0x5b, 0x6f, 0x6f, 0xd5, 0x15, 0x7d, 0xb7, 0xa2, 0xae, 0xb7, 0xb7, 0xca, 0xed, 0x2d,
13180	0xdc, 0x35, 0x2d, 0xf2, 0x0f, 0xed, 0xc1, 0x54, 0x8b, 0x66, 0xb2, 0xd9, 0xe0, 0x81, 0x68, 0xa8,
13181	0x62, 0x55, 0xaf, 0x56, 0xbb, 0xac, 0x80, 0xb8, 0x39, 0xb3, 0xc8, 0xbb, 0xa2, 0x16, 0xf4, 0x6a,
13182	0xb5, 0xd4, 0x27, 0x8c, 0xb7, 0x02, 0xe0, 0xe8, 0x47, 0x38, 0x38, 0x6f, 0x96, 0x66, 0x7f, 0x4e,
13183	0x45, 0x15, 0xc9, 0x73, 0x99, 0x22, 0xf9, 0xe2, 0x4c, 0x55, 0x32, 0xa4, 0xba, 0x6a, 0x9e, 0x1c,
13184	0x7a, 0x3d, 0x52, 0xe1, 0xa6, 0x58, 0x2a, 0x6a, 0x01, 0x33, 0x5a, 0x94, 0x0c, 0xa9, 0x40, 0xd9,
13185	0x94, 0xfa, 0x84, 0xb3, 0xad, 0x6e, 0x48, 0xa8, 0x01, 0x53, 0xe4, 0x3b, 0x19, 0xaa, 0xa1, 0x6c,
13186	0x2b, 0xec, 0x45, 0x31, 0xb9, 0x41, 0x4c, 0x3c, 0x1d, 0xfc, 0xcf, 0x75, 0xae, 0xc6, 0x4d, 0x75,
13187	0x6b, 0xd5, 0x41, 0x5b, 0x24, 0xa4, 0xa5, 0x3e, 0x61, 0xe2, 0x5e, 0x50, 0x06, 0xba, 0x07, 0x93,
13188	0xa6, 0x10, 0x0c, 0x55, 0xd4, 0x0d, 0xa9, 0xba, 0x57, 0xd3, 0x94, 0xfb, 0xb2, 0xc6, 0xcc, 0xc4,
13189	0x7c, 0xc4, 0xbe, 0x2c, 0xdb, 0x94, 0x0e, 0x89, 0xbb, 0xe0, 0x39, 0x11, 0xd2, 0x4e, 0x45, 0x42,
13190	0x6b, 0xd6, 0xe3, 0x96, 0xae, 0x63, 0x72, 0x33, 0xd1, 0x1f, 0xb7, 0x34, 0xdf, 0xb3, 0x64, 0x6f,
13191	0xdd, 0x5c, 0x80, 0x11, 0x8f, 0x72, 0xe1, 0xf9, 0x9c, 0xa1, 0xb6, 0xd8, 0x8b, 0x04, 0x43, 0x02,
13192	0x4d, 0xe4, 0x26, 0x61, 0x3c, 0x48, 0x57, 0x72, 0xe7, 0xe0, 0x6c, 0xd7, 0x6e, 0xcc, 0x4d, 0xc1,
13193	0x44, 0xa0, 0x90, 0x1d, 0x5c, 0x5d, 0xed, 0xc6, 0x33, 0x20, 0xfa, 0x72, 0x19, 0xff, 0xbf, 0x39,
13194	0x38, 0x45, 0xbf, 0x89, 0xe2, 0x7d, 0x4e, 0x91, 0x3d, 0x42, 0xb7, 0xe0, 0x79, 0xc1, 0x75, 0x86,
13195	0xbc, 0x19, 0xfc, 0x04, 0x8a, 0x10, 0xe6, 0x5b, 0x6f, 0xb7, 0xde, 0x81, 0xac, 0xef, 0x6d, 0xc7,
13196	0x58, 0x2f, 0x6f, 0x3b, 0xb2, 0xbd, 0x02, 0x4f, 0xf0, 0x8c, 0xce, 0x40, 0xca, 0x7a, 0x86, 0xd5,
13197	0x7e, 0xe3, 0xce, 0x04, 0x2d, 0xd5, 0xbc, 0x8f, 0xe0, 0xf5, 0xfb, 0x1e, 0xc1, 0xfb, 0xcf, 0x1c,
13198	0x9c, 0xda, 0x20, 0x9e, 0x29, 0xa4, 0xf9, 0xaf, 0xb9, 0x82, 0x6e, 0xd6, 0xf8, 0x28, 0x73, 0x1c,
13199	0x16, 0x82, 0xdc, 0x3e, 0x6a, 0xd3, 0xfd, 0xad, 0xb6, 0x3f, 0x8f, 0x40, 0xce, 0x4d, 0xc4, 0x43,
13200	0x9c, 0x27, 0x59, 0x49, 0x59, 0x91, 0xf4, 0x3d, 0xd3, 0xf7, 0xe2, 0xff, 0xfc, 0x77, 0xc0, 0x89,
13201	0x1b, 0xb2, 0xf1, 0x68, 0x1a, 0xcb, 0xff, 0x26, 0x07, 0x27, 0xe9, 0x9b, 0x82, 0xee, 0x49, 0xce,
13202	0x71, 0xea, 0xd2, 0x69, 0x80, 0x96, 0xb4, 0x23, 0x8b, 0x86, 0xba, 0xc7, 0x1e, 0x8d, 0x1f, 0x12,
13203	0x86, 0x30, 0xa4, 0x82, 0x01, 0xe8, 0x24, 0x90, 0x84, 0x7d, 0x1a, 0x22, 0x21, 0x24, 0x31, 0x80,
13204	0x5c, 0x00, 0x39, 0x01, 0x49, 0x72, 0x8c, 0x44, 0xdc, 0x3a, 0x60, 0xba, 0x30, 0x48, 0xd2, 0x0b,
13205	0x07, 0xdd, 0x5f, 0xe9, 0xfd, 0x71, 0x0e, 0x4e, 0x05, 0xb7, 0x8d, 0x3d, 0x9b, 0x58, 0x86, 0x51,
13206	0x6f, 0x4f, 0x9b, 0x4b, 0xbf, 0x51, 0xbb, 0x3a, 0xeb, 0x9d, 0x1d, 0xa2, 0xf3, 0x30, 0xd2, 0x94,
13207	0xf7, 0x0d, 0xd1, 0xd7, 0xe4, 0x0c, 0x06, 0xaf, 0x9b, 0xcd, 0xe6, 0xdf, 0x81, 0x53, 0x8b, 0x72,
13208	0x5d, 0x7e, 0x54, 0x6a, 0xcc, 0xff, 0x17, 0x0e, 0xa6, 0xa8, 0x99, 0x70, 0x7c, 0xd5, 0xe9, 0x51,
13209	0xbc, 0x2a, 0x7e, 0x03, 0x52, 0x8e, 0x78, 0x81, 0x0d, 0x95, 0xb3, 0x5d, 0x63, 0x3b, 0xb6, 0xff,
13210	0x6b, 0xc7, 0x1d, 0x58, 0x4f, 0xcc, 0x8f, 0x55, 0x59, 0xa6, 0x61, 0x88, 0x41, 0xa2, 0x58, 0x86,
13211	0x3b, 0x70, 0x02, 0x7b, 0x94, 0xfb, 0x81, 0x4d, 0xbe, 0xea, 0x12, 0xe7, 0x93, 0xa4, 0xc1, 0x5d,
13212	0x3f, 0x82, 0x45, 0x25, 0xf9, 0xef, 0x38, 0x98, 0xa2, 0x16, 0xe7, 0x38, 0xd9, 0xa2, 0x85, 0xc3,
13213	0xc9, 0xcd, 0x25, 0xb2, 0x23, 0x19, 0x96, 0xdb, 0x30, 0x7e, 0x43, 0x36, 0x8e, 0x55, 0x54, 0x3f,
13214	0x13, 0x83, 0x31, 0xaa, 0x74, 0xec, 0xfb, 0x5b, 0x8f, 0x42, 0xe1, 0x3c, 0xd3, 0xbb, 0xd8, 0x51,
13215	0xa6, 0x77, 0x4b, 0x90, 0xd4, 0x14, 0x7d, 0x8f, 0x30, 0x8a, 0x77, 0xbe, 0x8d, 0x11, 0xf4, 0x28,
13216	0x6a, 0xa9, 0x4f, 0x18, 0xc4, 0xf4, 0x98, 0xd5, 0x04, 0x0c, 0xe0, 0xfe, 0xb4, 0x54, 0x33, 0x71,
13217	0x4f, 0xdd, 0xf2, 0xab, 0xad, 0xcf, 0x4c, 0x99, 0xf1, 0xf5, 0xff, 0xe0, 0x60, 0x12, 0x5b, 0x2b,
13218	0x5b, 0xa6, 0xfa, 0x23, 0x91, 0xde, 0x23, 0xb2, 0xc6, 0xf6, 0xa3, 0xb6, 0x89, 0x4e, 0x8f, 0xda,
13219	0xfa, 0x9f, 0xca, 0xff, 0x3e, 0x0e, 0xa6, 0x7c, 0xed, 0x66, 0x06, 0x7a, 0x11, 0xd2, 0x8e, 0x21,
13220	0x62, 0xda, 0xe6, 0x08, 0x63, 0x24, 0xe5, 0x98, 0xce, 0x44, 0xb6, 0xc8, 0x15, 0x98, 0xa2, 0x16,
13221	0xf9, 0x58, 0x87, 0xc4, 0x5f, 0x8d, 0x41, 0xd6, 0xab, 0x84, 0xe8, 0x16, 0x0c, 0xb3, 0xaf, 0x78,
13222	0xbb, 0xc3, 0xd6, 0x27, 0x42, 0x5f, 0xdc, 0x72, 0x06, 0xac, 0x19, 0xdd, 0xf5, 0x3a, 0xfc, 0xb1,
13223	0xbe, 0xb3, 0x1f, 0xfa, 0x5e, 0x7e, 0x3c, 0xfc, 0xbd, 0x7c, 0xc7, 0x1b, 0xbc, 0xfd, 0x3d, 0xbd,
13224	0xc1, 0xfb, 0xe1, 0x00, 0x0c, 0x50, 0x43, 0x11, 0xb8, 0x18, 0xf4, 0x02, 0xfb, 0xce, 0x55, 0xe7,
13225	0xcf, 0x10, 0x53, 0x06, 0x8e, 0xef, 0xa5, 0xbe, 0x42, 0x3e, 0x16, 0x65, 0xc8, 0x6c, 0x57, 0xf9,
13226	0x7c, 0x47, 0x3a, 0xac, 0x35, 0x78, 0xfe, 0x2e, 0x0b, 0x94, 0x08, 0xbd, 0x05, 0x69, 0x62, 0x11,
13227	0xcc, 0x35, 0xb1, 0xfe, 0xce, 0x13, 0xa6, 0x0e, 0x17, 0x4e, 0x4b, 0x7d, 0x42, 0x4a, 0x73, 0xbc,
13228	0x75, 0xb6, 0x09, 0x66, 0x60, 0x68, 0x31, 0xef, 0x7c, 0x9d, 0x24, 0xec, 0x99, 0xf6, 0x52, 0x9f,
13229	0x60, 0xf6, 0xb8, 0xc9, 0xfb, 0x48, 0xdf, 0xaa, 0xbc, 0x0a, 0x40, 0x3e, 0xa8, 0x15, 0x71, 0x81,
13230	0x49, 0x18, 0x22, 0xd8, 0x84, 0xf4, 0x05, 0x48, 0xca, 0xcd, 0x5a, 0xc4, 0x75, 0x25, 0x61, 0x50,
13231	0x6e, 0xd6, 0x08, 0xd9, 0x45, 0xc8, 0x3a, 0x06, 0x36, 0x55, 0x30, 0x20, 0x3d, 0x3f, 0x6c, 0x8f,
13232	0x5c, 0xa2, 0x5b, 0xcf, 0x5b, 0x0b, 0x67, 0xa9, 0xee, 0x0b, 0x67, 0xe6, 0x9a, 0x19, 0xaf, 0x42,
13233	0xd2, 0xec, 0x57, 0x74, 0x02, 0x26, 0x6e, 0xae, 0x2d, 0x88, 0xe5, 0x4a, 0xbe, 0x12, 0xb0, 0xab,
13234	0xb5, 0x5e, 0x5c, 0x5d, 0x5c, 0x5a, 0xbd, 0x91, 0xe5, 0x70, 0x42, 0xd8, 0x58, 0x5d, 0xc5, 0x89,
13235	0x18, 0x4a, 0x42, 0xff, 0xe2, 0xda, 0x6a, 0x31, 0x1b, 0x47, 0x69, 0x48, 0xd2, 0x45, 0x9a, 0xe2,
13236	0x62, 0xb6, 0x1f, 0x01, 0x0c, 0x5c, 0xcf, 0x2f, 0xe1, 0xff, 0x09, 0xfc, 0x3f, 0x5f, 0xa8, 0x2c,
13237	0xdd, 0x29, 0x66, 0x07, 0xae, 0xfd, 0x99, 0x8f, 0xf2, 0xdf, 0xd5, 0xe1, 0x3b, 0x94, 0xe8, 0x89,
13238	0xa0, 0xb5, 0x65, 0x92, 0xa5, 0xcf, 0xbd, 0x5f, 0xab, 0xb7, 0xb0, 0x03, 0xfa, 0x00, 0x5d, 0x8d,
13239	0xbc, 0xcc, 0xeb, 0x25, 0x5d, 0x18, 0xb2, 0x56, 0x71, 0xf9, 0x25, 0xc8, 0xde, 0x90, 0x0d, 0xb7,
13240	0x03, 0x7e, 0xc1, 0x65, 0xc0, 0xce, 0x12, 0x03, 0xd6, 0xf1, 0xc3, 0x99, 0xd4, 0x78, 0xfd, 0x9d,
13241	0x18, 0x20, 0x6c, 0x9c, 0x29, 0x30, 0xc0, 0x21, 0xf5, 0x1f, 0xdd, 0x21, 0xd9, 0x9e, 0x83, 0x73,
13242	0x79, 0x0e, 0x97, 0x27, 0x8a, 0x79, 0x3c, 0x91, 0xdb, 0x8b, 0xc5, 0xbd, 0x5e, 0xcc, 0xb4, 0x1c,
13243	0x89, 0xde, 0x2c, 0x87, 0xd3, 0xbf, 0x0d, 0x74, 0x9c, 0x6d, 0xf8, 0xfd, 0x58, 0x0b, 0xc6, 0x5c,
13244	0x92, 0x62, 0x2e, 0xec, 0x59, 0xe8, 0xbf, 0xa7, 0x6e, 0x99, 0xae, 0xeb, 0x74, 0xc7, 0x9a, 0x08,
13245	0x04, 0x35, 0xb2, 0xbf, 0x5a, 0x86, 0xb1, 0x82, 0xd4, 0xac, 0xca, 0xf5, 0x63, 0xe9, 0xea, 0x65,
13246	0x18, 0xbb, 0xae, 0x34, 0x15, 0x7d, 0xf7, 0xb8, 0xb8, 0x51, 0x5f, 0x7a, 0x2c, 0xdc, 0xfe, 0x62,
13247	0x0c, 0xce, 0xb0, 0xb0, 0xd2, 0xb7, 0xbf, 0x61, 0xb2, 0x2e, 0x7a, 0x82, 0xa4, 0xcb, 0x84, 0xf9,
13248	0x05, 0x14, 0x6d, 0x13, 0xc9, 0xd2, 0x46, 0x11, 0xc6, 0x02, 0xb6, 0x4b, 0xba, 0x9c, 0xe5, 0xf5,
13249	0xf3, 0xa3, 0xb3, 0x1b, 0xe4, 0xdf, 0x8e, 0x39, 0x86, 0x15, 0x90, 0xff, 0xc3, 0xc1, 0x19, 0x3a,
13250	0x1f, 0x09, 0x97, 0x46, 0xde, 0x25, 0x68, 0x26, 0x8b, 0x88, 0x1b, 0x6a, 0xcc, 0xfb, 0x6e, 0x1e,
13251	0x8f, 0x24, 0x02, 0x85, 0x70, 0xa4, 0x79, 0x8b, 0x04, 0xa7, 0xb0, 0x7d, 0x7b, 0x84, 0x6d, 0xe7,
13252	0xff, 0x3d, 0x07, 0x8f, 0x91, 0xd1, 0xec, 0xdf, 0x4e, 0x3b, 0x66, 0x7d, 0xfb, 0x76, 0x2d, 0x8e,
13253	0xfc, 0x6d, 0x0e, 0xce, 0x84, 0xb6, 0x90, 0xd9, 0xae, 0xb7, 0x61, 0x3c, 0x40, 0x03, 0x4c, 0x5b,
13254	0xd6, 0x83, 0x0a, 0x8c, 0x05, 0x6c, 0x4b, 0x46, 0x36, 0x73, 0x35, 0x38, 0xc3, 0x4c, 0xc9, 0xa3,
13255	0xec, 0xf1, 0xbf, 0x19, 0x83, 0x93, 0xcb, 0x92, 0xb6, 0x23, 0x17, 0xc8, 0xb5, 0x89, 0x45, 0x85,
13256	0x84, 0xa8, 0x92, 0x66, 0x3e, 0x19, 0x50, 0x82, 0x14, 0x5b, 0x67, 0x26, 0x1f, 0x41, 0xe5, 0x3a,
13257	0x5f, 0x40, 0xc5, 0x6e, 0x90, 0xc5, 0xec, 0xeb, 0x92, 0xb1, 0x2b, 0x00, 0xa5, 0x25, 0xdf, 0x4a,
13258	0x95, 0x60, 0x92, 0x6e, 0x0f, 0x98, 0x33, 0x00, 0xf2, 0x11, 0x5c, 0x5d, 0x36, 0x6f, 0x9c, 0xcc,
13259	0x44, 0x60, 0x7a, 0x5d, 0xa9, 0xcb, 0x65, 0x72, 0x23, 0x64, 0xac, 0xea, 0x07, 0xa3, 0x55, 0x18,
13260	0xd9, 0x52, 0x76, 0xc4, 0x77, 0xdb, 0xb2, 0x76, 0x20, 0xd2, 0x13, 0x66, 0xd1, 0x1e, 0x75, 0x26,
13261	0x03, 0xae, 0xd4, 0x27, 0x64, 0xb6, 0x9c, 0x00, 0xc7, 0xe5, 0x81, 0x9b, 0x90, 0x0b, 0x94, 0x12,
13262	0xfd, 0x70, 0xcd, 0x25, 0x40, 0x52, 0xab, 0xa5, 0xa9, 0xfb, 0x62, 0xb3, 0xdd, 0x10, 0x5b, 0xbb,
13263	0x9a, 0xa4, 0x5b, 0x9f, 0xd9, 0xc9, 0xd2, 0x9c, 0xd5, 0x76, 0x63, 0x9d, 0xc2, 0xf9, 0x8f, 0x62,
13264	0x30, 0x8e, 0x2b, 0x2e, 0xd7, 0x3c, 0xd7, 0x88, 0xbd, 0x9b, 0xc0, 0x5c, 0xd7, 0x4d, 0xe0, 0x98,
13265	0x7f, 0x13, 0xb8, 0x0e, 0x53, 0x75, 0x5c, 0x53, 0x91, 0x5d, 0x90, 0xa9, 0x59, 0x75, 0xed, 0xb2,
13266	0x0f, 0xd4, 0x41, 0x0b, 0x4a, 0x7d, 0xc2, 0x44, 0x3d, 0x28, 0x1b, 0x09, 0x00, 0x8e, 0x02, 0xba,
13267	0xdc, 0x4c, 0x27, 0xc4, 0x66, 0x9b, 0x67, 0x6d, 0x2e, 0xa5, 0x3e, 0xc1, 0xc1, 0x05, 0x15, 0x20,
13268	0xa1, 0xc9, 0x3b, 0xf2, 0x3e, 0x9b, 0x25, 0x3c, 0x1d, 0x8d, 0x9d, 0x80, 0x49, 0xc8, 0xf5, 0x1e,
13269	0xfc, 0xc7, 0x3a, 0x73, 0xf9, 0x17, 0x38, 0x18, 0x73, 0x0b, 0x9b, 0x76, 0xd9, 0x5e, 0xb8, 0x98,
13270	0xb8, 0x8e, 0x67, 0x46, 0xc3, 0xd5, 0x20, 0x54, 0x4a, 0x56, 0x65, 0x3e, 0x8c, 0xc1, 0x84, 0xbb,
13271	0x32, 0xec, 0x9b, 0xd1, 0xa8, 0x00, 0x03, 0xae, 0x09, 0xf1, 0xd3, 0x1d, 0x26, 0xc4, 0x5e, 0xbd,
13272	0x11, 0x18, 0xa9, 0x77, 0x32, 0x14, 0xeb, 0x69, 0x32, 0xf4, 0x86, 0x7b, 0xf6, 0x38, 0x13, 0xa9,
13273	0x02, 0xae, 0x19, 0xa4, 0x3d, 0x65, 0xe9, 0x8f, 0x3e, 0x65, 0x31, 0xcb, 0x35, 0xe7, 0x84, 0xd1,
13274	0xcb, 0xd5, 0x69, 0xb9, 0x3a, 0xff, 0xa3, 0xfd, 0x30, 0xec, 0xce, 0x0e, 0x9c, 0x55, 0x6f, 0xc0,
13275	0x08, 0x3d, 0x65, 0x67, 0x58, 0x5f, 0xf0, 0xee, 0xfc, 0x0e, 0x49, 0x60, 0x4f, 0x09, 0xc3, 0x8c,
13276	0x89, 0xd9, 0x73, 0x6f, 0x42, 0xd6, 0xfc, 0xee, 0x13, 0x63, 0xdb, 0xed, 0x10, 0x6e, 0x30, 0xdf,
13277	0x11, 0xc6, 0x85, 0xa5, 0xf5, 0x6b, 0xbf, 0x10, 0xfb, 0x28, 0xff, 0x73, 0xb1, 0xc0, 0x0f, 0xf0,
13278	0x7b, 0x5a, 0xfb, 0x7a, 0xc7, 0x23, 0x38, 0xba, 0x0b, 0x59, 0x9f, 0x7b, 0x9f, 0x02, 0xec, 0x3b,
13279	0x6f, 0x1f, 0xa0, 0x17, 0x02, 0xe6, 0x5f, 0x11, 0xc8, 0x2a, 0xbd, 0x1f, 0xfd, 0x89, 0xc0, 0xf5,
13280	0x66, 0xd4, 0xc9, 0x60, 0x77, 0x5e, 0xfc, 0xc7, 0x1c, 0x9c, 0xa4, 0x01, 0xb4, 0x5b, 0x64, 0xb6,
13281	0x03, 0x75, 0x07, 0x33, 0x4f, 0x11, 0x17, 0x7a, 0x0e, 0x75, 0x17, 0xba, 0x15, 0xc8, 0x94, 0xac,
13282	0x91, 0x1b, 0xeb, 0x79, 0xe4, 0xb2, 0x03, 0x1e, 0x55, 0xf3, 0x1a, 0xd7, 0x98, 0xb7, 0x05, 0x76,
13283	0xa4, 0x9c, 0x75, 0xb7, 0x36, 0x4a, 0xbc, 0xfc, 0xdb, 0x1c, 0x9c, 0xa4, 0xf1, 0x72, 0x70, 0xe3,
13284	0x5f, 0x75, 0x45, 0x0f, 0xac, 0xe9, 0x11, 0xf4, 0x8d, 0x8d, 0xa7, 0xc2, 0x11, 0x1a, 0xee, 0x34,
13285	0x59, 0x87, 0x0f, 0x88, 0xef, 0xc2, 0xf4, 0x0d, 0xd9, 0x78, 0x14, 0x8d, 0xe3, 0x7f, 0x9d, 0x83,
13286	0x1c, 0x0e, 0x13, 0xdd, 0x99, 0xfa, 0x31, 0xea, 0xcd, 0xb7, 0x2b, 0x00, 0xfe, 0x51, 0xb6, 0xf3,
13287	0xe9, 0x6b, 0x19, 0x0b, 0x7e, 0x6f, 0xc3, 0xa8, 0x57, 0x0b, 0xcd, 0xc8, 0xf7, 0xc9, 0x48, 0x3d,
13288	0x2c, 0x8c, 0x78, 0x06, 0x66, 0xe4, 0x88, 0xf7, 0x6d, 0x38, 0x49, 0x23, 0xde, 0x47, 0xd2, 0xa5,
13289	0x3f, 0xc9, 0xc1, 0x63, 0xae, 0x4f, 0x01, 0x1e, 0xeb, 0xae, 0xd6, 0x12, 0xb0, 0xef, 0x0e, 0x8a,
13290	0x8e, 0xcf, 0xb5, 0x5e, 0xec, 0xf8, 0xe9, 0x42, 0xe7, 0x47, 0x5b, 0x81, 0x12, 0xe3, 0xff, 0xfc,
13291	0x67, 0x39, 0xc8, 0xb9, 0x2a, 0x7a, 0x1c, 0x6b, 0x09, 0xc7, 0x59, 0xc1, 0xbf, 0xce, 0xc1, 0xa8,
13292	0x0f, 0xe3, 0xd0, 0x5f, 0xf7, 0xad, 0xc0, 0x08, 0x3b, 0x42, 0x64, 0x2d, 0x0f, 0x77, 0x36, 0x28,
13293	0xb4, 0x68, 0x76, 0xc8, 0x84, 0x2d, 0x04, 0x0b, 0xc3, 0xdb, 0xae, 0x34, 0xff, 0xbf, 0x62, 0x30,
13294	0x1e, 0x84, 0x88, 0x56, 0x60, 0xb4, 0xaa, 0x36, 0x0d, 0x49, 0x69, 0xca, 0x9a, 0xe8, 0x3e, 0x00,
13295	0xfa, 0x78, 0x87, 0x3a, 0x13, 0x7c, 0x21, 0x6b, 0x91, 0x9a, 0xec, 0xce, 0x40, 0x8a, 0xcc, 0x63,
13296	0xe8, 0xeb, 0x6b, 0xec, 0xca, 0x0e, 0x60, 0xd0, 0x1a, 0x81, 0xe0, 0x71, 0xae, 0xa9, 0x0f, 0xcc,
13297	0x7c, 0xfa, 0xdc, 0xee, 0x90, 0xa6, 0x3e, 0x60, 0xd9, 0x25, 0xc8, 0x90, 0xef, 0x72, 0x58, 0x5f,
13298	0x49, 0xed, 0xef, 0xf8, 0x36, 0x15, 0xf9, 0x02, 0x87, 0xf9, 0x21, 0xd4, 0xb4, 0xe1, 0x48, 0xa1,
13299	0x35, 0x18, 0xa8, 0x4b, 0x5b, 0x72, 0xdd, 0x3c, 0xaf, 0xf9, 0x52, 0x0f, 0xe2, 0x9b, 0x5d, 0x26,
13300	0x94, 0xc5, 0xa6, 0xa1, 0x1d, 0x08, 0x8c, 0x4d, 0xee, 0x2a, 0xa4, 0x1c, 0x60, 0x94, 0xb5, 0xaf,
13301	0x3e, 0x0f, 0x91, 0x5b, 0xcf, 0x68, 0xdc, 0xbc, 0x7d, 0x46, 0x47, 0x33, 0x4d, 0x5c, 0x8b, 0x5d,
13302	0xe1, 0xf8, 0x29, 0x98, 0x70, 0x69, 0xb0, 0x69, 0x5d, 0x66, 0xbe, 0xc0, 0x01, 0xf2, 0x5f, 0x6b,
13303	0x43, 0xe7, 0xe0, 0x8c, 0x50, 0x5c, 0x26, 0x97, 0x31, 0xc2, 0xef, 0x53, 0xa5, 0x21, 0x59, 0xbc,
13304	0xbd, 0x91, 0x5f, 0x16, 0x2b, 0x6b, 0x59, 0x0e, 0x65, 0x21, 0xbd, 0xba, 0x56, 0x11, 0x2d, 0x08,
13305	0x79, 0x55, 0xe7, 0x86, 0x50, 0xcc, 0x57, 0x8a, 0x82, 0x58, 0x29, 0xe5, 0x57, 0xb3, 0x71, 0x94,
13306	0x81, 0xa1, 0xe5, 0x62, 0xb9, 0x4c, 0x93, 0xfd, 0x28, 0x07, 0x93, 0x4e, 0x04, 0x71, 0x4d, 0xa0,
13307	0xe4, 0xe5, 0x6c, 0x02, 0x4d, 0xc1, 0x98, 0x85, 0xea, 0xc8, 0x18, 0x40, 0x00, 0x03, 0xc5, 0xb7,
13308	0x96, 0xca, 0x95, 0x72, 0x76, 0x70, 0xe6, 0x93, 0x1c, 0xa4, 0x57, 0x24, 0xa3, 0xba, 0xab, 0x34,
13309	0x77, 0x48, 0xe4, 0x75, 0x1a, 0x4e, 0xac, 0xe4, 0x2b, 0x85, 0xd2, 0xd2, 0xea, 0x0d, 0xb1, 0x72,
13310	0x77, 0xdd, 0xbb, 0xce, 0x7e, 0x0a, 0xa6, 0xdd, 0xd9, 0xd7, 0x37, 0x96, 0x97, 0x45, 0x02, 0xca,
13311	0x72, 0xe8, 0x0c, 0x9c, 0x74, 0xe7, 0xae, 0xe7, 0x85, 0xca, 0x52, 0xde, 0x44, 0x88, 0xf9, 0x11,
13312	0x96, 0x56, 0xef, 0x14, 0x85, 0x72, 0x91, 0x21, 0xc4, 0x67, 0x56, 0x20, 0xc3, 0xc6, 0x13, 0x55,
13313	0x02, 0xdc, 0x8a, 0xc2, 0xda, 0x6a, 0xa5, 0xb8, 0xea, 0x7d, 0x54, 0x20, 0x0b, 0x69, 0x33, 0xa3,
13314	0x52, 0x7c, 0xab, 0x92, 0xe5, 0xd0, 0x28, 0x64, 0x4c, 0xc8, 0xd2, 0x4a, 0xfe, 0x46, 0x31, 0x1b,
13315	0x9b, 0x59, 0xb7, 0x3f, 0x4e, 0xea, 0xf8, 0x46, 0x28, 0x3a, 0x01, 0x13, 0xc5, 0xd5, 0x8d, 0x95,
13316	0xa0, 0x06, 0xa6, 0x60, 0x70, 0x89, 0x00, 0x18, 0x47, 0x61, 0xa9, 0x7c, 0x4b, 0xcc, 0xaf, 0xe6,
13317	0x97, 0xef, 0x96, 0x97, 0xca, 0xd9, 0xd8, 0x8c, 0x00, 0x60, 0x2f, 0x36, 0x63, 0x71, 0x2c, 0x2e,
13318	0xaf, 0x8b, 0x37, 0xd7, 0x16, 0x82, 0x78, 0x8d, 0x40, 0x8a, 0xf1, 0xc2, 0x18, 0x59, 0x0e, 0x4d,
13319	0xc0, 0xa8, 0x8b, 0x1f, 0x01, 0xc7, 0x66, 0x9a, 0x41, 0x13, 0x3a, 0xf2, 0xf6, 0x0c, 0xf9, 0x6e,
13320	0xf2, 0xa2, 0xb8, 0xb4, 0x7a, 0x7d, 0x8d, 0x16, 0xd0, 0x75, 0xef, 0x63, 0x08, 0x12, 0x42, 0x31,
13321	0xbf, 0x78, 0x37, 0x1b, 0x73, 0xec, 0x70, 0xc4, 0x69, 0xb3, 0xee, 0xe4, 0x97, 0x97, 0x16, 0xb3,
13322	0xfd, 0xf3, 0xdf, 0xb7, 0x42, 0x1a, 0x51, 0x96, 0xb5, 0xfb, 0x4a, 0x55, 0x46, 0x5f, 0xe7, 0x60,
13323	0xd8, 0xfd, 0x11, 0x6c, 0x74, 0xa9, 0xeb, 0x86, 0xa3, 0xe3, 0x43, 0xe3, 0xb9, 0xcb, 0x11, 0xb1,
13324	0xe9, 0x88, 0xe1, 0xf7, 0xff, 0xdc, 0x87, 0x5f, 0xfb, 0xe1, 0x98, 0xc6, 0x5f, 0x98, 0xbb, 0x3f,
13325	0x3f, 0xf7, 0x3e, 0x0d, 0x1e, 0x5e, 0xb5, 0x42, 0xe4, 0x99, 0x0f, 0xe6, 0xaa, 0x94, 0xe0, 0x1a,
13326	0xdb, 0x19, 0xbb, 0xc6, 0xcd, 0x6c, 0x2e, 0xf2, 0xaf, 0x87, 0x61, 0x07, 0x44, 0xd2, 0xa2, 0x52,
13327	0x0b, 0xe2, 0x82, 0x7e, 0x83, 0x83, 0x14, 0x7d, 0xb3, 0x68, 0xa9, 0x21, 0xed, 0xc8, 0xe8, 0xa9,
13328	0x8e, 0xef, 0xe5, 0x11, 0x1c, 0xb3, 0x8d, 0x33, 0x51, 0x50, 0x59, 0x03, 0x35, 0xd2, 0xc0, 0x3a,
13329	0xff, 0x44, 0x58, 0x95, 0x15, 0x8c, 0x7e, 0x8d, 0xbe, 0xc2, 0x87, 0x5b, 0x97, 0xe7, 0x5f, 0xe9,
13330	0xb5, 0x75, 0x1e, 0x16, 0xe8, 0x5b, 0x1c, 0x8c, 0x2e, 0x7a, 0xbf, 0x53, 0x8f, 0xe6, 0xa2, 0xdc,
13331	0xdc, 0x70, 0x76, 0xe5, 0x33, 0xd1, 0x09, 0x58, 0x63, 0xff, 0x34, 0x69, 0xec, 0x3e, 0x3f, 0xd3,
13332	0xad, 0x37, 0xed, 0x95, 0x43, 0xdc, 0xe4, 0x1b, 0xfc, 0xc2, 0x61, 0x3b, 0xd4, 0xc5, 0x88, 0x34,
13333	0x5c, 0x88, 0xdc, 0x70, 0xa1, 0xd7, 0x86, 0x0b, 0x47, 0x6f, 0xb8, 0x76, 0x5c, 0x0d, 0x77, 0x31,
13334	0x42, 0x3f, 0xc3, 0x41, 0xc6, 0xf5, 0x11, 0x61, 0x14, 0x16, 0x5e, 0x04, 0x7d, 0xe0, 0x38, 0x77,
13335	0x29, 0x1a, 0x32, 0x6b, 0xec, 0xf2, 0xc3, 0xbc, 0x33, 0x0a, 0x27, 0x4d, 0xbf, 0x82, 0x32, 0xb8,
13336	0x25, 0xd6, 0x1b, 0x0f, 0x9b, 0x17, 0xd0, 0x93, 0x18, 0x10, 0xaa, 0xb2, 0x56, 0x45, 0x7f, 0x3a,
13337	0x0e, 0x13, 0x81, 0x07, 0x5f, 0xd1, 0x73, 0xa1, 0x8f, 0x69, 0x84, 0x1f, 0x93, 0xcd, 0x45, 0x3c,
13338	0xe2, 0xc7, 0x7f, 0x21, 0xf6, 0x30, 0x3f, 0x45, 0xe5, 0x7e, 0xc9, 0x7b, 0x34, 0xe2, 0x61, 0xfe,
13339	0x5c, 0x48, 0xce, 0x25, 0x6f, 0xbb, 0xbf, 0xc9, 0xf1, 0x97, 0x9d, 0x5d, 0xe8, 0x5e, 0x33, 0x98,
13340	0xf1, 0xdf, 0x33, 0xc3, 0xdd, 0x7e, 0x93, 0x2f, 0x76, 0xa4, 0x09, 0x17, 0x9a, 0x9f, 0xd7, 0x65,
13341	0xfe, 0x62, 0xa8, 0x65, 0x09, 0x40, 0x2f, 0xf2, 0x6f, 0xf4, 0x6c, 0x5d, 0xfc, 0x6c, 0xd0, 0xff,
13342	0x8d, 0xc1, 0x44, 0xe0, 0x71, 0xdd, 0xd0, 0x4e, 0xeb, 0x74, 0xb8, 0x37, 0x72, 0xa7, 0x7d, 0x5f,
13343	0xec, 0x61, 0xfe, 0x2c, 0x8e, 0xf7, 0xfd, 0x1d, 0xe3, 0x98, 0x67, 0x93, 0x8e, 0xf9, 0x2d, 0x6e,
13344	0x9e, 0x76, 0x0c, 0x46, 0xf7, 0x8a, 0xd8, 0x7f, 0xfb, 0x6f, 0xe6, 0x03, 0x2c, 0x9d, 0xd7, 0xe6,
13345	0xaf, 0x86, 0xd3, 0xd8, 0xf2, 0x09, 0xa5, 0xbf, 0x3c, 0x7f, 0xd1, 0xa6, 0xb7, 0x65, 0x1b, 0x86,
13346	0x7e, 0x75, 0xfe, 0xf9, 0x40, 0xf4, 0xee, 0x25, 0xa1, 0x5f, 0x8d, 0x01, 0xf2, 0x9f, 0x1f, 0x46,
13347	0x61, 0x96, 0x2b, 0xf4, 0xa8, 0x71, 0x64, 0xd1, 0xff, 0x36, 0xf7, 0x30, 0x4f, 0xa6, 0x5a, 0x44,
13348	0xba, 0xff, 0x86, 0x43, 0xbd, 0x49, 0x77, 0xf3, 0x65, 0x74, 0x78, 0xd1, 0x6e, 0xce, 0xa0, 0xc8,
13349	0x72, 0xdd, 0x7c, 0x11, 0x1d, 0x4a, 0xa8, 0xe8, 0xe3, 0x98, 0xf9, 0xf5, 0x77, 0xcf, 0xd1, 0xdf,
13350	0xf9, 0x8e, 0xc6, 0x31, 0xf0, 0x80, 0x75, 0xee, 0xb9, 0x9e, 0x68, 0x98, 0x5d, 0xfd, 0x9f, 0xdc,
13351	0xc3, 0x3c, 0x5b, 0x3f, 0x21, 0x42, 0xfe, 0x03, 0x53, 0xc8, 0x51, 0x6d, 0xcb, 0xe6, 0x0d, 0x74,
13352	0x3c, 0x86, 0xc5, 0x12, 0x78, 0x04, 0xab, 0xb2, 0xb9, 0x80, 0x8e, 0x6c, 0x52, 0xd0, 0xbf, 0x8e,
13353	0xc1, 0x44, 0xe0, 0xb9, 0xe9, 0x50, 0x7b, 0xd2, 0xe9, 0x94, 0x75, 0x2e, 0xe4, 0x93, 0xa9, 0x3e,
13354	0x25, 0x9e, 0xe9, 0x55, 0x89, 0x67, 0x8e, 0xa2, 0xc4, 0x33, 0x3d, 0x28, 0xf1, 0xcc, 0xe1, 0x94,
13355	0xf8, 0xcb, 0x71, 0x98, 0x0e, 0x3b, 0x52, 0x81, 0x5e, 0xec, 0xe8, 0x4f, 0x43, 0xf7, 0x61, 0x73,
13356	0xd1, 0xb7, 0x84, 0xf9, 0x2f, 0xc7, 0x1e, 0xe6, 0x73, 0xcc, 0x77, 0x06, 0x6c, 0x32, 0x3f, 0xcc,
13357	0x9f, 0x0f, 0xcf, 0xf4, 0xf9, 0xd6, 0xef, 0x8e, 0xf1, 0xcf, 0x74, 0x54, 0xe7, 0x80, 0xfd, 0x67,
13358	0x6c, 0x56, 0x57, 0xf8, 0xd2, 0xa1, 0x46, 0x41, 0x08, 0xbb, 0x67, 0xf8, 0xa7, 0xc3, 0xf4, 0x3b,
13359	0x84, 0xa2, 0xc4, 0x17, 0x7a, 0x1d, 0x11, 0xc1, 0x9c, 0xd0, 0xa7, 0xe3, 0x30, 0x1d, 0x76, 0x28,
13360	0x24, 0xb4, 0x3f, 0xbb, 0x9c, 0x22, 0xe9, 0xa5, 0x3f, 0x3f, 0x1d, 0x7b, 0x98, 0x7f, 0x82, 0x38,
13361	0xdc, 0xa0, 0x0e, 0xf3, 0xfa, 0xdc, 0x3f, 0xe0, 0xe6, 0x9f, 0x09, 0x1f, 0x1f, 0x41, 0x97, 0x98,
13362	0xa9, 0x1f, 0xcc, 0xcf, 0xbf, 0x12, 0x6d, 0x58, 0x85, 0xb3, 0x78, 0x66, 0xfe, 0xe9, 0xc0, 0x01,
13363	0x13, 0x4e, 0xf1, 0xca, 0xfc, 0x4b, 0x5d, 0x87, 0x58, 0x28, 0x35, 0xfa, 0x5a, 0x0c, 0x26, 0x02,
13364	0x8f, 0xab, 0x84, 0x1a, 0xac, 0x4e, 0x87, 0x5b, 0x7a, 0xe9, 0x92, 0x8f, 0x5c, 0x36, 0xec, 0xb7,
13365	0x38, 0xd4, 0xb3, 0xc8, 0x37, 0x5f, 0x43, 0x47, 0x92, 0xf7, 0xe6, 0x65, 0xd4, 0x8b, 0xb0, 0x37,
13366	0xaf, 0xa2, 0xc3, 0x4a, 0x1a, 0xfd, 0x50, 0x9c, 0x1e, 0x23, 0x0f, 0x38, 0xcf, 0x82, 0x5e, 0xe8,
13367	0xe0, 0x63, 0xc3, 0x4f, 0xf8, 0xe4, 0x5e, 0xec, 0x95, 0x8c, 0x79, 0xe7, 0xef, 0x8d, 0xb9, 0xbd,
13368	0xf3, 0x37, 0x4d, 0xc9, 0xf7, 0x60, 0x9d, 0x36, 0x6f, 0xa2, 0x63, 0x33, 0x4d, 0x56, 0x2f, 0x44,
13369	0xb3, 0x4b, 0x9b, 0x45, 0x74, 0x1c, 0x46, 0x09, 0xfd, 0x7a, 0x0c, 0xa6, 0xc3, 0x0e, 0xee, 0x84,
13370	0x5a, 0xa4, 0x2e, 0x27, 0x7d, 0x42, 0xfd, 0xb5, 0x57, 0xd7, 0x67, 0x0e, 0xa1, 0xeb, 0x33, 0x47,
13371	0xd4, 0xf5, 0x99, 0xde, 0x74, 0x7d, 0xe6, 0xd0, 0xba, 0xfe, 0x97, 0x62, 0x90, 0xf5, 0x5e, 0xed,
13372	0x42, 0xb3, 0x1d, 0x7d, 0xb6, 0x6f, 0x8f, 0x27, 0xd7, 0xfd, 0x16, 0x05, 0xff, 0x93, 0xdc, 0xc3,
13373	0x3c, 0x62, 0x6e, 0xd8, 0x71, 0x5c, 0xfb, 0x61, 0xfe, 0x31, 0x3f, 0xd0, 0xe7, 0x93, 0xef, 0xf1,
13374	0xe7, 0xc2, 0xb4, 0xc8, 0x71, 0x39, 0x03, 0xdb, 0xd7, 0x37, 0xf8, 0x97, 0x7b, 0xd5, 0x37, 0x37,
13375	0x07, 0xf4, 0x0d, 0x0e, 0xb2, 0xde, 0x1b, 0x5a, 0xa1, 0x02, 0x09, 0xb9, 0xca, 0x15, 0x45, 0x20,
13376	0xdf, 0xc3, 0x3d, 0xcc, 0x9f, 0x22, 0x4e, 0xce, 0xd9, 0x72, 0xaf, 0x73, 0x7b, 0x67, 0xfe, 0x5c,
13377	0x60, 0xcf, 0x3a, 0xaf, 0xd8, 0x53, 0xcf, 0xf2, 0xfc, 0xfc, 0x5c, 0x57, 0x1d, 0xf0, 0x51, 0xa1,
13378	0x5f, 0xe5, 0x60, 0x2a, 0x64, 0x03, 0x2f, 0xd4, 0xd4, 0x75, 0xde, 0xf0, 0x0b, 0x5d, 0xd6, 0x09,
13379	0xdc, 0xbc, 0xe0, 0xd7, 0x9c, 0x63, 0x6d, 0x81, 0x7f, 0xb5, 0xd7, 0x36, 0xec, 0x3a, 0xb9, 0xe2,
13380	0x16, 0x7d, 0x91, 0x83, 0x8c, 0xeb, 0x2a, 0x5a, 0xe8, 0xa2, 0x54, 0xd0, 0x85, 0xb5, 0x28, 0x3d,
13381	0x27, 0x3b, 0xab, 0xfc, 0x16, 0x8a, 0xd2, 0x41, 0x9b, 0xcf, 0xa2, 0x5e, 0x7b, 0x07, 0xfd, 0x1e,
13382	0x07, 0x23, 0x9e, 0xcb, 0x4c, 0xe8, 0x72, 0x07, 0x37, 0xe2, 0xbf, 0xec, 0x95, 0x9b, 0x8d, 0x8a,
13383	0xce, 0x3a, 0x43, 0x77, 0x3b, 0x9b, 0x1a, 0x8a, 0x32, 0xec, 0x36, 0x5f, 0x45, 0x47, 0x19, 0x73,
13384	0xe8, 0x17, 0x38, 0xc8, 0x7a, 0xef, 0x4a, 0x85, 0x0e, 0xb8, 0x90, 0x4b, 0x55, 0xa1, 0xb6, 0xdc,
13385	0xdd, 0x57, 0x33, 0xd1, 0xfa, 0x6a, 0xa6, 0xe7, 0xbe, 0xfa, 0x2a, 0x07, 0xc8, 0x7f, 0x5f, 0x34,
13386	0x74, 0x61, 0x24, 0xf4, 0x6a, 0x69, 0xae, 0xf3, 0xa1, 0x7e, 0xfe, 0x3e, 0x69, 0x47, 0x8b, 0xbf,
13387	0x14, 0xc5, 0x28, 0x48, 0xac, 0x14, 0x6c, 0x1d, 0x5e, 0xe5, 0xaf, 0xf4, 0x3a, 0xb2, 0x1c, 0xe4,
13388	0xe8, 0xf3, 0x31, 0x48, 0x3b, 0xef, 0x62, 0xa2, 0x99, 0xce, 0xb3, 0x3a, 0xe7, 0xe6, 0x7a, 0xb7,
13389	0x36, 0xfd, 0x8a, 0xc3, 0x33, 0x38, 0xee, 0x62, 0xda, 0x9e, 0xc1, 0x01, 0x74, 0x7a, 0x86, 0x87,
13390	0xf9, 0x11, 0x86, 0x60, 0xde, 0xba, 0x7c, 0x98, 0x3f, 0xe9, 0x81, 0xf8, 0x3c, 0xc9, 0x16, 0x7f,
13391	0x26, 0x34, 0x7c, 0xa1, 0xb7, 0x2d, 0x48, 0x94, 0xce, 0xbf, 0xd4, 0x73, 0xd4, 0x62, 0x51, 0xa3,
13392	0xaf, 0x70, 0x90, 0x72, 0x5c, 0xdf, 0x08, 0xdd, 0xe3, 0xf1, 0x5f, 0x86, 0x09, 0xdd, 0xe3, 0x09,
13393	0xb8, 0x0d, 0xc2, 0xef, 0xb9, 0x07, 0xeb, 0xdb, 0xa8, 0x5b, 0xcb, 0xac, 0x90, 0xb8, 0xf7, 0x66,
13394	0xa1, 0x9f, 0xe6, 0x60, 0xc8, 0xba, 0x08, 0x84, 0x2e, 0x74, 0x98, 0x6d, 0xf4, 0xd2, 0xf5, 0x7f,
13395	0xca, 0x39, 0x3a, 0xd7, 0x59, 0x03, 0x7c, 0x31, 0x0f, 0xbb, 0x9f, 0xd4, 0x61, 0x0a, 0xe0, 0x8a,
13396	0x73, 0x2c, 0x74, 0xf4, 0x0f, 0x38, 0x48, 0x3b, 0x6f, 0x8e, 0x84, 0x6a, 0x6d, 0xc0, 0xf5, 0x92,
13397	0x50, 0x8b, 0xe2, 0xae, 0xf3, 0x4c, 0xf7, 0x3a, 0xcf, 0xf4, 0x54, 0xe7, 0x9f, 0xe7, 0x20, 0xed,
13398	0xbc, 0x89, 0x13, 0x3e, 0xd2, 0xfc, 0xd7, 0x75, 0x42, 0xeb, 0x7c, 0x8f, 0x9a, 0x73, 0xfe, 0x7c,
13399	0x97, 0xca, 0x5e, 0xab, 0x12, 0xa6, 0x78, 0x08, 0xbc, 0xc4, 0xcf, 0xf7, 0x50, 0x6d, 0x9b, 0x10,
13400	0x7d, 0x26, 0x0e, 0xe3, 0x41, 0xc7, 0x03, 0x43, 0x57, 0x34, 0x3b, 0x9c, 0x25, 0xcc, 0x45, 0x3b,
13401	0x1d, 0xc5, 0x7f, 0x2e, 0xf6, 0x30, 0x9f, 0x61, 0x43, 0x9f, 0x1e, 0x82, 0x7b, 0x98, 0x3f, 0xe1,
13402	0x4a, 0xfb, 0x0c, 0xc1, 0x7f, 0xe5, 0x98, 0x11, 0x0d, 0x9b, 0x14, 0x79, 0x0e, 0x5c, 0x61, 0x99,
13403	0x2c, 0xf1, 0x8b, 0x87, 0x9a, 0x47, 0x05, 0xb0, 0xba, 0x14, 0xbe, 0xf7, 0x1c, 0x80, 0x7d, 0x88,
13404	0xbd, 0x67, 0x3f, 0x17, 0xf4, 0x9f, 0x62, 0x30, 0x1e, 0x74, 0x76, 0x31, 0xb4, 0x67, 0x3a, 0x1c,
13405	0x74, 0x8c, 0xda, 0x33, 0x7f, 0xc8, 0x3d, 0xcc, 0x4f, 0x91, 0x28, 0x97, 0xf5, 0x83, 0x37, 0xc0,
13406	0xfd, 0x0d, 0x6e, 0xfe, 0x52, 0xf8, 0x54, 0xc9, 0x7b, 0x1c, 0x95, 0x86, 0xba, 0xaf, 0xce, 0x5f,
13407	0x89, 0x36, 0xbb, 0x0a, 0x26, 0xbf, 0x34, 0x7f, 0x21, 0x50, 0xb5, 0x83, 0xb1, 0xaf, 0xcc, 0x3f,
13408	0xd7, 0x75, 0x20, 0x04, 0x52, 0xa2, 0x2f, 0xc5, 0x60, 0xd4, 0x77, 0x96, 0x32, 0x74, 0x5f, 0x38,
13409	0xec, 0xd4, 0x65, 0x54, 0x49, 0x3f, 0x74, 0xcd, 0x5a, 0x7f, 0x99, 0x43, 0x3d, 0x89, 0x75, 0xf3,
13410	0x1a, 0x3a, 0xb4, 0x4c, 0x37, 0x9f, 0x42, 0x51, 0x05, 0xba, 0xf9, 0x02, 0x3a, 0x8c, 0x34, 0xd1,
13411	0x7f, 0x8f, 0xd1, 0x1b, 0x91, 0x9e, 0x03, 0x96, 0xe8, 0xd9, 0x0e, 0xfe, 0x32, 0xf8, 0x98, 0x69,
13412	0x6e, 0xbe, 0x17, 0x12, 0xe6, 0x6a, 0xbf, 0xe9, 0xd9, 0x23, 0xf9, 0x9a, 0x29, 0xdd, 0x88, 0xc6,
13413	0x63, 0xf3, 0x3a, 0x3a, 0x16, 0xcb, 0x61, 0x49, 0xba, 0xbb, 0xd9, 0xd8, 0xcc, 0xa3, 0xa3, 0xda,
13414	0x0c, 0xf4, 0xcf, 0x63, 0x30, 0x1e, 0x74, 0x78, 0x34, 0xd4, 0x60, 0x74, 0x38, 0x69, 0x1a, 0xea,
13415	0x9b, 0xbc, 0x7a, 0x3b, 0xd3, 0xa3, 0xde, 0xce, 0x1c, 0x41, 0x6f, 0x67, 0xa2, 0xeb, 0xed, 0xcc,
13416	0xa1, 0xf4, 0xf6, 0x5f, 0x72, 0x30, 0x16, 0x70, 0xec, 0x34, 0x54, 0x6f, 0xc3, 0x8f, 0xa8, 0xf6,
13417	0x38, 0xad, 0xbe, 0xe5, 0x14, 0xea, 0x6b, 0xfc, 0xd5, 0x5e, 0x7c, 0xb9, 0x6f, 0x4a, 0xfd, 0x97,
13418	0x39, 0x48, 0x3b, 0xef, 0xf3, 0xa2, 0xf0, 0xe7, 0xbb, 0x7d, 0x97, 0x7e, 0x43, 0xfb, 0xfd, 0x55,
13419	0x52, 0xb5, 0x1e, 0xc3, 0x8c, 0x6d, 0x52, 0xc0, 0x35, 0x6e, 0x26, 0x77, 0xfd, 0x97, 0xf2, 0xc8,
13420	0x7f, 0x3c, 0xf7, 0xdf, 0xe6, 0x67, 0x77, 0x0d, 0xa3, 0xa5, 0x5f, 0x9b, 0x9b, 0x7b, 0xf0, 0xe0,
13421	0x81, 0xf7, 0xec, 0xae, 0xd4, 0x36, 0x76, 0xe7, 0xc8, 0x1d, 0xb7, 0xcb, 0xad, 0xba, 0x64, 0x6c,
13422	0xab, 0x5a, 0x63, 0xe1, 0x3f, 0x72, 0x1f, 0xe5, 0xdf, 0x86, 0x0b, 0x01, 0x27, 0x7d, 0xd7, 0x1c,
13423	0xca, 0xb4, 0xcc, 0xaa, 0x83, 0x9e, 0xed, 0xf9, 0x7a, 0x06, 0x9c, 0xa8, 0xaa, 0x8d, 0x60, 0x79,
13424	0x2d, 0x24, 0x17, 0xeb, 0xad, 0x75, 0x2c, 0x96, 0x75, 0x6e, 0xf3, 0x0a, 0x43, 0xd9, 0x51, 0xeb,
13425	0x52, 0x73, 0x67, 0x56, 0xd5, 0x76, 0xe6, 0x76, 0xe4, 0x26, 0x11, 0xda, 0x9c, 0x5d, 0xb3, 0x39,
13426	0xc6, 0x01, 0x0b, 0x65, 0xee, 0xfe, 0xfc, 0xcb, 0xb5, 0x7a, 0xeb, 0xf3, 0xb1, 0xb1, 0x1b, 0x94,
13427	0x94, 0xdc, 0xea, 0xc3, 0xb1, 0xf5, 0xec, 0x9d, 0xf9, 0x5f, 0x32, 0xa1, 0x6f, 0x13, 0xe8, 0xdb,
13428	0x8b, 0xf5, 0xd6, 0xdb, 0x77, 0xe6, 0xb7, 0x06, 0x08, 0xc3, 0xe7, 0xfe, 0x5f, 0x00, 0x00, 0x00,
13429	0xff, 0xff, 0xac, 0xc7, 0x2c, 0xab, 0xba, 0xc0, 0x00, 0x00,
13430}
13431
13432// Reference imports to suppress errors if they are not otherwise used.
13433var _ context.Context
13434var _ grpc.ClientConnInterface
13435
13436// This is a compile-time assertion to ensure that this generated file
13437// is compatible with the grpc package it is being compiled against.
13438const _ = grpc.SupportPackageIsVersion6
13439
13440// DlpServiceClient is the client API for DlpService service.
13441//
13442// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
13443type DlpServiceClient interface {
13444	// Finds potentially sensitive info in content.
13445	// This method has limits on input size, processing time, and output size.
13446	//
13447	// When no InfoTypes or CustomInfoTypes are specified in this request, the
13448	// system will automatically choose what detectors to run. By default this may
13449	// be all types, but may change over time as detectors are updated.
13450	//
13451	// For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
13452	// and https://cloud.google.com/dlp/docs/inspecting-text,
13453	InspectContent(ctx context.Context, in *InspectContentRequest, opts ...grpc.CallOption) (*InspectContentResponse, error)
13454	// Redacts potentially sensitive info from an image.
13455	// This method has limits on input size, processing time, and output size.
13456	// See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
13457	// learn more.
13458	//
13459	// When no InfoTypes or CustomInfoTypes are specified in this request, the
13460	// system will automatically choose what detectors to run. By default this may
13461	// be all types, but may change over time as detectors are updated.
13462	RedactImage(ctx context.Context, in *RedactImageRequest, opts ...grpc.CallOption) (*RedactImageResponse, error)
13463	// De-identifies potentially sensitive info from a ContentItem.
13464	// This method has limits on input size and output size.
13465	// See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
13466	// learn more.
13467	//
13468	// When no InfoTypes or CustomInfoTypes are specified in this request, the
13469	// system will automatically choose what detectors to run. By default this may
13470	// be all types, but may change over time as detectors are updated.
13471	DeidentifyContent(ctx context.Context, in *DeidentifyContentRequest, opts ...grpc.CallOption) (*DeidentifyContentResponse, error)
13472	// Re-identifies content that has been de-identified.
13473	// See
13474	// https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
13475	// to learn more.
13476	ReidentifyContent(ctx context.Context, in *ReidentifyContentRequest, opts ...grpc.CallOption) (*ReidentifyContentResponse, error)
13477	// Returns a list of the sensitive information types that the DLP API
13478	// supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
13479	// learn more.
13480	ListInfoTypes(ctx context.Context, in *ListInfoTypesRequest, opts ...grpc.CallOption) (*ListInfoTypesResponse, error)
13481	// Creates an InspectTemplate for re-using frequently used configuration
13482	// for inspecting content, images, and storage.
13483	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13484	CreateInspectTemplate(ctx context.Context, in *CreateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
13485	// Updates the InspectTemplate.
13486	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13487	UpdateInspectTemplate(ctx context.Context, in *UpdateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
13488	// Gets an InspectTemplate.
13489	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13490	GetInspectTemplate(ctx context.Context, in *GetInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
13491	// Lists InspectTemplates.
13492	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13493	ListInspectTemplates(ctx context.Context, in *ListInspectTemplatesRequest, opts ...grpc.CallOption) (*ListInspectTemplatesResponse, error)
13494	// Deletes an InspectTemplate.
13495	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13496	DeleteInspectTemplate(ctx context.Context, in *DeleteInspectTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error)
13497	// Creates a DeidentifyTemplate for re-using frequently used configuration
13498	// for de-identifying content, images, and storage.
13499	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13500	// more.
13501	CreateDeidentifyTemplate(ctx context.Context, in *CreateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
13502	// Updates the DeidentifyTemplate.
13503	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13504	// more.
13505	UpdateDeidentifyTemplate(ctx context.Context, in *UpdateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
13506	// Gets a DeidentifyTemplate.
13507	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13508	// more.
13509	GetDeidentifyTemplate(ctx context.Context, in *GetDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
13510	// Lists DeidentifyTemplates.
13511	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13512	// more.
13513	ListDeidentifyTemplates(ctx context.Context, in *ListDeidentifyTemplatesRequest, opts ...grpc.CallOption) (*ListDeidentifyTemplatesResponse, error)
13514	// Deletes a DeidentifyTemplate.
13515	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13516	// more.
13517	DeleteDeidentifyTemplate(ctx context.Context, in *DeleteDeidentifyTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error)
13518	// Creates a job trigger to run DLP actions such as scanning storage for
13519	// sensitive information on a set schedule.
13520	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
13521	CreateJobTrigger(ctx context.Context, in *CreateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
13522	// Updates a job trigger.
13523	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
13524	UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
13525	// Inspect hybrid content and store findings to a trigger. The inspection
13526	// will be processed asynchronously. To review the findings monitor the
13527	// jobs within the trigger.
13528	// Early access feature is in a pre-release state and might change or have
13529	// limited support. For more information, see
13530	// https://cloud.google.com/products#product-launch-stages.
13531	HybridInspectJobTrigger(ctx context.Context, in *HybridInspectJobTriggerRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error)
13532	// Gets a job trigger.
13533	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
13534	GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
13535	// Lists job triggers.
13536	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
13537	ListJobTriggers(ctx context.Context, in *ListJobTriggersRequest, opts ...grpc.CallOption) (*ListJobTriggersResponse, error)
13538	// Deletes a job trigger.
13539	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
13540	DeleteJobTrigger(ctx context.Context, in *DeleteJobTriggerRequest, opts ...grpc.CallOption) (*empty.Empty, error)
13541	// Activate a job trigger. Causes the immediate execute of a trigger
13542	// instead of waiting on the trigger event to occur.
13543	ActivateJobTrigger(ctx context.Context, in *ActivateJobTriggerRequest, opts ...grpc.CallOption) (*DlpJob, error)
13544	// Creates a new job to inspect storage or calculate risk metrics.
13545	// See https://cloud.google.com/dlp/docs/inspecting-storage and
13546	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
13547	//
13548	// When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
13549	// system will automatically choose what detectors to run. By default this may
13550	// be all types, but may change over time as detectors are updated.
13551	CreateDlpJob(ctx context.Context, in *CreateDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error)
13552	// Lists DlpJobs that match the specified filter in the request.
13553	// See https://cloud.google.com/dlp/docs/inspecting-storage and
13554	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
13555	ListDlpJobs(ctx context.Context, in *ListDlpJobsRequest, opts ...grpc.CallOption) (*ListDlpJobsResponse, error)
13556	// Gets the latest state of a long-running DlpJob.
13557	// See https://cloud.google.com/dlp/docs/inspecting-storage and
13558	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
13559	GetDlpJob(ctx context.Context, in *GetDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error)
13560	// Deletes a long-running DlpJob. This method indicates that the client is
13561	// no longer interested in the DlpJob result. The job will be cancelled if
13562	// possible.
13563	// See https://cloud.google.com/dlp/docs/inspecting-storage and
13564	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
13565	DeleteDlpJob(ctx context.Context, in *DeleteDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
13566	// Starts asynchronous cancellation on a long-running DlpJob. The server
13567	// makes a best effort to cancel the DlpJob, but success is not
13568	// guaranteed.
13569	// See https://cloud.google.com/dlp/docs/inspecting-storage and
13570	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
13571	CancelDlpJob(ctx context.Context, in *CancelDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
13572	// Creates a pre-built stored infoType to be used for inspection.
13573	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
13574	// learn more.
13575	CreateStoredInfoType(ctx context.Context, in *CreateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
13576	// Updates the stored infoType by creating a new version. The existing version
13577	// will continue to be used until the new version is ready.
13578	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
13579	// learn more.
13580	UpdateStoredInfoType(ctx context.Context, in *UpdateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
13581	// Gets a stored infoType.
13582	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
13583	// learn more.
13584	GetStoredInfoType(ctx context.Context, in *GetStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
13585	// Lists stored infoTypes.
13586	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
13587	// learn more.
13588	ListStoredInfoTypes(ctx context.Context, in *ListStoredInfoTypesRequest, opts ...grpc.CallOption) (*ListStoredInfoTypesResponse, error)
13589	// Deletes a stored infoType.
13590	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
13591	// learn more.
13592	DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*empty.Empty, error)
13593	// Inspect hybrid content and store findings to a job.
13594	// To review the findings inspect the job. Inspection will occur
13595	// asynchronously.
13596	// Early access feature is in a pre-release state and might change or have
13597	// limited support. For more information, see
13598	// https://cloud.google.com/products#product-launch-stages.
13599	HybridInspectDlpJob(ctx context.Context, in *HybridInspectDlpJobRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error)
13600	// Finish a running hybrid DlpJob. Triggers the finalization steps and running
13601	// of any enabled actions that have not yet run.
13602	// Early access feature is in a pre-release state and might change or have
13603	// limited support. For more information, see
13604	// https://cloud.google.com/products#product-launch-stages.
13605	FinishDlpJob(ctx context.Context, in *FinishDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
13606}
13607
13608type dlpServiceClient struct {
13609	cc grpc.ClientConnInterface
13610}
13611
13612func NewDlpServiceClient(cc grpc.ClientConnInterface) DlpServiceClient {
13613	return &dlpServiceClient{cc}
13614}
13615
13616func (c *dlpServiceClient) InspectContent(ctx context.Context, in *InspectContentRequest, opts ...grpc.CallOption) (*InspectContentResponse, error) {
13617	out := new(InspectContentResponse)
13618	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/InspectContent", in, out, opts...)
13619	if err != nil {
13620		return nil, err
13621	}
13622	return out, nil
13623}
13624
13625func (c *dlpServiceClient) RedactImage(ctx context.Context, in *RedactImageRequest, opts ...grpc.CallOption) (*RedactImageResponse, error) {
13626	out := new(RedactImageResponse)
13627	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/RedactImage", in, out, opts...)
13628	if err != nil {
13629		return nil, err
13630	}
13631	return out, nil
13632}
13633
13634func (c *dlpServiceClient) DeidentifyContent(ctx context.Context, in *DeidentifyContentRequest, opts ...grpc.CallOption) (*DeidentifyContentResponse, error) {
13635	out := new(DeidentifyContentResponse)
13636	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeidentifyContent", in, out, opts...)
13637	if err != nil {
13638		return nil, err
13639	}
13640	return out, nil
13641}
13642
13643func (c *dlpServiceClient) ReidentifyContent(ctx context.Context, in *ReidentifyContentRequest, opts ...grpc.CallOption) (*ReidentifyContentResponse, error) {
13644	out := new(ReidentifyContentResponse)
13645	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ReidentifyContent", in, out, opts...)
13646	if err != nil {
13647		return nil, err
13648	}
13649	return out, nil
13650}
13651
13652func (c *dlpServiceClient) ListInfoTypes(ctx context.Context, in *ListInfoTypesRequest, opts ...grpc.CallOption) (*ListInfoTypesResponse, error) {
13653	out := new(ListInfoTypesResponse)
13654	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListInfoTypes", in, out, opts...)
13655	if err != nil {
13656		return nil, err
13657	}
13658	return out, nil
13659}
13660
13661func (c *dlpServiceClient) CreateInspectTemplate(ctx context.Context, in *CreateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
13662	out := new(InspectTemplate)
13663	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateInspectTemplate", in, out, opts...)
13664	if err != nil {
13665		return nil, err
13666	}
13667	return out, nil
13668}
13669
13670func (c *dlpServiceClient) UpdateInspectTemplate(ctx context.Context, in *UpdateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
13671	out := new(InspectTemplate)
13672	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateInspectTemplate", in, out, opts...)
13673	if err != nil {
13674		return nil, err
13675	}
13676	return out, nil
13677}
13678
13679func (c *dlpServiceClient) GetInspectTemplate(ctx context.Context, in *GetInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
13680	out := new(InspectTemplate)
13681	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetInspectTemplate", in, out, opts...)
13682	if err != nil {
13683		return nil, err
13684	}
13685	return out, nil
13686}
13687
13688func (c *dlpServiceClient) ListInspectTemplates(ctx context.Context, in *ListInspectTemplatesRequest, opts ...grpc.CallOption) (*ListInspectTemplatesResponse, error) {
13689	out := new(ListInspectTemplatesResponse)
13690	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListInspectTemplates", in, out, opts...)
13691	if err != nil {
13692		return nil, err
13693	}
13694	return out, nil
13695}
13696
13697func (c *dlpServiceClient) DeleteInspectTemplate(ctx context.Context, in *DeleteInspectTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
13698	out := new(empty.Empty)
13699	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteInspectTemplate", in, out, opts...)
13700	if err != nil {
13701		return nil, err
13702	}
13703	return out, nil
13704}
13705
13706func (c *dlpServiceClient) CreateDeidentifyTemplate(ctx context.Context, in *CreateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
13707	out := new(DeidentifyTemplate)
13708	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate", in, out, opts...)
13709	if err != nil {
13710		return nil, err
13711	}
13712	return out, nil
13713}
13714
13715func (c *dlpServiceClient) UpdateDeidentifyTemplate(ctx context.Context, in *UpdateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
13716	out := new(DeidentifyTemplate)
13717	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate", in, out, opts...)
13718	if err != nil {
13719		return nil, err
13720	}
13721	return out, nil
13722}
13723
13724func (c *dlpServiceClient) GetDeidentifyTemplate(ctx context.Context, in *GetDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
13725	out := new(DeidentifyTemplate)
13726	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate", in, out, opts...)
13727	if err != nil {
13728		return nil, err
13729	}
13730	return out, nil
13731}
13732
13733func (c *dlpServiceClient) ListDeidentifyTemplates(ctx context.Context, in *ListDeidentifyTemplatesRequest, opts ...grpc.CallOption) (*ListDeidentifyTemplatesResponse, error) {
13734	out := new(ListDeidentifyTemplatesResponse)
13735	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates", in, out, opts...)
13736	if err != nil {
13737		return nil, err
13738	}
13739	return out, nil
13740}
13741
13742func (c *dlpServiceClient) DeleteDeidentifyTemplate(ctx context.Context, in *DeleteDeidentifyTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
13743	out := new(empty.Empty)
13744	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate", in, out, opts...)
13745	if err != nil {
13746		return nil, err
13747	}
13748	return out, nil
13749}
13750
13751func (c *dlpServiceClient) CreateJobTrigger(ctx context.Context, in *CreateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
13752	out := new(JobTrigger)
13753	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateJobTrigger", in, out, opts...)
13754	if err != nil {
13755		return nil, err
13756	}
13757	return out, nil
13758}
13759
13760func (c *dlpServiceClient) UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
13761	out := new(JobTrigger)
13762	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateJobTrigger", in, out, opts...)
13763	if err != nil {
13764		return nil, err
13765	}
13766	return out, nil
13767}
13768
13769func (c *dlpServiceClient) HybridInspectJobTrigger(ctx context.Context, in *HybridInspectJobTriggerRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) {
13770	out := new(HybridInspectResponse)
13771	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/HybridInspectJobTrigger", in, out, opts...)
13772	if err != nil {
13773		return nil, err
13774	}
13775	return out, nil
13776}
13777
13778func (c *dlpServiceClient) GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
13779	out := new(JobTrigger)
13780	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetJobTrigger", in, out, opts...)
13781	if err != nil {
13782		return nil, err
13783	}
13784	return out, nil
13785}
13786
13787func (c *dlpServiceClient) ListJobTriggers(ctx context.Context, in *ListJobTriggersRequest, opts ...grpc.CallOption) (*ListJobTriggersResponse, error) {
13788	out := new(ListJobTriggersResponse)
13789	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListJobTriggers", in, out, opts...)
13790	if err != nil {
13791		return nil, err
13792	}
13793	return out, nil
13794}
13795
13796func (c *dlpServiceClient) DeleteJobTrigger(ctx context.Context, in *DeleteJobTriggerRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
13797	out := new(empty.Empty)
13798	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteJobTrigger", in, out, opts...)
13799	if err != nil {
13800		return nil, err
13801	}
13802	return out, nil
13803}
13804
13805func (c *dlpServiceClient) ActivateJobTrigger(ctx context.Context, in *ActivateJobTriggerRequest, opts ...grpc.CallOption) (*DlpJob, error) {
13806	out := new(DlpJob)
13807	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ActivateJobTrigger", in, out, opts...)
13808	if err != nil {
13809		return nil, err
13810	}
13811	return out, nil
13812}
13813
13814func (c *dlpServiceClient) CreateDlpJob(ctx context.Context, in *CreateDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) {
13815	out := new(DlpJob)
13816	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateDlpJob", in, out, opts...)
13817	if err != nil {
13818		return nil, err
13819	}
13820	return out, nil
13821}
13822
13823func (c *dlpServiceClient) ListDlpJobs(ctx context.Context, in *ListDlpJobsRequest, opts ...grpc.CallOption) (*ListDlpJobsResponse, error) {
13824	out := new(ListDlpJobsResponse)
13825	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListDlpJobs", in, out, opts...)
13826	if err != nil {
13827		return nil, err
13828	}
13829	return out, nil
13830}
13831
13832func (c *dlpServiceClient) GetDlpJob(ctx context.Context, in *GetDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) {
13833	out := new(DlpJob)
13834	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetDlpJob", in, out, opts...)
13835	if err != nil {
13836		return nil, err
13837	}
13838	return out, nil
13839}
13840
13841func (c *dlpServiceClient) DeleteDlpJob(ctx context.Context, in *DeleteDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
13842	out := new(empty.Empty)
13843	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteDlpJob", in, out, opts...)
13844	if err != nil {
13845		return nil, err
13846	}
13847	return out, nil
13848}
13849
13850func (c *dlpServiceClient) CancelDlpJob(ctx context.Context, in *CancelDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
13851	out := new(empty.Empty)
13852	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CancelDlpJob", in, out, opts...)
13853	if err != nil {
13854		return nil, err
13855	}
13856	return out, nil
13857}
13858
13859func (c *dlpServiceClient) CreateStoredInfoType(ctx context.Context, in *CreateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
13860	out := new(StoredInfoType)
13861	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateStoredInfoType", in, out, opts...)
13862	if err != nil {
13863		return nil, err
13864	}
13865	return out, nil
13866}
13867
13868func (c *dlpServiceClient) UpdateStoredInfoType(ctx context.Context, in *UpdateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
13869	out := new(StoredInfoType)
13870	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateStoredInfoType", in, out, opts...)
13871	if err != nil {
13872		return nil, err
13873	}
13874	return out, nil
13875}
13876
13877func (c *dlpServiceClient) GetStoredInfoType(ctx context.Context, in *GetStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
13878	out := new(StoredInfoType)
13879	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetStoredInfoType", in, out, opts...)
13880	if err != nil {
13881		return nil, err
13882	}
13883	return out, nil
13884}
13885
13886func (c *dlpServiceClient) ListStoredInfoTypes(ctx context.Context, in *ListStoredInfoTypesRequest, opts ...grpc.CallOption) (*ListStoredInfoTypesResponse, error) {
13887	out := new(ListStoredInfoTypesResponse)
13888	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListStoredInfoTypes", in, out, opts...)
13889	if err != nil {
13890		return nil, err
13891	}
13892	return out, nil
13893}
13894
13895func (c *dlpServiceClient) DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
13896	out := new(empty.Empty)
13897	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteStoredInfoType", in, out, opts...)
13898	if err != nil {
13899		return nil, err
13900	}
13901	return out, nil
13902}
13903
13904func (c *dlpServiceClient) HybridInspectDlpJob(ctx context.Context, in *HybridInspectDlpJobRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) {
13905	out := new(HybridInspectResponse)
13906	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/HybridInspectDlpJob", in, out, opts...)
13907	if err != nil {
13908		return nil, err
13909	}
13910	return out, nil
13911}
13912
13913func (c *dlpServiceClient) FinishDlpJob(ctx context.Context, in *FinishDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
13914	out := new(empty.Empty)
13915	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/FinishDlpJob", in, out, opts...)
13916	if err != nil {
13917		return nil, err
13918	}
13919	return out, nil
13920}
13921
13922// DlpServiceServer is the server API for DlpService service.
13923type DlpServiceServer interface {
13924	// Finds potentially sensitive info in content.
13925	// This method has limits on input size, processing time, and output size.
13926	//
13927	// When no InfoTypes or CustomInfoTypes are specified in this request, the
13928	// system will automatically choose what detectors to run. By default this may
13929	// be all types, but may change over time as detectors are updated.
13930	//
13931	// For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
13932	// and https://cloud.google.com/dlp/docs/inspecting-text,
13933	InspectContent(context.Context, *InspectContentRequest) (*InspectContentResponse, error)
13934	// Redacts potentially sensitive info from an image.
13935	// This method has limits on input size, processing time, and output size.
13936	// See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
13937	// learn more.
13938	//
13939	// When no InfoTypes or CustomInfoTypes are specified in this request, the
13940	// system will automatically choose what detectors to run. By default this may
13941	// be all types, but may change over time as detectors are updated.
13942	RedactImage(context.Context, *RedactImageRequest) (*RedactImageResponse, error)
13943	// De-identifies potentially sensitive info from a ContentItem.
13944	// This method has limits on input size and output size.
13945	// See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
13946	// learn more.
13947	//
13948	// When no InfoTypes or CustomInfoTypes are specified in this request, the
13949	// system will automatically choose what detectors to run. By default this may
13950	// be all types, but may change over time as detectors are updated.
13951	DeidentifyContent(context.Context, *DeidentifyContentRequest) (*DeidentifyContentResponse, error)
13952	// Re-identifies content that has been de-identified.
13953	// See
13954	// https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
13955	// to learn more.
13956	ReidentifyContent(context.Context, *ReidentifyContentRequest) (*ReidentifyContentResponse, error)
13957	// Returns a list of the sensitive information types that the DLP API
13958	// supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
13959	// learn more.
13960	ListInfoTypes(context.Context, *ListInfoTypesRequest) (*ListInfoTypesResponse, error)
13961	// Creates an InspectTemplate for re-using frequently used configuration
13962	// for inspecting content, images, and storage.
13963	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13964	CreateInspectTemplate(context.Context, *CreateInspectTemplateRequest) (*InspectTemplate, error)
13965	// Updates the InspectTemplate.
13966	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13967	UpdateInspectTemplate(context.Context, *UpdateInspectTemplateRequest) (*InspectTemplate, error)
13968	// Gets an InspectTemplate.
13969	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13970	GetInspectTemplate(context.Context, *GetInspectTemplateRequest) (*InspectTemplate, error)
13971	// Lists InspectTemplates.
13972	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13973	ListInspectTemplates(context.Context, *ListInspectTemplatesRequest) (*ListInspectTemplatesResponse, error)
13974	// Deletes an InspectTemplate.
13975	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
13976	DeleteInspectTemplate(context.Context, *DeleteInspectTemplateRequest) (*empty.Empty, error)
13977	// Creates a DeidentifyTemplate for re-using frequently used configuration
13978	// for de-identifying content, images, and storage.
13979	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13980	// more.
13981	CreateDeidentifyTemplate(context.Context, *CreateDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
13982	// Updates the DeidentifyTemplate.
13983	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13984	// more.
13985	UpdateDeidentifyTemplate(context.Context, *UpdateDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
13986	// Gets a DeidentifyTemplate.
13987	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13988	// more.
13989	GetDeidentifyTemplate(context.Context, *GetDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
13990	// Lists DeidentifyTemplates.
13991	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13992	// more.
13993	ListDeidentifyTemplates(context.Context, *ListDeidentifyTemplatesRequest) (*ListDeidentifyTemplatesResponse, error)
13994	// Deletes a DeidentifyTemplate.
13995	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
13996	// more.
13997	DeleteDeidentifyTemplate(context.Context, *DeleteDeidentifyTemplateRequest) (*empty.Empty, error)
13998	// Creates a job trigger to run DLP actions such as scanning storage for
13999	// sensitive information on a set schedule.
14000	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
14001	CreateJobTrigger(context.Context, *CreateJobTriggerRequest) (*JobTrigger, error)
14002	// Updates a job trigger.
14003	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
14004	UpdateJobTrigger(context.Context, *UpdateJobTriggerRequest) (*JobTrigger, error)
14005	// Inspect hybrid content and store findings to a trigger. The inspection
14006	// will be processed asynchronously. To review the findings monitor the
14007	// jobs within the trigger.
14008	// Early access feature is in a pre-release state and might change or have
14009	// limited support. For more information, see
14010	// https://cloud.google.com/products#product-launch-stages.
14011	HybridInspectJobTrigger(context.Context, *HybridInspectJobTriggerRequest) (*HybridInspectResponse, error)
14012	// Gets a job trigger.
14013	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
14014	GetJobTrigger(context.Context, *GetJobTriggerRequest) (*JobTrigger, error)
14015	// Lists job triggers.
14016	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
14017	ListJobTriggers(context.Context, *ListJobTriggersRequest) (*ListJobTriggersResponse, error)
14018	// Deletes a job trigger.
14019	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
14020	DeleteJobTrigger(context.Context, *DeleteJobTriggerRequest) (*empty.Empty, error)
14021	// Activate a job trigger. Causes the immediate execute of a trigger
14022	// instead of waiting on the trigger event to occur.
14023	ActivateJobTrigger(context.Context, *ActivateJobTriggerRequest) (*DlpJob, error)
14024	// Creates a new job to inspect storage or calculate risk metrics.
14025	// See https://cloud.google.com/dlp/docs/inspecting-storage and
14026	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
14027	//
14028	// When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
14029	// system will automatically choose what detectors to run. By default this may
14030	// be all types, but may change over time as detectors are updated.
14031	CreateDlpJob(context.Context, *CreateDlpJobRequest) (*DlpJob, error)
14032	// Lists DlpJobs that match the specified filter in the request.
14033	// See https://cloud.google.com/dlp/docs/inspecting-storage and
14034	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
14035	ListDlpJobs(context.Context, *ListDlpJobsRequest) (*ListDlpJobsResponse, error)
14036	// Gets the latest state of a long-running DlpJob.
14037	// See https://cloud.google.com/dlp/docs/inspecting-storage and
14038	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
14039	GetDlpJob(context.Context, *GetDlpJobRequest) (*DlpJob, error)
14040	// Deletes a long-running DlpJob. This method indicates that the client is
14041	// no longer interested in the DlpJob result. The job will be cancelled if
14042	// possible.
14043	// See https://cloud.google.com/dlp/docs/inspecting-storage and
14044	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
14045	DeleteDlpJob(context.Context, *DeleteDlpJobRequest) (*empty.Empty, error)
14046	// Starts asynchronous cancellation on a long-running DlpJob. The server
14047	// makes a best effort to cancel the DlpJob, but success is not
14048	// guaranteed.
14049	// See https://cloud.google.com/dlp/docs/inspecting-storage and
14050	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
14051	CancelDlpJob(context.Context, *CancelDlpJobRequest) (*empty.Empty, error)
14052	// Creates a pre-built stored infoType to be used for inspection.
14053	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
14054	// learn more.
14055	CreateStoredInfoType(context.Context, *CreateStoredInfoTypeRequest) (*StoredInfoType, error)
14056	// Updates the stored infoType by creating a new version. The existing version
14057	// will continue to be used until the new version is ready.
14058	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
14059	// learn more.
14060	UpdateStoredInfoType(context.Context, *UpdateStoredInfoTypeRequest) (*StoredInfoType, error)
14061	// Gets a stored infoType.
14062	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
14063	// learn more.
14064	GetStoredInfoType(context.Context, *GetStoredInfoTypeRequest) (*StoredInfoType, error)
14065	// Lists stored infoTypes.
14066	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
14067	// learn more.
14068	ListStoredInfoTypes(context.Context, *ListStoredInfoTypesRequest) (*ListStoredInfoTypesResponse, error)
14069	// Deletes a stored infoType.
14070	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
14071	// learn more.
14072	DeleteStoredInfoType(context.Context, *DeleteStoredInfoTypeRequest) (*empty.Empty, error)
14073	// Inspect hybrid content and store findings to a job.
14074	// To review the findings inspect the job. Inspection will occur
14075	// asynchronously.
14076	// Early access feature is in a pre-release state and might change or have
14077	// limited support. For more information, see
14078	// https://cloud.google.com/products#product-launch-stages.
14079	HybridInspectDlpJob(context.Context, *HybridInspectDlpJobRequest) (*HybridInspectResponse, error)
14080	// Finish a running hybrid DlpJob. Triggers the finalization steps and running
14081	// of any enabled actions that have not yet run.
14082	// Early access feature is in a pre-release state and might change or have
14083	// limited support. For more information, see
14084	// https://cloud.google.com/products#product-launch-stages.
14085	FinishDlpJob(context.Context, *FinishDlpJobRequest) (*empty.Empty, error)
14086}
14087
14088// UnimplementedDlpServiceServer can be embedded to have forward compatible implementations.
14089type UnimplementedDlpServiceServer struct {
14090}
14091
14092func (*UnimplementedDlpServiceServer) InspectContent(ctx context.Context, req *InspectContentRequest) (*InspectContentResponse, error) {
14093	return nil, status1.Errorf(codes.Unimplemented, "method InspectContent not implemented")
14094}
14095func (*UnimplementedDlpServiceServer) RedactImage(ctx context.Context, req *RedactImageRequest) (*RedactImageResponse, error) {
14096	return nil, status1.Errorf(codes.Unimplemented, "method RedactImage not implemented")
14097}
14098func (*UnimplementedDlpServiceServer) DeidentifyContent(ctx context.Context, req *DeidentifyContentRequest) (*DeidentifyContentResponse, error) {
14099	return nil, status1.Errorf(codes.Unimplemented, "method DeidentifyContent not implemented")
14100}
14101func (*UnimplementedDlpServiceServer) ReidentifyContent(ctx context.Context, req *ReidentifyContentRequest) (*ReidentifyContentResponse, error) {
14102	return nil, status1.Errorf(codes.Unimplemented, "method ReidentifyContent not implemented")
14103}
14104func (*UnimplementedDlpServiceServer) ListInfoTypes(ctx context.Context, req *ListInfoTypesRequest) (*ListInfoTypesResponse, error) {
14105	return nil, status1.Errorf(codes.Unimplemented, "method ListInfoTypes not implemented")
14106}
14107func (*UnimplementedDlpServiceServer) CreateInspectTemplate(ctx context.Context, req *CreateInspectTemplateRequest) (*InspectTemplate, error) {
14108	return nil, status1.Errorf(codes.Unimplemented, "method CreateInspectTemplate not implemented")
14109}
14110func (*UnimplementedDlpServiceServer) UpdateInspectTemplate(ctx context.Context, req *UpdateInspectTemplateRequest) (*InspectTemplate, error) {
14111	return nil, status1.Errorf(codes.Unimplemented, "method UpdateInspectTemplate not implemented")
14112}
14113func (*UnimplementedDlpServiceServer) GetInspectTemplate(ctx context.Context, req *GetInspectTemplateRequest) (*InspectTemplate, error) {
14114	return nil, status1.Errorf(codes.Unimplemented, "method GetInspectTemplate not implemented")
14115}
14116func (*UnimplementedDlpServiceServer) ListInspectTemplates(ctx context.Context, req *ListInspectTemplatesRequest) (*ListInspectTemplatesResponse, error) {
14117	return nil, status1.Errorf(codes.Unimplemented, "method ListInspectTemplates not implemented")
14118}
14119func (*UnimplementedDlpServiceServer) DeleteInspectTemplate(ctx context.Context, req *DeleteInspectTemplateRequest) (*empty.Empty, error) {
14120	return nil, status1.Errorf(codes.Unimplemented, "method DeleteInspectTemplate not implemented")
14121}
14122func (*UnimplementedDlpServiceServer) CreateDeidentifyTemplate(ctx context.Context, req *CreateDeidentifyTemplateRequest) (*DeidentifyTemplate, error) {
14123	return nil, status1.Errorf(codes.Unimplemented, "method CreateDeidentifyTemplate not implemented")
14124}
14125func (*UnimplementedDlpServiceServer) UpdateDeidentifyTemplate(ctx context.Context, req *UpdateDeidentifyTemplateRequest) (*DeidentifyTemplate, error) {
14126	return nil, status1.Errorf(codes.Unimplemented, "method UpdateDeidentifyTemplate not implemented")
14127}
14128func (*UnimplementedDlpServiceServer) GetDeidentifyTemplate(ctx context.Context, req *GetDeidentifyTemplateRequest) (*DeidentifyTemplate, error) {
14129	return nil, status1.Errorf(codes.Unimplemented, "method GetDeidentifyTemplate not implemented")
14130}
14131func (*UnimplementedDlpServiceServer) ListDeidentifyTemplates(ctx context.Context, req *ListDeidentifyTemplatesRequest) (*ListDeidentifyTemplatesResponse, error) {
14132	return nil, status1.Errorf(codes.Unimplemented, "method ListDeidentifyTemplates not implemented")
14133}
14134func (*UnimplementedDlpServiceServer) DeleteDeidentifyTemplate(ctx context.Context, req *DeleteDeidentifyTemplateRequest) (*empty.Empty, error) {
14135	return nil, status1.Errorf(codes.Unimplemented, "method DeleteDeidentifyTemplate not implemented")
14136}
14137func (*UnimplementedDlpServiceServer) CreateJobTrigger(ctx context.Context, req *CreateJobTriggerRequest) (*JobTrigger, error) {
14138	return nil, status1.Errorf(codes.Unimplemented, "method CreateJobTrigger not implemented")
14139}
14140func (*UnimplementedDlpServiceServer) UpdateJobTrigger(ctx context.Context, req *UpdateJobTriggerRequest) (*JobTrigger, error) {
14141	return nil, status1.Errorf(codes.Unimplemented, "method UpdateJobTrigger not implemented")
14142}
14143func (*UnimplementedDlpServiceServer) HybridInspectJobTrigger(ctx context.Context, req *HybridInspectJobTriggerRequest) (*HybridInspectResponse, error) {
14144	return nil, status1.Errorf(codes.Unimplemented, "method HybridInspectJobTrigger not implemented")
14145}
14146func (*UnimplementedDlpServiceServer) GetJobTrigger(ctx context.Context, req *GetJobTriggerRequest) (*JobTrigger, error) {
14147	return nil, status1.Errorf(codes.Unimplemented, "method GetJobTrigger not implemented")
14148}
14149func (*UnimplementedDlpServiceServer) ListJobTriggers(ctx context.Context, req *ListJobTriggersRequest) (*ListJobTriggersResponse, error) {
14150	return nil, status1.Errorf(codes.Unimplemented, "method ListJobTriggers not implemented")
14151}
14152func (*UnimplementedDlpServiceServer) DeleteJobTrigger(ctx context.Context, req *DeleteJobTriggerRequest) (*empty.Empty, error) {
14153	return nil, status1.Errorf(codes.Unimplemented, "method DeleteJobTrigger not implemented")
14154}
14155func (*UnimplementedDlpServiceServer) ActivateJobTrigger(ctx context.Context, req *ActivateJobTriggerRequest) (*DlpJob, error) {
14156	return nil, status1.Errorf(codes.Unimplemented, "method ActivateJobTrigger not implemented")
14157}
14158func (*UnimplementedDlpServiceServer) CreateDlpJob(ctx context.Context, req *CreateDlpJobRequest) (*DlpJob, error) {
14159	return nil, status1.Errorf(codes.Unimplemented, "method CreateDlpJob not implemented")
14160}
14161func (*UnimplementedDlpServiceServer) ListDlpJobs(ctx context.Context, req *ListDlpJobsRequest) (*ListDlpJobsResponse, error) {
14162	return nil, status1.Errorf(codes.Unimplemented, "method ListDlpJobs not implemented")
14163}
14164func (*UnimplementedDlpServiceServer) GetDlpJob(ctx context.Context, req *GetDlpJobRequest) (*DlpJob, error) {
14165	return nil, status1.Errorf(codes.Unimplemented, "method GetDlpJob not implemented")
14166}
14167func (*UnimplementedDlpServiceServer) DeleteDlpJob(ctx context.Context, req *DeleteDlpJobRequest) (*empty.Empty, error) {
14168	return nil, status1.Errorf(codes.Unimplemented, "method DeleteDlpJob not implemented")
14169}
14170func (*UnimplementedDlpServiceServer) CancelDlpJob(ctx context.Context, req *CancelDlpJobRequest) (*empty.Empty, error) {
14171	return nil, status1.Errorf(codes.Unimplemented, "method CancelDlpJob not implemented")
14172}
14173func (*UnimplementedDlpServiceServer) CreateStoredInfoType(ctx context.Context, req *CreateStoredInfoTypeRequest) (*StoredInfoType, error) {
14174	return nil, status1.Errorf(codes.Unimplemented, "method CreateStoredInfoType not implemented")
14175}
14176func (*UnimplementedDlpServiceServer) UpdateStoredInfoType(ctx context.Context, req *UpdateStoredInfoTypeRequest) (*StoredInfoType, error) {
14177	return nil, status1.Errorf(codes.Unimplemented, "method UpdateStoredInfoType not implemented")
14178}
14179func (*UnimplementedDlpServiceServer) GetStoredInfoType(ctx context.Context, req *GetStoredInfoTypeRequest) (*StoredInfoType, error) {
14180	return nil, status1.Errorf(codes.Unimplemented, "method GetStoredInfoType not implemented")
14181}
14182func (*UnimplementedDlpServiceServer) ListStoredInfoTypes(ctx context.Context, req *ListStoredInfoTypesRequest) (*ListStoredInfoTypesResponse, error) {
14183	return nil, status1.Errorf(codes.Unimplemented, "method ListStoredInfoTypes not implemented")
14184}
14185func (*UnimplementedDlpServiceServer) DeleteStoredInfoType(ctx context.Context, req *DeleteStoredInfoTypeRequest) (*empty.Empty, error) {
14186	return nil, status1.Errorf(codes.Unimplemented, "method DeleteStoredInfoType not implemented")
14187}
14188func (*UnimplementedDlpServiceServer) HybridInspectDlpJob(ctx context.Context, req *HybridInspectDlpJobRequest) (*HybridInspectResponse, error) {
14189	return nil, status1.Errorf(codes.Unimplemented, "method HybridInspectDlpJob not implemented")
14190}
14191func (*UnimplementedDlpServiceServer) FinishDlpJob(ctx context.Context, req *FinishDlpJobRequest) (*empty.Empty, error) {
14192	return nil, status1.Errorf(codes.Unimplemented, "method FinishDlpJob not implemented")
14193}
14194
14195func RegisterDlpServiceServer(s *grpc.Server, srv DlpServiceServer) {
14196	s.RegisterService(&_DlpService_serviceDesc, srv)
14197}
14198
14199func _DlpService_InspectContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14200	in := new(InspectContentRequest)
14201	if err := dec(in); err != nil {
14202		return nil, err
14203	}
14204	if interceptor == nil {
14205		return srv.(DlpServiceServer).InspectContent(ctx, in)
14206	}
14207	info := &grpc.UnaryServerInfo{
14208		Server:     srv,
14209		FullMethod: "/google.privacy.dlp.v2.DlpService/InspectContent",
14210	}
14211	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14212		return srv.(DlpServiceServer).InspectContent(ctx, req.(*InspectContentRequest))
14213	}
14214	return interceptor(ctx, in, info, handler)
14215}
14216
14217func _DlpService_RedactImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14218	in := new(RedactImageRequest)
14219	if err := dec(in); err != nil {
14220		return nil, err
14221	}
14222	if interceptor == nil {
14223		return srv.(DlpServiceServer).RedactImage(ctx, in)
14224	}
14225	info := &grpc.UnaryServerInfo{
14226		Server:     srv,
14227		FullMethod: "/google.privacy.dlp.v2.DlpService/RedactImage",
14228	}
14229	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14230		return srv.(DlpServiceServer).RedactImage(ctx, req.(*RedactImageRequest))
14231	}
14232	return interceptor(ctx, in, info, handler)
14233}
14234
14235func _DlpService_DeidentifyContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14236	in := new(DeidentifyContentRequest)
14237	if err := dec(in); err != nil {
14238		return nil, err
14239	}
14240	if interceptor == nil {
14241		return srv.(DlpServiceServer).DeidentifyContent(ctx, in)
14242	}
14243	info := &grpc.UnaryServerInfo{
14244		Server:     srv,
14245		FullMethod: "/google.privacy.dlp.v2.DlpService/DeidentifyContent",
14246	}
14247	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14248		return srv.(DlpServiceServer).DeidentifyContent(ctx, req.(*DeidentifyContentRequest))
14249	}
14250	return interceptor(ctx, in, info, handler)
14251}
14252
14253func _DlpService_ReidentifyContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14254	in := new(ReidentifyContentRequest)
14255	if err := dec(in); err != nil {
14256		return nil, err
14257	}
14258	if interceptor == nil {
14259		return srv.(DlpServiceServer).ReidentifyContent(ctx, in)
14260	}
14261	info := &grpc.UnaryServerInfo{
14262		Server:     srv,
14263		FullMethod: "/google.privacy.dlp.v2.DlpService/ReidentifyContent",
14264	}
14265	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14266		return srv.(DlpServiceServer).ReidentifyContent(ctx, req.(*ReidentifyContentRequest))
14267	}
14268	return interceptor(ctx, in, info, handler)
14269}
14270
14271func _DlpService_ListInfoTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14272	in := new(ListInfoTypesRequest)
14273	if err := dec(in); err != nil {
14274		return nil, err
14275	}
14276	if interceptor == nil {
14277		return srv.(DlpServiceServer).ListInfoTypes(ctx, in)
14278	}
14279	info := &grpc.UnaryServerInfo{
14280		Server:     srv,
14281		FullMethod: "/google.privacy.dlp.v2.DlpService/ListInfoTypes",
14282	}
14283	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14284		return srv.(DlpServiceServer).ListInfoTypes(ctx, req.(*ListInfoTypesRequest))
14285	}
14286	return interceptor(ctx, in, info, handler)
14287}
14288
14289func _DlpService_CreateInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14290	in := new(CreateInspectTemplateRequest)
14291	if err := dec(in); err != nil {
14292		return nil, err
14293	}
14294	if interceptor == nil {
14295		return srv.(DlpServiceServer).CreateInspectTemplate(ctx, in)
14296	}
14297	info := &grpc.UnaryServerInfo{
14298		Server:     srv,
14299		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateInspectTemplate",
14300	}
14301	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14302		return srv.(DlpServiceServer).CreateInspectTemplate(ctx, req.(*CreateInspectTemplateRequest))
14303	}
14304	return interceptor(ctx, in, info, handler)
14305}
14306
14307func _DlpService_UpdateInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14308	in := new(UpdateInspectTemplateRequest)
14309	if err := dec(in); err != nil {
14310		return nil, err
14311	}
14312	if interceptor == nil {
14313		return srv.(DlpServiceServer).UpdateInspectTemplate(ctx, in)
14314	}
14315	info := &grpc.UnaryServerInfo{
14316		Server:     srv,
14317		FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateInspectTemplate",
14318	}
14319	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14320		return srv.(DlpServiceServer).UpdateInspectTemplate(ctx, req.(*UpdateInspectTemplateRequest))
14321	}
14322	return interceptor(ctx, in, info, handler)
14323}
14324
14325func _DlpService_GetInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14326	in := new(GetInspectTemplateRequest)
14327	if err := dec(in); err != nil {
14328		return nil, err
14329	}
14330	if interceptor == nil {
14331		return srv.(DlpServiceServer).GetInspectTemplate(ctx, in)
14332	}
14333	info := &grpc.UnaryServerInfo{
14334		Server:     srv,
14335		FullMethod: "/google.privacy.dlp.v2.DlpService/GetInspectTemplate",
14336	}
14337	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14338		return srv.(DlpServiceServer).GetInspectTemplate(ctx, req.(*GetInspectTemplateRequest))
14339	}
14340	return interceptor(ctx, in, info, handler)
14341}
14342
14343func _DlpService_ListInspectTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14344	in := new(ListInspectTemplatesRequest)
14345	if err := dec(in); err != nil {
14346		return nil, err
14347	}
14348	if interceptor == nil {
14349		return srv.(DlpServiceServer).ListInspectTemplates(ctx, in)
14350	}
14351	info := &grpc.UnaryServerInfo{
14352		Server:     srv,
14353		FullMethod: "/google.privacy.dlp.v2.DlpService/ListInspectTemplates",
14354	}
14355	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14356		return srv.(DlpServiceServer).ListInspectTemplates(ctx, req.(*ListInspectTemplatesRequest))
14357	}
14358	return interceptor(ctx, in, info, handler)
14359}
14360
14361func _DlpService_DeleteInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14362	in := new(DeleteInspectTemplateRequest)
14363	if err := dec(in); err != nil {
14364		return nil, err
14365	}
14366	if interceptor == nil {
14367		return srv.(DlpServiceServer).DeleteInspectTemplate(ctx, in)
14368	}
14369	info := &grpc.UnaryServerInfo{
14370		Server:     srv,
14371		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteInspectTemplate",
14372	}
14373	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14374		return srv.(DlpServiceServer).DeleteInspectTemplate(ctx, req.(*DeleteInspectTemplateRequest))
14375	}
14376	return interceptor(ctx, in, info, handler)
14377}
14378
14379func _DlpService_CreateDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14380	in := new(CreateDeidentifyTemplateRequest)
14381	if err := dec(in); err != nil {
14382		return nil, err
14383	}
14384	if interceptor == nil {
14385		return srv.(DlpServiceServer).CreateDeidentifyTemplate(ctx, in)
14386	}
14387	info := &grpc.UnaryServerInfo{
14388		Server:     srv,
14389		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate",
14390	}
14391	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14392		return srv.(DlpServiceServer).CreateDeidentifyTemplate(ctx, req.(*CreateDeidentifyTemplateRequest))
14393	}
14394	return interceptor(ctx, in, info, handler)
14395}
14396
14397func _DlpService_UpdateDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14398	in := new(UpdateDeidentifyTemplateRequest)
14399	if err := dec(in); err != nil {
14400		return nil, err
14401	}
14402	if interceptor == nil {
14403		return srv.(DlpServiceServer).UpdateDeidentifyTemplate(ctx, in)
14404	}
14405	info := &grpc.UnaryServerInfo{
14406		Server:     srv,
14407		FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate",
14408	}
14409	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14410		return srv.(DlpServiceServer).UpdateDeidentifyTemplate(ctx, req.(*UpdateDeidentifyTemplateRequest))
14411	}
14412	return interceptor(ctx, in, info, handler)
14413}
14414
14415func _DlpService_GetDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14416	in := new(GetDeidentifyTemplateRequest)
14417	if err := dec(in); err != nil {
14418		return nil, err
14419	}
14420	if interceptor == nil {
14421		return srv.(DlpServiceServer).GetDeidentifyTemplate(ctx, in)
14422	}
14423	info := &grpc.UnaryServerInfo{
14424		Server:     srv,
14425		FullMethod: "/google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate",
14426	}
14427	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14428		return srv.(DlpServiceServer).GetDeidentifyTemplate(ctx, req.(*GetDeidentifyTemplateRequest))
14429	}
14430	return interceptor(ctx, in, info, handler)
14431}
14432
14433func _DlpService_ListDeidentifyTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14434	in := new(ListDeidentifyTemplatesRequest)
14435	if err := dec(in); err != nil {
14436		return nil, err
14437	}
14438	if interceptor == nil {
14439		return srv.(DlpServiceServer).ListDeidentifyTemplates(ctx, in)
14440	}
14441	info := &grpc.UnaryServerInfo{
14442		Server:     srv,
14443		FullMethod: "/google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates",
14444	}
14445	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14446		return srv.(DlpServiceServer).ListDeidentifyTemplates(ctx, req.(*ListDeidentifyTemplatesRequest))
14447	}
14448	return interceptor(ctx, in, info, handler)
14449}
14450
14451func _DlpService_DeleteDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14452	in := new(DeleteDeidentifyTemplateRequest)
14453	if err := dec(in); err != nil {
14454		return nil, err
14455	}
14456	if interceptor == nil {
14457		return srv.(DlpServiceServer).DeleteDeidentifyTemplate(ctx, in)
14458	}
14459	info := &grpc.UnaryServerInfo{
14460		Server:     srv,
14461		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate",
14462	}
14463	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14464		return srv.(DlpServiceServer).DeleteDeidentifyTemplate(ctx, req.(*DeleteDeidentifyTemplateRequest))
14465	}
14466	return interceptor(ctx, in, info, handler)
14467}
14468
14469func _DlpService_CreateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14470	in := new(CreateJobTriggerRequest)
14471	if err := dec(in); err != nil {
14472		return nil, err
14473	}
14474	if interceptor == nil {
14475		return srv.(DlpServiceServer).CreateJobTrigger(ctx, in)
14476	}
14477	info := &grpc.UnaryServerInfo{
14478		Server:     srv,
14479		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateJobTrigger",
14480	}
14481	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14482		return srv.(DlpServiceServer).CreateJobTrigger(ctx, req.(*CreateJobTriggerRequest))
14483	}
14484	return interceptor(ctx, in, info, handler)
14485}
14486
14487func _DlpService_UpdateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14488	in := new(UpdateJobTriggerRequest)
14489	if err := dec(in); err != nil {
14490		return nil, err
14491	}
14492	if interceptor == nil {
14493		return srv.(DlpServiceServer).UpdateJobTrigger(ctx, in)
14494	}
14495	info := &grpc.UnaryServerInfo{
14496		Server:     srv,
14497		FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateJobTrigger",
14498	}
14499	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14500		return srv.(DlpServiceServer).UpdateJobTrigger(ctx, req.(*UpdateJobTriggerRequest))
14501	}
14502	return interceptor(ctx, in, info, handler)
14503}
14504
14505func _DlpService_HybridInspectJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14506	in := new(HybridInspectJobTriggerRequest)
14507	if err := dec(in); err != nil {
14508		return nil, err
14509	}
14510	if interceptor == nil {
14511		return srv.(DlpServiceServer).HybridInspectJobTrigger(ctx, in)
14512	}
14513	info := &grpc.UnaryServerInfo{
14514		Server:     srv,
14515		FullMethod: "/google.privacy.dlp.v2.DlpService/HybridInspectJobTrigger",
14516	}
14517	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14518		return srv.(DlpServiceServer).HybridInspectJobTrigger(ctx, req.(*HybridInspectJobTriggerRequest))
14519	}
14520	return interceptor(ctx, in, info, handler)
14521}
14522
14523func _DlpService_GetJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14524	in := new(GetJobTriggerRequest)
14525	if err := dec(in); err != nil {
14526		return nil, err
14527	}
14528	if interceptor == nil {
14529		return srv.(DlpServiceServer).GetJobTrigger(ctx, in)
14530	}
14531	info := &grpc.UnaryServerInfo{
14532		Server:     srv,
14533		FullMethod: "/google.privacy.dlp.v2.DlpService/GetJobTrigger",
14534	}
14535	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14536		return srv.(DlpServiceServer).GetJobTrigger(ctx, req.(*GetJobTriggerRequest))
14537	}
14538	return interceptor(ctx, in, info, handler)
14539}
14540
14541func _DlpService_ListJobTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14542	in := new(ListJobTriggersRequest)
14543	if err := dec(in); err != nil {
14544		return nil, err
14545	}
14546	if interceptor == nil {
14547		return srv.(DlpServiceServer).ListJobTriggers(ctx, in)
14548	}
14549	info := &grpc.UnaryServerInfo{
14550		Server:     srv,
14551		FullMethod: "/google.privacy.dlp.v2.DlpService/ListJobTriggers",
14552	}
14553	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14554		return srv.(DlpServiceServer).ListJobTriggers(ctx, req.(*ListJobTriggersRequest))
14555	}
14556	return interceptor(ctx, in, info, handler)
14557}
14558
14559func _DlpService_DeleteJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14560	in := new(DeleteJobTriggerRequest)
14561	if err := dec(in); err != nil {
14562		return nil, err
14563	}
14564	if interceptor == nil {
14565		return srv.(DlpServiceServer).DeleteJobTrigger(ctx, in)
14566	}
14567	info := &grpc.UnaryServerInfo{
14568		Server:     srv,
14569		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteJobTrigger",
14570	}
14571	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14572		return srv.(DlpServiceServer).DeleteJobTrigger(ctx, req.(*DeleteJobTriggerRequest))
14573	}
14574	return interceptor(ctx, in, info, handler)
14575}
14576
14577func _DlpService_ActivateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14578	in := new(ActivateJobTriggerRequest)
14579	if err := dec(in); err != nil {
14580		return nil, err
14581	}
14582	if interceptor == nil {
14583		return srv.(DlpServiceServer).ActivateJobTrigger(ctx, in)
14584	}
14585	info := &grpc.UnaryServerInfo{
14586		Server:     srv,
14587		FullMethod: "/google.privacy.dlp.v2.DlpService/ActivateJobTrigger",
14588	}
14589	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14590		return srv.(DlpServiceServer).ActivateJobTrigger(ctx, req.(*ActivateJobTriggerRequest))
14591	}
14592	return interceptor(ctx, in, info, handler)
14593}
14594
14595func _DlpService_CreateDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14596	in := new(CreateDlpJobRequest)
14597	if err := dec(in); err != nil {
14598		return nil, err
14599	}
14600	if interceptor == nil {
14601		return srv.(DlpServiceServer).CreateDlpJob(ctx, in)
14602	}
14603	info := &grpc.UnaryServerInfo{
14604		Server:     srv,
14605		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateDlpJob",
14606	}
14607	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14608		return srv.(DlpServiceServer).CreateDlpJob(ctx, req.(*CreateDlpJobRequest))
14609	}
14610	return interceptor(ctx, in, info, handler)
14611}
14612
14613func _DlpService_ListDlpJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14614	in := new(ListDlpJobsRequest)
14615	if err := dec(in); err != nil {
14616		return nil, err
14617	}
14618	if interceptor == nil {
14619		return srv.(DlpServiceServer).ListDlpJobs(ctx, in)
14620	}
14621	info := &grpc.UnaryServerInfo{
14622		Server:     srv,
14623		FullMethod: "/google.privacy.dlp.v2.DlpService/ListDlpJobs",
14624	}
14625	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14626		return srv.(DlpServiceServer).ListDlpJobs(ctx, req.(*ListDlpJobsRequest))
14627	}
14628	return interceptor(ctx, in, info, handler)
14629}
14630
14631func _DlpService_GetDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14632	in := new(GetDlpJobRequest)
14633	if err := dec(in); err != nil {
14634		return nil, err
14635	}
14636	if interceptor == nil {
14637		return srv.(DlpServiceServer).GetDlpJob(ctx, in)
14638	}
14639	info := &grpc.UnaryServerInfo{
14640		Server:     srv,
14641		FullMethod: "/google.privacy.dlp.v2.DlpService/GetDlpJob",
14642	}
14643	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14644		return srv.(DlpServiceServer).GetDlpJob(ctx, req.(*GetDlpJobRequest))
14645	}
14646	return interceptor(ctx, in, info, handler)
14647}
14648
14649func _DlpService_DeleteDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14650	in := new(DeleteDlpJobRequest)
14651	if err := dec(in); err != nil {
14652		return nil, err
14653	}
14654	if interceptor == nil {
14655		return srv.(DlpServiceServer).DeleteDlpJob(ctx, in)
14656	}
14657	info := &grpc.UnaryServerInfo{
14658		Server:     srv,
14659		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteDlpJob",
14660	}
14661	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14662		return srv.(DlpServiceServer).DeleteDlpJob(ctx, req.(*DeleteDlpJobRequest))
14663	}
14664	return interceptor(ctx, in, info, handler)
14665}
14666
14667func _DlpService_CancelDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14668	in := new(CancelDlpJobRequest)
14669	if err := dec(in); err != nil {
14670		return nil, err
14671	}
14672	if interceptor == nil {
14673		return srv.(DlpServiceServer).CancelDlpJob(ctx, in)
14674	}
14675	info := &grpc.UnaryServerInfo{
14676		Server:     srv,
14677		FullMethod: "/google.privacy.dlp.v2.DlpService/CancelDlpJob",
14678	}
14679	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14680		return srv.(DlpServiceServer).CancelDlpJob(ctx, req.(*CancelDlpJobRequest))
14681	}
14682	return interceptor(ctx, in, info, handler)
14683}
14684
14685func _DlpService_CreateStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14686	in := new(CreateStoredInfoTypeRequest)
14687	if err := dec(in); err != nil {
14688		return nil, err
14689	}
14690	if interceptor == nil {
14691		return srv.(DlpServiceServer).CreateStoredInfoType(ctx, in)
14692	}
14693	info := &grpc.UnaryServerInfo{
14694		Server:     srv,
14695		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateStoredInfoType",
14696	}
14697	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14698		return srv.(DlpServiceServer).CreateStoredInfoType(ctx, req.(*CreateStoredInfoTypeRequest))
14699	}
14700	return interceptor(ctx, in, info, handler)
14701}
14702
14703func _DlpService_UpdateStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14704	in := new(UpdateStoredInfoTypeRequest)
14705	if err := dec(in); err != nil {
14706		return nil, err
14707	}
14708	if interceptor == nil {
14709		return srv.(DlpServiceServer).UpdateStoredInfoType(ctx, in)
14710	}
14711	info := &grpc.UnaryServerInfo{
14712		Server:     srv,
14713		FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateStoredInfoType",
14714	}
14715	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14716		return srv.(DlpServiceServer).UpdateStoredInfoType(ctx, req.(*UpdateStoredInfoTypeRequest))
14717	}
14718	return interceptor(ctx, in, info, handler)
14719}
14720
14721func _DlpService_GetStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14722	in := new(GetStoredInfoTypeRequest)
14723	if err := dec(in); err != nil {
14724		return nil, err
14725	}
14726	if interceptor == nil {
14727		return srv.(DlpServiceServer).GetStoredInfoType(ctx, in)
14728	}
14729	info := &grpc.UnaryServerInfo{
14730		Server:     srv,
14731		FullMethod: "/google.privacy.dlp.v2.DlpService/GetStoredInfoType",
14732	}
14733	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14734		return srv.(DlpServiceServer).GetStoredInfoType(ctx, req.(*GetStoredInfoTypeRequest))
14735	}
14736	return interceptor(ctx, in, info, handler)
14737}
14738
14739func _DlpService_ListStoredInfoTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14740	in := new(ListStoredInfoTypesRequest)
14741	if err := dec(in); err != nil {
14742		return nil, err
14743	}
14744	if interceptor == nil {
14745		return srv.(DlpServiceServer).ListStoredInfoTypes(ctx, in)
14746	}
14747	info := &grpc.UnaryServerInfo{
14748		Server:     srv,
14749		FullMethod: "/google.privacy.dlp.v2.DlpService/ListStoredInfoTypes",
14750	}
14751	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14752		return srv.(DlpServiceServer).ListStoredInfoTypes(ctx, req.(*ListStoredInfoTypesRequest))
14753	}
14754	return interceptor(ctx, in, info, handler)
14755}
14756
14757func _DlpService_DeleteStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14758	in := new(DeleteStoredInfoTypeRequest)
14759	if err := dec(in); err != nil {
14760		return nil, err
14761	}
14762	if interceptor == nil {
14763		return srv.(DlpServiceServer).DeleteStoredInfoType(ctx, in)
14764	}
14765	info := &grpc.UnaryServerInfo{
14766		Server:     srv,
14767		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteStoredInfoType",
14768	}
14769	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14770		return srv.(DlpServiceServer).DeleteStoredInfoType(ctx, req.(*DeleteStoredInfoTypeRequest))
14771	}
14772	return interceptor(ctx, in, info, handler)
14773}
14774
14775func _DlpService_HybridInspectDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14776	in := new(HybridInspectDlpJobRequest)
14777	if err := dec(in); err != nil {
14778		return nil, err
14779	}
14780	if interceptor == nil {
14781		return srv.(DlpServiceServer).HybridInspectDlpJob(ctx, in)
14782	}
14783	info := &grpc.UnaryServerInfo{
14784		Server:     srv,
14785		FullMethod: "/google.privacy.dlp.v2.DlpService/HybridInspectDlpJob",
14786	}
14787	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14788		return srv.(DlpServiceServer).HybridInspectDlpJob(ctx, req.(*HybridInspectDlpJobRequest))
14789	}
14790	return interceptor(ctx, in, info, handler)
14791}
14792
14793func _DlpService_FinishDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
14794	in := new(FinishDlpJobRequest)
14795	if err := dec(in); err != nil {
14796		return nil, err
14797	}
14798	if interceptor == nil {
14799		return srv.(DlpServiceServer).FinishDlpJob(ctx, in)
14800	}
14801	info := &grpc.UnaryServerInfo{
14802		Server:     srv,
14803		FullMethod: "/google.privacy.dlp.v2.DlpService/FinishDlpJob",
14804	}
14805	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
14806		return srv.(DlpServiceServer).FinishDlpJob(ctx, req.(*FinishDlpJobRequest))
14807	}
14808	return interceptor(ctx, in, info, handler)
14809}
14810
14811var _DlpService_serviceDesc = grpc.ServiceDesc{
14812	ServiceName: "google.privacy.dlp.v2.DlpService",
14813	HandlerType: (*DlpServiceServer)(nil),
14814	Methods: []grpc.MethodDesc{
14815		{
14816			MethodName: "InspectContent",
14817			Handler:    _DlpService_InspectContent_Handler,
14818		},
14819		{
14820			MethodName: "RedactImage",
14821			Handler:    _DlpService_RedactImage_Handler,
14822		},
14823		{
14824			MethodName: "DeidentifyContent",
14825			Handler:    _DlpService_DeidentifyContent_Handler,
14826		},
14827		{
14828			MethodName: "ReidentifyContent",
14829			Handler:    _DlpService_ReidentifyContent_Handler,
14830		},
14831		{
14832			MethodName: "ListInfoTypes",
14833			Handler:    _DlpService_ListInfoTypes_Handler,
14834		},
14835		{
14836			MethodName: "CreateInspectTemplate",
14837			Handler:    _DlpService_CreateInspectTemplate_Handler,
14838		},
14839		{
14840			MethodName: "UpdateInspectTemplate",
14841			Handler:    _DlpService_UpdateInspectTemplate_Handler,
14842		},
14843		{
14844			MethodName: "GetInspectTemplate",
14845			Handler:    _DlpService_GetInspectTemplate_Handler,
14846		},
14847		{
14848			MethodName: "ListInspectTemplates",
14849			Handler:    _DlpService_ListInspectTemplates_Handler,
14850		},
14851		{
14852			MethodName: "DeleteInspectTemplate",
14853			Handler:    _DlpService_DeleteInspectTemplate_Handler,
14854		},
14855		{
14856			MethodName: "CreateDeidentifyTemplate",
14857			Handler:    _DlpService_CreateDeidentifyTemplate_Handler,
14858		},
14859		{
14860			MethodName: "UpdateDeidentifyTemplate",
14861			Handler:    _DlpService_UpdateDeidentifyTemplate_Handler,
14862		},
14863		{
14864			MethodName: "GetDeidentifyTemplate",
14865			Handler:    _DlpService_GetDeidentifyTemplate_Handler,
14866		},
14867		{
14868			MethodName: "ListDeidentifyTemplates",
14869			Handler:    _DlpService_ListDeidentifyTemplates_Handler,
14870		},
14871		{
14872			MethodName: "DeleteDeidentifyTemplate",
14873			Handler:    _DlpService_DeleteDeidentifyTemplate_Handler,
14874		},
14875		{
14876			MethodName: "CreateJobTrigger",
14877			Handler:    _DlpService_CreateJobTrigger_Handler,
14878		},
14879		{
14880			MethodName: "UpdateJobTrigger",
14881			Handler:    _DlpService_UpdateJobTrigger_Handler,
14882		},
14883		{
14884			MethodName: "HybridInspectJobTrigger",
14885			Handler:    _DlpService_HybridInspectJobTrigger_Handler,
14886		},
14887		{
14888			MethodName: "GetJobTrigger",
14889			Handler:    _DlpService_GetJobTrigger_Handler,
14890		},
14891		{
14892			MethodName: "ListJobTriggers",
14893			Handler:    _DlpService_ListJobTriggers_Handler,
14894		},
14895		{
14896			MethodName: "DeleteJobTrigger",
14897			Handler:    _DlpService_DeleteJobTrigger_Handler,
14898		},
14899		{
14900			MethodName: "ActivateJobTrigger",
14901			Handler:    _DlpService_ActivateJobTrigger_Handler,
14902		},
14903		{
14904			MethodName: "CreateDlpJob",
14905			Handler:    _DlpService_CreateDlpJob_Handler,
14906		},
14907		{
14908			MethodName: "ListDlpJobs",
14909			Handler:    _DlpService_ListDlpJobs_Handler,
14910		},
14911		{
14912			MethodName: "GetDlpJob",
14913			Handler:    _DlpService_GetDlpJob_Handler,
14914		},
14915		{
14916			MethodName: "DeleteDlpJob",
14917			Handler:    _DlpService_DeleteDlpJob_Handler,
14918		},
14919		{
14920			MethodName: "CancelDlpJob",
14921			Handler:    _DlpService_CancelDlpJob_Handler,
14922		},
14923		{
14924			MethodName: "CreateStoredInfoType",
14925			Handler:    _DlpService_CreateStoredInfoType_Handler,
14926		},
14927		{
14928			MethodName: "UpdateStoredInfoType",
14929			Handler:    _DlpService_UpdateStoredInfoType_Handler,
14930		},
14931		{
14932			MethodName: "GetStoredInfoType",
14933			Handler:    _DlpService_GetStoredInfoType_Handler,
14934		},
14935		{
14936			MethodName: "ListStoredInfoTypes",
14937			Handler:    _DlpService_ListStoredInfoTypes_Handler,
14938		},
14939		{
14940			MethodName: "DeleteStoredInfoType",
14941			Handler:    _DlpService_DeleteStoredInfoType_Handler,
14942		},
14943		{
14944			MethodName: "HybridInspectDlpJob",
14945			Handler:    _DlpService_HybridInspectDlpJob_Handler,
14946		},
14947		{
14948			MethodName: "FinishDlpJob",
14949			Handler:    _DlpService_FinishDlpJob_Handler,
14950		},
14951	},
14952	Streams:  []grpc.StreamDesc{},
14953	Metadata: "google/privacy/dlp/v2/dlp.proto",
14954}
14955