...

Source file src/google.golang.org/genproto/googleapis/cloud/videointelligence/v1p2beta1/video_intelligence.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/videointelligence/v1p2beta1

     1  // Copyright 2019 Google LLC.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  //
    15  
    16  // Code generated by protoc-gen-go. DO NOT EDIT.
    17  // versions:
    18  // 	protoc-gen-go v1.26.0
    19  // 	protoc        v3.12.2
    20  // source: google/cloud/videointelligence/v1p2beta1/video_intelligence.proto
    21  
    22  package videointelligence
    23  
    24  import (
    25  	context "context"
    26  	reflect "reflect"
    27  	sync "sync"
    28  
    29  	_ "google.golang.org/genproto/googleapis/api/annotations"
    30  	longrunning "google.golang.org/genproto/googleapis/longrunning"
    31  	status "google.golang.org/genproto/googleapis/rpc/status"
    32  	grpc "google.golang.org/grpc"
    33  	codes "google.golang.org/grpc/codes"
    34  	status1 "google.golang.org/grpc/status"
    35  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    36  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    37  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    38  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    39  )
    40  
    41  const (
    42  	// Verify that this generated code is sufficiently up-to-date.
    43  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    44  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    45  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    46  )
    47  
    48  // Video annotation feature.
    49  type Feature int32
    50  
    51  const (
    52  	// Unspecified.
    53  	Feature_FEATURE_UNSPECIFIED Feature = 0
    54  	// Label detection. Detect objects, such as dog or flower.
    55  	Feature_LABEL_DETECTION Feature = 1
    56  	// Shot change detection.
    57  	Feature_SHOT_CHANGE_DETECTION Feature = 2
    58  	// Explicit content detection.
    59  	Feature_EXPLICIT_CONTENT_DETECTION Feature = 3
    60  	// OCR text detection and tracking.
    61  	Feature_TEXT_DETECTION Feature = 7
    62  	// Object detection and tracking.
    63  	Feature_OBJECT_TRACKING Feature = 9
    64  )
    65  
    66  // Enum value maps for Feature.
    67  var (
    68  	Feature_name = map[int32]string{
    69  		0: "FEATURE_UNSPECIFIED",
    70  		1: "LABEL_DETECTION",
    71  		2: "SHOT_CHANGE_DETECTION",
    72  		3: "EXPLICIT_CONTENT_DETECTION",
    73  		7: "TEXT_DETECTION",
    74  		9: "OBJECT_TRACKING",
    75  	}
    76  	Feature_value = map[string]int32{
    77  		"FEATURE_UNSPECIFIED":        0,
    78  		"LABEL_DETECTION":            1,
    79  		"SHOT_CHANGE_DETECTION":      2,
    80  		"EXPLICIT_CONTENT_DETECTION": 3,
    81  		"TEXT_DETECTION":             7,
    82  		"OBJECT_TRACKING":            9,
    83  	}
    84  )
    85  
    86  func (x Feature) Enum() *Feature {
    87  	p := new(Feature)
    88  	*p = x
    89  	return p
    90  }
    91  
    92  func (x Feature) String() string {
    93  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    94  }
    95  
    96  func (Feature) Descriptor() protoreflect.EnumDescriptor {
    97  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_enumTypes[0].Descriptor()
    98  }
    99  
   100  func (Feature) Type() protoreflect.EnumType {
   101  	return &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_enumTypes[0]
   102  }
   103  
   104  func (x Feature) Number() protoreflect.EnumNumber {
   105  	return protoreflect.EnumNumber(x)
   106  }
   107  
   108  // Deprecated: Use Feature.Descriptor instead.
   109  func (Feature) EnumDescriptor() ([]byte, []int) {
   110  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{0}
   111  }
   112  
   113  // Label detection mode.
   114  type LabelDetectionMode int32
   115  
   116  const (
   117  	// Unspecified.
   118  	LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED LabelDetectionMode = 0
   119  	// Detect shot-level labels.
   120  	LabelDetectionMode_SHOT_MODE LabelDetectionMode = 1
   121  	// Detect frame-level labels.
   122  	LabelDetectionMode_FRAME_MODE LabelDetectionMode = 2
   123  	// Detect both shot-level and frame-level labels.
   124  	LabelDetectionMode_SHOT_AND_FRAME_MODE LabelDetectionMode = 3
   125  )
   126  
   127  // Enum value maps for LabelDetectionMode.
   128  var (
   129  	LabelDetectionMode_name = map[int32]string{
   130  		0: "LABEL_DETECTION_MODE_UNSPECIFIED",
   131  		1: "SHOT_MODE",
   132  		2: "FRAME_MODE",
   133  		3: "SHOT_AND_FRAME_MODE",
   134  	}
   135  	LabelDetectionMode_value = map[string]int32{
   136  		"LABEL_DETECTION_MODE_UNSPECIFIED": 0,
   137  		"SHOT_MODE":                        1,
   138  		"FRAME_MODE":                       2,
   139  		"SHOT_AND_FRAME_MODE":              3,
   140  	}
   141  )
   142  
   143  func (x LabelDetectionMode) Enum() *LabelDetectionMode {
   144  	p := new(LabelDetectionMode)
   145  	*p = x
   146  	return p
   147  }
   148  
   149  func (x LabelDetectionMode) String() string {
   150  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   151  }
   152  
   153  func (LabelDetectionMode) Descriptor() protoreflect.EnumDescriptor {
   154  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_enumTypes[1].Descriptor()
   155  }
   156  
   157  func (LabelDetectionMode) Type() protoreflect.EnumType {
   158  	return &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_enumTypes[1]
   159  }
   160  
   161  func (x LabelDetectionMode) Number() protoreflect.EnumNumber {
   162  	return protoreflect.EnumNumber(x)
   163  }
   164  
   165  // Deprecated: Use LabelDetectionMode.Descriptor instead.
   166  func (LabelDetectionMode) EnumDescriptor() ([]byte, []int) {
   167  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{1}
   168  }
   169  
   170  // Bucketized representation of likelihood.
   171  type Likelihood int32
   172  
   173  const (
   174  	// Unspecified likelihood.
   175  	Likelihood_LIKELIHOOD_UNSPECIFIED Likelihood = 0
   176  	// Very unlikely.
   177  	Likelihood_VERY_UNLIKELY Likelihood = 1
   178  	// Unlikely.
   179  	Likelihood_UNLIKELY Likelihood = 2
   180  	// Possible.
   181  	Likelihood_POSSIBLE Likelihood = 3
   182  	// Likely.
   183  	Likelihood_LIKELY Likelihood = 4
   184  	// Very likely.
   185  	Likelihood_VERY_LIKELY Likelihood = 5
   186  )
   187  
   188  // Enum value maps for Likelihood.
   189  var (
   190  	Likelihood_name = map[int32]string{
   191  		0: "LIKELIHOOD_UNSPECIFIED",
   192  		1: "VERY_UNLIKELY",
   193  		2: "UNLIKELY",
   194  		3: "POSSIBLE",
   195  		4: "LIKELY",
   196  		5: "VERY_LIKELY",
   197  	}
   198  	Likelihood_value = map[string]int32{
   199  		"LIKELIHOOD_UNSPECIFIED": 0,
   200  		"VERY_UNLIKELY":          1,
   201  		"UNLIKELY":               2,
   202  		"POSSIBLE":               3,
   203  		"LIKELY":                 4,
   204  		"VERY_LIKELY":            5,
   205  	}
   206  )
   207  
   208  func (x Likelihood) Enum() *Likelihood {
   209  	p := new(Likelihood)
   210  	*p = x
   211  	return p
   212  }
   213  
   214  func (x Likelihood) String() string {
   215  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   216  }
   217  
   218  func (Likelihood) Descriptor() protoreflect.EnumDescriptor {
   219  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_enumTypes[2].Descriptor()
   220  }
   221  
   222  func (Likelihood) Type() protoreflect.EnumType {
   223  	return &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_enumTypes[2]
   224  }
   225  
   226  func (x Likelihood) Number() protoreflect.EnumNumber {
   227  	return protoreflect.EnumNumber(x)
   228  }
   229  
   230  // Deprecated: Use Likelihood.Descriptor instead.
   231  func (Likelihood) EnumDescriptor() ([]byte, []int) {
   232  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{2}
   233  }
   234  
   235  // Video annotation request.
   236  type AnnotateVideoRequest struct {
   237  	state         protoimpl.MessageState
   238  	sizeCache     protoimpl.SizeCache
   239  	unknownFields protoimpl.UnknownFields
   240  
   241  	// Input video location. Currently, only
   242  	// [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
   243  	// supported, which must be specified in the following format:
   244  	// `gs://bucket-id/object-id` (other URI formats return
   245  	// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
   246  	// [Request URIs](https://cloud.google.com/storage/docs/request-endpoints).
   247  	// A video URI may include wildcards in `object-id`, and thus identify
   248  	// multiple videos. Supported wildcards: '*' to match 0 or more characters;
   249  	// '?' to match 1 character. If unset, the input video should be embedded
   250  	// in the request as `input_content`. If set, `input_content` should be unset.
   251  	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
   252  	// The video data bytes.
   253  	// If unset, the input video(s) should be specified via `input_uri`.
   254  	// If set, `input_uri` should be unset.
   255  	InputContent []byte `protobuf:"bytes,6,opt,name=input_content,json=inputContent,proto3" json:"input_content,omitempty"`
   256  	// Required. Requested video annotation features.
   257  	Features []Feature `protobuf:"varint,2,rep,packed,name=features,proto3,enum=google.cloud.videointelligence.v1p2beta1.Feature" json:"features,omitempty"`
   258  	// Additional video context and/or feature-specific parameters.
   259  	VideoContext *VideoContext `protobuf:"bytes,3,opt,name=video_context,json=videoContext,proto3" json:"video_context,omitempty"`
   260  	// Optional. Location where the output (in JSON format) should be stored.
   261  	// Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
   262  	// URIs are supported, which must be specified in the following format:
   263  	// `gs://bucket-id/object-id` (other URI formats return
   264  	// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
   265  	// [Request URIs](https://cloud.google.com/storage/docs/request-endpoints).
   266  	OutputUri string `protobuf:"bytes,4,opt,name=output_uri,json=outputUri,proto3" json:"output_uri,omitempty"`
   267  	// Optional. Cloud region where annotation should take place. Supported cloud
   268  	// regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
   269  	// is specified, a region will be determined based on video file location.
   270  	LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
   271  }
   272  
   273  func (x *AnnotateVideoRequest) Reset() {
   274  	*x = AnnotateVideoRequest{}
   275  	if protoimpl.UnsafeEnabled {
   276  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[0]
   277  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   278  		ms.StoreMessageInfo(mi)
   279  	}
   280  }
   281  
   282  func (x *AnnotateVideoRequest) String() string {
   283  	return protoimpl.X.MessageStringOf(x)
   284  }
   285  
   286  func (*AnnotateVideoRequest) ProtoMessage() {}
   287  
   288  func (x *AnnotateVideoRequest) ProtoReflect() protoreflect.Message {
   289  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[0]
   290  	if protoimpl.UnsafeEnabled && x != nil {
   291  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   292  		if ms.LoadMessageInfo() == nil {
   293  			ms.StoreMessageInfo(mi)
   294  		}
   295  		return ms
   296  	}
   297  	return mi.MessageOf(x)
   298  }
   299  
   300  // Deprecated: Use AnnotateVideoRequest.ProtoReflect.Descriptor instead.
   301  func (*AnnotateVideoRequest) Descriptor() ([]byte, []int) {
   302  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{0}
   303  }
   304  
   305  func (x *AnnotateVideoRequest) GetInputUri() string {
   306  	if x != nil {
   307  		return x.InputUri
   308  	}
   309  	return ""
   310  }
   311  
   312  func (x *AnnotateVideoRequest) GetInputContent() []byte {
   313  	if x != nil {
   314  		return x.InputContent
   315  	}
   316  	return nil
   317  }
   318  
   319  func (x *AnnotateVideoRequest) GetFeatures() []Feature {
   320  	if x != nil {
   321  		return x.Features
   322  	}
   323  	return nil
   324  }
   325  
   326  func (x *AnnotateVideoRequest) GetVideoContext() *VideoContext {
   327  	if x != nil {
   328  		return x.VideoContext
   329  	}
   330  	return nil
   331  }
   332  
   333  func (x *AnnotateVideoRequest) GetOutputUri() string {
   334  	if x != nil {
   335  		return x.OutputUri
   336  	}
   337  	return ""
   338  }
   339  
   340  func (x *AnnotateVideoRequest) GetLocationId() string {
   341  	if x != nil {
   342  		return x.LocationId
   343  	}
   344  	return ""
   345  }
   346  
   347  // Video context and/or feature-specific parameters.
   348  type VideoContext struct {
   349  	state         protoimpl.MessageState
   350  	sizeCache     protoimpl.SizeCache
   351  	unknownFields protoimpl.UnknownFields
   352  
   353  	// Video segments to annotate. The segments may overlap and are not required
   354  	// to be contiguous or span the whole video. If unspecified, each video is
   355  	// treated as a single segment.
   356  	Segments []*VideoSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
   357  	// Config for LABEL_DETECTION.
   358  	LabelDetectionConfig *LabelDetectionConfig `protobuf:"bytes,2,opt,name=label_detection_config,json=labelDetectionConfig,proto3" json:"label_detection_config,omitempty"`
   359  	// Config for SHOT_CHANGE_DETECTION.
   360  	ShotChangeDetectionConfig *ShotChangeDetectionConfig `protobuf:"bytes,3,opt,name=shot_change_detection_config,json=shotChangeDetectionConfig,proto3" json:"shot_change_detection_config,omitempty"`
   361  	// Config for EXPLICIT_CONTENT_DETECTION.
   362  	ExplicitContentDetectionConfig *ExplicitContentDetectionConfig `protobuf:"bytes,4,opt,name=explicit_content_detection_config,json=explicitContentDetectionConfig,proto3" json:"explicit_content_detection_config,omitempty"`
   363  	// Config for TEXT_DETECTION.
   364  	TextDetectionConfig *TextDetectionConfig `protobuf:"bytes,8,opt,name=text_detection_config,json=textDetectionConfig,proto3" json:"text_detection_config,omitempty"`
   365  }
   366  
   367  func (x *VideoContext) Reset() {
   368  	*x = VideoContext{}
   369  	if protoimpl.UnsafeEnabled {
   370  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[1]
   371  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   372  		ms.StoreMessageInfo(mi)
   373  	}
   374  }
   375  
   376  func (x *VideoContext) String() string {
   377  	return protoimpl.X.MessageStringOf(x)
   378  }
   379  
   380  func (*VideoContext) ProtoMessage() {}
   381  
   382  func (x *VideoContext) ProtoReflect() protoreflect.Message {
   383  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[1]
   384  	if protoimpl.UnsafeEnabled && x != nil {
   385  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   386  		if ms.LoadMessageInfo() == nil {
   387  			ms.StoreMessageInfo(mi)
   388  		}
   389  		return ms
   390  	}
   391  	return mi.MessageOf(x)
   392  }
   393  
   394  // Deprecated: Use VideoContext.ProtoReflect.Descriptor instead.
   395  func (*VideoContext) Descriptor() ([]byte, []int) {
   396  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{1}
   397  }
   398  
   399  func (x *VideoContext) GetSegments() []*VideoSegment {
   400  	if x != nil {
   401  		return x.Segments
   402  	}
   403  	return nil
   404  }
   405  
   406  func (x *VideoContext) GetLabelDetectionConfig() *LabelDetectionConfig {
   407  	if x != nil {
   408  		return x.LabelDetectionConfig
   409  	}
   410  	return nil
   411  }
   412  
   413  func (x *VideoContext) GetShotChangeDetectionConfig() *ShotChangeDetectionConfig {
   414  	if x != nil {
   415  		return x.ShotChangeDetectionConfig
   416  	}
   417  	return nil
   418  }
   419  
   420  func (x *VideoContext) GetExplicitContentDetectionConfig() *ExplicitContentDetectionConfig {
   421  	if x != nil {
   422  		return x.ExplicitContentDetectionConfig
   423  	}
   424  	return nil
   425  }
   426  
   427  func (x *VideoContext) GetTextDetectionConfig() *TextDetectionConfig {
   428  	if x != nil {
   429  		return x.TextDetectionConfig
   430  	}
   431  	return nil
   432  }
   433  
   434  // Config for LABEL_DETECTION.
   435  type LabelDetectionConfig struct {
   436  	state         protoimpl.MessageState
   437  	sizeCache     protoimpl.SizeCache
   438  	unknownFields protoimpl.UnknownFields
   439  
   440  	// What labels should be detected with LABEL_DETECTION, in addition to
   441  	// video-level labels or segment-level labels.
   442  	// If unspecified, defaults to `SHOT_MODE`.
   443  	LabelDetectionMode LabelDetectionMode `protobuf:"varint,1,opt,name=label_detection_mode,json=labelDetectionMode,proto3,enum=google.cloud.videointelligence.v1p2beta1.LabelDetectionMode" json:"label_detection_mode,omitempty"`
   444  	// Whether the video has been shot from a stationary (i.e. non-moving) camera.
   445  	// When set to true, might improve detection accuracy for moving objects.
   446  	// Should be used with `SHOT_AND_FRAME_MODE` enabled.
   447  	StationaryCamera bool `protobuf:"varint,2,opt,name=stationary_camera,json=stationaryCamera,proto3" json:"stationary_camera,omitempty"`
   448  	// Model to use for label detection.
   449  	// Supported values: "builtin/stable" (the default if unset) and
   450  	// "builtin/latest".
   451  	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
   452  }
   453  
   454  func (x *LabelDetectionConfig) Reset() {
   455  	*x = LabelDetectionConfig{}
   456  	if protoimpl.UnsafeEnabled {
   457  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[2]
   458  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   459  		ms.StoreMessageInfo(mi)
   460  	}
   461  }
   462  
   463  func (x *LabelDetectionConfig) String() string {
   464  	return protoimpl.X.MessageStringOf(x)
   465  }
   466  
   467  func (*LabelDetectionConfig) ProtoMessage() {}
   468  
   469  func (x *LabelDetectionConfig) ProtoReflect() protoreflect.Message {
   470  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[2]
   471  	if protoimpl.UnsafeEnabled && x != nil {
   472  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   473  		if ms.LoadMessageInfo() == nil {
   474  			ms.StoreMessageInfo(mi)
   475  		}
   476  		return ms
   477  	}
   478  	return mi.MessageOf(x)
   479  }
   480  
   481  // Deprecated: Use LabelDetectionConfig.ProtoReflect.Descriptor instead.
   482  func (*LabelDetectionConfig) Descriptor() ([]byte, []int) {
   483  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{2}
   484  }
   485  
   486  func (x *LabelDetectionConfig) GetLabelDetectionMode() LabelDetectionMode {
   487  	if x != nil {
   488  		return x.LabelDetectionMode
   489  	}
   490  	return LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED
   491  }
   492  
   493  func (x *LabelDetectionConfig) GetStationaryCamera() bool {
   494  	if x != nil {
   495  		return x.StationaryCamera
   496  	}
   497  	return false
   498  }
   499  
   500  func (x *LabelDetectionConfig) GetModel() string {
   501  	if x != nil {
   502  		return x.Model
   503  	}
   504  	return ""
   505  }
   506  
   507  // Config for SHOT_CHANGE_DETECTION.
   508  type ShotChangeDetectionConfig struct {
   509  	state         protoimpl.MessageState
   510  	sizeCache     protoimpl.SizeCache
   511  	unknownFields protoimpl.UnknownFields
   512  
   513  	// Model to use for shot change detection.
   514  	// Supported values: "builtin/stable" (the default if unset) and
   515  	// "builtin/latest".
   516  	Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
   517  }
   518  
   519  func (x *ShotChangeDetectionConfig) Reset() {
   520  	*x = ShotChangeDetectionConfig{}
   521  	if protoimpl.UnsafeEnabled {
   522  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[3]
   523  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   524  		ms.StoreMessageInfo(mi)
   525  	}
   526  }
   527  
   528  func (x *ShotChangeDetectionConfig) String() string {
   529  	return protoimpl.X.MessageStringOf(x)
   530  }
   531  
   532  func (*ShotChangeDetectionConfig) ProtoMessage() {}
   533  
   534  func (x *ShotChangeDetectionConfig) ProtoReflect() protoreflect.Message {
   535  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[3]
   536  	if protoimpl.UnsafeEnabled && x != nil {
   537  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   538  		if ms.LoadMessageInfo() == nil {
   539  			ms.StoreMessageInfo(mi)
   540  		}
   541  		return ms
   542  	}
   543  	return mi.MessageOf(x)
   544  }
   545  
   546  // Deprecated: Use ShotChangeDetectionConfig.ProtoReflect.Descriptor instead.
   547  func (*ShotChangeDetectionConfig) Descriptor() ([]byte, []int) {
   548  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{3}
   549  }
   550  
   551  func (x *ShotChangeDetectionConfig) GetModel() string {
   552  	if x != nil {
   553  		return x.Model
   554  	}
   555  	return ""
   556  }
   557  
   558  // Config for EXPLICIT_CONTENT_DETECTION.
   559  type ExplicitContentDetectionConfig struct {
   560  	state         protoimpl.MessageState
   561  	sizeCache     protoimpl.SizeCache
   562  	unknownFields protoimpl.UnknownFields
   563  
   564  	// Model to use for explicit content detection.
   565  	// Supported values: "builtin/stable" (the default if unset) and
   566  	// "builtin/latest".
   567  	Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
   568  }
   569  
   570  func (x *ExplicitContentDetectionConfig) Reset() {
   571  	*x = ExplicitContentDetectionConfig{}
   572  	if protoimpl.UnsafeEnabled {
   573  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[4]
   574  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   575  		ms.StoreMessageInfo(mi)
   576  	}
   577  }
   578  
   579  func (x *ExplicitContentDetectionConfig) String() string {
   580  	return protoimpl.X.MessageStringOf(x)
   581  }
   582  
   583  func (*ExplicitContentDetectionConfig) ProtoMessage() {}
   584  
   585  func (x *ExplicitContentDetectionConfig) ProtoReflect() protoreflect.Message {
   586  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[4]
   587  	if protoimpl.UnsafeEnabled && x != nil {
   588  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   589  		if ms.LoadMessageInfo() == nil {
   590  			ms.StoreMessageInfo(mi)
   591  		}
   592  		return ms
   593  	}
   594  	return mi.MessageOf(x)
   595  }
   596  
   597  // Deprecated: Use ExplicitContentDetectionConfig.ProtoReflect.Descriptor instead.
   598  func (*ExplicitContentDetectionConfig) Descriptor() ([]byte, []int) {
   599  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{4}
   600  }
   601  
   602  func (x *ExplicitContentDetectionConfig) GetModel() string {
   603  	if x != nil {
   604  		return x.Model
   605  	}
   606  	return ""
   607  }
   608  
   609  // Config for TEXT_DETECTION.
   610  type TextDetectionConfig struct {
   611  	state         protoimpl.MessageState
   612  	sizeCache     protoimpl.SizeCache
   613  	unknownFields protoimpl.UnknownFields
   614  
   615  	// Language hint can be specified if the language to be detected is known a
   616  	// priori. It can increase the accuracy of the detection. Language hint must
   617  	// be language code in BCP-47 format.
   618  	//
   619  	// Automatic language detection is performed if no hint is provided.
   620  	LanguageHints []string `protobuf:"bytes,1,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
   621  }
   622  
   623  func (x *TextDetectionConfig) Reset() {
   624  	*x = TextDetectionConfig{}
   625  	if protoimpl.UnsafeEnabled {
   626  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[5]
   627  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   628  		ms.StoreMessageInfo(mi)
   629  	}
   630  }
   631  
   632  func (x *TextDetectionConfig) String() string {
   633  	return protoimpl.X.MessageStringOf(x)
   634  }
   635  
   636  func (*TextDetectionConfig) ProtoMessage() {}
   637  
   638  func (x *TextDetectionConfig) ProtoReflect() protoreflect.Message {
   639  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[5]
   640  	if protoimpl.UnsafeEnabled && x != nil {
   641  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   642  		if ms.LoadMessageInfo() == nil {
   643  			ms.StoreMessageInfo(mi)
   644  		}
   645  		return ms
   646  	}
   647  	return mi.MessageOf(x)
   648  }
   649  
   650  // Deprecated: Use TextDetectionConfig.ProtoReflect.Descriptor instead.
   651  func (*TextDetectionConfig) Descriptor() ([]byte, []int) {
   652  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{5}
   653  }
   654  
   655  func (x *TextDetectionConfig) GetLanguageHints() []string {
   656  	if x != nil {
   657  		return x.LanguageHints
   658  	}
   659  	return nil
   660  }
   661  
   662  // Video segment.
   663  type VideoSegment struct {
   664  	state         protoimpl.MessageState
   665  	sizeCache     protoimpl.SizeCache
   666  	unknownFields protoimpl.UnknownFields
   667  
   668  	// Time-offset, relative to the beginning of the video,
   669  	// corresponding to the start of the segment (inclusive).
   670  	StartTimeOffset *durationpb.Duration `protobuf:"bytes,1,opt,name=start_time_offset,json=startTimeOffset,proto3" json:"start_time_offset,omitempty"`
   671  	// Time-offset, relative to the beginning of the video,
   672  	// corresponding to the end of the segment (inclusive).
   673  	EndTimeOffset *durationpb.Duration `protobuf:"bytes,2,opt,name=end_time_offset,json=endTimeOffset,proto3" json:"end_time_offset,omitempty"`
   674  }
   675  
   676  func (x *VideoSegment) Reset() {
   677  	*x = VideoSegment{}
   678  	if protoimpl.UnsafeEnabled {
   679  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[6]
   680  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   681  		ms.StoreMessageInfo(mi)
   682  	}
   683  }
   684  
   685  func (x *VideoSegment) String() string {
   686  	return protoimpl.X.MessageStringOf(x)
   687  }
   688  
   689  func (*VideoSegment) ProtoMessage() {}
   690  
   691  func (x *VideoSegment) ProtoReflect() protoreflect.Message {
   692  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[6]
   693  	if protoimpl.UnsafeEnabled && x != nil {
   694  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   695  		if ms.LoadMessageInfo() == nil {
   696  			ms.StoreMessageInfo(mi)
   697  		}
   698  		return ms
   699  	}
   700  	return mi.MessageOf(x)
   701  }
   702  
   703  // Deprecated: Use VideoSegment.ProtoReflect.Descriptor instead.
   704  func (*VideoSegment) Descriptor() ([]byte, []int) {
   705  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{6}
   706  }
   707  
   708  func (x *VideoSegment) GetStartTimeOffset() *durationpb.Duration {
   709  	if x != nil {
   710  		return x.StartTimeOffset
   711  	}
   712  	return nil
   713  }
   714  
   715  func (x *VideoSegment) GetEndTimeOffset() *durationpb.Duration {
   716  	if x != nil {
   717  		return x.EndTimeOffset
   718  	}
   719  	return nil
   720  }
   721  
   722  // Video segment level annotation results for label detection.
   723  type LabelSegment struct {
   724  	state         protoimpl.MessageState
   725  	sizeCache     protoimpl.SizeCache
   726  	unknownFields protoimpl.UnknownFields
   727  
   728  	// Video segment where a label was detected.
   729  	Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"`
   730  	// Confidence that the label is accurate. Range: [0, 1].
   731  	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
   732  }
   733  
   734  func (x *LabelSegment) Reset() {
   735  	*x = LabelSegment{}
   736  	if protoimpl.UnsafeEnabled {
   737  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[7]
   738  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   739  		ms.StoreMessageInfo(mi)
   740  	}
   741  }
   742  
   743  func (x *LabelSegment) String() string {
   744  	return protoimpl.X.MessageStringOf(x)
   745  }
   746  
   747  func (*LabelSegment) ProtoMessage() {}
   748  
   749  func (x *LabelSegment) ProtoReflect() protoreflect.Message {
   750  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[7]
   751  	if protoimpl.UnsafeEnabled && x != nil {
   752  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   753  		if ms.LoadMessageInfo() == nil {
   754  			ms.StoreMessageInfo(mi)
   755  		}
   756  		return ms
   757  	}
   758  	return mi.MessageOf(x)
   759  }
   760  
   761  // Deprecated: Use LabelSegment.ProtoReflect.Descriptor instead.
   762  func (*LabelSegment) Descriptor() ([]byte, []int) {
   763  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{7}
   764  }
   765  
   766  func (x *LabelSegment) GetSegment() *VideoSegment {
   767  	if x != nil {
   768  		return x.Segment
   769  	}
   770  	return nil
   771  }
   772  
   773  func (x *LabelSegment) GetConfidence() float32 {
   774  	if x != nil {
   775  		return x.Confidence
   776  	}
   777  	return 0
   778  }
   779  
   780  // Video frame level annotation results for label detection.
   781  type LabelFrame struct {
   782  	state         protoimpl.MessageState
   783  	sizeCache     protoimpl.SizeCache
   784  	unknownFields protoimpl.UnknownFields
   785  
   786  	// Time-offset, relative to the beginning of the video, corresponding to the
   787  	// video frame for this location.
   788  	TimeOffset *durationpb.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
   789  	// Confidence that the label is accurate. Range: [0, 1].
   790  	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
   791  }
   792  
   793  func (x *LabelFrame) Reset() {
   794  	*x = LabelFrame{}
   795  	if protoimpl.UnsafeEnabled {
   796  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[8]
   797  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   798  		ms.StoreMessageInfo(mi)
   799  	}
   800  }
   801  
   802  func (x *LabelFrame) String() string {
   803  	return protoimpl.X.MessageStringOf(x)
   804  }
   805  
   806  func (*LabelFrame) ProtoMessage() {}
   807  
   808  func (x *LabelFrame) ProtoReflect() protoreflect.Message {
   809  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[8]
   810  	if protoimpl.UnsafeEnabled && x != nil {
   811  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   812  		if ms.LoadMessageInfo() == nil {
   813  			ms.StoreMessageInfo(mi)
   814  		}
   815  		return ms
   816  	}
   817  	return mi.MessageOf(x)
   818  }
   819  
   820  // Deprecated: Use LabelFrame.ProtoReflect.Descriptor instead.
   821  func (*LabelFrame) Descriptor() ([]byte, []int) {
   822  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{8}
   823  }
   824  
   825  func (x *LabelFrame) GetTimeOffset() *durationpb.Duration {
   826  	if x != nil {
   827  		return x.TimeOffset
   828  	}
   829  	return nil
   830  }
   831  
   832  func (x *LabelFrame) GetConfidence() float32 {
   833  	if x != nil {
   834  		return x.Confidence
   835  	}
   836  	return 0
   837  }
   838  
   839  // Detected entity from video analysis.
   840  type Entity struct {
   841  	state         protoimpl.MessageState
   842  	sizeCache     protoimpl.SizeCache
   843  	unknownFields protoimpl.UnknownFields
   844  
   845  	// Opaque entity ID. Some IDs may be available in
   846  	// [Google Knowledge Graph Search
   847  	// API](https://developers.google.com/knowledge-graph/).
   848  	EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
   849  	// Textual description, e.g. `Fixed-gear bicycle`.
   850  	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
   851  	// Language code for `description` in BCP-47 format.
   852  	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
   853  }
   854  
   855  func (x *Entity) Reset() {
   856  	*x = Entity{}
   857  	if protoimpl.UnsafeEnabled {
   858  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[9]
   859  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   860  		ms.StoreMessageInfo(mi)
   861  	}
   862  }
   863  
   864  func (x *Entity) String() string {
   865  	return protoimpl.X.MessageStringOf(x)
   866  }
   867  
   868  func (*Entity) ProtoMessage() {}
   869  
   870  func (x *Entity) ProtoReflect() protoreflect.Message {
   871  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[9]
   872  	if protoimpl.UnsafeEnabled && x != nil {
   873  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   874  		if ms.LoadMessageInfo() == nil {
   875  			ms.StoreMessageInfo(mi)
   876  		}
   877  		return ms
   878  	}
   879  	return mi.MessageOf(x)
   880  }
   881  
   882  // Deprecated: Use Entity.ProtoReflect.Descriptor instead.
   883  func (*Entity) Descriptor() ([]byte, []int) {
   884  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{9}
   885  }
   886  
   887  func (x *Entity) GetEntityId() string {
   888  	if x != nil {
   889  		return x.EntityId
   890  	}
   891  	return ""
   892  }
   893  
   894  func (x *Entity) GetDescription() string {
   895  	if x != nil {
   896  		return x.Description
   897  	}
   898  	return ""
   899  }
   900  
   901  func (x *Entity) GetLanguageCode() string {
   902  	if x != nil {
   903  		return x.LanguageCode
   904  	}
   905  	return ""
   906  }
   907  
   908  // Label annotation.
   909  type LabelAnnotation struct {
   910  	state         protoimpl.MessageState
   911  	sizeCache     protoimpl.SizeCache
   912  	unknownFields protoimpl.UnknownFields
   913  
   914  	// Detected entity.
   915  	Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
   916  	// Common categories for the detected entity.
   917  	// E.g. when the label is `Terrier` the category is likely `dog`. And in some
   918  	// cases there might be more than one categories e.g. `Terrier` could also be
   919  	// a `pet`.
   920  	CategoryEntities []*Entity `protobuf:"bytes,2,rep,name=category_entities,json=categoryEntities,proto3" json:"category_entities,omitempty"`
   921  	// All video segments where a label was detected.
   922  	Segments []*LabelSegment `protobuf:"bytes,3,rep,name=segments,proto3" json:"segments,omitempty"`
   923  	// All video frames where a label was detected.
   924  	Frames []*LabelFrame `protobuf:"bytes,4,rep,name=frames,proto3" json:"frames,omitempty"`
   925  }
   926  
   927  func (x *LabelAnnotation) Reset() {
   928  	*x = LabelAnnotation{}
   929  	if protoimpl.UnsafeEnabled {
   930  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[10]
   931  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   932  		ms.StoreMessageInfo(mi)
   933  	}
   934  }
   935  
   936  func (x *LabelAnnotation) String() string {
   937  	return protoimpl.X.MessageStringOf(x)
   938  }
   939  
   940  func (*LabelAnnotation) ProtoMessage() {}
   941  
   942  func (x *LabelAnnotation) ProtoReflect() protoreflect.Message {
   943  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[10]
   944  	if protoimpl.UnsafeEnabled && x != nil {
   945  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   946  		if ms.LoadMessageInfo() == nil {
   947  			ms.StoreMessageInfo(mi)
   948  		}
   949  		return ms
   950  	}
   951  	return mi.MessageOf(x)
   952  }
   953  
   954  // Deprecated: Use LabelAnnotation.ProtoReflect.Descriptor instead.
   955  func (*LabelAnnotation) Descriptor() ([]byte, []int) {
   956  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{10}
   957  }
   958  
   959  func (x *LabelAnnotation) GetEntity() *Entity {
   960  	if x != nil {
   961  		return x.Entity
   962  	}
   963  	return nil
   964  }
   965  
   966  func (x *LabelAnnotation) GetCategoryEntities() []*Entity {
   967  	if x != nil {
   968  		return x.CategoryEntities
   969  	}
   970  	return nil
   971  }
   972  
   973  func (x *LabelAnnotation) GetSegments() []*LabelSegment {
   974  	if x != nil {
   975  		return x.Segments
   976  	}
   977  	return nil
   978  }
   979  
   980  func (x *LabelAnnotation) GetFrames() []*LabelFrame {
   981  	if x != nil {
   982  		return x.Frames
   983  	}
   984  	return nil
   985  }
   986  
   987  // Video frame level annotation results for explicit content.
   988  type ExplicitContentFrame struct {
   989  	state         protoimpl.MessageState
   990  	sizeCache     protoimpl.SizeCache
   991  	unknownFields protoimpl.UnknownFields
   992  
   993  	// Time-offset, relative to the beginning of the video, corresponding to the
   994  	// video frame for this location.
   995  	TimeOffset *durationpb.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
   996  	// Likelihood of the pornography content..
   997  	PornographyLikelihood Likelihood `protobuf:"varint,2,opt,name=pornography_likelihood,json=pornographyLikelihood,proto3,enum=google.cloud.videointelligence.v1p2beta1.Likelihood" json:"pornography_likelihood,omitempty"`
   998  }
   999  
  1000  func (x *ExplicitContentFrame) Reset() {
  1001  	*x = ExplicitContentFrame{}
  1002  	if protoimpl.UnsafeEnabled {
  1003  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[11]
  1004  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1005  		ms.StoreMessageInfo(mi)
  1006  	}
  1007  }
  1008  
  1009  func (x *ExplicitContentFrame) String() string {
  1010  	return protoimpl.X.MessageStringOf(x)
  1011  }
  1012  
  1013  func (*ExplicitContentFrame) ProtoMessage() {}
  1014  
  1015  func (x *ExplicitContentFrame) ProtoReflect() protoreflect.Message {
  1016  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[11]
  1017  	if protoimpl.UnsafeEnabled && x != nil {
  1018  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1019  		if ms.LoadMessageInfo() == nil {
  1020  			ms.StoreMessageInfo(mi)
  1021  		}
  1022  		return ms
  1023  	}
  1024  	return mi.MessageOf(x)
  1025  }
  1026  
  1027  // Deprecated: Use ExplicitContentFrame.ProtoReflect.Descriptor instead.
  1028  func (*ExplicitContentFrame) Descriptor() ([]byte, []int) {
  1029  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{11}
  1030  }
  1031  
  1032  func (x *ExplicitContentFrame) GetTimeOffset() *durationpb.Duration {
  1033  	if x != nil {
  1034  		return x.TimeOffset
  1035  	}
  1036  	return nil
  1037  }
  1038  
  1039  func (x *ExplicitContentFrame) GetPornographyLikelihood() Likelihood {
  1040  	if x != nil {
  1041  		return x.PornographyLikelihood
  1042  	}
  1043  	return Likelihood_LIKELIHOOD_UNSPECIFIED
  1044  }
  1045  
  1046  // Explicit content annotation (based on per-frame visual signals only).
  1047  // If no explicit content has been detected in a frame, no annotations are
  1048  // present for that frame.
  1049  type ExplicitContentAnnotation struct {
  1050  	state         protoimpl.MessageState
  1051  	sizeCache     protoimpl.SizeCache
  1052  	unknownFields protoimpl.UnknownFields
  1053  
  1054  	// All video frames where explicit content was detected.
  1055  	Frames []*ExplicitContentFrame `protobuf:"bytes,1,rep,name=frames,proto3" json:"frames,omitempty"`
  1056  }
  1057  
  1058  func (x *ExplicitContentAnnotation) Reset() {
  1059  	*x = ExplicitContentAnnotation{}
  1060  	if protoimpl.UnsafeEnabled {
  1061  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[12]
  1062  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1063  		ms.StoreMessageInfo(mi)
  1064  	}
  1065  }
  1066  
  1067  func (x *ExplicitContentAnnotation) String() string {
  1068  	return protoimpl.X.MessageStringOf(x)
  1069  }
  1070  
  1071  func (*ExplicitContentAnnotation) ProtoMessage() {}
  1072  
  1073  func (x *ExplicitContentAnnotation) ProtoReflect() protoreflect.Message {
  1074  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[12]
  1075  	if protoimpl.UnsafeEnabled && x != nil {
  1076  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1077  		if ms.LoadMessageInfo() == nil {
  1078  			ms.StoreMessageInfo(mi)
  1079  		}
  1080  		return ms
  1081  	}
  1082  	return mi.MessageOf(x)
  1083  }
  1084  
  1085  // Deprecated: Use ExplicitContentAnnotation.ProtoReflect.Descriptor instead.
  1086  func (*ExplicitContentAnnotation) Descriptor() ([]byte, []int) {
  1087  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{12}
  1088  }
  1089  
  1090  func (x *ExplicitContentAnnotation) GetFrames() []*ExplicitContentFrame {
  1091  	if x != nil {
  1092  		return x.Frames
  1093  	}
  1094  	return nil
  1095  }
  1096  
  1097  // Normalized bounding box.
  1098  // The normalized vertex coordinates are relative to the original image.
  1099  // Range: [0, 1].
  1100  type NormalizedBoundingBox struct {
  1101  	state         protoimpl.MessageState
  1102  	sizeCache     protoimpl.SizeCache
  1103  	unknownFields protoimpl.UnknownFields
  1104  
  1105  	// Left X coordinate.
  1106  	Left float32 `protobuf:"fixed32,1,opt,name=left,proto3" json:"left,omitempty"`
  1107  	// Top Y coordinate.
  1108  	Top float32 `protobuf:"fixed32,2,opt,name=top,proto3" json:"top,omitempty"`
  1109  	// Right X coordinate.
  1110  	Right float32 `protobuf:"fixed32,3,opt,name=right,proto3" json:"right,omitempty"`
  1111  	// Bottom Y coordinate.
  1112  	Bottom float32 `protobuf:"fixed32,4,opt,name=bottom,proto3" json:"bottom,omitempty"`
  1113  }
  1114  
  1115  func (x *NormalizedBoundingBox) Reset() {
  1116  	*x = NormalizedBoundingBox{}
  1117  	if protoimpl.UnsafeEnabled {
  1118  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[13]
  1119  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1120  		ms.StoreMessageInfo(mi)
  1121  	}
  1122  }
  1123  
  1124  func (x *NormalizedBoundingBox) String() string {
  1125  	return protoimpl.X.MessageStringOf(x)
  1126  }
  1127  
  1128  func (*NormalizedBoundingBox) ProtoMessage() {}
  1129  
  1130  func (x *NormalizedBoundingBox) ProtoReflect() protoreflect.Message {
  1131  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[13]
  1132  	if protoimpl.UnsafeEnabled && x != nil {
  1133  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1134  		if ms.LoadMessageInfo() == nil {
  1135  			ms.StoreMessageInfo(mi)
  1136  		}
  1137  		return ms
  1138  	}
  1139  	return mi.MessageOf(x)
  1140  }
  1141  
  1142  // Deprecated: Use NormalizedBoundingBox.ProtoReflect.Descriptor instead.
  1143  func (*NormalizedBoundingBox) Descriptor() ([]byte, []int) {
  1144  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{13}
  1145  }
  1146  
  1147  func (x *NormalizedBoundingBox) GetLeft() float32 {
  1148  	if x != nil {
  1149  		return x.Left
  1150  	}
  1151  	return 0
  1152  }
  1153  
  1154  func (x *NormalizedBoundingBox) GetTop() float32 {
  1155  	if x != nil {
  1156  		return x.Top
  1157  	}
  1158  	return 0
  1159  }
  1160  
  1161  func (x *NormalizedBoundingBox) GetRight() float32 {
  1162  	if x != nil {
  1163  		return x.Right
  1164  	}
  1165  	return 0
  1166  }
  1167  
  1168  func (x *NormalizedBoundingBox) GetBottom() float32 {
  1169  	if x != nil {
  1170  		return x.Bottom
  1171  	}
  1172  	return 0
  1173  }
  1174  
  1175  // Annotation results for a single video.
  1176  type VideoAnnotationResults struct {
  1177  	state         protoimpl.MessageState
  1178  	sizeCache     protoimpl.SizeCache
  1179  	unknownFields protoimpl.UnknownFields
  1180  
  1181  	// Video file location in
  1182  	// [Google Cloud Storage](https://cloud.google.com/storage/).
  1183  	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
  1184  	// Label annotations on video level or user specified segment level.
  1185  	// There is exactly one element for each unique label.
  1186  	SegmentLabelAnnotations []*LabelAnnotation `protobuf:"bytes,2,rep,name=segment_label_annotations,json=segmentLabelAnnotations,proto3" json:"segment_label_annotations,omitempty"`
  1187  	// Label annotations on shot level.
  1188  	// There is exactly one element for each unique label.
  1189  	ShotLabelAnnotations []*LabelAnnotation `protobuf:"bytes,3,rep,name=shot_label_annotations,json=shotLabelAnnotations,proto3" json:"shot_label_annotations,omitempty"`
  1190  	// Label annotations on frame level.
  1191  	// There is exactly one element for each unique label.
  1192  	FrameLabelAnnotations []*LabelAnnotation `protobuf:"bytes,4,rep,name=frame_label_annotations,json=frameLabelAnnotations,proto3" json:"frame_label_annotations,omitempty"`
  1193  	// Shot annotations. Each shot is represented as a video segment.
  1194  	ShotAnnotations []*VideoSegment `protobuf:"bytes,6,rep,name=shot_annotations,json=shotAnnotations,proto3" json:"shot_annotations,omitempty"`
  1195  	// Explicit content annotation.
  1196  	ExplicitAnnotation *ExplicitContentAnnotation `protobuf:"bytes,7,opt,name=explicit_annotation,json=explicitAnnotation,proto3" json:"explicit_annotation,omitempty"`
  1197  	// OCR text detection and tracking.
  1198  	// Annotations for list of detected text snippets. Each will have list of
  1199  	// frame information associated with it.
  1200  	TextAnnotations []*TextAnnotation `protobuf:"bytes,12,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
  1201  	// Annotations for list of objects detected and tracked in video.
  1202  	ObjectAnnotations []*ObjectTrackingAnnotation `protobuf:"bytes,14,rep,name=object_annotations,json=objectAnnotations,proto3" json:"object_annotations,omitempty"`
  1203  	// If set, indicates an error. Note that for a single `AnnotateVideoRequest`
  1204  	// some videos may succeed and some may fail.
  1205  	Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
  1206  }
  1207  
  1208  func (x *VideoAnnotationResults) Reset() {
  1209  	*x = VideoAnnotationResults{}
  1210  	if protoimpl.UnsafeEnabled {
  1211  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[14]
  1212  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1213  		ms.StoreMessageInfo(mi)
  1214  	}
  1215  }
  1216  
  1217  func (x *VideoAnnotationResults) String() string {
  1218  	return protoimpl.X.MessageStringOf(x)
  1219  }
  1220  
  1221  func (*VideoAnnotationResults) ProtoMessage() {}
  1222  
  1223  func (x *VideoAnnotationResults) ProtoReflect() protoreflect.Message {
  1224  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[14]
  1225  	if protoimpl.UnsafeEnabled && x != nil {
  1226  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1227  		if ms.LoadMessageInfo() == nil {
  1228  			ms.StoreMessageInfo(mi)
  1229  		}
  1230  		return ms
  1231  	}
  1232  	return mi.MessageOf(x)
  1233  }
  1234  
  1235  // Deprecated: Use VideoAnnotationResults.ProtoReflect.Descriptor instead.
  1236  func (*VideoAnnotationResults) Descriptor() ([]byte, []int) {
  1237  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{14}
  1238  }
  1239  
  1240  func (x *VideoAnnotationResults) GetInputUri() string {
  1241  	if x != nil {
  1242  		return x.InputUri
  1243  	}
  1244  	return ""
  1245  }
  1246  
  1247  func (x *VideoAnnotationResults) GetSegmentLabelAnnotations() []*LabelAnnotation {
  1248  	if x != nil {
  1249  		return x.SegmentLabelAnnotations
  1250  	}
  1251  	return nil
  1252  }
  1253  
  1254  func (x *VideoAnnotationResults) GetShotLabelAnnotations() []*LabelAnnotation {
  1255  	if x != nil {
  1256  		return x.ShotLabelAnnotations
  1257  	}
  1258  	return nil
  1259  }
  1260  
  1261  func (x *VideoAnnotationResults) GetFrameLabelAnnotations() []*LabelAnnotation {
  1262  	if x != nil {
  1263  		return x.FrameLabelAnnotations
  1264  	}
  1265  	return nil
  1266  }
  1267  
  1268  func (x *VideoAnnotationResults) GetShotAnnotations() []*VideoSegment {
  1269  	if x != nil {
  1270  		return x.ShotAnnotations
  1271  	}
  1272  	return nil
  1273  }
  1274  
  1275  func (x *VideoAnnotationResults) GetExplicitAnnotation() *ExplicitContentAnnotation {
  1276  	if x != nil {
  1277  		return x.ExplicitAnnotation
  1278  	}
  1279  	return nil
  1280  }
  1281  
  1282  func (x *VideoAnnotationResults) GetTextAnnotations() []*TextAnnotation {
  1283  	if x != nil {
  1284  		return x.TextAnnotations
  1285  	}
  1286  	return nil
  1287  }
  1288  
  1289  func (x *VideoAnnotationResults) GetObjectAnnotations() []*ObjectTrackingAnnotation {
  1290  	if x != nil {
  1291  		return x.ObjectAnnotations
  1292  	}
  1293  	return nil
  1294  }
  1295  
  1296  func (x *VideoAnnotationResults) GetError() *status.Status {
  1297  	if x != nil {
  1298  		return x.Error
  1299  	}
  1300  	return nil
  1301  }
  1302  
  1303  // Video annotation response. Included in the `response`
  1304  // field of the `Operation` returned by the `GetOperation`
  1305  // call of the `google::longrunning::Operations` service.
  1306  type AnnotateVideoResponse struct {
  1307  	state         protoimpl.MessageState
  1308  	sizeCache     protoimpl.SizeCache
  1309  	unknownFields protoimpl.UnknownFields
  1310  
  1311  	// Annotation results for all videos specified in `AnnotateVideoRequest`.
  1312  	AnnotationResults []*VideoAnnotationResults `protobuf:"bytes,1,rep,name=annotation_results,json=annotationResults,proto3" json:"annotation_results,omitempty"`
  1313  }
  1314  
  1315  func (x *AnnotateVideoResponse) Reset() {
  1316  	*x = AnnotateVideoResponse{}
  1317  	if protoimpl.UnsafeEnabled {
  1318  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[15]
  1319  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1320  		ms.StoreMessageInfo(mi)
  1321  	}
  1322  }
  1323  
  1324  func (x *AnnotateVideoResponse) String() string {
  1325  	return protoimpl.X.MessageStringOf(x)
  1326  }
  1327  
  1328  func (*AnnotateVideoResponse) ProtoMessage() {}
  1329  
  1330  func (x *AnnotateVideoResponse) ProtoReflect() protoreflect.Message {
  1331  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[15]
  1332  	if protoimpl.UnsafeEnabled && x != nil {
  1333  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1334  		if ms.LoadMessageInfo() == nil {
  1335  			ms.StoreMessageInfo(mi)
  1336  		}
  1337  		return ms
  1338  	}
  1339  	return mi.MessageOf(x)
  1340  }
  1341  
  1342  // Deprecated: Use AnnotateVideoResponse.ProtoReflect.Descriptor instead.
  1343  func (*AnnotateVideoResponse) Descriptor() ([]byte, []int) {
  1344  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{15}
  1345  }
  1346  
  1347  func (x *AnnotateVideoResponse) GetAnnotationResults() []*VideoAnnotationResults {
  1348  	if x != nil {
  1349  		return x.AnnotationResults
  1350  	}
  1351  	return nil
  1352  }
  1353  
  1354  // Annotation progress for a single video.
  1355  type VideoAnnotationProgress struct {
  1356  	state         protoimpl.MessageState
  1357  	sizeCache     protoimpl.SizeCache
  1358  	unknownFields protoimpl.UnknownFields
  1359  
  1360  	// Video file location in
  1361  	// [Google Cloud Storage](https://cloud.google.com/storage/).
  1362  	InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
  1363  	// Approximate percentage processed thus far. Guaranteed to be
  1364  	// 100 when fully processed.
  1365  	ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"`
  1366  	// Time when the request was received.
  1367  	StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  1368  	// Time of the most recent update.
  1369  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
  1370  }
  1371  
  1372  func (x *VideoAnnotationProgress) Reset() {
  1373  	*x = VideoAnnotationProgress{}
  1374  	if protoimpl.UnsafeEnabled {
  1375  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[16]
  1376  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1377  		ms.StoreMessageInfo(mi)
  1378  	}
  1379  }
  1380  
  1381  func (x *VideoAnnotationProgress) String() string {
  1382  	return protoimpl.X.MessageStringOf(x)
  1383  }
  1384  
  1385  func (*VideoAnnotationProgress) ProtoMessage() {}
  1386  
  1387  func (x *VideoAnnotationProgress) ProtoReflect() protoreflect.Message {
  1388  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[16]
  1389  	if protoimpl.UnsafeEnabled && x != nil {
  1390  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1391  		if ms.LoadMessageInfo() == nil {
  1392  			ms.StoreMessageInfo(mi)
  1393  		}
  1394  		return ms
  1395  	}
  1396  	return mi.MessageOf(x)
  1397  }
  1398  
  1399  // Deprecated: Use VideoAnnotationProgress.ProtoReflect.Descriptor instead.
  1400  func (*VideoAnnotationProgress) Descriptor() ([]byte, []int) {
  1401  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{16}
  1402  }
  1403  
  1404  func (x *VideoAnnotationProgress) GetInputUri() string {
  1405  	if x != nil {
  1406  		return x.InputUri
  1407  	}
  1408  	return ""
  1409  }
  1410  
  1411  func (x *VideoAnnotationProgress) GetProgressPercent() int32 {
  1412  	if x != nil {
  1413  		return x.ProgressPercent
  1414  	}
  1415  	return 0
  1416  }
  1417  
  1418  func (x *VideoAnnotationProgress) GetStartTime() *timestamppb.Timestamp {
  1419  	if x != nil {
  1420  		return x.StartTime
  1421  	}
  1422  	return nil
  1423  }
  1424  
  1425  func (x *VideoAnnotationProgress) GetUpdateTime() *timestamppb.Timestamp {
  1426  	if x != nil {
  1427  		return x.UpdateTime
  1428  	}
  1429  	return nil
  1430  }
  1431  
  1432  // Video annotation progress. Included in the `metadata`
  1433  // field of the `Operation` returned by the `GetOperation`
  1434  // call of the `google::longrunning::Operations` service.
  1435  type AnnotateVideoProgress struct {
  1436  	state         protoimpl.MessageState
  1437  	sizeCache     protoimpl.SizeCache
  1438  	unknownFields protoimpl.UnknownFields
  1439  
  1440  	// Progress metadata for all videos specified in `AnnotateVideoRequest`.
  1441  	AnnotationProgress []*VideoAnnotationProgress `protobuf:"bytes,1,rep,name=annotation_progress,json=annotationProgress,proto3" json:"annotation_progress,omitempty"`
  1442  }
  1443  
  1444  func (x *AnnotateVideoProgress) Reset() {
  1445  	*x = AnnotateVideoProgress{}
  1446  	if protoimpl.UnsafeEnabled {
  1447  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[17]
  1448  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1449  		ms.StoreMessageInfo(mi)
  1450  	}
  1451  }
  1452  
  1453  func (x *AnnotateVideoProgress) String() string {
  1454  	return protoimpl.X.MessageStringOf(x)
  1455  }
  1456  
  1457  func (*AnnotateVideoProgress) ProtoMessage() {}
  1458  
  1459  func (x *AnnotateVideoProgress) ProtoReflect() protoreflect.Message {
  1460  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[17]
  1461  	if protoimpl.UnsafeEnabled && x != nil {
  1462  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1463  		if ms.LoadMessageInfo() == nil {
  1464  			ms.StoreMessageInfo(mi)
  1465  		}
  1466  		return ms
  1467  	}
  1468  	return mi.MessageOf(x)
  1469  }
  1470  
  1471  // Deprecated: Use AnnotateVideoProgress.ProtoReflect.Descriptor instead.
  1472  func (*AnnotateVideoProgress) Descriptor() ([]byte, []int) {
  1473  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{17}
  1474  }
  1475  
  1476  func (x *AnnotateVideoProgress) GetAnnotationProgress() []*VideoAnnotationProgress {
  1477  	if x != nil {
  1478  		return x.AnnotationProgress
  1479  	}
  1480  	return nil
  1481  }
  1482  
  1483  // A vertex represents a 2D point in the image.
  1484  // NOTE: the normalized vertex coordinates are relative to the original image
  1485  // and range from 0 to 1.
  1486  type NormalizedVertex struct {
  1487  	state         protoimpl.MessageState
  1488  	sizeCache     protoimpl.SizeCache
  1489  	unknownFields protoimpl.UnknownFields
  1490  
  1491  	// X coordinate.
  1492  	X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
  1493  	// Y coordinate.
  1494  	Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
  1495  }
  1496  
  1497  func (x *NormalizedVertex) Reset() {
  1498  	*x = NormalizedVertex{}
  1499  	if protoimpl.UnsafeEnabled {
  1500  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[18]
  1501  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1502  		ms.StoreMessageInfo(mi)
  1503  	}
  1504  }
  1505  
  1506  func (x *NormalizedVertex) String() string {
  1507  	return protoimpl.X.MessageStringOf(x)
  1508  }
  1509  
  1510  func (*NormalizedVertex) ProtoMessage() {}
  1511  
  1512  func (x *NormalizedVertex) ProtoReflect() protoreflect.Message {
  1513  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[18]
  1514  	if protoimpl.UnsafeEnabled && x != nil {
  1515  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1516  		if ms.LoadMessageInfo() == nil {
  1517  			ms.StoreMessageInfo(mi)
  1518  		}
  1519  		return ms
  1520  	}
  1521  	return mi.MessageOf(x)
  1522  }
  1523  
  1524  // Deprecated: Use NormalizedVertex.ProtoReflect.Descriptor instead.
  1525  func (*NormalizedVertex) Descriptor() ([]byte, []int) {
  1526  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{18}
  1527  }
  1528  
  1529  func (x *NormalizedVertex) GetX() float32 {
  1530  	if x != nil {
  1531  		return x.X
  1532  	}
  1533  	return 0
  1534  }
  1535  
  1536  func (x *NormalizedVertex) GetY() float32 {
  1537  	if x != nil {
  1538  		return x.Y
  1539  	}
  1540  	return 0
  1541  }
  1542  
  1543  // Normalized bounding polygon for text (that might not be aligned with axis).
  1544  // Contains list of the corner points in clockwise order starting from
  1545  // top-left corner. For example, for a rectangular bounding box:
  1546  // When the text is horizontal it might look like:
  1547  //
  1548  //	0----1
  1549  //	|    |
  1550  //	3----2
  1551  //
  1552  // When it's clockwise rotated 180 degrees around the top-left corner it
  1553  // becomes:
  1554  //
  1555  //	2----3
  1556  //	|    |
  1557  //	1----0
  1558  //
  1559  // and the vertex order will still be (0, 1, 2, 3). Note that values can be less
  1560  // than 0, or greater than 1 due to trignometric calculations for location of
  1561  // the box.
  1562  type NormalizedBoundingPoly struct {
  1563  	state         protoimpl.MessageState
  1564  	sizeCache     protoimpl.SizeCache
  1565  	unknownFields protoimpl.UnknownFields
  1566  
  1567  	// Normalized vertices of the bounding polygon.
  1568  	Vertices []*NormalizedVertex `protobuf:"bytes,1,rep,name=vertices,proto3" json:"vertices,omitempty"`
  1569  }
  1570  
  1571  func (x *NormalizedBoundingPoly) Reset() {
  1572  	*x = NormalizedBoundingPoly{}
  1573  	if protoimpl.UnsafeEnabled {
  1574  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[19]
  1575  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1576  		ms.StoreMessageInfo(mi)
  1577  	}
  1578  }
  1579  
  1580  func (x *NormalizedBoundingPoly) String() string {
  1581  	return protoimpl.X.MessageStringOf(x)
  1582  }
  1583  
  1584  func (*NormalizedBoundingPoly) ProtoMessage() {}
  1585  
  1586  func (x *NormalizedBoundingPoly) ProtoReflect() protoreflect.Message {
  1587  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[19]
  1588  	if protoimpl.UnsafeEnabled && x != nil {
  1589  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1590  		if ms.LoadMessageInfo() == nil {
  1591  			ms.StoreMessageInfo(mi)
  1592  		}
  1593  		return ms
  1594  	}
  1595  	return mi.MessageOf(x)
  1596  }
  1597  
  1598  // Deprecated: Use NormalizedBoundingPoly.ProtoReflect.Descriptor instead.
  1599  func (*NormalizedBoundingPoly) Descriptor() ([]byte, []int) {
  1600  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{19}
  1601  }
  1602  
  1603  func (x *NormalizedBoundingPoly) GetVertices() []*NormalizedVertex {
  1604  	if x != nil {
  1605  		return x.Vertices
  1606  	}
  1607  	return nil
  1608  }
  1609  
  1610  // Video segment level annotation results for text detection.
  1611  type TextSegment struct {
  1612  	state         protoimpl.MessageState
  1613  	sizeCache     protoimpl.SizeCache
  1614  	unknownFields protoimpl.UnknownFields
  1615  
  1616  	// Video segment where a text snippet was detected.
  1617  	Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"`
  1618  	// Confidence for the track of detected text. It is calculated as the highest
  1619  	// over all frames where OCR detected text appears.
  1620  	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
  1621  	// Information related to the frames where OCR detected text appears.
  1622  	Frames []*TextFrame `protobuf:"bytes,3,rep,name=frames,proto3" json:"frames,omitempty"`
  1623  }
  1624  
  1625  func (x *TextSegment) Reset() {
  1626  	*x = TextSegment{}
  1627  	if protoimpl.UnsafeEnabled {
  1628  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[20]
  1629  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1630  		ms.StoreMessageInfo(mi)
  1631  	}
  1632  }
  1633  
  1634  func (x *TextSegment) String() string {
  1635  	return protoimpl.X.MessageStringOf(x)
  1636  }
  1637  
  1638  func (*TextSegment) ProtoMessage() {}
  1639  
  1640  func (x *TextSegment) ProtoReflect() protoreflect.Message {
  1641  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[20]
  1642  	if protoimpl.UnsafeEnabled && x != nil {
  1643  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1644  		if ms.LoadMessageInfo() == nil {
  1645  			ms.StoreMessageInfo(mi)
  1646  		}
  1647  		return ms
  1648  	}
  1649  	return mi.MessageOf(x)
  1650  }
  1651  
  1652  // Deprecated: Use TextSegment.ProtoReflect.Descriptor instead.
  1653  func (*TextSegment) Descriptor() ([]byte, []int) {
  1654  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{20}
  1655  }
  1656  
  1657  func (x *TextSegment) GetSegment() *VideoSegment {
  1658  	if x != nil {
  1659  		return x.Segment
  1660  	}
  1661  	return nil
  1662  }
  1663  
  1664  func (x *TextSegment) GetConfidence() float32 {
  1665  	if x != nil {
  1666  		return x.Confidence
  1667  	}
  1668  	return 0
  1669  }
  1670  
  1671  func (x *TextSegment) GetFrames() []*TextFrame {
  1672  	if x != nil {
  1673  		return x.Frames
  1674  	}
  1675  	return nil
  1676  }
  1677  
  1678  // Video frame level annotation results for text annotation (OCR).
  1679  // Contains information regarding timestamp and bounding box locations for the
  1680  // frames containing detected OCR text snippets.
  1681  type TextFrame struct {
  1682  	state         protoimpl.MessageState
  1683  	sizeCache     protoimpl.SizeCache
  1684  	unknownFields protoimpl.UnknownFields
  1685  
  1686  	// Bounding polygon of the detected text for this frame.
  1687  	RotatedBoundingBox *NormalizedBoundingPoly `protobuf:"bytes,1,opt,name=rotated_bounding_box,json=rotatedBoundingBox,proto3" json:"rotated_bounding_box,omitempty"`
  1688  	// Timestamp of this frame.
  1689  	TimeOffset *durationpb.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
  1690  }
  1691  
  1692  func (x *TextFrame) Reset() {
  1693  	*x = TextFrame{}
  1694  	if protoimpl.UnsafeEnabled {
  1695  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[21]
  1696  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1697  		ms.StoreMessageInfo(mi)
  1698  	}
  1699  }
  1700  
  1701  func (x *TextFrame) String() string {
  1702  	return protoimpl.X.MessageStringOf(x)
  1703  }
  1704  
  1705  func (*TextFrame) ProtoMessage() {}
  1706  
  1707  func (x *TextFrame) ProtoReflect() protoreflect.Message {
  1708  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[21]
  1709  	if protoimpl.UnsafeEnabled && x != nil {
  1710  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1711  		if ms.LoadMessageInfo() == nil {
  1712  			ms.StoreMessageInfo(mi)
  1713  		}
  1714  		return ms
  1715  	}
  1716  	return mi.MessageOf(x)
  1717  }
  1718  
  1719  // Deprecated: Use TextFrame.ProtoReflect.Descriptor instead.
  1720  func (*TextFrame) Descriptor() ([]byte, []int) {
  1721  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{21}
  1722  }
  1723  
  1724  func (x *TextFrame) GetRotatedBoundingBox() *NormalizedBoundingPoly {
  1725  	if x != nil {
  1726  		return x.RotatedBoundingBox
  1727  	}
  1728  	return nil
  1729  }
  1730  
  1731  func (x *TextFrame) GetTimeOffset() *durationpb.Duration {
  1732  	if x != nil {
  1733  		return x.TimeOffset
  1734  	}
  1735  	return nil
  1736  }
  1737  
  1738  // Annotations related to one detected OCR text snippet. This will contain the
  1739  // corresponding text, confidence value, and frame level information for each
  1740  // detection.
  1741  type TextAnnotation struct {
  1742  	state         protoimpl.MessageState
  1743  	sizeCache     protoimpl.SizeCache
  1744  	unknownFields protoimpl.UnknownFields
  1745  
  1746  	// The detected text.
  1747  	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
  1748  	// All video segments where OCR detected text appears.
  1749  	Segments []*TextSegment `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"`
  1750  }
  1751  
  1752  func (x *TextAnnotation) Reset() {
  1753  	*x = TextAnnotation{}
  1754  	if protoimpl.UnsafeEnabled {
  1755  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[22]
  1756  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1757  		ms.StoreMessageInfo(mi)
  1758  	}
  1759  }
  1760  
  1761  func (x *TextAnnotation) String() string {
  1762  	return protoimpl.X.MessageStringOf(x)
  1763  }
  1764  
  1765  func (*TextAnnotation) ProtoMessage() {}
  1766  
  1767  func (x *TextAnnotation) ProtoReflect() protoreflect.Message {
  1768  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[22]
  1769  	if protoimpl.UnsafeEnabled && x != nil {
  1770  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1771  		if ms.LoadMessageInfo() == nil {
  1772  			ms.StoreMessageInfo(mi)
  1773  		}
  1774  		return ms
  1775  	}
  1776  	return mi.MessageOf(x)
  1777  }
  1778  
  1779  // Deprecated: Use TextAnnotation.ProtoReflect.Descriptor instead.
  1780  func (*TextAnnotation) Descriptor() ([]byte, []int) {
  1781  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{22}
  1782  }
  1783  
  1784  func (x *TextAnnotation) GetText() string {
  1785  	if x != nil {
  1786  		return x.Text
  1787  	}
  1788  	return ""
  1789  }
  1790  
  1791  func (x *TextAnnotation) GetSegments() []*TextSegment {
  1792  	if x != nil {
  1793  		return x.Segments
  1794  	}
  1795  	return nil
  1796  }
  1797  
  1798  // Video frame level annotations for object detection and tracking. This field
  1799  // stores per frame location, time offset, and confidence.
  1800  type ObjectTrackingFrame struct {
  1801  	state         protoimpl.MessageState
  1802  	sizeCache     protoimpl.SizeCache
  1803  	unknownFields protoimpl.UnknownFields
  1804  
  1805  	// The normalized bounding box location of this object track for the frame.
  1806  	NormalizedBoundingBox *NormalizedBoundingBox `protobuf:"bytes,1,opt,name=normalized_bounding_box,json=normalizedBoundingBox,proto3" json:"normalized_bounding_box,omitempty"`
  1807  	// The timestamp of the frame in microseconds.
  1808  	TimeOffset *durationpb.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
  1809  }
  1810  
  1811  func (x *ObjectTrackingFrame) Reset() {
  1812  	*x = ObjectTrackingFrame{}
  1813  	if protoimpl.UnsafeEnabled {
  1814  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[23]
  1815  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1816  		ms.StoreMessageInfo(mi)
  1817  	}
  1818  }
  1819  
  1820  func (x *ObjectTrackingFrame) String() string {
  1821  	return protoimpl.X.MessageStringOf(x)
  1822  }
  1823  
  1824  func (*ObjectTrackingFrame) ProtoMessage() {}
  1825  
  1826  func (x *ObjectTrackingFrame) ProtoReflect() protoreflect.Message {
  1827  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[23]
  1828  	if protoimpl.UnsafeEnabled && x != nil {
  1829  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1830  		if ms.LoadMessageInfo() == nil {
  1831  			ms.StoreMessageInfo(mi)
  1832  		}
  1833  		return ms
  1834  	}
  1835  	return mi.MessageOf(x)
  1836  }
  1837  
  1838  // Deprecated: Use ObjectTrackingFrame.ProtoReflect.Descriptor instead.
  1839  func (*ObjectTrackingFrame) Descriptor() ([]byte, []int) {
  1840  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{23}
  1841  }
  1842  
  1843  func (x *ObjectTrackingFrame) GetNormalizedBoundingBox() *NormalizedBoundingBox {
  1844  	if x != nil {
  1845  		return x.NormalizedBoundingBox
  1846  	}
  1847  	return nil
  1848  }
  1849  
  1850  func (x *ObjectTrackingFrame) GetTimeOffset() *durationpb.Duration {
  1851  	if x != nil {
  1852  		return x.TimeOffset
  1853  	}
  1854  	return nil
  1855  }
  1856  
  1857  // Annotations corresponding to one tracked object.
  1858  type ObjectTrackingAnnotation struct {
  1859  	state         protoimpl.MessageState
  1860  	sizeCache     protoimpl.SizeCache
  1861  	unknownFields protoimpl.UnknownFields
  1862  
  1863  	// Different representation of tracking info in non-streaming batch
  1864  	// and streaming modes.
  1865  	//
  1866  	// Types that are assignable to TrackInfo:
  1867  	//	*ObjectTrackingAnnotation_Segment
  1868  	//	*ObjectTrackingAnnotation_TrackId
  1869  	TrackInfo isObjectTrackingAnnotation_TrackInfo `protobuf_oneof:"track_info"`
  1870  	// Entity to specify the object category that this track is labeled as.
  1871  	Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
  1872  	// Object category's labeling confidence of this track.
  1873  	Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
  1874  	// Information corresponding to all frames where this object track appears.
  1875  	Frames []*ObjectTrackingFrame `protobuf:"bytes,2,rep,name=frames,proto3" json:"frames,omitempty"`
  1876  }
  1877  
  1878  func (x *ObjectTrackingAnnotation) Reset() {
  1879  	*x = ObjectTrackingAnnotation{}
  1880  	if protoimpl.UnsafeEnabled {
  1881  		mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[24]
  1882  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1883  		ms.StoreMessageInfo(mi)
  1884  	}
  1885  }
  1886  
  1887  func (x *ObjectTrackingAnnotation) String() string {
  1888  	return protoimpl.X.MessageStringOf(x)
  1889  }
  1890  
  1891  func (*ObjectTrackingAnnotation) ProtoMessage() {}
  1892  
  1893  func (x *ObjectTrackingAnnotation) ProtoReflect() protoreflect.Message {
  1894  	mi := &file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[24]
  1895  	if protoimpl.UnsafeEnabled && x != nil {
  1896  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1897  		if ms.LoadMessageInfo() == nil {
  1898  			ms.StoreMessageInfo(mi)
  1899  		}
  1900  		return ms
  1901  	}
  1902  	return mi.MessageOf(x)
  1903  }
  1904  
  1905  // Deprecated: Use ObjectTrackingAnnotation.ProtoReflect.Descriptor instead.
  1906  func (*ObjectTrackingAnnotation) Descriptor() ([]byte, []int) {
  1907  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP(), []int{24}
  1908  }
  1909  
  1910  func (m *ObjectTrackingAnnotation) GetTrackInfo() isObjectTrackingAnnotation_TrackInfo {
  1911  	if m != nil {
  1912  		return m.TrackInfo
  1913  	}
  1914  	return nil
  1915  }
  1916  
  1917  func (x *ObjectTrackingAnnotation) GetSegment() *VideoSegment {
  1918  	if x, ok := x.GetTrackInfo().(*ObjectTrackingAnnotation_Segment); ok {
  1919  		return x.Segment
  1920  	}
  1921  	return nil
  1922  }
  1923  
  1924  func (x *ObjectTrackingAnnotation) GetTrackId() int64 {
  1925  	if x, ok := x.GetTrackInfo().(*ObjectTrackingAnnotation_TrackId); ok {
  1926  		return x.TrackId
  1927  	}
  1928  	return 0
  1929  }
  1930  
  1931  func (x *ObjectTrackingAnnotation) GetEntity() *Entity {
  1932  	if x != nil {
  1933  		return x.Entity
  1934  	}
  1935  	return nil
  1936  }
  1937  
  1938  func (x *ObjectTrackingAnnotation) GetConfidence() float32 {
  1939  	if x != nil {
  1940  		return x.Confidence
  1941  	}
  1942  	return 0
  1943  }
  1944  
  1945  func (x *ObjectTrackingAnnotation) GetFrames() []*ObjectTrackingFrame {
  1946  	if x != nil {
  1947  		return x.Frames
  1948  	}
  1949  	return nil
  1950  }
  1951  
  1952  type isObjectTrackingAnnotation_TrackInfo interface {
  1953  	isObjectTrackingAnnotation_TrackInfo()
  1954  }
  1955  
  1956  type ObjectTrackingAnnotation_Segment struct {
  1957  	// Non-streaming batch mode ONLY.
  1958  	// Each object track corresponds to one video segment where it appears.
  1959  	Segment *VideoSegment `protobuf:"bytes,3,opt,name=segment,proto3,oneof"`
  1960  }
  1961  
  1962  type ObjectTrackingAnnotation_TrackId struct {
  1963  	// Streaming mode ONLY.
  1964  	// In streaming mode, we do not know the end time of a tracked object
  1965  	// before it is completed. Hence, there is no VideoSegment info returned.
  1966  	// Instead, we provide a unique identifiable integer track_id so that
  1967  	// the customers can correlate the results of the ongoing
  1968  	// ObjectTrackAnnotation of the same track_id over time.
  1969  	TrackId int64 `protobuf:"varint,5,opt,name=track_id,json=trackId,proto3,oneof"`
  1970  }
  1971  
  1972  func (*ObjectTrackingAnnotation_Segment) isObjectTrackingAnnotation_TrackInfo() {}
  1973  
  1974  func (*ObjectTrackingAnnotation_TrackId) isObjectTrackingAnnotation_TrackInfo() {}
  1975  
  1976  var File_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto protoreflect.FileDescriptor
  1977  
  1978  var file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDesc = []byte{
  1979  	0x0a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
  1980  	0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65,
  1981  	0x2f, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f,
  1982  	0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72,
  1983  	0x6f, 0x74, 0x6f, 0x12, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  1984  	0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65,
  1985  	0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67,
  1986  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  1987  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
  1988  	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70,
  1989  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
  1990  	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
  1991  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f,
  1992  	0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
  1993  	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
  1994  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61,
  1995  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
  1996  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
  1997  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
  1998  	0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
  1999  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x02, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
  2000  	0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a,
  2001  	0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2002  	0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e,
  2003  	0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
  2004  	0x0c, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12,
  2005  	0x52, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  2006  	0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2007  	0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e,
  2008  	0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61,
  2009  	0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75,
  2010  	0x72, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x0d, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x63, 0x6f, 0x6e,
  2011  	0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f,
  2012  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69,
  2013  	0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32,
  2014  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65,
  2015  	0x78, 0x74, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
  2016  	0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04,
  2017  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75,
  2018  	0x74, 0x55, 0x72, 0x69, 0x12, 0x24, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2019  	0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a,
  2020  	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xe8, 0x04, 0x0a, 0x0c, 0x56,
  2021  	0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x52, 0x0a, 0x08, 0x73,
  2022  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e,
  2023  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64,
  2024  	0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
  2025  	0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x65,
  2026  	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12,
  2027  	0x74, 0x0a, 0x16, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
  2028  	0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2029  	0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  2030  	0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65,
  2031  	0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
  2032  	0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
  2033  	0x14, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43,
  2034  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x84, 0x01, 0x0a, 0x1c, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x63,
  2035  	0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  2036  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67,
  2037  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65,
  2038  	0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31,
  2039  	0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e,
  2040  	0x67, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  2041  	0x67, 0x52, 0x19, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x74,
  2042  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x93, 0x01, 0x0a,
  2043  	0x21, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
  2044  	0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  2045  	0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2046  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74,
  2047  	0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65,
  2048  	0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74,
  2049  	0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
  2050  	0x69, 0x67, 0x52, 0x1e, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74,
  2051  	0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
  2052  	0x69, 0x67, 0x12, 0x71, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
  2053  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28,
  2054  	0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2055  	0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e,
  2056  	0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78,
  2057  	0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  2058  	0x52, 0x13, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43,
  2059  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x44,
  2060  	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e,
  2061  	0x0a, 0x14, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
  2062  	0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67,
  2063  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65,
  2064  	0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31,
  2065  	0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x44, 0x65, 0x74,
  2066  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x12, 0x6c, 0x61, 0x62, 0x65,
  2067  	0x6c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2b,
  2068  	0x0a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x61, 0x6d,
  2069  	0x65, 0x72, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x69,
  2070  	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6d,
  2071  	0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65,
  2072  	0x6c, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x68, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44,
  2073  	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14,
  2074  	0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d,
  2075  	0x6f, 0x64, 0x65, 0x6c, 0x22, 0x36, 0x0a, 0x1e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74,
  2076  	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  2077  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18,
  2078  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x3c, 0x0a, 0x13,
  2079  	0x54, 0x65, 0x78, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e,
  2080  	0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f,
  2081  	0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e,
  2082  	0x67, 0x75, 0x61, 0x67, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x56,
  2083  	0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x73,
  2084  	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
  2085  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2086  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2087  	0x6e, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73,
  2088  	0x65, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f,
  2089  	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  2090  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
  2091  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4f,
  2092  	0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x80, 0x01, 0x0a, 0x0c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53,
  2093  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  2094  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2095  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65,
  2096  	0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74,
  2097  	0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52,
  2098  	0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66,
  2099  	0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f,
  2100  	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x68, 0x0a, 0x0a, 0x4c, 0x61, 0x62, 0x65,
  2101  	0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f,
  2102  	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  2103  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
  2104  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73,
  2105  	0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
  2106  	0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
  2107  	0x63, 0x65, 0x22, 0x6c, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09,
  2108  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2109  	0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
  2110  	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
  2111  	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c,
  2112  	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01,
  2113  	0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65,
  2114  	0x22, 0xdc, 0x02, 0x0a, 0x0f, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  2115  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01,
  2116  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2117  	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69,
  2118  	0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  2119  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x5d,
  2120  	0x0a, 0x11, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74,
  2121  	0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2122  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e,
  2123  	0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62,
  2124  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x10, 0x63, 0x61, 0x74,
  2125  	0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x52, 0x0a,
  2126  	0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2127  	0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  2128  	0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65,
  2129  	0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
  2130  	0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
  2131  	0x73, 0x12, 0x4c, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
  2132  	0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2133  	0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e,
  2134  	0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x62,
  2135  	0x65, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22,
  2136  	0xbf, 0x01, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74,
  2137  	0x65, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65,
  2138  	0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
  2139  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2140  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x66,
  2141  	0x66, 0x73, 0x65, 0x74, 0x12, 0x6b, 0x0a, 0x16, 0x70, 0x6f, 0x72, 0x6e, 0x6f, 0x67, 0x72, 0x61,
  2142  	0x70, 0x68, 0x79, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x02,
  2143  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2144  	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69,
  2145  	0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  2146  	0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x15, 0x70, 0x6f, 0x72, 0x6e,
  2147  	0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f,
  2148  	0x64, 0x22, 0x73, 0x0a, 0x19, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x43, 0x6f, 0x6e,
  2149  	0x74, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56,
  2150  	0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e,
  2151  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
  2152  	0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e,
  2153  	0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63,
  2154  	0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x06,
  2155  	0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x15, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
  2156  	0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12,
  2157  	0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c,
  2158  	0x65, 0x66, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
  2159  	0x52, 0x03, 0x74, 0x6f, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03,
  2160  	0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62,
  2161  	0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x74,
  2162  	0x74, 0x6f, 0x6d, 0x22, 0xeb, 0x06, 0x0a, 0x16, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x6e, 0x6e,
  2163  	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1b,
  2164  	0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
  2165  	0x09, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x75, 0x0a, 0x19, 0x73,
  2166  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e,
  2167  	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39,
  2168  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
  2169  	0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e,
  2170  	0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41,
  2171  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x73, 0x65, 0x67, 0x6d, 0x65,
  2172  	0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
  2173  	0x6e, 0x73, 0x12, 0x6f, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c,
  2174  	0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03,
  2175  	0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2176  	0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65,
  2177  	0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61,
  2178  	0x62, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x73,
  2179  	0x68, 0x6f, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
  2180  	0x6f, 0x6e, 0x73, 0x12, 0x71, 0x0a, 0x17, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x62,
  2181  	0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04,
  2182  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2183  	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69,
  2184  	0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  2185  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  2186  	0x15, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
  2187  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x61,
  2188  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
  2189  	0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2190  	0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63,
  2191  	0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65,
  2192  	0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x74, 0x41, 0x6e,
  2193  	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x13, 0x65, 0x78, 0x70,
  2194  	0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2195  	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2196  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c,
  2197  	0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61,
  2198  	0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
  2199  	0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x65, 0x78, 0x70,
  2200  	0x6c, 0x69, 0x63, 0x69, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  2201  	0x63, 0x0a, 0x10, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
  2202  	0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2203  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e,
  2204  	0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62,
  2205  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
  2206  	0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
  2207  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x71, 0x0a, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61,
  2208  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
  2209  	0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2210  	0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63,
  2211  	0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
  2212  	0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  2213  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e, 0x6f,
  2214  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
  2215  	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2216  	0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
  2217  	0x72, 0x22, 0x88, 0x01, 0x0a, 0x15, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x56, 0x69,
  2218  	0x64, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x12, 0x61,
  2219  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
  2220  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2221  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65,
  2222  	0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74,
  2223  	0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
  2224  	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
  2225  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xd9, 0x01, 0x0a,
  2226  	0x17, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2227  	0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75,
  2228  	0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x70,
  2229  	0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
  2230  	0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
  2231  	0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
  2232  	0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
  2233  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2234  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  2235  	0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75,
  2236  	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
  2237  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2238  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70,
  2239  	0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x15, 0x41, 0x6e, 0x6e,
  2240  	0x6f, 0x74, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
  2241  	0x73, 0x73, 0x12, 0x72, 0x0a, 0x13, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2242  	0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2243  	0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  2244  	0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65,
  2245  	0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f,
  2246  	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
  2247  	0x73, 0x73, 0x52, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
  2248  	0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2e, 0x0a, 0x10, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
  2249  	0x69, 0x7a, 0x65, 0x64, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18,
  2250  	0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20,
  2251  	0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x22, 0x70, 0x0a, 0x16, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
  2252  	0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79,
  2253  	0x12, 0x56, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
  2254  	0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2255  	0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65,
  2256  	0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f,
  2257  	0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x08,
  2258  	0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x0b, 0x54, 0x65, 0x78,
  2259  	0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d,
  2260  	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2261  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e,
  2262  	0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62,
  2263  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  2264  	0x74, 0x52, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f,
  2265  	0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a,
  2266  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x66, 0x72,
  2267  	0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
  2268  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69,
  2269  	0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32,
  2270  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52,
  2271  	0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x78, 0x74,
  2272  	0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x72, 0x0a, 0x14, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64,
  2273  	0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20,
  2274  	0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2275  	0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67,
  2276  	0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e,
  2277  	0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e,
  2278  	0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x12, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f,
  2279  	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x3a, 0x0a, 0x0b, 0x74, 0x69, 0x6d,
  2280  	0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  2281  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2282  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4f,
  2283  	0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x77, 0x0a, 0x0e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e,
  2284  	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18,
  2285  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x51, 0x0a, 0x08, 0x73,
  2286  	0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e,
  2287  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64,
  2288  	0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
  2289  	0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x67,
  2290  	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xca,
  2291  	0x01, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e,
  2292  	0x67, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x77, 0x0a, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
  2293  	0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f,
  2294  	0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2295  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65,
  2296  	0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74,
  2297  	0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75,
  2298  	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x15, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
  2299  	0x69, 0x7a, 0x65, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12,
  2300  	0x3a, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02,
  2301  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2302  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  2303  	0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xda, 0x02, 0x0a, 0x18,
  2304  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x41, 0x6e,
  2305  	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d,
  2306  	0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2307  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e,
  2308  	0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62,
  2309  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
  2310  	0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x08,
  2311  	0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00,
  2312  	0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x65, 0x6e, 0x74,
  2313  	0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2314  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e,
  2315  	0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62,
  2316  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74,
  2317  	0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63,
  2318  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65,
  2319  	0x6e, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20,
  2320  	0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2321  	0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67,
  2322  	0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f,
  2323  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x61,
  2324  	0x6d, 0x65, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x74, 0x72,
  2325  	0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2a, 0x9b, 0x01, 0x0a, 0x07, 0x46, 0x65, 0x61,
  2326  	0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f,
  2327  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a,
  2328  	0x0f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e,
  2329  	0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47,
  2330  	0x45, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x1e, 0x0a,
  2331  	0x1a, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e,
  2332  	0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a,
  2333  	0x0e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10,
  2334  	0x07, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x43,
  2335  	0x4b, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x2a, 0x72, 0x0a, 0x12, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x44,
  2336  	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x20,
  2337  	0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
  2338  	0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  2339  	0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10,
  2340  	0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10,
  2341  	0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x52,
  2342  	0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x03, 0x2a, 0x74, 0x0a, 0x0a, 0x4c, 0x69,
  2343  	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x4b, 0x45,
  2344  	0x4c, 0x49, 0x48, 0x4f, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  2345  	0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x4c,
  2346  	0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x49, 0x4b,
  2347  	0x45, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4f, 0x53, 0x53, 0x49, 0x42, 0x4c,
  2348  	0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x04, 0x12,
  2349  	0x0f, 0x0a, 0x0b, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x05,
  2350  	0x32, 0xce, 0x02, 0x0a, 0x18, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x74, 0x65, 0x6c, 0x6c,
  2351  	0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdb, 0x01,
  2352  	0x0a, 0x0d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12,
  2353  	0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
  2354  	0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65,
  2355  	0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
  2356  	0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  2357  	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
  2358  	0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b,
  2359  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74,
  2360  	0x61, 0x31, 0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  2361  	0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72,
  2362  	0x69, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0xca, 0x41, 0x2e, 0x0a, 0x15, 0x41,
  2363  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x70,
  2364  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x56, 0x69,
  2365  	0x64, 0x65, 0x6f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x54, 0xca, 0x41, 0x20,
  2366  	0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63,
  2367  	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  2368  	0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
  2369  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
  2370  	0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2371  	0x6d, 0x42, 0xae, 0x02, 0x0a, 0x2c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2372  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65,
  2373  	0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74,
  2374  	0x61, 0x31, 0x42, 0x1d, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69,
  2375  	0x67, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74,
  2376  	0x6f, 0x50, 0x01, 0x5a, 0x59, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
  2377  	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
  2378  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2379  	0x2f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e,
  2380  	0x63, 0x65, 0x2f, 0x76, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x76, 0x69, 0x64,
  2381  	0x65, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0xaa, 0x02,
  2382  	0x28, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x56, 0x69,
  2383  	0x64, 0x65, 0x6f, 0x49, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e,
  2384  	0x56, 0x31, 0x50, 0x32, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x28, 0x47, 0x6f, 0x6f, 0x67,
  2385  	0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e,
  2386  	0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x70, 0x32, 0x62,
  2387  	0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x2b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43,
  2388  	0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x74, 0x65, 0x6c,
  2389  	0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x70, 0x32, 0x62, 0x65, 0x74,
  2390  	0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2391  }
  2392  
  2393  var (
  2394  	file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescOnce sync.Once
  2395  	file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescData = file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDesc
  2396  )
  2397  
  2398  func file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescGZIP() []byte {
  2399  	file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescOnce.Do(func() {
  2400  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescData)
  2401  	})
  2402  	return file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDescData
  2403  }
  2404  
  2405  var file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2406  var file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
  2407  var file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_goTypes = []interface{}{
  2408  	(Feature)(0),                           // 0: google.cloud.videointelligence.v1p2beta1.Feature
  2409  	(LabelDetectionMode)(0),                // 1: google.cloud.videointelligence.v1p2beta1.LabelDetectionMode
  2410  	(Likelihood)(0),                        // 2: google.cloud.videointelligence.v1p2beta1.Likelihood
  2411  	(*AnnotateVideoRequest)(nil),           // 3: google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest
  2412  	(*VideoContext)(nil),                   // 4: google.cloud.videointelligence.v1p2beta1.VideoContext
  2413  	(*LabelDetectionConfig)(nil),           // 5: google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig
  2414  	(*ShotChangeDetectionConfig)(nil),      // 6: google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig
  2415  	(*ExplicitContentDetectionConfig)(nil), // 7: google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig
  2416  	(*TextDetectionConfig)(nil),            // 8: google.cloud.videointelligence.v1p2beta1.TextDetectionConfig
  2417  	(*VideoSegment)(nil),                   // 9: google.cloud.videointelligence.v1p2beta1.VideoSegment
  2418  	(*LabelSegment)(nil),                   // 10: google.cloud.videointelligence.v1p2beta1.LabelSegment
  2419  	(*LabelFrame)(nil),                     // 11: google.cloud.videointelligence.v1p2beta1.LabelFrame
  2420  	(*Entity)(nil),                         // 12: google.cloud.videointelligence.v1p2beta1.Entity
  2421  	(*LabelAnnotation)(nil),                // 13: google.cloud.videointelligence.v1p2beta1.LabelAnnotation
  2422  	(*ExplicitContentFrame)(nil),           // 14: google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame
  2423  	(*ExplicitContentAnnotation)(nil),      // 15: google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation
  2424  	(*NormalizedBoundingBox)(nil),          // 16: google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox
  2425  	(*VideoAnnotationResults)(nil),         // 17: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults
  2426  	(*AnnotateVideoResponse)(nil),          // 18: google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse
  2427  	(*VideoAnnotationProgress)(nil),        // 19: google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress
  2428  	(*AnnotateVideoProgress)(nil),          // 20: google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress
  2429  	(*NormalizedVertex)(nil),               // 21: google.cloud.videointelligence.v1p2beta1.NormalizedVertex
  2430  	(*NormalizedBoundingPoly)(nil),         // 22: google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly
  2431  	(*TextSegment)(nil),                    // 23: google.cloud.videointelligence.v1p2beta1.TextSegment
  2432  	(*TextFrame)(nil),                      // 24: google.cloud.videointelligence.v1p2beta1.TextFrame
  2433  	(*TextAnnotation)(nil),                 // 25: google.cloud.videointelligence.v1p2beta1.TextAnnotation
  2434  	(*ObjectTrackingFrame)(nil),            // 26: google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame
  2435  	(*ObjectTrackingAnnotation)(nil),       // 27: google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation
  2436  	(*durationpb.Duration)(nil),            // 28: google.protobuf.Duration
  2437  	(*status.Status)(nil),                  // 29: google.rpc.Status
  2438  	(*timestamppb.Timestamp)(nil),          // 30: google.protobuf.Timestamp
  2439  	(*longrunning.Operation)(nil),          // 31: google.longrunning.Operation
  2440  }
  2441  var file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_depIdxs = []int32{
  2442  	0,  // 0: google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.features:type_name -> google.cloud.videointelligence.v1p2beta1.Feature
  2443  	4,  // 1: google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.video_context:type_name -> google.cloud.videointelligence.v1p2beta1.VideoContext
  2444  	9,  // 2: google.cloud.videointelligence.v1p2beta1.VideoContext.segments:type_name -> google.cloud.videointelligence.v1p2beta1.VideoSegment
  2445  	5,  // 3: google.cloud.videointelligence.v1p2beta1.VideoContext.label_detection_config:type_name -> google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig
  2446  	6,  // 4: google.cloud.videointelligence.v1p2beta1.VideoContext.shot_change_detection_config:type_name -> google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig
  2447  	7,  // 5: google.cloud.videointelligence.v1p2beta1.VideoContext.explicit_content_detection_config:type_name -> google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig
  2448  	8,  // 6: google.cloud.videointelligence.v1p2beta1.VideoContext.text_detection_config:type_name -> google.cloud.videointelligence.v1p2beta1.TextDetectionConfig
  2449  	1,  // 7: google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.label_detection_mode:type_name -> google.cloud.videointelligence.v1p2beta1.LabelDetectionMode
  2450  	28, // 8: google.cloud.videointelligence.v1p2beta1.VideoSegment.start_time_offset:type_name -> google.protobuf.Duration
  2451  	28, // 9: google.cloud.videointelligence.v1p2beta1.VideoSegment.end_time_offset:type_name -> google.protobuf.Duration
  2452  	9,  // 10: google.cloud.videointelligence.v1p2beta1.LabelSegment.segment:type_name -> google.cloud.videointelligence.v1p2beta1.VideoSegment
  2453  	28, // 11: google.cloud.videointelligence.v1p2beta1.LabelFrame.time_offset:type_name -> google.protobuf.Duration
  2454  	12, // 12: google.cloud.videointelligence.v1p2beta1.LabelAnnotation.entity:type_name -> google.cloud.videointelligence.v1p2beta1.Entity
  2455  	12, // 13: google.cloud.videointelligence.v1p2beta1.LabelAnnotation.category_entities:type_name -> google.cloud.videointelligence.v1p2beta1.Entity
  2456  	10, // 14: google.cloud.videointelligence.v1p2beta1.LabelAnnotation.segments:type_name -> google.cloud.videointelligence.v1p2beta1.LabelSegment
  2457  	11, // 15: google.cloud.videointelligence.v1p2beta1.LabelAnnotation.frames:type_name -> google.cloud.videointelligence.v1p2beta1.LabelFrame
  2458  	28, // 16: google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.time_offset:type_name -> google.protobuf.Duration
  2459  	2,  // 17: google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.pornography_likelihood:type_name -> google.cloud.videointelligence.v1p2beta1.Likelihood
  2460  	14, // 18: google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.frames:type_name -> google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame
  2461  	13, // 19: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.segment_label_annotations:type_name -> google.cloud.videointelligence.v1p2beta1.LabelAnnotation
  2462  	13, // 20: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.shot_label_annotations:type_name -> google.cloud.videointelligence.v1p2beta1.LabelAnnotation
  2463  	13, // 21: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.frame_label_annotations:type_name -> google.cloud.videointelligence.v1p2beta1.LabelAnnotation
  2464  	9,  // 22: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.shot_annotations:type_name -> google.cloud.videointelligence.v1p2beta1.VideoSegment
  2465  	15, // 23: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.explicit_annotation:type_name -> google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation
  2466  	25, // 24: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.text_annotations:type_name -> google.cloud.videointelligence.v1p2beta1.TextAnnotation
  2467  	27, // 25: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.object_annotations:type_name -> google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation
  2468  	29, // 26: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.error:type_name -> google.rpc.Status
  2469  	17, // 27: google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.annotation_results:type_name -> google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults
  2470  	30, // 28: google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.start_time:type_name -> google.protobuf.Timestamp
  2471  	30, // 29: google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.update_time:type_name -> google.protobuf.Timestamp
  2472  	19, // 30: google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.annotation_progress:type_name -> google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress
  2473  	21, // 31: google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.vertices:type_name -> google.cloud.videointelligence.v1p2beta1.NormalizedVertex
  2474  	9,  // 32: google.cloud.videointelligence.v1p2beta1.TextSegment.segment:type_name -> google.cloud.videointelligence.v1p2beta1.VideoSegment
  2475  	24, // 33: google.cloud.videointelligence.v1p2beta1.TextSegment.frames:type_name -> google.cloud.videointelligence.v1p2beta1.TextFrame
  2476  	22, // 34: google.cloud.videointelligence.v1p2beta1.TextFrame.rotated_bounding_box:type_name -> google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly
  2477  	28, // 35: google.cloud.videointelligence.v1p2beta1.TextFrame.time_offset:type_name -> google.protobuf.Duration
  2478  	23, // 36: google.cloud.videointelligence.v1p2beta1.TextAnnotation.segments:type_name -> google.cloud.videointelligence.v1p2beta1.TextSegment
  2479  	16, // 37: google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.normalized_bounding_box:type_name -> google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox
  2480  	28, // 38: google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.time_offset:type_name -> google.protobuf.Duration
  2481  	9,  // 39: google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.segment:type_name -> google.cloud.videointelligence.v1p2beta1.VideoSegment
  2482  	12, // 40: google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.entity:type_name -> google.cloud.videointelligence.v1p2beta1.Entity
  2483  	26, // 41: google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.frames:type_name -> google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame
  2484  	3,  // 42: google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideo:input_type -> google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest
  2485  	31, // 43: google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideo:output_type -> google.longrunning.Operation
  2486  	43, // [43:44] is the sub-list for method output_type
  2487  	42, // [42:43] is the sub-list for method input_type
  2488  	42, // [42:42] is the sub-list for extension type_name
  2489  	42, // [42:42] is the sub-list for extension extendee
  2490  	0,  // [0:42] is the sub-list for field type_name
  2491  }
  2492  
  2493  func init() { file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_init() }
  2494  func file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_init() {
  2495  	if File_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto != nil {
  2496  		return
  2497  	}
  2498  	if !protoimpl.UnsafeEnabled {
  2499  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2500  			switch v := v.(*AnnotateVideoRequest); i {
  2501  			case 0:
  2502  				return &v.state
  2503  			case 1:
  2504  				return &v.sizeCache
  2505  			case 2:
  2506  				return &v.unknownFields
  2507  			default:
  2508  				return nil
  2509  			}
  2510  		}
  2511  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2512  			switch v := v.(*VideoContext); i {
  2513  			case 0:
  2514  				return &v.state
  2515  			case 1:
  2516  				return &v.sizeCache
  2517  			case 2:
  2518  				return &v.unknownFields
  2519  			default:
  2520  				return nil
  2521  			}
  2522  		}
  2523  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2524  			switch v := v.(*LabelDetectionConfig); i {
  2525  			case 0:
  2526  				return &v.state
  2527  			case 1:
  2528  				return &v.sizeCache
  2529  			case 2:
  2530  				return &v.unknownFields
  2531  			default:
  2532  				return nil
  2533  			}
  2534  		}
  2535  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2536  			switch v := v.(*ShotChangeDetectionConfig); i {
  2537  			case 0:
  2538  				return &v.state
  2539  			case 1:
  2540  				return &v.sizeCache
  2541  			case 2:
  2542  				return &v.unknownFields
  2543  			default:
  2544  				return nil
  2545  			}
  2546  		}
  2547  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2548  			switch v := v.(*ExplicitContentDetectionConfig); i {
  2549  			case 0:
  2550  				return &v.state
  2551  			case 1:
  2552  				return &v.sizeCache
  2553  			case 2:
  2554  				return &v.unknownFields
  2555  			default:
  2556  				return nil
  2557  			}
  2558  		}
  2559  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2560  			switch v := v.(*TextDetectionConfig); i {
  2561  			case 0:
  2562  				return &v.state
  2563  			case 1:
  2564  				return &v.sizeCache
  2565  			case 2:
  2566  				return &v.unknownFields
  2567  			default:
  2568  				return nil
  2569  			}
  2570  		}
  2571  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2572  			switch v := v.(*VideoSegment); i {
  2573  			case 0:
  2574  				return &v.state
  2575  			case 1:
  2576  				return &v.sizeCache
  2577  			case 2:
  2578  				return &v.unknownFields
  2579  			default:
  2580  				return nil
  2581  			}
  2582  		}
  2583  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2584  			switch v := v.(*LabelSegment); i {
  2585  			case 0:
  2586  				return &v.state
  2587  			case 1:
  2588  				return &v.sizeCache
  2589  			case 2:
  2590  				return &v.unknownFields
  2591  			default:
  2592  				return nil
  2593  			}
  2594  		}
  2595  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2596  			switch v := v.(*LabelFrame); i {
  2597  			case 0:
  2598  				return &v.state
  2599  			case 1:
  2600  				return &v.sizeCache
  2601  			case 2:
  2602  				return &v.unknownFields
  2603  			default:
  2604  				return nil
  2605  			}
  2606  		}
  2607  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2608  			switch v := v.(*Entity); i {
  2609  			case 0:
  2610  				return &v.state
  2611  			case 1:
  2612  				return &v.sizeCache
  2613  			case 2:
  2614  				return &v.unknownFields
  2615  			default:
  2616  				return nil
  2617  			}
  2618  		}
  2619  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2620  			switch v := v.(*LabelAnnotation); i {
  2621  			case 0:
  2622  				return &v.state
  2623  			case 1:
  2624  				return &v.sizeCache
  2625  			case 2:
  2626  				return &v.unknownFields
  2627  			default:
  2628  				return nil
  2629  			}
  2630  		}
  2631  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2632  			switch v := v.(*ExplicitContentFrame); i {
  2633  			case 0:
  2634  				return &v.state
  2635  			case 1:
  2636  				return &v.sizeCache
  2637  			case 2:
  2638  				return &v.unknownFields
  2639  			default:
  2640  				return nil
  2641  			}
  2642  		}
  2643  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2644  			switch v := v.(*ExplicitContentAnnotation); i {
  2645  			case 0:
  2646  				return &v.state
  2647  			case 1:
  2648  				return &v.sizeCache
  2649  			case 2:
  2650  				return &v.unknownFields
  2651  			default:
  2652  				return nil
  2653  			}
  2654  		}
  2655  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2656  			switch v := v.(*NormalizedBoundingBox); i {
  2657  			case 0:
  2658  				return &v.state
  2659  			case 1:
  2660  				return &v.sizeCache
  2661  			case 2:
  2662  				return &v.unknownFields
  2663  			default:
  2664  				return nil
  2665  			}
  2666  		}
  2667  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2668  			switch v := v.(*VideoAnnotationResults); i {
  2669  			case 0:
  2670  				return &v.state
  2671  			case 1:
  2672  				return &v.sizeCache
  2673  			case 2:
  2674  				return &v.unknownFields
  2675  			default:
  2676  				return nil
  2677  			}
  2678  		}
  2679  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2680  			switch v := v.(*AnnotateVideoResponse); i {
  2681  			case 0:
  2682  				return &v.state
  2683  			case 1:
  2684  				return &v.sizeCache
  2685  			case 2:
  2686  				return &v.unknownFields
  2687  			default:
  2688  				return nil
  2689  			}
  2690  		}
  2691  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2692  			switch v := v.(*VideoAnnotationProgress); i {
  2693  			case 0:
  2694  				return &v.state
  2695  			case 1:
  2696  				return &v.sizeCache
  2697  			case 2:
  2698  				return &v.unknownFields
  2699  			default:
  2700  				return nil
  2701  			}
  2702  		}
  2703  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2704  			switch v := v.(*AnnotateVideoProgress); i {
  2705  			case 0:
  2706  				return &v.state
  2707  			case 1:
  2708  				return &v.sizeCache
  2709  			case 2:
  2710  				return &v.unknownFields
  2711  			default:
  2712  				return nil
  2713  			}
  2714  		}
  2715  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2716  			switch v := v.(*NormalizedVertex); i {
  2717  			case 0:
  2718  				return &v.state
  2719  			case 1:
  2720  				return &v.sizeCache
  2721  			case 2:
  2722  				return &v.unknownFields
  2723  			default:
  2724  				return nil
  2725  			}
  2726  		}
  2727  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2728  			switch v := v.(*NormalizedBoundingPoly); i {
  2729  			case 0:
  2730  				return &v.state
  2731  			case 1:
  2732  				return &v.sizeCache
  2733  			case 2:
  2734  				return &v.unknownFields
  2735  			default:
  2736  				return nil
  2737  			}
  2738  		}
  2739  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  2740  			switch v := v.(*TextSegment); i {
  2741  			case 0:
  2742  				return &v.state
  2743  			case 1:
  2744  				return &v.sizeCache
  2745  			case 2:
  2746  				return &v.unknownFields
  2747  			default:
  2748  				return nil
  2749  			}
  2750  		}
  2751  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  2752  			switch v := v.(*TextFrame); i {
  2753  			case 0:
  2754  				return &v.state
  2755  			case 1:
  2756  				return &v.sizeCache
  2757  			case 2:
  2758  				return &v.unknownFields
  2759  			default:
  2760  				return nil
  2761  			}
  2762  		}
  2763  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  2764  			switch v := v.(*TextAnnotation); i {
  2765  			case 0:
  2766  				return &v.state
  2767  			case 1:
  2768  				return &v.sizeCache
  2769  			case 2:
  2770  				return &v.unknownFields
  2771  			default:
  2772  				return nil
  2773  			}
  2774  		}
  2775  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  2776  			switch v := v.(*ObjectTrackingFrame); i {
  2777  			case 0:
  2778  				return &v.state
  2779  			case 1:
  2780  				return &v.sizeCache
  2781  			case 2:
  2782  				return &v.unknownFields
  2783  			default:
  2784  				return nil
  2785  			}
  2786  		}
  2787  		file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  2788  			switch v := v.(*ObjectTrackingAnnotation); i {
  2789  			case 0:
  2790  				return &v.state
  2791  			case 1:
  2792  				return &v.sizeCache
  2793  			case 2:
  2794  				return &v.unknownFields
  2795  			default:
  2796  				return nil
  2797  			}
  2798  		}
  2799  	}
  2800  	file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes[24].OneofWrappers = []interface{}{
  2801  		(*ObjectTrackingAnnotation_Segment)(nil),
  2802  		(*ObjectTrackingAnnotation_TrackId)(nil),
  2803  	}
  2804  	type x struct{}
  2805  	out := protoimpl.TypeBuilder{
  2806  		File: protoimpl.DescBuilder{
  2807  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2808  			RawDescriptor: file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDesc,
  2809  			NumEnums:      3,
  2810  			NumMessages:   25,
  2811  			NumExtensions: 0,
  2812  			NumServices:   1,
  2813  		},
  2814  		GoTypes:           file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_goTypes,
  2815  		DependencyIndexes: file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_depIdxs,
  2816  		EnumInfos:         file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_enumTypes,
  2817  		MessageInfos:      file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_msgTypes,
  2818  	}.Build()
  2819  	File_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto = out.File
  2820  	file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_rawDesc = nil
  2821  	file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_goTypes = nil
  2822  	file_google_cloud_videointelligence_v1p2beta1_video_intelligence_proto_depIdxs = nil
  2823  }
  2824  
  2825  // Reference imports to suppress errors if they are not otherwise used.
  2826  var _ context.Context
  2827  var _ grpc.ClientConnInterface
  2828  
  2829  // This is a compile-time assertion to ensure that this generated file
  2830  // is compatible with the grpc package it is being compiled against.
  2831  const _ = grpc.SupportPackageIsVersion6
  2832  
  2833  // VideoIntelligenceServiceClient is the client API for VideoIntelligenceService service.
  2834  //
  2835  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2836  type VideoIntelligenceServiceClient interface {
  2837  	// Performs asynchronous video annotation. Progress and results can be
  2838  	// retrieved through the `google.longrunning.Operations` interface.
  2839  	// `Operation.metadata` contains `AnnotateVideoProgress` (progress).
  2840  	// `Operation.response` contains `AnnotateVideoResponse` (results).
  2841  	AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  2842  }
  2843  
  2844  type videoIntelligenceServiceClient struct {
  2845  	cc grpc.ClientConnInterface
  2846  }
  2847  
  2848  func NewVideoIntelligenceServiceClient(cc grpc.ClientConnInterface) VideoIntelligenceServiceClient {
  2849  	return &videoIntelligenceServiceClient{cc}
  2850  }
  2851  
  2852  func (c *videoIntelligenceServiceClient) AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  2853  	out := new(longrunning.Operation)
  2854  	err := c.cc.Invoke(ctx, "/google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService/AnnotateVideo", in, out, opts...)
  2855  	if err != nil {
  2856  		return nil, err
  2857  	}
  2858  	return out, nil
  2859  }
  2860  
  2861  // VideoIntelligenceServiceServer is the server API for VideoIntelligenceService service.
  2862  type VideoIntelligenceServiceServer interface {
  2863  	// Performs asynchronous video annotation. Progress and results can be
  2864  	// retrieved through the `google.longrunning.Operations` interface.
  2865  	// `Operation.metadata` contains `AnnotateVideoProgress` (progress).
  2866  	// `Operation.response` contains `AnnotateVideoResponse` (results).
  2867  	AnnotateVideo(context.Context, *AnnotateVideoRequest) (*longrunning.Operation, error)
  2868  }
  2869  
  2870  // UnimplementedVideoIntelligenceServiceServer can be embedded to have forward compatible implementations.
  2871  type UnimplementedVideoIntelligenceServiceServer struct {
  2872  }
  2873  
  2874  func (*UnimplementedVideoIntelligenceServiceServer) AnnotateVideo(context.Context, *AnnotateVideoRequest) (*longrunning.Operation, error) {
  2875  	return nil, status1.Errorf(codes.Unimplemented, "method AnnotateVideo not implemented")
  2876  }
  2877  
  2878  func RegisterVideoIntelligenceServiceServer(s *grpc.Server, srv VideoIntelligenceServiceServer) {
  2879  	s.RegisterService(&_VideoIntelligenceService_serviceDesc, srv)
  2880  }
  2881  
  2882  func _VideoIntelligenceService_AnnotateVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2883  	in := new(AnnotateVideoRequest)
  2884  	if err := dec(in); err != nil {
  2885  		return nil, err
  2886  	}
  2887  	if interceptor == nil {
  2888  		return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, in)
  2889  	}
  2890  	info := &grpc.UnaryServerInfo{
  2891  		Server:     srv,
  2892  		FullMethod: "/google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService/AnnotateVideo",
  2893  	}
  2894  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2895  		return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, req.(*AnnotateVideoRequest))
  2896  	}
  2897  	return interceptor(ctx, in, info, handler)
  2898  }
  2899  
  2900  var _VideoIntelligenceService_serviceDesc = grpc.ServiceDesc{
  2901  	ServiceName: "google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService",
  2902  	HandlerType: (*VideoIntelligenceServiceServer)(nil),
  2903  	Methods: []grpc.MethodDesc{
  2904  		{
  2905  			MethodName: "AnnotateVideo",
  2906  			Handler:    _VideoIntelligenceService_AnnotateVideo_Handler,
  2907  		},
  2908  	},
  2909  	Streams:  []grpc.StreamDesc{},
  2910  	Metadata: "google/cloud/videointelligence/v1p2beta1/video_intelligence.proto",
  2911  }
  2912  

View as plain text