1// Copyright 2019 Google LLC.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15
16// Code generated by protoc-gen-go. DO NOT EDIT.
17// versions:
18// 	protoc-gen-go v1.26.0
19// 	protoc        v3.12.2
20// source: google/cloud/vision/v1p4beta1/image_annotator.proto
21
22package vision
23
24import (
25	context "context"
26	reflect "reflect"
27	sync "sync"
28
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	longrunning "google.golang.org/genproto/googleapis/longrunning"
31	status "google.golang.org/genproto/googleapis/rpc/status"
32	color "google.golang.org/genproto/googleapis/type/color"
33	latlng "google.golang.org/genproto/googleapis/type/latlng"
34	grpc "google.golang.org/grpc"
35	codes "google.golang.org/grpc/codes"
36	status1 "google.golang.org/grpc/status"
37	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
38	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
39	_ "google.golang.org/protobuf/types/known/fieldmaskpb"
40	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
41)
42
43const (
44	// Verify that this generated code is sufficiently up-to-date.
45	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
46	// Verify that runtime/protoimpl is sufficiently up-to-date.
47	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
48)
49
50// A bucketized representation of likelihood, which is intended to give clients
51// highly stable results across model upgrades.
52type Likelihood int32
53
54const (
55	// Unknown likelihood.
56	Likelihood_UNKNOWN Likelihood = 0
57	// It is very unlikely.
58	Likelihood_VERY_UNLIKELY Likelihood = 1
59	// It is unlikely.
60	Likelihood_UNLIKELY Likelihood = 2
61	// It is possible.
62	Likelihood_POSSIBLE Likelihood = 3
63	// It is likely.
64	Likelihood_LIKELY Likelihood = 4
65	// It is very likely.
66	Likelihood_VERY_LIKELY Likelihood = 5
67)
68
69// Enum value maps for Likelihood.
70var (
71	Likelihood_name = map[int32]string{
72		0: "UNKNOWN",
73		1: "VERY_UNLIKELY",
74		2: "UNLIKELY",
75		3: "POSSIBLE",
76		4: "LIKELY",
77		5: "VERY_LIKELY",
78	}
79	Likelihood_value = map[string]int32{
80		"UNKNOWN":       0,
81		"VERY_UNLIKELY": 1,
82		"UNLIKELY":      2,
83		"POSSIBLE":      3,
84		"LIKELY":        4,
85		"VERY_LIKELY":   5,
86	}
87)
88
89func (x Likelihood) Enum() *Likelihood {
90	p := new(Likelihood)
91	*p = x
92	return p
93}
94
95func (x Likelihood) String() string {
96	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
97}
98
99func (Likelihood) Descriptor() protoreflect.EnumDescriptor {
100	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[0].Descriptor()
101}
102
103func (Likelihood) Type() protoreflect.EnumType {
104	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[0]
105}
106
107func (x Likelihood) Number() protoreflect.EnumNumber {
108	return protoreflect.EnumNumber(x)
109}
110
111// Deprecated: Use Likelihood.Descriptor instead.
112func (Likelihood) EnumDescriptor() ([]byte, []int) {
113	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0}
114}
115
116// Type of Google Cloud Vision API feature to be extracted.
117type Feature_Type int32
118
119const (
120	// Unspecified feature type.
121	Feature_TYPE_UNSPECIFIED Feature_Type = 0
122	// Run face detection.
123	Feature_FACE_DETECTION Feature_Type = 1
124	// Run landmark detection.
125	Feature_LANDMARK_DETECTION Feature_Type = 2
126	// Run logo detection.
127	Feature_LOGO_DETECTION Feature_Type = 3
128	// Run label detection.
129	Feature_LABEL_DETECTION Feature_Type = 4
130	// Run text detection / optical character recognition (OCR). Text detection
131	// is optimized for areas of text within a larger image; if the image is
132	// a document, use `DOCUMENT_TEXT_DETECTION` instead.
133	Feature_TEXT_DETECTION Feature_Type = 5
134	// Run dense text document OCR. Takes precedence when both
135	// `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present.
136	Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
137	// Run Safe Search to detect potentially unsafe
138	// or undesirable content.
139	Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
140	// Compute a set of image properties, such as the
141	// image's dominant colors.
142	Feature_IMAGE_PROPERTIES Feature_Type = 7
143	// Run crop hints.
144	Feature_CROP_HINTS Feature_Type = 9
145	// Run web detection.
146	Feature_WEB_DETECTION Feature_Type = 10
147	// Run Product Search.
148	Feature_PRODUCT_SEARCH Feature_Type = 12
149	// Run localizer for object detection.
150	Feature_OBJECT_LOCALIZATION Feature_Type = 19
151)
152
153// Enum value maps for Feature_Type.
154var (
155	Feature_Type_name = map[int32]string{
156		0:  "TYPE_UNSPECIFIED",
157		1:  "FACE_DETECTION",
158		2:  "LANDMARK_DETECTION",
159		3:  "LOGO_DETECTION",
160		4:  "LABEL_DETECTION",
161		5:  "TEXT_DETECTION",
162		11: "DOCUMENT_TEXT_DETECTION",
163		6:  "SAFE_SEARCH_DETECTION",
164		7:  "IMAGE_PROPERTIES",
165		9:  "CROP_HINTS",
166		10: "WEB_DETECTION",
167		12: "PRODUCT_SEARCH",
168		19: "OBJECT_LOCALIZATION",
169	}
170	Feature_Type_value = map[string]int32{
171		"TYPE_UNSPECIFIED":        0,
172		"FACE_DETECTION":          1,
173		"LANDMARK_DETECTION":      2,
174		"LOGO_DETECTION":          3,
175		"LABEL_DETECTION":         4,
176		"TEXT_DETECTION":          5,
177		"DOCUMENT_TEXT_DETECTION": 11,
178		"SAFE_SEARCH_DETECTION":   6,
179		"IMAGE_PROPERTIES":        7,
180		"CROP_HINTS":              9,
181		"WEB_DETECTION":           10,
182		"PRODUCT_SEARCH":          12,
183		"OBJECT_LOCALIZATION":     19,
184	}
185)
186
187func (x Feature_Type) Enum() *Feature_Type {
188	p := new(Feature_Type)
189	*p = x
190	return p
191}
192
193func (x Feature_Type) String() string {
194	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
195}
196
197func (Feature_Type) Descriptor() protoreflect.EnumDescriptor {
198	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[1].Descriptor()
199}
200
201func (Feature_Type) Type() protoreflect.EnumType {
202	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[1]
203}
204
205func (x Feature_Type) Number() protoreflect.EnumNumber {
206	return protoreflect.EnumNumber(x)
207}
208
209// Deprecated: Use Feature_Type.Descriptor instead.
210func (Feature_Type) EnumDescriptor() ([]byte, []int) {
211	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0, 0}
212}
213
214// Face landmark (feature) type.
215// Left and right are defined from the vantage of the viewer of the image
216// without considering mirror projections typical of photos. So, `LEFT_EYE`,
217// typically, is the person's right eye.
218type FaceAnnotation_Landmark_Type int32
219
220const (
221	// Unknown face landmark detected. Should not be filled.
222	FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
223	// Left eye.
224	FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
225	// Right eye.
226	FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
227	// Left of left eyebrow.
228	FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
229	// Right of left eyebrow.
230	FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
231	// Left of right eyebrow.
232	FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
233	// Right of right eyebrow.
234	FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
235	// Midpoint between eyes.
236	FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
237	// Nose tip.
238	FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
239	// Upper lip.
240	FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
241	// Lower lip.
242	FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
243	// Mouth left.
244	FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
245	// Mouth right.
246	FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
247	// Mouth center.
248	FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
249	// Nose, bottom right.
250	FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
251	// Nose, bottom left.
252	FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
253	// Nose, bottom center.
254	FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
255	// Left eye, top boundary.
256	FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
257	// Left eye, right corner.
258	FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
259	// Left eye, bottom boundary.
260	FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
261	// Left eye, left corner.
262	FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
263	// Right eye, top boundary.
264	FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
265	// Right eye, right corner.
266	FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
267	// Right eye, bottom boundary.
268	FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
269	// Right eye, left corner.
270	FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
271	// Left eyebrow, upper midpoint.
272	FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
273	// Right eyebrow, upper midpoint.
274	FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
275	// Left ear tragion.
276	FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
277	// Right ear tragion.
278	FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
279	// Left eye pupil.
280	FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
281	// Right eye pupil.
282	FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
283	// Forehead glabella.
284	FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
285	// Chin gnathion.
286	FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
287	// Chin left gonion.
288	FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
289	// Chin right gonion.
290	FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
291)
292
293// Enum value maps for FaceAnnotation_Landmark_Type.
294var (
295	FaceAnnotation_Landmark_Type_name = map[int32]string{
296		0:  "UNKNOWN_LANDMARK",
297		1:  "LEFT_EYE",
298		2:  "RIGHT_EYE",
299		3:  "LEFT_OF_LEFT_EYEBROW",
300		4:  "RIGHT_OF_LEFT_EYEBROW",
301		5:  "LEFT_OF_RIGHT_EYEBROW",
302		6:  "RIGHT_OF_RIGHT_EYEBROW",
303		7:  "MIDPOINT_BETWEEN_EYES",
304		8:  "NOSE_TIP",
305		9:  "UPPER_LIP",
306		10: "LOWER_LIP",
307		11: "MOUTH_LEFT",
308		12: "MOUTH_RIGHT",
309		13: "MOUTH_CENTER",
310		14: "NOSE_BOTTOM_RIGHT",
311		15: "NOSE_BOTTOM_LEFT",
312		16: "NOSE_BOTTOM_CENTER",
313		17: "LEFT_EYE_TOP_BOUNDARY",
314		18: "LEFT_EYE_RIGHT_CORNER",
315		19: "LEFT_EYE_BOTTOM_BOUNDARY",
316		20: "LEFT_EYE_LEFT_CORNER",
317		21: "RIGHT_EYE_TOP_BOUNDARY",
318		22: "RIGHT_EYE_RIGHT_CORNER",
319		23: "RIGHT_EYE_BOTTOM_BOUNDARY",
320		24: "RIGHT_EYE_LEFT_CORNER",
321		25: "LEFT_EYEBROW_UPPER_MIDPOINT",
322		26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
323		27: "LEFT_EAR_TRAGION",
324		28: "RIGHT_EAR_TRAGION",
325		29: "LEFT_EYE_PUPIL",
326		30: "RIGHT_EYE_PUPIL",
327		31: "FOREHEAD_GLABELLA",
328		32: "CHIN_GNATHION",
329		33: "CHIN_LEFT_GONION",
330		34: "CHIN_RIGHT_GONION",
331	}
332	FaceAnnotation_Landmark_Type_value = map[string]int32{
333		"UNKNOWN_LANDMARK":             0,
334		"LEFT_EYE":                     1,
335		"RIGHT_EYE":                    2,
336		"LEFT_OF_LEFT_EYEBROW":         3,
337		"RIGHT_OF_LEFT_EYEBROW":        4,
338		"LEFT_OF_RIGHT_EYEBROW":        5,
339		"RIGHT_OF_RIGHT_EYEBROW":       6,
340		"MIDPOINT_BETWEEN_EYES":        7,
341		"NOSE_TIP":                     8,
342		"UPPER_LIP":                    9,
343		"LOWER_LIP":                    10,
344		"MOUTH_LEFT":                   11,
345		"MOUTH_RIGHT":                  12,
346		"MOUTH_CENTER":                 13,
347		"NOSE_BOTTOM_RIGHT":            14,
348		"NOSE_BOTTOM_LEFT":             15,
349		"NOSE_BOTTOM_CENTER":           16,
350		"LEFT_EYE_TOP_BOUNDARY":        17,
351		"LEFT_EYE_RIGHT_CORNER":        18,
352		"LEFT_EYE_BOTTOM_BOUNDARY":     19,
353		"LEFT_EYE_LEFT_CORNER":         20,
354		"RIGHT_EYE_TOP_BOUNDARY":       21,
355		"RIGHT_EYE_RIGHT_CORNER":       22,
356		"RIGHT_EYE_BOTTOM_BOUNDARY":    23,
357		"RIGHT_EYE_LEFT_CORNER":        24,
358		"LEFT_EYEBROW_UPPER_MIDPOINT":  25,
359		"RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
360		"LEFT_EAR_TRAGION":             27,
361		"RIGHT_EAR_TRAGION":            28,
362		"LEFT_EYE_PUPIL":               29,
363		"RIGHT_EYE_PUPIL":              30,
364		"FOREHEAD_GLABELLA":            31,
365		"CHIN_GNATHION":                32,
366		"CHIN_LEFT_GONION":             33,
367		"CHIN_RIGHT_GONION":            34,
368	}
369)
370
371func (x FaceAnnotation_Landmark_Type) Enum() *FaceAnnotation_Landmark_Type {
372	p := new(FaceAnnotation_Landmark_Type)
373	*p = x
374	return p
375}
376
377func (x FaceAnnotation_Landmark_Type) String() string {
378	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
379}
380
381func (FaceAnnotation_Landmark_Type) Descriptor() protoreflect.EnumDescriptor {
382	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[2].Descriptor()
383}
384
385func (FaceAnnotation_Landmark_Type) Type() protoreflect.EnumType {
386	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[2]
387}
388
389func (x FaceAnnotation_Landmark_Type) Number() protoreflect.EnumNumber {
390	return protoreflect.EnumNumber(x)
391}
392
393// Deprecated: Use FaceAnnotation_Landmark_Type.Descriptor instead.
394func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
395	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0, 0}
396}
397
398// Batch operation states.
399type OperationMetadata_State int32
400
401const (
402	// Invalid.
403	OperationMetadata_STATE_UNSPECIFIED OperationMetadata_State = 0
404	// Request is received.
405	OperationMetadata_CREATED OperationMetadata_State = 1
406	// Request is actively being processed.
407	OperationMetadata_RUNNING OperationMetadata_State = 2
408	// The batch processing is done.
409	OperationMetadata_DONE OperationMetadata_State = 3
410	// The batch processing was cancelled.
411	OperationMetadata_CANCELLED OperationMetadata_State = 4
412)
413
414// Enum value maps for OperationMetadata_State.
415var (
416	OperationMetadata_State_name = map[int32]string{
417		0: "STATE_UNSPECIFIED",
418		1: "CREATED",
419		2: "RUNNING",
420		3: "DONE",
421		4: "CANCELLED",
422	}
423	OperationMetadata_State_value = map[string]int32{
424		"STATE_UNSPECIFIED": 0,
425		"CREATED":           1,
426		"RUNNING":           2,
427		"DONE":              3,
428		"CANCELLED":         4,
429	}
430)
431
432func (x OperationMetadata_State) Enum() *OperationMetadata_State {
433	p := new(OperationMetadata_State)
434	*p = x
435	return p
436}
437
438func (x OperationMetadata_State) String() string {
439	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
440}
441
442func (OperationMetadata_State) Descriptor() protoreflect.EnumDescriptor {
443	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[3].Descriptor()
444}
445
446func (OperationMetadata_State) Type() protoreflect.EnumType {
447	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[3]
448}
449
450func (x OperationMetadata_State) Number() protoreflect.EnumNumber {
451	return protoreflect.EnumNumber(x)
452}
453
454// Deprecated: Use OperationMetadata_State.Descriptor instead.
455func (OperationMetadata_State) EnumDescriptor() ([]byte, []int) {
456	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{38, 0}
457}
458
459// The type of Google Cloud Vision API detection to perform, and the maximum
460// number of results to return for that type. Multiple `Feature` objects can
461// be specified in the `features` list.
462type Feature struct {
463	state         protoimpl.MessageState
464	sizeCache     protoimpl.SizeCache
465	unknownFields protoimpl.UnknownFields
466
467	// The feature type.
468	Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p4beta1.Feature_Type" json:"type,omitempty"`
469	// Maximum number of results of this type. Does not apply to
470	// `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.
471	MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
472	// Model to use for the feature.
473	// Supported values: "builtin/stable" (the default if unset) and
474	// "builtin/latest".
475	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
476}
477
478func (x *Feature) Reset() {
479	*x = Feature{}
480	if protoimpl.UnsafeEnabled {
481		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0]
482		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
483		ms.StoreMessageInfo(mi)
484	}
485}
486
487func (x *Feature) String() string {
488	return protoimpl.X.MessageStringOf(x)
489}
490
491func (*Feature) ProtoMessage() {}
492
493func (x *Feature) ProtoReflect() protoreflect.Message {
494	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0]
495	if protoimpl.UnsafeEnabled && x != nil {
496		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
497		if ms.LoadMessageInfo() == nil {
498			ms.StoreMessageInfo(mi)
499		}
500		return ms
501	}
502	return mi.MessageOf(x)
503}
504
505// Deprecated: Use Feature.ProtoReflect.Descriptor instead.
506func (*Feature) Descriptor() ([]byte, []int) {
507	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0}
508}
509
510func (x *Feature) GetType() Feature_Type {
511	if x != nil {
512		return x.Type
513	}
514	return Feature_TYPE_UNSPECIFIED
515}
516
517func (x *Feature) GetMaxResults() int32 {
518	if x != nil {
519		return x.MaxResults
520	}
521	return 0
522}
523
524func (x *Feature) GetModel() string {
525	if x != nil {
526		return x.Model
527	}
528	return ""
529}
530
531// External image source (Google Cloud Storage or web URL image location).
532type ImageSource struct {
533	state         protoimpl.MessageState
534	sizeCache     protoimpl.SizeCache
535	unknownFields protoimpl.UnknownFields
536
537	// **Use `image_uri` instead.**
538	//
539	// The Google Cloud Storage  URI of the form
540	// `gs://bucket_name/object_name`. Object versioning is not supported. See
541	// [Google Cloud Storage Request
542	// URIs](https://cloud.google.com/storage/docs/reference-uris) for more info.
543	GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
544	// The URI of the source image. Can be either:
545	//
546	// 1. A Google Cloud Storage URI of the form
547	//    `gs://bucket_name/object_name`. Object versioning is not supported. See
548	//    [Google Cloud Storage Request
549	//    URIs](https://cloud.google.com/storage/docs/reference-uris) for more
550	//    info.
551	//
552	// 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from
553	//    HTTP/HTTPS URLs, Google cannot guarantee that the request will be
554	//    completed. Your request may fail if the specified host denies the
555	//    request (e.g. due to request throttling or DOS prevention), or if Google
556	//    throttles requests to the site for abuse prevention. You should not
557	//    depend on externally-hosted images for production applications.
558	//
559	// When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
560	// precedence.
561	ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
562}
563
564func (x *ImageSource) Reset() {
565	*x = ImageSource{}
566	if protoimpl.UnsafeEnabled {
567		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1]
568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
569		ms.StoreMessageInfo(mi)
570	}
571}
572
573func (x *ImageSource) String() string {
574	return protoimpl.X.MessageStringOf(x)
575}
576
577func (*ImageSource) ProtoMessage() {}
578
579func (x *ImageSource) ProtoReflect() protoreflect.Message {
580	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1]
581	if protoimpl.UnsafeEnabled && x != nil {
582		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
583		if ms.LoadMessageInfo() == nil {
584			ms.StoreMessageInfo(mi)
585		}
586		return ms
587	}
588	return mi.MessageOf(x)
589}
590
591// Deprecated: Use ImageSource.ProtoReflect.Descriptor instead.
592func (*ImageSource) Descriptor() ([]byte, []int) {
593	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{1}
594}
595
596func (x *ImageSource) GetGcsImageUri() string {
597	if x != nil {
598		return x.GcsImageUri
599	}
600	return ""
601}
602
603func (x *ImageSource) GetImageUri() string {
604	if x != nil {
605		return x.ImageUri
606	}
607	return ""
608}
609
610// Client image to perform Google Cloud Vision API tasks over.
611type Image struct {
612	state         protoimpl.MessageState
613	sizeCache     protoimpl.SizeCache
614	unknownFields protoimpl.UnknownFields
615
616	// Image content, represented as a stream of bytes.
617	// Note: As with all `bytes` fields, protobuffers use a pure binary
618	// representation, whereas JSON representations use base64.
619	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
620	// Google Cloud Storage image location, or publicly-accessible image
621	// URL. If both `content` and `source` are provided for an image, `content`
622	// takes precedence and is used to perform the image annotation request.
623	Source *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
624}
625
626func (x *Image) Reset() {
627	*x = Image{}
628	if protoimpl.UnsafeEnabled {
629		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2]
630		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
631		ms.StoreMessageInfo(mi)
632	}
633}
634
635func (x *Image) String() string {
636	return protoimpl.X.MessageStringOf(x)
637}
638
639func (*Image) ProtoMessage() {}
640
641func (x *Image) ProtoReflect() protoreflect.Message {
642	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2]
643	if protoimpl.UnsafeEnabled && x != nil {
644		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
645		if ms.LoadMessageInfo() == nil {
646			ms.StoreMessageInfo(mi)
647		}
648		return ms
649	}
650	return mi.MessageOf(x)
651}
652
653// Deprecated: Use Image.ProtoReflect.Descriptor instead.
654func (*Image) Descriptor() ([]byte, []int) {
655	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{2}
656}
657
658func (x *Image) GetContent() []byte {
659	if x != nil {
660		return x.Content
661	}
662	return nil
663}
664
665func (x *Image) GetSource() *ImageSource {
666	if x != nil {
667		return x.Source
668	}
669	return nil
670}
671
672// A face annotation object contains the results of face detection.
673type FaceAnnotation struct {
674	state         protoimpl.MessageState
675	sizeCache     protoimpl.SizeCache
676	unknownFields protoimpl.UnknownFields
677
678	// The bounding polygon around the face. The coordinates of the bounding box
679	// are in the original image's scale.
680	// The bounding box is computed to "frame" the face in accordance with human
681	// expectations. It is based on the landmarker results.
682	// Note that one or more x and/or y coordinates may not be generated in the
683	// `BoundingPoly` (the polygon will be unbounded) if only a partial face
684	// appears in the image to be annotated.
685	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
686	// The `fd_bounding_poly` bounding polygon is tighter than the
687	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
688	// is used to eliminate the face from any image analysis that detects the
689	// "amount of skin" visible in an image. It is not based on the
690	// landmarker results, only on the initial face detection, hence
691	// the <code>fd</code> (face detection) prefix.
692	FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
693	// Detected face landmarks.
694	Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
695	// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
696	// of the face relative to the image vertical about the axis perpendicular to
697	// the face. Range [-180,180].
698	RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
699	// Yaw angle, which indicates the leftward/rightward angle that the face is
700	// pointing relative to the vertical plane perpendicular to the image. Range
701	// [-180,180].
702	PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
703	// Pitch angle, which indicates the upwards/downwards angle that the face is
704	// pointing relative to the image's horizontal plane. Range [-180,180].
705	TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
706	// Detection confidence. Range [0, 1].
707	DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
708	// Face landmarking confidence. Range [0, 1].
709	LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
710	// Joy likelihood.
711	JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"joy_likelihood,omitempty"`
712	// Sorrow likelihood.
713	SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"sorrow_likelihood,omitempty"`
714	// Anger likelihood.
715	AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"anger_likelihood,omitempty"`
716	// Surprise likelihood.
717	SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"surprise_likelihood,omitempty"`
718	// Under-exposed likelihood.
719	UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"under_exposed_likelihood,omitempty"`
720	// Blurred likelihood.
721	BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"blurred_likelihood,omitempty"`
722	// Headwear likelihood.
723	HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"headwear_likelihood,omitempty"`
724	// Additional recognition information. Only computed if
725	// image_context.face_recognition_params is provided, **and** a match is found
726	// to a [Celebrity][google.cloud.vision.v1p4beta1.Celebrity] in the input
727	// [CelebritySet][google.cloud.vision.v1p4beta1.CelebritySet]. This field is
728	// sorted in order of decreasing confidence values.
729	RecognitionResult []*FaceRecognitionResult `protobuf:"bytes,16,rep,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"`
730}
731
732func (x *FaceAnnotation) Reset() {
733	*x = FaceAnnotation{}
734	if protoimpl.UnsafeEnabled {
735		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3]
736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
737		ms.StoreMessageInfo(mi)
738	}
739}
740
741func (x *FaceAnnotation) String() string {
742	return protoimpl.X.MessageStringOf(x)
743}
744
745func (*FaceAnnotation) ProtoMessage() {}
746
747func (x *FaceAnnotation) ProtoReflect() protoreflect.Message {
748	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3]
749	if protoimpl.UnsafeEnabled && x != nil {
750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
751		if ms.LoadMessageInfo() == nil {
752			ms.StoreMessageInfo(mi)
753		}
754		return ms
755	}
756	return mi.MessageOf(x)
757}
758
759// Deprecated: Use FaceAnnotation.ProtoReflect.Descriptor instead.
760func (*FaceAnnotation) Descriptor() ([]byte, []int) {
761	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3}
762}
763
764func (x *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
765	if x != nil {
766		return x.BoundingPoly
767	}
768	return nil
769}
770
771func (x *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
772	if x != nil {
773		return x.FdBoundingPoly
774	}
775	return nil
776}
777
778func (x *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
779	if x != nil {
780		return x.Landmarks
781	}
782	return nil
783}
784
785func (x *FaceAnnotation) GetRollAngle() float32 {
786	if x != nil {
787		return x.RollAngle
788	}
789	return 0
790}
791
792func (x *FaceAnnotation) GetPanAngle() float32 {
793	if x != nil {
794		return x.PanAngle
795	}
796	return 0
797}
798
799func (x *FaceAnnotation) GetTiltAngle() float32 {
800	if x != nil {
801		return x.TiltAngle
802	}
803	return 0
804}
805
806func (x *FaceAnnotation) GetDetectionConfidence() float32 {
807	if x != nil {
808		return x.DetectionConfidence
809	}
810	return 0
811}
812
813func (x *FaceAnnotation) GetLandmarkingConfidence() float32 {
814	if x != nil {
815		return x.LandmarkingConfidence
816	}
817	return 0
818}
819
820func (x *FaceAnnotation) GetJoyLikelihood() Likelihood {
821	if x != nil {
822		return x.JoyLikelihood
823	}
824	return Likelihood_UNKNOWN
825}
826
827func (x *FaceAnnotation) GetSorrowLikelihood() Likelihood {
828	if x != nil {
829		return x.SorrowLikelihood
830	}
831	return Likelihood_UNKNOWN
832}
833
834func (x *FaceAnnotation) GetAngerLikelihood() Likelihood {
835	if x != nil {
836		return x.AngerLikelihood
837	}
838	return Likelihood_UNKNOWN
839}
840
841func (x *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
842	if x != nil {
843		return x.SurpriseLikelihood
844	}
845	return Likelihood_UNKNOWN
846}
847
848func (x *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
849	if x != nil {
850		return x.UnderExposedLikelihood
851	}
852	return Likelihood_UNKNOWN
853}
854
855func (x *FaceAnnotation) GetBlurredLikelihood() Likelihood {
856	if x != nil {
857		return x.BlurredLikelihood
858	}
859	return Likelihood_UNKNOWN
860}
861
862func (x *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
863	if x != nil {
864		return x.HeadwearLikelihood
865	}
866	return Likelihood_UNKNOWN
867}
868
869func (x *FaceAnnotation) GetRecognitionResult() []*FaceRecognitionResult {
870	if x != nil {
871		return x.RecognitionResult
872	}
873	return nil
874}
875
876// Detected entity location information.
877type LocationInfo struct {
878	state         protoimpl.MessageState
879	sizeCache     protoimpl.SizeCache
880	unknownFields protoimpl.UnknownFields
881
882	// lat/long location coordinates.
883	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
884}
885
886func (x *LocationInfo) Reset() {
887	*x = LocationInfo{}
888	if protoimpl.UnsafeEnabled {
889		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4]
890		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
891		ms.StoreMessageInfo(mi)
892	}
893}
894
895func (x *LocationInfo) String() string {
896	return protoimpl.X.MessageStringOf(x)
897}
898
899func (*LocationInfo) ProtoMessage() {}
900
901func (x *LocationInfo) ProtoReflect() protoreflect.Message {
902	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4]
903	if protoimpl.UnsafeEnabled && x != nil {
904		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
905		if ms.LoadMessageInfo() == nil {
906			ms.StoreMessageInfo(mi)
907		}
908		return ms
909	}
910	return mi.MessageOf(x)
911}
912
913// Deprecated: Use LocationInfo.ProtoReflect.Descriptor instead.
914func (*LocationInfo) Descriptor() ([]byte, []int) {
915	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{4}
916}
917
918func (x *LocationInfo) GetLatLng() *latlng.LatLng {
919	if x != nil {
920		return x.LatLng
921	}
922	return nil
923}
924
925// A `Property` consists of a user-supplied name/value pair.
926type Property struct {
927	state         protoimpl.MessageState
928	sizeCache     protoimpl.SizeCache
929	unknownFields protoimpl.UnknownFields
930
931	// Name of the property.
932	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
933	// Value of the property.
934	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
935	// Value of numeric properties.
936	Uint64Value uint64 `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
937}
938
939func (x *Property) Reset() {
940	*x = Property{}
941	if protoimpl.UnsafeEnabled {
942		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5]
943		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
944		ms.StoreMessageInfo(mi)
945	}
946}
947
948func (x *Property) String() string {
949	return protoimpl.X.MessageStringOf(x)
950}
951
952func (*Property) ProtoMessage() {}
953
954func (x *Property) ProtoReflect() protoreflect.Message {
955	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5]
956	if protoimpl.UnsafeEnabled && x != nil {
957		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
958		if ms.LoadMessageInfo() == nil {
959			ms.StoreMessageInfo(mi)
960		}
961		return ms
962	}
963	return mi.MessageOf(x)
964}
965
966// Deprecated: Use Property.ProtoReflect.Descriptor instead.
967func (*Property) Descriptor() ([]byte, []int) {
968	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{5}
969}
970
971func (x *Property) GetName() string {
972	if x != nil {
973		return x.Name
974	}
975	return ""
976}
977
978func (x *Property) GetValue() string {
979	if x != nil {
980		return x.Value
981	}
982	return ""
983}
984
985func (x *Property) GetUint64Value() uint64 {
986	if x != nil {
987		return x.Uint64Value
988	}
989	return 0
990}
991
992// Set of detected entity features.
993type EntityAnnotation struct {
994	state         protoimpl.MessageState
995	sizeCache     protoimpl.SizeCache
996	unknownFields protoimpl.UnknownFields
997
998	// Opaque entity ID. Some IDs may be available in
999	// [Google Knowledge Graph Search
1000	// API](https://developers.google.com/knowledge-graph/).
1001	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
1002	// The language code for the locale in which the entity textual
1003	// `description` is expressed.
1004	Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
1005	// Entity textual description, expressed in its `locale` language.
1006	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1007	// Overall score of the result. Range [0, 1].
1008	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
1009	// **Deprecated. Use `score` instead.**
1010	// The accuracy of the entity detection in an image.
1011	// For example, for an image in which the "Eiffel Tower" entity is detected,
1012	// this field represents the confidence that there is a tower in the query
1013	// image. Range [0, 1].
1014	//
1015	// Deprecated: Do not use.
1016	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
1017	// The relevancy of the ICA (Image Content Annotation) label to the
1018	// image. For example, the relevancy of "tower" is likely higher to an image
1019	// containing the detected "Eiffel Tower" than to an image containing a
1020	// detected distant towering building, even though the confidence that
1021	// there is a tower in each image may be the same. Range [0, 1].
1022	Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
1023	// Image region to which this entity belongs. Not produced
1024	// for `LABEL_DETECTION` features.
1025	BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1026	// The location information for the detected entity. Multiple
1027	// `LocationInfo` elements can be present because one location may
1028	// indicate the location of the scene in the image, and another location
1029	// may indicate the location of the place where the image was taken.
1030	// Location information is usually present for landmarks.
1031	Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
1032	// Some entities may have optional user-supplied `Property` (name/value)
1033	// fields, such a score or string that qualifies the entity.
1034	Properties []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
1035}
1036
1037func (x *EntityAnnotation) Reset() {
1038	*x = EntityAnnotation{}
1039	if protoimpl.UnsafeEnabled {
1040		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6]
1041		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1042		ms.StoreMessageInfo(mi)
1043	}
1044}
1045
1046func (x *EntityAnnotation) String() string {
1047	return protoimpl.X.MessageStringOf(x)
1048}
1049
1050func (*EntityAnnotation) ProtoMessage() {}
1051
1052func (x *EntityAnnotation) ProtoReflect() protoreflect.Message {
1053	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6]
1054	if protoimpl.UnsafeEnabled && x != nil {
1055		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1056		if ms.LoadMessageInfo() == nil {
1057			ms.StoreMessageInfo(mi)
1058		}
1059		return ms
1060	}
1061	return mi.MessageOf(x)
1062}
1063
1064// Deprecated: Use EntityAnnotation.ProtoReflect.Descriptor instead.
1065func (*EntityAnnotation) Descriptor() ([]byte, []int) {
1066	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{6}
1067}
1068
1069func (x *EntityAnnotation) GetMid() string {
1070	if x != nil {
1071		return x.Mid
1072	}
1073	return ""
1074}
1075
1076func (x *EntityAnnotation) GetLocale() string {
1077	if x != nil {
1078		return x.Locale
1079	}
1080	return ""
1081}
1082
1083func (x *EntityAnnotation) GetDescription() string {
1084	if x != nil {
1085		return x.Description
1086	}
1087	return ""
1088}
1089
1090func (x *EntityAnnotation) GetScore() float32 {
1091	if x != nil {
1092		return x.Score
1093	}
1094	return 0
1095}
1096
1097// Deprecated: Do not use.
1098func (x *EntityAnnotation) GetConfidence() float32 {
1099	if x != nil {
1100		return x.Confidence
1101	}
1102	return 0
1103}
1104
1105func (x *EntityAnnotation) GetTopicality() float32 {
1106	if x != nil {
1107		return x.Topicality
1108	}
1109	return 0
1110}
1111
1112func (x *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
1113	if x != nil {
1114		return x.BoundingPoly
1115	}
1116	return nil
1117}
1118
1119func (x *EntityAnnotation) GetLocations() []*LocationInfo {
1120	if x != nil {
1121		return x.Locations
1122	}
1123	return nil
1124}
1125
1126func (x *EntityAnnotation) GetProperties() []*Property {
1127	if x != nil {
1128		return x.Properties
1129	}
1130	return nil
1131}
1132
1133// Set of detected objects with bounding boxes.
1134type LocalizedObjectAnnotation struct {
1135	state         protoimpl.MessageState
1136	sizeCache     protoimpl.SizeCache
1137	unknownFields protoimpl.UnknownFields
1138
1139	// Object ID that should align with EntityAnnotation mid.
1140	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
1141	// The BCP-47 language code, such as "en-US" or "sr-Latn". For more
1142	// information, see
1143	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
1144	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1145	// Object name, expressed in its `language_code` language.
1146	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
1147	// Score of the result. Range [0, 1].
1148	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
1149	// Image region to which this object belongs. This must be populated.
1150	BoundingPoly *BoundingPoly `protobuf:"bytes,5,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1151}
1152
1153func (x *LocalizedObjectAnnotation) Reset() {
1154	*x = LocalizedObjectAnnotation{}
1155	if protoimpl.UnsafeEnabled {
1156		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7]
1157		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1158		ms.StoreMessageInfo(mi)
1159	}
1160}
1161
1162func (x *LocalizedObjectAnnotation) String() string {
1163	return protoimpl.X.MessageStringOf(x)
1164}
1165
1166func (*LocalizedObjectAnnotation) ProtoMessage() {}
1167
1168func (x *LocalizedObjectAnnotation) ProtoReflect() protoreflect.Message {
1169	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7]
1170	if protoimpl.UnsafeEnabled && x != nil {
1171		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1172		if ms.LoadMessageInfo() == nil {
1173			ms.StoreMessageInfo(mi)
1174		}
1175		return ms
1176	}
1177	return mi.MessageOf(x)
1178}
1179
1180// Deprecated: Use LocalizedObjectAnnotation.ProtoReflect.Descriptor instead.
1181func (*LocalizedObjectAnnotation) Descriptor() ([]byte, []int) {
1182	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{7}
1183}
1184
1185func (x *LocalizedObjectAnnotation) GetMid() string {
1186	if x != nil {
1187		return x.Mid
1188	}
1189	return ""
1190}
1191
1192func (x *LocalizedObjectAnnotation) GetLanguageCode() string {
1193	if x != nil {
1194		return x.LanguageCode
1195	}
1196	return ""
1197}
1198
1199func (x *LocalizedObjectAnnotation) GetName() string {
1200	if x != nil {
1201		return x.Name
1202	}
1203	return ""
1204}
1205
1206func (x *LocalizedObjectAnnotation) GetScore() float32 {
1207	if x != nil {
1208		return x.Score
1209	}
1210	return 0
1211}
1212
1213func (x *LocalizedObjectAnnotation) GetBoundingPoly() *BoundingPoly {
1214	if x != nil {
1215		return x.BoundingPoly
1216	}
1217	return nil
1218}
1219
1220// Set of features pertaining to the image, computed by computer vision
1221// methods over safe-search verticals (for example, adult, spoof, medical,
1222// violence).
1223type SafeSearchAnnotation struct {
1224	state         protoimpl.MessageState
1225	sizeCache     protoimpl.SizeCache
1226	unknownFields protoimpl.UnknownFields
1227
1228	// Represents the adult content likelihood for the image. Adult content may
1229	// contain elements such as nudity, pornographic images or cartoons, or
1230	// sexual activities.
1231	Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"adult,omitempty"`
1232	// Spoof likelihood. The likelihood that an modification
1233	// was made to the image's canonical version to make it appear
1234	// funny or offensive.
1235	Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"spoof,omitempty"`
1236	// Likelihood that this is a medical image.
1237	Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"medical,omitempty"`
1238	// Likelihood that this image contains violent content.
1239	Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"violence,omitempty"`
1240	// Likelihood that the request image contains racy content. Racy content may
1241	// include (but is not limited to) skimpy or sheer clothing, strategically
1242	// covered nudity, lewd or provocative poses, or close-ups of sensitive
1243	// body areas.
1244	Racy Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"racy,omitempty"`
1245}
1246
1247func (x *SafeSearchAnnotation) Reset() {
1248	*x = SafeSearchAnnotation{}
1249	if protoimpl.UnsafeEnabled {
1250		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8]
1251		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1252		ms.StoreMessageInfo(mi)
1253	}
1254}
1255
1256func (x *SafeSearchAnnotation) String() string {
1257	return protoimpl.X.MessageStringOf(x)
1258}
1259
1260func (*SafeSearchAnnotation) ProtoMessage() {}
1261
1262func (x *SafeSearchAnnotation) ProtoReflect() protoreflect.Message {
1263	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8]
1264	if protoimpl.UnsafeEnabled && x != nil {
1265		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1266		if ms.LoadMessageInfo() == nil {
1267			ms.StoreMessageInfo(mi)
1268		}
1269		return ms
1270	}
1271	return mi.MessageOf(x)
1272}
1273
1274// Deprecated: Use SafeSearchAnnotation.ProtoReflect.Descriptor instead.
1275func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
1276	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{8}
1277}
1278
1279func (x *SafeSearchAnnotation) GetAdult() Likelihood {
1280	if x != nil {
1281		return x.Adult
1282	}
1283	return Likelihood_UNKNOWN
1284}
1285
1286func (x *SafeSearchAnnotation) GetSpoof() Likelihood {
1287	if x != nil {
1288		return x.Spoof
1289	}
1290	return Likelihood_UNKNOWN
1291}
1292
1293func (x *SafeSearchAnnotation) GetMedical() Likelihood {
1294	if x != nil {
1295		return x.Medical
1296	}
1297	return Likelihood_UNKNOWN
1298}
1299
1300func (x *SafeSearchAnnotation) GetViolence() Likelihood {
1301	if x != nil {
1302		return x.Violence
1303	}
1304	return Likelihood_UNKNOWN
1305}
1306
1307func (x *SafeSearchAnnotation) GetRacy() Likelihood {
1308	if x != nil {
1309		return x.Racy
1310	}
1311	return Likelihood_UNKNOWN
1312}
1313
1314// Rectangle determined by min and max `LatLng` pairs.
1315type LatLongRect struct {
1316	state         protoimpl.MessageState
1317	sizeCache     protoimpl.SizeCache
1318	unknownFields protoimpl.UnknownFields
1319
1320	// Min lat/long pair.
1321	MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
1322	// Max lat/long pair.
1323	MaxLatLng *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
1324}
1325
1326func (x *LatLongRect) Reset() {
1327	*x = LatLongRect{}
1328	if protoimpl.UnsafeEnabled {
1329		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9]
1330		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1331		ms.StoreMessageInfo(mi)
1332	}
1333}
1334
1335func (x *LatLongRect) String() string {
1336	return protoimpl.X.MessageStringOf(x)
1337}
1338
1339func (*LatLongRect) ProtoMessage() {}
1340
1341func (x *LatLongRect) ProtoReflect() protoreflect.Message {
1342	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9]
1343	if protoimpl.UnsafeEnabled && x != nil {
1344		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1345		if ms.LoadMessageInfo() == nil {
1346			ms.StoreMessageInfo(mi)
1347		}
1348		return ms
1349	}
1350	return mi.MessageOf(x)
1351}
1352
1353// Deprecated: Use LatLongRect.ProtoReflect.Descriptor instead.
1354func (*LatLongRect) Descriptor() ([]byte, []int) {
1355	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{9}
1356}
1357
1358func (x *LatLongRect) GetMinLatLng() *latlng.LatLng {
1359	if x != nil {
1360		return x.MinLatLng
1361	}
1362	return nil
1363}
1364
1365func (x *LatLongRect) GetMaxLatLng() *latlng.LatLng {
1366	if x != nil {
1367		return x.MaxLatLng
1368	}
1369	return nil
1370}
1371
1372// Color information consists of RGB channels, score, and the fraction of
1373// the image that the color occupies in the image.
1374type ColorInfo struct {
1375	state         protoimpl.MessageState
1376	sizeCache     protoimpl.SizeCache
1377	unknownFields protoimpl.UnknownFields
1378
1379	// RGB components of the color.
1380	Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
1381	// Image-specific score for this color. Value in range [0, 1].
1382	Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
1383	// The fraction of pixels the color occupies in the image.
1384	// Value in range [0, 1].
1385	PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
1386}
1387
1388func (x *ColorInfo) Reset() {
1389	*x = ColorInfo{}
1390	if protoimpl.UnsafeEnabled {
1391		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10]
1392		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1393		ms.StoreMessageInfo(mi)
1394	}
1395}
1396
1397func (x *ColorInfo) String() string {
1398	return protoimpl.X.MessageStringOf(x)
1399}
1400
1401func (*ColorInfo) ProtoMessage() {}
1402
1403func (x *ColorInfo) ProtoReflect() protoreflect.Message {
1404	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10]
1405	if protoimpl.UnsafeEnabled && x != nil {
1406		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1407		if ms.LoadMessageInfo() == nil {
1408			ms.StoreMessageInfo(mi)
1409		}
1410		return ms
1411	}
1412	return mi.MessageOf(x)
1413}
1414
1415// Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead.
1416func (*ColorInfo) Descriptor() ([]byte, []int) {
1417	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{10}
1418}
1419
1420func (x *ColorInfo) GetColor() *color.Color {
1421	if x != nil {
1422		return x.Color
1423	}
1424	return nil
1425}
1426
1427func (x *ColorInfo) GetScore() float32 {
1428	if x != nil {
1429		return x.Score
1430	}
1431	return 0
1432}
1433
1434func (x *ColorInfo) GetPixelFraction() float32 {
1435	if x != nil {
1436		return x.PixelFraction
1437	}
1438	return 0
1439}
1440
1441// Set of dominant colors and their corresponding scores.
1442type DominantColorsAnnotation struct {
1443	state         protoimpl.MessageState
1444	sizeCache     protoimpl.SizeCache
1445	unknownFields protoimpl.UnknownFields
1446
1447	// RGB color values with their score and pixel fraction.
1448	Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
1449}
1450
1451func (x *DominantColorsAnnotation) Reset() {
1452	*x = DominantColorsAnnotation{}
1453	if protoimpl.UnsafeEnabled {
1454		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11]
1455		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1456		ms.StoreMessageInfo(mi)
1457	}
1458}
1459
1460func (x *DominantColorsAnnotation) String() string {
1461	return protoimpl.X.MessageStringOf(x)
1462}
1463
1464func (*DominantColorsAnnotation) ProtoMessage() {}
1465
1466func (x *DominantColorsAnnotation) ProtoReflect() protoreflect.Message {
1467	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11]
1468	if protoimpl.UnsafeEnabled && x != nil {
1469		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1470		if ms.LoadMessageInfo() == nil {
1471			ms.StoreMessageInfo(mi)
1472		}
1473		return ms
1474	}
1475	return mi.MessageOf(x)
1476}
1477
1478// Deprecated: Use DominantColorsAnnotation.ProtoReflect.Descriptor instead.
1479func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
1480	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{11}
1481}
1482
1483func (x *DominantColorsAnnotation) GetColors() []*ColorInfo {
1484	if x != nil {
1485		return x.Colors
1486	}
1487	return nil
1488}
1489
1490// Stores image properties, such as dominant colors.
1491type ImageProperties struct {
1492	state         protoimpl.MessageState
1493	sizeCache     protoimpl.SizeCache
1494	unknownFields protoimpl.UnknownFields
1495
1496	// If present, dominant colors completed successfully.
1497	DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
1498}
1499
1500func (x *ImageProperties) Reset() {
1501	*x = ImageProperties{}
1502	if protoimpl.UnsafeEnabled {
1503		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12]
1504		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1505		ms.StoreMessageInfo(mi)
1506	}
1507}
1508
1509func (x *ImageProperties) String() string {
1510	return protoimpl.X.MessageStringOf(x)
1511}
1512
1513func (*ImageProperties) ProtoMessage() {}
1514
1515func (x *ImageProperties) ProtoReflect() protoreflect.Message {
1516	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12]
1517	if protoimpl.UnsafeEnabled && x != nil {
1518		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1519		if ms.LoadMessageInfo() == nil {
1520			ms.StoreMessageInfo(mi)
1521		}
1522		return ms
1523	}
1524	return mi.MessageOf(x)
1525}
1526
1527// Deprecated: Use ImageProperties.ProtoReflect.Descriptor instead.
1528func (*ImageProperties) Descriptor() ([]byte, []int) {
1529	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{12}
1530}
1531
1532func (x *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
1533	if x != nil {
1534		return x.DominantColors
1535	}
1536	return nil
1537}
1538
1539// Single crop hint that is used to generate a new crop when serving an image.
1540type CropHint struct {
1541	state         protoimpl.MessageState
1542	sizeCache     protoimpl.SizeCache
1543	unknownFields protoimpl.UnknownFields
1544
1545	// The bounding polygon for the crop region. The coordinates of the bounding
1546	// box are in the original image's scale.
1547	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1548	// Confidence of this being a salient region.  Range [0, 1].
1549	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
1550	// Fraction of importance of this salient region with respect to the original
1551	// image.
1552	ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
1553}
1554
1555func (x *CropHint) Reset() {
1556	*x = CropHint{}
1557	if protoimpl.UnsafeEnabled {
1558		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13]
1559		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1560		ms.StoreMessageInfo(mi)
1561	}
1562}
1563
1564func (x *CropHint) String() string {
1565	return protoimpl.X.MessageStringOf(x)
1566}
1567
1568func (*CropHint) ProtoMessage() {}
1569
1570func (x *CropHint) ProtoReflect() protoreflect.Message {
1571	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13]
1572	if protoimpl.UnsafeEnabled && x != nil {
1573		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1574		if ms.LoadMessageInfo() == nil {
1575			ms.StoreMessageInfo(mi)
1576		}
1577		return ms
1578	}
1579	return mi.MessageOf(x)
1580}
1581
1582// Deprecated: Use CropHint.ProtoReflect.Descriptor instead.
1583func (*CropHint) Descriptor() ([]byte, []int) {
1584	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{13}
1585}
1586
1587func (x *CropHint) GetBoundingPoly() *BoundingPoly {
1588	if x != nil {
1589		return x.BoundingPoly
1590	}
1591	return nil
1592}
1593
1594func (x *CropHint) GetConfidence() float32 {
1595	if x != nil {
1596		return x.Confidence
1597	}
1598	return 0
1599}
1600
1601func (x *CropHint) GetImportanceFraction() float32 {
1602	if x != nil {
1603		return x.ImportanceFraction
1604	}
1605	return 0
1606}
1607
1608// Set of crop hints that are used to generate new crops when serving images.
1609type CropHintsAnnotation struct {
1610	state         protoimpl.MessageState
1611	sizeCache     protoimpl.SizeCache
1612	unknownFields protoimpl.UnknownFields
1613
1614	// Crop hint results.
1615	CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
1616}
1617
1618func (x *CropHintsAnnotation) Reset() {
1619	*x = CropHintsAnnotation{}
1620	if protoimpl.UnsafeEnabled {
1621		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14]
1622		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1623		ms.StoreMessageInfo(mi)
1624	}
1625}
1626
1627func (x *CropHintsAnnotation) String() string {
1628	return protoimpl.X.MessageStringOf(x)
1629}
1630
1631func (*CropHintsAnnotation) ProtoMessage() {}
1632
1633func (x *CropHintsAnnotation) ProtoReflect() protoreflect.Message {
1634	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14]
1635	if protoimpl.UnsafeEnabled && x != nil {
1636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1637		if ms.LoadMessageInfo() == nil {
1638			ms.StoreMessageInfo(mi)
1639		}
1640		return ms
1641	}
1642	return mi.MessageOf(x)
1643}
1644
1645// Deprecated: Use CropHintsAnnotation.ProtoReflect.Descriptor instead.
1646func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
1647	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{14}
1648}
1649
1650func (x *CropHintsAnnotation) GetCropHints() []*CropHint {
1651	if x != nil {
1652		return x.CropHints
1653	}
1654	return nil
1655}
1656
1657// Parameters for crop hints annotation request.
1658type CropHintsParams struct {
1659	state         protoimpl.MessageState
1660	sizeCache     protoimpl.SizeCache
1661	unknownFields protoimpl.UnknownFields
1662
1663	// Aspect ratios in floats, representing the ratio of the width to the height
1664	// of the image. For example, if the desired aspect ratio is 4/3, the
1665	// corresponding float value should be 1.33333.  If not specified, the
1666	// best possible crop is returned. The number of provided aspect ratios is
1667	// limited to a maximum of 16; any aspect ratios provided after the 16th are
1668	// ignored.
1669	AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
1670}
1671
1672func (x *CropHintsParams) Reset() {
1673	*x = CropHintsParams{}
1674	if protoimpl.UnsafeEnabled {
1675		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15]
1676		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1677		ms.StoreMessageInfo(mi)
1678	}
1679}
1680
1681func (x *CropHintsParams) String() string {
1682	return protoimpl.X.MessageStringOf(x)
1683}
1684
1685func (*CropHintsParams) ProtoMessage() {}
1686
1687func (x *CropHintsParams) ProtoReflect() protoreflect.Message {
1688	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15]
1689	if protoimpl.UnsafeEnabled && x != nil {
1690		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1691		if ms.LoadMessageInfo() == nil {
1692			ms.StoreMessageInfo(mi)
1693		}
1694		return ms
1695	}
1696	return mi.MessageOf(x)
1697}
1698
1699// Deprecated: Use CropHintsParams.ProtoReflect.Descriptor instead.
1700func (*CropHintsParams) Descriptor() ([]byte, []int) {
1701	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{15}
1702}
1703
1704func (x *CropHintsParams) GetAspectRatios() []float32 {
1705	if x != nil {
1706		return x.AspectRatios
1707	}
1708	return nil
1709}
1710
1711// Parameters for web detection request.
1712type WebDetectionParams struct {
1713	state         protoimpl.MessageState
1714	sizeCache     protoimpl.SizeCache
1715	unknownFields protoimpl.UnknownFields
1716
1717	// Whether to include results derived from the geo information in the image.
1718	IncludeGeoResults bool `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
1719}
1720
1721func (x *WebDetectionParams) Reset() {
1722	*x = WebDetectionParams{}
1723	if protoimpl.UnsafeEnabled {
1724		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16]
1725		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1726		ms.StoreMessageInfo(mi)
1727	}
1728}
1729
1730func (x *WebDetectionParams) String() string {
1731	return protoimpl.X.MessageStringOf(x)
1732}
1733
1734func (*WebDetectionParams) ProtoMessage() {}
1735
1736func (x *WebDetectionParams) ProtoReflect() protoreflect.Message {
1737	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16]
1738	if protoimpl.UnsafeEnabled && x != nil {
1739		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1740		if ms.LoadMessageInfo() == nil {
1741			ms.StoreMessageInfo(mi)
1742		}
1743		return ms
1744	}
1745	return mi.MessageOf(x)
1746}
1747
1748// Deprecated: Use WebDetectionParams.ProtoReflect.Descriptor instead.
1749func (*WebDetectionParams) Descriptor() ([]byte, []int) {
1750	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{16}
1751}
1752
1753func (x *WebDetectionParams) GetIncludeGeoResults() bool {
1754	if x != nil {
1755		return x.IncludeGeoResults
1756	}
1757	return false
1758}
1759
1760// Parameters for text detections. This is used to control TEXT_DETECTION and
1761// DOCUMENT_TEXT_DETECTION features.
1762type TextDetectionParams struct {
1763	state         protoimpl.MessageState
1764	sizeCache     protoimpl.SizeCache
1765	unknownFields protoimpl.UnknownFields
1766
1767	// By default, Cloud Vision API only includes confidence score for
1768	// DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence
1769	// score for TEXT_DETECTION as well.
1770	EnableTextDetectionConfidenceScore bool `protobuf:"varint,9,opt,name=enable_text_detection_confidence_score,json=enableTextDetectionConfidenceScore,proto3" json:"enable_text_detection_confidence_score,omitempty"`
1771}
1772
1773func (x *TextDetectionParams) Reset() {
1774	*x = TextDetectionParams{}
1775	if protoimpl.UnsafeEnabled {
1776		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17]
1777		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1778		ms.StoreMessageInfo(mi)
1779	}
1780}
1781
1782func (x *TextDetectionParams) String() string {
1783	return protoimpl.X.MessageStringOf(x)
1784}
1785
1786func (*TextDetectionParams) ProtoMessage() {}
1787
1788func (x *TextDetectionParams) ProtoReflect() protoreflect.Message {
1789	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17]
1790	if protoimpl.UnsafeEnabled && x != nil {
1791		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1792		if ms.LoadMessageInfo() == nil {
1793			ms.StoreMessageInfo(mi)
1794		}
1795		return ms
1796	}
1797	return mi.MessageOf(x)
1798}
1799
1800// Deprecated: Use TextDetectionParams.ProtoReflect.Descriptor instead.
1801func (*TextDetectionParams) Descriptor() ([]byte, []int) {
1802	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{17}
1803}
1804
1805func (x *TextDetectionParams) GetEnableTextDetectionConfidenceScore() bool {
1806	if x != nil {
1807		return x.EnableTextDetectionConfidenceScore
1808	}
1809	return false
1810}
1811
1812// Image context and/or feature-specific parameters.
1813type ImageContext struct {
1814	state         protoimpl.MessageState
1815	sizeCache     protoimpl.SizeCache
1816	unknownFields protoimpl.UnknownFields
1817
1818	// Not used.
1819	LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
1820	// List of languages to use for TEXT_DETECTION. In most cases, an empty value
1821	// yields the best results since it enables automatic language detection. For
1822	// languages based on the Latin alphabet, setting `language_hints` is not
1823	// needed. In rare cases, when the language of the text in the image is known,
1824	// setting a hint will help get better results (although it will be a
1825	// significant hindrance if the hint is wrong). Text detection returns an
1826	// error if one or more of the specified languages is not one of the
1827	// [supported languages](https://cloud.google.com/vision/docs/languages).
1828	LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
1829	// Parameters for crop hints annotation request.
1830	CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
1831	// Parameters for face recognition.
1832	FaceRecognitionParams *FaceRecognitionParams `protobuf:"bytes,10,opt,name=face_recognition_params,json=faceRecognitionParams,proto3" json:"face_recognition_params,omitempty"`
1833	// Parameters for product search.
1834	ProductSearchParams *ProductSearchParams `protobuf:"bytes,5,opt,name=product_search_params,json=productSearchParams,proto3" json:"product_search_params,omitempty"`
1835	// Parameters for web detection.
1836	WebDetectionParams *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
1837	// Parameters for text detection and document text detection.
1838	TextDetectionParams *TextDetectionParams `protobuf:"bytes,12,opt,name=text_detection_params,json=textDetectionParams,proto3" json:"text_detection_params,omitempty"`
1839}
1840
1841func (x *ImageContext) Reset() {
1842	*x = ImageContext{}
1843	if protoimpl.UnsafeEnabled {
1844		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18]
1845		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1846		ms.StoreMessageInfo(mi)
1847	}
1848}
1849
1850func (x *ImageContext) String() string {
1851	return protoimpl.X.MessageStringOf(x)
1852}
1853
1854func (*ImageContext) ProtoMessage() {}
1855
1856func (x *ImageContext) ProtoReflect() protoreflect.Message {
1857	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18]
1858	if protoimpl.UnsafeEnabled && x != nil {
1859		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1860		if ms.LoadMessageInfo() == nil {
1861			ms.StoreMessageInfo(mi)
1862		}
1863		return ms
1864	}
1865	return mi.MessageOf(x)
1866}
1867
1868// Deprecated: Use ImageContext.ProtoReflect.Descriptor instead.
1869func (*ImageContext) Descriptor() ([]byte, []int) {
1870	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{18}
1871}
1872
1873func (x *ImageContext) GetLatLongRect() *LatLongRect {
1874	if x != nil {
1875		return x.LatLongRect
1876	}
1877	return nil
1878}
1879
1880func (x *ImageContext) GetLanguageHints() []string {
1881	if x != nil {
1882		return x.LanguageHints
1883	}
1884	return nil
1885}
1886
1887func (x *ImageContext) GetCropHintsParams() *CropHintsParams {
1888	if x != nil {
1889		return x.CropHintsParams
1890	}
1891	return nil
1892}
1893
1894func (x *ImageContext) GetFaceRecognitionParams() *FaceRecognitionParams {
1895	if x != nil {
1896		return x.FaceRecognitionParams
1897	}
1898	return nil
1899}
1900
1901func (x *ImageContext) GetProductSearchParams() *ProductSearchParams {
1902	if x != nil {
1903		return x.ProductSearchParams
1904	}
1905	return nil
1906}
1907
1908func (x *ImageContext) GetWebDetectionParams() *WebDetectionParams {
1909	if x != nil {
1910		return x.WebDetectionParams
1911	}
1912	return nil
1913}
1914
1915func (x *ImageContext) GetTextDetectionParams() *TextDetectionParams {
1916	if x != nil {
1917		return x.TextDetectionParams
1918	}
1919	return nil
1920}
1921
1922// Request for performing Google Cloud Vision API tasks over a user-provided
1923// image, with user-requested features, and with context information.
1924type AnnotateImageRequest struct {
1925	state         protoimpl.MessageState
1926	sizeCache     protoimpl.SizeCache
1927	unknownFields protoimpl.UnknownFields
1928
1929	// The image to be processed.
1930	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
1931	// Requested features.
1932	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1933	// Additional context that may accompany the image.
1934	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
1935}
1936
1937func (x *AnnotateImageRequest) Reset() {
1938	*x = AnnotateImageRequest{}
1939	if protoimpl.UnsafeEnabled {
1940		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19]
1941		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1942		ms.StoreMessageInfo(mi)
1943	}
1944}
1945
1946func (x *AnnotateImageRequest) String() string {
1947	return protoimpl.X.MessageStringOf(x)
1948}
1949
1950func (*AnnotateImageRequest) ProtoMessage() {}
1951
1952func (x *AnnotateImageRequest) ProtoReflect() protoreflect.Message {
1953	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19]
1954	if protoimpl.UnsafeEnabled && x != nil {
1955		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1956		if ms.LoadMessageInfo() == nil {
1957			ms.StoreMessageInfo(mi)
1958		}
1959		return ms
1960	}
1961	return mi.MessageOf(x)
1962}
1963
1964// Deprecated: Use AnnotateImageRequest.ProtoReflect.Descriptor instead.
1965func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
1966	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{19}
1967}
1968
1969func (x *AnnotateImageRequest) GetImage() *Image {
1970	if x != nil {
1971		return x.Image
1972	}
1973	return nil
1974}
1975
1976func (x *AnnotateImageRequest) GetFeatures() []*Feature {
1977	if x != nil {
1978		return x.Features
1979	}
1980	return nil
1981}
1982
1983func (x *AnnotateImageRequest) GetImageContext() *ImageContext {
1984	if x != nil {
1985		return x.ImageContext
1986	}
1987	return nil
1988}
1989
1990// If an image was produced from a file (e.g. a PDF), this message gives
1991// information about the source of that image.
1992type ImageAnnotationContext struct {
1993	state         protoimpl.MessageState
1994	sizeCache     protoimpl.SizeCache
1995	unknownFields protoimpl.UnknownFields
1996
1997	// The URI of the file used to produce the image.
1998	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
1999	// If the file was a PDF or TIFF, this field gives the page number within
2000	// the file used to produce the image.
2001	PageNumber int32 `protobuf:"varint,2,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
2002}
2003
2004func (x *ImageAnnotationContext) Reset() {
2005	*x = ImageAnnotationContext{}
2006	if protoimpl.UnsafeEnabled {
2007		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20]
2008		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2009		ms.StoreMessageInfo(mi)
2010	}
2011}
2012
2013func (x *ImageAnnotationContext) String() string {
2014	return protoimpl.X.MessageStringOf(x)
2015}
2016
2017func (*ImageAnnotationContext) ProtoMessage() {}
2018
2019func (x *ImageAnnotationContext) ProtoReflect() protoreflect.Message {
2020	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20]
2021	if protoimpl.UnsafeEnabled && x != nil {
2022		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2023		if ms.LoadMessageInfo() == nil {
2024			ms.StoreMessageInfo(mi)
2025		}
2026		return ms
2027	}
2028	return mi.MessageOf(x)
2029}
2030
2031// Deprecated: Use ImageAnnotationContext.ProtoReflect.Descriptor instead.
2032func (*ImageAnnotationContext) Descriptor() ([]byte, []int) {
2033	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{20}
2034}
2035
2036func (x *ImageAnnotationContext) GetUri() string {
2037	if x != nil {
2038		return x.Uri
2039	}
2040	return ""
2041}
2042
2043func (x *ImageAnnotationContext) GetPageNumber() int32 {
2044	if x != nil {
2045		return x.PageNumber
2046	}
2047	return 0
2048}
2049
2050// Response to an image annotation request.
2051type AnnotateImageResponse struct {
2052	state         protoimpl.MessageState
2053	sizeCache     protoimpl.SizeCache
2054	unknownFields protoimpl.UnknownFields
2055
2056	// If present, face detection has completed successfully.
2057	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
2058	// If present, landmark detection has completed successfully.
2059	LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
2060	// If present, logo detection has completed successfully.
2061	LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
2062	// If present, label detection has completed successfully.
2063	LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
2064	// If present, localized object detection has completed successfully.
2065	// This will be sorted descending by confidence score.
2066	LocalizedObjectAnnotations []*LocalizedObjectAnnotation `protobuf:"bytes,22,rep,name=localized_object_annotations,json=localizedObjectAnnotations,proto3" json:"localized_object_annotations,omitempty"`
2067	// If present, text (OCR) detection has completed successfully.
2068	TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
2069	// If present, text (OCR) detection or document (OCR) text detection has
2070	// completed successfully.
2071	// This annotation provides the structural hierarchy for the OCR detected
2072	// text.
2073	FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
2074	// If present, safe-search annotation has completed successfully.
2075	SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
2076	// If present, image properties were extracted successfully.
2077	ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
2078	// If present, crop hints have completed successfully.
2079	CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
2080	// If present, web detection has completed successfully.
2081	WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
2082	// If present, product search has completed successfully.
2083	ProductSearchResults *ProductSearchResults `protobuf:"bytes,14,opt,name=product_search_results,json=productSearchResults,proto3" json:"product_search_results,omitempty"`
2084	// If set, represents the error message for the operation.
2085	// Note that filled-in image annotations are guaranteed to be
2086	// correct, even when `error` is set.
2087	Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
2088	// If present, contextual information is needed to understand where this image
2089	// comes from.
2090	Context *ImageAnnotationContext `protobuf:"bytes,21,opt,name=context,proto3" json:"context,omitempty"`
2091}
2092
2093func (x *AnnotateImageResponse) Reset() {
2094	*x = AnnotateImageResponse{}
2095	if protoimpl.UnsafeEnabled {
2096		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21]
2097		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2098		ms.StoreMessageInfo(mi)
2099	}
2100}
2101
2102func (x *AnnotateImageResponse) String() string {
2103	return protoimpl.X.MessageStringOf(x)
2104}
2105
2106func (*AnnotateImageResponse) ProtoMessage() {}
2107
2108func (x *AnnotateImageResponse) ProtoReflect() protoreflect.Message {
2109	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21]
2110	if protoimpl.UnsafeEnabled && x != nil {
2111		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2112		if ms.LoadMessageInfo() == nil {
2113			ms.StoreMessageInfo(mi)
2114		}
2115		return ms
2116	}
2117	return mi.MessageOf(x)
2118}
2119
2120// Deprecated: Use AnnotateImageResponse.ProtoReflect.Descriptor instead.
2121func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
2122	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{21}
2123}
2124
2125func (x *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
2126	if x != nil {
2127		return x.FaceAnnotations
2128	}
2129	return nil
2130}
2131
2132func (x *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
2133	if x != nil {
2134		return x.LandmarkAnnotations
2135	}
2136	return nil
2137}
2138
2139func (x *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
2140	if x != nil {
2141		return x.LogoAnnotations
2142	}
2143	return nil
2144}
2145
2146func (x *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
2147	if x != nil {
2148		return x.LabelAnnotations
2149	}
2150	return nil
2151}
2152
2153func (x *AnnotateImageResponse) GetLocalizedObjectAnnotations() []*LocalizedObjectAnnotation {
2154	if x != nil {
2155		return x.LocalizedObjectAnnotations
2156	}
2157	return nil
2158}
2159
2160func (x *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
2161	if x != nil {
2162		return x.TextAnnotations
2163	}
2164	return nil
2165}
2166
2167func (x *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
2168	if x != nil {
2169		return x.FullTextAnnotation
2170	}
2171	return nil
2172}
2173
2174func (x *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
2175	if x != nil {
2176		return x.SafeSearchAnnotation
2177	}
2178	return nil
2179}
2180
2181func (x *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
2182	if x != nil {
2183		return x.ImagePropertiesAnnotation
2184	}
2185	return nil
2186}
2187
2188func (x *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
2189	if x != nil {
2190		return x.CropHintsAnnotation
2191	}
2192	return nil
2193}
2194
2195func (x *AnnotateImageResponse) GetWebDetection() *WebDetection {
2196	if x != nil {
2197		return x.WebDetection
2198	}
2199	return nil
2200}
2201
2202func (x *AnnotateImageResponse) GetProductSearchResults() *ProductSearchResults {
2203	if x != nil {
2204		return x.ProductSearchResults
2205	}
2206	return nil
2207}
2208
2209func (x *AnnotateImageResponse) GetError() *status.Status {
2210	if x != nil {
2211		return x.Error
2212	}
2213	return nil
2214}
2215
2216func (x *AnnotateImageResponse) GetContext() *ImageAnnotationContext {
2217	if x != nil {
2218		return x.Context
2219	}
2220	return nil
2221}
2222
2223// Multiple image annotation requests are batched into a single service call.
2224type BatchAnnotateImagesRequest struct {
2225	state         protoimpl.MessageState
2226	sizeCache     protoimpl.SizeCache
2227	unknownFields protoimpl.UnknownFields
2228
2229	// Required. Individual image annotation requests for this batch.
2230	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2231}
2232
2233func (x *BatchAnnotateImagesRequest) Reset() {
2234	*x = BatchAnnotateImagesRequest{}
2235	if protoimpl.UnsafeEnabled {
2236		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22]
2237		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2238		ms.StoreMessageInfo(mi)
2239	}
2240}
2241
2242func (x *BatchAnnotateImagesRequest) String() string {
2243	return protoimpl.X.MessageStringOf(x)
2244}
2245
2246func (*BatchAnnotateImagesRequest) ProtoMessage() {}
2247
2248func (x *BatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
2249	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22]
2250	if protoimpl.UnsafeEnabled && x != nil {
2251		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2252		if ms.LoadMessageInfo() == nil {
2253			ms.StoreMessageInfo(mi)
2254		}
2255		return ms
2256	}
2257	return mi.MessageOf(x)
2258}
2259
2260// Deprecated: Use BatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
2261func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
2262	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{22}
2263}
2264
2265func (x *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
2266	if x != nil {
2267		return x.Requests
2268	}
2269	return nil
2270}
2271
2272// Response to a batch image annotation request.
2273type BatchAnnotateImagesResponse struct {
2274	state         protoimpl.MessageState
2275	sizeCache     protoimpl.SizeCache
2276	unknownFields protoimpl.UnknownFields
2277
2278	// Individual responses to image annotation requests within the batch.
2279	Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2280}
2281
2282func (x *BatchAnnotateImagesResponse) Reset() {
2283	*x = BatchAnnotateImagesResponse{}
2284	if protoimpl.UnsafeEnabled {
2285		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23]
2286		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2287		ms.StoreMessageInfo(mi)
2288	}
2289}
2290
2291func (x *BatchAnnotateImagesResponse) String() string {
2292	return protoimpl.X.MessageStringOf(x)
2293}
2294
2295func (*BatchAnnotateImagesResponse) ProtoMessage() {}
2296
2297func (x *BatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2298	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23]
2299	if protoimpl.UnsafeEnabled && x != nil {
2300		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2301		if ms.LoadMessageInfo() == nil {
2302			ms.StoreMessageInfo(mi)
2303		}
2304		return ms
2305	}
2306	return mi.MessageOf(x)
2307}
2308
2309// Deprecated: Use BatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2310func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2311	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{23}
2312}
2313
2314func (x *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
2315	if x != nil {
2316		return x.Responses
2317	}
2318	return nil
2319}
2320
2321// A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
2322type AnnotateFileRequest struct {
2323	state         protoimpl.MessageState
2324	sizeCache     protoimpl.SizeCache
2325	unknownFields protoimpl.UnknownFields
2326
2327	// Required. Information about the input file.
2328	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2329	// Required. Requested features.
2330	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
2331	// Additional context that may accompany the image(s) in the file.
2332	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2333	// Pages of the file to perform image annotation.
2334	//
2335	// Pages starts from 1, we assume the first page of the file is page 1.
2336	// At most 5 pages are supported per request. Pages can be negative.
2337	//
2338	// Page 1 means the first page.
2339	// Page 2 means the second page.
2340	// Page -1 means the last page.
2341	// Page -2 means the second to the last page.
2342	//
2343	// If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
2344	//
2345	// If this field is empty, by default the service performs image annotation
2346	// for the first 5 pages of the file.
2347	Pages []int32 `protobuf:"varint,4,rep,packed,name=pages,proto3" json:"pages,omitempty"`
2348}
2349
2350func (x *AnnotateFileRequest) Reset() {
2351	*x = AnnotateFileRequest{}
2352	if protoimpl.UnsafeEnabled {
2353		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24]
2354		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2355		ms.StoreMessageInfo(mi)
2356	}
2357}
2358
2359func (x *AnnotateFileRequest) String() string {
2360	return protoimpl.X.MessageStringOf(x)
2361}
2362
2363func (*AnnotateFileRequest) ProtoMessage() {}
2364
2365func (x *AnnotateFileRequest) ProtoReflect() protoreflect.Message {
2366	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24]
2367	if protoimpl.UnsafeEnabled && x != nil {
2368		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2369		if ms.LoadMessageInfo() == nil {
2370			ms.StoreMessageInfo(mi)
2371		}
2372		return ms
2373	}
2374	return mi.MessageOf(x)
2375}
2376
2377// Deprecated: Use AnnotateFileRequest.ProtoReflect.Descriptor instead.
2378func (*AnnotateFileRequest) Descriptor() ([]byte, []int) {
2379	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{24}
2380}
2381
2382func (x *AnnotateFileRequest) GetInputConfig() *InputConfig {
2383	if x != nil {
2384		return x.InputConfig
2385	}
2386	return nil
2387}
2388
2389func (x *AnnotateFileRequest) GetFeatures() []*Feature {
2390	if x != nil {
2391		return x.Features
2392	}
2393	return nil
2394}
2395
2396func (x *AnnotateFileRequest) GetImageContext() *ImageContext {
2397	if x != nil {
2398		return x.ImageContext
2399	}
2400	return nil
2401}
2402
2403func (x *AnnotateFileRequest) GetPages() []int32 {
2404	if x != nil {
2405		return x.Pages
2406	}
2407	return nil
2408}
2409
2410// Response to a single file annotation request. A file may contain one or more
2411// images, which individually have their own responses.
2412type AnnotateFileResponse struct {
2413	state         protoimpl.MessageState
2414	sizeCache     protoimpl.SizeCache
2415	unknownFields protoimpl.UnknownFields
2416
2417	// Information about the file for which this response is generated.
2418	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2419	// Individual responses to images found within the file. This field will be
2420	// empty if the `error` field is set.
2421	Responses []*AnnotateImageResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
2422	// This field gives the total number of pages in the file.
2423	TotalPages int32 `protobuf:"varint,3,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
2424	// If set, represents the error message for the failed request. The
2425	// `responses` field will not be set in this case.
2426	Error *status.Status `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
2427}
2428
2429func (x *AnnotateFileResponse) Reset() {
2430	*x = AnnotateFileResponse{}
2431	if protoimpl.UnsafeEnabled {
2432		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25]
2433		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2434		ms.StoreMessageInfo(mi)
2435	}
2436}
2437
2438func (x *AnnotateFileResponse) String() string {
2439	return protoimpl.X.MessageStringOf(x)
2440}
2441
2442func (*AnnotateFileResponse) ProtoMessage() {}
2443
2444func (x *AnnotateFileResponse) ProtoReflect() protoreflect.Message {
2445	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25]
2446	if protoimpl.UnsafeEnabled && x != nil {
2447		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2448		if ms.LoadMessageInfo() == nil {
2449			ms.StoreMessageInfo(mi)
2450		}
2451		return ms
2452	}
2453	return mi.MessageOf(x)
2454}
2455
2456// Deprecated: Use AnnotateFileResponse.ProtoReflect.Descriptor instead.
2457func (*AnnotateFileResponse) Descriptor() ([]byte, []int) {
2458	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{25}
2459}
2460
2461func (x *AnnotateFileResponse) GetInputConfig() *InputConfig {
2462	if x != nil {
2463		return x.InputConfig
2464	}
2465	return nil
2466}
2467
2468func (x *AnnotateFileResponse) GetResponses() []*AnnotateImageResponse {
2469	if x != nil {
2470		return x.Responses
2471	}
2472	return nil
2473}
2474
2475func (x *AnnotateFileResponse) GetTotalPages() int32 {
2476	if x != nil {
2477		return x.TotalPages
2478	}
2479	return 0
2480}
2481
2482func (x *AnnotateFileResponse) GetError() *status.Status {
2483	if x != nil {
2484		return x.Error
2485	}
2486	return nil
2487}
2488
2489// A list of requests to annotate files using the BatchAnnotateFiles API.
2490type BatchAnnotateFilesRequest struct {
2491	state         protoimpl.MessageState
2492	sizeCache     protoimpl.SizeCache
2493	unknownFields protoimpl.UnknownFields
2494
2495	// Required. The list of file annotation requests. Right now we support only
2496	// one AnnotateFileRequest in BatchAnnotateFilesRequest.
2497	Requests []*AnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2498}
2499
2500func (x *BatchAnnotateFilesRequest) Reset() {
2501	*x = BatchAnnotateFilesRequest{}
2502	if protoimpl.UnsafeEnabled {
2503		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26]
2504		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2505		ms.StoreMessageInfo(mi)
2506	}
2507}
2508
2509func (x *BatchAnnotateFilesRequest) String() string {
2510	return protoimpl.X.MessageStringOf(x)
2511}
2512
2513func (*BatchAnnotateFilesRequest) ProtoMessage() {}
2514
2515func (x *BatchAnnotateFilesRequest) ProtoReflect() protoreflect.Message {
2516	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26]
2517	if protoimpl.UnsafeEnabled && x != nil {
2518		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2519		if ms.LoadMessageInfo() == nil {
2520			ms.StoreMessageInfo(mi)
2521		}
2522		return ms
2523	}
2524	return mi.MessageOf(x)
2525}
2526
2527// Deprecated: Use BatchAnnotateFilesRequest.ProtoReflect.Descriptor instead.
2528func (*BatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
2529	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{26}
2530}
2531
2532func (x *BatchAnnotateFilesRequest) GetRequests() []*AnnotateFileRequest {
2533	if x != nil {
2534		return x.Requests
2535	}
2536	return nil
2537}
2538
2539// A list of file annotation responses.
2540type BatchAnnotateFilesResponse struct {
2541	state         protoimpl.MessageState
2542	sizeCache     protoimpl.SizeCache
2543	unknownFields protoimpl.UnknownFields
2544
2545	// The list of file annotation responses, each response corresponding to each
2546	// AnnotateFileRequest in BatchAnnotateFilesRequest.
2547	Responses []*AnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2548}
2549
2550func (x *BatchAnnotateFilesResponse) Reset() {
2551	*x = BatchAnnotateFilesResponse{}
2552	if protoimpl.UnsafeEnabled {
2553		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27]
2554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2555		ms.StoreMessageInfo(mi)
2556	}
2557}
2558
2559func (x *BatchAnnotateFilesResponse) String() string {
2560	return protoimpl.X.MessageStringOf(x)
2561}
2562
2563func (*BatchAnnotateFilesResponse) ProtoMessage() {}
2564
2565func (x *BatchAnnotateFilesResponse) ProtoReflect() protoreflect.Message {
2566	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27]
2567	if protoimpl.UnsafeEnabled && x != nil {
2568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2569		if ms.LoadMessageInfo() == nil {
2570			ms.StoreMessageInfo(mi)
2571		}
2572		return ms
2573	}
2574	return mi.MessageOf(x)
2575}
2576
2577// Deprecated: Use BatchAnnotateFilesResponse.ProtoReflect.Descriptor instead.
2578func (*BatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
2579	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{27}
2580}
2581
2582func (x *BatchAnnotateFilesResponse) GetResponses() []*AnnotateFileResponse {
2583	if x != nil {
2584		return x.Responses
2585	}
2586	return nil
2587}
2588
2589// An offline file annotation request.
2590type AsyncAnnotateFileRequest struct {
2591	state         protoimpl.MessageState
2592	sizeCache     protoimpl.SizeCache
2593	unknownFields protoimpl.UnknownFields
2594
2595	// Required. Information about the input file.
2596	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2597	// Required. Requested features.
2598	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
2599	// Additional context that may accompany the image(s) in the file.
2600	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2601	// Required. The desired output location and metadata (e.g. format).
2602	OutputConfig *OutputConfig `protobuf:"bytes,4,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2603}
2604
2605func (x *AsyncAnnotateFileRequest) Reset() {
2606	*x = AsyncAnnotateFileRequest{}
2607	if protoimpl.UnsafeEnabled {
2608		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28]
2609		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2610		ms.StoreMessageInfo(mi)
2611	}
2612}
2613
2614func (x *AsyncAnnotateFileRequest) String() string {
2615	return protoimpl.X.MessageStringOf(x)
2616}
2617
2618func (*AsyncAnnotateFileRequest) ProtoMessage() {}
2619
2620func (x *AsyncAnnotateFileRequest) ProtoReflect() protoreflect.Message {
2621	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28]
2622	if protoimpl.UnsafeEnabled && x != nil {
2623		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2624		if ms.LoadMessageInfo() == nil {
2625			ms.StoreMessageInfo(mi)
2626		}
2627		return ms
2628	}
2629	return mi.MessageOf(x)
2630}
2631
2632// Deprecated: Use AsyncAnnotateFileRequest.ProtoReflect.Descriptor instead.
2633func (*AsyncAnnotateFileRequest) Descriptor() ([]byte, []int) {
2634	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{28}
2635}
2636
2637func (x *AsyncAnnotateFileRequest) GetInputConfig() *InputConfig {
2638	if x != nil {
2639		return x.InputConfig
2640	}
2641	return nil
2642}
2643
2644func (x *AsyncAnnotateFileRequest) GetFeatures() []*Feature {
2645	if x != nil {
2646		return x.Features
2647	}
2648	return nil
2649}
2650
2651func (x *AsyncAnnotateFileRequest) GetImageContext() *ImageContext {
2652	if x != nil {
2653		return x.ImageContext
2654	}
2655	return nil
2656}
2657
2658func (x *AsyncAnnotateFileRequest) GetOutputConfig() *OutputConfig {
2659	if x != nil {
2660		return x.OutputConfig
2661	}
2662	return nil
2663}
2664
2665// The response for a single offline file annotation request.
2666type AsyncAnnotateFileResponse struct {
2667	state         protoimpl.MessageState
2668	sizeCache     protoimpl.SizeCache
2669	unknownFields protoimpl.UnknownFields
2670
2671	// The output location and metadata from AsyncAnnotateFileRequest.
2672	OutputConfig *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2673}
2674
2675func (x *AsyncAnnotateFileResponse) Reset() {
2676	*x = AsyncAnnotateFileResponse{}
2677	if protoimpl.UnsafeEnabled {
2678		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29]
2679		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2680		ms.StoreMessageInfo(mi)
2681	}
2682}
2683
2684func (x *AsyncAnnotateFileResponse) String() string {
2685	return protoimpl.X.MessageStringOf(x)
2686}
2687
2688func (*AsyncAnnotateFileResponse) ProtoMessage() {}
2689
2690func (x *AsyncAnnotateFileResponse) ProtoReflect() protoreflect.Message {
2691	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29]
2692	if protoimpl.UnsafeEnabled && x != nil {
2693		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2694		if ms.LoadMessageInfo() == nil {
2695			ms.StoreMessageInfo(mi)
2696		}
2697		return ms
2698	}
2699	return mi.MessageOf(x)
2700}
2701
2702// Deprecated: Use AsyncAnnotateFileResponse.ProtoReflect.Descriptor instead.
2703func (*AsyncAnnotateFileResponse) Descriptor() ([]byte, []int) {
2704	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{29}
2705}
2706
2707func (x *AsyncAnnotateFileResponse) GetOutputConfig() *OutputConfig {
2708	if x != nil {
2709		return x.OutputConfig
2710	}
2711	return nil
2712}
2713
2714// Request for async image annotation for a list of images.
2715type AsyncBatchAnnotateImagesRequest struct {
2716	state         protoimpl.MessageState
2717	sizeCache     protoimpl.SizeCache
2718	unknownFields protoimpl.UnknownFields
2719
2720	// Required. Individual image annotation requests for this batch.
2721	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2722	// Required. The desired output location and metadata (e.g. format).
2723	OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2724}
2725
2726func (x *AsyncBatchAnnotateImagesRequest) Reset() {
2727	*x = AsyncBatchAnnotateImagesRequest{}
2728	if protoimpl.UnsafeEnabled {
2729		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30]
2730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2731		ms.StoreMessageInfo(mi)
2732	}
2733}
2734
2735func (x *AsyncBatchAnnotateImagesRequest) String() string {
2736	return protoimpl.X.MessageStringOf(x)
2737}
2738
2739func (*AsyncBatchAnnotateImagesRequest) ProtoMessage() {}
2740
2741func (x *AsyncBatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
2742	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30]
2743	if protoimpl.UnsafeEnabled && x != nil {
2744		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2745		if ms.LoadMessageInfo() == nil {
2746			ms.StoreMessageInfo(mi)
2747		}
2748		return ms
2749	}
2750	return mi.MessageOf(x)
2751}
2752
2753// Deprecated: Use AsyncBatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
2754func (*AsyncBatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
2755	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{30}
2756}
2757
2758func (x *AsyncBatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
2759	if x != nil {
2760		return x.Requests
2761	}
2762	return nil
2763}
2764
2765func (x *AsyncBatchAnnotateImagesRequest) GetOutputConfig() *OutputConfig {
2766	if x != nil {
2767		return x.OutputConfig
2768	}
2769	return nil
2770}
2771
2772// Response to an async batch image annotation request.
2773type AsyncBatchAnnotateImagesResponse struct {
2774	state         protoimpl.MessageState
2775	sizeCache     protoimpl.SizeCache
2776	unknownFields protoimpl.UnknownFields
2777
2778	// The output location and metadata from AsyncBatchAnnotateImagesRequest.
2779	OutputConfig *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2780}
2781
2782func (x *AsyncBatchAnnotateImagesResponse) Reset() {
2783	*x = AsyncBatchAnnotateImagesResponse{}
2784	if protoimpl.UnsafeEnabled {
2785		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31]
2786		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2787		ms.StoreMessageInfo(mi)
2788	}
2789}
2790
2791func (x *AsyncBatchAnnotateImagesResponse) String() string {
2792	return protoimpl.X.MessageStringOf(x)
2793}
2794
2795func (*AsyncBatchAnnotateImagesResponse) ProtoMessage() {}
2796
2797func (x *AsyncBatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2798	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31]
2799	if protoimpl.UnsafeEnabled && x != nil {
2800		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2801		if ms.LoadMessageInfo() == nil {
2802			ms.StoreMessageInfo(mi)
2803		}
2804		return ms
2805	}
2806	return mi.MessageOf(x)
2807}
2808
2809// Deprecated: Use AsyncBatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2810func (*AsyncBatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2811	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{31}
2812}
2813
2814func (x *AsyncBatchAnnotateImagesResponse) GetOutputConfig() *OutputConfig {
2815	if x != nil {
2816		return x.OutputConfig
2817	}
2818	return nil
2819}
2820
2821// Multiple async file annotation requests are batched into a single service
2822// call.
2823type AsyncBatchAnnotateFilesRequest struct {
2824	state         protoimpl.MessageState
2825	sizeCache     protoimpl.SizeCache
2826	unknownFields protoimpl.UnknownFields
2827
2828	// Required. Individual async file annotation requests for this batch.
2829	Requests []*AsyncAnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2830}
2831
2832func (x *AsyncBatchAnnotateFilesRequest) Reset() {
2833	*x = AsyncBatchAnnotateFilesRequest{}
2834	if protoimpl.UnsafeEnabled {
2835		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32]
2836		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2837		ms.StoreMessageInfo(mi)
2838	}
2839}
2840
2841func (x *AsyncBatchAnnotateFilesRequest) String() string {
2842	return protoimpl.X.MessageStringOf(x)
2843}
2844
2845func (*AsyncBatchAnnotateFilesRequest) ProtoMessage() {}
2846
2847func (x *AsyncBatchAnnotateFilesRequest) ProtoReflect() protoreflect.Message {
2848	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32]
2849	if protoimpl.UnsafeEnabled && x != nil {
2850		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2851		if ms.LoadMessageInfo() == nil {
2852			ms.StoreMessageInfo(mi)
2853		}
2854		return ms
2855	}
2856	return mi.MessageOf(x)
2857}
2858
2859// Deprecated: Use AsyncBatchAnnotateFilesRequest.ProtoReflect.Descriptor instead.
2860func (*AsyncBatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
2861	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{32}
2862}
2863
2864func (x *AsyncBatchAnnotateFilesRequest) GetRequests() []*AsyncAnnotateFileRequest {
2865	if x != nil {
2866		return x.Requests
2867	}
2868	return nil
2869}
2870
2871// Response to an async batch file annotation request.
2872type AsyncBatchAnnotateFilesResponse struct {
2873	state         protoimpl.MessageState
2874	sizeCache     protoimpl.SizeCache
2875	unknownFields protoimpl.UnknownFields
2876
2877	// The list of file annotation responses, one for each request in
2878	// AsyncBatchAnnotateFilesRequest.
2879	Responses []*AsyncAnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2880}
2881
2882func (x *AsyncBatchAnnotateFilesResponse) Reset() {
2883	*x = AsyncBatchAnnotateFilesResponse{}
2884	if protoimpl.UnsafeEnabled {
2885		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33]
2886		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2887		ms.StoreMessageInfo(mi)
2888	}
2889}
2890
2891func (x *AsyncBatchAnnotateFilesResponse) String() string {
2892	return protoimpl.X.MessageStringOf(x)
2893}
2894
2895func (*AsyncBatchAnnotateFilesResponse) ProtoMessage() {}
2896
2897func (x *AsyncBatchAnnotateFilesResponse) ProtoReflect() protoreflect.Message {
2898	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33]
2899	if protoimpl.UnsafeEnabled && x != nil {
2900		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2901		if ms.LoadMessageInfo() == nil {
2902			ms.StoreMessageInfo(mi)
2903		}
2904		return ms
2905	}
2906	return mi.MessageOf(x)
2907}
2908
2909// Deprecated: Use AsyncBatchAnnotateFilesResponse.ProtoReflect.Descriptor instead.
2910func (*AsyncBatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
2911	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{33}
2912}
2913
2914func (x *AsyncBatchAnnotateFilesResponse) GetResponses() []*AsyncAnnotateFileResponse {
2915	if x != nil {
2916		return x.Responses
2917	}
2918	return nil
2919}
2920
2921// The desired input location and metadata.
2922type InputConfig struct {
2923	state         protoimpl.MessageState
2924	sizeCache     protoimpl.SizeCache
2925	unknownFields protoimpl.UnknownFields
2926
2927	// The Google Cloud Storage location to read the input from.
2928	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"`
2929	// File content, represented as a stream of bytes.
2930	// Note: As with all `bytes` fields, protobuffers use a pure binary
2931	// representation, whereas JSON representations use base64.
2932	//
2933	// Currently, this field only works for BatchAnnotateFiles requests. It does
2934	// not work for AsyncBatchAnnotateFiles requests.
2935	Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
2936	// The type of the file. Currently only "application/pdf", "image/tiff" and
2937	// "image/gif" are supported. Wildcards are not supported.
2938	MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
2939}
2940
2941func (x *InputConfig) Reset() {
2942	*x = InputConfig{}
2943	if protoimpl.UnsafeEnabled {
2944		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34]
2945		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2946		ms.StoreMessageInfo(mi)
2947	}
2948}
2949
2950func (x *InputConfig) String() string {
2951	return protoimpl.X.MessageStringOf(x)
2952}
2953
2954func (*InputConfig) ProtoMessage() {}
2955
2956func (x *InputConfig) ProtoReflect() protoreflect.Message {
2957	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34]
2958	if protoimpl.UnsafeEnabled && x != nil {
2959		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2960		if ms.LoadMessageInfo() == nil {
2961			ms.StoreMessageInfo(mi)
2962		}
2963		return ms
2964	}
2965	return mi.MessageOf(x)
2966}
2967
2968// Deprecated: Use InputConfig.ProtoReflect.Descriptor instead.
2969func (*InputConfig) Descriptor() ([]byte, []int) {
2970	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{34}
2971}
2972
2973func (x *InputConfig) GetGcsSource() *GcsSource {
2974	if x != nil {
2975		return x.GcsSource
2976	}
2977	return nil
2978}
2979
2980func (x *InputConfig) GetContent() []byte {
2981	if x != nil {
2982		return x.Content
2983	}
2984	return nil
2985}
2986
2987func (x *InputConfig) GetMimeType() string {
2988	if x != nil {
2989		return x.MimeType
2990	}
2991	return ""
2992}
2993
2994// The desired output location and metadata.
2995type OutputConfig struct {
2996	state         protoimpl.MessageState
2997	sizeCache     protoimpl.SizeCache
2998	unknownFields protoimpl.UnknownFields
2999
3000	// The Google Cloud Storage location to write the output(s) to.
3001	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3" json:"gcs_destination,omitempty"`
3002	// The max number of response protos to put into each output JSON file on
3003	// Google Cloud Storage.
3004	// The valid range is [1, 100]. If not specified, the default value is 20.
3005	//
3006	// For example, for one pdf file with 100 pages, 100 response protos will
3007	// be generated. If `batch_size` = 20, then 5 json files each
3008	// containing 20 response protos will be written under the prefix
3009	// `gcs_destination`.`uri`.
3010	//
3011	// Currently, batch_size only applies to GcsDestination, with potential future
3012	// support for other output configurations.
3013	BatchSize int32 `protobuf:"varint,2,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
3014}
3015
3016func (x *OutputConfig) Reset() {
3017	*x = OutputConfig{}
3018	if protoimpl.UnsafeEnabled {
3019		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35]
3020		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3021		ms.StoreMessageInfo(mi)
3022	}
3023}
3024
3025func (x *OutputConfig) String() string {
3026	return protoimpl.X.MessageStringOf(x)
3027}
3028
3029func (*OutputConfig) ProtoMessage() {}
3030
3031func (x *OutputConfig) ProtoReflect() protoreflect.Message {
3032	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35]
3033	if protoimpl.UnsafeEnabled && x != nil {
3034		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3035		if ms.LoadMessageInfo() == nil {
3036			ms.StoreMessageInfo(mi)
3037		}
3038		return ms
3039	}
3040	return mi.MessageOf(x)
3041}
3042
3043// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead.
3044func (*OutputConfig) Descriptor() ([]byte, []int) {
3045	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{35}
3046}
3047
3048func (x *OutputConfig) GetGcsDestination() *GcsDestination {
3049	if x != nil {
3050		return x.GcsDestination
3051	}
3052	return nil
3053}
3054
3055func (x *OutputConfig) GetBatchSize() int32 {
3056	if x != nil {
3057		return x.BatchSize
3058	}
3059	return 0
3060}
3061
3062// The Google Cloud Storage location where the input will be read from.
3063type GcsSource struct {
3064	state         protoimpl.MessageState
3065	sizeCache     protoimpl.SizeCache
3066	unknownFields protoimpl.UnknownFields
3067
3068	// Google Cloud Storage URI for the input file. This must only be a
3069	// Google Cloud Storage object. Wildcards are not currently supported.
3070	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3071}
3072
3073func (x *GcsSource) Reset() {
3074	*x = GcsSource{}
3075	if protoimpl.UnsafeEnabled {
3076		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36]
3077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3078		ms.StoreMessageInfo(mi)
3079	}
3080}
3081
3082func (x *GcsSource) String() string {
3083	return protoimpl.X.MessageStringOf(x)
3084}
3085
3086func (*GcsSource) ProtoMessage() {}
3087
3088func (x *GcsSource) ProtoReflect() protoreflect.Message {
3089	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36]
3090	if protoimpl.UnsafeEnabled && x != nil {
3091		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3092		if ms.LoadMessageInfo() == nil {
3093			ms.StoreMessageInfo(mi)
3094		}
3095		return ms
3096	}
3097	return mi.MessageOf(x)
3098}
3099
3100// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead.
3101func (*GcsSource) Descriptor() ([]byte, []int) {
3102	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{36}
3103}
3104
3105func (x *GcsSource) GetUri() string {
3106	if x != nil {
3107		return x.Uri
3108	}
3109	return ""
3110}
3111
3112// The Google Cloud Storage location where the output will be written to.
3113type GcsDestination struct {
3114	state         protoimpl.MessageState
3115	sizeCache     protoimpl.SizeCache
3116	unknownFields protoimpl.UnknownFields
3117
3118	// Google Cloud Storage URI prefix where the results will be stored. Results
3119	// will be in JSON format and preceded by its corresponding input URI prefix.
3120	// This field can either represent a gcs file prefix or gcs directory. In
3121	// either case, the uri should be unique because in order to get all of the
3122	// output files, you will need to do a wildcard gcs search on the uri prefix
3123	// you provide.
3124	//
3125	// Examples:
3126	//
3127	// *    File Prefix: gs://bucket-name/here/filenameprefix   The output files
3128	// will be created in gs://bucket-name/here/ and the names of the
3129	// output files will begin with "filenameprefix".
3130	//
3131	// *    Directory Prefix: gs://bucket-name/some/location/   The output files
3132	// will be created in gs://bucket-name/some/location/ and the names of the
3133	// output files could be anything because there was no filename prefix
3134	// specified.
3135	//
3136	// If multiple outputs, each response is still AnnotateFileResponse, each of
3137	// which contains some subset of the full list of AnnotateImageResponse.
3138	// Multiple outputs can happen if, for example, the output JSON is too large
3139	// and overflows into multiple sharded files.
3140	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3141}
3142
3143func (x *GcsDestination) Reset() {
3144	*x = GcsDestination{}
3145	if protoimpl.UnsafeEnabled {
3146		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37]
3147		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3148		ms.StoreMessageInfo(mi)
3149	}
3150}
3151
3152func (x *GcsDestination) String() string {
3153	return protoimpl.X.MessageStringOf(x)
3154}
3155
3156func (*GcsDestination) ProtoMessage() {}
3157
3158func (x *GcsDestination) ProtoReflect() protoreflect.Message {
3159	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37]
3160	if protoimpl.UnsafeEnabled && x != nil {
3161		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3162		if ms.LoadMessageInfo() == nil {
3163			ms.StoreMessageInfo(mi)
3164		}
3165		return ms
3166	}
3167	return mi.MessageOf(x)
3168}
3169
3170// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead.
3171func (*GcsDestination) Descriptor() ([]byte, []int) {
3172	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{37}
3173}
3174
3175func (x *GcsDestination) GetUri() string {
3176	if x != nil {
3177		return x.Uri
3178	}
3179	return ""
3180}
3181
3182// Contains metadata for the BatchAnnotateImages operation.
3183type OperationMetadata struct {
3184	state         protoimpl.MessageState
3185	sizeCache     protoimpl.SizeCache
3186	unknownFields protoimpl.UnknownFields
3187
3188	// Current state of the batch operation.
3189	State OperationMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.vision.v1p4beta1.OperationMetadata_State" json:"state,omitempty"`
3190	// The time when the batch request was received.
3191	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
3192	// The time when the operation result was last updated.
3193	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
3194}
3195
3196func (x *OperationMetadata) Reset() {
3197	*x = OperationMetadata{}
3198	if protoimpl.UnsafeEnabled {
3199		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38]
3200		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3201		ms.StoreMessageInfo(mi)
3202	}
3203}
3204
3205func (x *OperationMetadata) String() string {
3206	return protoimpl.X.MessageStringOf(x)
3207}
3208
3209func (*OperationMetadata) ProtoMessage() {}
3210
3211func (x *OperationMetadata) ProtoReflect() protoreflect.Message {
3212	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38]
3213	if protoimpl.UnsafeEnabled && x != nil {
3214		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3215		if ms.LoadMessageInfo() == nil {
3216			ms.StoreMessageInfo(mi)
3217		}
3218		return ms
3219	}
3220	return mi.MessageOf(x)
3221}
3222
3223// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead.
3224func (*OperationMetadata) Descriptor() ([]byte, []int) {
3225	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{38}
3226}
3227
3228func (x *OperationMetadata) GetState() OperationMetadata_State {
3229	if x != nil {
3230		return x.State
3231	}
3232	return OperationMetadata_STATE_UNSPECIFIED
3233}
3234
3235func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp {
3236	if x != nil {
3237		return x.CreateTime
3238	}
3239	return nil
3240}
3241
3242func (x *OperationMetadata) GetUpdateTime() *timestamppb.Timestamp {
3243	if x != nil {
3244		return x.UpdateTime
3245	}
3246	return nil
3247}
3248
3249// A face-specific landmark (for example, a face feature).
3250type FaceAnnotation_Landmark struct {
3251	state         protoimpl.MessageState
3252	sizeCache     protoimpl.SizeCache
3253	unknownFields protoimpl.UnknownFields
3254
3255	// Face landmark type.
3256	Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p4beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
3257	// Face landmark position.
3258	Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
3259}
3260
3261func (x *FaceAnnotation_Landmark) Reset() {
3262	*x = FaceAnnotation_Landmark{}
3263	if protoimpl.UnsafeEnabled {
3264		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[39]
3265		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3266		ms.StoreMessageInfo(mi)
3267	}
3268}
3269
3270func (x *FaceAnnotation_Landmark) String() string {
3271	return protoimpl.X.MessageStringOf(x)
3272}
3273
3274func (*FaceAnnotation_Landmark) ProtoMessage() {}
3275
3276func (x *FaceAnnotation_Landmark) ProtoReflect() protoreflect.Message {
3277	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[39]
3278	if protoimpl.UnsafeEnabled && x != nil {
3279		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3280		if ms.LoadMessageInfo() == nil {
3281			ms.StoreMessageInfo(mi)
3282		}
3283		return ms
3284	}
3285	return mi.MessageOf(x)
3286}
3287
3288// Deprecated: Use FaceAnnotation_Landmark.ProtoReflect.Descriptor instead.
3289func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
3290	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0}
3291}
3292
3293func (x *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
3294	if x != nil {
3295		return x.Type
3296	}
3297	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
3298}
3299
3300func (x *FaceAnnotation_Landmark) GetPosition() *Position {
3301	if x != nil {
3302		return x.Position
3303	}
3304	return nil
3305}
3306
3307var File_google_cloud_vision_v1p4beta1_image_annotator_proto protoreflect.FileDescriptor
3308
3309var file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc = []byte{
3310	0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
3311	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
3312	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x2e,
3313	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3314	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3315	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
3316	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
3317	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
3318	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
3319	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
3320	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f,
3321	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f,
3322	0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x61, 0x63, 0x65,
3323	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
3324	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34,
3325	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70,
3326	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
3327	0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3328	0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72,
3329	0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3330	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31,
3331	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e,
3332	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67,
3333	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69,
3334	0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x65, 0x62,
3335	0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3336	0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
3337	0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
3338	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
3339	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73,
3340	0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
3341	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3342	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3343	0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3344	0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x63,
3345	0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67,
3346	0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70,
3347	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x03, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
3348	0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b,
3349	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3350	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46,
3351	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
3352	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
3353	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c,
3354	0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
3355	0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xa3, 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70,
3356	0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
3357	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x43, 0x45, 0x5f,
3358	0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c,
3359	0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f,
3360	0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x4f, 0x5f, 0x44, 0x45, 0x54, 0x45,
3361	0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x42, 0x45, 0x4c,
3362	0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e,
3363	0x54, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05,
3364	0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x45, 0x58,
3365	0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x19, 0x0a,
3366	0x15, 0x53, 0x41, 0x46, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x44, 0x45, 0x54,
3367	0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4d, 0x41, 0x47,
3368	0x45, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0e,
3369	0x0a, 0x0a, 0x43, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x09, 0x12, 0x11,
3370	0x0a, 0x0d, 0x57, 0x45, 0x42, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10,
3371	0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x41,
3372	0x52, 0x43, 0x48, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f,
3373	0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x13, 0x22, 0x4e,
3374	0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a,
3375	0x0d, 0x67, 0x63, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01,
3376	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x63, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72,
3377	0x69, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02,
3378	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x22, 0x65,
3379	0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
3380	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
3381	0x74, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3382	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3383	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3384	0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73,
3385	0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8a, 0x11, 0x0a, 0x0e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e,
3386	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e,
3387	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
3388	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3389	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3390	0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f,
3391	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x55, 0x0a, 0x10, 0x66, 0x64,
3392	0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x02,
3393	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3394	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3395	0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3396	0x79, 0x52, 0x0e, 0x66, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3397	0x79, 0x12, 0x54, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03,
3398	0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3399	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3400	0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3401	0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x09, 0x6c, 0x61,
3402	0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x5f,
3403	0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x72, 0x6f, 0x6c,
3404	0x6c, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x6e, 0x5f, 0x61, 0x6e,
3405	0x67, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x70, 0x61, 0x6e, 0x41, 0x6e,
3406	0x67, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c,
3407	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67,
3408	0x6c, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
3409	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02,
3410	0x52, 0x13, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3411	0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72,
3412	0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18,
3413	0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69,
3414	0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0e,
3415	0x6a, 0x6f, 0x79, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x09,
3416	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3417	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3418	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3419	0x0d, 0x6a, 0x6f, 0x79, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x56,
3420	0x0a, 0x11, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3421	0x6f, 0x6f, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3422	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3423	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3424	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x10, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x4c, 0x69, 0x6b, 0x65,
3425	0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f,
3426	0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e,
3427	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3428	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3429	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0f, 0x61, 0x6e, 0x67,
3430	0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13,
3431	0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3432	0x6f, 0x6f, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3433	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3434	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3435	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x12, 0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x4c, 0x69,
3436	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x75, 0x6e, 0x64, 0x65,
3437	0x72, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3438	0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
3439	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3440	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
3441	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x16, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f,
3442	0x73, 0x65, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x58, 0x0a,
3443	0x12, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3444	0x6f, 0x6f, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3445	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3446	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3447	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x11, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x6b,
3448	0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x64, 0x77,
3449	0x65, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0f,
3450	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3451	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3452	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3453	0x12, 0x68, 0x65, 0x61, 0x64, 0x77, 0x65, 0x61, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3454	0x6f, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69,
3455	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32,
3456	0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3457	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3458	0x46, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3459	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69,
3460	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xd7, 0x07, 0x0a, 0x08, 0x4c, 0x61, 0x6e,
3461	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x4f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
3462	0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3463	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3464	0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
3465	0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65,
3466	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
3467	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3468	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3469	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
3470	0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x06, 0x0a, 0x04,
3471	0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f,
3472	0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x45,
3473	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x49, 0x47, 0x48,
3474	0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f,
3475	0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10,
3476	0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4c, 0x45,
3477	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15,
3478	0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59,
3479	0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54,
3480	0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f,
3481	0x57, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f,
3482	0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x45, 0x59, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0c,
3483	0x0a, 0x08, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x54, 0x49, 0x50, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09,
3484	0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x4c,
3485	0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f,
3486	0x55, 0x54, 0x48, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f,
3487	0x55, 0x54, 0x48, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x4d,
3488	0x4f, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x15, 0x0a,
3489	0x11, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x52, 0x49, 0x47,
3490	0x48, 0x54, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54,
3491	0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f,
3492	0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52,
3493	0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54,
3494	0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x11, 0x12, 0x19, 0x0a,
3495	0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3496	0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x12, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x46, 0x54,
3497	0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55, 0x4e,
3498	0x44, 0x41, 0x52, 0x59, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45,
3499	0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x14,
3500	0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54, 0x4f,
3501	0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16,
3502	0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3503	0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x49, 0x47, 0x48,
3504	0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55,
3505	0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x17, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54,
3506	0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52,
3507	0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52,
3508	0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e,
3509	0x54, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45,
3510	0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f,
3511	0x49, 0x4e, 0x54, 0x10, 0x1a, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x41,
3512	0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x1b, 0x12, 0x15, 0x0a, 0x11, 0x52,
3513	0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e,
3514	0x10, 0x1c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x50,
3515	0x55, 0x50, 0x49, 0x4c, 0x10, 0x1d, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3516	0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49, 0x4c, 0x10, 0x1e, 0x12, 0x15, 0x0a, 0x11, 0x46,
3517	0x4f, 0x52, 0x45, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x47, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x4c, 0x41,
3518	0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x47, 0x4e, 0x41, 0x54, 0x48,
3519	0x49, 0x4f, 0x4e, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x4c, 0x45,
3520	0x46, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x21, 0x12, 0x15, 0x0a, 0x11, 0x43,
3521	0x48, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e,
3522	0x10, 0x22, 0x22, 0x3c, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
3523	0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x01, 0x20,
3524	0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70,
3525	0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x4c, 0x6e, 0x67,
3526	0x22, 0x57, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04,
3527	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3528	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3529	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
3530	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x69,
3531	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9e, 0x03, 0x0a, 0x10, 0x45, 0x6e,
3532	0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
3533	0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64,
3534	0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3535	0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
3536	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
3537	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
3538	0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
3539	0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05,
3540	0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
3541	0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x69,
3542	0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x61,
3543	0x6c, 0x69, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
3544	0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
3545	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3546	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e,
3547	0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69,
3548	0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3549	0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3550	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3551	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3552	0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3553	0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
3554	0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3555	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3556	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0a,
3557	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x4c,
3558	0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e,
3559	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18,
3560	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61,
3561	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3562	0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12,
3563	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
3564	0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01,
3565	0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75,
3566	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
3567	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3568	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3569	0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62,
3570	0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x22, 0xe3, 0x02, 0x0a, 0x14,
3571	0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3572	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
3573	0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3574	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3575	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x05,
3576	0x61, 0x64, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x18, 0x02,
3577	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3578	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3579	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3580	0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61,
3581	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3582	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3583	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f,
3584	0x6f, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x76,
3585	0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
3586	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3587	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69,
3588	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x08, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e,
3589	0x63, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e,
3590	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3591	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3592	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x04, 0x72, 0x61, 0x63,
3593	0x79, 0x22, 0x77, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74,
3594	0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18,
3595	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74,
3596	0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c,
3597	0x61, 0x74, 0x4c, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x74,
3598	0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f,
3599	0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52,
3600	0x09, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x22, 0x72, 0x0a, 0x09, 0x43, 0x6f,
3601	0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
3602	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3603	0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f,
3604	0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
3605	0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69, 0x78, 0x65, 0x6c,
3606	0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52,
3607	0x0d, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c,
3608	0x0a, 0x18, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73,
3609	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f,
3610	0x6c, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
3611	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3612	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
3613	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22, 0x73, 0x0a, 0x0f,
3614	0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12,
3615	0x60, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f,
3616	0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3617	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3618	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e,
3619	0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3620	0x6e, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
3621	0x73, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x50,
3622	0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18,
3623	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3624	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3625	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f,
3626	0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79,
3627	0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02,
3628	0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
3629	0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66,
3630	0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x69,
3631	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
3632	0x6e, 0x22, 0x5d, 0x0a, 0x13, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e,
3633	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x70,
3634	0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67,
3635	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3636	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x6f,
3637	0x70, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73,
3638	0x22, 0x36, 0x0a, 0x0f, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72,
3639	0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61,
3640	0x74, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x73, 0x70, 0x65,
3641	0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x44,
3642	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2e,
3643	0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x72, 0x65,
3644	0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63,
3645	0x6c, 0x75, 0x64, 0x65, 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x69,
3646	0x0a, 0x13, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50,
3647	0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x52, 0x0a, 0x26, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f,
3648	0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
3649	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
3650	0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x65, 0x78,
3651	0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64,
3652	0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x84, 0x05, 0x0a, 0x0c, 0x49, 0x6d,
3653	0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a, 0x0d, 0x6c, 0x61,
3654	0x74, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
3655	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3656	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3657	0x31, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x6c,
3658	0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61,
3659	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
3660	0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x48, 0x69, 0x6e, 0x74,
3661	0x73, 0x12, 0x5a, 0x0a, 0x11, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x5f,
3662	0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
3663	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3664	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x6f,
3665	0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0f, 0x63, 0x72,
3666	0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x6c, 0x0a,
3667	0x17, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f,
3668	0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34,
3669	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3670	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46,
3671	0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
3672	0x72, 0x61, 0x6d, 0x73, 0x52, 0x15, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e,
3673	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x66, 0x0a, 0x15, 0x70,
3674	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x70, 0x61,
3675	0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
3676	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3677	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
3678	0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13,
3679	0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x72,
3680	0x61, 0x6d, 0x73, 0x12, 0x63, 0x0a, 0x14, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
3681	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
3682	0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3683	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3684	0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
3685	0x72, 0x61, 0x6d, 0x73, 0x52, 0x12, 0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
3686	0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x66, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74,
3687	0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
3688	0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3689	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3690	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65,
3691	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x74, 0x65, 0x78,
3692	0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
3693	0x22, 0xe8, 0x01, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
3694	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x6d, 0x61,
3695	0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3696	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3697	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05,
3698	0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
3699	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3700	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3701	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52,
3702	0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61,
3703	0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
3704	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3705	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3706	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69,
3707	0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4b, 0x0a, 0x16, 0x49,
3708	0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
3709	0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
3710	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f,
3711	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61,
3712	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xc3, 0x0a, 0x0a, 0x15, 0x41, 0x6e, 0x6e,
3713	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3714	0x73, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
3715	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
3716	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3717	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63,
3718	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x63,
3719	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x14,
3720	0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3721	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
3722	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3723	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
3724	0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6c, 0x61, 0x6e,
3725	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3726	0x12, 0x5a, 0x0a, 0x10, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3727	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
3728	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3729	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
3730	0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x6f, 0x67,
3731	0x6f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x11,
3732	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3733	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3734	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3735	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e,
3736	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x41,
3737	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7a, 0x0a, 0x1c, 0x6c, 0x6f,
3738	0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61,
3739	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b,
3740	0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3741	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3742	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
3743	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x6c, 0x6f, 0x63, 0x61,
3744	0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3745	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61,
3746	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
3747	0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3748	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3749	0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3750	0x6e, 0x52, 0x0f, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3751	0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f,
3752	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
3753	0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3754	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3755	0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3756	0x12, 0x66, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3757	0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x16, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72,
3758	0x63, 0x68, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20,
3759	0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3760	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3761	0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e,
3762	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x73, 0x61, 0x66, 0x65, 0x53, 0x65,
3763	0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e,
3764	0x0a, 0x1b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
3765	0x65, 0x73, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
3766	0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3767	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3768	0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
3769	0x69, 0x65, 0x73, 0x52, 0x19, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
3770	0x74, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66,
3771	0x0a, 0x15, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6e,
3772	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
3773	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3774	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72,
3775	0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3776	0x6e, 0x52, 0x13, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f,
3777	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65,
3778	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
3779	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3780	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65,
3781	0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x44,
3782	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x64,
3783	0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c,
3784	0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3785	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3786	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
3787	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x14, 0x70,
3788	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75,
3789	0x6c, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01,
3790	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
3791	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4f, 0x0a,
3792	0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35,
3793	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3794	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
3795	0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
3796	0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x72,
3797	0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49,
3798	0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x08,
3799	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33,
3800	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3801	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
3802	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75,
3803	0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
3804	0x74, 0x73, 0x22, 0x71, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3805	0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3806	0x65, 0x12, 0x52, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01,
3807	0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3808	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3809	0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
3810	0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70,
3811	0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x90, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3812	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a,
3813	0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20,
3814	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3815	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3816	0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
3817	0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x08,
3818	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26,
3819	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3820	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46,
3821	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
3822	0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
3823	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3824	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3825	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e,
3826	0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
3827	0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
3828	0x05, 0x52, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x14, 0x41, 0x6e, 0x6e,
3829	0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3830	0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
3831	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3832	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3833	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
3834	0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3835	0x12, 0x52, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20,
3836	0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3837	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3838	0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3839	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f,
3840	0x6e, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61,
3841	0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
3842	0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04,
3843	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
3844	0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
3845	0x70, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
3846	0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x08,
3847	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32,
3848	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3849	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
3850	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
3851	0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3852	0x73, 0x22, 0x6f, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3853	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3854	0x51, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
3855	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3856	0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
3857	0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52,
3858	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3859	0x65, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f,
3860	0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3861	0x4d, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
3862	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3863	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3864	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3865	0x67, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42,
3866	0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
3867	0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3868	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3869	0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
3870	0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
3871	0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3872	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3873	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43,
3874	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e,
3875	0x74, 0x65, 0x78, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63,
3876	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
3877	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3878	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70,
3879	0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
3880	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x6d, 0x0a, 0x19, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41,
3881	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
3882	0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f,
3883	0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
3884	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3885	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75,
3886	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43,
3887	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42,
3888	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3889	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x71,
3890	0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f,
3891	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3892	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
3893	0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3894	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12,
3895	0x55, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3896	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3897	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
3898	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
3899	0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
3900	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x74, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42,
3901	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3902	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75,
3903	0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
3904	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3905	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3906	0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c,
3907	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x7a, 0x0a, 0x1e,
3908	0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3909	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58,
3910	0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
3911	0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3912	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3913	0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69,
3914	0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08,
3915	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x79, 0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e,
3916	0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69,
3917	0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x72,
3918	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38,
3919	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3920	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41,
3921	0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65,
3922	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3923	0x73, 0x65, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
3924	0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
3925	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3926	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3927	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63,
3928	0x65, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07,
3929	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63,
3930	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74,
3931	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54,
3932	0x79, 0x70, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f,
3933	0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74,
3934	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
3935	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3936	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63,
3937	0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x67, 0x63,
3938	0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
3939	0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
3940	0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x1d, 0x0a, 0x09, 0x47,
3941	0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18,
3942	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x22, 0x0a, 0x0e, 0x47, 0x63,
3943	0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03,
3944	0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xae,
3945	0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61,
3946	0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
3947	0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3948	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3949	0x74, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
3950	0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
3951	0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
3952	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3953	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
3954	0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
3955	0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06,
3956	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3957	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
3958	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x05,
3959	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
3960	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
3961	0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e,
3962	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03,
3963	0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x2a,
3964	0x65, 0x0a, 0x0a, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x0b, 0x0a,
3965	0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x45,
3966	0x52, 0x59, 0x5f, 0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a,
3967	0x08, 0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50,
3968	0x4f, 0x53, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x4b,
3969	0x45, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x49,
3970	0x4b, 0x45, 0x4c, 0x59, 0x10, 0x05, 0x32, 0xf1, 0x07, 0x0a, 0x0e, 0x49, 0x6d, 0x61, 0x67, 0x65,
3971	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0xbe, 0x01, 0x0a, 0x13, 0x42, 0x61,
3972	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
3973	0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3974	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3975	0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49,
3976	0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67,
3977	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3978	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74,
3979	0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73,
3980	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f,
3981	0x22, 0x1a, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6d, 0x61,
3982	0x67, 0x65, 0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda,
3983	0x41, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x12, 0x42,
3984	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65,
3985	0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3986	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3987	0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46,
3988	0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f,
3989	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3990	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63,
3991	0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65,
3992	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19,
3993	0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73,
3994	0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x72,
3995	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xfc, 0x01, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e,
3996	0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d,
3997	0x61, 0x67, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3998	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3999	0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41,
4000	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71,
4001	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
4002	0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
4003	0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, 0x2f, 0x76,
4004	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a,
4005	0x61, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
4006	0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
4007	0x2c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x41,
4008	0x35, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e,
4009	0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
4010	0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
4011	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe9, 0x01, 0x0a, 0x17, 0x41, 0x73, 0x79, 0x6e, 0x63,
4012	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c,
4013	0x65, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4014	0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
4015	0x61, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e,
4016	0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4017	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
4018	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4019	0x22, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62,
4020	0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x79, 0x6e, 0x63,
4021	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a,
4022	0xda, 0x41, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0xca, 0x41, 0x34, 0x0a, 0x1f,
4023	0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
4024	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4025	0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
4026	0x74, 0x61, 0x1a, 0x76, 0xca, 0x41, 0x15, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f,
4027	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5b, 0x68,
4028	0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4029	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63,
4030	0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74,
4031	0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4032	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c,
4033	0x6f, 0x75, 0x64, 0x2d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x89, 0x01, 0x0a, 0x21, 0x63,
4034	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4035	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
4036	0x42, 0x13, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72,
4037	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4038	0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
4039	0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63,
4040	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34,
4041	0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0xf8, 0x01, 0x01, 0xa2,
4042	0x02, 0x04, 0x47, 0x43, 0x56, 0x4e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
4043}
4044
4045var (
4046	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescOnce sync.Once
4047	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData = file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc
4048)
4049
4050func file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP() []byte {
4051	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescOnce.Do(func() {
4052		file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData)
4053	})
4054	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData
4055}
4056
4057var file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
4058var file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
4059var file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes = []interface{}{
4060	(Likelihood)(0),                          // 0: google.cloud.vision.v1p4beta1.Likelihood
4061	(Feature_Type)(0),                        // 1: google.cloud.vision.v1p4beta1.Feature.Type
4062	(FaceAnnotation_Landmark_Type)(0),        // 2: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type
4063	(OperationMetadata_State)(0),             // 3: google.cloud.vision.v1p4beta1.OperationMetadata.State
4064	(*Feature)(nil),                          // 4: google.cloud.vision.v1p4beta1.Feature
4065	(*ImageSource)(nil),                      // 5: google.cloud.vision.v1p4beta1.ImageSource
4066	(*Image)(nil),                            // 6: google.cloud.vision.v1p4beta1.Image
4067	(*FaceAnnotation)(nil),                   // 7: google.cloud.vision.v1p4beta1.FaceAnnotation
4068	(*LocationInfo)(nil),                     // 8: google.cloud.vision.v1p4beta1.LocationInfo
4069	(*Property)(nil),                         // 9: google.cloud.vision.v1p4beta1.Property
4070	(*EntityAnnotation)(nil),                 // 10: google.cloud.vision.v1p4beta1.EntityAnnotation
4071	(*LocalizedObjectAnnotation)(nil),        // 11: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation
4072	(*SafeSearchAnnotation)(nil),             // 12: google.cloud.vision.v1p4beta1.SafeSearchAnnotation
4073	(*LatLongRect)(nil),                      // 13: google.cloud.vision.v1p4beta1.LatLongRect
4074	(*ColorInfo)(nil),                        // 14: google.cloud.vision.v1p4beta1.ColorInfo
4075	(*DominantColorsAnnotation)(nil),         // 15: google.cloud.vision.v1p4beta1.DominantColorsAnnotation
4076	(*ImageProperties)(nil),                  // 16: google.cloud.vision.v1p4beta1.ImageProperties
4077	(*CropHint)(nil),                         // 17: google.cloud.vision.v1p4beta1.CropHint
4078	(*CropHintsAnnotation)(nil),              // 18: google.cloud.vision.v1p4beta1.CropHintsAnnotation
4079	(*CropHintsParams)(nil),                  // 19: google.cloud.vision.v1p4beta1.CropHintsParams
4080	(*WebDetectionParams)(nil),               // 20: google.cloud.vision.v1p4beta1.WebDetectionParams
4081	(*TextDetectionParams)(nil),              // 21: google.cloud.vision.v1p4beta1.TextDetectionParams
4082	(*ImageContext)(nil),                     // 22: google.cloud.vision.v1p4beta1.ImageContext
4083	(*AnnotateImageRequest)(nil),             // 23: google.cloud.vision.v1p4beta1.AnnotateImageRequest
4084	(*ImageAnnotationContext)(nil),           // 24: google.cloud.vision.v1p4beta1.ImageAnnotationContext
4085	(*AnnotateImageResponse)(nil),            // 25: google.cloud.vision.v1p4beta1.AnnotateImageResponse
4086	(*BatchAnnotateImagesRequest)(nil),       // 26: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest
4087	(*BatchAnnotateImagesResponse)(nil),      // 27: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse
4088	(*AnnotateFileRequest)(nil),              // 28: google.cloud.vision.v1p4beta1.AnnotateFileRequest
4089	(*AnnotateFileResponse)(nil),             // 29: google.cloud.vision.v1p4beta1.AnnotateFileResponse
4090	(*BatchAnnotateFilesRequest)(nil),        // 30: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest
4091	(*BatchAnnotateFilesResponse)(nil),       // 31: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse
4092	(*AsyncAnnotateFileRequest)(nil),         // 32: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest
4093	(*AsyncAnnotateFileResponse)(nil),        // 33: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse
4094	(*AsyncBatchAnnotateImagesRequest)(nil),  // 34: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest
4095	(*AsyncBatchAnnotateImagesResponse)(nil), // 35: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse
4096	(*AsyncBatchAnnotateFilesRequest)(nil),   // 36: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest
4097	(*AsyncBatchAnnotateFilesResponse)(nil),  // 37: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse
4098	(*InputConfig)(nil),                      // 38: google.cloud.vision.v1p4beta1.InputConfig
4099	(*OutputConfig)(nil),                     // 39: google.cloud.vision.v1p4beta1.OutputConfig
4100	(*GcsSource)(nil),                        // 40: google.cloud.vision.v1p4beta1.GcsSource
4101	(*GcsDestination)(nil),                   // 41: google.cloud.vision.v1p4beta1.GcsDestination
4102	(*OperationMetadata)(nil),                // 42: google.cloud.vision.v1p4beta1.OperationMetadata
4103	(*FaceAnnotation_Landmark)(nil),          // 43: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark
4104	(*BoundingPoly)(nil),                     // 44: google.cloud.vision.v1p4beta1.BoundingPoly
4105	(*FaceRecognitionResult)(nil),            // 45: google.cloud.vision.v1p4beta1.FaceRecognitionResult
4106	(*latlng.LatLng)(nil),                    // 46: google.type.LatLng
4107	(*color.Color)(nil),                      // 47: google.type.Color
4108	(*FaceRecognitionParams)(nil),            // 48: google.cloud.vision.v1p4beta1.FaceRecognitionParams
4109	(*ProductSearchParams)(nil),              // 49: google.cloud.vision.v1p4beta1.ProductSearchParams
4110	(*TextAnnotation)(nil),                   // 50: google.cloud.vision.v1p4beta1.TextAnnotation
4111	(*WebDetection)(nil),                     // 51: google.cloud.vision.v1p4beta1.WebDetection
4112	(*ProductSearchResults)(nil),             // 52: google.cloud.vision.v1p4beta1.ProductSearchResults
4113	(*status.Status)(nil),                    // 53: google.rpc.Status
4114	(*timestamppb.Timestamp)(nil),            // 54: google.protobuf.Timestamp
4115	(*Position)(nil),                         // 55: google.cloud.vision.v1p4beta1.Position
4116	(*longrunning.Operation)(nil),            // 56: google.longrunning.Operation
4117}
4118var file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs = []int32{
4119	1,  // 0: google.cloud.vision.v1p4beta1.Feature.type:type_name -> google.cloud.vision.v1p4beta1.Feature.Type
4120	5,  // 1: google.cloud.vision.v1p4beta1.Image.source:type_name -> google.cloud.vision.v1p4beta1.ImageSource
4121	44, // 2: google.cloud.vision.v1p4beta1.FaceAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4122	44, // 3: google.cloud.vision.v1p4beta1.FaceAnnotation.fd_bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4123	43, // 4: google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark
4124	0,  // 5: google.cloud.vision.v1p4beta1.FaceAnnotation.joy_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4125	0,  // 6: google.cloud.vision.v1p4beta1.FaceAnnotation.sorrow_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4126	0,  // 7: google.cloud.vision.v1p4beta1.FaceAnnotation.anger_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4127	0,  // 8: google.cloud.vision.v1p4beta1.FaceAnnotation.surprise_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4128	0,  // 9: google.cloud.vision.v1p4beta1.FaceAnnotation.under_exposed_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4129	0,  // 10: google.cloud.vision.v1p4beta1.FaceAnnotation.blurred_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4130	0,  // 11: google.cloud.vision.v1p4beta1.FaceAnnotation.headwear_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4131	45, // 12: google.cloud.vision.v1p4beta1.FaceAnnotation.recognition_result:type_name -> google.cloud.vision.v1p4beta1.FaceRecognitionResult
4132	46, // 13: google.cloud.vision.v1p4beta1.LocationInfo.lat_lng:type_name -> google.type.LatLng
4133	44, // 14: google.cloud.vision.v1p4beta1.EntityAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4134	8,  // 15: google.cloud.vision.v1p4beta1.EntityAnnotation.locations:type_name -> google.cloud.vision.v1p4beta1.LocationInfo
4135	9,  // 16: google.cloud.vision.v1p4beta1.EntityAnnotation.properties:type_name -> google.cloud.vision.v1p4beta1.Property
4136	44, // 17: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4137	0,  // 18: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.adult:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4138	0,  // 19: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.spoof:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4139	0,  // 20: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.medical:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4140	0,  // 21: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.violence:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4141	0,  // 22: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.racy:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4142	46, // 23: google.cloud.vision.v1p4beta1.LatLongRect.min_lat_lng:type_name -> google.type.LatLng
4143	46, // 24: google.cloud.vision.v1p4beta1.LatLongRect.max_lat_lng:type_name -> google.type.LatLng
4144	47, // 25: google.cloud.vision.v1p4beta1.ColorInfo.color:type_name -> google.type.Color
4145	14, // 26: google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors:type_name -> google.cloud.vision.v1p4beta1.ColorInfo
4146	15, // 27: google.cloud.vision.v1p4beta1.ImageProperties.dominant_colors:type_name -> google.cloud.vision.v1p4beta1.DominantColorsAnnotation
4147	44, // 28: google.cloud.vision.v1p4beta1.CropHint.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4148	17, // 29: google.cloud.vision.v1p4beta1.CropHintsAnnotation.crop_hints:type_name -> google.cloud.vision.v1p4beta1.CropHint
4149	13, // 30: google.cloud.vision.v1p4beta1.ImageContext.lat_long_rect:type_name -> google.cloud.vision.v1p4beta1.LatLongRect
4150	19, // 31: google.cloud.vision.v1p4beta1.ImageContext.crop_hints_params:type_name -> google.cloud.vision.v1p4beta1.CropHintsParams
4151	48, // 32: google.cloud.vision.v1p4beta1.ImageContext.face_recognition_params:type_name -> google.cloud.vision.v1p4beta1.FaceRecognitionParams
4152	49, // 33: google.cloud.vision.v1p4beta1.ImageContext.product_search_params:type_name -> google.cloud.vision.v1p4beta1.ProductSearchParams
4153	20, // 34: google.cloud.vision.v1p4beta1.ImageContext.web_detection_params:type_name -> google.cloud.vision.v1p4beta1.WebDetectionParams
4154	21, // 35: google.cloud.vision.v1p4beta1.ImageContext.text_detection_params:type_name -> google.cloud.vision.v1p4beta1.TextDetectionParams
4155	6,  // 36: google.cloud.vision.v1p4beta1.AnnotateImageRequest.image:type_name -> google.cloud.vision.v1p4beta1.Image
4156	4,  // 37: google.cloud.vision.v1p4beta1.AnnotateImageRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4157	22, // 38: google.cloud.vision.v1p4beta1.AnnotateImageRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4158	7,  // 39: google.cloud.vision.v1p4beta1.AnnotateImageResponse.face_annotations:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation
4159	10, // 40: google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmark_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4160	10, // 41: google.cloud.vision.v1p4beta1.AnnotateImageResponse.logo_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4161	10, // 42: google.cloud.vision.v1p4beta1.AnnotateImageResponse.label_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4162	11, // 43: google.cloud.vision.v1p4beta1.AnnotateImageResponse.localized_object_annotations:type_name -> google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation
4163	10, // 44: google.cloud.vision.v1p4beta1.AnnotateImageResponse.text_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4164	50, // 45: google.cloud.vision.v1p4beta1.AnnotateImageResponse.full_text_annotation:type_name -> google.cloud.vision.v1p4beta1.TextAnnotation
4165	12, // 46: google.cloud.vision.v1p4beta1.AnnotateImageResponse.safe_search_annotation:type_name -> google.cloud.vision.v1p4beta1.SafeSearchAnnotation
4166	16, // 47: google.cloud.vision.v1p4beta1.AnnotateImageResponse.image_properties_annotation:type_name -> google.cloud.vision.v1p4beta1.ImageProperties
4167	18, // 48: google.cloud.vision.v1p4beta1.AnnotateImageResponse.crop_hints_annotation:type_name -> google.cloud.vision.v1p4beta1.CropHintsAnnotation
4168	51, // 49: google.cloud.vision.v1p4beta1.AnnotateImageResponse.web_detection:type_name -> google.cloud.vision.v1p4beta1.WebDetection
4169	52, // 50: google.cloud.vision.v1p4beta1.AnnotateImageResponse.product_search_results:type_name -> google.cloud.vision.v1p4beta1.ProductSearchResults
4170	53, // 51: google.cloud.vision.v1p4beta1.AnnotateImageResponse.error:type_name -> google.rpc.Status
4171	24, // 52: google.cloud.vision.v1p4beta1.AnnotateImageResponse.context:type_name -> google.cloud.vision.v1p4beta1.ImageAnnotationContext
4172	23, // 53: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageRequest
4173	25, // 54: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageResponse
4174	38, // 55: google.cloud.vision.v1p4beta1.AnnotateFileRequest.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4175	4,  // 56: google.cloud.vision.v1p4beta1.AnnotateFileRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4176	22, // 57: google.cloud.vision.v1p4beta1.AnnotateFileRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4177	38, // 58: google.cloud.vision.v1p4beta1.AnnotateFileResponse.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4178	25, // 59: google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageResponse
4179	53, // 60: google.cloud.vision.v1p4beta1.AnnotateFileResponse.error:type_name -> google.rpc.Status
4180	28, // 61: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateFileRequest
4181	29, // 62: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateFileResponse
4182	38, // 63: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4183	4,  // 64: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4184	22, // 65: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4185	39, // 66: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4186	39, // 67: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4187	23, // 68: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageRequest
4188	39, // 69: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4189	39, // 70: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4190	32, // 71: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest
4191	33, // 72: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse
4192	40, // 73: google.cloud.vision.v1p4beta1.InputConfig.gcs_source:type_name -> google.cloud.vision.v1p4beta1.GcsSource
4193	41, // 74: google.cloud.vision.v1p4beta1.OutputConfig.gcs_destination:type_name -> google.cloud.vision.v1p4beta1.GcsDestination
4194	3,  // 75: google.cloud.vision.v1p4beta1.OperationMetadata.state:type_name -> google.cloud.vision.v1p4beta1.OperationMetadata.State
4195	54, // 76: google.cloud.vision.v1p4beta1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp
4196	54, // 77: google.cloud.vision.v1p4beta1.OperationMetadata.update_time:type_name -> google.protobuf.Timestamp
4197	2,  // 78: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.type:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type
4198	55, // 79: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.position:type_name -> google.cloud.vision.v1p4beta1.Position
4199	26, // 80: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages:input_type -> google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest
4200	30, // 81: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles:input_type -> google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest
4201	34, // 82: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages:input_type -> google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest
4202	36, // 83: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles:input_type -> google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest
4203	27, // 84: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages:output_type -> google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse
4204	31, // 85: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles:output_type -> google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse
4205	56, // 86: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages:output_type -> google.longrunning.Operation
4206	56, // 87: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles:output_type -> google.longrunning.Operation
4207	84, // [84:88] is the sub-list for method output_type
4208	80, // [80:84] is the sub-list for method input_type
4209	80, // [80:80] is the sub-list for extension type_name
4210	80, // [80:80] is the sub-list for extension extendee
4211	0,  // [0:80] is the sub-list for field type_name
4212}
4213
4214func init() { file_google_cloud_vision_v1p4beta1_image_annotator_proto_init() }
4215func file_google_cloud_vision_v1p4beta1_image_annotator_proto_init() {
4216	if File_google_cloud_vision_v1p4beta1_image_annotator_proto != nil {
4217		return
4218	}
4219	file_google_cloud_vision_v1p4beta1_face_proto_init()
4220	file_google_cloud_vision_v1p4beta1_geometry_proto_init()
4221	file_google_cloud_vision_v1p4beta1_product_search_proto_init()
4222	file_google_cloud_vision_v1p4beta1_text_annotation_proto_init()
4223	file_google_cloud_vision_v1p4beta1_web_detection_proto_init()
4224	if !protoimpl.UnsafeEnabled {
4225		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4226			switch v := v.(*Feature); i {
4227			case 0:
4228				return &v.state
4229			case 1:
4230				return &v.sizeCache
4231			case 2:
4232				return &v.unknownFields
4233			default:
4234				return nil
4235			}
4236		}
4237		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4238			switch v := v.(*ImageSource); i {
4239			case 0:
4240				return &v.state
4241			case 1:
4242				return &v.sizeCache
4243			case 2:
4244				return &v.unknownFields
4245			default:
4246				return nil
4247			}
4248		}
4249		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4250			switch v := v.(*Image); i {
4251			case 0:
4252				return &v.state
4253			case 1:
4254				return &v.sizeCache
4255			case 2:
4256				return &v.unknownFields
4257			default:
4258				return nil
4259			}
4260		}
4261		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4262			switch v := v.(*FaceAnnotation); i {
4263			case 0:
4264				return &v.state
4265			case 1:
4266				return &v.sizeCache
4267			case 2:
4268				return &v.unknownFields
4269			default:
4270				return nil
4271			}
4272		}
4273		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4274			switch v := v.(*LocationInfo); i {
4275			case 0:
4276				return &v.state
4277			case 1:
4278				return &v.sizeCache
4279			case 2:
4280				return &v.unknownFields
4281			default:
4282				return nil
4283			}
4284		}
4285		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4286			switch v := v.(*Property); i {
4287			case 0:
4288				return &v.state
4289			case 1:
4290				return &v.sizeCache
4291			case 2:
4292				return &v.unknownFields
4293			default:
4294				return nil
4295			}
4296		}
4297		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4298			switch v := v.(*EntityAnnotation); i {
4299			case 0:
4300				return &v.state
4301			case 1:
4302				return &v.sizeCache
4303			case 2:
4304				return &v.unknownFields
4305			default:
4306				return nil
4307			}
4308		}
4309		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4310			switch v := v.(*LocalizedObjectAnnotation); i {
4311			case 0:
4312				return &v.state
4313			case 1:
4314				return &v.sizeCache
4315			case 2:
4316				return &v.unknownFields
4317			default:
4318				return nil
4319			}
4320		}
4321		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4322			switch v := v.(*SafeSearchAnnotation); i {
4323			case 0:
4324				return &v.state
4325			case 1:
4326				return &v.sizeCache
4327			case 2:
4328				return &v.unknownFields
4329			default:
4330				return nil
4331			}
4332		}
4333		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4334			switch v := v.(*LatLongRect); i {
4335			case 0:
4336				return &v.state
4337			case 1:
4338				return &v.sizeCache
4339			case 2:
4340				return &v.unknownFields
4341			default:
4342				return nil
4343			}
4344		}
4345		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4346			switch v := v.(*ColorInfo); i {
4347			case 0:
4348				return &v.state
4349			case 1:
4350				return &v.sizeCache
4351			case 2:
4352				return &v.unknownFields
4353			default:
4354				return nil
4355			}
4356		}
4357		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4358			switch v := v.(*DominantColorsAnnotation); i {
4359			case 0:
4360				return &v.state
4361			case 1:
4362				return &v.sizeCache
4363			case 2:
4364				return &v.unknownFields
4365			default:
4366				return nil
4367			}
4368		}
4369		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4370			switch v := v.(*ImageProperties); i {
4371			case 0:
4372				return &v.state
4373			case 1:
4374				return &v.sizeCache
4375			case 2:
4376				return &v.unknownFields
4377			default:
4378				return nil
4379			}
4380		}
4381		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4382			switch v := v.(*CropHint); i {
4383			case 0:
4384				return &v.state
4385			case 1:
4386				return &v.sizeCache
4387			case 2:
4388				return &v.unknownFields
4389			default:
4390				return nil
4391			}
4392		}
4393		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4394			switch v := v.(*CropHintsAnnotation); i {
4395			case 0:
4396				return &v.state
4397			case 1:
4398				return &v.sizeCache
4399			case 2:
4400				return &v.unknownFields
4401			default:
4402				return nil
4403			}
4404		}
4405		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4406			switch v := v.(*CropHintsParams); i {
4407			case 0:
4408				return &v.state
4409			case 1:
4410				return &v.sizeCache
4411			case 2:
4412				return &v.unknownFields
4413			default:
4414				return nil
4415			}
4416		}
4417		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4418			switch v := v.(*WebDetectionParams); i {
4419			case 0:
4420				return &v.state
4421			case 1:
4422				return &v.sizeCache
4423			case 2:
4424				return &v.unknownFields
4425			default:
4426				return nil
4427			}
4428		}
4429		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4430			switch v := v.(*TextDetectionParams); i {
4431			case 0:
4432				return &v.state
4433			case 1:
4434				return &v.sizeCache
4435			case 2:
4436				return &v.unknownFields
4437			default:
4438				return nil
4439			}
4440		}
4441		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4442			switch v := v.(*ImageContext); i {
4443			case 0:
4444				return &v.state
4445			case 1:
4446				return &v.sizeCache
4447			case 2:
4448				return &v.unknownFields
4449			default:
4450				return nil
4451			}
4452		}
4453		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4454			switch v := v.(*AnnotateImageRequest); i {
4455			case 0:
4456				return &v.state
4457			case 1:
4458				return &v.sizeCache
4459			case 2:
4460				return &v.unknownFields
4461			default:
4462				return nil
4463			}
4464		}
4465		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4466			switch v := v.(*ImageAnnotationContext); i {
4467			case 0:
4468				return &v.state
4469			case 1:
4470				return &v.sizeCache
4471			case 2:
4472				return &v.unknownFields
4473			default:
4474				return nil
4475			}
4476		}
4477		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4478			switch v := v.(*AnnotateImageResponse); i {
4479			case 0:
4480				return &v.state
4481			case 1:
4482				return &v.sizeCache
4483			case 2:
4484				return &v.unknownFields
4485			default:
4486				return nil
4487			}
4488		}
4489		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4490			switch v := v.(*BatchAnnotateImagesRequest); i {
4491			case 0:
4492				return &v.state
4493			case 1:
4494				return &v.sizeCache
4495			case 2:
4496				return &v.unknownFields
4497			default:
4498				return nil
4499			}
4500		}
4501		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4502			switch v := v.(*BatchAnnotateImagesResponse); i {
4503			case 0:
4504				return &v.state
4505			case 1:
4506				return &v.sizeCache
4507			case 2:
4508				return &v.unknownFields
4509			default:
4510				return nil
4511			}
4512		}
4513		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4514			switch v := v.(*AnnotateFileRequest); i {
4515			case 0:
4516				return &v.state
4517			case 1:
4518				return &v.sizeCache
4519			case 2:
4520				return &v.unknownFields
4521			default:
4522				return nil
4523			}
4524		}
4525		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4526			switch v := v.(*AnnotateFileResponse); i {
4527			case 0:
4528				return &v.state
4529			case 1:
4530				return &v.sizeCache
4531			case 2:
4532				return &v.unknownFields
4533			default:
4534				return nil
4535			}
4536		}
4537		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4538			switch v := v.(*BatchAnnotateFilesRequest); i {
4539			case 0:
4540				return &v.state
4541			case 1:
4542				return &v.sizeCache
4543			case 2:
4544				return &v.unknownFields
4545			default:
4546				return nil
4547			}
4548		}
4549		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4550			switch v := v.(*BatchAnnotateFilesResponse); i {
4551			case 0:
4552				return &v.state
4553			case 1:
4554				return &v.sizeCache
4555			case 2:
4556				return &v.unknownFields
4557			default:
4558				return nil
4559			}
4560		}
4561		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4562			switch v := v.(*AsyncAnnotateFileRequest); i {
4563			case 0:
4564				return &v.state
4565			case 1:
4566				return &v.sizeCache
4567			case 2:
4568				return &v.unknownFields
4569			default:
4570				return nil
4571			}
4572		}
4573		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4574			switch v := v.(*AsyncAnnotateFileResponse); i {
4575			case 0:
4576				return &v.state
4577			case 1:
4578				return &v.sizeCache
4579			case 2:
4580				return &v.unknownFields
4581			default:
4582				return nil
4583			}
4584		}
4585		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4586			switch v := v.(*AsyncBatchAnnotateImagesRequest); i {
4587			case 0:
4588				return &v.state
4589			case 1:
4590				return &v.sizeCache
4591			case 2:
4592				return &v.unknownFields
4593			default:
4594				return nil
4595			}
4596		}
4597		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4598			switch v := v.(*AsyncBatchAnnotateImagesResponse); i {
4599			case 0:
4600				return &v.state
4601			case 1:
4602				return &v.sizeCache
4603			case 2:
4604				return &v.unknownFields
4605			default:
4606				return nil
4607			}
4608		}
4609		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4610			switch v := v.(*AsyncBatchAnnotateFilesRequest); i {
4611			case 0:
4612				return &v.state
4613			case 1:
4614				return &v.sizeCache
4615			case 2:
4616				return &v.unknownFields
4617			default:
4618				return nil
4619			}
4620		}
4621		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4622			switch v := v.(*AsyncBatchAnnotateFilesResponse); i {
4623			case 0:
4624				return &v.state
4625			case 1:
4626				return &v.sizeCache
4627			case 2:
4628				return &v.unknownFields
4629			default:
4630				return nil
4631			}
4632		}
4633		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4634			switch v := v.(*InputConfig); i {
4635			case 0:
4636				return &v.state
4637			case 1:
4638				return &v.sizeCache
4639			case 2:
4640				return &v.unknownFields
4641			default:
4642				return nil
4643			}
4644		}
4645		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4646			switch v := v.(*OutputConfig); i {
4647			case 0:
4648				return &v.state
4649			case 1:
4650				return &v.sizeCache
4651			case 2:
4652				return &v.unknownFields
4653			default:
4654				return nil
4655			}
4656		}
4657		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4658			switch v := v.(*GcsSource); i {
4659			case 0:
4660				return &v.state
4661			case 1:
4662				return &v.sizeCache
4663			case 2:
4664				return &v.unknownFields
4665			default:
4666				return nil
4667			}
4668		}
4669		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4670			switch v := v.(*GcsDestination); i {
4671			case 0:
4672				return &v.state
4673			case 1:
4674				return &v.sizeCache
4675			case 2:
4676				return &v.unknownFields
4677			default:
4678				return nil
4679			}
4680		}
4681		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4682			switch v := v.(*OperationMetadata); i {
4683			case 0:
4684				return &v.state
4685			case 1:
4686				return &v.sizeCache
4687			case 2:
4688				return &v.unknownFields
4689			default:
4690				return nil
4691			}
4692		}
4693		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
4694			switch v := v.(*FaceAnnotation_Landmark); i {
4695			case 0:
4696				return &v.state
4697			case 1:
4698				return &v.sizeCache
4699			case 2:
4700				return &v.unknownFields
4701			default:
4702				return nil
4703			}
4704		}
4705	}
4706	type x struct{}
4707	out := protoimpl.TypeBuilder{
4708		File: protoimpl.DescBuilder{
4709			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4710			RawDescriptor: file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc,
4711			NumEnums:      4,
4712			NumMessages:   40,
4713			NumExtensions: 0,
4714			NumServices:   1,
4715		},
4716		GoTypes:           file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes,
4717		DependencyIndexes: file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs,
4718		EnumInfos:         file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes,
4719		MessageInfos:      file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes,
4720	}.Build()
4721	File_google_cloud_vision_v1p4beta1_image_annotator_proto = out.File
4722	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc = nil
4723	file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes = nil
4724	file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs = nil
4725}
4726
4727// Reference imports to suppress errors if they are not otherwise used.
4728var _ context.Context
4729var _ grpc.ClientConnInterface
4730
4731// This is a compile-time assertion to ensure that this generated file
4732// is compatible with the grpc package it is being compiled against.
4733const _ = grpc.SupportPackageIsVersion6
4734
4735// ImageAnnotatorClient is the client API for ImageAnnotator service.
4736//
4737// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4738type ImageAnnotatorClient interface {
4739	// Run image detection and annotation for a batch of images.
4740	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
4741	// Service that performs image detection and annotation for a batch of files.
4742	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
4743	//
4744	// This service will extract at most 5 (customers can specify which 5 in
4745	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
4746	// file provided and perform detection and annotation for each image
4747	// extracted.
4748	BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error)
4749	// Run asynchronous image detection and annotation for a list of images.
4750	//
4751	// Progress and results can be retrieved through the
4752	// `google.longrunning.Operations` interface.
4753	// `Operation.metadata` contains `OperationMetadata` (metadata).
4754	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
4755	//
4756	// This service will write image annotation outputs to json files in customer
4757	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
4758	AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4759	// Run asynchronous image detection and annotation for a list of generic
4760	// files, such as PDF files, which may contain multiple pages and multiple
4761	// images per page. Progress and results can be retrieved through the
4762	// `google.longrunning.Operations` interface.
4763	// `Operation.metadata` contains `OperationMetadata` (metadata).
4764	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
4765	AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4766}
4767
4768type imageAnnotatorClient struct {
4769	cc grpc.ClientConnInterface
4770}
4771
4772func NewImageAnnotatorClient(cc grpc.ClientConnInterface) ImageAnnotatorClient {
4773	return &imageAnnotatorClient{cc}
4774}
4775
4776func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
4777	out := new(BatchAnnotateImagesResponse)
4778	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
4779	if err != nil {
4780		return nil, err
4781	}
4782	return out, nil
4783}
4784
4785func (c *imageAnnotatorClient) BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error) {
4786	out := new(BatchAnnotateFilesResponse)
4787	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateFiles", in, out, opts...)
4788	if err != nil {
4789		return nil, err
4790	}
4791	return out, nil
4792}
4793
4794func (c *imageAnnotatorClient) AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4795	out := new(longrunning.Operation)
4796	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateImages", in, out, opts...)
4797	if err != nil {
4798		return nil, err
4799	}
4800	return out, nil
4801}
4802
4803func (c *imageAnnotatorClient) AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4804	out := new(longrunning.Operation)
4805	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateFiles", in, out, opts...)
4806	if err != nil {
4807		return nil, err
4808	}
4809	return out, nil
4810}
4811
4812// ImageAnnotatorServer is the server API for ImageAnnotator service.
4813type ImageAnnotatorServer interface {
4814	// Run image detection and annotation for a batch of images.
4815	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
4816	// Service that performs image detection and annotation for a batch of files.
4817	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
4818	//
4819	// This service will extract at most 5 (customers can specify which 5 in
4820	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
4821	// file provided and perform detection and annotation for each image
4822	// extracted.
4823	BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error)
4824	// Run asynchronous image detection and annotation for a list of images.
4825	//
4826	// Progress and results can be retrieved through the
4827	// `google.longrunning.Operations` interface.
4828	// `Operation.metadata` contains `OperationMetadata` (metadata).
4829	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
4830	//
4831	// This service will write image annotation outputs to json files in customer
4832	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
4833	AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error)
4834	// Run asynchronous image detection and annotation for a list of generic
4835	// files, such as PDF files, which may contain multiple pages and multiple
4836	// images per page. Progress and results can be retrieved through the
4837	// `google.longrunning.Operations` interface.
4838	// `Operation.metadata` contains `OperationMetadata` (metadata).
4839	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
4840	AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error)
4841}
4842
4843// UnimplementedImageAnnotatorServer can be embedded to have forward compatible implementations.
4844type UnimplementedImageAnnotatorServer struct {
4845}
4846
4847func (*UnimplementedImageAnnotatorServer) BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) {
4848	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateImages not implemented")
4849}
4850func (*UnimplementedImageAnnotatorServer) BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error) {
4851	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateFiles not implemented")
4852}
4853func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error) {
4854	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateImages not implemented")
4855}
4856func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error) {
4857	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateFiles not implemented")
4858}
4859
4860func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
4861	s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
4862}
4863
4864func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4865	in := new(BatchAnnotateImagesRequest)
4866	if err := dec(in); err != nil {
4867		return nil, err
4868	}
4869	if interceptor == nil {
4870		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
4871	}
4872	info := &grpc.UnaryServerInfo{
4873		Server:     srv,
4874		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateImages",
4875	}
4876	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4877		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
4878	}
4879	return interceptor(ctx, in, info, handler)
4880}
4881
4882func _ImageAnnotator_BatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4883	in := new(BatchAnnotateFilesRequest)
4884	if err := dec(in); err != nil {
4885		return nil, err
4886	}
4887	if interceptor == nil {
4888		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, in)
4889	}
4890	info := &grpc.UnaryServerInfo{
4891		Server:     srv,
4892		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateFiles",
4893	}
4894	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4895		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, req.(*BatchAnnotateFilesRequest))
4896	}
4897	return interceptor(ctx, in, info, handler)
4898}
4899
4900func _ImageAnnotator_AsyncBatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4901	in := new(AsyncBatchAnnotateImagesRequest)
4902	if err := dec(in); err != nil {
4903		return nil, err
4904	}
4905	if interceptor == nil {
4906		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, in)
4907	}
4908	info := &grpc.UnaryServerInfo{
4909		Server:     srv,
4910		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateImages",
4911	}
4912	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4913		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, req.(*AsyncBatchAnnotateImagesRequest))
4914	}
4915	return interceptor(ctx, in, info, handler)
4916}
4917
4918func _ImageAnnotator_AsyncBatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4919	in := new(AsyncBatchAnnotateFilesRequest)
4920	if err := dec(in); err != nil {
4921		return nil, err
4922	}
4923	if interceptor == nil {
4924		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, in)
4925	}
4926	info := &grpc.UnaryServerInfo{
4927		Server:     srv,
4928		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateFiles",
4929	}
4930	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4931		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, req.(*AsyncBatchAnnotateFilesRequest))
4932	}
4933	return interceptor(ctx, in, info, handler)
4934}
4935
4936var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
4937	ServiceName: "google.cloud.vision.v1p4beta1.ImageAnnotator",
4938	HandlerType: (*ImageAnnotatorServer)(nil),
4939	Methods: []grpc.MethodDesc{
4940		{
4941			MethodName: "BatchAnnotateImages",
4942			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
4943		},
4944		{
4945			MethodName: "BatchAnnotateFiles",
4946			Handler:    _ImageAnnotator_BatchAnnotateFiles_Handler,
4947		},
4948		{
4949			MethodName: "AsyncBatchAnnotateImages",
4950			Handler:    _ImageAnnotator_AsyncBatchAnnotateImages_Handler,
4951		},
4952		{
4953			MethodName: "AsyncBatchAnnotateFiles",
4954			Handler:    _ImageAnnotator_AsyncBatchAnnotateFiles_Handler,
4955		},
4956	},
4957	Streams:  []grpc.StreamDesc{},
4958	Metadata: "google/cloud/vision/v1p4beta1/image_annotator.proto",
4959}
4960