cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/feature_view.pb.go (about)

     1  // Copyright 2025 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  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1beta1/feature_view.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // Service agent type used during data sync.
    40  type FeatureView_ServiceAgentType int32
    41  
    42  const (
    43  	// By default, the project-level Vertex AI Service Agent is enabled.
    44  	FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED FeatureView_ServiceAgentType = 0
    45  	// Indicates the project-level Vertex AI Service Agent
    46  	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
    47  	// will be used during sync jobs.
    48  	FeatureView_SERVICE_AGENT_TYPE_PROJECT FeatureView_ServiceAgentType = 1
    49  	// Enable a FeatureView service account to be created by Vertex AI and
    50  	// output in the field `service_account_email`. This service account will
    51  	// be used to read from the source BigQuery table during sync.
    52  	FeatureView_SERVICE_AGENT_TYPE_FEATURE_VIEW FeatureView_ServiceAgentType = 2
    53  )
    54  
    55  // Enum value maps for FeatureView_ServiceAgentType.
    56  var (
    57  	FeatureView_ServiceAgentType_name = map[int32]string{
    58  		0: "SERVICE_AGENT_TYPE_UNSPECIFIED",
    59  		1: "SERVICE_AGENT_TYPE_PROJECT",
    60  		2: "SERVICE_AGENT_TYPE_FEATURE_VIEW",
    61  	}
    62  	FeatureView_ServiceAgentType_value = map[string]int32{
    63  		"SERVICE_AGENT_TYPE_UNSPECIFIED":  0,
    64  		"SERVICE_AGENT_TYPE_PROJECT":      1,
    65  		"SERVICE_AGENT_TYPE_FEATURE_VIEW": 2,
    66  	}
    67  )
    68  
    69  func (x FeatureView_ServiceAgentType) Enum() *FeatureView_ServiceAgentType {
    70  	p := new(FeatureView_ServiceAgentType)
    71  	*p = x
    72  	return p
    73  }
    74  
    75  func (x FeatureView_ServiceAgentType) String() string {
    76  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    77  }
    78  
    79  func (FeatureView_ServiceAgentType) Descriptor() protoreflect.EnumDescriptor {
    80  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[0].Descriptor()
    81  }
    82  
    83  func (FeatureView_ServiceAgentType) Type() protoreflect.EnumType {
    84  	return &file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[0]
    85  }
    86  
    87  func (x FeatureView_ServiceAgentType) Number() protoreflect.EnumNumber {
    88  	return protoreflect.EnumNumber(x)
    89  }
    90  
    91  // Deprecated: Use FeatureView_ServiceAgentType.Descriptor instead.
    92  func (FeatureView_ServiceAgentType) EnumDescriptor() ([]byte, []int) {
    93  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 0}
    94  }
    95  
    96  type FeatureView_VectorSearchConfig_DistanceMeasureType int32
    97  
    98  const (
    99  	// Should not be set.
   100  	FeatureView_VectorSearchConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_VectorSearchConfig_DistanceMeasureType = 0
   101  	// Euclidean (L_2) Distance.
   102  	FeatureView_VectorSearchConfig_SQUARED_L2_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 1
   103  	// Cosine Distance. Defined as 1 - cosine similarity.
   104  	//
   105  	// We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead
   106  	// of COSINE distance. Our algorithms have been more optimized for
   107  	// DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is
   108  	// mathematically equivalent to COSINE distance and results in the same
   109  	// ranking.
   110  	FeatureView_VectorSearchConfig_COSINE_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 2
   111  	// Dot Product Distance. Defined as a negative of the dot product.
   112  	FeatureView_VectorSearchConfig_DOT_PRODUCT_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 3
   113  )
   114  
   115  // Enum value maps for FeatureView_VectorSearchConfig_DistanceMeasureType.
   116  var (
   117  	FeatureView_VectorSearchConfig_DistanceMeasureType_name = map[int32]string{
   118  		0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED",
   119  		1: "SQUARED_L2_DISTANCE",
   120  		2: "COSINE_DISTANCE",
   121  		3: "DOT_PRODUCT_DISTANCE",
   122  	}
   123  	FeatureView_VectorSearchConfig_DistanceMeasureType_value = map[string]int32{
   124  		"DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0,
   125  		"SQUARED_L2_DISTANCE":               1,
   126  		"COSINE_DISTANCE":                   2,
   127  		"DOT_PRODUCT_DISTANCE":              3,
   128  	}
   129  )
   130  
   131  func (x FeatureView_VectorSearchConfig_DistanceMeasureType) Enum() *FeatureView_VectorSearchConfig_DistanceMeasureType {
   132  	p := new(FeatureView_VectorSearchConfig_DistanceMeasureType)
   133  	*p = x
   134  	return p
   135  }
   136  
   137  func (x FeatureView_VectorSearchConfig_DistanceMeasureType) String() string {
   138  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   139  }
   140  
   141  func (FeatureView_VectorSearchConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor {
   142  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[1].Descriptor()
   143  }
   144  
   145  func (FeatureView_VectorSearchConfig_DistanceMeasureType) Type() protoreflect.EnumType {
   146  	return &file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[1]
   147  }
   148  
   149  func (x FeatureView_VectorSearchConfig_DistanceMeasureType) Number() protoreflect.EnumNumber {
   150  	return protoreflect.EnumNumber(x)
   151  }
   152  
   153  // Deprecated: Use FeatureView_VectorSearchConfig_DistanceMeasureType.Descriptor instead.
   154  func (FeatureView_VectorSearchConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) {
   155  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0}
   156  }
   157  
   158  // The distance measure used in nearest neighbor search.
   159  type FeatureView_IndexConfig_DistanceMeasureType int32
   160  
   161  const (
   162  	// Should not be set.
   163  	FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_IndexConfig_DistanceMeasureType = 0
   164  	// Euclidean (L_2) Distance.
   165  	FeatureView_IndexConfig_SQUARED_L2_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 1
   166  	// Cosine Distance. Defined as 1 - cosine similarity.
   167  	//
   168  	// We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead
   169  	// of COSINE distance. Our algorithms have been more optimized for
   170  	// DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is
   171  	// mathematically equivalent to COSINE distance and results in the same
   172  	// ranking.
   173  	FeatureView_IndexConfig_COSINE_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 2
   174  	// Dot Product Distance. Defined as a negative of the dot product.
   175  	FeatureView_IndexConfig_DOT_PRODUCT_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 3
   176  )
   177  
   178  // Enum value maps for FeatureView_IndexConfig_DistanceMeasureType.
   179  var (
   180  	FeatureView_IndexConfig_DistanceMeasureType_name = map[int32]string{
   181  		0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED",
   182  		1: "SQUARED_L2_DISTANCE",
   183  		2: "COSINE_DISTANCE",
   184  		3: "DOT_PRODUCT_DISTANCE",
   185  	}
   186  	FeatureView_IndexConfig_DistanceMeasureType_value = map[string]int32{
   187  		"DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0,
   188  		"SQUARED_L2_DISTANCE":               1,
   189  		"COSINE_DISTANCE":                   2,
   190  		"DOT_PRODUCT_DISTANCE":              3,
   191  	}
   192  )
   193  
   194  func (x FeatureView_IndexConfig_DistanceMeasureType) Enum() *FeatureView_IndexConfig_DistanceMeasureType {
   195  	p := new(FeatureView_IndexConfig_DistanceMeasureType)
   196  	*p = x
   197  	return p
   198  }
   199  
   200  func (x FeatureView_IndexConfig_DistanceMeasureType) String() string {
   201  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   202  }
   203  
   204  func (FeatureView_IndexConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor {
   205  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[2].Descriptor()
   206  }
   207  
   208  func (FeatureView_IndexConfig_DistanceMeasureType) Type() protoreflect.EnumType {
   209  	return &file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[2]
   210  }
   211  
   212  func (x FeatureView_IndexConfig_DistanceMeasureType) Number() protoreflect.EnumNumber {
   213  	return protoreflect.EnumNumber(x)
   214  }
   215  
   216  // Deprecated: Use FeatureView_IndexConfig_DistanceMeasureType.Descriptor instead.
   217  func (FeatureView_IndexConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) {
   218  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0}
   219  }
   220  
   221  // FeatureView is representation of values that the FeatureOnlineStore will
   222  // serve based on its syncConfig.
   223  type FeatureView struct {
   224  	state         protoimpl.MessageState
   225  	sizeCache     protoimpl.SizeCache
   226  	unknownFields protoimpl.UnknownFields
   227  
   228  	// Types that are assignable to Source:
   229  	//
   230  	//	*FeatureView_BigQuerySource_
   231  	//	*FeatureView_FeatureRegistrySource_
   232  	//	*FeatureView_VertexRagSource_
   233  	Source isFeatureView_Source `protobuf_oneof:"source"`
   234  	// Identifier. Name of the FeatureView. Format:
   235  	// `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`
   236  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   237  	// Output only. Timestamp when this FeatureView was created.
   238  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   239  	// Output only. Timestamp when this FeatureView was last updated.
   240  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   241  	// Optional. Used to perform consistent read-modify-write updates. If not set,
   242  	// a blind "overwrite" update happens.
   243  	Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"`
   244  	// Optional. The labels with user-defined metadata to organize your
   245  	// FeatureViews.
   246  	//
   247  	// Label keys and values can be no longer than 64 characters
   248  	// (Unicode codepoints), can only contain lowercase letters, numeric
   249  	// characters, underscores and dashes. International characters are allowed.
   250  	//
   251  	// See https://goo.gl/xmQnxf for more information on and examples of labels.
   252  	// No more than 64 user labels can be associated with one
   253  	// FeatureOnlineStore(System labels are excluded)." System reserved label keys
   254  	// are prefixed with "aiplatform.googleapis.com/" and are immutable.
   255  	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   256  	// Configures when data is to be synced/updated for this FeatureView. At the
   257  	// end of the sync the latest featureValues for each entityId of this
   258  	// FeatureView are made ready for online serving.
   259  	SyncConfig *FeatureView_SyncConfig `protobuf:"bytes,7,opt,name=sync_config,json=syncConfig,proto3" json:"sync_config,omitempty"`
   260  	// Optional. Deprecated: please use
   261  	// [FeatureView.index_config][google.cloud.aiplatform.v1beta1.FeatureView.index_config]
   262  	// instead.
   263  	//
   264  	// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_view.proto.
   265  	VectorSearchConfig *FeatureView_VectorSearchConfig `protobuf:"bytes,8,opt,name=vector_search_config,json=vectorSearchConfig,proto3" json:"vector_search_config,omitempty"`
   266  	// Optional. Configuration for index preparation for vector search. It
   267  	// contains the required configurations to create an index from source data,
   268  	// so that approximate nearest neighbor (a.k.a ANN) algorithms search can be
   269  	// performed during online serving.
   270  	IndexConfig *FeatureView_IndexConfig `protobuf:"bytes,15,opt,name=index_config,json=indexConfig,proto3" json:"index_config,omitempty"`
   271  	// Optional. Configuration for FeatureView created under Optimized
   272  	// FeatureOnlineStore.
   273  	OptimizedConfig *FeatureView_OptimizedConfig `protobuf:"bytes,16,opt,name=optimized_config,json=optimizedConfig,proto3" json:"optimized_config,omitempty"`
   274  	// Optional. Service agent type used during data sync. By default, the Vertex
   275  	// AI Service Agent is used. When using an IAM Policy to isolate this
   276  	// FeatureView within a project, a separate service account should be
   277  	// provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
   278  	// This will generate a separate service account to access the BigQuery source
   279  	// table.
   280  	ServiceAgentType FeatureView_ServiceAgentType `protobuf:"varint,14,opt,name=service_agent_type,json=serviceAgentType,proto3,enum=google.cloud.aiplatform.v1beta1.FeatureView_ServiceAgentType" json:"service_agent_type,omitempty"`
   281  	// Output only. A Service Account unique to this FeatureView. The role
   282  	// bigquery.dataViewer should be granted to this service account to allow
   283  	// Vertex AI Feature Store to sync data to the online store.
   284  	ServiceAccountEmail string `protobuf:"bytes,13,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
   285  	// Output only. Reserved for future use.
   286  	SatisfiesPzs bool `protobuf:"varint,19,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
   287  	// Output only. Reserved for future use.
   288  	SatisfiesPzi bool `protobuf:"varint,20,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"`
   289  	// Metadata containing information about the Cloud Bigtable.
   290  	BigtableMetadata *FeatureView_BigtableMetadata `protobuf:"bytes,21,opt,name=bigtable_metadata,json=bigtableMetadata,proto3" json:"bigtable_metadata,omitempty"`
   291  }
   292  
   293  func (x *FeatureView) Reset() {
   294  	*x = FeatureView{}
   295  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0]
   296  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   297  	ms.StoreMessageInfo(mi)
   298  }
   299  
   300  func (x *FeatureView) String() string {
   301  	return protoimpl.X.MessageStringOf(x)
   302  }
   303  
   304  func (*FeatureView) ProtoMessage() {}
   305  
   306  func (x *FeatureView) ProtoReflect() protoreflect.Message {
   307  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0]
   308  	if x != nil {
   309  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   310  		if ms.LoadMessageInfo() == nil {
   311  			ms.StoreMessageInfo(mi)
   312  		}
   313  		return ms
   314  	}
   315  	return mi.MessageOf(x)
   316  }
   317  
   318  // Deprecated: Use FeatureView.ProtoReflect.Descriptor instead.
   319  func (*FeatureView) Descriptor() ([]byte, []int) {
   320  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0}
   321  }
   322  
   323  func (m *FeatureView) GetSource() isFeatureView_Source {
   324  	if m != nil {
   325  		return m.Source
   326  	}
   327  	return nil
   328  }
   329  
   330  func (x *FeatureView) GetBigQuerySource() *FeatureView_BigQuerySource {
   331  	if x, ok := x.GetSource().(*FeatureView_BigQuerySource_); ok {
   332  		return x.BigQuerySource
   333  	}
   334  	return nil
   335  }
   336  
   337  func (x *FeatureView) GetFeatureRegistrySource() *FeatureView_FeatureRegistrySource {
   338  	if x, ok := x.GetSource().(*FeatureView_FeatureRegistrySource_); ok {
   339  		return x.FeatureRegistrySource
   340  	}
   341  	return nil
   342  }
   343  
   344  func (x *FeatureView) GetVertexRagSource() *FeatureView_VertexRagSource {
   345  	if x, ok := x.GetSource().(*FeatureView_VertexRagSource_); ok {
   346  		return x.VertexRagSource
   347  	}
   348  	return nil
   349  }
   350  
   351  func (x *FeatureView) GetName() string {
   352  	if x != nil {
   353  		return x.Name
   354  	}
   355  	return ""
   356  }
   357  
   358  func (x *FeatureView) GetCreateTime() *timestamppb.Timestamp {
   359  	if x != nil {
   360  		return x.CreateTime
   361  	}
   362  	return nil
   363  }
   364  
   365  func (x *FeatureView) GetUpdateTime() *timestamppb.Timestamp {
   366  	if x != nil {
   367  		return x.UpdateTime
   368  	}
   369  	return nil
   370  }
   371  
   372  func (x *FeatureView) GetEtag() string {
   373  	if x != nil {
   374  		return x.Etag
   375  	}
   376  	return ""
   377  }
   378  
   379  func (x *FeatureView) GetLabels() map[string]string {
   380  	if x != nil {
   381  		return x.Labels
   382  	}
   383  	return nil
   384  }
   385  
   386  func (x *FeatureView) GetSyncConfig() *FeatureView_SyncConfig {
   387  	if x != nil {
   388  		return x.SyncConfig
   389  	}
   390  	return nil
   391  }
   392  
   393  // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_view.proto.
   394  func (x *FeatureView) GetVectorSearchConfig() *FeatureView_VectorSearchConfig {
   395  	if x != nil {
   396  		return x.VectorSearchConfig
   397  	}
   398  	return nil
   399  }
   400  
   401  func (x *FeatureView) GetIndexConfig() *FeatureView_IndexConfig {
   402  	if x != nil {
   403  		return x.IndexConfig
   404  	}
   405  	return nil
   406  }
   407  
   408  func (x *FeatureView) GetOptimizedConfig() *FeatureView_OptimizedConfig {
   409  	if x != nil {
   410  		return x.OptimizedConfig
   411  	}
   412  	return nil
   413  }
   414  
   415  func (x *FeatureView) GetServiceAgentType() FeatureView_ServiceAgentType {
   416  	if x != nil {
   417  		return x.ServiceAgentType
   418  	}
   419  	return FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED
   420  }
   421  
   422  func (x *FeatureView) GetServiceAccountEmail() string {
   423  	if x != nil {
   424  		return x.ServiceAccountEmail
   425  	}
   426  	return ""
   427  }
   428  
   429  func (x *FeatureView) GetSatisfiesPzs() bool {
   430  	if x != nil {
   431  		return x.SatisfiesPzs
   432  	}
   433  	return false
   434  }
   435  
   436  func (x *FeatureView) GetSatisfiesPzi() bool {
   437  	if x != nil {
   438  		return x.SatisfiesPzi
   439  	}
   440  	return false
   441  }
   442  
   443  func (x *FeatureView) GetBigtableMetadata() *FeatureView_BigtableMetadata {
   444  	if x != nil {
   445  		return x.BigtableMetadata
   446  	}
   447  	return nil
   448  }
   449  
   450  type isFeatureView_Source interface {
   451  	isFeatureView_Source()
   452  }
   453  
   454  type FeatureView_BigQuerySource_ struct {
   455  	// Optional. Configures how data is supposed to be extracted from a BigQuery
   456  	// source to be loaded onto the FeatureOnlineStore.
   457  	BigQuerySource *FeatureView_BigQuerySource `protobuf:"bytes,6,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"`
   458  }
   459  
   460  type FeatureView_FeatureRegistrySource_ struct {
   461  	// Optional. Configures the features from a Feature Registry source that
   462  	// need to be loaded onto the FeatureOnlineStore.
   463  	FeatureRegistrySource *FeatureView_FeatureRegistrySource `protobuf:"bytes,9,opt,name=feature_registry_source,json=featureRegistrySource,proto3,oneof"`
   464  }
   465  
   466  type FeatureView_VertexRagSource_ struct {
   467  	// Optional. The Vertex RAG Source that the FeatureView is linked to.
   468  	VertexRagSource *FeatureView_VertexRagSource `protobuf:"bytes,18,opt,name=vertex_rag_source,json=vertexRagSource,proto3,oneof"`
   469  }
   470  
   471  func (*FeatureView_BigQuerySource_) isFeatureView_Source() {}
   472  
   473  func (*FeatureView_FeatureRegistrySource_) isFeatureView_Source() {}
   474  
   475  func (*FeatureView_VertexRagSource_) isFeatureView_Source() {}
   476  
   477  type FeatureView_BigQuerySource struct {
   478  	state         protoimpl.MessageState
   479  	sizeCache     protoimpl.SizeCache
   480  	unknownFields protoimpl.UnknownFields
   481  
   482  	// Required. The BigQuery view URI that will be materialized on each sync
   483  	// trigger based on FeatureView.SyncConfig.
   484  	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
   485  	// Required. Columns to construct entity_id / row keys.
   486  	EntityIdColumns []string `protobuf:"bytes,2,rep,name=entity_id_columns,json=entityIdColumns,proto3" json:"entity_id_columns,omitempty"`
   487  }
   488  
   489  func (x *FeatureView_BigQuerySource) Reset() {
   490  	*x = FeatureView_BigQuerySource{}
   491  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[1]
   492  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   493  	ms.StoreMessageInfo(mi)
   494  }
   495  
   496  func (x *FeatureView_BigQuerySource) String() string {
   497  	return protoimpl.X.MessageStringOf(x)
   498  }
   499  
   500  func (*FeatureView_BigQuerySource) ProtoMessage() {}
   501  
   502  func (x *FeatureView_BigQuerySource) ProtoReflect() protoreflect.Message {
   503  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[1]
   504  	if x != nil {
   505  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   506  		if ms.LoadMessageInfo() == nil {
   507  			ms.StoreMessageInfo(mi)
   508  		}
   509  		return ms
   510  	}
   511  	return mi.MessageOf(x)
   512  }
   513  
   514  // Deprecated: Use FeatureView_BigQuerySource.ProtoReflect.Descriptor instead.
   515  func (*FeatureView_BigQuerySource) Descriptor() ([]byte, []int) {
   516  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 0}
   517  }
   518  
   519  func (x *FeatureView_BigQuerySource) GetUri() string {
   520  	if x != nil {
   521  		return x.Uri
   522  	}
   523  	return ""
   524  }
   525  
   526  func (x *FeatureView_BigQuerySource) GetEntityIdColumns() []string {
   527  	if x != nil {
   528  		return x.EntityIdColumns
   529  	}
   530  	return nil
   531  }
   532  
   533  // Configuration for Sync. Only one option is set.
   534  type FeatureView_SyncConfig struct {
   535  	state         protoimpl.MessageState
   536  	sizeCache     protoimpl.SizeCache
   537  	unknownFields protoimpl.UnknownFields
   538  
   539  	// Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled
   540  	// runs. To explicitly set a timezone to the cron tab, apply a prefix in
   541  	// the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".
   542  	// The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone
   543  	// database. For example, "CRON_TZ=America/New_York 1 * * * *", or
   544  	// "TZ=America/New_York 1 * * * *".
   545  	Cron string `protobuf:"bytes,1,opt,name=cron,proto3" json:"cron,omitempty"`
   546  }
   547  
   548  func (x *FeatureView_SyncConfig) Reset() {
   549  	*x = FeatureView_SyncConfig{}
   550  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[2]
   551  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   552  	ms.StoreMessageInfo(mi)
   553  }
   554  
   555  func (x *FeatureView_SyncConfig) String() string {
   556  	return protoimpl.X.MessageStringOf(x)
   557  }
   558  
   559  func (*FeatureView_SyncConfig) ProtoMessage() {}
   560  
   561  func (x *FeatureView_SyncConfig) ProtoReflect() protoreflect.Message {
   562  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[2]
   563  	if x != nil {
   564  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   565  		if ms.LoadMessageInfo() == nil {
   566  			ms.StoreMessageInfo(mi)
   567  		}
   568  		return ms
   569  	}
   570  	return mi.MessageOf(x)
   571  }
   572  
   573  // Deprecated: Use FeatureView_SyncConfig.ProtoReflect.Descriptor instead.
   574  func (*FeatureView_SyncConfig) Descriptor() ([]byte, []int) {
   575  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 1}
   576  }
   577  
   578  func (x *FeatureView_SyncConfig) GetCron() string {
   579  	if x != nil {
   580  		return x.Cron
   581  	}
   582  	return ""
   583  }
   584  
   585  // Deprecated. Use
   586  // [IndexConfig][google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig]
   587  // instead.
   588  //
   589  // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_view.proto.
   590  type FeatureView_VectorSearchConfig struct {
   591  	state         protoimpl.MessageState
   592  	sizeCache     protoimpl.SizeCache
   593  	unknownFields protoimpl.UnknownFields
   594  
   595  	// The configuration with regard to the algorithms used for efficient
   596  	// search.
   597  	//
   598  	// Types that are assignable to AlgorithmConfig:
   599  	//
   600  	//	*FeatureView_VectorSearchConfig_TreeAhConfig
   601  	//	*FeatureView_VectorSearchConfig_BruteForceConfig_
   602  	AlgorithmConfig isFeatureView_VectorSearchConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"`
   603  	// Optional. Column of embedding. This column contains the source data to
   604  	// create index for vector search. embedding_column must be set when using
   605  	// vector search.
   606  	EmbeddingColumn string `protobuf:"bytes,3,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"`
   607  	// Optional. Columns of features that're used to filter vector search
   608  	// results.
   609  	FilterColumns []string `protobuf:"bytes,4,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"`
   610  	// Optional. Column of crowding. This column contains crowding attribute
   611  	// which is a constraint on a neighbor list produced by
   612  	// [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities]
   613  	// to diversify search results. If
   614  	// [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1beta1.NearestNeighborQuery.per_crowding_attribute_neighbor_count]
   615  	// is set to K in
   616  	// [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest],
   617  	// it's guaranteed that no more than K entities of the same crowding
   618  	// attribute are returned in the response.
   619  	CrowdingColumn string `protobuf:"bytes,5,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"`
   620  	// Optional. The number of dimensions of the input embedding.
   621  	EmbeddingDimension *int32 `protobuf:"varint,6,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"`
   622  	// Optional. The distance measure used in nearest neighbor search.
   623  	DistanceMeasureType FeatureView_VectorSearchConfig_DistanceMeasureType `protobuf:"varint,7,opt,name=distance_measure_type,json=distanceMeasureType,proto3,enum=google.cloud.aiplatform.v1beta1.FeatureView_VectorSearchConfig_DistanceMeasureType" json:"distance_measure_type,omitempty"`
   624  }
   625  
   626  func (x *FeatureView_VectorSearchConfig) Reset() {
   627  	*x = FeatureView_VectorSearchConfig{}
   628  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3]
   629  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   630  	ms.StoreMessageInfo(mi)
   631  }
   632  
   633  func (x *FeatureView_VectorSearchConfig) String() string {
   634  	return protoimpl.X.MessageStringOf(x)
   635  }
   636  
   637  func (*FeatureView_VectorSearchConfig) ProtoMessage() {}
   638  
   639  func (x *FeatureView_VectorSearchConfig) ProtoReflect() protoreflect.Message {
   640  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3]
   641  	if x != nil {
   642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   643  		if ms.LoadMessageInfo() == nil {
   644  			ms.StoreMessageInfo(mi)
   645  		}
   646  		return ms
   647  	}
   648  	return mi.MessageOf(x)
   649  }
   650  
   651  // Deprecated: Use FeatureView_VectorSearchConfig.ProtoReflect.Descriptor instead.
   652  func (*FeatureView_VectorSearchConfig) Descriptor() ([]byte, []int) {
   653  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2}
   654  }
   655  
   656  func (m *FeatureView_VectorSearchConfig) GetAlgorithmConfig() isFeatureView_VectorSearchConfig_AlgorithmConfig {
   657  	if m != nil {
   658  		return m.AlgorithmConfig
   659  	}
   660  	return nil
   661  }
   662  
   663  func (x *FeatureView_VectorSearchConfig) GetTreeAhConfig() *FeatureView_VectorSearchConfig_TreeAHConfig {
   664  	if x, ok := x.GetAlgorithmConfig().(*FeatureView_VectorSearchConfig_TreeAhConfig); ok {
   665  		return x.TreeAhConfig
   666  	}
   667  	return nil
   668  }
   669  
   670  func (x *FeatureView_VectorSearchConfig) GetBruteForceConfig() *FeatureView_VectorSearchConfig_BruteForceConfig {
   671  	if x, ok := x.GetAlgorithmConfig().(*FeatureView_VectorSearchConfig_BruteForceConfig_); ok {
   672  		return x.BruteForceConfig
   673  	}
   674  	return nil
   675  }
   676  
   677  func (x *FeatureView_VectorSearchConfig) GetEmbeddingColumn() string {
   678  	if x != nil {
   679  		return x.EmbeddingColumn
   680  	}
   681  	return ""
   682  }
   683  
   684  func (x *FeatureView_VectorSearchConfig) GetFilterColumns() []string {
   685  	if x != nil {
   686  		return x.FilterColumns
   687  	}
   688  	return nil
   689  }
   690  
   691  func (x *FeatureView_VectorSearchConfig) GetCrowdingColumn() string {
   692  	if x != nil {
   693  		return x.CrowdingColumn
   694  	}
   695  	return ""
   696  }
   697  
   698  func (x *FeatureView_VectorSearchConfig) GetEmbeddingDimension() int32 {
   699  	if x != nil && x.EmbeddingDimension != nil {
   700  		return *x.EmbeddingDimension
   701  	}
   702  	return 0
   703  }
   704  
   705  func (x *FeatureView_VectorSearchConfig) GetDistanceMeasureType() FeatureView_VectorSearchConfig_DistanceMeasureType {
   706  	if x != nil {
   707  		return x.DistanceMeasureType
   708  	}
   709  	return FeatureView_VectorSearchConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED
   710  }
   711  
   712  type isFeatureView_VectorSearchConfig_AlgorithmConfig interface {
   713  	isFeatureView_VectorSearchConfig_AlgorithmConfig()
   714  }
   715  
   716  type FeatureView_VectorSearchConfig_TreeAhConfig struct {
   717  	// Optional. Configuration options for the tree-AH algorithm (Shallow tree
   718  	// + Asymmetric Hashing). Please refer to this paper for more details:
   719  	// https://arxiv.org/abs/1908.10396
   720  	TreeAhConfig *FeatureView_VectorSearchConfig_TreeAHConfig `protobuf:"bytes,8,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"`
   721  }
   722  
   723  type FeatureView_VectorSearchConfig_BruteForceConfig_ struct {
   724  	// Optional. Configuration options for using brute force search, which
   725  	// simply implements the standard linear search in the database for each
   726  	// query. It is primarily meant for benchmarking and to generate the
   727  	// ground truth for approximate search.
   728  	BruteForceConfig *FeatureView_VectorSearchConfig_BruteForceConfig `protobuf:"bytes,9,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"`
   729  }
   730  
   731  func (*FeatureView_VectorSearchConfig_TreeAhConfig) isFeatureView_VectorSearchConfig_AlgorithmConfig() {
   732  }
   733  
   734  func (*FeatureView_VectorSearchConfig_BruteForceConfig_) isFeatureView_VectorSearchConfig_AlgorithmConfig() {
   735  }
   736  
   737  // Configuration for vector indexing.
   738  type FeatureView_IndexConfig struct {
   739  	state         protoimpl.MessageState
   740  	sizeCache     protoimpl.SizeCache
   741  	unknownFields protoimpl.UnknownFields
   742  
   743  	// The configuration with regard to the algorithms used for efficient
   744  	// search.
   745  	//
   746  	// Types that are assignable to AlgorithmConfig:
   747  	//
   748  	//	*FeatureView_IndexConfig_TreeAhConfig
   749  	//	*FeatureView_IndexConfig_BruteForceConfig_
   750  	AlgorithmConfig isFeatureView_IndexConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"`
   751  	// Optional. Column of embedding. This column contains the source data to
   752  	// create index for vector search. embedding_column must be set when using
   753  	// vector search.
   754  	EmbeddingColumn string `protobuf:"bytes,1,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"`
   755  	// Optional. Columns of features that're used to filter vector search
   756  	// results.
   757  	FilterColumns []string `protobuf:"bytes,2,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"`
   758  	// Optional. Column of crowding. This column contains crowding attribute
   759  	// which is a constraint on a neighbor list produced by
   760  	// [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities]
   761  	// to diversify search results. If
   762  	// [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1beta1.NearestNeighborQuery.per_crowding_attribute_neighbor_count]
   763  	// is set to K in
   764  	// [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest],
   765  	// it's guaranteed that no more than K entities of the same crowding
   766  	// attribute are returned in the response.
   767  	CrowdingColumn string `protobuf:"bytes,3,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"`
   768  	// Optional. The number of dimensions of the input embedding.
   769  	EmbeddingDimension *int32 `protobuf:"varint,4,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"`
   770  	// Optional. The distance measure used in nearest neighbor search.
   771  	DistanceMeasureType FeatureView_IndexConfig_DistanceMeasureType `protobuf:"varint,5,opt,name=distance_measure_type,json=distanceMeasureType,proto3,enum=google.cloud.aiplatform.v1beta1.FeatureView_IndexConfig_DistanceMeasureType" json:"distance_measure_type,omitempty"`
   772  }
   773  
   774  func (x *FeatureView_IndexConfig) Reset() {
   775  	*x = FeatureView_IndexConfig{}
   776  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4]
   777  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   778  	ms.StoreMessageInfo(mi)
   779  }
   780  
   781  func (x *FeatureView_IndexConfig) String() string {
   782  	return protoimpl.X.MessageStringOf(x)
   783  }
   784  
   785  func (*FeatureView_IndexConfig) ProtoMessage() {}
   786  
   787  func (x *FeatureView_IndexConfig) ProtoReflect() protoreflect.Message {
   788  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4]
   789  	if x != nil {
   790  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   791  		if ms.LoadMessageInfo() == nil {
   792  			ms.StoreMessageInfo(mi)
   793  		}
   794  		return ms
   795  	}
   796  	return mi.MessageOf(x)
   797  }
   798  
   799  // Deprecated: Use FeatureView_IndexConfig.ProtoReflect.Descriptor instead.
   800  func (*FeatureView_IndexConfig) Descriptor() ([]byte, []int) {
   801  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3}
   802  }
   803  
   804  func (m *FeatureView_IndexConfig) GetAlgorithmConfig() isFeatureView_IndexConfig_AlgorithmConfig {
   805  	if m != nil {
   806  		return m.AlgorithmConfig
   807  	}
   808  	return nil
   809  }
   810  
   811  func (x *FeatureView_IndexConfig) GetTreeAhConfig() *FeatureView_IndexConfig_TreeAHConfig {
   812  	if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_TreeAhConfig); ok {
   813  		return x.TreeAhConfig
   814  	}
   815  	return nil
   816  }
   817  
   818  func (x *FeatureView_IndexConfig) GetBruteForceConfig() *FeatureView_IndexConfig_BruteForceConfig {
   819  	if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_BruteForceConfig_); ok {
   820  		return x.BruteForceConfig
   821  	}
   822  	return nil
   823  }
   824  
   825  func (x *FeatureView_IndexConfig) GetEmbeddingColumn() string {
   826  	if x != nil {
   827  		return x.EmbeddingColumn
   828  	}
   829  	return ""
   830  }
   831  
   832  func (x *FeatureView_IndexConfig) GetFilterColumns() []string {
   833  	if x != nil {
   834  		return x.FilterColumns
   835  	}
   836  	return nil
   837  }
   838  
   839  func (x *FeatureView_IndexConfig) GetCrowdingColumn() string {
   840  	if x != nil {
   841  		return x.CrowdingColumn
   842  	}
   843  	return ""
   844  }
   845  
   846  func (x *FeatureView_IndexConfig) GetEmbeddingDimension() int32 {
   847  	if x != nil && x.EmbeddingDimension != nil {
   848  		return *x.EmbeddingDimension
   849  	}
   850  	return 0
   851  }
   852  
   853  func (x *FeatureView_IndexConfig) GetDistanceMeasureType() FeatureView_IndexConfig_DistanceMeasureType {
   854  	if x != nil {
   855  		return x.DistanceMeasureType
   856  	}
   857  	return FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED
   858  }
   859  
   860  type isFeatureView_IndexConfig_AlgorithmConfig interface {
   861  	isFeatureView_IndexConfig_AlgorithmConfig()
   862  }
   863  
   864  type FeatureView_IndexConfig_TreeAhConfig struct {
   865  	// Optional. Configuration options for the tree-AH algorithm (Shallow tree
   866  	// + Asymmetric Hashing). Please refer to this paper for more details:
   867  	// https://arxiv.org/abs/1908.10396
   868  	TreeAhConfig *FeatureView_IndexConfig_TreeAHConfig `protobuf:"bytes,6,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"`
   869  }
   870  
   871  type FeatureView_IndexConfig_BruteForceConfig_ struct {
   872  	// Optional. Configuration options for using brute force search, which
   873  	// simply implements the standard linear search in the database for each
   874  	// query. It is primarily meant for benchmarking and to generate the
   875  	// ground truth for approximate search.
   876  	BruteForceConfig *FeatureView_IndexConfig_BruteForceConfig `protobuf:"bytes,7,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"`
   877  }
   878  
   879  func (*FeatureView_IndexConfig_TreeAhConfig) isFeatureView_IndexConfig_AlgorithmConfig() {}
   880  
   881  func (*FeatureView_IndexConfig_BruteForceConfig_) isFeatureView_IndexConfig_AlgorithmConfig() {}
   882  
   883  // A Feature Registry source for features that need to be synced to Online
   884  // Store.
   885  type FeatureView_FeatureRegistrySource struct {
   886  	state         protoimpl.MessageState
   887  	sizeCache     protoimpl.SizeCache
   888  	unknownFields protoimpl.UnknownFields
   889  
   890  	// Required. List of features that need to be synced to Online Store.
   891  	FeatureGroups []*FeatureView_FeatureRegistrySource_FeatureGroup `protobuf:"bytes,1,rep,name=feature_groups,json=featureGroups,proto3" json:"feature_groups,omitempty"`
   892  	// Optional. The project number of the parent project of the Feature Groups.
   893  	ProjectNumber *int64 `protobuf:"varint,2,opt,name=project_number,json=projectNumber,proto3,oneof" json:"project_number,omitempty"`
   894  }
   895  
   896  func (x *FeatureView_FeatureRegistrySource) Reset() {
   897  	*x = FeatureView_FeatureRegistrySource{}
   898  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5]
   899  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   900  	ms.StoreMessageInfo(mi)
   901  }
   902  
   903  func (x *FeatureView_FeatureRegistrySource) String() string {
   904  	return protoimpl.X.MessageStringOf(x)
   905  }
   906  
   907  func (*FeatureView_FeatureRegistrySource) ProtoMessage() {}
   908  
   909  func (x *FeatureView_FeatureRegistrySource) ProtoReflect() protoreflect.Message {
   910  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5]
   911  	if x != nil {
   912  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   913  		if ms.LoadMessageInfo() == nil {
   914  			ms.StoreMessageInfo(mi)
   915  		}
   916  		return ms
   917  	}
   918  	return mi.MessageOf(x)
   919  }
   920  
   921  // Deprecated: Use FeatureView_FeatureRegistrySource.ProtoReflect.Descriptor instead.
   922  func (*FeatureView_FeatureRegistrySource) Descriptor() ([]byte, []int) {
   923  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 4}
   924  }
   925  
   926  func (x *FeatureView_FeatureRegistrySource) GetFeatureGroups() []*FeatureView_FeatureRegistrySource_FeatureGroup {
   927  	if x != nil {
   928  		return x.FeatureGroups
   929  	}
   930  	return nil
   931  }
   932  
   933  func (x *FeatureView_FeatureRegistrySource) GetProjectNumber() int64 {
   934  	if x != nil && x.ProjectNumber != nil {
   935  		return *x.ProjectNumber
   936  	}
   937  	return 0
   938  }
   939  
   940  // A Vertex Rag source for features that need to be synced to Online
   941  // Store.
   942  type FeatureView_VertexRagSource struct {
   943  	state         protoimpl.MessageState
   944  	sizeCache     protoimpl.SizeCache
   945  	unknownFields protoimpl.UnknownFields
   946  
   947  	// Required. The BigQuery view/table URI that will be materialized on each
   948  	// manual sync trigger. The table/view is expected to have the following
   949  	// columns and types at least:
   950  	//   - `corpus_id` (STRING, NULLABLE/REQUIRED)
   951  	//   - `file_id` (STRING, NULLABLE/REQUIRED)
   952  	//   - `chunk_id` (STRING, NULLABLE/REQUIRED)
   953  	//   - `chunk_data_type` (STRING, NULLABLE/REQUIRED)
   954  	//   - `chunk_data` (STRING, NULLABLE/REQUIRED)
   955  	//   - `embeddings` (FLOAT, REPEATED)
   956  	//   - `file_original_uri` (STRING, NULLABLE/REQUIRED)
   957  	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
   958  	// Optional. The RAG corpus id corresponding to this FeatureView.
   959  	RagCorpusId int64 `protobuf:"varint,2,opt,name=rag_corpus_id,json=ragCorpusId,proto3" json:"rag_corpus_id,omitempty"`
   960  }
   961  
   962  func (x *FeatureView_VertexRagSource) Reset() {
   963  	*x = FeatureView_VertexRagSource{}
   964  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6]
   965  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   966  	ms.StoreMessageInfo(mi)
   967  }
   968  
   969  func (x *FeatureView_VertexRagSource) String() string {
   970  	return protoimpl.X.MessageStringOf(x)
   971  }
   972  
   973  func (*FeatureView_VertexRagSource) ProtoMessage() {}
   974  
   975  func (x *FeatureView_VertexRagSource) ProtoReflect() protoreflect.Message {
   976  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6]
   977  	if x != nil {
   978  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   979  		if ms.LoadMessageInfo() == nil {
   980  			ms.StoreMessageInfo(mi)
   981  		}
   982  		return ms
   983  	}
   984  	return mi.MessageOf(x)
   985  }
   986  
   987  // Deprecated: Use FeatureView_VertexRagSource.ProtoReflect.Descriptor instead.
   988  func (*FeatureView_VertexRagSource) Descriptor() ([]byte, []int) {
   989  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 5}
   990  }
   991  
   992  func (x *FeatureView_VertexRagSource) GetUri() string {
   993  	if x != nil {
   994  		return x.Uri
   995  	}
   996  	return ""
   997  }
   998  
   999  func (x *FeatureView_VertexRagSource) GetRagCorpusId() int64 {
  1000  	if x != nil {
  1001  		return x.RagCorpusId
  1002  	}
  1003  	return 0
  1004  }
  1005  
  1006  // Configuration for FeatureViews created in Optimized FeatureOnlineStore.
  1007  type FeatureView_OptimizedConfig struct {
  1008  	state         protoimpl.MessageState
  1009  	sizeCache     protoimpl.SizeCache
  1010  	unknownFields protoimpl.UnknownFields
  1011  
  1012  	// Optional. A description of resources that the FeatureView uses, which to
  1013  	// large degree are decided by Vertex AI, and optionally allows only a
  1014  	// modest additional configuration. If min_replica_count is not set, the
  1015  	// default value is 2. If max_replica_count is not set, the default value
  1016  	// is 6. The max allowed replica count is 1000.
  1017  	AutomaticResources *AutomaticResources `protobuf:"bytes,7,opt,name=automatic_resources,json=automaticResources,proto3" json:"automatic_resources,omitempty"`
  1018  }
  1019  
  1020  func (x *FeatureView_OptimizedConfig) Reset() {
  1021  	*x = FeatureView_OptimizedConfig{}
  1022  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7]
  1023  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1024  	ms.StoreMessageInfo(mi)
  1025  }
  1026  
  1027  func (x *FeatureView_OptimizedConfig) String() string {
  1028  	return protoimpl.X.MessageStringOf(x)
  1029  }
  1030  
  1031  func (*FeatureView_OptimizedConfig) ProtoMessage() {}
  1032  
  1033  func (x *FeatureView_OptimizedConfig) ProtoReflect() protoreflect.Message {
  1034  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7]
  1035  	if x != nil {
  1036  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1037  		if ms.LoadMessageInfo() == nil {
  1038  			ms.StoreMessageInfo(mi)
  1039  		}
  1040  		return ms
  1041  	}
  1042  	return mi.MessageOf(x)
  1043  }
  1044  
  1045  // Deprecated: Use FeatureView_OptimizedConfig.ProtoReflect.Descriptor instead.
  1046  func (*FeatureView_OptimizedConfig) Descriptor() ([]byte, []int) {
  1047  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 6}
  1048  }
  1049  
  1050  func (x *FeatureView_OptimizedConfig) GetAutomaticResources() *AutomaticResources {
  1051  	if x != nil {
  1052  		return x.AutomaticResources
  1053  	}
  1054  	return nil
  1055  }
  1056  
  1057  // Metadata for the Cloud Bigtable that supports directly interacting Bigtable
  1058  // instances.
  1059  type FeatureView_BigtableMetadata struct {
  1060  	state         protoimpl.MessageState
  1061  	sizeCache     protoimpl.SizeCache
  1062  	unknownFields protoimpl.UnknownFields
  1063  
  1064  	// The Bigtable App Profile to use for reading from Bigtable.
  1065  	ReadAppProfile string `protobuf:"bytes,1,opt,name=read_app_profile,json=readAppProfile,proto3" json:"read_app_profile,omitempty"`
  1066  }
  1067  
  1068  func (x *FeatureView_BigtableMetadata) Reset() {
  1069  	*x = FeatureView_BigtableMetadata{}
  1070  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[9]
  1071  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1072  	ms.StoreMessageInfo(mi)
  1073  }
  1074  
  1075  func (x *FeatureView_BigtableMetadata) String() string {
  1076  	return protoimpl.X.MessageStringOf(x)
  1077  }
  1078  
  1079  func (*FeatureView_BigtableMetadata) ProtoMessage() {}
  1080  
  1081  func (x *FeatureView_BigtableMetadata) ProtoReflect() protoreflect.Message {
  1082  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[9]
  1083  	if x != nil {
  1084  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1085  		if ms.LoadMessageInfo() == nil {
  1086  			ms.StoreMessageInfo(mi)
  1087  		}
  1088  		return ms
  1089  	}
  1090  	return mi.MessageOf(x)
  1091  }
  1092  
  1093  // Deprecated: Use FeatureView_BigtableMetadata.ProtoReflect.Descriptor instead.
  1094  func (*FeatureView_BigtableMetadata) Descriptor() ([]byte, []int) {
  1095  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 8}
  1096  }
  1097  
  1098  func (x *FeatureView_BigtableMetadata) GetReadAppProfile() string {
  1099  	if x != nil {
  1100  		return x.ReadAppProfile
  1101  	}
  1102  	return ""
  1103  }
  1104  
  1105  type FeatureView_VectorSearchConfig_BruteForceConfig struct {
  1106  	state         protoimpl.MessageState
  1107  	sizeCache     protoimpl.SizeCache
  1108  	unknownFields protoimpl.UnknownFields
  1109  }
  1110  
  1111  func (x *FeatureView_VectorSearchConfig_BruteForceConfig) Reset() {
  1112  	*x = FeatureView_VectorSearchConfig_BruteForceConfig{}
  1113  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[10]
  1114  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1115  	ms.StoreMessageInfo(mi)
  1116  }
  1117  
  1118  func (x *FeatureView_VectorSearchConfig_BruteForceConfig) String() string {
  1119  	return protoimpl.X.MessageStringOf(x)
  1120  }
  1121  
  1122  func (*FeatureView_VectorSearchConfig_BruteForceConfig) ProtoMessage() {}
  1123  
  1124  func (x *FeatureView_VectorSearchConfig_BruteForceConfig) ProtoReflect() protoreflect.Message {
  1125  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[10]
  1126  	if x != nil {
  1127  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1128  		if ms.LoadMessageInfo() == nil {
  1129  			ms.StoreMessageInfo(mi)
  1130  		}
  1131  		return ms
  1132  	}
  1133  	return mi.MessageOf(x)
  1134  }
  1135  
  1136  // Deprecated: Use FeatureView_VectorSearchConfig_BruteForceConfig.ProtoReflect.Descriptor instead.
  1137  func (*FeatureView_VectorSearchConfig_BruteForceConfig) Descriptor() ([]byte, []int) {
  1138  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0}
  1139  }
  1140  
  1141  type FeatureView_VectorSearchConfig_TreeAHConfig struct {
  1142  	state         protoimpl.MessageState
  1143  	sizeCache     protoimpl.SizeCache
  1144  	unknownFields protoimpl.UnknownFields
  1145  
  1146  	// Optional. Number of embeddings on each leaf node. The default value is
  1147  	// 1000 if not set.
  1148  	LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"`
  1149  }
  1150  
  1151  func (x *FeatureView_VectorSearchConfig_TreeAHConfig) Reset() {
  1152  	*x = FeatureView_VectorSearchConfig_TreeAHConfig{}
  1153  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11]
  1154  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1155  	ms.StoreMessageInfo(mi)
  1156  }
  1157  
  1158  func (x *FeatureView_VectorSearchConfig_TreeAHConfig) String() string {
  1159  	return protoimpl.X.MessageStringOf(x)
  1160  }
  1161  
  1162  func (*FeatureView_VectorSearchConfig_TreeAHConfig) ProtoMessage() {}
  1163  
  1164  func (x *FeatureView_VectorSearchConfig_TreeAHConfig) ProtoReflect() protoreflect.Message {
  1165  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11]
  1166  	if x != nil {
  1167  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1168  		if ms.LoadMessageInfo() == nil {
  1169  			ms.StoreMessageInfo(mi)
  1170  		}
  1171  		return ms
  1172  	}
  1173  	return mi.MessageOf(x)
  1174  }
  1175  
  1176  // Deprecated: Use FeatureView_VectorSearchConfig_TreeAHConfig.ProtoReflect.Descriptor instead.
  1177  func (*FeatureView_VectorSearchConfig_TreeAHConfig) Descriptor() ([]byte, []int) {
  1178  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 1}
  1179  }
  1180  
  1181  func (x *FeatureView_VectorSearchConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 {
  1182  	if x != nil && x.LeafNodeEmbeddingCount != nil {
  1183  		return *x.LeafNodeEmbeddingCount
  1184  	}
  1185  	return 0
  1186  }
  1187  
  1188  // Configuration options for using brute force search.
  1189  type FeatureView_IndexConfig_BruteForceConfig struct {
  1190  	state         protoimpl.MessageState
  1191  	sizeCache     protoimpl.SizeCache
  1192  	unknownFields protoimpl.UnknownFields
  1193  }
  1194  
  1195  func (x *FeatureView_IndexConfig_BruteForceConfig) Reset() {
  1196  	*x = FeatureView_IndexConfig_BruteForceConfig{}
  1197  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[12]
  1198  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1199  	ms.StoreMessageInfo(mi)
  1200  }
  1201  
  1202  func (x *FeatureView_IndexConfig_BruteForceConfig) String() string {
  1203  	return protoimpl.X.MessageStringOf(x)
  1204  }
  1205  
  1206  func (*FeatureView_IndexConfig_BruteForceConfig) ProtoMessage() {}
  1207  
  1208  func (x *FeatureView_IndexConfig_BruteForceConfig) ProtoReflect() protoreflect.Message {
  1209  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[12]
  1210  	if x != nil {
  1211  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1212  		if ms.LoadMessageInfo() == nil {
  1213  			ms.StoreMessageInfo(mi)
  1214  		}
  1215  		return ms
  1216  	}
  1217  	return mi.MessageOf(x)
  1218  }
  1219  
  1220  // Deprecated: Use FeatureView_IndexConfig_BruteForceConfig.ProtoReflect.Descriptor instead.
  1221  func (*FeatureView_IndexConfig_BruteForceConfig) Descriptor() ([]byte, []int) {
  1222  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0}
  1223  }
  1224  
  1225  // Configuration options for the tree-AH algorithm.
  1226  type FeatureView_IndexConfig_TreeAHConfig struct {
  1227  	state         protoimpl.MessageState
  1228  	sizeCache     protoimpl.SizeCache
  1229  	unknownFields protoimpl.UnknownFields
  1230  
  1231  	// Optional. Number of embeddings on each leaf node. The default value is
  1232  	// 1000 if not set.
  1233  	LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"`
  1234  }
  1235  
  1236  func (x *FeatureView_IndexConfig_TreeAHConfig) Reset() {
  1237  	*x = FeatureView_IndexConfig_TreeAHConfig{}
  1238  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[13]
  1239  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1240  	ms.StoreMessageInfo(mi)
  1241  }
  1242  
  1243  func (x *FeatureView_IndexConfig_TreeAHConfig) String() string {
  1244  	return protoimpl.X.MessageStringOf(x)
  1245  }
  1246  
  1247  func (*FeatureView_IndexConfig_TreeAHConfig) ProtoMessage() {}
  1248  
  1249  func (x *FeatureView_IndexConfig_TreeAHConfig) ProtoReflect() protoreflect.Message {
  1250  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[13]
  1251  	if x != nil {
  1252  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1253  		if ms.LoadMessageInfo() == nil {
  1254  			ms.StoreMessageInfo(mi)
  1255  		}
  1256  		return ms
  1257  	}
  1258  	return mi.MessageOf(x)
  1259  }
  1260  
  1261  // Deprecated: Use FeatureView_IndexConfig_TreeAHConfig.ProtoReflect.Descriptor instead.
  1262  func (*FeatureView_IndexConfig_TreeAHConfig) Descriptor() ([]byte, []int) {
  1263  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 1}
  1264  }
  1265  
  1266  func (x *FeatureView_IndexConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 {
  1267  	if x != nil && x.LeafNodeEmbeddingCount != nil {
  1268  		return *x.LeafNodeEmbeddingCount
  1269  	}
  1270  	return 0
  1271  }
  1272  
  1273  // Features belonging to a single feature group that will be
  1274  // synced to Online Store.
  1275  type FeatureView_FeatureRegistrySource_FeatureGroup struct {
  1276  	state         protoimpl.MessageState
  1277  	sizeCache     protoimpl.SizeCache
  1278  	unknownFields protoimpl.UnknownFields
  1279  
  1280  	// Required. Identifier of the feature group.
  1281  	FeatureGroupId string `protobuf:"bytes,1,opt,name=feature_group_id,json=featureGroupId,proto3" json:"feature_group_id,omitempty"`
  1282  	// Required. Identifiers of features under the feature group.
  1283  	FeatureIds []string `protobuf:"bytes,2,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids,omitempty"`
  1284  }
  1285  
  1286  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) Reset() {
  1287  	*x = FeatureView_FeatureRegistrySource_FeatureGroup{}
  1288  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[14]
  1289  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1290  	ms.StoreMessageInfo(mi)
  1291  }
  1292  
  1293  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) String() string {
  1294  	return protoimpl.X.MessageStringOf(x)
  1295  }
  1296  
  1297  func (*FeatureView_FeatureRegistrySource_FeatureGroup) ProtoMessage() {}
  1298  
  1299  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) ProtoReflect() protoreflect.Message {
  1300  	mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[14]
  1301  	if x != nil {
  1302  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1303  		if ms.LoadMessageInfo() == nil {
  1304  			ms.StoreMessageInfo(mi)
  1305  		}
  1306  		return ms
  1307  	}
  1308  	return mi.MessageOf(x)
  1309  }
  1310  
  1311  // Deprecated: Use FeatureView_FeatureRegistrySource_FeatureGroup.ProtoReflect.Descriptor instead.
  1312  func (*FeatureView_FeatureRegistrySource_FeatureGroup) Descriptor() ([]byte, []int) {
  1313  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 4, 0}
  1314  }
  1315  
  1316  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureGroupId() string {
  1317  	if x != nil {
  1318  		return x.FeatureGroupId
  1319  	}
  1320  	return ""
  1321  }
  1322  
  1323  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureIds() []string {
  1324  	if x != nil {
  1325  		return x.FeatureIds
  1326  	}
  1327  	return nil
  1328  }
  1329  
  1330  var File_google_cloud_aiplatform_v1beta1_feature_view_proto protoreflect.FileDescriptor
  1331  
  1332  var file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc = []byte{
  1333  	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  1334  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  1335  	0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x70,
  1336  	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1337  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1338  	0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
  1339  	0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
  1340  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
  1341  	0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1342  	0x6f, 0x1a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
  1343  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
  1344  	0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75,
  1345  	0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
  1346  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
  1347  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf8, 0x21, 0x0a, 0x0b,
  1348  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6c, 0x0a, 0x10, 0x62,
  1349  	0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
  1350  	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1351  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1352  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  1353  	0x69, 0x65, 0x77, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72,
  1354  	0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75,
  1355  	0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x66, 0x65,
  1356  	0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73,
  1357  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f,
  1358  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  1359  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65,
  1360  	0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  1361  	0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42,
  1362  	0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x15, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52,
  1363  	0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x6f, 0x0a,
  1364  	0x11, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72,
  1365  	0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1366  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  1367  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75,
  1368  	0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67,
  1369  	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x76,
  1370  	0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x17,
  1371  	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1372  	0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
  1373  	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1374  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  1375  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63,
  1376  	0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64,
  1377  	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  1378  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1379  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  1380  	0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65,
  1381  	0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04,
  1382  	0x65, 0x74, 0x61, 0x67, 0x12, 0x55, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05,
  1383  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  1384  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  1385  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69,
  1386  	0x65, 0x77, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03,
  1387  	0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x0b, 0x73,
  1388  	0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
  1389  	0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1390  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  1391  	0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53,
  1392  	0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x43,
  1393  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, 0x14, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f,
  1394  	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20,
  1395  	0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1396  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1397  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65,
  1398  	0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f,
  1399  	0x6e, 0x66, 0x69, 0x67, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x12, 0x76, 0x65, 0x63,
  1400  	0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  1401  	0x60, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
  1402  	0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1403  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1404  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  1405  	0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42,
  1406  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  1407  	0x67, 0x12, 0x6c, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63,
  1408  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f,
  1409  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  1410  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65,
  1411  	0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
  1412  	0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f,
  1413  	0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  1414  	0x70, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74,
  1415  	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x67, 0x6f,
  1416  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  1417  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65,
  1418  	0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
  1419  	0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  1420  	0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
  1421  	0x65, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63,
  1422  	0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
  1423  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
  1424  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61,
  1425  	0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28,
  1426  	0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65,
  1427  	0x73, 0x50, 0x7a, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65,
  1428  	0x73, 0x5f, 0x70, 0x7a, 0x69, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03,
  1429  	0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x12, 0x6f,
  1430  	0x0a, 0x11, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64,
  1431  	0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1432  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  1433  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74,
  1434  	0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65,
  1435  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x62,
  1436  	0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a,
  1437  	0x58, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63,
  1438  	0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  1439  	0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x69,
  1440  	0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20,
  1441  	0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  1442  	0x49, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x20, 0x0a, 0x0a, 0x53, 0x79, 0x6e,
  1443  	0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x18,
  1444  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x1a, 0xa9, 0x07, 0x0a, 0x12,
  1445  	0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66,
  1446  	0x69, 0x67, 0x12, 0x79, 0x0a, 0x0e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x61, 0x68, 0x5f, 0x63, 0x6f,
  1447  	0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f,
  1448  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1449  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61,
  1450  	0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53,
  1451  	0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, 0x65,
  1452  	0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52,
  1453  	0x0c, 0x74, 0x72, 0x65, 0x65, 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x85, 0x01,
  1454  	0x0a, 0x12, 0x62, 0x72, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f,
  1455  	0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f,
  1456  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1457  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61,
  1458  	0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53,
  1459  	0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x72, 0x75, 0x74,
  1460  	0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
  1461  	0x01, 0x48, 0x00, 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43,
  1462  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69,
  1463  	0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
  1464  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43,
  1465  	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f,
  1466  	0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0,
  1467  	0x41, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
  1468  	0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
  1469  	0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  1470  	0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12,
  1471  	0x39, 0x0a, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d,
  1472  	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
  1473  	0x01, 0x48, 0x01, 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69,
  1474  	0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x15, 0x64,
  1475  	0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f,
  1476  	0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f,
  1477  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1478  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61,
  1479  	0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53,
  1480  	0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x74,
  1481  	0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42,
  1482  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65,
  1483  	0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42, 0x72, 0x75,
  1484  	0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x71, 0x0a,
  1485  	0x0c, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a,
  1486  	0x19, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64,
  1487  	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
  1488  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e, 0x6f, 0x64,
  1489  	0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88,
  1490  	0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65,
  1491  	0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  1492  	0x22, 0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61,
  1493  	0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 0x53, 0x54,
  1494  	0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50,
  1495  	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
  1496  	0x17, 0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f, 0x44, 0x49,
  1497  	0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x53, 0x49,
  1498  	0x4e, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a,
  1499  	0x14, 0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53,
  1500  	0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x61,
  1501  	0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42,
  1502  	0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69,
  1503  	0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x88, 0x07, 0x0a, 0x0b, 0x49, 0x6e, 0x64, 0x65,
  1504  	0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x0e, 0x74, 0x72, 0x65, 0x65, 0x5f,
  1505  	0x61, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1506  	0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  1507  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  1508  	0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e,
  1509  	0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48,
  1510  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x74,
  1511  	0x72, 0x65, 0x65, 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7e, 0x0a, 0x12, 0x62,
  1512  	0x72, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
  1513  	0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1514  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1515  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  1516  	0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  1517  	0x67, 0x2e, 0x42, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66,
  1518  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65,
  1519  	0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65,
  1520  	0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18,
  1521  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65,
  1522  	0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66,
  1523  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20,
  1524  	0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
  1525  	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64,
  1526  	0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  1527  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43,
  1528  	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x39, 0x0a, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69,
  1529  	0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
  1530  	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64,
  1531  	0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01,
  1532  	0x12, 0x85, 0x01, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65,
  1533  	0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e,
  1534  	0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1535  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  1536  	0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49,
  1537  	0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61,
  1538  	0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03,
  1539  	0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61,
  1540  	0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42, 0x72, 0x75, 0x74,
  1541  	0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x71, 0x0a, 0x0c,
  1542  	0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x19,
  1543  	0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64,
  1544  	0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42,
  1545  	0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e, 0x6f, 0x64, 0x65,
  1546  	0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01,
  1547  	0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f,
  1548  	0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22,
  1549  	0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73,
  1550  	0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 0x53, 0x54, 0x41,
  1551  	0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
  1552  	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17,
  1553  	0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f, 0x44, 0x49, 0x53,
  1554  	0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x53, 0x49, 0x4e,
  1555  	0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14,
  1556  	0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54,
  1557  	0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69,
  1558  	0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65,
  1559  	0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69,
  1560  	0x6f, 0x6e, 0x1a, 0xbd, 0x02, 0x0a, 0x15, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65,
  1561  	0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x0e,
  1562  	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01,
  1563  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  1564  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  1565  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69,
  1566  	0x65, 0x77, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
  1567  	0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  1568  	0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74,
  1569  	0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x0a, 0x0e, 0x70, 0x72, 0x6f,
  1570  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
  1571  	0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  1572  	0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x1a, 0x63, 0x0a, 0x0c, 0x46, 0x65,
  1573  	0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x65,
  1574  	0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01,
  1575  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75,
  1576  	0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x65, 0x61,
  1577  	0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03,
  1578  	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x42,
  1579  	0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
  1580  	0x65, 0x72, 0x1a, 0x51, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53,
  1581  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
  1582  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x27, 0x0a, 0x0d,
  1583  	0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
  1584  	0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72,
  1585  	0x70, 0x75, 0x73, 0x49, 0x64, 0x1a, 0x7c, 0x0a, 0x0f, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a,
  1586  	0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x69, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f,
  1587  	0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18,
  1588  	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1589  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1590  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69,
  1591  	0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  1592  	0x12, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1593  	0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
  1594  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1595  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  1596  	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41,
  1597  	0x0a, 0x10, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
  1598  	0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x70,
  1599  	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1600  	0x03, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
  1601  	0x65, 0x22, 0x7b, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e,
  1602  	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45,
  1603  	0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
  1604  	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x52,
  1605  	0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
  1606  	0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x52,
  1607  	0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
  1608  	0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x3a, 0x9b,
  1609  	0x01, 0xea, 0x41, 0x97, 0x01, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1610  	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  1611  	0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6e, 0x70, 0x72,
  1612  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d,
  1613  	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61,
  1614  	0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c,
  1615  	0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75,
  1616  	0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d,
  1617  	0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66,
  1618  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x42, 0x08, 0x0a, 0x06,
  1619  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xe7, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67,
  1620  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  1621  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10,
  1622  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x74, 0x6f,
  1623  	0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1624  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  1625  	0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69,
  1626  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61,
  1627  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1628  	0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1629  	0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67,
  1630  	0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66,
  1631  	0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f,
  1632  	0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50,
  1633  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
  1634  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1635  }
  1636  
  1637  var (
  1638  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescOnce sync.Once
  1639  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc
  1640  )
  1641  
  1642  func file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP() []byte {
  1643  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescOnce.Do(func() {
  1644  		file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData)
  1645  	})
  1646  	return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData
  1647  }
  1648  
  1649  var file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  1650  var file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
  1651  var file_google_cloud_aiplatform_v1beta1_feature_view_proto_goTypes = []any{
  1652  	(FeatureView_ServiceAgentType)(0),                       // 0: google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType
  1653  	(FeatureView_VectorSearchConfig_DistanceMeasureType)(0), // 1: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType
  1654  	(FeatureView_IndexConfig_DistanceMeasureType)(0),        // 2: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.DistanceMeasureType
  1655  	(*FeatureView)(nil),                                     // 3: google.cloud.aiplatform.v1beta1.FeatureView
  1656  	(*FeatureView_BigQuerySource)(nil),                      // 4: google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource
  1657  	(*FeatureView_SyncConfig)(nil),                          // 5: google.cloud.aiplatform.v1beta1.FeatureView.SyncConfig
  1658  	(*FeatureView_VectorSearchConfig)(nil),                  // 6: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig
  1659  	(*FeatureView_IndexConfig)(nil),                         // 7: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig
  1660  	(*FeatureView_FeatureRegistrySource)(nil),               // 8: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource
  1661  	(*FeatureView_VertexRagSource)(nil),                     // 9: google.cloud.aiplatform.v1beta1.FeatureView.VertexRagSource
  1662  	(*FeatureView_OptimizedConfig)(nil),                     // 10: google.cloud.aiplatform.v1beta1.FeatureView.OptimizedConfig
  1663  	nil,                                                     // 11: google.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry
  1664  	(*FeatureView_BigtableMetadata)(nil),                    // 12: google.cloud.aiplatform.v1beta1.FeatureView.BigtableMetadata
  1665  	(*FeatureView_VectorSearchConfig_BruteForceConfig)(nil), // 13: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig
  1666  	(*FeatureView_VectorSearchConfig_TreeAHConfig)(nil),     // 14: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig
  1667  	(*FeatureView_IndexConfig_BruteForceConfig)(nil),        // 15: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.BruteForceConfig
  1668  	(*FeatureView_IndexConfig_TreeAHConfig)(nil),            // 16: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.TreeAHConfig
  1669  	(*FeatureView_FeatureRegistrySource_FeatureGroup)(nil),  // 17: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup
  1670  	(*timestamppb.Timestamp)(nil),                           // 18: google.protobuf.Timestamp
  1671  	(*AutomaticResources)(nil),                              // 19: google.cloud.aiplatform.v1beta1.AutomaticResources
  1672  }
  1673  var file_google_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs = []int32{
  1674  	4,  // 0: google.cloud.aiplatform.v1beta1.FeatureView.big_query_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource
  1675  	8,  // 1: google.cloud.aiplatform.v1beta1.FeatureView.feature_registry_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource
  1676  	9,  // 2: google.cloud.aiplatform.v1beta1.FeatureView.vertex_rag_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VertexRagSource
  1677  	18, // 3: google.cloud.aiplatform.v1beta1.FeatureView.create_time:type_name -> google.protobuf.Timestamp
  1678  	18, // 4: google.cloud.aiplatform.v1beta1.FeatureView.update_time:type_name -> google.protobuf.Timestamp
  1679  	11, // 5: google.cloud.aiplatform.v1beta1.FeatureView.labels:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry
  1680  	5,  // 6: google.cloud.aiplatform.v1beta1.FeatureView.sync_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.SyncConfig
  1681  	6,  // 7: google.cloud.aiplatform.v1beta1.FeatureView.vector_search_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig
  1682  	7,  // 8: google.cloud.aiplatform.v1beta1.FeatureView.index_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig
  1683  	10, // 9: google.cloud.aiplatform.v1beta1.FeatureView.optimized_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.OptimizedConfig
  1684  	0,  // 10: google.cloud.aiplatform.v1beta1.FeatureView.service_agent_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType
  1685  	12, // 11: google.cloud.aiplatform.v1beta1.FeatureView.bigtable_metadata:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.BigtableMetadata
  1686  	14, // 12: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig
  1687  	13, // 13: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig
  1688  	1,  // 14: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType
  1689  	16, // 15: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.TreeAHConfig
  1690  	15, // 16: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.BruteForceConfig
  1691  	2,  // 17: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.DistanceMeasureType
  1692  	17, // 18: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.feature_groups:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup
  1693  	19, // 19: google.cloud.aiplatform.v1beta1.FeatureView.OptimizedConfig.automatic_resources:type_name -> google.cloud.aiplatform.v1beta1.AutomaticResources
  1694  	20, // [20:20] is the sub-list for method output_type
  1695  	20, // [20:20] is the sub-list for method input_type
  1696  	20, // [20:20] is the sub-list for extension type_name
  1697  	20, // [20:20] is the sub-list for extension extendee
  1698  	0,  // [0:20] is the sub-list for field type_name
  1699  }
  1700  
  1701  func init() { file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() }
  1702  func file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() {
  1703  	if File_google_cloud_aiplatform_v1beta1_feature_view_proto != nil {
  1704  		return
  1705  	}
  1706  	file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init()
  1707  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0].OneofWrappers = []any{
  1708  		(*FeatureView_BigQuerySource_)(nil),
  1709  		(*FeatureView_FeatureRegistrySource_)(nil),
  1710  		(*FeatureView_VertexRagSource_)(nil),
  1711  	}
  1712  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3].OneofWrappers = []any{
  1713  		(*FeatureView_VectorSearchConfig_TreeAhConfig)(nil),
  1714  		(*FeatureView_VectorSearchConfig_BruteForceConfig_)(nil),
  1715  	}
  1716  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4].OneofWrappers = []any{
  1717  		(*FeatureView_IndexConfig_TreeAhConfig)(nil),
  1718  		(*FeatureView_IndexConfig_BruteForceConfig_)(nil),
  1719  	}
  1720  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5].OneofWrappers = []any{}
  1721  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11].OneofWrappers = []any{}
  1722  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[13].OneofWrappers = []any{}
  1723  	type x struct{}
  1724  	out := protoimpl.TypeBuilder{
  1725  		File: protoimpl.DescBuilder{
  1726  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1727  			RawDescriptor: file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc,
  1728  			NumEnums:      3,
  1729  			NumMessages:   15,
  1730  			NumExtensions: 0,
  1731  			NumServices:   0,
  1732  		},
  1733  		GoTypes:           file_google_cloud_aiplatform_v1beta1_feature_view_proto_goTypes,
  1734  		DependencyIndexes: file_google_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs,
  1735  		EnumInfos:         file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes,
  1736  		MessageInfos:      file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes,
  1737  	}.Build()
  1738  	File_google_cloud_aiplatform_v1beta1_feature_view_proto = out.File
  1739  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc = nil
  1740  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_goTypes = nil
  1741  	file_google_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs = nil
  1742  }