1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/cloud/videointelligence/v1beta1/video_intelligence.proto
5 Package videointelligence is a generated protocol buffer package.
7 It is generated from these files:
8 google/cloud/videointelligence/v1beta1/video_intelligence.proto
10 It has these top-level messages:
20 VideoAnnotationResults
22 VideoAnnotationProgress
25 package videointelligence
27 import proto "github.com/golang/protobuf/proto"
30 import _ "google.golang.org/genproto/googleapis/api/annotations"
31 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
32 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
33 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
36 context "golang.org/x/net/context"
37 grpc "google.golang.org/grpc"
40 // Reference imports to suppress errors if they are not otherwise used.
45 // This is a compile-time assertion to ensure that this generated file
46 // is compatible with the proto package it is being compiled against.
47 // A compilation error at this line likely means your copy of the
48 // proto package needs to be updated.
49 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
51 // Video annotation feature.
56 Feature_FEATURE_UNSPECIFIED Feature = 0
57 // Label detection. Detect objects, such as dog or flower.
58 Feature_LABEL_DETECTION Feature = 1
59 // Human face detection and tracking.
60 Feature_FACE_DETECTION Feature = 2
61 // Shot change detection.
62 Feature_SHOT_CHANGE_DETECTION Feature = 3
63 // Safe search detection.
64 Feature_SAFE_SEARCH_DETECTION Feature = 4
67 var Feature_name = map[int32]string{
68 0: "FEATURE_UNSPECIFIED",
71 3: "SHOT_CHANGE_DETECTION",
72 4: "SAFE_SEARCH_DETECTION",
74 var Feature_value = map[string]int32{
75 "FEATURE_UNSPECIFIED": 0,
78 "SHOT_CHANGE_DETECTION": 3,
79 "SAFE_SEARCH_DETECTION": 4,
82 func (x Feature) String() string {
83 return proto.EnumName(Feature_name, int32(x))
85 func (Feature) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
87 // Label level (scope).
92 LabelLevel_LABEL_LEVEL_UNSPECIFIED LabelLevel = 0
93 // Video-level. Corresponds to the whole video.
94 LabelLevel_VIDEO_LEVEL LabelLevel = 1
95 // Segment-level. Corresponds to one of `AnnotateSpec.segments`.
96 LabelLevel_SEGMENT_LEVEL LabelLevel = 2
97 // Shot-level. Corresponds to a single shot (i.e. a series of frames
98 // without a major camera position or background change).
99 LabelLevel_SHOT_LEVEL LabelLevel = 3
100 // Frame-level. Corresponds to a single video frame.
101 LabelLevel_FRAME_LEVEL LabelLevel = 4
104 var LabelLevel_name = map[int32]string{
105 0: "LABEL_LEVEL_UNSPECIFIED",
111 var LabelLevel_value = map[string]int32{
112 "LABEL_LEVEL_UNSPECIFIED": 0,
119 func (x LabelLevel) String() string {
120 return proto.EnumName(LabelLevel_name, int32(x))
122 func (LabelLevel) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
124 // Label detection mode.
125 type LabelDetectionMode int32
129 LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED LabelDetectionMode = 0
130 // Detect shot-level labels.
131 LabelDetectionMode_SHOT_MODE LabelDetectionMode = 1
132 // Detect frame-level labels.
133 LabelDetectionMode_FRAME_MODE LabelDetectionMode = 2
134 // Detect both shot-level and frame-level labels.
135 LabelDetectionMode_SHOT_AND_FRAME_MODE LabelDetectionMode = 3
138 var LabelDetectionMode_name = map[int32]string{
139 0: "LABEL_DETECTION_MODE_UNSPECIFIED",
142 3: "SHOT_AND_FRAME_MODE",
144 var LabelDetectionMode_value = map[string]int32{
145 "LABEL_DETECTION_MODE_UNSPECIFIED": 0,
148 "SHOT_AND_FRAME_MODE": 3,
151 func (x LabelDetectionMode) String() string {
152 return proto.EnumName(LabelDetectionMode_name, int32(x))
154 func (LabelDetectionMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
156 // Bucketized representation of likelihood.
157 type Likelihood int32
160 // Unknown likelihood.
161 Likelihood_UNKNOWN Likelihood = 0
163 Likelihood_VERY_UNLIKELY Likelihood = 1
165 Likelihood_UNLIKELY Likelihood = 2
167 Likelihood_POSSIBLE Likelihood = 3
169 Likelihood_LIKELY Likelihood = 4
171 Likelihood_VERY_LIKELY Likelihood = 5
174 var Likelihood_name = map[int32]string{
182 var Likelihood_value = map[string]int32{
191 func (x Likelihood) String() string {
192 return proto.EnumName(Likelihood_name, int32(x))
194 func (Likelihood) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
196 // Video annotation request.
197 type AnnotateVideoRequest struct {
198 // Input video location. Currently, only
199 // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
200 // supported, which must be specified in the following format:
201 // `gs://bucket-id/object-id` (other URI formats return
202 // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
203 // [Request URIs](/storage/docs/reference-uris).
204 // A video URI may include wildcards in `object-id`, and thus identify
205 // multiple videos. Supported wildcards: '*' to match 0 or more characters;
206 // '?' to match 1 character. If unset, the input video should be embedded
207 // in the request as `input_content`. If set, `input_content` should be unset.
208 InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"`
209 // The video data bytes. Encoding: base64. If unset, the input video(s)
210 // should be specified via `input_uri`. If set, `input_uri` should be unset.
211 InputContent string `protobuf:"bytes,6,opt,name=input_content,json=inputContent" json:"input_content,omitempty"`
212 // Requested video annotation features.
213 Features []Feature `protobuf:"varint,2,rep,packed,name=features,enum=google.cloud.videointelligence.v1beta1.Feature" json:"features,omitempty"`
214 // Additional video context and/or feature-specific parameters.
215 VideoContext *VideoContext `protobuf:"bytes,3,opt,name=video_context,json=videoContext" json:"video_context,omitempty"`
216 // Optional location where the output (in JSON format) should be stored.
217 // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
218 // URIs are supported, which must be specified in the following format:
219 // `gs://bucket-id/object-id` (other URI formats return
220 // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
221 // [Request URIs](/storage/docs/reference-uris).
222 OutputUri string `protobuf:"bytes,4,opt,name=output_uri,json=outputUri" json:"output_uri,omitempty"`
223 // Optional cloud region where annotation should take place. Supported cloud
224 // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
225 // is specified, a region will be determined based on video file location.
226 LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId" json:"location_id,omitempty"`
229 func (m *AnnotateVideoRequest) Reset() { *m = AnnotateVideoRequest{} }
230 func (m *AnnotateVideoRequest) String() string { return proto.CompactTextString(m) }
231 func (*AnnotateVideoRequest) ProtoMessage() {}
232 func (*AnnotateVideoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
234 func (m *AnnotateVideoRequest) GetInputUri() string {
241 func (m *AnnotateVideoRequest) GetInputContent() string {
243 return m.InputContent
248 func (m *AnnotateVideoRequest) GetFeatures() []Feature {
255 func (m *AnnotateVideoRequest) GetVideoContext() *VideoContext {
257 return m.VideoContext
262 func (m *AnnotateVideoRequest) GetOutputUri() string {
269 func (m *AnnotateVideoRequest) GetLocationId() string {
276 // Video context and/or feature-specific parameters.
277 type VideoContext struct {
278 // Video segments to annotate. The segments may overlap and are not required
279 // to be contiguous or span the whole video. If unspecified, each video
280 // is treated as a single segment.
281 Segments []*VideoSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"`
282 // If label detection has been requested, what labels should be detected
283 // in addition to video-level labels or segment-level labels. If unspecified,
284 // defaults to `SHOT_MODE`.
285 LabelDetectionMode LabelDetectionMode `protobuf:"varint,2,opt,name=label_detection_mode,json=labelDetectionMode,enum=google.cloud.videointelligence.v1beta1.LabelDetectionMode" json:"label_detection_mode,omitempty"`
286 // Whether the video has been shot from a stationary (i.e. non-moving) camera.
287 // When set to true, might improve detection accuracy for moving objects.
288 StationaryCamera bool `protobuf:"varint,3,opt,name=stationary_camera,json=stationaryCamera" json:"stationary_camera,omitempty"`
289 // Model to use for label detection.
290 // Supported values: "latest" and "stable" (the default).
291 LabelDetectionModel string `protobuf:"bytes,4,opt,name=label_detection_model,json=labelDetectionModel" json:"label_detection_model,omitempty"`
292 // Model to use for face detection.
293 // Supported values: "latest" and "stable" (the default).
294 FaceDetectionModel string `protobuf:"bytes,5,opt,name=face_detection_model,json=faceDetectionModel" json:"face_detection_model,omitempty"`
295 // Model to use for shot change detection.
296 // Supported values: "latest" and "stable" (the default).
297 ShotChangeDetectionModel string `protobuf:"bytes,6,opt,name=shot_change_detection_model,json=shotChangeDetectionModel" json:"shot_change_detection_model,omitempty"`
298 // Model to use for safe search detection.
299 // Supported values: "latest" and "stable" (the default).
300 SafeSearchDetectionModel string `protobuf:"bytes,7,opt,name=safe_search_detection_model,json=safeSearchDetectionModel" json:"safe_search_detection_model,omitempty"`
303 func (m *VideoContext) Reset() { *m = VideoContext{} }
304 func (m *VideoContext) String() string { return proto.CompactTextString(m) }
305 func (*VideoContext) ProtoMessage() {}
306 func (*VideoContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
308 func (m *VideoContext) GetSegments() []*VideoSegment {
315 func (m *VideoContext) GetLabelDetectionMode() LabelDetectionMode {
317 return m.LabelDetectionMode
319 return LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED
322 func (m *VideoContext) GetStationaryCamera() bool {
324 return m.StationaryCamera
329 func (m *VideoContext) GetLabelDetectionModel() string {
331 return m.LabelDetectionModel
336 func (m *VideoContext) GetFaceDetectionModel() string {
338 return m.FaceDetectionModel
343 func (m *VideoContext) GetShotChangeDetectionModel() string {
345 return m.ShotChangeDetectionModel
350 func (m *VideoContext) GetSafeSearchDetectionModel() string {
352 return m.SafeSearchDetectionModel
358 type VideoSegment struct {
359 // Start offset in microseconds (inclusive). Unset means 0.
360 StartTimeOffset int64 `protobuf:"varint,1,opt,name=start_time_offset,json=startTimeOffset" json:"start_time_offset,omitempty"`
361 // End offset in microseconds (inclusive). Unset means 0.
362 EndTimeOffset int64 `protobuf:"varint,2,opt,name=end_time_offset,json=endTimeOffset" json:"end_time_offset,omitempty"`
365 func (m *VideoSegment) Reset() { *m = VideoSegment{} }
366 func (m *VideoSegment) String() string { return proto.CompactTextString(m) }
367 func (*VideoSegment) ProtoMessage() {}
368 func (*VideoSegment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
370 func (m *VideoSegment) GetStartTimeOffset() int64 {
372 return m.StartTimeOffset
377 func (m *VideoSegment) GetEndTimeOffset() int64 {
379 return m.EndTimeOffset
385 type LabelLocation struct {
386 // Video segment. Set to [-1, -1] for video-level labels.
387 // Set to [timestamp, timestamp] for frame-level labels.
388 // Otherwise, corresponds to one of `AnnotateSpec.segments`
389 // (if specified) or to shot boundaries (if requested).
390 Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment" json:"segment,omitempty"`
391 // Confidence that the label is accurate. Range: [0, 1].
392 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"`
394 Level LabelLevel `protobuf:"varint,3,opt,name=level,enum=google.cloud.videointelligence.v1beta1.LabelLevel" json:"level,omitempty"`
397 func (m *LabelLocation) Reset() { *m = LabelLocation{} }
398 func (m *LabelLocation) String() string { return proto.CompactTextString(m) }
399 func (*LabelLocation) ProtoMessage() {}
400 func (*LabelLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
402 func (m *LabelLocation) GetSegment() *VideoSegment {
409 func (m *LabelLocation) GetConfidence() float32 {
416 func (m *LabelLocation) GetLevel() LabelLevel {
420 return LabelLevel_LABEL_LEVEL_UNSPECIFIED
424 type LabelAnnotation struct {
425 // Textual description, e.g. `Fixed-gear bicycle`.
426 Description string `protobuf:"bytes,1,opt,name=description" json:"description,omitempty"`
427 // Language code for `description` in BCP-47 format.
428 LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode" json:"language_code,omitempty"`
429 // Where the label was detected and with what confidence.
430 Locations []*LabelLocation `protobuf:"bytes,3,rep,name=locations" json:"locations,omitempty"`
433 func (m *LabelAnnotation) Reset() { *m = LabelAnnotation{} }
434 func (m *LabelAnnotation) String() string { return proto.CompactTextString(m) }
435 func (*LabelAnnotation) ProtoMessage() {}
436 func (*LabelAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
438 func (m *LabelAnnotation) GetDescription() string {
445 func (m *LabelAnnotation) GetLanguageCode() string {
447 return m.LanguageCode
452 func (m *LabelAnnotation) GetLocations() []*LabelLocation {
459 // Safe search annotation (based on per-frame visual signals only).
460 // If no unsafe content has been detected in a frame, no annotations
461 // are present for that frame. If only some types of unsafe content
462 // have been detected in a frame, the likelihood is set to `UNKNOWN`
463 // for all other types of unsafe content.
464 type SafeSearchAnnotation struct {
465 // Likelihood of adult content.
466 Adult Likelihood `protobuf:"varint,1,opt,name=adult,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"adult,omitempty"`
467 // Likelihood that an obvious modification was made to the original
468 // version to make it appear funny or offensive.
469 Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"spoof,omitempty"`
470 // Likelihood of medical content.
471 Medical Likelihood `protobuf:"varint,3,opt,name=medical,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"medical,omitempty"`
472 // Likelihood of violent content.
473 Violent Likelihood `protobuf:"varint,4,opt,name=violent,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"violent,omitempty"`
474 // Likelihood of racy content.
475 Racy Likelihood `protobuf:"varint,5,opt,name=racy,enum=google.cloud.videointelligence.v1beta1.Likelihood" json:"racy,omitempty"`
476 // Video time offset in microseconds.
477 TimeOffset int64 `protobuf:"varint,6,opt,name=time_offset,json=timeOffset" json:"time_offset,omitempty"`
480 func (m *SafeSearchAnnotation) Reset() { *m = SafeSearchAnnotation{} }
481 func (m *SafeSearchAnnotation) String() string { return proto.CompactTextString(m) }
482 func (*SafeSearchAnnotation) ProtoMessage() {}
483 func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
485 func (m *SafeSearchAnnotation) GetAdult() Likelihood {
489 return Likelihood_UNKNOWN
492 func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
496 return Likelihood_UNKNOWN
499 func (m *SafeSearchAnnotation) GetMedical() Likelihood {
503 return Likelihood_UNKNOWN
506 func (m *SafeSearchAnnotation) GetViolent() Likelihood {
510 return Likelihood_UNKNOWN
513 func (m *SafeSearchAnnotation) GetRacy() Likelihood {
517 return Likelihood_UNKNOWN
520 func (m *SafeSearchAnnotation) GetTimeOffset() int64 {
528 type BoundingBox struct {
529 // Left X coordinate.
530 Left int32 `protobuf:"varint,1,opt,name=left" json:"left,omitempty"`
531 // Right X coordinate.
532 Right int32 `protobuf:"varint,2,opt,name=right" json:"right,omitempty"`
533 // Bottom Y coordinate.
534 Bottom int32 `protobuf:"varint,3,opt,name=bottom" json:"bottom,omitempty"`
536 Top int32 `protobuf:"varint,4,opt,name=top" json:"top,omitempty"`
539 func (m *BoundingBox) Reset() { *m = BoundingBox{} }
540 func (m *BoundingBox) String() string { return proto.CompactTextString(m) }
541 func (*BoundingBox) ProtoMessage() {}
542 func (*BoundingBox) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
544 func (m *BoundingBox) GetLeft() int32 {
551 func (m *BoundingBox) GetRight() int32 {
558 func (m *BoundingBox) GetBottom() int32 {
565 func (m *BoundingBox) GetTop() int32 {
573 type FaceLocation struct {
574 // Bounding box in a frame.
575 BoundingBox *BoundingBox `protobuf:"bytes,1,opt,name=bounding_box,json=boundingBox" json:"bounding_box,omitempty"`
576 // Video time offset in microseconds.
577 TimeOffset int64 `protobuf:"varint,2,opt,name=time_offset,json=timeOffset" json:"time_offset,omitempty"`
580 func (m *FaceLocation) Reset() { *m = FaceLocation{} }
581 func (m *FaceLocation) String() string { return proto.CompactTextString(m) }
582 func (*FaceLocation) ProtoMessage() {}
583 func (*FaceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
585 func (m *FaceLocation) GetBoundingBox() *BoundingBox {
592 func (m *FaceLocation) GetTimeOffset() int64 {
600 type FaceAnnotation struct {
601 // Thumbnail of a representative face view (in JPEG format). Encoding: base64.
602 Thumbnail string `protobuf:"bytes,1,opt,name=thumbnail" json:"thumbnail,omitempty"`
603 // All locations where a face was detected.
604 // Faces are detected and tracked on a per-video basis
605 // (as opposed to across multiple videos).
606 Segments []*VideoSegment `protobuf:"bytes,2,rep,name=segments" json:"segments,omitempty"`
607 // Face locations at one frame per second.
608 Locations []*FaceLocation `protobuf:"bytes,3,rep,name=locations" json:"locations,omitempty"`
611 func (m *FaceAnnotation) Reset() { *m = FaceAnnotation{} }
612 func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) }
613 func (*FaceAnnotation) ProtoMessage() {}
614 func (*FaceAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
616 func (m *FaceAnnotation) GetThumbnail() string {
623 func (m *FaceAnnotation) GetSegments() []*VideoSegment {
630 func (m *FaceAnnotation) GetLocations() []*FaceLocation {
637 // Annotation results for a single video.
638 type VideoAnnotationResults struct {
639 // Video file location in
640 // [Google Cloud Storage](https://cloud.google.com/storage/).
641 InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"`
642 // Label annotations. There is exactly one element for each unique label.
643 LabelAnnotations []*LabelAnnotation `protobuf:"bytes,2,rep,name=label_annotations,json=labelAnnotations" json:"label_annotations,omitempty"`
644 // Face annotations. There is exactly one element for each unique face.
645 FaceAnnotations []*FaceAnnotation `protobuf:"bytes,3,rep,name=face_annotations,json=faceAnnotations" json:"face_annotations,omitempty"`
646 // Shot annotations. Each shot is represented as a video segment.
647 ShotAnnotations []*VideoSegment `protobuf:"bytes,4,rep,name=shot_annotations,json=shotAnnotations" json:"shot_annotations,omitempty"`
648 // Safe search annotations.
649 SafeSearchAnnotations []*SafeSearchAnnotation `protobuf:"bytes,6,rep,name=safe_search_annotations,json=safeSearchAnnotations" json:"safe_search_annotations,omitempty"`
650 // If set, indicates an error. Note that for a single `AnnotateVideoRequest`
651 // some videos may succeed and some may fail.
652 Error *google_rpc.Status `protobuf:"bytes,5,opt,name=error" json:"error,omitempty"`
655 func (m *VideoAnnotationResults) Reset() { *m = VideoAnnotationResults{} }
656 func (m *VideoAnnotationResults) String() string { return proto.CompactTextString(m) }
657 func (*VideoAnnotationResults) ProtoMessage() {}
658 func (*VideoAnnotationResults) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
660 func (m *VideoAnnotationResults) GetInputUri() string {
667 func (m *VideoAnnotationResults) GetLabelAnnotations() []*LabelAnnotation {
669 return m.LabelAnnotations
674 func (m *VideoAnnotationResults) GetFaceAnnotations() []*FaceAnnotation {
676 return m.FaceAnnotations
681 func (m *VideoAnnotationResults) GetShotAnnotations() []*VideoSegment {
683 return m.ShotAnnotations
688 func (m *VideoAnnotationResults) GetSafeSearchAnnotations() []*SafeSearchAnnotation {
690 return m.SafeSearchAnnotations
695 func (m *VideoAnnotationResults) GetError() *google_rpc.Status {
702 // Video annotation response. Included in the `response`
703 // field of the `Operation` returned by the `GetOperation`
704 // call of the `google::longrunning::Operations` service.
705 type AnnotateVideoResponse struct {
706 // Annotation results for all videos specified in `AnnotateVideoRequest`.
707 AnnotationResults []*VideoAnnotationResults `protobuf:"bytes,1,rep,name=annotation_results,json=annotationResults" json:"annotation_results,omitempty"`
710 func (m *AnnotateVideoResponse) Reset() { *m = AnnotateVideoResponse{} }
711 func (m *AnnotateVideoResponse) String() string { return proto.CompactTextString(m) }
712 func (*AnnotateVideoResponse) ProtoMessage() {}
713 func (*AnnotateVideoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
715 func (m *AnnotateVideoResponse) GetAnnotationResults() []*VideoAnnotationResults {
717 return m.AnnotationResults
722 // Annotation progress for a single video.
723 type VideoAnnotationProgress struct {
724 // Video file location in
725 // [Google Cloud Storage](https://cloud.google.com/storage/).
726 InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri" json:"input_uri,omitempty"`
727 // Approximate percentage processed thus far.
728 // Guaranteed to be 100 when fully processed.
729 ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent" json:"progress_percent,omitempty"`
730 // Time when the request was received.
731 StartTime *google_protobuf3.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
732 // Time of the most recent update.
733 UpdateTime *google_protobuf3.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime" json:"update_time,omitempty"`
736 func (m *VideoAnnotationProgress) Reset() { *m = VideoAnnotationProgress{} }
737 func (m *VideoAnnotationProgress) String() string { return proto.CompactTextString(m) }
738 func (*VideoAnnotationProgress) ProtoMessage() {}
739 func (*VideoAnnotationProgress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
741 func (m *VideoAnnotationProgress) GetInputUri() string {
748 func (m *VideoAnnotationProgress) GetProgressPercent() int32 {
750 return m.ProgressPercent
755 func (m *VideoAnnotationProgress) GetStartTime() *google_protobuf3.Timestamp {
762 func (m *VideoAnnotationProgress) GetUpdateTime() *google_protobuf3.Timestamp {
769 // Video annotation progress. Included in the `metadata`
770 // field of the `Operation` returned by the `GetOperation`
771 // call of the `google::longrunning::Operations` service.
772 type AnnotateVideoProgress struct {
773 // Progress metadata for all videos specified in `AnnotateVideoRequest`.
774 AnnotationProgress []*VideoAnnotationProgress `protobuf:"bytes,1,rep,name=annotation_progress,json=annotationProgress" json:"annotation_progress,omitempty"`
777 func (m *AnnotateVideoProgress) Reset() { *m = AnnotateVideoProgress{} }
778 func (m *AnnotateVideoProgress) String() string { return proto.CompactTextString(m) }
779 func (*AnnotateVideoProgress) ProtoMessage() {}
780 func (*AnnotateVideoProgress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
782 func (m *AnnotateVideoProgress) GetAnnotationProgress() []*VideoAnnotationProgress {
784 return m.AnnotationProgress
790 proto.RegisterType((*AnnotateVideoRequest)(nil), "google.cloud.videointelligence.v1beta1.AnnotateVideoRequest")
791 proto.RegisterType((*VideoContext)(nil), "google.cloud.videointelligence.v1beta1.VideoContext")
792 proto.RegisterType((*VideoSegment)(nil), "google.cloud.videointelligence.v1beta1.VideoSegment")
793 proto.RegisterType((*LabelLocation)(nil), "google.cloud.videointelligence.v1beta1.LabelLocation")
794 proto.RegisterType((*LabelAnnotation)(nil), "google.cloud.videointelligence.v1beta1.LabelAnnotation")
795 proto.RegisterType((*SafeSearchAnnotation)(nil), "google.cloud.videointelligence.v1beta1.SafeSearchAnnotation")
796 proto.RegisterType((*BoundingBox)(nil), "google.cloud.videointelligence.v1beta1.BoundingBox")
797 proto.RegisterType((*FaceLocation)(nil), "google.cloud.videointelligence.v1beta1.FaceLocation")
798 proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.videointelligence.v1beta1.FaceAnnotation")
799 proto.RegisterType((*VideoAnnotationResults)(nil), "google.cloud.videointelligence.v1beta1.VideoAnnotationResults")
800 proto.RegisterType((*AnnotateVideoResponse)(nil), "google.cloud.videointelligence.v1beta1.AnnotateVideoResponse")
801 proto.RegisterType((*VideoAnnotationProgress)(nil), "google.cloud.videointelligence.v1beta1.VideoAnnotationProgress")
802 proto.RegisterType((*AnnotateVideoProgress)(nil), "google.cloud.videointelligence.v1beta1.AnnotateVideoProgress")
803 proto.RegisterEnum("google.cloud.videointelligence.v1beta1.Feature", Feature_name, Feature_value)
804 proto.RegisterEnum("google.cloud.videointelligence.v1beta1.LabelLevel", LabelLevel_name, LabelLevel_value)
805 proto.RegisterEnum("google.cloud.videointelligence.v1beta1.LabelDetectionMode", LabelDetectionMode_name, LabelDetectionMode_value)
806 proto.RegisterEnum("google.cloud.videointelligence.v1beta1.Likelihood", Likelihood_name, Likelihood_value)
809 // Reference imports to suppress errors if they are not otherwise used.
810 var _ context.Context
811 var _ grpc.ClientConn
813 // This is a compile-time assertion to ensure that this generated file
814 // is compatible with the grpc package it is being compiled against.
815 const _ = grpc.SupportPackageIsVersion4
817 // Client API for VideoIntelligenceService service
819 type VideoIntelligenceServiceClient interface {
820 // Performs asynchronous video annotation. Progress and results can be
821 // retrieved through the `google.longrunning.Operations` interface.
822 // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
823 // `Operation.response` contains `AnnotateVideoResponse` (results).
824 AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
827 type videoIntelligenceServiceClient struct {
831 func NewVideoIntelligenceServiceClient(cc *grpc.ClientConn) VideoIntelligenceServiceClient {
832 return &videoIntelligenceServiceClient{cc}
835 func (c *videoIntelligenceServiceClient) AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
836 out := new(google_longrunning.Operation)
837 err := grpc.Invoke(ctx, "/google.cloud.videointelligence.v1beta1.VideoIntelligenceService/AnnotateVideo", in, out, c.cc, opts...)
844 // Server API for VideoIntelligenceService service
846 type VideoIntelligenceServiceServer interface {
847 // Performs asynchronous video annotation. Progress and results can be
848 // retrieved through the `google.longrunning.Operations` interface.
849 // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
850 // `Operation.response` contains `AnnotateVideoResponse` (results).
851 AnnotateVideo(context.Context, *AnnotateVideoRequest) (*google_longrunning.Operation, error)
854 func RegisterVideoIntelligenceServiceServer(s *grpc.Server, srv VideoIntelligenceServiceServer) {
855 s.RegisterService(&_VideoIntelligenceService_serviceDesc, srv)
858 func _VideoIntelligenceService_AnnotateVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
859 in := new(AnnotateVideoRequest)
860 if err := dec(in); err != nil {
863 if interceptor == nil {
864 return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, in)
866 info := &grpc.UnaryServerInfo{
868 FullMethod: "/google.cloud.videointelligence.v1beta1.VideoIntelligenceService/AnnotateVideo",
870 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
871 return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, req.(*AnnotateVideoRequest))
873 return interceptor(ctx, in, info, handler)
876 var _VideoIntelligenceService_serviceDesc = grpc.ServiceDesc{
877 ServiceName: "google.cloud.videointelligence.v1beta1.VideoIntelligenceService",
878 HandlerType: (*VideoIntelligenceServiceServer)(nil),
879 Methods: []grpc.MethodDesc{
881 MethodName: "AnnotateVideo",
882 Handler: _VideoIntelligenceService_AnnotateVideo_Handler,
885 Streams: []grpc.StreamDesc{},
886 Metadata: "google/cloud/videointelligence/v1beta1/video_intelligence.proto",
890 proto.RegisterFile("google/cloud/videointelligence/v1beta1/video_intelligence.proto", fileDescriptor0)
893 var fileDescriptor0 = []byte{
894 // 1503 bytes of a gzipped FileDescriptorProto
895 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcb, 0x6f, 0x1b, 0x45,
896 0x18, 0xef, 0xfa, 0x91, 0xc4, 0x9f, 0x93, 0xd8, 0x99, 0x24, 0x8d, 0x49, 0x1b, 0x1a, 0xb9, 0xa8,
897 0x0a, 0x41, 0xb2, 0xa9, 0xcb, 0x43, 0xb4, 0x40, 0xe5, 0x38, 0xeb, 0xc6, 0xaa, 0x63, 0x47, 0xeb,
898 0x24, 0x55, 0xb9, 0xac, 0xd6, 0xbb, 0x63, 0x67, 0xc5, 0x7a, 0x67, 0xd9, 0x9d, 0x8d, 0xda, 0x23,
899 0x1c, 0x40, 0x1c, 0x11, 0xff, 0x05, 0x12, 0xf0, 0x2f, 0x70, 0xe5, 0xc4, 0x01, 0x2e, 0x9c, 0xb8,
900 0xf0, 0x7f, 0x80, 0xe6, 0xb1, 0xf6, 0xda, 0x0e, 0xd4, 0x0e, 0xdc, 0x3c, 0xdf, 0xe3, 0xf7, 0xbd,
901 0x67, 0xbe, 0x35, 0x3c, 0xee, 0x13, 0xd2, 0x77, 0x70, 0xd9, 0x74, 0x48, 0x68, 0x95, 0x2f, 0x6d,
902 0x0b, 0x13, 0xdb, 0xa5, 0xd8, 0x71, 0xec, 0x3e, 0x76, 0x4d, 0x5c, 0xbe, 0xbc, 0xdf, 0xc5, 0xd4,
903 0xb8, 0x2f, 0x38, 0x7a, 0x9c, 0x55, 0xf2, 0x7c, 0x42, 0x09, 0xba, 0x27, 0x00, 0x4a, 0x1c, 0xa0,
904 0x34, 0x05, 0x50, 0x92, 0x00, 0xdb, 0xb7, 0xa5, 0x21, 0xc3, 0xb3, 0xcb, 0x86, 0xeb, 0x12, 0x6a,
905 0x50, 0x9b, 0xb8, 0x81, 0x40, 0xd9, 0xbe, 0x2b, 0xb9, 0x0e, 0x71, 0xfb, 0x7e, 0xe8, 0xba, 0xb6,
906 0xdb, 0x2f, 0x13, 0x0f, 0xfb, 0x63, 0x42, 0x77, 0xa4, 0x10, 0x3f, 0x75, 0xc3, 0x5e, 0x99, 0xda,
907 0x03, 0x1c, 0x50, 0x63, 0xe0, 0x49, 0x81, 0x2d, 0x29, 0xe0, 0x7b, 0x66, 0x39, 0xa0, 0x06, 0x0d,
908 0xa5, 0x66, 0xf1, 0xa7, 0x04, 0x6c, 0x54, 0x85, 0x51, 0x7c, 0xce, 0x5c, 0xd4, 0xf0, 0x67, 0x21,
909 0x0e, 0x28, 0xba, 0x05, 0x19, 0xdb, 0xf5, 0x42, 0xaa, 0x87, 0xbe, 0x5d, 0x50, 0x76, 0x95, 0xbd,
910 0x8c, 0xb6, 0xc4, 0x09, 0x67, 0xbe, 0x8d, 0xee, 0xc2, 0x8a, 0x60, 0x9a, 0xc4, 0xa5, 0xd8, 0xa5,
911 0x85, 0x05, 0x2e, 0xb0, 0xcc, 0x89, 0x35, 0x41, 0x43, 0x4f, 0x61, 0xa9, 0x87, 0x0d, 0x1a, 0xfa,
912 0x38, 0x28, 0x24, 0x76, 0x93, 0x7b, 0xab, 0x95, 0x72, 0x69, 0xb6, 0x94, 0x94, 0xea, 0x42, 0x4f,
913 0x1b, 0x02, 0xa0, 0xe7, 0xb0, 0x22, 0x12, 0xcd, 0x2d, 0xbe, 0xa0, 0x85, 0xe4, 0xae, 0xb2, 0x97,
914 0xad, 0xbc, 0x33, 0x2b, 0x22, 0x8f, 0xad, 0x26, 0x74, 0xb5, 0xe5, 0xcb, 0xd8, 0x09, 0xed, 0x00,
915 0x90, 0x90, 0x46, 0xa1, 0xa6, 0x78, 0x24, 0x19, 0x41, 0x61, 0xb1, 0xde, 0x81, 0xac, 0x43, 0x4c,
916 0x9e, 0x6e, 0xdd, 0xb6, 0x0a, 0x69, 0xce, 0x87, 0x88, 0xd4, 0xb0, 0x8a, 0x7f, 0x24, 0x61, 0x39,
917 0x0e, 0x8f, 0x4e, 0x60, 0x29, 0xc0, 0xfd, 0x01, 0x76, 0x69, 0x50, 0x50, 0x76, 0x93, 0x73, 0xbb,
918 0xd9, 0x11, 0xca, 0xda, 0x10, 0x05, 0x39, 0xb0, 0xe1, 0x18, 0x5d, 0xec, 0xe8, 0x16, 0xa6, 0xd8,
919 0xe4, 0xae, 0x0c, 0x88, 0x85, 0x0b, 0x89, 0x5d, 0x65, 0x6f, 0xb5, 0xf2, 0x70, 0x56, 0xf4, 0x26,
920 0xc3, 0x38, 0x8c, 0x20, 0x8e, 0x89, 0x85, 0x35, 0xe4, 0x4c, 0xd1, 0xd0, 0x5b, 0xb0, 0x16, 0x88,
921 0x26, 0x34, 0xfc, 0x97, 0xba, 0x69, 0x0c, 0xb0, 0x6f, 0xf0, 0x7c, 0x2f, 0x69, 0xf9, 0x11, 0xa3,
922 0xc6, 0xe9, 0xa8, 0x02, 0x9b, 0x57, 0xb9, 0xe6, 0xc8, 0x44, 0xae, 0x4f, 0xe3, 0x3b, 0xe8, 0x6d,
923 0xd8, 0xe8, 0x19, 0x26, 0x9e, 0x52, 0x11, 0xb9, 0x45, 0x8c, 0x37, 0xa1, 0xf1, 0x11, 0xdc, 0x0a,
924 0x2e, 0x08, 0xd5, 0xcd, 0x0b, 0xc3, 0xed, 0x4f, 0x2b, 0x8a, 0xf6, 0x2b, 0x30, 0x91, 0x1a, 0x97,
925 0xb8, 0x42, 0xdd, 0xe8, 0x61, 0x3d, 0xc0, 0x86, 0x6f, 0x5e, 0x4c, 0xa9, 0x2f, 0x4a, 0x75, 0xa3,
926 0x87, 0x3b, 0x5c, 0x62, 0x5c, 0xbd, 0xd8, 0x95, 0x05, 0x96, 0x85, 0x41, 0xfb, 0x3c, 0x41, 0x3e,
927 0xd5, 0xd9, 0x98, 0xe9, 0xa4, 0xd7, 0x0b, 0x30, 0xe5, 0x33, 0x92, 0xd4, 0x72, 0x9c, 0x71, 0x6a,
928 0x0f, 0x70, 0x9b, 0x93, 0xd1, 0x3d, 0xc8, 0x61, 0xd7, 0x1a, 0x93, 0x4c, 0x70, 0xc9, 0x15, 0xec,
929 0x5a, 0x23, 0xb9, 0xe2, 0xcf, 0x0a, 0xac, 0xf0, 0xfa, 0x34, 0x65, 0x67, 0xa1, 0x16, 0x2c, 0xca,
930 0x06, 0xe0, 0xd8, 0xd7, 0xed, 0xa2, 0x08, 0x04, 0xbd, 0x0e, 0x60, 0x12, 0xb7, 0x67, 0x5b, 0x4c,
931 0x96, 0x3b, 0x91, 0xd0, 0x62, 0x14, 0x74, 0x04, 0x69, 0x07, 0x5f, 0x62, 0x87, 0x97, 0x7a, 0xb5,
932 0x52, 0x99, 0xab, 0xab, 0x9a, 0x4c, 0x53, 0x13, 0x00, 0xc5, 0xef, 0x15, 0xc8, 0x71, 0x6a, 0x75,
933 0x78, 0x9d, 0xa1, 0x5d, 0xc8, 0x5a, 0x38, 0x30, 0x7d, 0xdb, 0x63, 0x47, 0x79, 0xa3, 0xc4, 0x49,
934 0xec, 0x52, 0x71, 0x0c, 0xb7, 0x1f, 0x1a, 0x7d, 0xac, 0x9b, 0x51, 0x77, 0x67, 0xb4, 0xe5, 0x88,
935 0x58, 0x63, 0xbd, 0xd9, 0x81, 0x4c, 0x34, 0x7a, 0x41, 0x21, 0xc9, 0x87, 0xeb, 0xdd, 0xf9, 0x1c,
936 0x95, 0xda, 0xda, 0x08, 0xa7, 0xf8, 0x63, 0x12, 0x36, 0x3a, 0xc3, 0xe2, 0xc7, 0x9c, 0x3e, 0x82,
937 0xb4, 0x61, 0x85, 0x8e, 0x28, 0xc0, 0x3c, 0x29, 0xb1, 0x3f, 0xc5, 0x8e, 0x7d, 0x41, 0x88, 0xa5,
938 0x09, 0x00, 0x86, 0x14, 0x78, 0x84, 0xf4, 0xe4, 0xc8, 0x5e, 0x0b, 0x89, 0x03, 0xa0, 0x26, 0x2c,
939 0x0e, 0xb0, 0x65, 0x9b, 0xc6, 0xfc, 0x85, 0x1a, 0x61, 0x45, 0x10, 0x0c, 0xed, 0xd2, 0x26, 0x0e,
940 0x6b, 0xb2, 0xd4, 0xf5, 0xd1, 0x24, 0x04, 0xaa, 0x43, 0xca, 0x37, 0xcc, 0x97, 0x7c, 0x90, 0xaf,
941 0x07, 0xc5, 0xf5, 0xd9, 0x9d, 0x1b, 0x1f, 0x98, 0x05, 0x3e, 0x30, 0x40, 0x47, 0xd3, 0x62, 0x40,
942 0xf6, 0x80, 0x84, 0xae, 0x65, 0xbb, 0xfd, 0x03, 0xf2, 0x02, 0x21, 0x48, 0x39, 0xb8, 0x27, 0xca,
943 0x94, 0xd6, 0xf8, 0x6f, 0xb4, 0x01, 0x69, 0xdf, 0xee, 0x5f, 0x88, 0x71, 0x4b, 0x6b, 0xe2, 0x80,
944 0x6e, 0xc2, 0x42, 0x97, 0x50, 0x4a, 0x06, 0x3c, 0x79, 0x69, 0x4d, 0x9e, 0x50, 0x1e, 0x92, 0x94,
945 0x78, 0x3c, 0x07, 0x69, 0x8d, 0xfd, 0x2c, 0x7e, 0xa5, 0xc0, 0x72, 0xdd, 0x30, 0xf1, 0x70, 0x1e,
946 0xcf, 0x61, 0xb9, 0x2b, 0x6d, 0xea, 0x5d, 0xf2, 0x42, 0x0e, 0xe5, 0x83, 0x59, 0x83, 0x8c, 0xf9,
947 0xab, 0x65, 0xbb, 0x31, 0xe7, 0x27, 0x82, 0x4d, 0x4c, 0x05, 0xfb, 0x9b, 0x02, 0xab, 0xcc, 0x93,
948 0x58, 0x63, 0xde, 0x86, 0x0c, 0xbd, 0x08, 0x07, 0x5d, 0xd7, 0xb0, 0x1d, 0x39, 0x4b, 0x23, 0xc2,
949 0xd8, 0x03, 0x94, 0xf8, 0x5f, 0x1e, 0x20, 0x6d, 0x7a, 0xec, 0x66, 0x86, 0x8c, 0x27, 0x31, 0x3e,
950 0x75, 0x7f, 0x25, 0xe1, 0x26, 0x37, 0x37, 0x8a, 0x4b, 0xc3, 0x41, 0xe8, 0xd0, 0xe0, 0xdf, 0x97,
951 0x0f, 0x0b, 0xd6, 0xc4, 0x8b, 0x13, 0x5b, 0x96, 0x64, 0x98, 0xef, 0xcf, 0x75, 0x15, 0xc4, 0xec,
952 0xe6, 0x9d, 0x71, 0x42, 0x80, 0x0c, 0xc8, 0xf3, 0x37, 0x2a, 0x6e, 0x44, 0x04, 0xfe, 0xde, 0x3c,
953 0x81, 0xc7, 0x6c, 0xe4, 0x7a, 0x63, 0xe7, 0x00, 0xe9, 0x90, 0xe7, 0x8f, 0x5a, 0xdc, 0x44, 0xea,
954 0x3f, 0x94, 0x2b, 0xc7, 0xd0, 0xe2, 0x06, 0x28, 0x6c, 0xc5, 0x9f, 0xbd, 0xb8, 0x9d, 0x05, 0x6e,
955 0xe7, 0xc3, 0x59, 0xed, 0x5c, 0x75, 0x3b, 0x6a, 0x9b, 0xc1, 0x15, 0xd4, 0x00, 0xed, 0x41, 0x1a,
956 0xfb, 0x3e, 0xf1, 0xf9, 0x2d, 0x90, 0xad, 0xa0, 0xc8, 0x86, 0xef, 0x99, 0xa5, 0x0e, 0xdf, 0x3d,
957 0x35, 0x21, 0x50, 0xfc, 0x52, 0x81, 0xcd, 0x89, 0xe5, 0x33, 0xf0, 0x88, 0x1b, 0x60, 0x34, 0x00,
958 0x34, 0xf2, 0x56, 0xf7, 0x45, 0x5b, 0xc8, 0x65, 0xea, 0xe3, 0xb9, 0x92, 0x33, 0xd5, 0x5c, 0xda,
959 0x9a, 0x31, 0x49, 0x2a, 0xfe, 0xae, 0xc0, 0xd6, 0x84, 0xf4, 0x89, 0x4f, 0xfa, 0x3e, 0x0e, 0x5e,
960 0xd1, 0x8b, 0x6f, 0x42, 0xde, 0x93, 0x82, 0xba, 0x87, 0x7d, 0x93, 0xdd, 0xa3, 0xe2, 0xbe, 0xc9,
961 0x45, 0xf4, 0x13, 0x41, 0x46, 0x1f, 0x00, 0x8c, 0x96, 0x06, 0xb9, 0xbe, 0x6e, 0x47, 0xa1, 0x44,
962 0x8b, 0x7b, 0xe9, 0x34, 0x5a, 0xdc, 0xb5, 0xcc, 0x70, 0x93, 0x40, 0x8f, 0x20, 0x1b, 0x7a, 0x96,
963 0x41, 0xb1, 0xd0, 0x4d, 0xbd, 0x52, 0x17, 0x84, 0x38, 0x23, 0x14, 0xbf, 0x9e, 0x4c, 0xf2, 0x30,
964 0x32, 0x0f, 0xd6, 0x63, 0x49, 0x8e, 0xfc, 0x95, 0x59, 0x7e, 0x7c, 0xcd, 0x2c, 0x47, 0xe8, 0x5a,
965 0xac, 0x80, 0x11, 0x6d, 0xff, 0x73, 0x05, 0x16, 0xe5, 0x6e, 0x8f, 0xb6, 0x60, 0xbd, 0xae, 0x56,
966 0x4f, 0xcf, 0x34, 0x55, 0x3f, 0x6b, 0x75, 0x4e, 0xd4, 0x5a, 0xa3, 0xde, 0x50, 0x0f, 0xf3, 0x37,
967 0xd0, 0x3a, 0xe4, 0x9a, 0xd5, 0x03, 0xb5, 0xa9, 0x1f, 0xaa, 0xa7, 0x6a, 0xed, 0xb4, 0xd1, 0x6e,
968 0xe5, 0x15, 0x84, 0x60, 0xb5, 0x5e, 0xad, 0xa9, 0x31, 0x5a, 0x02, 0xbd, 0x06, 0x9b, 0x9d, 0xa3,
969 0xf6, 0xa9, 0x5e, 0x3b, 0xaa, 0xb6, 0x9e, 0xc4, 0x59, 0x49, 0xce, 0xaa, 0xd6, 0x55, 0xbd, 0xa3,
970 0x56, 0xb5, 0xda, 0x51, 0x8c, 0x95, 0xda, 0x77, 0x01, 0x46, 0x1b, 0x0b, 0xba, 0x05, 0x5b, 0xc2,
971 0x58, 0x53, 0x3d, 0x57, 0x9b, 0x13, 0x9e, 0xe4, 0x20, 0x7b, 0xde, 0x38, 0x54, 0xdb, 0x82, 0x99,
972 0x57, 0xd0, 0x1a, 0xac, 0x74, 0xd4, 0x27, 0xc7, 0x6a, 0xeb, 0x54, 0x92, 0x12, 0x68, 0x15, 0x80,
973 0x3b, 0x21, 0xce, 0x49, 0xa6, 0x53, 0xd7, 0xaa, 0xc7, 0xaa, 0x24, 0xa4, 0xf6, 0x7d, 0x40, 0xd3,
974 0x7b, 0x37, 0x7a, 0x03, 0x76, 0x27, 0x82, 0xd4, 0x8f, 0xdb, 0x87, 0x93, 0xa9, 0x58, 0x81, 0x0c,
975 0x07, 0x67, 0xac, 0xbc, 0xc2, 0x6c, 0x09, 0x6c, 0x7e, 0x4e, 0xb0, 0x14, 0x72, 0x76, 0xb5, 0x75,
976 0xa8, 0xc7, 0x18, 0xc9, 0x7d, 0x0c, 0x30, 0x7a, 0x53, 0x51, 0x16, 0x16, 0xcf, 0x5a, 0x4f, 0x5b,
977 0xed, 0x67, 0xad, 0xfc, 0x0d, 0x16, 0xc2, 0xb9, 0xaa, 0x3d, 0xd7, 0xcf, 0x5a, 0xcd, 0xc6, 0x53,
978 0xb5, 0xf9, 0x3c, 0xaf, 0xa0, 0x65, 0x58, 0x1a, 0x9e, 0x12, 0xec, 0x74, 0xd2, 0xee, 0x74, 0x1a,
979 0x07, 0x4d, 0x35, 0x9f, 0x44, 0x00, 0x0b, 0x92, 0x93, 0xe2, 0xe9, 0x60, 0xaa, 0x92, 0x90, 0xae,
980 0xfc, 0xa0, 0x40, 0x81, 0x97, 0xbf, 0x11, 0x6b, 0x8c, 0x0e, 0xf6, 0x2f, 0x6d, 0x13, 0xa3, 0x6f,
981 0x14, 0x58, 0x19, 0xeb, 0x3b, 0x34, 0xf3, 0x6d, 0x73, 0xd5, 0x07, 0xe9, 0xf6, 0x4e, 0xa4, 0x1d,
982 0xfb, 0x12, 0x2e, 0xb5, 0xa3, 0x2f, 0xe1, 0xe2, 0xdd, 0x2f, 0x7e, 0xfd, 0xf3, 0xdb, 0xc4, 0x4e,
983 0xb1, 0x30, 0xfe, 0x61, 0x1e, 0x3c, 0x94, 0x6d, 0x88, 0x1f, 0x2a, 0xfb, 0x07, 0xbf, 0x28, 0xb0,
984 0x6f, 0x92, 0xc1, 0x8c, 0x7e, 0x1c, 0xec, 0xfc, 0x53, 0x70, 0x27, 0x6c, 0xe4, 0x4e, 0x94, 0x4f,
985 0x9e, 0x49, 0xa0, 0x3e, 0x61, 0x4b, 0x6a, 0x89, 0xf8, 0xfd, 0x72, 0x1f, 0xbb, 0x7c, 0x20, 0xcb,
986 0x82, 0x65, 0x78, 0x76, 0xf0, 0xaa, 0xbf, 0x10, 0x1e, 0x4d, 0x71, 0xbe, 0x4b, 0xdc, 0x7b, 0x22,
987 0x90, 0x6b, 0xdc, 0xc5, 0x29, 0x3f, 0x4a, 0xe7, 0xf7, 0x0f, 0x98, 0x6a, 0x77, 0x81, 0x1b, 0x7b,
988 0xf0, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xe8, 0xc8, 0xa8, 0xae, 0x10, 0x00, 0x00,