1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/videointelligence/v1beta2/video_intelligence.proto
3
4package videointelligence // import "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta2"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import duration "github.com/golang/protobuf/ptypes/duration"
10import timestamp "github.com/golang/protobuf/ptypes/timestamp"
11import _ "google.golang.org/genproto/googleapis/api/annotations"
12import longrunning "google.golang.org/genproto/googleapis/longrunning"
13import status "google.golang.org/genproto/googleapis/rpc/status"
14
15import (
16	context "golang.org/x/net/context"
17	grpc "google.golang.org/grpc"
18)
19
20// Reference imports to suppress errors if they are not otherwise used.
21var _ = proto.Marshal
22var _ = fmt.Errorf
23var _ = math.Inf
24
25// This is a compile-time assertion to ensure that this generated file
26// is compatible with the proto package it is being compiled against.
27// A compilation error at this line likely means your copy of the
28// proto package needs to be updated.
29const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
30
31// Video annotation feature.
32type Feature int32
33
34const (
35	// Unspecified.
36	Feature_FEATURE_UNSPECIFIED Feature = 0
37	// Label detection. Detect objects, such as dog or flower.
38	Feature_LABEL_DETECTION Feature = 1
39	// Shot change detection.
40	Feature_SHOT_CHANGE_DETECTION Feature = 2
41	// Explicit content detection.
42	Feature_EXPLICIT_CONTENT_DETECTION Feature = 3
43	// Human face detection and tracking.
44	Feature_FACE_DETECTION Feature = 4
45)
46
47var Feature_name = map[int32]string{
48	0: "FEATURE_UNSPECIFIED",
49	1: "LABEL_DETECTION",
50	2: "SHOT_CHANGE_DETECTION",
51	3: "EXPLICIT_CONTENT_DETECTION",
52	4: "FACE_DETECTION",
53}
54var Feature_value = map[string]int32{
55	"FEATURE_UNSPECIFIED":        0,
56	"LABEL_DETECTION":            1,
57	"SHOT_CHANGE_DETECTION":      2,
58	"EXPLICIT_CONTENT_DETECTION": 3,
59	"FACE_DETECTION":             4,
60}
61
62func (x Feature) String() string {
63	return proto.EnumName(Feature_name, int32(x))
64}
65func (Feature) EnumDescriptor() ([]byte, []int) {
66	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{0}
67}
68
69// Label detection mode.
70type LabelDetectionMode int32
71
72const (
73	// Unspecified.
74	LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED LabelDetectionMode = 0
75	// Detect shot-level labels.
76	LabelDetectionMode_SHOT_MODE LabelDetectionMode = 1
77	// Detect frame-level labels.
78	LabelDetectionMode_FRAME_MODE LabelDetectionMode = 2
79	// Detect both shot-level and frame-level labels.
80	LabelDetectionMode_SHOT_AND_FRAME_MODE LabelDetectionMode = 3
81)
82
83var LabelDetectionMode_name = map[int32]string{
84	0: "LABEL_DETECTION_MODE_UNSPECIFIED",
85	1: "SHOT_MODE",
86	2: "FRAME_MODE",
87	3: "SHOT_AND_FRAME_MODE",
88}
89var LabelDetectionMode_value = map[string]int32{
90	"LABEL_DETECTION_MODE_UNSPECIFIED": 0,
91	"SHOT_MODE":                        1,
92	"FRAME_MODE":                       2,
93	"SHOT_AND_FRAME_MODE":              3,
94}
95
96func (x LabelDetectionMode) String() string {
97	return proto.EnumName(LabelDetectionMode_name, int32(x))
98}
99func (LabelDetectionMode) EnumDescriptor() ([]byte, []int) {
100	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{1}
101}
102
103// Bucketized representation of likelihood.
104type Likelihood int32
105
106const (
107	// Unspecified likelihood.
108	Likelihood_LIKELIHOOD_UNSPECIFIED Likelihood = 0
109	// Very unlikely.
110	Likelihood_VERY_UNLIKELY Likelihood = 1
111	// Unlikely.
112	Likelihood_UNLIKELY Likelihood = 2
113	// Possible.
114	Likelihood_POSSIBLE Likelihood = 3
115	// Likely.
116	Likelihood_LIKELY Likelihood = 4
117	// Very likely.
118	Likelihood_VERY_LIKELY Likelihood = 5
119)
120
121var Likelihood_name = map[int32]string{
122	0: "LIKELIHOOD_UNSPECIFIED",
123	1: "VERY_UNLIKELY",
124	2: "UNLIKELY",
125	3: "POSSIBLE",
126	4: "LIKELY",
127	5: "VERY_LIKELY",
128}
129var Likelihood_value = map[string]int32{
130	"LIKELIHOOD_UNSPECIFIED": 0,
131	"VERY_UNLIKELY":          1,
132	"UNLIKELY":               2,
133	"POSSIBLE":               3,
134	"LIKELY":                 4,
135	"VERY_LIKELY":            5,
136}
137
138func (x Likelihood) String() string {
139	return proto.EnumName(Likelihood_name, int32(x))
140}
141func (Likelihood) EnumDescriptor() ([]byte, []int) {
142	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{2}
143}
144
145// Video annotation request.
146type AnnotateVideoRequest struct {
147	// Input video location. Currently, only
148	// [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
149	// supported, which must be specified in the following format:
150	// `gs://bucket-id/object-id` (other URI formats return
151	// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
152	// [Request URIs](/storage/docs/reference-uris).
153	// A video URI may include wildcards in `object-id`, and thus identify
154	// multiple videos. Supported wildcards: '*' to match 0 or more characters;
155	// '?' to match 1 character. If unset, the input video should be embedded
156	// in the request as `input_content`. If set, `input_content` should be unset.
157	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
158	// The video data bytes.
159	// If unset, the input video(s) should be specified via `input_uri`.
160	// If set, `input_uri` should be unset.
161	InputContent []byte `protobuf:"bytes,6,opt,name=input_content,json=inputContent,proto3" json:"input_content,omitempty"`
162	// Requested video annotation features.
163	Features []Feature `protobuf:"varint,2,rep,packed,name=features,proto3,enum=google.cloud.videointelligence.v1beta2.Feature" json:"features,omitempty"`
164	// Additional video context and/or feature-specific parameters.
165	VideoContext *VideoContext `protobuf:"bytes,3,opt,name=video_context,json=videoContext,proto3" json:"video_context,omitempty"`
166	// Optional location where the output (in JSON format) should be stored.
167	// Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
168	// URIs are supported, which must be specified in the following format:
169	// `gs://bucket-id/object-id` (other URI formats return
170	// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
171	// [Request URIs](/storage/docs/reference-uris).
172	OutputUri string `protobuf:"bytes,4,opt,name=output_uri,json=outputUri,proto3" json:"output_uri,omitempty"`
173	// Optional cloud region where annotation should take place. Supported cloud
174	// regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
175	// is specified, a region will be determined based on video file location.
176	LocationId           string   `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
177	XXX_NoUnkeyedLiteral struct{} `json:"-"`
178	XXX_unrecognized     []byte   `json:"-"`
179	XXX_sizecache        int32    `json:"-"`
180}
181
182func (m *AnnotateVideoRequest) Reset()         { *m = AnnotateVideoRequest{} }
183func (m *AnnotateVideoRequest) String() string { return proto.CompactTextString(m) }
184func (*AnnotateVideoRequest) ProtoMessage()    {}
185func (*AnnotateVideoRequest) Descriptor() ([]byte, []int) {
186	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{0}
187}
188func (m *AnnotateVideoRequest) XXX_Unmarshal(b []byte) error {
189	return xxx_messageInfo_AnnotateVideoRequest.Unmarshal(m, b)
190}
191func (m *AnnotateVideoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
192	return xxx_messageInfo_AnnotateVideoRequest.Marshal(b, m, deterministic)
193}
194func (dst *AnnotateVideoRequest) XXX_Merge(src proto.Message) {
195	xxx_messageInfo_AnnotateVideoRequest.Merge(dst, src)
196}
197func (m *AnnotateVideoRequest) XXX_Size() int {
198	return xxx_messageInfo_AnnotateVideoRequest.Size(m)
199}
200func (m *AnnotateVideoRequest) XXX_DiscardUnknown() {
201	xxx_messageInfo_AnnotateVideoRequest.DiscardUnknown(m)
202}
203
204var xxx_messageInfo_AnnotateVideoRequest proto.InternalMessageInfo
205
206func (m *AnnotateVideoRequest) GetInputUri() string {
207	if m != nil {
208		return m.InputUri
209	}
210	return ""
211}
212
213func (m *AnnotateVideoRequest) GetInputContent() []byte {
214	if m != nil {
215		return m.InputContent
216	}
217	return nil
218}
219
220func (m *AnnotateVideoRequest) GetFeatures() []Feature {
221	if m != nil {
222		return m.Features
223	}
224	return nil
225}
226
227func (m *AnnotateVideoRequest) GetVideoContext() *VideoContext {
228	if m != nil {
229		return m.VideoContext
230	}
231	return nil
232}
233
234func (m *AnnotateVideoRequest) GetOutputUri() string {
235	if m != nil {
236		return m.OutputUri
237	}
238	return ""
239}
240
241func (m *AnnotateVideoRequest) GetLocationId() string {
242	if m != nil {
243		return m.LocationId
244	}
245	return ""
246}
247
248// Video context and/or feature-specific parameters.
249type VideoContext struct {
250	// Video segments to annotate. The segments may overlap and are not required
251	// to be contiguous or span the whole video. If unspecified, each video
252	// is treated as a single segment.
253	Segments []*VideoSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
254	// Config for LABEL_DETECTION.
255	LabelDetectionConfig *LabelDetectionConfig `protobuf:"bytes,2,opt,name=label_detection_config,json=labelDetectionConfig,proto3" json:"label_detection_config,omitempty"`
256	// Config for SHOT_CHANGE_DETECTION.
257	ShotChangeDetectionConfig *ShotChangeDetectionConfig `protobuf:"bytes,3,opt,name=shot_change_detection_config,json=shotChangeDetectionConfig,proto3" json:"shot_change_detection_config,omitempty"`
258	// Config for EXPLICIT_CONTENT_DETECTION.
259	ExplicitContentDetectionConfig *ExplicitContentDetectionConfig `protobuf:"bytes,4,opt,name=explicit_content_detection_config,json=explicitContentDetectionConfig,proto3" json:"explicit_content_detection_config,omitempty"`
260	// Config for FACE_DETECTION.
261	FaceDetectionConfig  *FaceDetectionConfig `protobuf:"bytes,5,opt,name=face_detection_config,json=faceDetectionConfig,proto3" json:"face_detection_config,omitempty"`
262	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
263	XXX_unrecognized     []byte               `json:"-"`
264	XXX_sizecache        int32                `json:"-"`
265}
266
267func (m *VideoContext) Reset()         { *m = VideoContext{} }
268func (m *VideoContext) String() string { return proto.CompactTextString(m) }
269func (*VideoContext) ProtoMessage()    {}
270func (*VideoContext) Descriptor() ([]byte, []int) {
271	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{1}
272}
273func (m *VideoContext) XXX_Unmarshal(b []byte) error {
274	return xxx_messageInfo_VideoContext.Unmarshal(m, b)
275}
276func (m *VideoContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
277	return xxx_messageInfo_VideoContext.Marshal(b, m, deterministic)
278}
279func (dst *VideoContext) XXX_Merge(src proto.Message) {
280	xxx_messageInfo_VideoContext.Merge(dst, src)
281}
282func (m *VideoContext) XXX_Size() int {
283	return xxx_messageInfo_VideoContext.Size(m)
284}
285func (m *VideoContext) XXX_DiscardUnknown() {
286	xxx_messageInfo_VideoContext.DiscardUnknown(m)
287}
288
289var xxx_messageInfo_VideoContext proto.InternalMessageInfo
290
291func (m *VideoContext) GetSegments() []*VideoSegment {
292	if m != nil {
293		return m.Segments
294	}
295	return nil
296}
297
298func (m *VideoContext) GetLabelDetectionConfig() *LabelDetectionConfig {
299	if m != nil {
300		return m.LabelDetectionConfig
301	}
302	return nil
303}
304
305func (m *VideoContext) GetShotChangeDetectionConfig() *ShotChangeDetectionConfig {
306	if m != nil {
307		return m.ShotChangeDetectionConfig
308	}
309	return nil
310}
311
312func (m *VideoContext) GetExplicitContentDetectionConfig() *ExplicitContentDetectionConfig {
313	if m != nil {
314		return m.ExplicitContentDetectionConfig
315	}
316	return nil
317}
318
319func (m *VideoContext) GetFaceDetectionConfig() *FaceDetectionConfig {
320	if m != nil {
321		return m.FaceDetectionConfig
322	}
323	return nil
324}
325
326// Config for LABEL_DETECTION.
327type LabelDetectionConfig struct {
328	// What labels should be detected with LABEL_DETECTION, in addition to
329	// video-level labels or segment-level labels.
330	// If unspecified, defaults to `SHOT_MODE`.
331	LabelDetectionMode LabelDetectionMode `protobuf:"varint,1,opt,name=label_detection_mode,json=labelDetectionMode,proto3,enum=google.cloud.videointelligence.v1beta2.LabelDetectionMode" json:"label_detection_mode,omitempty"`
332	// Whether the video has been shot from a stationary (i.e. non-moving) camera.
333	// When set to true, might improve detection accuracy for moving objects.
334	// Should be used with `SHOT_AND_FRAME_MODE` enabled.
335	StationaryCamera bool `protobuf:"varint,2,opt,name=stationary_camera,json=stationaryCamera,proto3" json:"stationary_camera,omitempty"`
336	// Model to use for label detection.
337	// Supported values: "builtin/stable" (the default if unset) and
338	// "builtin/latest".
339	Model                string   `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
340	XXX_NoUnkeyedLiteral struct{} `json:"-"`
341	XXX_unrecognized     []byte   `json:"-"`
342	XXX_sizecache        int32    `json:"-"`
343}
344
345func (m *LabelDetectionConfig) Reset()         { *m = LabelDetectionConfig{} }
346func (m *LabelDetectionConfig) String() string { return proto.CompactTextString(m) }
347func (*LabelDetectionConfig) ProtoMessage()    {}
348func (*LabelDetectionConfig) Descriptor() ([]byte, []int) {
349	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{2}
350}
351func (m *LabelDetectionConfig) XXX_Unmarshal(b []byte) error {
352	return xxx_messageInfo_LabelDetectionConfig.Unmarshal(m, b)
353}
354func (m *LabelDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
355	return xxx_messageInfo_LabelDetectionConfig.Marshal(b, m, deterministic)
356}
357func (dst *LabelDetectionConfig) XXX_Merge(src proto.Message) {
358	xxx_messageInfo_LabelDetectionConfig.Merge(dst, src)
359}
360func (m *LabelDetectionConfig) XXX_Size() int {
361	return xxx_messageInfo_LabelDetectionConfig.Size(m)
362}
363func (m *LabelDetectionConfig) XXX_DiscardUnknown() {
364	xxx_messageInfo_LabelDetectionConfig.DiscardUnknown(m)
365}
366
367var xxx_messageInfo_LabelDetectionConfig proto.InternalMessageInfo
368
369func (m *LabelDetectionConfig) GetLabelDetectionMode() LabelDetectionMode {
370	if m != nil {
371		return m.LabelDetectionMode
372	}
373	return LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED
374}
375
376func (m *LabelDetectionConfig) GetStationaryCamera() bool {
377	if m != nil {
378		return m.StationaryCamera
379	}
380	return false
381}
382
383func (m *LabelDetectionConfig) GetModel() string {
384	if m != nil {
385		return m.Model
386	}
387	return ""
388}
389
390// Config for SHOT_CHANGE_DETECTION.
391type ShotChangeDetectionConfig struct {
392	// Model to use for shot change detection.
393	// Supported values: "builtin/stable" (the default if unset) and
394	// "builtin/latest".
395	Model                string   `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
396	XXX_NoUnkeyedLiteral struct{} `json:"-"`
397	XXX_unrecognized     []byte   `json:"-"`
398	XXX_sizecache        int32    `json:"-"`
399}
400
401func (m *ShotChangeDetectionConfig) Reset()         { *m = ShotChangeDetectionConfig{} }
402func (m *ShotChangeDetectionConfig) String() string { return proto.CompactTextString(m) }
403func (*ShotChangeDetectionConfig) ProtoMessage()    {}
404func (*ShotChangeDetectionConfig) Descriptor() ([]byte, []int) {
405	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{3}
406}
407func (m *ShotChangeDetectionConfig) XXX_Unmarshal(b []byte) error {
408	return xxx_messageInfo_ShotChangeDetectionConfig.Unmarshal(m, b)
409}
410func (m *ShotChangeDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
411	return xxx_messageInfo_ShotChangeDetectionConfig.Marshal(b, m, deterministic)
412}
413func (dst *ShotChangeDetectionConfig) XXX_Merge(src proto.Message) {
414	xxx_messageInfo_ShotChangeDetectionConfig.Merge(dst, src)
415}
416func (m *ShotChangeDetectionConfig) XXX_Size() int {
417	return xxx_messageInfo_ShotChangeDetectionConfig.Size(m)
418}
419func (m *ShotChangeDetectionConfig) XXX_DiscardUnknown() {
420	xxx_messageInfo_ShotChangeDetectionConfig.DiscardUnknown(m)
421}
422
423var xxx_messageInfo_ShotChangeDetectionConfig proto.InternalMessageInfo
424
425func (m *ShotChangeDetectionConfig) GetModel() string {
426	if m != nil {
427		return m.Model
428	}
429	return ""
430}
431
432// Config for EXPLICIT_CONTENT_DETECTION.
433type ExplicitContentDetectionConfig struct {
434	// Model to use for explicit content detection.
435	// Supported values: "builtin/stable" (the default if unset) and
436	// "builtin/latest".
437	Model                string   `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
438	XXX_NoUnkeyedLiteral struct{} `json:"-"`
439	XXX_unrecognized     []byte   `json:"-"`
440	XXX_sizecache        int32    `json:"-"`
441}
442
443func (m *ExplicitContentDetectionConfig) Reset()         { *m = ExplicitContentDetectionConfig{} }
444func (m *ExplicitContentDetectionConfig) String() string { return proto.CompactTextString(m) }
445func (*ExplicitContentDetectionConfig) ProtoMessage()    {}
446func (*ExplicitContentDetectionConfig) Descriptor() ([]byte, []int) {
447	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{4}
448}
449func (m *ExplicitContentDetectionConfig) XXX_Unmarshal(b []byte) error {
450	return xxx_messageInfo_ExplicitContentDetectionConfig.Unmarshal(m, b)
451}
452func (m *ExplicitContentDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
453	return xxx_messageInfo_ExplicitContentDetectionConfig.Marshal(b, m, deterministic)
454}
455func (dst *ExplicitContentDetectionConfig) XXX_Merge(src proto.Message) {
456	xxx_messageInfo_ExplicitContentDetectionConfig.Merge(dst, src)
457}
458func (m *ExplicitContentDetectionConfig) XXX_Size() int {
459	return xxx_messageInfo_ExplicitContentDetectionConfig.Size(m)
460}
461func (m *ExplicitContentDetectionConfig) XXX_DiscardUnknown() {
462	xxx_messageInfo_ExplicitContentDetectionConfig.DiscardUnknown(m)
463}
464
465var xxx_messageInfo_ExplicitContentDetectionConfig proto.InternalMessageInfo
466
467func (m *ExplicitContentDetectionConfig) GetModel() string {
468	if m != nil {
469		return m.Model
470	}
471	return ""
472}
473
474// Config for FACE_DETECTION.
475type FaceDetectionConfig struct {
476	// Model to use for face detection.
477	// Supported values: "builtin/stable" (the default if unset) and
478	// "builtin/latest".
479	Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
480	// Whether bounding boxes be included in the face annotation output.
481	IncludeBoundingBoxes bool     `protobuf:"varint,2,opt,name=include_bounding_boxes,json=includeBoundingBoxes,proto3" json:"include_bounding_boxes,omitempty"`
482	XXX_NoUnkeyedLiteral struct{} `json:"-"`
483	XXX_unrecognized     []byte   `json:"-"`
484	XXX_sizecache        int32    `json:"-"`
485}
486
487func (m *FaceDetectionConfig) Reset()         { *m = FaceDetectionConfig{} }
488func (m *FaceDetectionConfig) String() string { return proto.CompactTextString(m) }
489func (*FaceDetectionConfig) ProtoMessage()    {}
490func (*FaceDetectionConfig) Descriptor() ([]byte, []int) {
491	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{5}
492}
493func (m *FaceDetectionConfig) XXX_Unmarshal(b []byte) error {
494	return xxx_messageInfo_FaceDetectionConfig.Unmarshal(m, b)
495}
496func (m *FaceDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
497	return xxx_messageInfo_FaceDetectionConfig.Marshal(b, m, deterministic)
498}
499func (dst *FaceDetectionConfig) XXX_Merge(src proto.Message) {
500	xxx_messageInfo_FaceDetectionConfig.Merge(dst, src)
501}
502func (m *FaceDetectionConfig) XXX_Size() int {
503	return xxx_messageInfo_FaceDetectionConfig.Size(m)
504}
505func (m *FaceDetectionConfig) XXX_DiscardUnknown() {
506	xxx_messageInfo_FaceDetectionConfig.DiscardUnknown(m)
507}
508
509var xxx_messageInfo_FaceDetectionConfig proto.InternalMessageInfo
510
511func (m *FaceDetectionConfig) GetModel() string {
512	if m != nil {
513		return m.Model
514	}
515	return ""
516}
517
518func (m *FaceDetectionConfig) GetIncludeBoundingBoxes() bool {
519	if m != nil {
520		return m.IncludeBoundingBoxes
521	}
522	return false
523}
524
525// Video segment.
526type VideoSegment struct {
527	// Time-offset, relative to the beginning of the video,
528	// corresponding to the start of the segment (inclusive).
529	StartTimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=start_time_offset,json=startTimeOffset,proto3" json:"start_time_offset,omitempty"`
530	// Time-offset, relative to the beginning of the video,
531	// corresponding to the end of the segment (inclusive).
532	EndTimeOffset        *duration.Duration `protobuf:"bytes,2,opt,name=end_time_offset,json=endTimeOffset,proto3" json:"end_time_offset,omitempty"`
533	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
534	XXX_unrecognized     []byte             `json:"-"`
535	XXX_sizecache        int32              `json:"-"`
536}
537
538func (m *VideoSegment) Reset()         { *m = VideoSegment{} }
539func (m *VideoSegment) String() string { return proto.CompactTextString(m) }
540func (*VideoSegment) ProtoMessage()    {}
541func (*VideoSegment) Descriptor() ([]byte, []int) {
542	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{6}
543}
544func (m *VideoSegment) XXX_Unmarshal(b []byte) error {
545	return xxx_messageInfo_VideoSegment.Unmarshal(m, b)
546}
547func (m *VideoSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
548	return xxx_messageInfo_VideoSegment.Marshal(b, m, deterministic)
549}
550func (dst *VideoSegment) XXX_Merge(src proto.Message) {
551	xxx_messageInfo_VideoSegment.Merge(dst, src)
552}
553func (m *VideoSegment) XXX_Size() int {
554	return xxx_messageInfo_VideoSegment.Size(m)
555}
556func (m *VideoSegment) XXX_DiscardUnknown() {
557	xxx_messageInfo_VideoSegment.DiscardUnknown(m)
558}
559
560var xxx_messageInfo_VideoSegment proto.InternalMessageInfo
561
562func (m *VideoSegment) GetStartTimeOffset() *duration.Duration {
563	if m != nil {
564		return m.StartTimeOffset
565	}
566	return nil
567}
568
569func (m *VideoSegment) GetEndTimeOffset() *duration.Duration {
570	if m != nil {
571		return m.EndTimeOffset
572	}
573	return nil
574}
575
576// Video segment level annotation results for label detection.
577type LabelSegment struct {
578	// Video segment where a label was detected.
579	Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"`
580	// Confidence that the label is accurate. Range: [0, 1].
581	Confidence           float32  `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
582	XXX_NoUnkeyedLiteral struct{} `json:"-"`
583	XXX_unrecognized     []byte   `json:"-"`
584	XXX_sizecache        int32    `json:"-"`
585}
586
587func (m *LabelSegment) Reset()         { *m = LabelSegment{} }
588func (m *LabelSegment) String() string { return proto.CompactTextString(m) }
589func (*LabelSegment) ProtoMessage()    {}
590func (*LabelSegment) Descriptor() ([]byte, []int) {
591	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{7}
592}
593func (m *LabelSegment) XXX_Unmarshal(b []byte) error {
594	return xxx_messageInfo_LabelSegment.Unmarshal(m, b)
595}
596func (m *LabelSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
597	return xxx_messageInfo_LabelSegment.Marshal(b, m, deterministic)
598}
599func (dst *LabelSegment) XXX_Merge(src proto.Message) {
600	xxx_messageInfo_LabelSegment.Merge(dst, src)
601}
602func (m *LabelSegment) XXX_Size() int {
603	return xxx_messageInfo_LabelSegment.Size(m)
604}
605func (m *LabelSegment) XXX_DiscardUnknown() {
606	xxx_messageInfo_LabelSegment.DiscardUnknown(m)
607}
608
609var xxx_messageInfo_LabelSegment proto.InternalMessageInfo
610
611func (m *LabelSegment) GetSegment() *VideoSegment {
612	if m != nil {
613		return m.Segment
614	}
615	return nil
616}
617
618func (m *LabelSegment) GetConfidence() float32 {
619	if m != nil {
620		return m.Confidence
621	}
622	return 0
623}
624
625// Video frame level annotation results for label detection.
626type LabelFrame struct {
627	// Time-offset, relative to the beginning of the video, corresponding to the
628	// video frame for this location.
629	TimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
630	// Confidence that the label is accurate. Range: [0, 1].
631	Confidence           float32  `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
632	XXX_NoUnkeyedLiteral struct{} `json:"-"`
633	XXX_unrecognized     []byte   `json:"-"`
634	XXX_sizecache        int32    `json:"-"`
635}
636
637func (m *LabelFrame) Reset()         { *m = LabelFrame{} }
638func (m *LabelFrame) String() string { return proto.CompactTextString(m) }
639func (*LabelFrame) ProtoMessage()    {}
640func (*LabelFrame) Descriptor() ([]byte, []int) {
641	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{8}
642}
643func (m *LabelFrame) XXX_Unmarshal(b []byte) error {
644	return xxx_messageInfo_LabelFrame.Unmarshal(m, b)
645}
646func (m *LabelFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
647	return xxx_messageInfo_LabelFrame.Marshal(b, m, deterministic)
648}
649func (dst *LabelFrame) XXX_Merge(src proto.Message) {
650	xxx_messageInfo_LabelFrame.Merge(dst, src)
651}
652func (m *LabelFrame) XXX_Size() int {
653	return xxx_messageInfo_LabelFrame.Size(m)
654}
655func (m *LabelFrame) XXX_DiscardUnknown() {
656	xxx_messageInfo_LabelFrame.DiscardUnknown(m)
657}
658
659var xxx_messageInfo_LabelFrame proto.InternalMessageInfo
660
661func (m *LabelFrame) GetTimeOffset() *duration.Duration {
662	if m != nil {
663		return m.TimeOffset
664	}
665	return nil
666}
667
668func (m *LabelFrame) GetConfidence() float32 {
669	if m != nil {
670		return m.Confidence
671	}
672	return 0
673}
674
675// Detected entity from video analysis.
676type Entity struct {
677	// Opaque entity ID. Some IDs may be available in
678	// [Google Knowledge Graph Search
679	// API](https://developers.google.com/knowledge-graph/).
680	EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
681	// Textual description, e.g. `Fixed-gear bicycle`.
682	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
683	// Language code for `description` in BCP-47 format.
684	LanguageCode         string   `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
685	XXX_NoUnkeyedLiteral struct{} `json:"-"`
686	XXX_unrecognized     []byte   `json:"-"`
687	XXX_sizecache        int32    `json:"-"`
688}
689
690func (m *Entity) Reset()         { *m = Entity{} }
691func (m *Entity) String() string { return proto.CompactTextString(m) }
692func (*Entity) ProtoMessage()    {}
693func (*Entity) Descriptor() ([]byte, []int) {
694	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{9}
695}
696func (m *Entity) XXX_Unmarshal(b []byte) error {
697	return xxx_messageInfo_Entity.Unmarshal(m, b)
698}
699func (m *Entity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
700	return xxx_messageInfo_Entity.Marshal(b, m, deterministic)
701}
702func (dst *Entity) XXX_Merge(src proto.Message) {
703	xxx_messageInfo_Entity.Merge(dst, src)
704}
705func (m *Entity) XXX_Size() int {
706	return xxx_messageInfo_Entity.Size(m)
707}
708func (m *Entity) XXX_DiscardUnknown() {
709	xxx_messageInfo_Entity.DiscardUnknown(m)
710}
711
712var xxx_messageInfo_Entity proto.InternalMessageInfo
713
714func (m *Entity) GetEntityId() string {
715	if m != nil {
716		return m.EntityId
717	}
718	return ""
719}
720
721func (m *Entity) GetDescription() string {
722	if m != nil {
723		return m.Description
724	}
725	return ""
726}
727
728func (m *Entity) GetLanguageCode() string {
729	if m != nil {
730		return m.LanguageCode
731	}
732	return ""
733}
734
735// Label annotation.
736type LabelAnnotation struct {
737	// Detected entity.
738	Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
739	// Common categories for the detected entity.
740	// E.g. when the label is `Terrier` the category is likely `dog`. And in some
741	// cases there might be more than one categories e.g. `Terrier` could also be
742	// a `pet`.
743	CategoryEntities []*Entity `protobuf:"bytes,2,rep,name=category_entities,json=categoryEntities,proto3" json:"category_entities,omitempty"`
744	// All video segments where a label was detected.
745	Segments []*LabelSegment `protobuf:"bytes,3,rep,name=segments,proto3" json:"segments,omitempty"`
746	// All video frames where a label was detected.
747	Frames               []*LabelFrame `protobuf:"bytes,4,rep,name=frames,proto3" json:"frames,omitempty"`
748	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
749	XXX_unrecognized     []byte        `json:"-"`
750	XXX_sizecache        int32         `json:"-"`
751}
752
753func (m *LabelAnnotation) Reset()         { *m = LabelAnnotation{} }
754func (m *LabelAnnotation) String() string { return proto.CompactTextString(m) }
755func (*LabelAnnotation) ProtoMessage()    {}
756func (*LabelAnnotation) Descriptor() ([]byte, []int) {
757	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{10}
758}
759func (m *LabelAnnotation) XXX_Unmarshal(b []byte) error {
760	return xxx_messageInfo_LabelAnnotation.Unmarshal(m, b)
761}
762func (m *LabelAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
763	return xxx_messageInfo_LabelAnnotation.Marshal(b, m, deterministic)
764}
765func (dst *LabelAnnotation) XXX_Merge(src proto.Message) {
766	xxx_messageInfo_LabelAnnotation.Merge(dst, src)
767}
768func (m *LabelAnnotation) XXX_Size() int {
769	return xxx_messageInfo_LabelAnnotation.Size(m)
770}
771func (m *LabelAnnotation) XXX_DiscardUnknown() {
772	xxx_messageInfo_LabelAnnotation.DiscardUnknown(m)
773}
774
775var xxx_messageInfo_LabelAnnotation proto.InternalMessageInfo
776
777func (m *LabelAnnotation) GetEntity() *Entity {
778	if m != nil {
779		return m.Entity
780	}
781	return nil
782}
783
784func (m *LabelAnnotation) GetCategoryEntities() []*Entity {
785	if m != nil {
786		return m.CategoryEntities
787	}
788	return nil
789}
790
791func (m *LabelAnnotation) GetSegments() []*LabelSegment {
792	if m != nil {
793		return m.Segments
794	}
795	return nil
796}
797
798func (m *LabelAnnotation) GetFrames() []*LabelFrame {
799	if m != nil {
800		return m.Frames
801	}
802	return nil
803}
804
805// Video frame level annotation results for explicit content.
806type ExplicitContentFrame struct {
807	// Time-offset, relative to the beginning of the video, corresponding to the
808	// video frame for this location.
809	TimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
810	// Likelihood of the pornography content..
811	PornographyLikelihood Likelihood `protobuf:"varint,2,opt,name=pornography_likelihood,json=pornographyLikelihood,proto3,enum=google.cloud.videointelligence.v1beta2.Likelihood" json:"pornography_likelihood,omitempty"`
812	XXX_NoUnkeyedLiteral  struct{}   `json:"-"`
813	XXX_unrecognized      []byte     `json:"-"`
814	XXX_sizecache         int32      `json:"-"`
815}
816
817func (m *ExplicitContentFrame) Reset()         { *m = ExplicitContentFrame{} }
818func (m *ExplicitContentFrame) String() string { return proto.CompactTextString(m) }
819func (*ExplicitContentFrame) ProtoMessage()    {}
820func (*ExplicitContentFrame) Descriptor() ([]byte, []int) {
821	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{11}
822}
823func (m *ExplicitContentFrame) XXX_Unmarshal(b []byte) error {
824	return xxx_messageInfo_ExplicitContentFrame.Unmarshal(m, b)
825}
826func (m *ExplicitContentFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
827	return xxx_messageInfo_ExplicitContentFrame.Marshal(b, m, deterministic)
828}
829func (dst *ExplicitContentFrame) XXX_Merge(src proto.Message) {
830	xxx_messageInfo_ExplicitContentFrame.Merge(dst, src)
831}
832func (m *ExplicitContentFrame) XXX_Size() int {
833	return xxx_messageInfo_ExplicitContentFrame.Size(m)
834}
835func (m *ExplicitContentFrame) XXX_DiscardUnknown() {
836	xxx_messageInfo_ExplicitContentFrame.DiscardUnknown(m)
837}
838
839var xxx_messageInfo_ExplicitContentFrame proto.InternalMessageInfo
840
841func (m *ExplicitContentFrame) GetTimeOffset() *duration.Duration {
842	if m != nil {
843		return m.TimeOffset
844	}
845	return nil
846}
847
848func (m *ExplicitContentFrame) GetPornographyLikelihood() Likelihood {
849	if m != nil {
850		return m.PornographyLikelihood
851	}
852	return Likelihood_LIKELIHOOD_UNSPECIFIED
853}
854
855// Explicit content annotation (based on per-frame visual signals only).
856// If no explicit content has been detected in a frame, no annotations are
857// present for that frame.
858type ExplicitContentAnnotation struct {
859	// All video frames where explicit content was detected.
860	Frames               []*ExplicitContentFrame `protobuf:"bytes,1,rep,name=frames,proto3" json:"frames,omitempty"`
861	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
862	XXX_unrecognized     []byte                  `json:"-"`
863	XXX_sizecache        int32                   `json:"-"`
864}
865
866func (m *ExplicitContentAnnotation) Reset()         { *m = ExplicitContentAnnotation{} }
867func (m *ExplicitContentAnnotation) String() string { return proto.CompactTextString(m) }
868func (*ExplicitContentAnnotation) ProtoMessage()    {}
869func (*ExplicitContentAnnotation) Descriptor() ([]byte, []int) {
870	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{12}
871}
872func (m *ExplicitContentAnnotation) XXX_Unmarshal(b []byte) error {
873	return xxx_messageInfo_ExplicitContentAnnotation.Unmarshal(m, b)
874}
875func (m *ExplicitContentAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
876	return xxx_messageInfo_ExplicitContentAnnotation.Marshal(b, m, deterministic)
877}
878func (dst *ExplicitContentAnnotation) XXX_Merge(src proto.Message) {
879	xxx_messageInfo_ExplicitContentAnnotation.Merge(dst, src)
880}
881func (m *ExplicitContentAnnotation) XXX_Size() int {
882	return xxx_messageInfo_ExplicitContentAnnotation.Size(m)
883}
884func (m *ExplicitContentAnnotation) XXX_DiscardUnknown() {
885	xxx_messageInfo_ExplicitContentAnnotation.DiscardUnknown(m)
886}
887
888var xxx_messageInfo_ExplicitContentAnnotation proto.InternalMessageInfo
889
890func (m *ExplicitContentAnnotation) GetFrames() []*ExplicitContentFrame {
891	if m != nil {
892		return m.Frames
893	}
894	return nil
895}
896
897// Normalized bounding box.
898// The normalized vertex coordinates are relative to the original image.
899// Range: [0, 1].
900type NormalizedBoundingBox struct {
901	// Left X coordinate.
902	Left float32 `protobuf:"fixed32,1,opt,name=left,proto3" json:"left,omitempty"`
903	// Top Y coordinate.
904	Top float32 `protobuf:"fixed32,2,opt,name=top,proto3" json:"top,omitempty"`
905	// Right X coordinate.
906	Right float32 `protobuf:"fixed32,3,opt,name=right,proto3" json:"right,omitempty"`
907	// Bottom Y coordinate.
908	Bottom               float32  `protobuf:"fixed32,4,opt,name=bottom,proto3" json:"bottom,omitempty"`
909	XXX_NoUnkeyedLiteral struct{} `json:"-"`
910	XXX_unrecognized     []byte   `json:"-"`
911	XXX_sizecache        int32    `json:"-"`
912}
913
914func (m *NormalizedBoundingBox) Reset()         { *m = NormalizedBoundingBox{} }
915func (m *NormalizedBoundingBox) String() string { return proto.CompactTextString(m) }
916func (*NormalizedBoundingBox) ProtoMessage()    {}
917func (*NormalizedBoundingBox) Descriptor() ([]byte, []int) {
918	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{13}
919}
920func (m *NormalizedBoundingBox) XXX_Unmarshal(b []byte) error {
921	return xxx_messageInfo_NormalizedBoundingBox.Unmarshal(m, b)
922}
923func (m *NormalizedBoundingBox) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
924	return xxx_messageInfo_NormalizedBoundingBox.Marshal(b, m, deterministic)
925}
926func (dst *NormalizedBoundingBox) XXX_Merge(src proto.Message) {
927	xxx_messageInfo_NormalizedBoundingBox.Merge(dst, src)
928}
929func (m *NormalizedBoundingBox) XXX_Size() int {
930	return xxx_messageInfo_NormalizedBoundingBox.Size(m)
931}
932func (m *NormalizedBoundingBox) XXX_DiscardUnknown() {
933	xxx_messageInfo_NormalizedBoundingBox.DiscardUnknown(m)
934}
935
936var xxx_messageInfo_NormalizedBoundingBox proto.InternalMessageInfo
937
938func (m *NormalizedBoundingBox) GetLeft() float32 {
939	if m != nil {
940		return m.Left
941	}
942	return 0
943}
944
945func (m *NormalizedBoundingBox) GetTop() float32 {
946	if m != nil {
947		return m.Top
948	}
949	return 0
950}
951
952func (m *NormalizedBoundingBox) GetRight() float32 {
953	if m != nil {
954		return m.Right
955	}
956	return 0
957}
958
959func (m *NormalizedBoundingBox) GetBottom() float32 {
960	if m != nil {
961		return m.Bottom
962	}
963	return 0
964}
965
966// Video segment level annotation results for face detection.
967type FaceSegment struct {
968	// Video segment where a face was detected.
969	Segment              *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"`
970	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
971	XXX_unrecognized     []byte        `json:"-"`
972	XXX_sizecache        int32         `json:"-"`
973}
974
975func (m *FaceSegment) Reset()         { *m = FaceSegment{} }
976func (m *FaceSegment) String() string { return proto.CompactTextString(m) }
977func (*FaceSegment) ProtoMessage()    {}
978func (*FaceSegment) Descriptor() ([]byte, []int) {
979	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{14}
980}
981func (m *FaceSegment) XXX_Unmarshal(b []byte) error {
982	return xxx_messageInfo_FaceSegment.Unmarshal(m, b)
983}
984func (m *FaceSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
985	return xxx_messageInfo_FaceSegment.Marshal(b, m, deterministic)
986}
987func (dst *FaceSegment) XXX_Merge(src proto.Message) {
988	xxx_messageInfo_FaceSegment.Merge(dst, src)
989}
990func (m *FaceSegment) XXX_Size() int {
991	return xxx_messageInfo_FaceSegment.Size(m)
992}
993func (m *FaceSegment) XXX_DiscardUnknown() {
994	xxx_messageInfo_FaceSegment.DiscardUnknown(m)
995}
996
997var xxx_messageInfo_FaceSegment proto.InternalMessageInfo
998
999func (m *FaceSegment) GetSegment() *VideoSegment {
1000	if m != nil {
1001		return m.Segment
1002	}
1003	return nil
1004}
1005
1006// Video frame level annotation results for face detection.
1007type FaceFrame struct {
1008	// Normalized Bounding boxes in a frame.
1009	// There can be more than one boxes if the same face is detected in multiple
1010	// locations within the current frame.
1011	NormalizedBoundingBoxes []*NormalizedBoundingBox `protobuf:"bytes,1,rep,name=normalized_bounding_boxes,json=normalizedBoundingBoxes,proto3" json:"normalized_bounding_boxes,omitempty"`
1012	// Time-offset, relative to the beginning of the video,
1013	// corresponding to the video frame for this location.
1014	TimeOffset           *duration.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
1015	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
1016	XXX_unrecognized     []byte             `json:"-"`
1017	XXX_sizecache        int32              `json:"-"`
1018}
1019
1020func (m *FaceFrame) Reset()         { *m = FaceFrame{} }
1021func (m *FaceFrame) String() string { return proto.CompactTextString(m) }
1022func (*FaceFrame) ProtoMessage()    {}
1023func (*FaceFrame) Descriptor() ([]byte, []int) {
1024	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{15}
1025}
1026func (m *FaceFrame) XXX_Unmarshal(b []byte) error {
1027	return xxx_messageInfo_FaceFrame.Unmarshal(m, b)
1028}
1029func (m *FaceFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1030	return xxx_messageInfo_FaceFrame.Marshal(b, m, deterministic)
1031}
1032func (dst *FaceFrame) XXX_Merge(src proto.Message) {
1033	xxx_messageInfo_FaceFrame.Merge(dst, src)
1034}
1035func (m *FaceFrame) XXX_Size() int {
1036	return xxx_messageInfo_FaceFrame.Size(m)
1037}
1038func (m *FaceFrame) XXX_DiscardUnknown() {
1039	xxx_messageInfo_FaceFrame.DiscardUnknown(m)
1040}
1041
1042var xxx_messageInfo_FaceFrame proto.InternalMessageInfo
1043
1044func (m *FaceFrame) GetNormalizedBoundingBoxes() []*NormalizedBoundingBox {
1045	if m != nil {
1046		return m.NormalizedBoundingBoxes
1047	}
1048	return nil
1049}
1050
1051func (m *FaceFrame) GetTimeOffset() *duration.Duration {
1052	if m != nil {
1053		return m.TimeOffset
1054	}
1055	return nil
1056}
1057
1058// Face annotation.
1059type FaceAnnotation struct {
1060	// Thumbnail of a representative face view (in JPEG format).
1061	Thumbnail []byte `protobuf:"bytes,1,opt,name=thumbnail,proto3" json:"thumbnail,omitempty"`
1062	// All video segments where a face was detected.
1063	Segments []*FaceSegment `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"`
1064	// All video frames where a face was detected.
1065	Frames               []*FaceFrame `protobuf:"bytes,3,rep,name=frames,proto3" json:"frames,omitempty"`
1066	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
1067	XXX_unrecognized     []byte       `json:"-"`
1068	XXX_sizecache        int32        `json:"-"`
1069}
1070
1071func (m *FaceAnnotation) Reset()         { *m = FaceAnnotation{} }
1072func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) }
1073func (*FaceAnnotation) ProtoMessage()    {}
1074func (*FaceAnnotation) Descriptor() ([]byte, []int) {
1075	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{16}
1076}
1077func (m *FaceAnnotation) XXX_Unmarshal(b []byte) error {
1078	return xxx_messageInfo_FaceAnnotation.Unmarshal(m, b)
1079}
1080func (m *FaceAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1081	return xxx_messageInfo_FaceAnnotation.Marshal(b, m, deterministic)
1082}
1083func (dst *FaceAnnotation) XXX_Merge(src proto.Message) {
1084	xxx_messageInfo_FaceAnnotation.Merge(dst, src)
1085}
1086func (m *FaceAnnotation) XXX_Size() int {
1087	return xxx_messageInfo_FaceAnnotation.Size(m)
1088}
1089func (m *FaceAnnotation) XXX_DiscardUnknown() {
1090	xxx_messageInfo_FaceAnnotation.DiscardUnknown(m)
1091}
1092
1093var xxx_messageInfo_FaceAnnotation proto.InternalMessageInfo
1094
1095func (m *FaceAnnotation) GetThumbnail() []byte {
1096	if m != nil {
1097		return m.Thumbnail
1098	}
1099	return nil
1100}
1101
1102func (m *FaceAnnotation) GetSegments() []*FaceSegment {
1103	if m != nil {
1104		return m.Segments
1105	}
1106	return nil
1107}
1108
1109func (m *FaceAnnotation) GetFrames() []*FaceFrame {
1110	if m != nil {
1111		return m.Frames
1112	}
1113	return nil
1114}
1115
1116// Annotation results for a single video.
1117type VideoAnnotationResults struct {
1118	// Video file location in
1119	// [Google Cloud Storage](https://cloud.google.com/storage/).
1120	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
1121	// Label annotations on video level or user specified segment level.
1122	// There is exactly one element for each unique label.
1123	SegmentLabelAnnotations []*LabelAnnotation `protobuf:"bytes,2,rep,name=segment_label_annotations,json=segmentLabelAnnotations,proto3" json:"segment_label_annotations,omitempty"`
1124	// Label annotations on shot level.
1125	// There is exactly one element for each unique label.
1126	ShotLabelAnnotations []*LabelAnnotation `protobuf:"bytes,3,rep,name=shot_label_annotations,json=shotLabelAnnotations,proto3" json:"shot_label_annotations,omitempty"`
1127	// Label annotations on frame level.
1128	// There is exactly one element for each unique label.
1129	FrameLabelAnnotations []*LabelAnnotation `protobuf:"bytes,4,rep,name=frame_label_annotations,json=frameLabelAnnotations,proto3" json:"frame_label_annotations,omitempty"`
1130	// Face annotations. There is exactly one element for each unique face.
1131	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,5,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
1132	// Shot annotations. Each shot is represented as a video segment.
1133	ShotAnnotations []*VideoSegment `protobuf:"bytes,6,rep,name=shot_annotations,json=shotAnnotations,proto3" json:"shot_annotations,omitempty"`
1134	// Explicit content annotation.
1135	ExplicitAnnotation *ExplicitContentAnnotation `protobuf:"bytes,7,opt,name=explicit_annotation,json=explicitAnnotation,proto3" json:"explicit_annotation,omitempty"`
1136	// If set, indicates an error. Note that for a single `AnnotateVideoRequest`
1137	// some videos may succeed and some may fail.
1138	Error                *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
1139	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
1140	XXX_unrecognized     []byte         `json:"-"`
1141	XXX_sizecache        int32          `json:"-"`
1142}
1143
1144func (m *VideoAnnotationResults) Reset()         { *m = VideoAnnotationResults{} }
1145func (m *VideoAnnotationResults) String() string { return proto.CompactTextString(m) }
1146func (*VideoAnnotationResults) ProtoMessage()    {}
1147func (*VideoAnnotationResults) Descriptor() ([]byte, []int) {
1148	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{17}
1149}
1150func (m *VideoAnnotationResults) XXX_Unmarshal(b []byte) error {
1151	return xxx_messageInfo_VideoAnnotationResults.Unmarshal(m, b)
1152}
1153func (m *VideoAnnotationResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1154	return xxx_messageInfo_VideoAnnotationResults.Marshal(b, m, deterministic)
1155}
1156func (dst *VideoAnnotationResults) XXX_Merge(src proto.Message) {
1157	xxx_messageInfo_VideoAnnotationResults.Merge(dst, src)
1158}
1159func (m *VideoAnnotationResults) XXX_Size() int {
1160	return xxx_messageInfo_VideoAnnotationResults.Size(m)
1161}
1162func (m *VideoAnnotationResults) XXX_DiscardUnknown() {
1163	xxx_messageInfo_VideoAnnotationResults.DiscardUnknown(m)
1164}
1165
1166var xxx_messageInfo_VideoAnnotationResults proto.InternalMessageInfo
1167
1168func (m *VideoAnnotationResults) GetInputUri() string {
1169	if m != nil {
1170		return m.InputUri
1171	}
1172	return ""
1173}
1174
1175func (m *VideoAnnotationResults) GetSegmentLabelAnnotations() []*LabelAnnotation {
1176	if m != nil {
1177		return m.SegmentLabelAnnotations
1178	}
1179	return nil
1180}
1181
1182func (m *VideoAnnotationResults) GetShotLabelAnnotations() []*LabelAnnotation {
1183	if m != nil {
1184		return m.ShotLabelAnnotations
1185	}
1186	return nil
1187}
1188
1189func (m *VideoAnnotationResults) GetFrameLabelAnnotations() []*LabelAnnotation {
1190	if m != nil {
1191		return m.FrameLabelAnnotations
1192	}
1193	return nil
1194}
1195
1196func (m *VideoAnnotationResults) GetFaceAnnotations() []*FaceAnnotation {
1197	if m != nil {
1198		return m.FaceAnnotations
1199	}
1200	return nil
1201}
1202
1203func (m *VideoAnnotationResults) GetShotAnnotations() []*VideoSegment {
1204	if m != nil {
1205		return m.ShotAnnotations
1206	}
1207	return nil
1208}
1209
1210func (m *VideoAnnotationResults) GetExplicitAnnotation() *ExplicitContentAnnotation {
1211	if m != nil {
1212		return m.ExplicitAnnotation
1213	}
1214	return nil
1215}
1216
1217func (m *VideoAnnotationResults) GetError() *status.Status {
1218	if m != nil {
1219		return m.Error
1220	}
1221	return nil
1222}
1223
1224// Video annotation response. Included in the `response`
1225// field of the `Operation` returned by the `GetOperation`
1226// call of the `google::longrunning::Operations` service.
1227type AnnotateVideoResponse struct {
1228	// Annotation results for all videos specified in `AnnotateVideoRequest`.
1229	AnnotationResults    []*VideoAnnotationResults `protobuf:"bytes,1,rep,name=annotation_results,json=annotationResults,proto3" json:"annotation_results,omitempty"`
1230	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
1231	XXX_unrecognized     []byte                    `json:"-"`
1232	XXX_sizecache        int32                     `json:"-"`
1233}
1234
1235func (m *AnnotateVideoResponse) Reset()         { *m = AnnotateVideoResponse{} }
1236func (m *AnnotateVideoResponse) String() string { return proto.CompactTextString(m) }
1237func (*AnnotateVideoResponse) ProtoMessage()    {}
1238func (*AnnotateVideoResponse) Descriptor() ([]byte, []int) {
1239	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{18}
1240}
1241func (m *AnnotateVideoResponse) XXX_Unmarshal(b []byte) error {
1242	return xxx_messageInfo_AnnotateVideoResponse.Unmarshal(m, b)
1243}
1244func (m *AnnotateVideoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1245	return xxx_messageInfo_AnnotateVideoResponse.Marshal(b, m, deterministic)
1246}
1247func (dst *AnnotateVideoResponse) XXX_Merge(src proto.Message) {
1248	xxx_messageInfo_AnnotateVideoResponse.Merge(dst, src)
1249}
1250func (m *AnnotateVideoResponse) XXX_Size() int {
1251	return xxx_messageInfo_AnnotateVideoResponse.Size(m)
1252}
1253func (m *AnnotateVideoResponse) XXX_DiscardUnknown() {
1254	xxx_messageInfo_AnnotateVideoResponse.DiscardUnknown(m)
1255}
1256
1257var xxx_messageInfo_AnnotateVideoResponse proto.InternalMessageInfo
1258
1259func (m *AnnotateVideoResponse) GetAnnotationResults() []*VideoAnnotationResults {
1260	if m != nil {
1261		return m.AnnotationResults
1262	}
1263	return nil
1264}
1265
1266// Annotation progress for a single video.
1267type VideoAnnotationProgress struct {
1268	// Video file location in
1269	// [Google Cloud Storage](https://cloud.google.com/storage/).
1270	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
1271	// Approximate percentage processed thus far.
1272	// Guaranteed to be 100 when fully processed.
1273	ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"`
1274	// Time when the request was received.
1275	StartTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
1276	// Time of the most recent update.
1277	UpdateTime           *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
1278	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
1279	XXX_unrecognized     []byte               `json:"-"`
1280	XXX_sizecache        int32                `json:"-"`
1281}
1282
1283func (m *VideoAnnotationProgress) Reset()         { *m = VideoAnnotationProgress{} }
1284func (m *VideoAnnotationProgress) String() string { return proto.CompactTextString(m) }
1285func (*VideoAnnotationProgress) ProtoMessage()    {}
1286func (*VideoAnnotationProgress) Descriptor() ([]byte, []int) {
1287	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{19}
1288}
1289func (m *VideoAnnotationProgress) XXX_Unmarshal(b []byte) error {
1290	return xxx_messageInfo_VideoAnnotationProgress.Unmarshal(m, b)
1291}
1292func (m *VideoAnnotationProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1293	return xxx_messageInfo_VideoAnnotationProgress.Marshal(b, m, deterministic)
1294}
1295func (dst *VideoAnnotationProgress) XXX_Merge(src proto.Message) {
1296	xxx_messageInfo_VideoAnnotationProgress.Merge(dst, src)
1297}
1298func (m *VideoAnnotationProgress) XXX_Size() int {
1299	return xxx_messageInfo_VideoAnnotationProgress.Size(m)
1300}
1301func (m *VideoAnnotationProgress) XXX_DiscardUnknown() {
1302	xxx_messageInfo_VideoAnnotationProgress.DiscardUnknown(m)
1303}
1304
1305var xxx_messageInfo_VideoAnnotationProgress proto.InternalMessageInfo
1306
1307func (m *VideoAnnotationProgress) GetInputUri() string {
1308	if m != nil {
1309		return m.InputUri
1310	}
1311	return ""
1312}
1313
1314func (m *VideoAnnotationProgress) GetProgressPercent() int32 {
1315	if m != nil {
1316		return m.ProgressPercent
1317	}
1318	return 0
1319}
1320
1321func (m *VideoAnnotationProgress) GetStartTime() *timestamp.Timestamp {
1322	if m != nil {
1323		return m.StartTime
1324	}
1325	return nil
1326}
1327
1328func (m *VideoAnnotationProgress) GetUpdateTime() *timestamp.Timestamp {
1329	if m != nil {
1330		return m.UpdateTime
1331	}
1332	return nil
1333}
1334
1335// Video annotation progress. Included in the `metadata`
1336// field of the `Operation` returned by the `GetOperation`
1337// call of the `google::longrunning::Operations` service.
1338type AnnotateVideoProgress struct {
1339	// Progress metadata for all videos specified in `AnnotateVideoRequest`.
1340	AnnotationProgress   []*VideoAnnotationProgress `protobuf:"bytes,1,rep,name=annotation_progress,json=annotationProgress,proto3" json:"annotation_progress,omitempty"`
1341	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
1342	XXX_unrecognized     []byte                     `json:"-"`
1343	XXX_sizecache        int32                      `json:"-"`
1344}
1345
1346func (m *AnnotateVideoProgress) Reset()         { *m = AnnotateVideoProgress{} }
1347func (m *AnnotateVideoProgress) String() string { return proto.CompactTextString(m) }
1348func (*AnnotateVideoProgress) ProtoMessage()    {}
1349func (*AnnotateVideoProgress) Descriptor() ([]byte, []int) {
1350	return fileDescriptor_video_intelligence_c47a9b755759e2f4, []int{20}
1351}
1352func (m *AnnotateVideoProgress) XXX_Unmarshal(b []byte) error {
1353	return xxx_messageInfo_AnnotateVideoProgress.Unmarshal(m, b)
1354}
1355func (m *AnnotateVideoProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1356	return xxx_messageInfo_AnnotateVideoProgress.Marshal(b, m, deterministic)
1357}
1358func (dst *AnnotateVideoProgress) XXX_Merge(src proto.Message) {
1359	xxx_messageInfo_AnnotateVideoProgress.Merge(dst, src)
1360}
1361func (m *AnnotateVideoProgress) XXX_Size() int {
1362	return xxx_messageInfo_AnnotateVideoProgress.Size(m)
1363}
1364func (m *AnnotateVideoProgress) XXX_DiscardUnknown() {
1365	xxx_messageInfo_AnnotateVideoProgress.DiscardUnknown(m)
1366}
1367
1368var xxx_messageInfo_AnnotateVideoProgress proto.InternalMessageInfo
1369
1370func (m *AnnotateVideoProgress) GetAnnotationProgress() []*VideoAnnotationProgress {
1371	if m != nil {
1372		return m.AnnotationProgress
1373	}
1374	return nil
1375}
1376
1377func init() {
1378	proto.RegisterType((*AnnotateVideoRequest)(nil), "google.cloud.videointelligence.v1beta2.AnnotateVideoRequest")
1379	proto.RegisterType((*VideoContext)(nil), "google.cloud.videointelligence.v1beta2.VideoContext")
1380	proto.RegisterType((*LabelDetectionConfig)(nil), "google.cloud.videointelligence.v1beta2.LabelDetectionConfig")
1381	proto.RegisterType((*ShotChangeDetectionConfig)(nil), "google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig")
1382	proto.RegisterType((*ExplicitContentDetectionConfig)(nil), "google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig")
1383	proto.RegisterType((*FaceDetectionConfig)(nil), "google.cloud.videointelligence.v1beta2.FaceDetectionConfig")
1384	proto.RegisterType((*VideoSegment)(nil), "google.cloud.videointelligence.v1beta2.VideoSegment")
1385	proto.RegisterType((*LabelSegment)(nil), "google.cloud.videointelligence.v1beta2.LabelSegment")
1386	proto.RegisterType((*LabelFrame)(nil), "google.cloud.videointelligence.v1beta2.LabelFrame")
1387	proto.RegisterType((*Entity)(nil), "google.cloud.videointelligence.v1beta2.Entity")
1388	proto.RegisterType((*LabelAnnotation)(nil), "google.cloud.videointelligence.v1beta2.LabelAnnotation")
1389	proto.RegisterType((*ExplicitContentFrame)(nil), "google.cloud.videointelligence.v1beta2.ExplicitContentFrame")
1390	proto.RegisterType((*ExplicitContentAnnotation)(nil), "google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation")
1391	proto.RegisterType((*NormalizedBoundingBox)(nil), "google.cloud.videointelligence.v1beta2.NormalizedBoundingBox")
1392	proto.RegisterType((*FaceSegment)(nil), "google.cloud.videointelligence.v1beta2.FaceSegment")
1393	proto.RegisterType((*FaceFrame)(nil), "google.cloud.videointelligence.v1beta2.FaceFrame")
1394	proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.videointelligence.v1beta2.FaceAnnotation")
1395	proto.RegisterType((*VideoAnnotationResults)(nil), "google.cloud.videointelligence.v1beta2.VideoAnnotationResults")
1396	proto.RegisterType((*AnnotateVideoResponse)(nil), "google.cloud.videointelligence.v1beta2.AnnotateVideoResponse")
1397	proto.RegisterType((*VideoAnnotationProgress)(nil), "google.cloud.videointelligence.v1beta2.VideoAnnotationProgress")
1398	proto.RegisterType((*AnnotateVideoProgress)(nil), "google.cloud.videointelligence.v1beta2.AnnotateVideoProgress")
1399	proto.RegisterEnum("google.cloud.videointelligence.v1beta2.Feature", Feature_name, Feature_value)
1400	proto.RegisterEnum("google.cloud.videointelligence.v1beta2.LabelDetectionMode", LabelDetectionMode_name, LabelDetectionMode_value)
1401	proto.RegisterEnum("google.cloud.videointelligence.v1beta2.Likelihood", Likelihood_name, Likelihood_value)
1402}
1403
1404// Reference imports to suppress errors if they are not otherwise used.
1405var _ context.Context
1406var _ grpc.ClientConn
1407
1408// This is a compile-time assertion to ensure that this generated file
1409// is compatible with the grpc package it is being compiled against.
1410const _ = grpc.SupportPackageIsVersion4
1411
1412// VideoIntelligenceServiceClient is the client API for VideoIntelligenceService service.
1413//
1414// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
1415type VideoIntelligenceServiceClient interface {
1416	// Performs asynchronous video annotation. Progress and results can be
1417	// retrieved through the `google.longrunning.Operations` interface.
1418	// `Operation.metadata` contains `AnnotateVideoProgress` (progress).
1419	// `Operation.response` contains `AnnotateVideoResponse` (results).
1420	AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
1421}
1422
1423type videoIntelligenceServiceClient struct {
1424	cc *grpc.ClientConn
1425}
1426
1427func NewVideoIntelligenceServiceClient(cc *grpc.ClientConn) VideoIntelligenceServiceClient {
1428	return &videoIntelligenceServiceClient{cc}
1429}
1430
1431func (c *videoIntelligenceServiceClient) AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
1432	out := new(longrunning.Operation)
1433	err := c.cc.Invoke(ctx, "/google.cloud.videointelligence.v1beta2.VideoIntelligenceService/AnnotateVideo", in, out, opts...)
1434	if err != nil {
1435		return nil, err
1436	}
1437	return out, nil
1438}
1439
1440// VideoIntelligenceServiceServer is the server API for VideoIntelligenceService service.
1441type VideoIntelligenceServiceServer interface {
1442	// Performs asynchronous video annotation. Progress and results can be
1443	// retrieved through the `google.longrunning.Operations` interface.
1444	// `Operation.metadata` contains `AnnotateVideoProgress` (progress).
1445	// `Operation.response` contains `AnnotateVideoResponse` (results).
1446	AnnotateVideo(context.Context, *AnnotateVideoRequest) (*longrunning.Operation, error)
1447}
1448
1449func RegisterVideoIntelligenceServiceServer(s *grpc.Server, srv VideoIntelligenceServiceServer) {
1450	s.RegisterService(&_VideoIntelligenceService_serviceDesc, srv)
1451}
1452
1453func _VideoIntelligenceService_AnnotateVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1454	in := new(AnnotateVideoRequest)
1455	if err := dec(in); err != nil {
1456		return nil, err
1457	}
1458	if interceptor == nil {
1459		return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, in)
1460	}
1461	info := &grpc.UnaryServerInfo{
1462		Server:     srv,
1463		FullMethod: "/google.cloud.videointelligence.v1beta2.VideoIntelligenceService/AnnotateVideo",
1464	}
1465	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1466		return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, req.(*AnnotateVideoRequest))
1467	}
1468	return interceptor(ctx, in, info, handler)
1469}
1470
1471var _VideoIntelligenceService_serviceDesc = grpc.ServiceDesc{
1472	ServiceName: "google.cloud.videointelligence.v1beta2.VideoIntelligenceService",
1473	HandlerType: (*VideoIntelligenceServiceServer)(nil),
1474	Methods: []grpc.MethodDesc{
1475		{
1476			MethodName: "AnnotateVideo",
1477			Handler:    _VideoIntelligenceService_AnnotateVideo_Handler,
1478		},
1479	},
1480	Streams:  []grpc.StreamDesc{},
1481	Metadata: "google/cloud/videointelligence/v1beta2/video_intelligence.proto",
1482}
1483
1484func init() {
1485	proto.RegisterFile("google/cloud/videointelligence/v1beta2/video_intelligence.proto", fileDescriptor_video_intelligence_c47a9b755759e2f4)
1486}
1487
1488var fileDescriptor_video_intelligence_c47a9b755759e2f4 = []byte{
1489	// 1718 bytes of a gzipped FileDescriptorProto
1490	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x6f, 0xdb, 0xc8,
1491	0x15, 0x2f, 0x25, 0xd9, 0xb1, 0x9e, 0xff, 0x48, 0x19, 0xcb, 0xb6, 0xec, 0x26, 0x5e, 0x97, 0x29,
1492	0x16, 0xae, 0x0b, 0x48, 0x88, 0x77, 0xb1, 0x45, 0x93, 0x6d, 0x17, 0xb2, 0x4c, 0x6d, 0xd4, 0x75,
1493	0x24, 0x81, 0x52, 0xd2, 0xa6, 0x4d, 0x41, 0x50, 0xe4, 0x88, 0x22, 0x96, 0xe2, 0x70, 0xc9, 0x61,
1494	0x10, 0xf7, 0xd0, 0xc3, 0x1e, 0x16, 0xe8, 0xb1, 0xe8, 0xa5, 0x9f, 0xa1, 0x87, 0x7e, 0x83, 0x02,
1495	0x45, 0x2f, 0x05, 0x72, 0x6d, 0x2f, 0xbd, 0xf4, 0xd4, 0x63, 0x3f, 0x40, 0x8f, 0x05, 0x67, 0x86,
1496	0x12, 0x45, 0xca, 0xb1, 0x94, 0x60, 0x6f, 0x9c, 0xf7, 0xe6, 0xfd, 0xde, 0xff, 0x37, 0x33, 0x84,
1497	0xcf, 0x2c, 0x42, 0x2c, 0x07, 0xd7, 0x0d, 0x87, 0x84, 0x66, 0xfd, 0x95, 0x6d, 0x62, 0x62, 0xbb,
1498	0x14, 0x3b, 0x8e, 0x6d, 0x61, 0xd7, 0xc0, 0xf5, 0x57, 0x0f, 0x87, 0x98, 0xea, 0xe7, 0x9c, 0xa3,
1499	0x25, 0x59, 0x35, 0xcf, 0x27, 0x94, 0xa0, 0x0f, 0x39, 0x40, 0x8d, 0x01, 0xd4, 0x32, 0x00, 0x35,
1500	0x01, 0x70, 0x74, 0x4f, 0x28, 0xd2, 0x3d, 0xbb, 0xae, 0xbb, 0x2e, 0xa1, 0x3a, 0xb5, 0x89, 0x1b,
1501	0x70, 0x94, 0xa3, 0x07, 0x82, 0xeb, 0x10, 0xd7, 0xf2, 0x43, 0xd7, 0xb5, 0x5d, 0xab, 0x4e, 0x3c,
1502	0xec, 0xcf, 0x6d, 0x3a, 0x16, 0x9b, 0xd8, 0x6a, 0x18, 0x8e, 0xea, 0x66, 0xc8, 0x37, 0x08, 0xfe,
1503	0x07, 0x69, 0x3e, 0xb5, 0x27, 0x38, 0xa0, 0xfa, 0xc4, 0x13, 0x1b, 0x0e, 0xc4, 0x06, 0xdf, 0x33,
1504	0xea, 0x01, 0xd5, 0x69, 0x28, 0x90, 0xe5, 0xbf, 0xe6, 0xa0, 0xd2, 0xe0, 0x46, 0xe1, 0xe7, 0x91,
1505	0x0b, 0x2a, 0xfe, 0x2a, 0xc4, 0x01, 0x45, 0xdf, 0x85, 0xa2, 0xed, 0x7a, 0x21, 0xd5, 0x42, 0xdf,
1506	0xae, 0x4a, 0x27, 0xd2, 0x69, 0x51, 0xdd, 0x60, 0x84, 0x67, 0xbe, 0x8d, 0x1e, 0xc0, 0x36, 0x67,
1507	0x1a, 0xc4, 0xa5, 0xd8, 0xa5, 0xd5, 0xf5, 0x13, 0xe9, 0x74, 0x4b, 0xdd, 0x62, 0xc4, 0x26, 0xa7,
1508	0xa1, 0x2f, 0x60, 0x63, 0x84, 0x75, 0x1a, 0xfa, 0x38, 0xa8, 0xe6, 0x4e, 0xf2, 0xa7, 0x3b, 0xe7,
1509	0xf5, 0xda, 0x72, 0x21, 0xab, 0xb5, 0xb8, 0x9c, 0x3a, 0x05, 0x40, 0x2f, 0x60, 0x9b, 0x27, 0x82,
1510	0x69, 0x7c, 0x4d, 0xab, 0xf9, 0x13, 0xe9, 0x74, 0xf3, 0xfc, 0xe3, 0x65, 0x11, 0x99, 0x6f, 0x4d,
1511	0x2e, 0xab, 0x6e, 0xbd, 0x4a, 0xac, 0xd0, 0x7d, 0x00, 0x12, 0xd2, 0xd8, 0xd5, 0x02, 0x73, 0xb5,
1512	0xc8, 0x29, 0x91, 0xaf, 0x1f, 0xc0, 0xa6, 0x43, 0x0c, 0x16, 0x6d, 0xcd, 0x36, 0xab, 0x6b, 0x8c,
1513	0x0f, 0x31, 0xa9, 0x6d, 0xca, 0xff, 0x2e, 0xc0, 0x56, 0x12, 0x1e, 0xf5, 0x60, 0x23, 0xc0, 0xd6,
1514	0x04, 0xbb, 0x34, 0xa8, 0x4a, 0x27, 0xf9, 0x95, 0xcd, 0xec, 0x73, 0x61, 0x75, 0x8a, 0x82, 0x7c,
1515	0xd8, 0x77, 0xf4, 0x21, 0x76, 0x34, 0x13, 0x53, 0x6c, 0x30, 0x53, 0x0c, 0xe2, 0x8e, 0x6c, 0xab,
1516	0x9a, 0x63, 0x61, 0xf8, 0x74, 0x59, 0xfc, 0xab, 0x08, 0xe5, 0x32, 0x06, 0x69, 0x32, 0x0c, 0xb5,
1517	0xe2, 0x2c, 0xa0, 0xa2, 0xaf, 0x25, 0xb8, 0x17, 0x8c, 0x09, 0xd5, 0x8c, 0xb1, 0xee, 0x5a, 0x38,
1518	0xab, 0x9a, 0x67, 0xa0, 0xb1, 0xac, 0xea, 0xfe, 0x98, 0xd0, 0x26, 0x83, 0x4a, 0xeb, 0x3f, 0x0c,
1519	0x6e, 0x62, 0xa1, 0xdf, 0x4b, 0xf0, 0x3d, 0xfc, 0xda, 0x73, 0x6c, 0xc3, 0x9e, 0x16, 0x5b, 0xd6,
1520	0x92, 0x02, 0xb3, 0xa4, 0xb5, 0xac, 0x25, 0x8a, 0x00, 0x14, 0x85, 0x9a, 0x36, 0xe7, 0x18, 0xbf,
1521	0x95, 0x8f, 0x08, 0xec, 0x8d, 0x74, 0x63, 0x41, 0x40, 0xd6, 0x98, 0x19, 0x8f, 0x97, 0x2e, 0x72,
1522	0xdd, 0xc8, 0x84, 0x62, 0x77, 0x94, 0x25, 0xca, 0x7f, 0x97, 0xa0, 0xb2, 0x28, 0x71, 0xc8, 0x81,
1523	0x4a, 0xba, 0x2c, 0x26, 0xc4, 0xc4, 0xac, 0x5d, 0x77, 0xce, 0x1f, 0xbd, 0x5b, 0x51, 0x3c, 0x25,
1524	0x26, 0x56, 0x91, 0x93, 0xa1, 0xa1, 0x1f, 0xc2, 0xdd, 0x80, 0xcf, 0x2e, 0xdd, 0xbf, 0xd6, 0x0c,
1525	0x7d, 0x82, 0x7d, 0x9d, 0xd5, 0xdf, 0x86, 0x5a, 0x9e, 0x31, 0x9a, 0x8c, 0x8e, 0x2a, 0xb0, 0x16,
1526	0x99, 0xe2, 0xb0, 0x2a, 0x29, 0xaa, 0x7c, 0x21, 0x3f, 0x84, 0xc3, 0x1b, 0xcb, 0x60, 0x26, 0x22,
1527	0x25, 0x45, 0x3e, 0x81, 0xe3, 0xb7, 0xe7, 0xeb, 0x06, 0x39, 0x1d, 0x76, 0x17, 0x04, 0x78, 0xf1,
1528	0x66, 0xf4, 0x31, 0xec, 0xdb, 0xae, 0xe1, 0x84, 0x26, 0xd6, 0x86, 0x24, 0x74, 0x4d, 0xdb, 0xb5,
1529	0xb4, 0x21, 0x79, 0xcd, 0x06, 0x57, 0xe4, 0x5f, 0x45, 0x70, 0x2f, 0x04, 0xf3, 0x22, 0xe2, 0xc9,
1530	0x7f, 0x94, 0x44, 0xe3, 0x8b, 0x86, 0x45, 0x0a, 0x8b, 0x90, 0x4f, 0xb5, 0x68, 0xfc, 0x6a, 0x64,
1531	0x34, 0x0a, 0x30, 0x65, 0x8a, 0x36, 0xcf, 0x0f, 0xe3, 0x64, 0xc4, 0x23, 0xba, 0x76, 0x29, 0x46,
1532	0xb8, 0x5a, 0x62, 0x32, 0x03, 0x7b, 0x82, 0xbb, 0x4c, 0x02, 0x35, 0xa0, 0x84, 0x5d, 0x73, 0x0e,
1533	0x24, 0x77, 0x1b, 0xc8, 0x36, 0x76, 0xcd, 0x19, 0x84, 0xfc, 0x5b, 0xd8, 0x62, 0x59, 0x8d, 0x2d,
1534	0xeb, 0xc0, 0x1d, 0x31, 0x4c, 0x84, 0x3d, 0xef, 0x36, 0x91, 0x62, 0x10, 0x74, 0x0c, 0xc0, 0x8a,
1535	0xde, 0x8c, 0xf6, 0x32, 0xeb, 0x72, 0x6a, 0x82, 0x22, 0x8f, 0x01, 0x98, 0xfe, 0x96, 0xaf, 0x4f,
1536	0x30, 0x7a, 0x04, 0x9b, 0x2b, 0x45, 0x04, 0xe8, 0x2c, 0x18, 0xb7, 0x69, 0x72, 0x60, 0x5d, 0x71,
1537	0xa9, 0x4d, 0xaf, 0xa3, 0x13, 0x0b, 0xb3, 0xaf, 0x68, 0x4c, 0x8b, 0x13, 0x8b, 0x13, 0xda, 0x26,
1538	0x3a, 0x81, 0x4d, 0x13, 0x07, 0x86, 0x6f, 0x7b, 0x91, 0x06, 0x86, 0x53, 0x54, 0x93, 0xa4, 0xe8,
1539	0x4c, 0x73, 0x74, 0xd7, 0x0a, 0x75, 0x0b, 0x6b, 0x46, 0xd4, 0x45, 0xbc, 0x72, 0xb7, 0x62, 0x62,
1540	0x93, 0x98, 0x58, 0xfe, 0x67, 0x0e, 0x4a, 0xcc, 0xb1, 0xc6, 0xf4, 0x20, 0x47, 0x2d, 0x58, 0xe7,
1541	0x6a, 0x84, 0x63, 0xb5, 0xa5, 0xe7, 0x10, 0x93, 0x52, 0x85, 0x34, 0xfa, 0x15, 0xdc, 0x35, 0x74,
1542	0x8a, 0x2d, 0xe2, 0x5f, 0x6b, 0x8c, 0x64, 0x8b, 0x83, 0x73, 0x75, 0xc8, 0x72, 0x0c, 0xa4, 0x08,
1543	0x9c, 0xb9, 0x33, 0x29, 0xbf, 0xda, 0x99, 0x94, 0x2c, 0xa4, 0xc4, 0x99, 0xf4, 0x33, 0x58, 0x1f,
1544	0x45, 0xd9, 0x0d, 0xaa, 0x05, 0x86, 0x77, 0xbe, 0x12, 0x1e, 0x2b, 0x0c, 0x55, 0x20, 0xc8, 0x7f,
1545	0x91, 0xa0, 0x92, 0xea, 0xf2, 0xf7, 0xaf, 0x1c, 0x1b, 0xf6, 0x3d, 0xe2, 0xbb, 0xc4, 0xf2, 0x75,
1546	0x6f, 0x7c, 0xad, 0x39, 0xf6, 0x97, 0xd8, 0xb1, 0xc7, 0x84, 0x98, 0x2c, 0xfb, 0x3b, 0x2b, 0x18,
1547	0x3c, 0x95, 0x54, 0xf7, 0x12, 0x88, 0x33, 0xb2, 0xfc, 0x15, 0x1c, 0xa6, 0xcc, 0x4f, 0xd4, 0xc7,
1548	0x60, 0x1a, 0x28, 0x7e, 0x19, 0xf8, 0xf4, 0x1d, 0xcf, 0xa9, 0xf9, 0x90, 0x7d, 0x09, 0x7b, 0x1d,
1549	0xe2, 0x4f, 0x74, 0xc7, 0xfe, 0x0d, 0x36, 0x13, 0x73, 0x09, 0x21, 0x28, 0x38, 0x78, 0xc4, 0x63,
1550	0x95, 0x53, 0xd9, 0x37, 0x2a, 0x43, 0x9e, 0x12, 0x4f, 0x74, 0x4f, 0xf4, 0x19, 0xcd, 0x41, 0xdf,
1551	0xb6, 0xc6, 0xfc, 0x1e, 0x95, 0x53, 0xf9, 0x02, 0xed, 0xc3, 0xfa, 0x90, 0x50, 0x4a, 0x26, 0xec,
1552	0x48, 0xcd, 0xa9, 0x62, 0x25, 0xff, 0x1a, 0x36, 0xa3, 0x61, 0xfa, 0x2d, 0x4d, 0x13, 0xf9, 0x6f,
1553	0x12, 0x14, 0x23, 0x7c, 0x9e, 0xf3, 0x6b, 0x38, 0x74, 0xa7, 0x9e, 0xa5, 0xe7, 0x31, 0x0f, 0xe1,
1554	0x4f, 0x96, 0xd5, 0xb7, 0x30, 0x44, 0xea, 0x81, 0xbb, 0x88, 0x8c, 0x83, 0x74, 0xb9, 0xe5, 0x56,
1555	0x28, 0x37, 0xf9, 0x8d, 0x04, 0x3b, 0x91, 0x13, 0x89, 0xcc, 0xdf, 0x83, 0x22, 0x1d, 0x87, 0x93,
1556	0xa1, 0xab, 0xdb, 0xfc, 0xc0, 0xd9, 0x52, 0x67, 0x04, 0xd4, 0x4d, 0xb4, 0x24, 0x6f, 0xf3, 0x8f,
1557	0x56, 0xb9, 0x3a, 0x64, 0x3b, 0xb2, 0x3d, 0x2d, 0x34, 0xde, 0xe1, 0x0f, 0x57, 0x81, 0x9b, 0xaf,
1558	0xae, 0xff, 0xae, 0xc1, 0x3e, 0xcb, 0xd5, 0xcc, 0x1b, 0x15, 0x07, 0xa1, 0x43, 0x83, 0xb7, 0x3f,
1559	0x0c, 0x02, 0x38, 0x14, 0xe6, 0x68, 0xfc, 0x66, 0x92, 0x78, 0xf0, 0x08, 0x27, 0x7f, 0xb4, 0xd2,
1560	0x9c, 0x48, 0xe8, 0x3f, 0x10, 0xc8, 0x29, 0x7a, 0x80, 0x26, 0xb0, 0xcf, 0x2e, 0xaa, 0x59, 0x8d,
1561	0xf9, 0xf7, 0xd3, 0x58, 0x89, 0x60, 0x33, 0xea, 0x08, 0x1c, 0xb0, 0x28, 0x2d, 0xd0, 0x57, 0x78,
1562	0x3f, 0x7d, 0x7b, 0x0c, 0x37, 0xa3, 0x50, 0x87, 0x32, 0xbb, 0x70, 0x26, 0x35, 0xad, 0x31, 0x4d,
1563	0x9f, 0xac, 0x92, 0xe1, 0x84, 0xa2, 0xd2, 0x68, 0x6e, 0x1d, 0x20, 0x0d, 0xca, 0x2c, 0x84, 0x49,
1564	0x15, 0xeb, 0xef, 0xf1, 0x74, 0x29, 0x45, 0x68, 0x49, 0x05, 0x3e, 0xec, 0x4e, 0xef, 0xf1, 0x33,
1565	0x25, 0xd5, 0x3b, 0xab, 0xbd, 0x21, 0x6e, 0x1c, 0xb2, 0x2a, 0x8a, 0xd1, 0x13, 0xed, 0x77, 0x0a,
1566	0x6b, 0xd8, 0xf7, 0x89, 0x5f, 0x2d, 0x32, 0x2d, 0x28, 0xd6, 0xe2, 0x7b, 0x46, 0xad, 0xcf, 0x1e,
1567	0xc1, 0x2a, 0xdf, 0x20, 0x7f, 0x23, 0xc1, 0x5e, 0xea, 0x15, 0x1c, 0x78, 0xc4, 0x0d, 0x30, 0x9a,
1568	0x00, 0x9a, 0x99, 0xab, 0xf9, 0xbc, 0x07, 0xc4, 0x14, 0xfa, 0xe9, 0x4a, 0xa1, 0xc9, 0x74, 0x92,
1569	0x7a, 0x57, 0x4f, 0x93, 0xe4, 0x7f, 0x49, 0x70, 0x90, 0xda, 0xdd, 0xf3, 0x89, 0xe5, 0xe3, 0xe0,
1570	0x96, 0xc6, 0xfb, 0x01, 0x94, 0x3d, 0xb1, 0x51, 0xf3, 0xb0, 0x6f, 0x44, 0xb3, 0x39, 0x1a, 0x5f,
1571	0x6b, 0x6a, 0x29, 0xa6, 0xf7, 0x38, 0x19, 0xfd, 0x18, 0x60, 0x76, 0x4b, 0x15, 0xaf, 0xb8, 0xa3,
1572	0xcc, 0x8c, 0x1b, 0xc4, 0x7f, 0x10, 0xd4, 0xe2, 0xf4, 0x7e, 0x8a, 0x1e, 0xc3, 0x66, 0xe8, 0x99,
1573	0x3a, 0xc5, 0x5c, 0xb6, 0x70, 0xab, 0x2c, 0xf0, 0xed, 0x11, 0x41, 0xfe, 0x5d, 0x3a, 0xc8, 0x53,
1574	0xcf, 0x3c, 0xd8, 0x4d, 0x04, 0x39, 0xb6, 0x57, 0x44, 0xf9, 0xb3, 0x77, 0x8c, 0x72, 0x8c, 0xae,
1575	0x26, 0x12, 0x18, 0xd3, 0xce, 0xbe, 0x91, 0xe0, 0x8e, 0xf8, 0xc9, 0x80, 0x0e, 0x60, 0xb7, 0xa5,
1576	0x34, 0x06, 0xcf, 0x54, 0x45, 0x7b, 0xd6, 0xe9, 0xf7, 0x94, 0x66, 0xbb, 0xd5, 0x56, 0x2e, 0xcb,
1577	0xdf, 0x41, 0xbb, 0x50, 0xba, 0x6a, 0x5c, 0x28, 0x57, 0xda, 0xa5, 0x32, 0x50, 0x9a, 0x83, 0x76,
1578	0xb7, 0x53, 0x96, 0xd0, 0x21, 0xec, 0xf5, 0x9f, 0x74, 0x07, 0x5a, 0xf3, 0x49, 0xa3, 0xf3, 0xb9,
1579	0x92, 0x60, 0xe5, 0xd0, 0x31, 0x1c, 0x29, 0xbf, 0xe8, 0x5d, 0xb5, 0x9b, 0xed, 0x81, 0xd6, 0xec,
1580	0x76, 0x06, 0x4a, 0x67, 0x90, 0xe0, 0xe7, 0x11, 0x82, 0x9d, 0x56, 0xa3, 0x99, 0x94, 0x29, 0x9c,
1581	0xf9, 0x80, 0xb2, 0xcf, 0x2f, 0xf4, 0x7d, 0x38, 0x49, 0x69, 0xd6, 0x9e, 0x76, 0x2f, 0xd3, 0xf6,
1582	0x6d, 0x43, 0x91, 0x99, 0x12, 0xb1, 0xca, 0x12, 0xda, 0x01, 0x68, 0xa9, 0x8d, 0xa7, 0x0a, 0x5f,
1583	0xe7, 0x22, 0xbf, 0x18, 0xbb, 0xd1, 0xb9, 0xd4, 0x12, 0x8c, 0xfc, 0x19, 0x05, 0x98, 0xdd, 0x5d,
1584	0xd0, 0x11, 0xec, 0x5f, 0xb5, 0xbf, 0x50, 0xae, 0xda, 0x4f, 0xba, 0xdd, 0xcb, 0x94, 0x86, 0xbb,
1585	0xb0, 0xfd, 0x5c, 0x51, 0x5f, 0x68, 0xcf, 0x3a, 0x6c, 0xcb, 0x8b, 0xb2, 0x84, 0xb6, 0x60, 0x63,
1586	0xba, 0xca, 0x45, 0xab, 0x5e, 0xb7, 0xdf, 0x6f, 0x5f, 0x5c, 0x29, 0xe5, 0x3c, 0x02, 0x58, 0x17,
1587	0x9c, 0x02, 0x2a, 0xc1, 0x26, 0x13, 0x15, 0x84, 0xb5, 0xf3, 0x3f, 0x4b, 0x50, 0x65, 0x29, 0x6a,
1588	0x27, 0x92, 0xd7, 0xc7, 0xfe, 0x2b, 0xdb, 0xc0, 0xd1, 0x3b, 0x7f, 0x7b, 0xae, 0x36, 0xd0, 0xd2,
1589	0xb7, 0xa4, 0x45, 0x7f, 0xaf, 0x8e, 0xee, 0xc7, 0xd2, 0x89, 0xdf, 0x6a, 0xb5, 0x6e, 0xfc, 0x5b,
1590	0x4d, 0x7e, 0xf0, 0xf5, 0x3f, 0xfe, 0xf3, 0x87, 0xdc, 0x7d, 0xb9, 0x3a, 0xff, 0x97, 0x2f, 0x78,
1591	0x24, 0x4a, 0x05, 0x3f, 0x92, 0xce, 0x2e, 0xfe, 0x27, 0xc1, 0x99, 0x41, 0x26, 0x4b, 0xda, 0x71,
1592	0x71, 0xff, 0x26, 0xe7, 0x7a, 0x51, 0x5b, 0xf4, 0xa4, 0x5f, 0xfe, 0x5c, 0x00, 0x59, 0x24, 0x7a,
1593	0x52, 0xd4, 0x88, 0x6f, 0xd5, 0x2d, 0xec, 0xb2, 0xa6, 0xa9, 0x73, 0x96, 0xee, 0xd9, 0xc1, 0x6d,
1594	0xff, 0x23, 0x1f, 0x67, 0x38, 0x7f, 0xca, 0x7d, 0xf8, 0x39, 0x47, 0x6e, 0x32, 0x13, 0x33, 0x76,
1595	0xd4, 0x9e, 0x3f, 0xbc, 0x88, 0x44, 0xdf, 0xc4, 0x1b, 0x5f, 0xb2, 0x8d, 0x2f, 0x33, 0x1b, 0x5f,
1596	0x3e, 0xe7, 0x3a, 0x86, 0xeb, 0xcc, 0xaa, 0x8f, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x8a,
1597	0xa0, 0x1c, 0x24, 0x15, 0x00, 0x00,
1598}
1599