1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/vision/v1p2beta1/image_annotator.proto
3
4package vision
5
6import (
7	context "context"
8	fmt "fmt"
9	math "math"
10
11	proto "github.com/golang/protobuf/proto"
12	timestamp "github.com/golang/protobuf/ptypes/timestamp"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14	longrunning "google.golang.org/genproto/googleapis/longrunning"
15	status "google.golang.org/genproto/googleapis/rpc/status"
16	color "google.golang.org/genproto/googleapis/type/color"
17	latlng "google.golang.org/genproto/googleapis/type/latlng"
18	grpc "google.golang.org/grpc"
19	codes "google.golang.org/grpc/codes"
20	status1 "google.golang.org/grpc/status"
21)
22
23// Reference imports to suppress errors if they are not otherwise used.
24var _ = proto.Marshal
25var _ = fmt.Errorf
26var _ = math.Inf
27
28// This is a compile-time assertion to ensure that this generated file
29// is compatible with the proto package it is being compiled against.
30// A compilation error at this line likely means your copy of the
31// proto package needs to be updated.
32const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
33
34// A bucketized representation of likelihood, which is intended to give clients
35// highly stable results across model upgrades.
36type Likelihood int32
37
38const (
39	// Unknown likelihood.
40	Likelihood_UNKNOWN Likelihood = 0
41	// It is very unlikely that the image belongs to the specified vertical.
42	Likelihood_VERY_UNLIKELY Likelihood = 1
43	// It is unlikely that the image belongs to the specified vertical.
44	Likelihood_UNLIKELY Likelihood = 2
45	// It is possible that the image belongs to the specified vertical.
46	Likelihood_POSSIBLE Likelihood = 3
47	// It is likely that the image belongs to the specified vertical.
48	Likelihood_LIKELY Likelihood = 4
49	// It is very likely that the image belongs to the specified vertical.
50	Likelihood_VERY_LIKELY Likelihood = 5
51)
52
53var Likelihood_name = map[int32]string{
54	0: "UNKNOWN",
55	1: "VERY_UNLIKELY",
56	2: "UNLIKELY",
57	3: "POSSIBLE",
58	4: "LIKELY",
59	5: "VERY_LIKELY",
60}
61
62var Likelihood_value = map[string]int32{
63	"UNKNOWN":       0,
64	"VERY_UNLIKELY": 1,
65	"UNLIKELY":      2,
66	"POSSIBLE":      3,
67	"LIKELY":        4,
68	"VERY_LIKELY":   5,
69}
70
71func (x Likelihood) String() string {
72	return proto.EnumName(Likelihood_name, int32(x))
73}
74
75func (Likelihood) EnumDescriptor() ([]byte, []int) {
76	return fileDescriptor_357ce83580ed3103, []int{0}
77}
78
79// Type of Google Cloud Vision API feature to be extracted.
80type Feature_Type int32
81
82const (
83	// Unspecified feature type.
84	Feature_TYPE_UNSPECIFIED Feature_Type = 0
85	// Run face detection.
86	Feature_FACE_DETECTION Feature_Type = 1
87	// Run landmark detection.
88	Feature_LANDMARK_DETECTION Feature_Type = 2
89	// Run logo detection.
90	Feature_LOGO_DETECTION Feature_Type = 3
91	// Run label detection.
92	Feature_LABEL_DETECTION Feature_Type = 4
93	// Run text detection / optical character recognition (OCR). Text detection
94	// is optimized for areas of text within a larger image; if the image is
95	// a document, use `DOCUMENT_TEXT_DETECTION` instead.
96	Feature_TEXT_DETECTION Feature_Type = 5
97	// Run dense text document OCR. Takes precedence when both
98	// `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present.
99	Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
100	// Run Safe Search to detect potentially unsafe
101	// or undesirable content.
102	Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
103	// Compute a set of image properties, such as the
104	// image's dominant colors.
105	Feature_IMAGE_PROPERTIES Feature_Type = 7
106	// Run crop hints.
107	Feature_CROP_HINTS Feature_Type = 9
108	// Run web detection.
109	Feature_WEB_DETECTION Feature_Type = 10
110)
111
112var Feature_Type_name = map[int32]string{
113	0:  "TYPE_UNSPECIFIED",
114	1:  "FACE_DETECTION",
115	2:  "LANDMARK_DETECTION",
116	3:  "LOGO_DETECTION",
117	4:  "LABEL_DETECTION",
118	5:  "TEXT_DETECTION",
119	11: "DOCUMENT_TEXT_DETECTION",
120	6:  "SAFE_SEARCH_DETECTION",
121	7:  "IMAGE_PROPERTIES",
122	9:  "CROP_HINTS",
123	10: "WEB_DETECTION",
124}
125
126var Feature_Type_value = map[string]int32{
127	"TYPE_UNSPECIFIED":        0,
128	"FACE_DETECTION":          1,
129	"LANDMARK_DETECTION":      2,
130	"LOGO_DETECTION":          3,
131	"LABEL_DETECTION":         4,
132	"TEXT_DETECTION":          5,
133	"DOCUMENT_TEXT_DETECTION": 11,
134	"SAFE_SEARCH_DETECTION":   6,
135	"IMAGE_PROPERTIES":        7,
136	"CROP_HINTS":              9,
137	"WEB_DETECTION":           10,
138}
139
140func (x Feature_Type) String() string {
141	return proto.EnumName(Feature_Type_name, int32(x))
142}
143
144func (Feature_Type) EnumDescriptor() ([]byte, []int) {
145	return fileDescriptor_357ce83580ed3103, []int{0, 0}
146}
147
148// Face landmark (feature) type.
149// Left and right are defined from the vantage of the viewer of the image
150// without considering mirror projections typical of photos. So, `LEFT_EYE`,
151// typically, is the person's right eye.
152type FaceAnnotation_Landmark_Type int32
153
154const (
155	// Unknown face landmark detected. Should not be filled.
156	FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
157	// Left eye.
158	FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
159	// Right eye.
160	FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
161	// Left of left eyebrow.
162	FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
163	// Right of left eyebrow.
164	FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
165	// Left of right eyebrow.
166	FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
167	// Right of right eyebrow.
168	FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
169	// Midpoint between eyes.
170	FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
171	// Nose tip.
172	FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
173	// Upper lip.
174	FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
175	// Lower lip.
176	FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
177	// Mouth left.
178	FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
179	// Mouth right.
180	FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
181	// Mouth center.
182	FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
183	// Nose, bottom right.
184	FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
185	// Nose, bottom left.
186	FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
187	// Nose, bottom center.
188	FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
189	// Left eye, top boundary.
190	FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
191	// Left eye, right corner.
192	FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
193	// Left eye, bottom boundary.
194	FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
195	// Left eye, left corner.
196	FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
197	// Right eye, top boundary.
198	FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
199	// Right eye, right corner.
200	FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
201	// Right eye, bottom boundary.
202	FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
203	// Right eye, left corner.
204	FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
205	// Left eyebrow, upper midpoint.
206	FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
207	// Right eyebrow, upper midpoint.
208	FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
209	// Left ear tragion.
210	FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
211	// Right ear tragion.
212	FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
213	// Left eye pupil.
214	FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
215	// Right eye pupil.
216	FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
217	// Forehead glabella.
218	FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
219	// Chin gnathion.
220	FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
221	// Chin left gonion.
222	FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
223	// Chin right gonion.
224	FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
225)
226
227var FaceAnnotation_Landmark_Type_name = map[int32]string{
228	0:  "UNKNOWN_LANDMARK",
229	1:  "LEFT_EYE",
230	2:  "RIGHT_EYE",
231	3:  "LEFT_OF_LEFT_EYEBROW",
232	4:  "RIGHT_OF_LEFT_EYEBROW",
233	5:  "LEFT_OF_RIGHT_EYEBROW",
234	6:  "RIGHT_OF_RIGHT_EYEBROW",
235	7:  "MIDPOINT_BETWEEN_EYES",
236	8:  "NOSE_TIP",
237	9:  "UPPER_LIP",
238	10: "LOWER_LIP",
239	11: "MOUTH_LEFT",
240	12: "MOUTH_RIGHT",
241	13: "MOUTH_CENTER",
242	14: "NOSE_BOTTOM_RIGHT",
243	15: "NOSE_BOTTOM_LEFT",
244	16: "NOSE_BOTTOM_CENTER",
245	17: "LEFT_EYE_TOP_BOUNDARY",
246	18: "LEFT_EYE_RIGHT_CORNER",
247	19: "LEFT_EYE_BOTTOM_BOUNDARY",
248	20: "LEFT_EYE_LEFT_CORNER",
249	21: "RIGHT_EYE_TOP_BOUNDARY",
250	22: "RIGHT_EYE_RIGHT_CORNER",
251	23: "RIGHT_EYE_BOTTOM_BOUNDARY",
252	24: "RIGHT_EYE_LEFT_CORNER",
253	25: "LEFT_EYEBROW_UPPER_MIDPOINT",
254	26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
255	27: "LEFT_EAR_TRAGION",
256	28: "RIGHT_EAR_TRAGION",
257	29: "LEFT_EYE_PUPIL",
258	30: "RIGHT_EYE_PUPIL",
259	31: "FOREHEAD_GLABELLA",
260	32: "CHIN_GNATHION",
261	33: "CHIN_LEFT_GONION",
262	34: "CHIN_RIGHT_GONION",
263}
264
265var FaceAnnotation_Landmark_Type_value = map[string]int32{
266	"UNKNOWN_LANDMARK":             0,
267	"LEFT_EYE":                     1,
268	"RIGHT_EYE":                    2,
269	"LEFT_OF_LEFT_EYEBROW":         3,
270	"RIGHT_OF_LEFT_EYEBROW":        4,
271	"LEFT_OF_RIGHT_EYEBROW":        5,
272	"RIGHT_OF_RIGHT_EYEBROW":       6,
273	"MIDPOINT_BETWEEN_EYES":        7,
274	"NOSE_TIP":                     8,
275	"UPPER_LIP":                    9,
276	"LOWER_LIP":                    10,
277	"MOUTH_LEFT":                   11,
278	"MOUTH_RIGHT":                  12,
279	"MOUTH_CENTER":                 13,
280	"NOSE_BOTTOM_RIGHT":            14,
281	"NOSE_BOTTOM_LEFT":             15,
282	"NOSE_BOTTOM_CENTER":           16,
283	"LEFT_EYE_TOP_BOUNDARY":        17,
284	"LEFT_EYE_RIGHT_CORNER":        18,
285	"LEFT_EYE_BOTTOM_BOUNDARY":     19,
286	"LEFT_EYE_LEFT_CORNER":         20,
287	"RIGHT_EYE_TOP_BOUNDARY":       21,
288	"RIGHT_EYE_RIGHT_CORNER":       22,
289	"RIGHT_EYE_BOTTOM_BOUNDARY":    23,
290	"RIGHT_EYE_LEFT_CORNER":        24,
291	"LEFT_EYEBROW_UPPER_MIDPOINT":  25,
292	"RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
293	"LEFT_EAR_TRAGION":             27,
294	"RIGHT_EAR_TRAGION":            28,
295	"LEFT_EYE_PUPIL":               29,
296	"RIGHT_EYE_PUPIL":              30,
297	"FOREHEAD_GLABELLA":            31,
298	"CHIN_GNATHION":                32,
299	"CHIN_LEFT_GONION":             33,
300	"CHIN_RIGHT_GONION":            34,
301}
302
303func (x FaceAnnotation_Landmark_Type) String() string {
304	return proto.EnumName(FaceAnnotation_Landmark_Type_name, int32(x))
305}
306
307func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
308	return fileDescriptor_357ce83580ed3103, []int{3, 0, 0}
309}
310
311// Batch operation states.
312type OperationMetadata_State int32
313
314const (
315	// Invalid.
316	OperationMetadata_STATE_UNSPECIFIED OperationMetadata_State = 0
317	// Request is received.
318	OperationMetadata_CREATED OperationMetadata_State = 1
319	// Request is actively being processed.
320	OperationMetadata_RUNNING OperationMetadata_State = 2
321	// The batch processing is done.
322	OperationMetadata_DONE OperationMetadata_State = 3
323	// The batch processing was cancelled.
324	OperationMetadata_CANCELLED OperationMetadata_State = 4
325)
326
327var OperationMetadata_State_name = map[int32]string{
328	0: "STATE_UNSPECIFIED",
329	1: "CREATED",
330	2: "RUNNING",
331	3: "DONE",
332	4: "CANCELLED",
333}
334
335var OperationMetadata_State_value = map[string]int32{
336	"STATE_UNSPECIFIED": 0,
337	"CREATED":           1,
338	"RUNNING":           2,
339	"DONE":              3,
340	"CANCELLED":         4,
341}
342
343func (x OperationMetadata_State) String() string {
344	return proto.EnumName(OperationMetadata_State_name, int32(x))
345}
346
347func (OperationMetadata_State) EnumDescriptor() ([]byte, []int) {
348	return fileDescriptor_357ce83580ed3103, []int{31, 0}
349}
350
351// The type of Google Cloud Vision API detection to perform, and the maximum
352// number of results to return for that type. Multiple `Feature` objects can
353// be specified in the `features` list.
354type Feature struct {
355	// The feature type.
356	Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p2beta1.Feature_Type" json:"type,omitempty"`
357	// Maximum number of results of this type. Does not apply to
358	// `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.
359	MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
360	// Model to use for the feature.
361	// Supported values: "builtin/stable" (the default if unset) and
362	// "builtin/latest".
363	Model                string   `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
364	XXX_NoUnkeyedLiteral struct{} `json:"-"`
365	XXX_unrecognized     []byte   `json:"-"`
366	XXX_sizecache        int32    `json:"-"`
367}
368
369func (m *Feature) Reset()         { *m = Feature{} }
370func (m *Feature) String() string { return proto.CompactTextString(m) }
371func (*Feature) ProtoMessage()    {}
372func (*Feature) Descriptor() ([]byte, []int) {
373	return fileDescriptor_357ce83580ed3103, []int{0}
374}
375
376func (m *Feature) XXX_Unmarshal(b []byte) error {
377	return xxx_messageInfo_Feature.Unmarshal(m, b)
378}
379func (m *Feature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
380	return xxx_messageInfo_Feature.Marshal(b, m, deterministic)
381}
382func (m *Feature) XXX_Merge(src proto.Message) {
383	xxx_messageInfo_Feature.Merge(m, src)
384}
385func (m *Feature) XXX_Size() int {
386	return xxx_messageInfo_Feature.Size(m)
387}
388func (m *Feature) XXX_DiscardUnknown() {
389	xxx_messageInfo_Feature.DiscardUnknown(m)
390}
391
392var xxx_messageInfo_Feature proto.InternalMessageInfo
393
394func (m *Feature) GetType() Feature_Type {
395	if m != nil {
396		return m.Type
397	}
398	return Feature_TYPE_UNSPECIFIED
399}
400
401func (m *Feature) GetMaxResults() int32 {
402	if m != nil {
403		return m.MaxResults
404	}
405	return 0
406}
407
408func (m *Feature) GetModel() string {
409	if m != nil {
410		return m.Model
411	}
412	return ""
413}
414
415// External image source (Google Cloud Storage or web URL image location).
416type ImageSource struct {
417	// **Use `image_uri` instead.**
418	//
419	// The Google Cloud Storage  URI of the form
420	// `gs://bucket_name/object_name`. Object versioning is not supported. See
421	// [Google Cloud Storage Request
422	// URIs](https://cloud.google.com/storage/docs/reference-uris) for more info.
423	GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
424	// The URI of the source image. Can be either:
425	//
426	// 1. A Google Cloud Storage URI of the form
427	//    `gs://bucket_name/object_name`. Object versioning is not supported. See
428	//    [Google Cloud Storage Request
429	//    URIs](https://cloud.google.com/storage/docs/reference-uris) for more
430	//    info.
431	//
432	// 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from
433	//    HTTP/HTTPS URLs, Google cannot guarantee that the request will be
434	//    completed. Your request may fail if the specified host denies the
435	//    request (e.g. due to request throttling or DOS prevention), or if Google
436	//    throttles requests to the site for abuse prevention. You should not
437	//    depend on externally-hosted images for production applications.
438	//
439	// When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
440	// precedence.
441	ImageUri             string   `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
442	XXX_NoUnkeyedLiteral struct{} `json:"-"`
443	XXX_unrecognized     []byte   `json:"-"`
444	XXX_sizecache        int32    `json:"-"`
445}
446
447func (m *ImageSource) Reset()         { *m = ImageSource{} }
448func (m *ImageSource) String() string { return proto.CompactTextString(m) }
449func (*ImageSource) ProtoMessage()    {}
450func (*ImageSource) Descriptor() ([]byte, []int) {
451	return fileDescriptor_357ce83580ed3103, []int{1}
452}
453
454func (m *ImageSource) XXX_Unmarshal(b []byte) error {
455	return xxx_messageInfo_ImageSource.Unmarshal(m, b)
456}
457func (m *ImageSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
458	return xxx_messageInfo_ImageSource.Marshal(b, m, deterministic)
459}
460func (m *ImageSource) XXX_Merge(src proto.Message) {
461	xxx_messageInfo_ImageSource.Merge(m, src)
462}
463func (m *ImageSource) XXX_Size() int {
464	return xxx_messageInfo_ImageSource.Size(m)
465}
466func (m *ImageSource) XXX_DiscardUnknown() {
467	xxx_messageInfo_ImageSource.DiscardUnknown(m)
468}
469
470var xxx_messageInfo_ImageSource proto.InternalMessageInfo
471
472func (m *ImageSource) GetGcsImageUri() string {
473	if m != nil {
474		return m.GcsImageUri
475	}
476	return ""
477}
478
479func (m *ImageSource) GetImageUri() string {
480	if m != nil {
481		return m.ImageUri
482	}
483	return ""
484}
485
486// Client image to perform Google Cloud Vision API tasks over.
487type Image struct {
488	// Image content, represented as a stream of bytes.
489	// Note: As with all `bytes` fields, protobuffers use a pure binary
490	// representation, whereas JSON representations use base64.
491	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
492	// Google Cloud Storage image location, or publicly-accessible image
493	// URL. If both `content` and `source` are provided for an image, `content`
494	// takes precedence and is used to perform the image annotation request.
495	Source               *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
496	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
497	XXX_unrecognized     []byte       `json:"-"`
498	XXX_sizecache        int32        `json:"-"`
499}
500
501func (m *Image) Reset()         { *m = Image{} }
502func (m *Image) String() string { return proto.CompactTextString(m) }
503func (*Image) ProtoMessage()    {}
504func (*Image) Descriptor() ([]byte, []int) {
505	return fileDescriptor_357ce83580ed3103, []int{2}
506}
507
508func (m *Image) XXX_Unmarshal(b []byte) error {
509	return xxx_messageInfo_Image.Unmarshal(m, b)
510}
511func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
512	return xxx_messageInfo_Image.Marshal(b, m, deterministic)
513}
514func (m *Image) XXX_Merge(src proto.Message) {
515	xxx_messageInfo_Image.Merge(m, src)
516}
517func (m *Image) XXX_Size() int {
518	return xxx_messageInfo_Image.Size(m)
519}
520func (m *Image) XXX_DiscardUnknown() {
521	xxx_messageInfo_Image.DiscardUnknown(m)
522}
523
524var xxx_messageInfo_Image proto.InternalMessageInfo
525
526func (m *Image) GetContent() []byte {
527	if m != nil {
528		return m.Content
529	}
530	return nil
531}
532
533func (m *Image) GetSource() *ImageSource {
534	if m != nil {
535		return m.Source
536	}
537	return nil
538}
539
540// A face annotation object contains the results of face detection.
541type FaceAnnotation struct {
542	// The bounding polygon around the face. The coordinates of the bounding box
543	// are in the original image's scale, as returned in `ImageParams`.
544	// The bounding box is computed to "frame" the face in accordance with human
545	// expectations. It is based on the landmarker results.
546	// Note that one or more x and/or y coordinates may not be generated in the
547	// `BoundingPoly` (the polygon will be unbounded) if only a partial face
548	// appears in the image to be annotated.
549	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
550	// The `fd_bounding_poly` bounding polygon is tighter than the
551	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
552	// is used to eliminate the face from any image analysis that detects the
553	// "amount of skin" visible in an image. It is not based on the
554	// landmarker results, only on the initial face detection, hence
555	// the <code>fd</code> (face detection) prefix.
556	FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
557	// Detected face landmarks.
558	Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
559	// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
560	// of the face relative to the image vertical about the axis perpendicular to
561	// the face. Range [-180,180].
562	RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
563	// Yaw angle, which indicates the leftward/rightward angle that the face is
564	// pointing relative to the vertical plane perpendicular to the image. Range
565	// [-180,180].
566	PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
567	// Pitch angle, which indicates the upwards/downwards angle that the face is
568	// pointing relative to the image's horizontal plane. Range [-180,180].
569	TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
570	// Detection confidence. Range [0, 1].
571	DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
572	// Face landmarking confidence. Range [0, 1].
573	LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
574	// Joy likelihood.
575	JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"joy_likelihood,omitempty"`
576	// Sorrow likelihood.
577	SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"sorrow_likelihood,omitempty"`
578	// Anger likelihood.
579	AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"anger_likelihood,omitempty"`
580	// Surprise likelihood.
581	SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"surprise_likelihood,omitempty"`
582	// Under-exposed likelihood.
583	UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"under_exposed_likelihood,omitempty"`
584	// Blurred likelihood.
585	BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"blurred_likelihood,omitempty"`
586	// Headwear likelihood.
587	HeadwearLikelihood   Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"headwear_likelihood,omitempty"`
588	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
589	XXX_unrecognized     []byte     `json:"-"`
590	XXX_sizecache        int32      `json:"-"`
591}
592
593func (m *FaceAnnotation) Reset()         { *m = FaceAnnotation{} }
594func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) }
595func (*FaceAnnotation) ProtoMessage()    {}
596func (*FaceAnnotation) Descriptor() ([]byte, []int) {
597	return fileDescriptor_357ce83580ed3103, []int{3}
598}
599
600func (m *FaceAnnotation) XXX_Unmarshal(b []byte) error {
601	return xxx_messageInfo_FaceAnnotation.Unmarshal(m, b)
602}
603func (m *FaceAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
604	return xxx_messageInfo_FaceAnnotation.Marshal(b, m, deterministic)
605}
606func (m *FaceAnnotation) XXX_Merge(src proto.Message) {
607	xxx_messageInfo_FaceAnnotation.Merge(m, src)
608}
609func (m *FaceAnnotation) XXX_Size() int {
610	return xxx_messageInfo_FaceAnnotation.Size(m)
611}
612func (m *FaceAnnotation) XXX_DiscardUnknown() {
613	xxx_messageInfo_FaceAnnotation.DiscardUnknown(m)
614}
615
616var xxx_messageInfo_FaceAnnotation proto.InternalMessageInfo
617
618func (m *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
619	if m != nil {
620		return m.BoundingPoly
621	}
622	return nil
623}
624
625func (m *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
626	if m != nil {
627		return m.FdBoundingPoly
628	}
629	return nil
630}
631
632func (m *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
633	if m != nil {
634		return m.Landmarks
635	}
636	return nil
637}
638
639func (m *FaceAnnotation) GetRollAngle() float32 {
640	if m != nil {
641		return m.RollAngle
642	}
643	return 0
644}
645
646func (m *FaceAnnotation) GetPanAngle() float32 {
647	if m != nil {
648		return m.PanAngle
649	}
650	return 0
651}
652
653func (m *FaceAnnotation) GetTiltAngle() float32 {
654	if m != nil {
655		return m.TiltAngle
656	}
657	return 0
658}
659
660func (m *FaceAnnotation) GetDetectionConfidence() float32 {
661	if m != nil {
662		return m.DetectionConfidence
663	}
664	return 0
665}
666
667func (m *FaceAnnotation) GetLandmarkingConfidence() float32 {
668	if m != nil {
669		return m.LandmarkingConfidence
670	}
671	return 0
672}
673
674func (m *FaceAnnotation) GetJoyLikelihood() Likelihood {
675	if m != nil {
676		return m.JoyLikelihood
677	}
678	return Likelihood_UNKNOWN
679}
680
681func (m *FaceAnnotation) GetSorrowLikelihood() Likelihood {
682	if m != nil {
683		return m.SorrowLikelihood
684	}
685	return Likelihood_UNKNOWN
686}
687
688func (m *FaceAnnotation) GetAngerLikelihood() Likelihood {
689	if m != nil {
690		return m.AngerLikelihood
691	}
692	return Likelihood_UNKNOWN
693}
694
695func (m *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
696	if m != nil {
697		return m.SurpriseLikelihood
698	}
699	return Likelihood_UNKNOWN
700}
701
702func (m *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
703	if m != nil {
704		return m.UnderExposedLikelihood
705	}
706	return Likelihood_UNKNOWN
707}
708
709func (m *FaceAnnotation) GetBlurredLikelihood() Likelihood {
710	if m != nil {
711		return m.BlurredLikelihood
712	}
713	return Likelihood_UNKNOWN
714}
715
716func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
717	if m != nil {
718		return m.HeadwearLikelihood
719	}
720	return Likelihood_UNKNOWN
721}
722
723// A face-specific landmark (for example, a face feature).
724type FaceAnnotation_Landmark struct {
725	// Face landmark type.
726	Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p2beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
727	// Face landmark position.
728	Position             *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
729	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
730	XXX_unrecognized     []byte    `json:"-"`
731	XXX_sizecache        int32     `json:"-"`
732}
733
734func (m *FaceAnnotation_Landmark) Reset()         { *m = FaceAnnotation_Landmark{} }
735func (m *FaceAnnotation_Landmark) String() string { return proto.CompactTextString(m) }
736func (*FaceAnnotation_Landmark) ProtoMessage()    {}
737func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
738	return fileDescriptor_357ce83580ed3103, []int{3, 0}
739}
740
741func (m *FaceAnnotation_Landmark) XXX_Unmarshal(b []byte) error {
742	return xxx_messageInfo_FaceAnnotation_Landmark.Unmarshal(m, b)
743}
744func (m *FaceAnnotation_Landmark) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
745	return xxx_messageInfo_FaceAnnotation_Landmark.Marshal(b, m, deterministic)
746}
747func (m *FaceAnnotation_Landmark) XXX_Merge(src proto.Message) {
748	xxx_messageInfo_FaceAnnotation_Landmark.Merge(m, src)
749}
750func (m *FaceAnnotation_Landmark) XXX_Size() int {
751	return xxx_messageInfo_FaceAnnotation_Landmark.Size(m)
752}
753func (m *FaceAnnotation_Landmark) XXX_DiscardUnknown() {
754	xxx_messageInfo_FaceAnnotation_Landmark.DiscardUnknown(m)
755}
756
757var xxx_messageInfo_FaceAnnotation_Landmark proto.InternalMessageInfo
758
759func (m *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
760	if m != nil {
761		return m.Type
762	}
763	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
764}
765
766func (m *FaceAnnotation_Landmark) GetPosition() *Position {
767	if m != nil {
768		return m.Position
769	}
770	return nil
771}
772
773// Detected entity location information.
774type LocationInfo struct {
775	// lat/long location coordinates.
776	LatLng               *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
777	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
778	XXX_unrecognized     []byte         `json:"-"`
779	XXX_sizecache        int32          `json:"-"`
780}
781
782func (m *LocationInfo) Reset()         { *m = LocationInfo{} }
783func (m *LocationInfo) String() string { return proto.CompactTextString(m) }
784func (*LocationInfo) ProtoMessage()    {}
785func (*LocationInfo) Descriptor() ([]byte, []int) {
786	return fileDescriptor_357ce83580ed3103, []int{4}
787}
788
789func (m *LocationInfo) XXX_Unmarshal(b []byte) error {
790	return xxx_messageInfo_LocationInfo.Unmarshal(m, b)
791}
792func (m *LocationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
793	return xxx_messageInfo_LocationInfo.Marshal(b, m, deterministic)
794}
795func (m *LocationInfo) XXX_Merge(src proto.Message) {
796	xxx_messageInfo_LocationInfo.Merge(m, src)
797}
798func (m *LocationInfo) XXX_Size() int {
799	return xxx_messageInfo_LocationInfo.Size(m)
800}
801func (m *LocationInfo) XXX_DiscardUnknown() {
802	xxx_messageInfo_LocationInfo.DiscardUnknown(m)
803}
804
805var xxx_messageInfo_LocationInfo proto.InternalMessageInfo
806
807func (m *LocationInfo) GetLatLng() *latlng.LatLng {
808	if m != nil {
809		return m.LatLng
810	}
811	return nil
812}
813
814// A `Property` consists of a user-supplied name/value pair.
815type Property struct {
816	// Name of the property.
817	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
818	// Value of the property.
819	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
820	// Value of numeric properties.
821	Uint64Value          uint64   `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
822	XXX_NoUnkeyedLiteral struct{} `json:"-"`
823	XXX_unrecognized     []byte   `json:"-"`
824	XXX_sizecache        int32    `json:"-"`
825}
826
827func (m *Property) Reset()         { *m = Property{} }
828func (m *Property) String() string { return proto.CompactTextString(m) }
829func (*Property) ProtoMessage()    {}
830func (*Property) Descriptor() ([]byte, []int) {
831	return fileDescriptor_357ce83580ed3103, []int{5}
832}
833
834func (m *Property) XXX_Unmarshal(b []byte) error {
835	return xxx_messageInfo_Property.Unmarshal(m, b)
836}
837func (m *Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
838	return xxx_messageInfo_Property.Marshal(b, m, deterministic)
839}
840func (m *Property) XXX_Merge(src proto.Message) {
841	xxx_messageInfo_Property.Merge(m, src)
842}
843func (m *Property) XXX_Size() int {
844	return xxx_messageInfo_Property.Size(m)
845}
846func (m *Property) XXX_DiscardUnknown() {
847	xxx_messageInfo_Property.DiscardUnknown(m)
848}
849
850var xxx_messageInfo_Property proto.InternalMessageInfo
851
852func (m *Property) GetName() string {
853	if m != nil {
854		return m.Name
855	}
856	return ""
857}
858
859func (m *Property) GetValue() string {
860	if m != nil {
861		return m.Value
862	}
863	return ""
864}
865
866func (m *Property) GetUint64Value() uint64 {
867	if m != nil {
868		return m.Uint64Value
869	}
870	return 0
871}
872
873// Set of detected entity features.
874type EntityAnnotation struct {
875	// Opaque entity ID. Some IDs may be available in
876	// [Google Knowledge Graph Search
877	// API](https://developers.google.com/knowledge-graph/).
878	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
879	// The language code for the locale in which the entity textual
880	// `description` is expressed.
881	Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
882	// Entity textual description, expressed in its `locale` language.
883	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
884	// Overall score of the result. Range [0, 1].
885	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
886	// **Deprecated. Use `score` instead.**
887	// The accuracy of the entity detection in an image.
888	// For example, for an image in which the "Eiffel Tower" entity is detected,
889	// this field represents the confidence that there is a tower in the query
890	// image. Range [0, 1].
891	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
892	// The relevancy of the ICA (Image Content Annotation) label to the
893	// image. For example, the relevancy of "tower" is likely higher to an image
894	// containing the detected "Eiffel Tower" than to an image containing a
895	// detected distant towering building, even though the confidence that
896	// there is a tower in each image may be the same. Range [0, 1].
897	Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
898	// Image region to which this entity belongs. Not produced
899	// for `LABEL_DETECTION` features.
900	BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
901	// The location information for the detected entity. Multiple
902	// `LocationInfo` elements can be present because one location may
903	// indicate the location of the scene in the image, and another location
904	// may indicate the location of the place where the image was taken.
905	// Location information is usually present for landmarks.
906	Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
907	// Some entities may have optional user-supplied `Property` (name/value)
908	// fields, such a score or string that qualifies the entity.
909	Properties           []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
910	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
911	XXX_unrecognized     []byte      `json:"-"`
912	XXX_sizecache        int32       `json:"-"`
913}
914
915func (m *EntityAnnotation) Reset()         { *m = EntityAnnotation{} }
916func (m *EntityAnnotation) String() string { return proto.CompactTextString(m) }
917func (*EntityAnnotation) ProtoMessage()    {}
918func (*EntityAnnotation) Descriptor() ([]byte, []int) {
919	return fileDescriptor_357ce83580ed3103, []int{6}
920}
921
922func (m *EntityAnnotation) XXX_Unmarshal(b []byte) error {
923	return xxx_messageInfo_EntityAnnotation.Unmarshal(m, b)
924}
925func (m *EntityAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
926	return xxx_messageInfo_EntityAnnotation.Marshal(b, m, deterministic)
927}
928func (m *EntityAnnotation) XXX_Merge(src proto.Message) {
929	xxx_messageInfo_EntityAnnotation.Merge(m, src)
930}
931func (m *EntityAnnotation) XXX_Size() int {
932	return xxx_messageInfo_EntityAnnotation.Size(m)
933}
934func (m *EntityAnnotation) XXX_DiscardUnknown() {
935	xxx_messageInfo_EntityAnnotation.DiscardUnknown(m)
936}
937
938var xxx_messageInfo_EntityAnnotation proto.InternalMessageInfo
939
940func (m *EntityAnnotation) GetMid() string {
941	if m != nil {
942		return m.Mid
943	}
944	return ""
945}
946
947func (m *EntityAnnotation) GetLocale() string {
948	if m != nil {
949		return m.Locale
950	}
951	return ""
952}
953
954func (m *EntityAnnotation) GetDescription() string {
955	if m != nil {
956		return m.Description
957	}
958	return ""
959}
960
961func (m *EntityAnnotation) GetScore() float32 {
962	if m != nil {
963		return m.Score
964	}
965	return 0
966}
967
968func (m *EntityAnnotation) GetConfidence() float32 {
969	if m != nil {
970		return m.Confidence
971	}
972	return 0
973}
974
975func (m *EntityAnnotation) GetTopicality() float32 {
976	if m != nil {
977		return m.Topicality
978	}
979	return 0
980}
981
982func (m *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
983	if m != nil {
984		return m.BoundingPoly
985	}
986	return nil
987}
988
989func (m *EntityAnnotation) GetLocations() []*LocationInfo {
990	if m != nil {
991		return m.Locations
992	}
993	return nil
994}
995
996func (m *EntityAnnotation) GetProperties() []*Property {
997	if m != nil {
998		return m.Properties
999	}
1000	return nil
1001}
1002
1003// Set of features pertaining to the image, computed by computer vision
1004// methods over safe-search verticals (for example, adult, spoof, medical,
1005// violence).
1006type SafeSearchAnnotation struct {
1007	// Represents the adult content likelihood for the image. Adult content may
1008	// contain elements such as nudity, pornographic images or cartoons, or
1009	// sexual activities.
1010	Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"adult,omitempty"`
1011	// Spoof likelihood. The likelihood that an modification
1012	// was made to the image's canonical version to make it appear
1013	// funny or offensive.
1014	Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"spoof,omitempty"`
1015	// Likelihood that this is a medical image.
1016	Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"medical,omitempty"`
1017	// Likelihood that this image contains violent content.
1018	Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"violence,omitempty"`
1019	// Likelihood that the request image contains racy content. Racy content may
1020	// include (but is not limited to) skimpy or sheer clothing, strategically
1021	// covered nudity, lewd or provocative poses, or close-ups of sensitive
1022	// body areas.
1023	Racy                 Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p2beta1.Likelihood" json:"racy,omitempty"`
1024	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
1025	XXX_unrecognized     []byte     `json:"-"`
1026	XXX_sizecache        int32      `json:"-"`
1027}
1028
1029func (m *SafeSearchAnnotation) Reset()         { *m = SafeSearchAnnotation{} }
1030func (m *SafeSearchAnnotation) String() string { return proto.CompactTextString(m) }
1031func (*SafeSearchAnnotation) ProtoMessage()    {}
1032func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
1033	return fileDescriptor_357ce83580ed3103, []int{7}
1034}
1035
1036func (m *SafeSearchAnnotation) XXX_Unmarshal(b []byte) error {
1037	return xxx_messageInfo_SafeSearchAnnotation.Unmarshal(m, b)
1038}
1039func (m *SafeSearchAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1040	return xxx_messageInfo_SafeSearchAnnotation.Marshal(b, m, deterministic)
1041}
1042func (m *SafeSearchAnnotation) XXX_Merge(src proto.Message) {
1043	xxx_messageInfo_SafeSearchAnnotation.Merge(m, src)
1044}
1045func (m *SafeSearchAnnotation) XXX_Size() int {
1046	return xxx_messageInfo_SafeSearchAnnotation.Size(m)
1047}
1048func (m *SafeSearchAnnotation) XXX_DiscardUnknown() {
1049	xxx_messageInfo_SafeSearchAnnotation.DiscardUnknown(m)
1050}
1051
1052var xxx_messageInfo_SafeSearchAnnotation proto.InternalMessageInfo
1053
1054func (m *SafeSearchAnnotation) GetAdult() Likelihood {
1055	if m != nil {
1056		return m.Adult
1057	}
1058	return Likelihood_UNKNOWN
1059}
1060
1061func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
1062	if m != nil {
1063		return m.Spoof
1064	}
1065	return Likelihood_UNKNOWN
1066}
1067
1068func (m *SafeSearchAnnotation) GetMedical() Likelihood {
1069	if m != nil {
1070		return m.Medical
1071	}
1072	return Likelihood_UNKNOWN
1073}
1074
1075func (m *SafeSearchAnnotation) GetViolence() Likelihood {
1076	if m != nil {
1077		return m.Violence
1078	}
1079	return Likelihood_UNKNOWN
1080}
1081
1082func (m *SafeSearchAnnotation) GetRacy() Likelihood {
1083	if m != nil {
1084		return m.Racy
1085	}
1086	return Likelihood_UNKNOWN
1087}
1088
1089// Rectangle determined by min and max `LatLng` pairs.
1090type LatLongRect struct {
1091	// Min lat/long pair.
1092	MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
1093	// Max lat/long pair.
1094	MaxLatLng            *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
1095	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
1096	XXX_unrecognized     []byte         `json:"-"`
1097	XXX_sizecache        int32          `json:"-"`
1098}
1099
1100func (m *LatLongRect) Reset()         { *m = LatLongRect{} }
1101func (m *LatLongRect) String() string { return proto.CompactTextString(m) }
1102func (*LatLongRect) ProtoMessage()    {}
1103func (*LatLongRect) Descriptor() ([]byte, []int) {
1104	return fileDescriptor_357ce83580ed3103, []int{8}
1105}
1106
1107func (m *LatLongRect) XXX_Unmarshal(b []byte) error {
1108	return xxx_messageInfo_LatLongRect.Unmarshal(m, b)
1109}
1110func (m *LatLongRect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1111	return xxx_messageInfo_LatLongRect.Marshal(b, m, deterministic)
1112}
1113func (m *LatLongRect) XXX_Merge(src proto.Message) {
1114	xxx_messageInfo_LatLongRect.Merge(m, src)
1115}
1116func (m *LatLongRect) XXX_Size() int {
1117	return xxx_messageInfo_LatLongRect.Size(m)
1118}
1119func (m *LatLongRect) XXX_DiscardUnknown() {
1120	xxx_messageInfo_LatLongRect.DiscardUnknown(m)
1121}
1122
1123var xxx_messageInfo_LatLongRect proto.InternalMessageInfo
1124
1125func (m *LatLongRect) GetMinLatLng() *latlng.LatLng {
1126	if m != nil {
1127		return m.MinLatLng
1128	}
1129	return nil
1130}
1131
1132func (m *LatLongRect) GetMaxLatLng() *latlng.LatLng {
1133	if m != nil {
1134		return m.MaxLatLng
1135	}
1136	return nil
1137}
1138
1139// Color information consists of RGB channels, score, and the fraction of
1140// the image that the color occupies in the image.
1141type ColorInfo struct {
1142	// RGB components of the color.
1143	Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
1144	// Image-specific score for this color. Value in range [0, 1].
1145	Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
1146	// The fraction of pixels the color occupies in the image.
1147	// Value in range [0, 1].
1148	PixelFraction        float32  `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
1149	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1150	XXX_unrecognized     []byte   `json:"-"`
1151	XXX_sizecache        int32    `json:"-"`
1152}
1153
1154func (m *ColorInfo) Reset()         { *m = ColorInfo{} }
1155func (m *ColorInfo) String() string { return proto.CompactTextString(m) }
1156func (*ColorInfo) ProtoMessage()    {}
1157func (*ColorInfo) Descriptor() ([]byte, []int) {
1158	return fileDescriptor_357ce83580ed3103, []int{9}
1159}
1160
1161func (m *ColorInfo) XXX_Unmarshal(b []byte) error {
1162	return xxx_messageInfo_ColorInfo.Unmarshal(m, b)
1163}
1164func (m *ColorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1165	return xxx_messageInfo_ColorInfo.Marshal(b, m, deterministic)
1166}
1167func (m *ColorInfo) XXX_Merge(src proto.Message) {
1168	xxx_messageInfo_ColorInfo.Merge(m, src)
1169}
1170func (m *ColorInfo) XXX_Size() int {
1171	return xxx_messageInfo_ColorInfo.Size(m)
1172}
1173func (m *ColorInfo) XXX_DiscardUnknown() {
1174	xxx_messageInfo_ColorInfo.DiscardUnknown(m)
1175}
1176
1177var xxx_messageInfo_ColorInfo proto.InternalMessageInfo
1178
1179func (m *ColorInfo) GetColor() *color.Color {
1180	if m != nil {
1181		return m.Color
1182	}
1183	return nil
1184}
1185
1186func (m *ColorInfo) GetScore() float32 {
1187	if m != nil {
1188		return m.Score
1189	}
1190	return 0
1191}
1192
1193func (m *ColorInfo) GetPixelFraction() float32 {
1194	if m != nil {
1195		return m.PixelFraction
1196	}
1197	return 0
1198}
1199
1200// Set of dominant colors and their corresponding scores.
1201type DominantColorsAnnotation struct {
1202	// RGB color values with their score and pixel fraction.
1203	Colors               []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
1204	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
1205	XXX_unrecognized     []byte       `json:"-"`
1206	XXX_sizecache        int32        `json:"-"`
1207}
1208
1209func (m *DominantColorsAnnotation) Reset()         { *m = DominantColorsAnnotation{} }
1210func (m *DominantColorsAnnotation) String() string { return proto.CompactTextString(m) }
1211func (*DominantColorsAnnotation) ProtoMessage()    {}
1212func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
1213	return fileDescriptor_357ce83580ed3103, []int{10}
1214}
1215
1216func (m *DominantColorsAnnotation) XXX_Unmarshal(b []byte) error {
1217	return xxx_messageInfo_DominantColorsAnnotation.Unmarshal(m, b)
1218}
1219func (m *DominantColorsAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1220	return xxx_messageInfo_DominantColorsAnnotation.Marshal(b, m, deterministic)
1221}
1222func (m *DominantColorsAnnotation) XXX_Merge(src proto.Message) {
1223	xxx_messageInfo_DominantColorsAnnotation.Merge(m, src)
1224}
1225func (m *DominantColorsAnnotation) XXX_Size() int {
1226	return xxx_messageInfo_DominantColorsAnnotation.Size(m)
1227}
1228func (m *DominantColorsAnnotation) XXX_DiscardUnknown() {
1229	xxx_messageInfo_DominantColorsAnnotation.DiscardUnknown(m)
1230}
1231
1232var xxx_messageInfo_DominantColorsAnnotation proto.InternalMessageInfo
1233
1234func (m *DominantColorsAnnotation) GetColors() []*ColorInfo {
1235	if m != nil {
1236		return m.Colors
1237	}
1238	return nil
1239}
1240
1241// Stores image properties, such as dominant colors.
1242type ImageProperties struct {
1243	// If present, dominant colors completed successfully.
1244	DominantColors       *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
1245	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
1246	XXX_unrecognized     []byte                    `json:"-"`
1247	XXX_sizecache        int32                     `json:"-"`
1248}
1249
1250func (m *ImageProperties) Reset()         { *m = ImageProperties{} }
1251func (m *ImageProperties) String() string { return proto.CompactTextString(m) }
1252func (*ImageProperties) ProtoMessage()    {}
1253func (*ImageProperties) Descriptor() ([]byte, []int) {
1254	return fileDescriptor_357ce83580ed3103, []int{11}
1255}
1256
1257func (m *ImageProperties) XXX_Unmarshal(b []byte) error {
1258	return xxx_messageInfo_ImageProperties.Unmarshal(m, b)
1259}
1260func (m *ImageProperties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1261	return xxx_messageInfo_ImageProperties.Marshal(b, m, deterministic)
1262}
1263func (m *ImageProperties) XXX_Merge(src proto.Message) {
1264	xxx_messageInfo_ImageProperties.Merge(m, src)
1265}
1266func (m *ImageProperties) XXX_Size() int {
1267	return xxx_messageInfo_ImageProperties.Size(m)
1268}
1269func (m *ImageProperties) XXX_DiscardUnknown() {
1270	xxx_messageInfo_ImageProperties.DiscardUnknown(m)
1271}
1272
1273var xxx_messageInfo_ImageProperties proto.InternalMessageInfo
1274
1275func (m *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
1276	if m != nil {
1277		return m.DominantColors
1278	}
1279	return nil
1280}
1281
1282// Single crop hint that is used to generate a new crop when serving an image.
1283type CropHint struct {
1284	// The bounding polygon for the crop region. The coordinates of the bounding
1285	// box are in the original image's scale, as returned in `ImageParams`.
1286	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1287	// Confidence of this being a salient region.  Range [0, 1].
1288	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
1289	// Fraction of importance of this salient region with respect to the original
1290	// image.
1291	ImportanceFraction   float32  `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
1292	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1293	XXX_unrecognized     []byte   `json:"-"`
1294	XXX_sizecache        int32    `json:"-"`
1295}
1296
1297func (m *CropHint) Reset()         { *m = CropHint{} }
1298func (m *CropHint) String() string { return proto.CompactTextString(m) }
1299func (*CropHint) ProtoMessage()    {}
1300func (*CropHint) Descriptor() ([]byte, []int) {
1301	return fileDescriptor_357ce83580ed3103, []int{12}
1302}
1303
1304func (m *CropHint) XXX_Unmarshal(b []byte) error {
1305	return xxx_messageInfo_CropHint.Unmarshal(m, b)
1306}
1307func (m *CropHint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1308	return xxx_messageInfo_CropHint.Marshal(b, m, deterministic)
1309}
1310func (m *CropHint) XXX_Merge(src proto.Message) {
1311	xxx_messageInfo_CropHint.Merge(m, src)
1312}
1313func (m *CropHint) XXX_Size() int {
1314	return xxx_messageInfo_CropHint.Size(m)
1315}
1316func (m *CropHint) XXX_DiscardUnknown() {
1317	xxx_messageInfo_CropHint.DiscardUnknown(m)
1318}
1319
1320var xxx_messageInfo_CropHint proto.InternalMessageInfo
1321
1322func (m *CropHint) GetBoundingPoly() *BoundingPoly {
1323	if m != nil {
1324		return m.BoundingPoly
1325	}
1326	return nil
1327}
1328
1329func (m *CropHint) GetConfidence() float32 {
1330	if m != nil {
1331		return m.Confidence
1332	}
1333	return 0
1334}
1335
1336func (m *CropHint) GetImportanceFraction() float32 {
1337	if m != nil {
1338		return m.ImportanceFraction
1339	}
1340	return 0
1341}
1342
1343// Set of crop hints that are used to generate new crops when serving images.
1344type CropHintsAnnotation struct {
1345	// Crop hint results.
1346	CropHints            []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
1347	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
1348	XXX_unrecognized     []byte      `json:"-"`
1349	XXX_sizecache        int32       `json:"-"`
1350}
1351
1352func (m *CropHintsAnnotation) Reset()         { *m = CropHintsAnnotation{} }
1353func (m *CropHintsAnnotation) String() string { return proto.CompactTextString(m) }
1354func (*CropHintsAnnotation) ProtoMessage()    {}
1355func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
1356	return fileDescriptor_357ce83580ed3103, []int{13}
1357}
1358
1359func (m *CropHintsAnnotation) XXX_Unmarshal(b []byte) error {
1360	return xxx_messageInfo_CropHintsAnnotation.Unmarshal(m, b)
1361}
1362func (m *CropHintsAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1363	return xxx_messageInfo_CropHintsAnnotation.Marshal(b, m, deterministic)
1364}
1365func (m *CropHintsAnnotation) XXX_Merge(src proto.Message) {
1366	xxx_messageInfo_CropHintsAnnotation.Merge(m, src)
1367}
1368func (m *CropHintsAnnotation) XXX_Size() int {
1369	return xxx_messageInfo_CropHintsAnnotation.Size(m)
1370}
1371func (m *CropHintsAnnotation) XXX_DiscardUnknown() {
1372	xxx_messageInfo_CropHintsAnnotation.DiscardUnknown(m)
1373}
1374
1375var xxx_messageInfo_CropHintsAnnotation proto.InternalMessageInfo
1376
1377func (m *CropHintsAnnotation) GetCropHints() []*CropHint {
1378	if m != nil {
1379		return m.CropHints
1380	}
1381	return nil
1382}
1383
1384// Parameters for crop hints annotation request.
1385type CropHintsParams struct {
1386	// Aspect ratios in floats, representing the ratio of the width to the height
1387	// of the image. For example, if the desired aspect ratio is 4/3, the
1388	// corresponding float value should be 1.33333.  If not specified, the
1389	// best possible crop is returned. The number of provided aspect ratios is
1390	// limited to a maximum of 16; any aspect ratios provided after the 16th are
1391	// ignored.
1392	AspectRatios         []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
1393	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
1394	XXX_unrecognized     []byte    `json:"-"`
1395	XXX_sizecache        int32     `json:"-"`
1396}
1397
1398func (m *CropHintsParams) Reset()         { *m = CropHintsParams{} }
1399func (m *CropHintsParams) String() string { return proto.CompactTextString(m) }
1400func (*CropHintsParams) ProtoMessage()    {}
1401func (*CropHintsParams) Descriptor() ([]byte, []int) {
1402	return fileDescriptor_357ce83580ed3103, []int{14}
1403}
1404
1405func (m *CropHintsParams) XXX_Unmarshal(b []byte) error {
1406	return xxx_messageInfo_CropHintsParams.Unmarshal(m, b)
1407}
1408func (m *CropHintsParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1409	return xxx_messageInfo_CropHintsParams.Marshal(b, m, deterministic)
1410}
1411func (m *CropHintsParams) XXX_Merge(src proto.Message) {
1412	xxx_messageInfo_CropHintsParams.Merge(m, src)
1413}
1414func (m *CropHintsParams) XXX_Size() int {
1415	return xxx_messageInfo_CropHintsParams.Size(m)
1416}
1417func (m *CropHintsParams) XXX_DiscardUnknown() {
1418	xxx_messageInfo_CropHintsParams.DiscardUnknown(m)
1419}
1420
1421var xxx_messageInfo_CropHintsParams proto.InternalMessageInfo
1422
1423func (m *CropHintsParams) GetAspectRatios() []float32 {
1424	if m != nil {
1425		return m.AspectRatios
1426	}
1427	return nil
1428}
1429
1430// Parameters for web detection request.
1431type WebDetectionParams struct {
1432	// Whether to include results derived from the geo information in the image.
1433	IncludeGeoResults    bool     `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
1434	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1435	XXX_unrecognized     []byte   `json:"-"`
1436	XXX_sizecache        int32    `json:"-"`
1437}
1438
1439func (m *WebDetectionParams) Reset()         { *m = WebDetectionParams{} }
1440func (m *WebDetectionParams) String() string { return proto.CompactTextString(m) }
1441func (*WebDetectionParams) ProtoMessage()    {}
1442func (*WebDetectionParams) Descriptor() ([]byte, []int) {
1443	return fileDescriptor_357ce83580ed3103, []int{15}
1444}
1445
1446func (m *WebDetectionParams) XXX_Unmarshal(b []byte) error {
1447	return xxx_messageInfo_WebDetectionParams.Unmarshal(m, b)
1448}
1449func (m *WebDetectionParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1450	return xxx_messageInfo_WebDetectionParams.Marshal(b, m, deterministic)
1451}
1452func (m *WebDetectionParams) XXX_Merge(src proto.Message) {
1453	xxx_messageInfo_WebDetectionParams.Merge(m, src)
1454}
1455func (m *WebDetectionParams) XXX_Size() int {
1456	return xxx_messageInfo_WebDetectionParams.Size(m)
1457}
1458func (m *WebDetectionParams) XXX_DiscardUnknown() {
1459	xxx_messageInfo_WebDetectionParams.DiscardUnknown(m)
1460}
1461
1462var xxx_messageInfo_WebDetectionParams proto.InternalMessageInfo
1463
1464func (m *WebDetectionParams) GetIncludeGeoResults() bool {
1465	if m != nil {
1466		return m.IncludeGeoResults
1467	}
1468	return false
1469}
1470
1471// Image context and/or feature-specific parameters.
1472type ImageContext struct {
1473	// Not used.
1474	LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
1475	// List of languages to use for TEXT_DETECTION. In most cases, an empty value
1476	// yields the best results since it enables automatic language detection. For
1477	// languages based on the Latin alphabet, setting `language_hints` is not
1478	// needed. In rare cases, when the language of the text in the image is known,
1479	// setting a hint will help get better results (although it will be a
1480	// significant hindrance if the hint is wrong). Text detection returns an
1481	// error if one or more of the specified languages is not one of the
1482	// [supported languages](/vision/docs/languages).
1483	LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
1484	// Parameters for crop hints annotation request.
1485	CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
1486	// Parameters for web detection.
1487	WebDetectionParams   *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
1488	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
1489	XXX_unrecognized     []byte              `json:"-"`
1490	XXX_sizecache        int32               `json:"-"`
1491}
1492
1493func (m *ImageContext) Reset()         { *m = ImageContext{} }
1494func (m *ImageContext) String() string { return proto.CompactTextString(m) }
1495func (*ImageContext) ProtoMessage()    {}
1496func (*ImageContext) Descriptor() ([]byte, []int) {
1497	return fileDescriptor_357ce83580ed3103, []int{16}
1498}
1499
1500func (m *ImageContext) XXX_Unmarshal(b []byte) error {
1501	return xxx_messageInfo_ImageContext.Unmarshal(m, b)
1502}
1503func (m *ImageContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1504	return xxx_messageInfo_ImageContext.Marshal(b, m, deterministic)
1505}
1506func (m *ImageContext) XXX_Merge(src proto.Message) {
1507	xxx_messageInfo_ImageContext.Merge(m, src)
1508}
1509func (m *ImageContext) XXX_Size() int {
1510	return xxx_messageInfo_ImageContext.Size(m)
1511}
1512func (m *ImageContext) XXX_DiscardUnknown() {
1513	xxx_messageInfo_ImageContext.DiscardUnknown(m)
1514}
1515
1516var xxx_messageInfo_ImageContext proto.InternalMessageInfo
1517
1518func (m *ImageContext) GetLatLongRect() *LatLongRect {
1519	if m != nil {
1520		return m.LatLongRect
1521	}
1522	return nil
1523}
1524
1525func (m *ImageContext) GetLanguageHints() []string {
1526	if m != nil {
1527		return m.LanguageHints
1528	}
1529	return nil
1530}
1531
1532func (m *ImageContext) GetCropHintsParams() *CropHintsParams {
1533	if m != nil {
1534		return m.CropHintsParams
1535	}
1536	return nil
1537}
1538
1539func (m *ImageContext) GetWebDetectionParams() *WebDetectionParams {
1540	if m != nil {
1541		return m.WebDetectionParams
1542	}
1543	return nil
1544}
1545
1546// Request for performing Google Cloud Vision API tasks over a user-provided
1547// image, with user-requested features.
1548type AnnotateImageRequest struct {
1549	// The image to be processed.
1550	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
1551	// Requested features.
1552	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1553	// Additional context that may accompany the image.
1554	ImageContext         *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
1555	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
1556	XXX_unrecognized     []byte        `json:"-"`
1557	XXX_sizecache        int32         `json:"-"`
1558}
1559
1560func (m *AnnotateImageRequest) Reset()         { *m = AnnotateImageRequest{} }
1561func (m *AnnotateImageRequest) String() string { return proto.CompactTextString(m) }
1562func (*AnnotateImageRequest) ProtoMessage()    {}
1563func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
1564	return fileDescriptor_357ce83580ed3103, []int{17}
1565}
1566
1567func (m *AnnotateImageRequest) XXX_Unmarshal(b []byte) error {
1568	return xxx_messageInfo_AnnotateImageRequest.Unmarshal(m, b)
1569}
1570func (m *AnnotateImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1571	return xxx_messageInfo_AnnotateImageRequest.Marshal(b, m, deterministic)
1572}
1573func (m *AnnotateImageRequest) XXX_Merge(src proto.Message) {
1574	xxx_messageInfo_AnnotateImageRequest.Merge(m, src)
1575}
1576func (m *AnnotateImageRequest) XXX_Size() int {
1577	return xxx_messageInfo_AnnotateImageRequest.Size(m)
1578}
1579func (m *AnnotateImageRequest) XXX_DiscardUnknown() {
1580	xxx_messageInfo_AnnotateImageRequest.DiscardUnknown(m)
1581}
1582
1583var xxx_messageInfo_AnnotateImageRequest proto.InternalMessageInfo
1584
1585func (m *AnnotateImageRequest) GetImage() *Image {
1586	if m != nil {
1587		return m.Image
1588	}
1589	return nil
1590}
1591
1592func (m *AnnotateImageRequest) GetFeatures() []*Feature {
1593	if m != nil {
1594		return m.Features
1595	}
1596	return nil
1597}
1598
1599func (m *AnnotateImageRequest) GetImageContext() *ImageContext {
1600	if m != nil {
1601		return m.ImageContext
1602	}
1603	return nil
1604}
1605
1606// If an image was produced from a file (e.g. a PDF), this message gives
1607// information about the source of that image.
1608type ImageAnnotationContext struct {
1609	// The URI of the file used to produce the image.
1610	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
1611	// If the file was a PDF or TIFF, this field gives the page number within
1612	// the file used to produce the image.
1613	PageNumber           int32    `protobuf:"varint,2,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
1614	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1615	XXX_unrecognized     []byte   `json:"-"`
1616	XXX_sizecache        int32    `json:"-"`
1617}
1618
1619func (m *ImageAnnotationContext) Reset()         { *m = ImageAnnotationContext{} }
1620func (m *ImageAnnotationContext) String() string { return proto.CompactTextString(m) }
1621func (*ImageAnnotationContext) ProtoMessage()    {}
1622func (*ImageAnnotationContext) Descriptor() ([]byte, []int) {
1623	return fileDescriptor_357ce83580ed3103, []int{18}
1624}
1625
1626func (m *ImageAnnotationContext) XXX_Unmarshal(b []byte) error {
1627	return xxx_messageInfo_ImageAnnotationContext.Unmarshal(m, b)
1628}
1629func (m *ImageAnnotationContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1630	return xxx_messageInfo_ImageAnnotationContext.Marshal(b, m, deterministic)
1631}
1632func (m *ImageAnnotationContext) XXX_Merge(src proto.Message) {
1633	xxx_messageInfo_ImageAnnotationContext.Merge(m, src)
1634}
1635func (m *ImageAnnotationContext) XXX_Size() int {
1636	return xxx_messageInfo_ImageAnnotationContext.Size(m)
1637}
1638func (m *ImageAnnotationContext) XXX_DiscardUnknown() {
1639	xxx_messageInfo_ImageAnnotationContext.DiscardUnknown(m)
1640}
1641
1642var xxx_messageInfo_ImageAnnotationContext proto.InternalMessageInfo
1643
1644func (m *ImageAnnotationContext) GetUri() string {
1645	if m != nil {
1646		return m.Uri
1647	}
1648	return ""
1649}
1650
1651func (m *ImageAnnotationContext) GetPageNumber() int32 {
1652	if m != nil {
1653		return m.PageNumber
1654	}
1655	return 0
1656}
1657
1658// Response to an image annotation request.
1659type AnnotateImageResponse struct {
1660	// If present, face detection has completed successfully.
1661	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
1662	// If present, landmark detection has completed successfully.
1663	LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
1664	// If present, logo detection has completed successfully.
1665	LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
1666	// If present, label detection has completed successfully.
1667	LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
1668	// If present, text (OCR) detection has completed successfully.
1669	TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
1670	// If present, text (OCR) detection or document (OCR) text detection has
1671	// completed successfully.
1672	// This annotation provides the structural hierarchy for the OCR detected
1673	// text.
1674	FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
1675	// If present, safe-search annotation has completed successfully.
1676	SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
1677	// If present, image properties were extracted successfully.
1678	ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
1679	// If present, crop hints have completed successfully.
1680	CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
1681	// If present, web detection has completed successfully.
1682	WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
1683	// If set, represents the error message for the operation.
1684	// Note that filled-in image annotations are guaranteed to be
1685	// correct, even when `error` is set.
1686	Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
1687	// If present, contextual information is needed to understand where this image
1688	// comes from.
1689	Context              *ImageAnnotationContext `protobuf:"bytes,21,opt,name=context,proto3" json:"context,omitempty"`
1690	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
1691	XXX_unrecognized     []byte                  `json:"-"`
1692	XXX_sizecache        int32                   `json:"-"`
1693}
1694
1695func (m *AnnotateImageResponse) Reset()         { *m = AnnotateImageResponse{} }
1696func (m *AnnotateImageResponse) String() string { return proto.CompactTextString(m) }
1697func (*AnnotateImageResponse) ProtoMessage()    {}
1698func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
1699	return fileDescriptor_357ce83580ed3103, []int{19}
1700}
1701
1702func (m *AnnotateImageResponse) XXX_Unmarshal(b []byte) error {
1703	return xxx_messageInfo_AnnotateImageResponse.Unmarshal(m, b)
1704}
1705func (m *AnnotateImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1706	return xxx_messageInfo_AnnotateImageResponse.Marshal(b, m, deterministic)
1707}
1708func (m *AnnotateImageResponse) XXX_Merge(src proto.Message) {
1709	xxx_messageInfo_AnnotateImageResponse.Merge(m, src)
1710}
1711func (m *AnnotateImageResponse) XXX_Size() int {
1712	return xxx_messageInfo_AnnotateImageResponse.Size(m)
1713}
1714func (m *AnnotateImageResponse) XXX_DiscardUnknown() {
1715	xxx_messageInfo_AnnotateImageResponse.DiscardUnknown(m)
1716}
1717
1718var xxx_messageInfo_AnnotateImageResponse proto.InternalMessageInfo
1719
1720func (m *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
1721	if m != nil {
1722		return m.FaceAnnotations
1723	}
1724	return nil
1725}
1726
1727func (m *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
1728	if m != nil {
1729		return m.LandmarkAnnotations
1730	}
1731	return nil
1732}
1733
1734func (m *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
1735	if m != nil {
1736		return m.LogoAnnotations
1737	}
1738	return nil
1739}
1740
1741func (m *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
1742	if m != nil {
1743		return m.LabelAnnotations
1744	}
1745	return nil
1746}
1747
1748func (m *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
1749	if m != nil {
1750		return m.TextAnnotations
1751	}
1752	return nil
1753}
1754
1755func (m *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
1756	if m != nil {
1757		return m.FullTextAnnotation
1758	}
1759	return nil
1760}
1761
1762func (m *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
1763	if m != nil {
1764		return m.SafeSearchAnnotation
1765	}
1766	return nil
1767}
1768
1769func (m *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
1770	if m != nil {
1771		return m.ImagePropertiesAnnotation
1772	}
1773	return nil
1774}
1775
1776func (m *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
1777	if m != nil {
1778		return m.CropHintsAnnotation
1779	}
1780	return nil
1781}
1782
1783func (m *AnnotateImageResponse) GetWebDetection() *WebDetection {
1784	if m != nil {
1785		return m.WebDetection
1786	}
1787	return nil
1788}
1789
1790func (m *AnnotateImageResponse) GetError() *status.Status {
1791	if m != nil {
1792		return m.Error
1793	}
1794	return nil
1795}
1796
1797func (m *AnnotateImageResponse) GetContext() *ImageAnnotationContext {
1798	if m != nil {
1799		return m.Context
1800	}
1801	return nil
1802}
1803
1804// Response to a single file annotation request. A file may contain one or more
1805// images, which individually have their own responses.
1806type AnnotateFileResponse struct {
1807	// Information about the file for which this response is generated.
1808	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
1809	// Individual responses to images found within the file.
1810	Responses            []*AnnotateImageResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
1811	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
1812	XXX_unrecognized     []byte                   `json:"-"`
1813	XXX_sizecache        int32                    `json:"-"`
1814}
1815
1816func (m *AnnotateFileResponse) Reset()         { *m = AnnotateFileResponse{} }
1817func (m *AnnotateFileResponse) String() string { return proto.CompactTextString(m) }
1818func (*AnnotateFileResponse) ProtoMessage()    {}
1819func (*AnnotateFileResponse) Descriptor() ([]byte, []int) {
1820	return fileDescriptor_357ce83580ed3103, []int{20}
1821}
1822
1823func (m *AnnotateFileResponse) XXX_Unmarshal(b []byte) error {
1824	return xxx_messageInfo_AnnotateFileResponse.Unmarshal(m, b)
1825}
1826func (m *AnnotateFileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1827	return xxx_messageInfo_AnnotateFileResponse.Marshal(b, m, deterministic)
1828}
1829func (m *AnnotateFileResponse) XXX_Merge(src proto.Message) {
1830	xxx_messageInfo_AnnotateFileResponse.Merge(m, src)
1831}
1832func (m *AnnotateFileResponse) XXX_Size() int {
1833	return xxx_messageInfo_AnnotateFileResponse.Size(m)
1834}
1835func (m *AnnotateFileResponse) XXX_DiscardUnknown() {
1836	xxx_messageInfo_AnnotateFileResponse.DiscardUnknown(m)
1837}
1838
1839var xxx_messageInfo_AnnotateFileResponse proto.InternalMessageInfo
1840
1841func (m *AnnotateFileResponse) GetInputConfig() *InputConfig {
1842	if m != nil {
1843		return m.InputConfig
1844	}
1845	return nil
1846}
1847
1848func (m *AnnotateFileResponse) GetResponses() []*AnnotateImageResponse {
1849	if m != nil {
1850		return m.Responses
1851	}
1852	return nil
1853}
1854
1855// Multiple image annotation requests are batched into a single service call.
1856type BatchAnnotateImagesRequest struct {
1857	// Individual image annotation requests for this batch.
1858	Requests             []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
1859	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
1860	XXX_unrecognized     []byte                  `json:"-"`
1861	XXX_sizecache        int32                   `json:"-"`
1862}
1863
1864func (m *BatchAnnotateImagesRequest) Reset()         { *m = BatchAnnotateImagesRequest{} }
1865func (m *BatchAnnotateImagesRequest) String() string { return proto.CompactTextString(m) }
1866func (*BatchAnnotateImagesRequest) ProtoMessage()    {}
1867func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
1868	return fileDescriptor_357ce83580ed3103, []int{21}
1869}
1870
1871func (m *BatchAnnotateImagesRequest) XXX_Unmarshal(b []byte) error {
1872	return xxx_messageInfo_BatchAnnotateImagesRequest.Unmarshal(m, b)
1873}
1874func (m *BatchAnnotateImagesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1875	return xxx_messageInfo_BatchAnnotateImagesRequest.Marshal(b, m, deterministic)
1876}
1877func (m *BatchAnnotateImagesRequest) XXX_Merge(src proto.Message) {
1878	xxx_messageInfo_BatchAnnotateImagesRequest.Merge(m, src)
1879}
1880func (m *BatchAnnotateImagesRequest) XXX_Size() int {
1881	return xxx_messageInfo_BatchAnnotateImagesRequest.Size(m)
1882}
1883func (m *BatchAnnotateImagesRequest) XXX_DiscardUnknown() {
1884	xxx_messageInfo_BatchAnnotateImagesRequest.DiscardUnknown(m)
1885}
1886
1887var xxx_messageInfo_BatchAnnotateImagesRequest proto.InternalMessageInfo
1888
1889func (m *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
1890	if m != nil {
1891		return m.Requests
1892	}
1893	return nil
1894}
1895
1896// Response to a batch image annotation request.
1897type BatchAnnotateImagesResponse struct {
1898	// Individual responses to image annotation requests within the batch.
1899	Responses            []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
1900	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
1901	XXX_unrecognized     []byte                   `json:"-"`
1902	XXX_sizecache        int32                    `json:"-"`
1903}
1904
1905func (m *BatchAnnotateImagesResponse) Reset()         { *m = BatchAnnotateImagesResponse{} }
1906func (m *BatchAnnotateImagesResponse) String() string { return proto.CompactTextString(m) }
1907func (*BatchAnnotateImagesResponse) ProtoMessage()    {}
1908func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
1909	return fileDescriptor_357ce83580ed3103, []int{22}
1910}
1911
1912func (m *BatchAnnotateImagesResponse) XXX_Unmarshal(b []byte) error {
1913	return xxx_messageInfo_BatchAnnotateImagesResponse.Unmarshal(m, b)
1914}
1915func (m *BatchAnnotateImagesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1916	return xxx_messageInfo_BatchAnnotateImagesResponse.Marshal(b, m, deterministic)
1917}
1918func (m *BatchAnnotateImagesResponse) XXX_Merge(src proto.Message) {
1919	xxx_messageInfo_BatchAnnotateImagesResponse.Merge(m, src)
1920}
1921func (m *BatchAnnotateImagesResponse) XXX_Size() int {
1922	return xxx_messageInfo_BatchAnnotateImagesResponse.Size(m)
1923}
1924func (m *BatchAnnotateImagesResponse) XXX_DiscardUnknown() {
1925	xxx_messageInfo_BatchAnnotateImagesResponse.DiscardUnknown(m)
1926}
1927
1928var xxx_messageInfo_BatchAnnotateImagesResponse proto.InternalMessageInfo
1929
1930func (m *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
1931	if m != nil {
1932		return m.Responses
1933	}
1934	return nil
1935}
1936
1937// An offline file annotation request.
1938type AsyncAnnotateFileRequest struct {
1939	// Required. Information about the input file.
1940	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
1941	// Required. Requested features.
1942	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1943	// Additional context that may accompany the image(s) in the file.
1944	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
1945	// Required. The desired output location and metadata (e.g. format).
1946	OutputConfig         *OutputConfig `protobuf:"bytes,4,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
1947	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
1948	XXX_unrecognized     []byte        `json:"-"`
1949	XXX_sizecache        int32         `json:"-"`
1950}
1951
1952func (m *AsyncAnnotateFileRequest) Reset()         { *m = AsyncAnnotateFileRequest{} }
1953func (m *AsyncAnnotateFileRequest) String() string { return proto.CompactTextString(m) }
1954func (*AsyncAnnotateFileRequest) ProtoMessage()    {}
1955func (*AsyncAnnotateFileRequest) Descriptor() ([]byte, []int) {
1956	return fileDescriptor_357ce83580ed3103, []int{23}
1957}
1958
1959func (m *AsyncAnnotateFileRequest) XXX_Unmarshal(b []byte) error {
1960	return xxx_messageInfo_AsyncAnnotateFileRequest.Unmarshal(m, b)
1961}
1962func (m *AsyncAnnotateFileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1963	return xxx_messageInfo_AsyncAnnotateFileRequest.Marshal(b, m, deterministic)
1964}
1965func (m *AsyncAnnotateFileRequest) XXX_Merge(src proto.Message) {
1966	xxx_messageInfo_AsyncAnnotateFileRequest.Merge(m, src)
1967}
1968func (m *AsyncAnnotateFileRequest) XXX_Size() int {
1969	return xxx_messageInfo_AsyncAnnotateFileRequest.Size(m)
1970}
1971func (m *AsyncAnnotateFileRequest) XXX_DiscardUnknown() {
1972	xxx_messageInfo_AsyncAnnotateFileRequest.DiscardUnknown(m)
1973}
1974
1975var xxx_messageInfo_AsyncAnnotateFileRequest proto.InternalMessageInfo
1976
1977func (m *AsyncAnnotateFileRequest) GetInputConfig() *InputConfig {
1978	if m != nil {
1979		return m.InputConfig
1980	}
1981	return nil
1982}
1983
1984func (m *AsyncAnnotateFileRequest) GetFeatures() []*Feature {
1985	if m != nil {
1986		return m.Features
1987	}
1988	return nil
1989}
1990
1991func (m *AsyncAnnotateFileRequest) GetImageContext() *ImageContext {
1992	if m != nil {
1993		return m.ImageContext
1994	}
1995	return nil
1996}
1997
1998func (m *AsyncAnnotateFileRequest) GetOutputConfig() *OutputConfig {
1999	if m != nil {
2000		return m.OutputConfig
2001	}
2002	return nil
2003}
2004
2005// The response for a single offline file annotation request.
2006type AsyncAnnotateFileResponse struct {
2007	// The output location and metadata from AsyncAnnotateFileRequest.
2008	OutputConfig         *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2009	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
2010	XXX_unrecognized     []byte        `json:"-"`
2011	XXX_sizecache        int32         `json:"-"`
2012}
2013
2014func (m *AsyncAnnotateFileResponse) Reset()         { *m = AsyncAnnotateFileResponse{} }
2015func (m *AsyncAnnotateFileResponse) String() string { return proto.CompactTextString(m) }
2016func (*AsyncAnnotateFileResponse) ProtoMessage()    {}
2017func (*AsyncAnnotateFileResponse) Descriptor() ([]byte, []int) {
2018	return fileDescriptor_357ce83580ed3103, []int{24}
2019}
2020
2021func (m *AsyncAnnotateFileResponse) XXX_Unmarshal(b []byte) error {
2022	return xxx_messageInfo_AsyncAnnotateFileResponse.Unmarshal(m, b)
2023}
2024func (m *AsyncAnnotateFileResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2025	return xxx_messageInfo_AsyncAnnotateFileResponse.Marshal(b, m, deterministic)
2026}
2027func (m *AsyncAnnotateFileResponse) XXX_Merge(src proto.Message) {
2028	xxx_messageInfo_AsyncAnnotateFileResponse.Merge(m, src)
2029}
2030func (m *AsyncAnnotateFileResponse) XXX_Size() int {
2031	return xxx_messageInfo_AsyncAnnotateFileResponse.Size(m)
2032}
2033func (m *AsyncAnnotateFileResponse) XXX_DiscardUnknown() {
2034	xxx_messageInfo_AsyncAnnotateFileResponse.DiscardUnknown(m)
2035}
2036
2037var xxx_messageInfo_AsyncAnnotateFileResponse proto.InternalMessageInfo
2038
2039func (m *AsyncAnnotateFileResponse) GetOutputConfig() *OutputConfig {
2040	if m != nil {
2041		return m.OutputConfig
2042	}
2043	return nil
2044}
2045
2046// Multiple async file annotation requests are batched into a single service
2047// call.
2048type AsyncBatchAnnotateFilesRequest struct {
2049	// Individual async file annotation requests for this batch.
2050	Requests             []*AsyncAnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2051	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
2052	XXX_unrecognized     []byte                      `json:"-"`
2053	XXX_sizecache        int32                       `json:"-"`
2054}
2055
2056func (m *AsyncBatchAnnotateFilesRequest) Reset()         { *m = AsyncBatchAnnotateFilesRequest{} }
2057func (m *AsyncBatchAnnotateFilesRequest) String() string { return proto.CompactTextString(m) }
2058func (*AsyncBatchAnnotateFilesRequest) ProtoMessage()    {}
2059func (*AsyncBatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
2060	return fileDescriptor_357ce83580ed3103, []int{25}
2061}
2062
2063func (m *AsyncBatchAnnotateFilesRequest) XXX_Unmarshal(b []byte) error {
2064	return xxx_messageInfo_AsyncBatchAnnotateFilesRequest.Unmarshal(m, b)
2065}
2066func (m *AsyncBatchAnnotateFilesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2067	return xxx_messageInfo_AsyncBatchAnnotateFilesRequest.Marshal(b, m, deterministic)
2068}
2069func (m *AsyncBatchAnnotateFilesRequest) XXX_Merge(src proto.Message) {
2070	xxx_messageInfo_AsyncBatchAnnotateFilesRequest.Merge(m, src)
2071}
2072func (m *AsyncBatchAnnotateFilesRequest) XXX_Size() int {
2073	return xxx_messageInfo_AsyncBatchAnnotateFilesRequest.Size(m)
2074}
2075func (m *AsyncBatchAnnotateFilesRequest) XXX_DiscardUnknown() {
2076	xxx_messageInfo_AsyncBatchAnnotateFilesRequest.DiscardUnknown(m)
2077}
2078
2079var xxx_messageInfo_AsyncBatchAnnotateFilesRequest proto.InternalMessageInfo
2080
2081func (m *AsyncBatchAnnotateFilesRequest) GetRequests() []*AsyncAnnotateFileRequest {
2082	if m != nil {
2083		return m.Requests
2084	}
2085	return nil
2086}
2087
2088// Response to an async batch file annotation request.
2089type AsyncBatchAnnotateFilesResponse struct {
2090	// The list of file annotation responses, one for each request in
2091	// AsyncBatchAnnotateFilesRequest.
2092	Responses            []*AsyncAnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2093	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
2094	XXX_unrecognized     []byte                       `json:"-"`
2095	XXX_sizecache        int32                        `json:"-"`
2096}
2097
2098func (m *AsyncBatchAnnotateFilesResponse) Reset()         { *m = AsyncBatchAnnotateFilesResponse{} }
2099func (m *AsyncBatchAnnotateFilesResponse) String() string { return proto.CompactTextString(m) }
2100func (*AsyncBatchAnnotateFilesResponse) ProtoMessage()    {}
2101func (*AsyncBatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
2102	return fileDescriptor_357ce83580ed3103, []int{26}
2103}
2104
2105func (m *AsyncBatchAnnotateFilesResponse) XXX_Unmarshal(b []byte) error {
2106	return xxx_messageInfo_AsyncBatchAnnotateFilesResponse.Unmarshal(m, b)
2107}
2108func (m *AsyncBatchAnnotateFilesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2109	return xxx_messageInfo_AsyncBatchAnnotateFilesResponse.Marshal(b, m, deterministic)
2110}
2111func (m *AsyncBatchAnnotateFilesResponse) XXX_Merge(src proto.Message) {
2112	xxx_messageInfo_AsyncBatchAnnotateFilesResponse.Merge(m, src)
2113}
2114func (m *AsyncBatchAnnotateFilesResponse) XXX_Size() int {
2115	return xxx_messageInfo_AsyncBatchAnnotateFilesResponse.Size(m)
2116}
2117func (m *AsyncBatchAnnotateFilesResponse) XXX_DiscardUnknown() {
2118	xxx_messageInfo_AsyncBatchAnnotateFilesResponse.DiscardUnknown(m)
2119}
2120
2121var xxx_messageInfo_AsyncBatchAnnotateFilesResponse proto.InternalMessageInfo
2122
2123func (m *AsyncBatchAnnotateFilesResponse) GetResponses() []*AsyncAnnotateFileResponse {
2124	if m != nil {
2125		return m.Responses
2126	}
2127	return nil
2128}
2129
2130// The desired input location and metadata.
2131type InputConfig struct {
2132	// The Google Cloud Storage location to read the input from.
2133	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"`
2134	// The type of the file. Currently only "application/pdf" and "image/tiff"
2135	// are supported. Wildcards are not supported.
2136	MimeType             string   `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
2137	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2138	XXX_unrecognized     []byte   `json:"-"`
2139	XXX_sizecache        int32    `json:"-"`
2140}
2141
2142func (m *InputConfig) Reset()         { *m = InputConfig{} }
2143func (m *InputConfig) String() string { return proto.CompactTextString(m) }
2144func (*InputConfig) ProtoMessage()    {}
2145func (*InputConfig) Descriptor() ([]byte, []int) {
2146	return fileDescriptor_357ce83580ed3103, []int{27}
2147}
2148
2149func (m *InputConfig) XXX_Unmarshal(b []byte) error {
2150	return xxx_messageInfo_InputConfig.Unmarshal(m, b)
2151}
2152func (m *InputConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2153	return xxx_messageInfo_InputConfig.Marshal(b, m, deterministic)
2154}
2155func (m *InputConfig) XXX_Merge(src proto.Message) {
2156	xxx_messageInfo_InputConfig.Merge(m, src)
2157}
2158func (m *InputConfig) XXX_Size() int {
2159	return xxx_messageInfo_InputConfig.Size(m)
2160}
2161func (m *InputConfig) XXX_DiscardUnknown() {
2162	xxx_messageInfo_InputConfig.DiscardUnknown(m)
2163}
2164
2165var xxx_messageInfo_InputConfig proto.InternalMessageInfo
2166
2167func (m *InputConfig) GetGcsSource() *GcsSource {
2168	if m != nil {
2169		return m.GcsSource
2170	}
2171	return nil
2172}
2173
2174func (m *InputConfig) GetMimeType() string {
2175	if m != nil {
2176		return m.MimeType
2177	}
2178	return ""
2179}
2180
2181// The desired output location and metadata.
2182type OutputConfig struct {
2183	// The Google Cloud Storage location to write the output(s) to.
2184	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3" json:"gcs_destination,omitempty"`
2185	// The max number of response protos to put into each output JSON file on GCS.
2186	// The valid range is [1, 100]. If not specified, the default value is 20.
2187	//
2188	// For example, for one pdf file with 100 pages, 100 response protos will
2189	// be generated. If `batch_size` = 20, then 5 json files each
2190	// containing 20 response protos will be written under the prefix
2191	// `gcs_destination`.`uri`.
2192	//
2193	// Currently, batch_size only applies to GcsDestination, with potential future
2194	// support for other output configurations.
2195	BatchSize            int32    `protobuf:"varint,2,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
2196	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2197	XXX_unrecognized     []byte   `json:"-"`
2198	XXX_sizecache        int32    `json:"-"`
2199}
2200
2201func (m *OutputConfig) Reset()         { *m = OutputConfig{} }
2202func (m *OutputConfig) String() string { return proto.CompactTextString(m) }
2203func (*OutputConfig) ProtoMessage()    {}
2204func (*OutputConfig) Descriptor() ([]byte, []int) {
2205	return fileDescriptor_357ce83580ed3103, []int{28}
2206}
2207
2208func (m *OutputConfig) XXX_Unmarshal(b []byte) error {
2209	return xxx_messageInfo_OutputConfig.Unmarshal(m, b)
2210}
2211func (m *OutputConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2212	return xxx_messageInfo_OutputConfig.Marshal(b, m, deterministic)
2213}
2214func (m *OutputConfig) XXX_Merge(src proto.Message) {
2215	xxx_messageInfo_OutputConfig.Merge(m, src)
2216}
2217func (m *OutputConfig) XXX_Size() int {
2218	return xxx_messageInfo_OutputConfig.Size(m)
2219}
2220func (m *OutputConfig) XXX_DiscardUnknown() {
2221	xxx_messageInfo_OutputConfig.DiscardUnknown(m)
2222}
2223
2224var xxx_messageInfo_OutputConfig proto.InternalMessageInfo
2225
2226func (m *OutputConfig) GetGcsDestination() *GcsDestination {
2227	if m != nil {
2228		return m.GcsDestination
2229	}
2230	return nil
2231}
2232
2233func (m *OutputConfig) GetBatchSize() int32 {
2234	if m != nil {
2235		return m.BatchSize
2236	}
2237	return 0
2238}
2239
2240// The Google Cloud Storage location where the input will be read from.
2241type GcsSource struct {
2242	// Google Cloud Storage URI for the input file. This must only be a GCS
2243	// object. Wildcards are not currently supported.
2244	Uri                  string   `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
2245	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2246	XXX_unrecognized     []byte   `json:"-"`
2247	XXX_sizecache        int32    `json:"-"`
2248}
2249
2250func (m *GcsSource) Reset()         { *m = GcsSource{} }
2251func (m *GcsSource) String() string { return proto.CompactTextString(m) }
2252func (*GcsSource) ProtoMessage()    {}
2253func (*GcsSource) Descriptor() ([]byte, []int) {
2254	return fileDescriptor_357ce83580ed3103, []int{29}
2255}
2256
2257func (m *GcsSource) XXX_Unmarshal(b []byte) error {
2258	return xxx_messageInfo_GcsSource.Unmarshal(m, b)
2259}
2260func (m *GcsSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2261	return xxx_messageInfo_GcsSource.Marshal(b, m, deterministic)
2262}
2263func (m *GcsSource) XXX_Merge(src proto.Message) {
2264	xxx_messageInfo_GcsSource.Merge(m, src)
2265}
2266func (m *GcsSource) XXX_Size() int {
2267	return xxx_messageInfo_GcsSource.Size(m)
2268}
2269func (m *GcsSource) XXX_DiscardUnknown() {
2270	xxx_messageInfo_GcsSource.DiscardUnknown(m)
2271}
2272
2273var xxx_messageInfo_GcsSource proto.InternalMessageInfo
2274
2275func (m *GcsSource) GetUri() string {
2276	if m != nil {
2277		return m.Uri
2278	}
2279	return ""
2280}
2281
2282// The Google Cloud Storage location where the output will be written to.
2283type GcsDestination struct {
2284	// Google Cloud Storage URI where the results will be stored. Results will
2285	// be in JSON format and preceded by its corresponding input URI. This field
2286	// can either represent a single file, or a prefix for multiple outputs.
2287	// Prefixes must end in a `/`.
2288	//
2289	// Examples:
2290	//
2291	// *    File: gs://bucket-name/filename.json
2292	// *    Prefix: gs://bucket-name/prefix/here/
2293	// *    File: gs://bucket-name/prefix/here
2294	//
2295	// If multiple outputs, each response is still AnnotateFileResponse, each of
2296	// which contains some subset of the full list of AnnotateImageResponse.
2297	// Multiple outputs can happen if, for example, the output JSON is too large
2298	// and overflows into multiple sharded files.
2299	Uri                  string   `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
2300	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2301	XXX_unrecognized     []byte   `json:"-"`
2302	XXX_sizecache        int32    `json:"-"`
2303}
2304
2305func (m *GcsDestination) Reset()         { *m = GcsDestination{} }
2306func (m *GcsDestination) String() string { return proto.CompactTextString(m) }
2307func (*GcsDestination) ProtoMessage()    {}
2308func (*GcsDestination) Descriptor() ([]byte, []int) {
2309	return fileDescriptor_357ce83580ed3103, []int{30}
2310}
2311
2312func (m *GcsDestination) XXX_Unmarshal(b []byte) error {
2313	return xxx_messageInfo_GcsDestination.Unmarshal(m, b)
2314}
2315func (m *GcsDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2316	return xxx_messageInfo_GcsDestination.Marshal(b, m, deterministic)
2317}
2318func (m *GcsDestination) XXX_Merge(src proto.Message) {
2319	xxx_messageInfo_GcsDestination.Merge(m, src)
2320}
2321func (m *GcsDestination) XXX_Size() int {
2322	return xxx_messageInfo_GcsDestination.Size(m)
2323}
2324func (m *GcsDestination) XXX_DiscardUnknown() {
2325	xxx_messageInfo_GcsDestination.DiscardUnknown(m)
2326}
2327
2328var xxx_messageInfo_GcsDestination proto.InternalMessageInfo
2329
2330func (m *GcsDestination) GetUri() string {
2331	if m != nil {
2332		return m.Uri
2333	}
2334	return ""
2335}
2336
2337// Contains metadata for the BatchAnnotateImages operation.
2338type OperationMetadata struct {
2339	// Current state of the batch operation.
2340	State OperationMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.vision.v1p2beta1.OperationMetadata_State" json:"state,omitempty"`
2341	// The time when the batch request was received.
2342	CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
2343	// The time when the operation result was last updated.
2344	UpdateTime           *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
2345	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
2346	XXX_unrecognized     []byte               `json:"-"`
2347	XXX_sizecache        int32                `json:"-"`
2348}
2349
2350func (m *OperationMetadata) Reset()         { *m = OperationMetadata{} }
2351func (m *OperationMetadata) String() string { return proto.CompactTextString(m) }
2352func (*OperationMetadata) ProtoMessage()    {}
2353func (*OperationMetadata) Descriptor() ([]byte, []int) {
2354	return fileDescriptor_357ce83580ed3103, []int{31}
2355}
2356
2357func (m *OperationMetadata) XXX_Unmarshal(b []byte) error {
2358	return xxx_messageInfo_OperationMetadata.Unmarshal(m, b)
2359}
2360func (m *OperationMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2361	return xxx_messageInfo_OperationMetadata.Marshal(b, m, deterministic)
2362}
2363func (m *OperationMetadata) XXX_Merge(src proto.Message) {
2364	xxx_messageInfo_OperationMetadata.Merge(m, src)
2365}
2366func (m *OperationMetadata) XXX_Size() int {
2367	return xxx_messageInfo_OperationMetadata.Size(m)
2368}
2369func (m *OperationMetadata) XXX_DiscardUnknown() {
2370	xxx_messageInfo_OperationMetadata.DiscardUnknown(m)
2371}
2372
2373var xxx_messageInfo_OperationMetadata proto.InternalMessageInfo
2374
2375func (m *OperationMetadata) GetState() OperationMetadata_State {
2376	if m != nil {
2377		return m.State
2378	}
2379	return OperationMetadata_STATE_UNSPECIFIED
2380}
2381
2382func (m *OperationMetadata) GetCreateTime() *timestamp.Timestamp {
2383	if m != nil {
2384		return m.CreateTime
2385	}
2386	return nil
2387}
2388
2389func (m *OperationMetadata) GetUpdateTime() *timestamp.Timestamp {
2390	if m != nil {
2391		return m.UpdateTime
2392	}
2393	return nil
2394}
2395
2396func init() {
2397	proto.RegisterEnum("google.cloud.vision.v1p2beta1.Likelihood", Likelihood_name, Likelihood_value)
2398	proto.RegisterEnum("google.cloud.vision.v1p2beta1.Feature_Type", Feature_Type_name, Feature_Type_value)
2399	proto.RegisterEnum("google.cloud.vision.v1p2beta1.FaceAnnotation_Landmark_Type", FaceAnnotation_Landmark_Type_name, FaceAnnotation_Landmark_Type_value)
2400	proto.RegisterEnum("google.cloud.vision.v1p2beta1.OperationMetadata_State", OperationMetadata_State_name, OperationMetadata_State_value)
2401	proto.RegisterType((*Feature)(nil), "google.cloud.vision.v1p2beta1.Feature")
2402	proto.RegisterType((*ImageSource)(nil), "google.cloud.vision.v1p2beta1.ImageSource")
2403	proto.RegisterType((*Image)(nil), "google.cloud.vision.v1p2beta1.Image")
2404	proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.vision.v1p2beta1.FaceAnnotation")
2405	proto.RegisterType((*FaceAnnotation_Landmark)(nil), "google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark")
2406	proto.RegisterType((*LocationInfo)(nil), "google.cloud.vision.v1p2beta1.LocationInfo")
2407	proto.RegisterType((*Property)(nil), "google.cloud.vision.v1p2beta1.Property")
2408	proto.RegisterType((*EntityAnnotation)(nil), "google.cloud.vision.v1p2beta1.EntityAnnotation")
2409	proto.RegisterType((*SafeSearchAnnotation)(nil), "google.cloud.vision.v1p2beta1.SafeSearchAnnotation")
2410	proto.RegisterType((*LatLongRect)(nil), "google.cloud.vision.v1p2beta1.LatLongRect")
2411	proto.RegisterType((*ColorInfo)(nil), "google.cloud.vision.v1p2beta1.ColorInfo")
2412	proto.RegisterType((*DominantColorsAnnotation)(nil), "google.cloud.vision.v1p2beta1.DominantColorsAnnotation")
2413	proto.RegisterType((*ImageProperties)(nil), "google.cloud.vision.v1p2beta1.ImageProperties")
2414	proto.RegisterType((*CropHint)(nil), "google.cloud.vision.v1p2beta1.CropHint")
2415	proto.RegisterType((*CropHintsAnnotation)(nil), "google.cloud.vision.v1p2beta1.CropHintsAnnotation")
2416	proto.RegisterType((*CropHintsParams)(nil), "google.cloud.vision.v1p2beta1.CropHintsParams")
2417	proto.RegisterType((*WebDetectionParams)(nil), "google.cloud.vision.v1p2beta1.WebDetectionParams")
2418	proto.RegisterType((*ImageContext)(nil), "google.cloud.vision.v1p2beta1.ImageContext")
2419	proto.RegisterType((*AnnotateImageRequest)(nil), "google.cloud.vision.v1p2beta1.AnnotateImageRequest")
2420	proto.RegisterType((*ImageAnnotationContext)(nil), "google.cloud.vision.v1p2beta1.ImageAnnotationContext")
2421	proto.RegisterType((*AnnotateImageResponse)(nil), "google.cloud.vision.v1p2beta1.AnnotateImageResponse")
2422	proto.RegisterType((*AnnotateFileResponse)(nil), "google.cloud.vision.v1p2beta1.AnnotateFileResponse")
2423	proto.RegisterType((*BatchAnnotateImagesRequest)(nil), "google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest")
2424	proto.RegisterType((*BatchAnnotateImagesResponse)(nil), "google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse")
2425	proto.RegisterType((*AsyncAnnotateFileRequest)(nil), "google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest")
2426	proto.RegisterType((*AsyncAnnotateFileResponse)(nil), "google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse")
2427	proto.RegisterType((*AsyncBatchAnnotateFilesRequest)(nil), "google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest")
2428	proto.RegisterType((*AsyncBatchAnnotateFilesResponse)(nil), "google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse")
2429	proto.RegisterType((*InputConfig)(nil), "google.cloud.vision.v1p2beta1.InputConfig")
2430	proto.RegisterType((*OutputConfig)(nil), "google.cloud.vision.v1p2beta1.OutputConfig")
2431	proto.RegisterType((*GcsSource)(nil), "google.cloud.vision.v1p2beta1.GcsSource")
2432	proto.RegisterType((*GcsDestination)(nil), "google.cloud.vision.v1p2beta1.GcsDestination")
2433	proto.RegisterType((*OperationMetadata)(nil), "google.cloud.vision.v1p2beta1.OperationMetadata")
2434}
2435
2436func init() {
2437	proto.RegisterFile("google/cloud/vision/v1p2beta1/image_annotator.proto", fileDescriptor_357ce83580ed3103)
2438}
2439
2440var fileDescriptor_357ce83580ed3103 = []byte{
2441	// 2899 bytes of a gzipped FileDescriptorProto
2442	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcf, 0x73, 0xdb, 0xc6,
2443	0xf5, 0x0f, 0xa9, 0x5f, 0xe4, 0x23, 0x25, 0x41, 0xab, 0x1f, 0xa6, 0x65, 0x2b, 0x56, 0x90, 0x6f,
2444	0xbe, 0x55, 0xdd, 0x94, 0x1a, 0xcb, 0x49, 0xda, 0x3a, 0xcd, 0xa4, 0x14, 0x09, 0x49, 0x1c, 0x53,
2445	0x24, 0xbb, 0x84, 0xec, 0xd8, 0x93, 0x0e, 0x0a, 0x81, 0x4b, 0x1a, 0x09, 0x08, 0x20, 0x00, 0x68,
2446	0x8b, 0x39, 0x66, 0xa6, 0x7f, 0x41, 0x6f, 0xbd, 0x77, 0x7a, 0x6a, 0x2f, 0xed, 0xa5, 0xff, 0x40,
2447	0xef, 0x9d, 0x1e, 0x7a, 0xe9, 0xad, 0x3d, 0xf4, 0xd8, 0x53, 0xa7, 0xd3, 0x53, 0x67, 0x7f, 0x00,
2448	0x5c, 0x50, 0xb2, 0x29, 0x3a, 0xe9, 0x4c, 0x4f, 0xe2, 0xbe, 0xb7, 0x9f, 0xcf, 0xdb, 0x7d, 0xfb,
2449	0xf6, 0xed, 0xdb, 0x85, 0xe0, 0x7e, 0xdf, 0xf3, 0xfa, 0x0e, 0xd9, 0xb7, 0x1c, 0x6f, 0xd8, 0xdd,
2450	0x7f, 0x6e, 0x87, 0xb6, 0xe7, 0xee, 0x3f, 0xbf, 0xe7, 0x1f, 0x9c, 0x93, 0xc8, 0xbc, 0xb7, 0x6f,
2451	0x0f, 0xcc, 0x3e, 0x31, 0x4c, 0xd7, 0xf5, 0x22, 0x33, 0xf2, 0x82, 0xb2, 0x1f, 0x78, 0x91, 0x87,
2452	0x76, 0x38, 0xa8, 0xcc, 0x40, 0x65, 0x0e, 0x2a, 0x27, 0xa0, 0xed, 0xdb, 0x82, 0xd3, 0xf4, 0xed,
2453	0x7d, 0x01, 0xb5, 0x3d, 0x37, 0xe4, 0xe0, 0xed, 0x77, 0x5f, 0x6d, 0xb1, 0x4f, 0xbc, 0x01, 0x89,
2454	0x82, 0x91, 0xe8, 0x3d, 0x65, 0x7c, 0x11, 0xb9, 0x88, 0x8c, 0xb1, 0x0d, 0x01, 0xba, 0xf7, 0x6a,
2455	0xd0, 0x0b, 0x72, 0x6e, 0x74, 0x49, 0x44, 0x2c, 0x09, 0xf2, 0xb6, 0x80, 0x38, 0x9e, 0xdb, 0x0f,
2456	0x86, 0xae, 0x6b, 0xbb, 0xfd, 0x7d, 0xcf, 0x27, 0x41, 0x6a, 0xe8, 0x77, 0x44, 0x27, 0xd6, 0x3a,
2457	0x1f, 0xf6, 0xf6, 0x23, 0x7b, 0x40, 0xc2, 0xc8, 0x1c, 0xf8, 0xa2, 0xc3, 0x0d, 0xd1, 0x21, 0xf0,
2458	0xad, 0xfd, 0x30, 0x32, 0xa3, 0x61, 0x38, 0xa1, 0x88, 0x46, 0x3e, 0xd9, 0xb7, 0x3c, 0x27, 0x76,
2459	0xe5, 0x76, 0x49, 0x56, 0x38, 0x66, 0xe4, 0xb8, 0x7d, 0xae, 0x51, 0xff, 0x9d, 0x85, 0xa5, 0x23,
2460	0x62, 0x46, 0xc3, 0x80, 0xa0, 0x8f, 0x61, 0x9e, 0x76, 0x28, 0x65, 0x76, 0x33, 0x7b, 0x2b, 0x07,
2461	0xdf, 0x29, 0xbf, 0xd2, 0xff, 0x65, 0x81, 0x2a, 0xeb, 0x23, 0x9f, 0x60, 0x06, 0x44, 0x77, 0xa0,
2462	0x30, 0x30, 0x2f, 0x8c, 0x80, 0x84, 0x43, 0x27, 0x0a, 0x4b, 0xd9, 0xdd, 0xcc, 0xde, 0x02, 0x86,
2463	0x81, 0x79, 0x81, 0xb9, 0x04, 0x6d, 0xc0, 0xc2, 0xc0, 0xeb, 0x12, 0xa7, 0x34, 0xb7, 0x9b, 0xd9,
2464	0xcb, 0x63, 0xde, 0x50, 0xff, 0x99, 0x81, 0x79, 0xca, 0x82, 0x36, 0x40, 0xd1, 0x9f, 0xb4, 0x35,
2465	0xe3, 0xac, 0xd9, 0x69, 0x6b, 0xd5, 0xfa, 0x51, 0x5d, 0xab, 0x29, 0x6f, 0x20, 0x04, 0x2b, 0x47,
2466	0x95, 0xaa, 0x66, 0xd4, 0x34, 0x5d, 0xab, 0xea, 0xf5, 0x56, 0x53, 0xc9, 0xa0, 0x2d, 0x40, 0x8d,
2467	0x4a, 0xb3, 0x76, 0x5a, 0xc1, 0x0f, 0x25, 0x79, 0x96, 0xf6, 0x6d, 0xb4, 0x8e, 0x5b, 0x92, 0x6c,
2468	0x0e, 0xad, 0xc3, 0x6a, 0xa3, 0x72, 0xa8, 0x35, 0x24, 0xe1, 0x3c, 0xed, 0xa8, 0x6b, 0x9f, 0xe8,
2469	0x92, 0x6c, 0x01, 0xdd, 0x82, 0x1b, 0xb5, 0x56, 0xf5, 0xec, 0x54, 0x6b, 0xea, 0xc6, 0x84, 0xb2,
2470	0x80, 0x6e, 0xc2, 0x66, 0xa7, 0x72, 0xa4, 0x19, 0x1d, 0xad, 0x82, 0xab, 0x27, 0x92, 0x6a, 0x91,
2471	0x0e, 0xbb, 0x7e, 0x5a, 0x39, 0xd6, 0x8c, 0x36, 0x6e, 0xb5, 0x35, 0xac, 0xd7, 0xb5, 0x8e, 0xb2,
2472	0x84, 0x56, 0x00, 0xaa, 0xb8, 0xd5, 0x36, 0x4e, 0xea, 0x4d, 0xbd, 0xa3, 0xe4, 0xd1, 0x1a, 0x2c,
2473	0x3f, 0xd6, 0x0e, 0x25, 0x20, 0xa8, 0x4d, 0x28, 0xd4, 0x69, 0xe8, 0x77, 0xbc, 0x61, 0x60, 0x11,
2474	0xa4, 0xc2, 0x72, 0xdf, 0x0a, 0x0d, 0xbe, 0x1b, 0x86, 0x81, 0xcd, 0x16, 0x22, 0x8f, 0x0b, 0x7d,
2475	0x2b, 0x64, 0xdd, 0xce, 0x02, 0x1b, 0xdd, 0x82, 0xfc, 0x58, 0x9f, 0x65, 0xfa, 0x9c, 0x2d, 0x94,
2476	0x2a, 0x81, 0x05, 0xd6, 0x11, 0x95, 0x60, 0xc9, 0xf2, 0xdc, 0x88, 0xb8, 0x11, 0xe3, 0x28, 0xe2,
2477	0xb8, 0x89, 0x0e, 0x61, 0x31, 0x64, 0xd6, 0x18, 0xb8, 0x70, 0x70, 0x77, 0xca, 0x2a, 0x4b, 0xe3,
2478	0xc3, 0x02, 0xa9, 0xfe, 0x52, 0x81, 0x95, 0x23, 0xd3, 0x22, 0x95, 0x64, 0x47, 0xa0, 0x36, 0x2c,
2479	0x9f, 0x7b, 0x43, 0xb7, 0x6b, 0xbb, 0x7d, 0xc3, 0xf7, 0x9c, 0x11, 0x33, 0x5b, 0x98, 0x1a, 0x43,
2480	0x87, 0x02, 0xd3, 0xf6, 0x9c, 0x11, 0x2e, 0x9e, 0x4b, 0x2d, 0x74, 0x06, 0x4a, 0xaf, 0x6b, 0xa4,
2481	0x49, 0xb3, 0xb3, 0x93, 0xae, 0xf4, 0xba, 0x72, 0x1b, 0xe9, 0x90, 0x77, 0x4c, 0xb7, 0x3b, 0x30,
2482	0x83, 0xcf, 0xc3, 0xd2, 0xdc, 0xee, 0xdc, 0x5e, 0xe1, 0xe0, 0x83, 0x69, 0x81, 0x9e, 0x9a, 0x6a,
2483	0xb9, 0x21, 0xe0, 0x78, 0x4c, 0x84, 0x76, 0x00, 0x02, 0xcf, 0x71, 0x0c, 0xd3, 0xed, 0x3b, 0xa4,
2484	0x34, 0xbf, 0x9b, 0xd9, 0xcb, 0xe2, 0x3c, 0x95, 0x54, 0xa8, 0x80, 0x2e, 0x9a, 0x6f, 0xba, 0x42,
2485	0xbb, 0xc0, 0xb4, 0x39, 0xdf, 0x74, 0xb9, 0x72, 0x07, 0x20, 0xb2, 0x9d, 0x48, 0x68, 0x17, 0x39,
2486	0x96, 0x4a, 0xb8, 0xfa, 0x1e, 0x6c, 0x24, 0x59, 0xc4, 0xb0, 0x3c, 0xb7, 0x67, 0x77, 0x89, 0x6b,
2487	0x91, 0xd2, 0x12, 0xeb, 0xb8, 0x9e, 0xe8, 0xaa, 0x89, 0x0a, 0xbd, 0x0f, 0x5b, 0xf1, 0xd0, 0xa8,
2488	0xeb, 0x24, 0x50, 0x8e, 0x81, 0x36, 0x25, 0xad, 0x04, 0x6b, 0xc3, 0xca, 0x67, 0xde, 0xc8, 0x70,
2489	0xec, 0xcf, 0x89, 0x63, 0x3f, 0xf3, 0xbc, 0x6e, 0x29, 0xcf, 0x12, 0xc1, 0xb7, 0xa7, 0xf8, 0xa7,
2490	0x91, 0x00, 0xf0, 0xf2, 0x67, 0xde, 0x68, 0xdc, 0x44, 0x8f, 0x60, 0x2d, 0xf4, 0x82, 0xc0, 0x7b,
2491	0x21, 0x93, 0xc2, 0xac, 0xa4, 0x0a, 0xe7, 0x90, 0x78, 0x75, 0x50, 0x4c, 0xb7, 0x4f, 0x02, 0x99,
2492	0xb6, 0x30, 0x2b, 0xed, 0x2a, 0xa3, 0x90, 0x58, 0x9f, 0xc2, 0x7a, 0x38, 0x0c, 0xfc, 0xc0, 0x0e,
2493	0x89, 0x4c, 0x5c, 0x9c, 0x95, 0x18, 0xc5, 0x2c, 0x12, 0xb7, 0x05, 0xa5, 0xa1, 0xdb, 0x25, 0x81,
2494	0x41, 0x2e, 0x7c, 0x2f, 0x24, 0x5d, 0xd9, 0xc0, 0xf2, 0xac, 0x06, 0xb6, 0x18, 0x95, 0xc6, 0x99,
2495	0x24, 0x23, 0x9f, 0x00, 0x3a, 0x77, 0x86, 0x41, 0x90, 0xa6, 0x5f, 0x99, 0x95, 0x7e, 0x4d, 0x90,
2496	0xa4, 0x5d, 0xf3, 0x8c, 0x98, 0xdd, 0x17, 0xc4, 0x4c, 0xf9, 0x7c, 0x75, 0x66, 0xd7, 0xc4, 0x2c,
2497	0x63, 0xd9, 0xf6, 0x9f, 0x97, 0x20, 0x17, 0xef, 0x29, 0xd4, 0x12, 0x47, 0xd0, 0x1c, 0x63, 0xfe,
2498	0xf0, 0xf5, 0x76, 0xa6, 0x7c, 0x24, 0x55, 0x21, 0xe7, 0x7b, 0xa1, 0x4d, 0xf5, 0x6c, 0x5f, 0x16,
2499	0x0e, 0xbe, 0x35, 0x85, 0xb4, 0x2d, 0xba, 0xe3, 0x04, 0xa8, 0xfe, 0x6e, 0x71, 0x7c, 0x40, 0x9d,
2500	0x35, 0x1f, 0x36, 0x5b, 0x8f, 0x9b, 0x46, 0x7c, 0xfc, 0x28, 0x6f, 0xa0, 0x22, 0xe4, 0x1a, 0xda,
2501	0x91, 0x6e, 0x68, 0x4f, 0x34, 0x25, 0x83, 0x96, 0x21, 0x8f, 0xeb, 0xc7, 0x27, 0xbc, 0x99, 0x45,
2502	0x25, 0xd8, 0x60, 0xca, 0xd6, 0x91, 0x11, 0x77, 0x3a, 0xc4, 0xad, 0xc7, 0xca, 0x1c, 0x3d, 0x51,
2503	0x78, 0xc7, 0x49, 0xd5, 0x3c, 0x55, 0xc5, 0xa0, 0x84, 0x8b, 0xa9, 0x16, 0xd0, 0x36, 0x6c, 0x25,
2504	0xa8, 0xb4, 0x6e, 0x91, 0xc2, 0x4e, 0xeb, 0xb5, 0x76, 0xab, 0xde, 0xd4, 0x8d, 0x43, 0x4d, 0x7f,
2505	0xac, 0x69, 0x4d, 0xaa, 0xa5, 0xa7, 0x51, 0x11, 0x72, 0xcd, 0x56, 0x47, 0x33, 0xf4, 0x7a, 0x5b,
2506	0xc9, 0xd1, 0x31, 0x9e, 0xb5, 0xdb, 0x1a, 0x36, 0x1a, 0xf5, 0xb6, 0x92, 0xa7, 0xcd, 0x46, 0xeb,
2507	0xb1, 0x68, 0x02, 0x3d, 0xb9, 0x4e, 0x5b, 0x67, 0xfa, 0x09, 0x1b, 0x95, 0x52, 0x40, 0xab, 0x50,
2508	0xe0, 0x6d, 0x66, 0x4f, 0x29, 0x22, 0x05, 0x8a, 0x5c, 0x50, 0xd5, 0x9a, 0xba, 0x86, 0x95, 0x65,
2509	0xb4, 0x09, 0x6b, 0x8c, 0xfe, 0xb0, 0xa5, 0xeb, 0xad, 0x53, 0xd1, 0x71, 0x85, 0xfa, 0x4b, 0x16,
2510	0x33, 0xbe, 0x55, 0x7a, 0x78, 0xcb, 0x52, 0x41, 0xa2, 0x24, 0xb3, 0xd6, 0x9e, 0x68, 0x86, 0xde,
2511	0x6a, 0x1b, 0x87, 0xad, 0xb3, 0x66, 0xad, 0x82, 0x9f, 0x28, 0x6b, 0x29, 0x15, 0x9f, 0x75, 0xb5,
2512	0x85, 0x9b, 0x1a, 0x56, 0x10, 0xba, 0x0d, 0xa5, 0x44, 0x25, 0x18, 0x13, 0xe0, 0x7a, 0xe2, 0x7e,
2513	0xaa, 0x65, 0x3f, 0x04, 0x6e, 0x63, 0xec, 0xc8, 0x4b, 0xe6, 0x36, 0xd3, 0xba, 0x94, 0xbd, 0x2d,
2514	0xb4, 0x03, 0x37, 0xc7, 0xba, 0x49, 0x83, 0x37, 0xc6, 0xab, 0x3a, 0x69, 0xb1, 0x84, 0xee, 0xc0,
2515	0x2d, 0x79, 0x9d, 0x0d, 0xbe, 0x04, 0xf1, 0x8a, 0x29, 0x37, 0xd1, 0x2e, 0xdc, 0x4e, 0x2d, 0xe9,
2516	0x64, 0x8f, 0x6d, 0xea, 0x50, 0x4e, 0x51, 0xc1, 0x86, 0x8e, 0x2b, 0xc7, 0xb4, 0x8e, 0xb8, 0x45,
2517	0xbd, 0x2f, 0x70, 0x92, 0xf8, 0x36, 0x2b, 0x86, 0xe2, 0xb9, 0xb7, 0xcf, 0xda, 0xf5, 0x86, 0xb2,
2518	0x43, 0x8b, 0xa1, 0xf1, 0xf0, 0xb8, 0xf0, 0x4d, 0x8a, 0x3f, 0x6a, 0x61, 0xed, 0x44, 0xab, 0xd4,
2519	0x8c, 0x63, 0x56, 0x2b, 0x35, 0x2a, 0xca, 0x1d, 0x5a, 0xb1, 0x54, 0x4f, 0xea, 0x4d, 0xe3, 0xb8,
2520	0x59, 0xd1, 0x4f, 0x28, 0xe5, 0x2e, 0xb5, 0xcf, 0x44, 0x8c, 0xf7, 0xb8, 0xd5, 0xa4, 0xd2, 0xb7,
2521	0x28, 0x9e, 0x49, 0x39, 0xb3, 0x10, 0xab, 0xea, 0x0f, 0xa1, 0xd8, 0xf0, 0x2c, 0xb6, 0x37, 0xeb,
2522	0x6e, 0xcf, 0x43, 0xef, 0xc2, 0x92, 0x63, 0x46, 0x86, 0xe3, 0xf6, 0x45, 0x79, 0xb0, 0x1e, 0x6f,
2523	0x45, 0xba, 0x55, 0xcb, 0x0d, 0x33, 0x6a, 0xb8, 0x7d, 0xbc, 0xe8, 0xb0, 0xbf, 0xea, 0x63, 0xc8,
2524	0xb5, 0x03, 0x5a, 0x1c, 0x47, 0x23, 0x84, 0x60, 0xde, 0x35, 0x07, 0x44, 0x14, 0x44, 0xec, 0x37,
2525	0xad, 0x25, 0x9f, 0x9b, 0xce, 0x90, 0x88, 0x2a, 0x88, 0x37, 0xd0, 0x5b, 0x50, 0x1c, 0xda, 0x6e,
2526	0xf4, 0xc1, 0x7b, 0x06, 0x57, 0xd2, 0x44, 0x32, 0x8f, 0x0b, 0x5c, 0xf6, 0x88, 0x8a, 0xd4, 0x5f,
2527	0xcc, 0x81, 0xa2, 0xb9, 0x91, 0x1d, 0x8d, 0xa4, 0x02, 0x46, 0x81, 0xb9, 0x81, 0xdd, 0x15, 0x06,
2528	0xe8, 0x4f, 0xb4, 0x05, 0x8b, 0x8e, 0x67, 0x99, 0x4e, 0x6c, 0x40, 0xb4, 0xd0, 0x2e, 0x14, 0xba,
2529	0x24, 0xb4, 0x02, 0xdb, 0x67, 0x49, 0x85, 0x57, 0xb2, 0xb2, 0x88, 0x8e, 0x2c, 0xb4, 0xbc, 0x20,
2530	0x2e, 0x04, 0x78, 0x03, 0xbd, 0x09, 0x20, 0x9d, 0xc4, 0xbc, 0x0a, 0x90, 0x24, 0x54, 0x1f, 0x79,
2531	0xbe, 0x6d, 0x99, 0x8e, 0x1d, 0x8d, 0x44, 0x1d, 0x20, 0x49, 0x2e, 0x97, 0x58, 0x4b, 0x5f, 0xb7,
2532	0xc4, 0xaa, 0x43, 0xde, 0x11, 0xeb, 0x13, 0x96, 0x72, 0xac, 0x16, 0x9a, 0xc6, 0x26, 0xaf, 0x27,
2533	0x1e, 0xa3, 0xd1, 0x31, 0x80, 0xcf, 0x17, 0xcb, 0x26, 0x61, 0x29, 0xcf, 0xb8, 0xa6, 0x26, 0x5a,
2534	0xb1, 0xba, 0x58, 0x82, 0xaa, 0x7f, 0xcd, 0xc2, 0x46, 0xc7, 0xec, 0x91, 0x0e, 0x31, 0x03, 0xeb,
2535	0x99, 0xb4, 0x40, 0x1f, 0xc3, 0x82, 0xd9, 0x1d, 0x3a, 0x91, 0xb8, 0x9d, 0xcc, 0x70, 0xe8, 0x70,
2536	0x1c, 0x25, 0x08, 0x7d, 0xcf, 0xeb, 0xb1, 0xe5, 0x9c, 0x8d, 0x80, 0xe1, 0x50, 0x15, 0x96, 0x06,
2537	0xa4, 0x4b, 0x97, 0x43, 0x1c, 0x4f, 0x33, 0x50, 0xc4, 0x48, 0xa4, 0x41, 0xee, 0xb9, 0xed, 0x39,
2538	0x2c, 0x06, 0xe6, 0x67, 0x65, 0x49, 0xa0, 0xe8, 0x23, 0x98, 0x0f, 0x4c, 0x6b, 0x34, 0x7b, 0x85,
2539	0xc6, 0x60, 0xea, 0x0b, 0x28, 0xd0, 0xdd, 0xe6, 0xb9, 0x7d, 0x4c, 0xac, 0x08, 0xdd, 0x87, 0xc2,
2540	0xc0, 0x76, 0x8d, 0x6b, 0x6c, 0xce, 0xfc, 0xc0, 0x76, 0xf9, 0x4f, 0x06, 0x32, 0x2f, 0x12, 0x50,
2541	0xf6, 0x55, 0x20, 0xf3, 0x82, 0xff, 0x54, 0x03, 0xc8, 0x57, 0xe9, 0xbd, 0x94, 0xe5, 0x83, 0x3d,
2542	0x58, 0x60, 0x97, 0x54, 0x61, 0x10, 0xa5, 0xb0, 0xac, 0x1b, 0xe6, 0x1d, 0xc6, 0x3b, 0x2a, 0x2b,
2543	0xef, 0xa8, 0x77, 0x60, 0xc5, 0xb7, 0x2f, 0x88, 0x63, 0xf4, 0x02, 0xd3, 0x4a, 0x36, 0x63, 0x16,
2544	0x2f, 0x33, 0xe9, 0x91, 0x10, 0xaa, 0x9f, 0x42, 0xa9, 0xe6, 0x0d, 0x6c, 0xd7, 0x74, 0x23, 0x46,
2545	0x1a, 0x4a, 0x51, 0xf5, 0x23, 0x58, 0x64, 0x16, 0xc2, 0x52, 0x86, 0xc5, 0xec, 0xde, 0x14, 0x4f,
2546	0x26, 0x83, 0xc7, 0x02, 0xa7, 0x86, 0xb0, 0xca, 0xee, 0x48, 0xed, 0x24, 0x86, 0xd1, 0x4f, 0x61,
2547	0xb5, 0x2b, 0x0c, 0x1a, 0x09, 0x3b, 0x9d, 0xe1, 0xf7, 0xa6, 0xb0, 0xbf, 0x6c, 0x98, 0x78, 0xa5,
2548	0x9b, 0xd2, 0xa8, 0xbf, 0xce, 0x40, 0xae, 0x1a, 0x78, 0xfe, 0x89, 0xed, 0x46, 0xff, 0x85, 0xbb,
2549	0x57, 0x3a, 0x55, 0x65, 0x2f, 0xa5, 0xaa, 0x7d, 0x58, 0xb7, 0x07, 0xbe, 0x17, 0x44, 0xa6, 0x6b,
2550	0x91, 0x49, 0xef, 0xa3, 0xb1, 0x2a, 0x59, 0x82, 0x9f, 0xc0, 0x7a, 0x3c, 0x5c, 0xd9, 0xfb, 0x47,
2551	0x00, 0x56, 0xe0, 0xf9, 0xc6, 0x33, 0x2a, 0x17, 0x2b, 0x30, 0x2d, 0x6b, 0xc4, 0x3c, 0x38, 0x6f,
2552	0xc5, 0x8c, 0xea, 0x07, 0xb0, 0x9a, 0xd0, 0xb7, 0xcd, 0xc0, 0x1c, 0x84, 0xe8, 0x6d, 0x58, 0x36,
2553	0x43, 0x9f, 0x58, 0x91, 0xc1, 0x1e, 0x57, 0x38, 0x7b, 0x16, 0x17, 0xb9, 0x10, 0x33, 0x99, 0x5a,
2554	0x03, 0xf4, 0x98, 0x9c, 0xd7, 0xe2, 0x2b, 0x94, 0x80, 0x96, 0x61, 0xdd, 0x76, 0x2d, 0x67, 0xd8,
2555	0x25, 0x46, 0x9f, 0x78, 0xa9, 0xd7, 0x8c, 0x1c, 0x5e, 0x13, 0xaa, 0x63, 0xe2, 0x89, 0x47, 0x0d,
2556	0xf5, 0x0f, 0x59, 0x28, 0xb2, 0x10, 0xa8, 0xd2, 0x3b, 0xf6, 0x45, 0x84, 0x9a, 0xb0, 0xcc, 0x76,
2557	0x85, 0xe7, 0xf6, 0x8d, 0x80, 0x58, 0x91, 0x58, 0x90, 0x69, 0x57, 0x6d, 0x69, 0x47, 0xe2, 0x82,
2558	0x23, 0x6d, 0xcf, 0x77, 0x60, 0xc5, 0x31, 0xdd, 0xfe, 0x90, 0x5e, 0xfb, 0xb9, 0xab, 0xb2, 0xbb,
2559	0x73, 0x7b, 0x79, 0xbc, 0x1c, 0x4b, 0xd9, 0xc4, 0xd1, 0x53, 0x58, 0x1b, 0x7b, 0xd3, 0xf0, 0xd9,
2560	0x64, 0x44, 0xcd, 0x5b, 0xbe, 0xa6, 0x53, 0x85, 0xf7, 0xf0, 0xaa, 0x35, 0xe1, 0x4e, 0x0b, 0x36,
2561	0x52, 0xef, 0x59, 0x31, 0xfd, 0x22, 0xa3, 0xbf, 0x37, 0x85, 0xfe, 0xb2, 0x93, 0x31, 0x7a, 0x71,
2562	0x49, 0xa6, 0xfe, 0x3d, 0x03, 0x1b, 0x22, 0x3a, 0x08, 0x73, 0x28, 0x26, 0x5f, 0x0c, 0x49, 0x18,
2563	0xa1, 0x07, 0xb0, 0xc0, 0xde, 0x38, 0x84, 0x23, 0xff, 0xef, 0x3a, 0x6f, 0x16, 0x98, 0x43, 0xd0,
2564	0x21, 0xe4, 0x7a, 0xfc, 0xa5, 0x8a, 0xbb, 0xad, 0x70, 0xf0, 0xff, 0xd7, 0x7b, 0xd8, 0xc2, 0x09,
2565	0x8e, 0xee, 0x30, 0xfe, 0xe8, 0x62, 0xf1, 0x15, 0x66, 0x91, 0x3e, 0x7d, 0x87, 0xc9, 0x41, 0x81,
2566	0x8b, 0xb6, 0xd4, 0x52, 0x1f, 0xc2, 0x16, 0xd3, 0x8e, 0x37, 0x43, 0x1c, 0x3c, 0x0a, 0xcc, 0x8d,
2567	0x9f, 0x7e, 0xe8, 0x4f, 0x74, 0x07, 0x0a, 0x3e, 0x35, 0xee, 0x0e, 0x07, 0xe7, 0x24, 0x88, 0x5f,
2568	0xd5, 0xa8, 0xa8, 0xc9, 0x24, 0xea, 0x5f, 0x72, 0xb0, 0x39, 0xe1, 0xb7, 0xd0, 0xf7, 0xdc, 0x90,
2569	0xa0, 0x4f, 0x40, 0xe9, 0x99, 0x16, 0x91, 0xde, 0x2e, 0xe3, 0x6d, 0xf6, 0xdd, 0x99, 0xae, 0x56,
2570	0x78, 0xb5, 0x97, 0x6a, 0x87, 0xe8, 0x1c, 0x36, 0xe2, 0x57, 0x84, 0x14, 0x3b, 0x77, 0xf1, 0xfe,
2571	0x14, 0xf6, 0xc9, 0xf2, 0x0b, 0xaf, 0xc7, 0x64, 0xb2, 0x8d, 0xa7, 0xa0, 0x38, 0x5e, 0xdf, 0x4b,
2572	0xf1, 0xcf, 0xbd, 0x1e, 0xff, 0x2a, 0x25, 0x92, 0xb9, 0x3f, 0x85, 0x35, 0xc7, 0x3c, 0x27, 0x4e,
2573	0x8a, 0x7c, 0xfe, 0xf5, 0xc8, 0x15, 0xc6, 0x34, 0x31, 0xf2, 0x89, 0x37, 0xe3, 0xb0, 0xb4, 0xf0,
2574	0x9a, 0x23, 0xa7, 0x44, 0x32, 0xb7, 0x01, 0x1b, 0xbd, 0xa1, 0xe3, 0x18, 0x13, 0x06, 0xd8, 0x3b,
2575	0xc5, 0xf4, 0x75, 0xd5, 0x53, 0x6c, 0x18, 0x51, 0xaa, 0xb4, 0x0c, 0xd9, 0xb0, 0x15, 0x9a, 0x3d,
2576	0x62, 0x84, 0xac, 0x04, 0x93, 0x4d, 0xf0, 0xdd, 0x7e, 0x7f, 0x8a, 0x89, 0xab, 0xca, 0x37, 0xbc,
2577	0x11, 0x5e, 0x55, 0xd4, 0xb9, 0x70, 0x8b, 0x6f, 0xac, 0x71, 0x05, 0x28, 0xdb, 0xcb, 0x5d, 0x2b,
2578	0x79, 0x4d, 0x1c, 0xbf, 0xf8, 0xa6, 0x9d, 0x16, 0x48, 0xf6, 0x7a, 0xb0, 0x29, 0xa5, 0x48, 0xc9,
2579	0x52, 0x81, 0x59, 0x3a, 0xb8, 0x6e, 0x9a, 0x94, 0x23, 0xd7, 0xba, 0xe2, 0x60, 0x6b, 0xc3, 0x72,
2580	0x2a, 0x5d, 0xb2, 0x37, 0x9e, 0xe9, 0x09, 0x43, 0xce, 0x93, 0xb8, 0x28, 0x67, 0x48, 0x5a, 0x2b,
2581	0x91, 0x20, 0xf0, 0x02, 0x56, 0xf1, 0x49, 0xb5, 0x52, 0xe0, 0x5b, 0xe5, 0x0e, 0xfb, 0x06, 0x80,
2582	0x79, 0x07, 0xd4, 0x12, 0x6f, 0xbf, 0x17, 0x51, 0x69, 0x93, 0xf5, 0x7d, 0xff, 0x3a, 0xfe, 0xbb,
2583	0x94, 0x88, 0x70, 0xcc, 0xa2, 0xfe, 0x5e, 0x4a, 0xcb, 0x47, 0xb6, 0x33, 0xce, 0x2e, 0xa7, 0x50,
2584	0xb4, 0x5d, 0x7f, 0x18, 0xf1, 0x17, 0xc6, 0xfe, 0x35, 0x8f, 0xb9, 0x3a, 0x85, 0xb0, 0x67, 0xc7,
2585	0x3e, 0x2e, 0xd8, 0xe3, 0x06, 0xc2, 0x90, 0x0f, 0x04, 0x75, 0x9c, 0x47, 0xde, 0x9b, 0xc2, 0x75,
2586	0x65, 0xd6, 0xc3, 0x63, 0x1a, 0x75, 0x00, 0xdb, 0x87, 0x66, 0x94, 0xc4, 0x1c, 0xef, 0x18, 0xc6,
2587	0xe7, 0x4a, 0x0b, 0x72, 0x01, 0xff, 0x19, 0xa7, 0xc5, 0xfb, 0xb3, 0x19, 0x64, 0x58, 0x9c, 0x90,
2588	0xa8, 0x5f, 0xc0, 0xad, 0x2b, 0xcd, 0x09, 0x87, 0xa5, 0x66, 0x98, 0xf9, 0x66, 0x66, 0xf8, 0xc7,
2589	0x2c, 0x94, 0x2a, 0xe1, 0xc8, 0xb5, 0xd2, 0x4b, 0xc4, 0x27, 0xf8, 0x0d, 0xaf, 0xd0, 0xff, 0xe4,
2590	0x59, 0x4a, 0x19, 0xbd, 0x61, 0x24, 0xcd, 0x72, 0xfe, 0x5a, 0x8c, 0x2d, 0x86, 0x11, 0xd3, 0x2c,
2591	0x7a, 0x52, 0x4b, 0x1d, 0xc0, 0xcd, 0x2b, 0x5c, 0x2a, 0x16, 0xf1, 0x92, 0xb9, 0xcc, 0xd7, 0x35,
2592	0x37, 0x84, 0x37, 0x99, 0xb9, 0x54, 0xe8, 0x50, 0x9b, 0x49, 0xa0, 0x76, 0x2e, 0x05, 0xea, 0xb4,
2593	0xab, 0xc4, 0xcb, 0x42, 0x42, 0x0a, 0xd6, 0x11, 0xdc, 0x79, 0xa9, 0x59, 0x31, 0xd7, 0x47, 0x97,
2594	0x03, 0xf6, 0xfb, 0xb3, 0x1b, 0xbe, 0x1c, 0xb4, 0x21, 0x14, 0xa4, 0x20, 0x43, 0xc7, 0x00, 0x7d,
2595	0x2b, 0x34, 0xc4, 0x87, 0x29, 0xee, 0xcf, 0x69, 0x37, 0xb1, 0x63, 0x2b, 0x14, 0x9f, 0xa5, 0xf2,
2596	0xfd, 0xf8, 0x27, 0xba, 0x05, 0xf9, 0x81, 0x3d, 0x20, 0x06, 0x7b, 0x43, 0x16, 0x5f, 0xc7, 0xa8,
2597	0x40, 0x1f, 0xf9, 0x44, 0xfd, 0x59, 0x06, 0x8a, 0xf2, 0x2a, 0xa0, 0x47, 0xb0, 0x4a, 0xcd, 0x76,
2598	0x49, 0x18, 0xd9, 0x2e, 0x3f, 0x07, 0x32, 0xd7, 0x3a, 0x44, 0x8f, 0xad, 0xb0, 0x36, 0x06, 0xe1,
2599	0x95, 0x7e, 0xaa, 0x8d, 0x76, 0x00, 0xce, 0xa9, 0x4f, 0x8d, 0xd0, 0xfe, 0x92, 0x88, 0x7a, 0x2d,
2600	0xcf, 0x24, 0x1d, 0xfb, 0x4b, 0xa2, 0xee, 0x40, 0x3e, 0x19, 0xfc, 0xe5, 0x72, 0x4f, 0x55, 0x61,
2601	0x25, 0xcd, 0x7f, 0x45, 0x9f, 0xdf, 0x64, 0x61, 0xad, 0x15, 0x7f, 0x37, 0x3e, 0x25, 0x91, 0xd9,
2602	0x35, 0x23, 0x13, 0x35, 0x60, 0x21, 0xa4, 0x5e, 0x17, 0x4f, 0x24, 0xd3, 0xbe, 0x6b, 0x5d, 0x22,
2603	0x60, 0x07, 0x09, 0xc1, 0x9c, 0x04, 0x7d, 0x08, 0x05, 0x2b, 0x20, 0x66, 0x44, 0x8c, 0xc8, 0x1e,
2604	0xf0, 0x07, 0xab, 0xc2, 0xc1, 0x76, 0xcc, 0x19, 0x7f, 0x9c, 0x2e, 0xeb, 0xf1, 0xc7, 0x69, 0x0c,
2605	0xbc, 0x3b, 0x15, 0x50, 0xf0, 0xd0, 0xef, 0x26, 0xe0, 0xc5, 0xe9, 0x60, 0xde, 0x9d, 0x0a, 0xd4,
2606	0x1f, 0xc3, 0x02, 0x1b, 0x09, 0xda, 0x84, 0xb5, 0x8e, 0x5e, 0xd1, 0x27, 0x3f, 0x08, 0x17, 0x60,
2607	0xa9, 0x8a, 0xb5, 0x8a, 0xae, 0xd5, 0x94, 0x0c, 0x6d, 0xe0, 0xb3, 0x66, 0xb3, 0xde, 0x3c, 0x56,
2608	0xb2, 0x28, 0x07, 0xf3, 0xb5, 0x56, 0x53, 0x53, 0xe6, 0xd0, 0x32, 0xe4, 0xab, 0x95, 0x66, 0x55,
2609	0x6b, 0x34, 0xb4, 0x9a, 0x32, 0x7f, 0x97, 0x00, 0x48, 0x9f, 0x33, 0x0a, 0xb0, 0x24, 0x9e, 0xf1,
2610	0x95, 0x37, 0xd0, 0x1a, 0x2c, 0x3f, 0xd2, 0xf0, 0x13, 0xe3, 0xac, 0xd9, 0xa8, 0x3f, 0xd4, 0x1a,
2611	0x4f, 0x94, 0x0c, 0x2a, 0x42, 0x2e, 0x69, 0x65, 0x69, 0xab, 0xdd, 0xea, 0x74, 0xea, 0x87, 0x0d,
2612	0x4a, 0x0c, 0xb0, 0x28, 0x34, 0xf3, 0x68, 0x15, 0x0a, 0x0c, 0x2a, 0x04, 0x0b, 0x07, 0xff, 0xc8,
2613	0xc2, 0x8a, 0x7c, 0x9c, 0x7a, 0x01, 0xfa, 0x6d, 0x06, 0xd6, 0xaf, 0x38, 0x13, 0xd0, 0x0f, 0xa6,
2614	0x5d, 0xcf, 0x5f, 0x7a, 0x6c, 0x6d, 0x3f, 0x78, 0x1d, 0x28, 0xdf, 0x7a, 0xea, 0x3b, 0x5f, 0xfd,
2615	0xe9, 0x6f, 0x3f, 0xcf, 0xde, 0x51, 0xb7, 0x27, 0xff, 0xfd, 0x22, 0x7c, 0x20, 0xca, 0x21, 0xf2,
2616	0x20, 0x73, 0x17, 0xfd, 0x2a, 0x03, 0x37, 0x5e, 0x92, 0x1c, 0xd0, 0x47, 0xd7, 0xc9, 0x00, 0x2f,
2617	0xcd, 0x65, 0xdb, 0x3b, 0x31, 0x5c, 0xfa, 0x27, 0x88, 0x71, 0x2c, 0xaa, 0x65, 0x36, 0xc0, 0x3d,
2618	0xf5, 0x6d, 0x69, 0x80, 0x3d, 0x8a, 0x7f, 0x60, 0x5e, 0xe2, 0x7d, 0x90, 0xb9, 0x7b, 0xf8, 0x55,
2619	0x06, 0xde, 0xb2, 0xbc, 0xc1, 0xab, 0xc7, 0x74, 0xb8, 0x9e, 0x5e, 0x95, 0x36, 0x0d, 0xc0, 0x76,
2620	0xe6, 0x69, 0x55, 0xa0, 0xfa, 0x1e, 0xbd, 0x4a, 0x97, 0xbd, 0xa0, 0xbf, 0xdf, 0x27, 0x2e, 0x0b,
2621	0xcf, 0x7d, 0xae, 0x32, 0x7d, 0x3b, 0x7c, 0xc9, 0x7f, 0x78, 0x7c, 0xc8, 0x05, 0xff, 0xca, 0x64,
2622	0xce, 0x17, 0x19, 0xe4, 0xfe, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa5, 0xcd, 0x74, 0xeb, 0xe8,
2623	0x22, 0x00, 0x00,
2624}
2625
2626// Reference imports to suppress errors if they are not otherwise used.
2627var _ context.Context
2628var _ grpc.ClientConn
2629
2630// This is a compile-time assertion to ensure that this generated file
2631// is compatible with the grpc package it is being compiled against.
2632const _ = grpc.SupportPackageIsVersion4
2633
2634// ImageAnnotatorClient is the client API for ImageAnnotator service.
2635//
2636// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2637type ImageAnnotatorClient interface {
2638	// Run image detection and annotation for a batch of images.
2639	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
2640	// Run async image detection and annotation for a list of generic files (e.g.
2641	// PDF) which may contain multiple pages and multiple images per page.
2642	// Progress and results can be retrieved through the
2643	// `google.longrunning.Operations` interface.
2644	// `Operation.metadata` contains `OperationMetadata` (metadata).
2645	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
2646	AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
2647}
2648
2649type imageAnnotatorClient struct {
2650	cc *grpc.ClientConn
2651}
2652
2653func NewImageAnnotatorClient(cc *grpc.ClientConn) ImageAnnotatorClient {
2654	return &imageAnnotatorClient{cc}
2655}
2656
2657func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
2658	out := new(BatchAnnotateImagesResponse)
2659	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p2beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
2660	if err != nil {
2661		return nil, err
2662	}
2663	return out, nil
2664}
2665
2666func (c *imageAnnotatorClient) AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
2667	out := new(longrunning.Operation)
2668	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p2beta1.ImageAnnotator/AsyncBatchAnnotateFiles", in, out, opts...)
2669	if err != nil {
2670		return nil, err
2671	}
2672	return out, nil
2673}
2674
2675// ImageAnnotatorServer is the server API for ImageAnnotator service.
2676type ImageAnnotatorServer interface {
2677	// Run image detection and annotation for a batch of images.
2678	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
2679	// Run async image detection and annotation for a list of generic files (e.g.
2680	// PDF) which may contain multiple pages and multiple images per page.
2681	// Progress and results can be retrieved through the
2682	// `google.longrunning.Operations` interface.
2683	// `Operation.metadata` contains `OperationMetadata` (metadata).
2684	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
2685	AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error)
2686}
2687
2688// UnimplementedImageAnnotatorServer can be embedded to have forward compatible implementations.
2689type UnimplementedImageAnnotatorServer struct {
2690}
2691
2692func (*UnimplementedImageAnnotatorServer) BatchAnnotateImages(ctx context.Context, req *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) {
2693	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateImages not implemented")
2694}
2695func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateFiles(ctx context.Context, req *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error) {
2696	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateFiles not implemented")
2697}
2698
2699func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
2700	s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
2701}
2702
2703func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2704	in := new(BatchAnnotateImagesRequest)
2705	if err := dec(in); err != nil {
2706		return nil, err
2707	}
2708	if interceptor == nil {
2709		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
2710	}
2711	info := &grpc.UnaryServerInfo{
2712		Server:     srv,
2713		FullMethod: "/google.cloud.vision.v1p2beta1.ImageAnnotator/BatchAnnotateImages",
2714	}
2715	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2716		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
2717	}
2718	return interceptor(ctx, in, info, handler)
2719}
2720
2721func _ImageAnnotator_AsyncBatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2722	in := new(AsyncBatchAnnotateFilesRequest)
2723	if err := dec(in); err != nil {
2724		return nil, err
2725	}
2726	if interceptor == nil {
2727		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, in)
2728	}
2729	info := &grpc.UnaryServerInfo{
2730		Server:     srv,
2731		FullMethod: "/google.cloud.vision.v1p2beta1.ImageAnnotator/AsyncBatchAnnotateFiles",
2732	}
2733	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2734		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, req.(*AsyncBatchAnnotateFilesRequest))
2735	}
2736	return interceptor(ctx, in, info, handler)
2737}
2738
2739var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
2740	ServiceName: "google.cloud.vision.v1p2beta1.ImageAnnotator",
2741	HandlerType: (*ImageAnnotatorServer)(nil),
2742	Methods: []grpc.MethodDesc{
2743		{
2744			MethodName: "BatchAnnotateImages",
2745			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
2746		},
2747		{
2748			MethodName: "AsyncBatchAnnotateFiles",
2749			Handler:    _ImageAnnotator_AsyncBatchAnnotateFiles_Handler,
2750		},
2751	},
2752	Streams:  []grpc.StreamDesc{},
2753	Metadata: "google/cloud/vision/v1p2beta1/image_annotator.proto",
2754}
2755