// Code generated by protoc-gen-go. DO NOT EDIT.

package protocol

import (
	reflect "reflect"
	sync "sync"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	structpb "google.golang.org/protobuf/types/known/structpb"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type CombinationMethod int32

const (
	CombinationMethod_COMBINATION_METHOD_UNSPECIFIED         CombinationMethod = 0
	CombinationMethod_COMBINATION_METHOD_TYPE_SUM            CombinationMethod = 1
	CombinationMethod_COMBINATION_METHOD_TYPE_MIN            CombinationMethod = 2
	CombinationMethod_COMBINATION_METHOD_TYPE_AVERAGE        CombinationMethod = 3
	CombinationMethod_COMBINATION_METHOD_TYPE_RELATIVE_SCORE CombinationMethod = 4
	CombinationMethod_COMBINATION_METHOD_TYPE_MANUAL         CombinationMethod = 5
)

// Enum value maps for CombinationMethod.
var (
	CombinationMethod_name = map[int32]string{
		0: "COMBINATION_METHOD_UNSPECIFIED",
		1: "COMBINATION_METHOD_TYPE_SUM",
		2: "COMBINATION_METHOD_TYPE_MIN",
		3: "COMBINATION_METHOD_TYPE_AVERAGE",
		4: "COMBINATION_METHOD_TYPE_RELATIVE_SCORE",
		5: "COMBINATION_METHOD_TYPE_MANUAL",
	}
	CombinationMethod_value = map[string]int32{
		"COMBINATION_METHOD_UNSPECIFIED":         0,
		"COMBINATION_METHOD_TYPE_SUM":            1,
		"COMBINATION_METHOD_TYPE_MIN":            2,
		"COMBINATION_METHOD_TYPE_AVERAGE":        3,
		"COMBINATION_METHOD_TYPE_RELATIVE_SCORE": 4,
		"COMBINATION_METHOD_TYPE_MANUAL":         5,
	}
)

func (x CombinationMethod) Enum() *CombinationMethod {
	p := new(CombinationMethod)
	*p = x
	return p
}

func (x CombinationMethod) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CombinationMethod) Descriptor() protoreflect.EnumDescriptor {
	return file_v1_search_get_proto_enumTypes[0].Descriptor()
}

func (CombinationMethod) Type() protoreflect.EnumType {
	return &file_v1_search_get_proto_enumTypes[0]
}

func (x CombinationMethod) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CombinationMethod.Descriptor instead.
func (CombinationMethod) EnumDescriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{0}
}

type Hybrid_FusionType int32

const (
	Hybrid_FUSION_TYPE_UNSPECIFIED    Hybrid_FusionType = 0
	Hybrid_FUSION_TYPE_RANKED         Hybrid_FusionType = 1
	Hybrid_FUSION_TYPE_RELATIVE_SCORE Hybrid_FusionType = 2
)

// Enum value maps for Hybrid_FusionType.
var (
	Hybrid_FusionType_name = map[int32]string{
		0: "FUSION_TYPE_UNSPECIFIED",
		1: "FUSION_TYPE_RANKED",
		2: "FUSION_TYPE_RELATIVE_SCORE",
	}
	Hybrid_FusionType_value = map[string]int32{
		"FUSION_TYPE_UNSPECIFIED":    0,
		"FUSION_TYPE_RANKED":         1,
		"FUSION_TYPE_RELATIVE_SCORE": 2,
	}
)

func (x Hybrid_FusionType) Enum() *Hybrid_FusionType {
	p := new(Hybrid_FusionType)
	*p = x
	return p
}

func (x Hybrid_FusionType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Hybrid_FusionType) Descriptor() protoreflect.EnumDescriptor {
	return file_v1_search_get_proto_enumTypes[1].Descriptor()
}

func (Hybrid_FusionType) Type() protoreflect.EnumType {
	return &file_v1_search_get_proto_enumTypes[1]
}

func (x Hybrid_FusionType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Hybrid_FusionType.Descriptor instead.
func (Hybrid_FusionType) EnumDescriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{8, 0}
}

type SearchRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// required
	Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
	// parameters
	Tenant           string            `protobuf:"bytes,10,opt,name=tenant,proto3" json:"tenant,omitempty"`
	ConsistencyLevel *ConsistencyLevel `protobuf:"varint,11,opt,name=consistency_level,json=consistencyLevel,proto3,enum=weaviate.v1.ConsistencyLevel,oneof" json:"consistency_level,omitempty"`
	// what is returned
	Properties *PropertiesRequest `protobuf:"bytes,20,opt,name=properties,proto3,oneof" json:"properties,omitempty"`
	Metadata   *MetadataRequest   `protobuf:"bytes,21,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"`
	GroupBy    *GroupBy           `protobuf:"bytes,22,opt,name=group_by,json=groupBy,proto3,oneof" json:"group_by,omitempty"`
	// affects order and length of results. 0/empty (default value) means disabled
	Limit   uint32 `protobuf:"varint,30,opt,name=limit,proto3" json:"limit,omitempty"`
	Offset  uint32 `protobuf:"varint,31,opt,name=offset,proto3" json:"offset,omitempty"`
	Autocut uint32 `protobuf:"varint,32,opt,name=autocut,proto3" json:"autocut,omitempty"`
	After   string `protobuf:"bytes,33,opt,name=after,proto3" json:"after,omitempty"`
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	SortBy []*SortBy `protobuf:"bytes,34,rep,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"`
	// matches/searches for objects
	Filters      *Filters           `protobuf:"bytes,40,opt,name=filters,proto3,oneof" json:"filters,omitempty"`
	HybridSearch *Hybrid            `protobuf:"bytes,41,opt,name=hybrid_search,json=hybridSearch,proto3,oneof" json:"hybrid_search,omitempty"`
	Bm25Search   *BM25              `protobuf:"bytes,42,opt,name=bm25_search,json=bm25Search,proto3,oneof" json:"bm25_search,omitempty"`
	NearVector   *NearVector        `protobuf:"bytes,43,opt,name=near_vector,json=nearVector,proto3,oneof" json:"near_vector,omitempty"`
	NearObject   *NearObject        `protobuf:"bytes,44,opt,name=near_object,json=nearObject,proto3,oneof" json:"near_object,omitempty"`
	NearText     *NearTextSearch    `protobuf:"bytes,45,opt,name=near_text,json=nearText,proto3,oneof" json:"near_text,omitempty"`
	NearImage    *NearImageSearch   `protobuf:"bytes,46,opt,name=near_image,json=nearImage,proto3,oneof" json:"near_image,omitempty"`
	NearAudio    *NearAudioSearch   `protobuf:"bytes,47,opt,name=near_audio,json=nearAudio,proto3,oneof" json:"near_audio,omitempty"`
	NearVideo    *NearVideoSearch   `protobuf:"bytes,48,opt,name=near_video,json=nearVideo,proto3,oneof" json:"near_video,omitempty"`
	NearDepth    *NearDepthSearch   `protobuf:"bytes,49,opt,name=near_depth,json=nearDepth,proto3,oneof" json:"near_depth,omitempty"`
	NearThermal  *NearThermalSearch `protobuf:"bytes,50,opt,name=near_thermal,json=nearThermal,proto3,oneof" json:"near_thermal,omitempty"`
	NearImu      *NearIMUSearch     `protobuf:"bytes,51,opt,name=near_imu,json=nearImu,proto3,oneof" json:"near_imu,omitempty"`
	Generative   *GenerativeSearch  `protobuf:"bytes,60,opt,name=generative,proto3,oneof" json:"generative,omitempty"`
	Rerank       *Rerank            `protobuf:"bytes,61,opt,name=rerank,proto3,oneof" json:"rerank,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Uses_123Api bool `protobuf:"varint,100,opt,name=uses_123_api,json=uses123Api,proto3" json:"uses_123_api,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Uses_125Api bool `protobuf:"varint,101,opt,name=uses_125_api,json=uses125Api,proto3" json:"uses_125_api,omitempty"`
	Uses_127Api bool `protobuf:"varint,102,opt,name=uses_127_api,json=uses127Api,proto3" json:"uses_127_api,omitempty"`
}

func (x *SearchRequest) Reset() {
	*x = SearchRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SearchRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchRequest) ProtoMessage() {}

func (x *SearchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead.
func (*SearchRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{0}
}

func (x *SearchRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *SearchRequest) GetTenant() string {
	if x != nil {
		return x.Tenant
	}
	return ""
}

func (x *SearchRequest) GetConsistencyLevel() ConsistencyLevel {
	if x != nil && x.ConsistencyLevel != nil {
		return *x.ConsistencyLevel
	}
	return ConsistencyLevel_CONSISTENCY_LEVEL_UNSPECIFIED
}

func (x *SearchRequest) GetProperties() *PropertiesRequest {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *SearchRequest) GetMetadata() *MetadataRequest {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *SearchRequest) GetGroupBy() *GroupBy {
	if x != nil {
		return x.GroupBy
	}
	return nil
}

func (x *SearchRequest) GetLimit() uint32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *SearchRequest) GetOffset() uint32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *SearchRequest) GetAutocut() uint32 {
	if x != nil {
		return x.Autocut
	}
	return 0
}

func (x *SearchRequest) GetAfter() string {
	if x != nil {
		return x.After
	}
	return ""
}

func (x *SearchRequest) GetSortBy() []*SortBy {
	if x != nil {
		return x.SortBy
	}
	return nil
}

func (x *SearchRequest) GetFilters() *Filters {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *SearchRequest) GetHybridSearch() *Hybrid {
	if x != nil {
		return x.HybridSearch
	}
	return nil
}

func (x *SearchRequest) GetBm25Search() *BM25 {
	if x != nil {
		return x.Bm25Search
	}
	return nil
}

func (x *SearchRequest) GetNearVector() *NearVector {
	if x != nil {
		return x.NearVector
	}
	return nil
}

func (x *SearchRequest) GetNearObject() *NearObject {
	if x != nil {
		return x.NearObject
	}
	return nil
}

func (x *SearchRequest) GetNearText() *NearTextSearch {
	if x != nil {
		return x.NearText
	}
	return nil
}

func (x *SearchRequest) GetNearImage() *NearImageSearch {
	if x != nil {
		return x.NearImage
	}
	return nil
}

func (x *SearchRequest) GetNearAudio() *NearAudioSearch {
	if x != nil {
		return x.NearAudio
	}
	return nil
}

func (x *SearchRequest) GetNearVideo() *NearVideoSearch {
	if x != nil {
		return x.NearVideo
	}
	return nil
}

func (x *SearchRequest) GetNearDepth() *NearDepthSearch {
	if x != nil {
		return x.NearDepth
	}
	return nil
}

func (x *SearchRequest) GetNearThermal() *NearThermalSearch {
	if x != nil {
		return x.NearThermal
	}
	return nil
}

func (x *SearchRequest) GetNearImu() *NearIMUSearch {
	if x != nil {
		return x.NearImu
	}
	return nil
}

func (x *SearchRequest) GetGenerative() *GenerativeSearch {
	if x != nil {
		return x.Generative
	}
	return nil
}

func (x *SearchRequest) GetRerank() *Rerank {
	if x != nil {
		return x.Rerank
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *SearchRequest) GetUses_123Api() bool {
	if x != nil {
		return x.Uses_123Api
	}
	return false
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *SearchRequest) GetUses_125Api() bool {
	if x != nil {
		return x.Uses_125Api
	}
	return false
}

func (x *SearchRequest) GetUses_127Api() bool {
	if x != nil {
		return x.Uses_127Api
	}
	return false
}

type GroupBy struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// currently only supports one entry (eg just properties, no refs). But might
	// be extended in the future.
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	Path            []string `protobuf:"bytes,1,rep,name=path,proto3" json:"path,omitempty"`
	NumberOfGroups  int32    `protobuf:"varint,2,opt,name=number_of_groups,json=numberOfGroups,proto3" json:"number_of_groups,omitempty"`
	ObjectsPerGroup int32    `protobuf:"varint,3,opt,name=objects_per_group,json=objectsPerGroup,proto3" json:"objects_per_group,omitempty"`
}

func (x *GroupBy) Reset() {
	*x = GroupBy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GroupBy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GroupBy) ProtoMessage() {}

func (x *GroupBy) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GroupBy.ProtoReflect.Descriptor instead.
func (*GroupBy) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{1}
}

func (x *GroupBy) GetPath() []string {
	if x != nil {
		return x.Path
	}
	return nil
}

func (x *GroupBy) GetNumberOfGroups() int32 {
	if x != nil {
		return x.NumberOfGroups
	}
	return 0
}

func (x *GroupBy) GetObjectsPerGroup() int32 {
	if x != nil {
		return x.ObjectsPerGroup
	}
	return 0
}

type SortBy struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ascending bool `protobuf:"varint,1,opt,name=ascending,proto3" json:"ascending,omitempty"`
	// currently only supports one entry (eg just properties, no refs). But the
	// weaviate datastructure already has paths in it and this makes it easily
	// extendable in the future
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	Path []string `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
}

func (x *SortBy) Reset() {
	*x = SortBy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SortBy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SortBy) ProtoMessage() {}

func (x *SortBy) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SortBy.ProtoReflect.Descriptor instead.
func (*SortBy) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{2}
}

func (x *SortBy) GetAscending() bool {
	if x != nil {
		return x.Ascending
	}
	return false
}

func (x *SortBy) GetPath() []string {
	if x != nil {
		return x.Path
	}
	return nil
}

type MetadataRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uuid               bool     `protobuf:"varint,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Vector             bool     `protobuf:"varint,2,opt,name=vector,proto3" json:"vector,omitempty"`
	CreationTimeUnix   bool     `protobuf:"varint,3,opt,name=creation_time_unix,json=creationTimeUnix,proto3" json:"creation_time_unix,omitempty"`
	LastUpdateTimeUnix bool     `protobuf:"varint,4,opt,name=last_update_time_unix,json=lastUpdateTimeUnix,proto3" json:"last_update_time_unix,omitempty"`
	Distance           bool     `protobuf:"varint,5,opt,name=distance,proto3" json:"distance,omitempty"`
	Certainty          bool     `protobuf:"varint,6,opt,name=certainty,proto3" json:"certainty,omitempty"`
	Score              bool     `protobuf:"varint,7,opt,name=score,proto3" json:"score,omitempty"`
	ExplainScore       bool     `protobuf:"varint,8,opt,name=explain_score,json=explainScore,proto3" json:"explain_score,omitempty"`
	IsConsistent       bool     `protobuf:"varint,9,opt,name=is_consistent,json=isConsistent,proto3" json:"is_consistent,omitempty"`
	Vectors            []string `protobuf:"bytes,10,rep,name=vectors,proto3" json:"vectors,omitempty"`
}

func (x *MetadataRequest) Reset() {
	*x = MetadataRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetadataRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetadataRequest) ProtoMessage() {}

func (x *MetadataRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetadataRequest.ProtoReflect.Descriptor instead.
func (*MetadataRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{3}
}

func (x *MetadataRequest) GetUuid() bool {
	if x != nil {
		return x.Uuid
	}
	return false
}

func (x *MetadataRequest) GetVector() bool {
	if x != nil {
		return x.Vector
	}
	return false
}

func (x *MetadataRequest) GetCreationTimeUnix() bool {
	if x != nil {
		return x.CreationTimeUnix
	}
	return false
}

func (x *MetadataRequest) GetLastUpdateTimeUnix() bool {
	if x != nil {
		return x.LastUpdateTimeUnix
	}
	return false
}

func (x *MetadataRequest) GetDistance() bool {
	if x != nil {
		return x.Distance
	}
	return false
}

func (x *MetadataRequest) GetCertainty() bool {
	if x != nil {
		return x.Certainty
	}
	return false
}

func (x *MetadataRequest) GetScore() bool {
	if x != nil {
		return x.Score
	}
	return false
}

func (x *MetadataRequest) GetExplainScore() bool {
	if x != nil {
		return x.ExplainScore
	}
	return false
}

func (x *MetadataRequest) GetIsConsistent() bool {
	if x != nil {
		return x.IsConsistent
	}
	return false
}

func (x *MetadataRequest) GetVectors() []string {
	if x != nil {
		return x.Vectors
	}
	return nil
}

type PropertiesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NonRefProperties          []string                   `protobuf:"bytes,1,rep,name=non_ref_properties,json=nonRefProperties,proto3" json:"non_ref_properties,omitempty"`
	RefProperties             []*RefPropertiesRequest    `protobuf:"bytes,2,rep,name=ref_properties,json=refProperties,proto3" json:"ref_properties,omitempty"`
	ObjectProperties          []*ObjectPropertiesRequest `protobuf:"bytes,3,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"`
	ReturnAllNonrefProperties bool                       `protobuf:"varint,11,opt,name=return_all_nonref_properties,json=returnAllNonrefProperties,proto3" json:"return_all_nonref_properties,omitempty"`
}

func (x *PropertiesRequest) Reset() {
	*x = PropertiesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PropertiesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PropertiesRequest) ProtoMessage() {}

func (x *PropertiesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PropertiesRequest.ProtoReflect.Descriptor instead.
func (*PropertiesRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{4}
}

func (x *PropertiesRequest) GetNonRefProperties() []string {
	if x != nil {
		return x.NonRefProperties
	}
	return nil
}

func (x *PropertiesRequest) GetRefProperties() []*RefPropertiesRequest {
	if x != nil {
		return x.RefProperties
	}
	return nil
}

func (x *PropertiesRequest) GetObjectProperties() []*ObjectPropertiesRequest {
	if x != nil {
		return x.ObjectProperties
	}
	return nil
}

func (x *PropertiesRequest) GetReturnAllNonrefProperties() bool {
	if x != nil {
		return x.ReturnAllNonrefProperties
	}
	return false
}

type ObjectPropertiesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PropName            string                     `protobuf:"bytes,1,opt,name=prop_name,json=propName,proto3" json:"prop_name,omitempty"`
	PrimitiveProperties []string                   `protobuf:"bytes,2,rep,name=primitive_properties,json=primitiveProperties,proto3" json:"primitive_properties,omitempty"`
	ObjectProperties    []*ObjectPropertiesRequest `protobuf:"bytes,3,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"`
}

func (x *ObjectPropertiesRequest) Reset() {
	*x = ObjectPropertiesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ObjectPropertiesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectPropertiesRequest) ProtoMessage() {}

func (x *ObjectPropertiesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectPropertiesRequest.ProtoReflect.Descriptor instead.
func (*ObjectPropertiesRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{5}
}

func (x *ObjectPropertiesRequest) GetPropName() string {
	if x != nil {
		return x.PropName
	}
	return ""
}

func (x *ObjectPropertiesRequest) GetPrimitiveProperties() []string {
	if x != nil {
		return x.PrimitiveProperties
	}
	return nil
}

func (x *ObjectPropertiesRequest) GetObjectProperties() []*ObjectPropertiesRequest {
	if x != nil {
		return x.ObjectProperties
	}
	return nil
}

type WeightsForTarget struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Target string  `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	Weight float32 `protobuf:"fixed32,2,opt,name=weight,proto3" json:"weight,omitempty"`
}

func (x *WeightsForTarget) Reset() {
	*x = WeightsForTarget{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WeightsForTarget) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WeightsForTarget) ProtoMessage() {}

func (x *WeightsForTarget) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WeightsForTarget.ProtoReflect.Descriptor instead.
func (*WeightsForTarget) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{6}
}

func (x *WeightsForTarget) GetTarget() string {
	if x != nil {
		return x.Target
	}
	return ""
}

func (x *WeightsForTarget) GetWeight() float32 {
	if x != nil {
		return x.Weight
	}
	return 0
}

type Targets struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TargetVectors []string          `protobuf:"bytes,1,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
	Combination   CombinationMethod `protobuf:"varint,2,opt,name=combination,proto3,enum=weaviate.v1.CombinationMethod" json:"combination,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Weights           map[string]float32  `protobuf:"bytes,3,rep,name=weights,proto3" json:"weights,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"` // deprecated in 1.26.2 - use weights_for_targets
	WeightsForTargets []*WeightsForTarget `protobuf:"bytes,4,rep,name=weights_for_targets,json=weightsForTargets,proto3" json:"weights_for_targets,omitempty"`
}

func (x *Targets) Reset() {
	*x = Targets{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Targets) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Targets) ProtoMessage() {}

func (x *Targets) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Targets.ProtoReflect.Descriptor instead.
func (*Targets) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{7}
}

func (x *Targets) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *Targets) GetCombination() CombinationMethod {
	if x != nil {
		return x.Combination
	}
	return CombinationMethod_COMBINATION_METHOD_UNSPECIFIED
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *Targets) GetWeights() map[string]float32 {
	if x != nil {
		return x.Weights
	}
	return nil
}

func (x *Targets) GetWeightsForTargets() []*WeightsForTarget {
	if x != nil {
		return x.WeightsForTargets
	}
	return nil
}

type Hybrid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Query      string   `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	Properties []string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	//
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Vector      []float32         `protobuf:"fixed32,3,rep,packed,name=vector,proto3" json:"vector,omitempty"` // will be removed in the future, use vector_bytes
	Alpha       float32           `protobuf:"fixed32,4,opt,name=alpha,proto3" json:"alpha,omitempty"`
	FusionType  Hybrid_FusionType `protobuf:"varint,5,opt,name=fusion_type,json=fusionType,proto3,enum=weaviate.v1.Hybrid_FusionType" json:"fusion_type,omitempty"`
	VectorBytes []byte            `protobuf:"bytes,6,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string        `protobuf:"bytes,7,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	NearText      *NearTextSearch `protobuf:"bytes,8,opt,name=near_text,json=nearText,proto3" json:"near_text,omitempty"`                // targets in msg is ignored and should not be set for hybrid
	NearVector    *NearVector     `protobuf:"bytes,9,opt,name=near_vector,json=nearVector,proto3" json:"near_vector,omitempty"`          // same as above. Use the target vector in the hybrid message
	Targets       *Targets        `protobuf:"bytes,10,opt,name=targets,proto3" json:"targets,omitempty"`
	// only vector distance, but keep it extendable
	//
	// Types that are assignable to Threshold:
	//
	//	*Hybrid_VectorDistance
	Threshold isHybrid_Threshold `protobuf_oneof:"threshold"`
}

func (x *Hybrid) Reset() {
	*x = Hybrid{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Hybrid) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Hybrid) ProtoMessage() {}

func (x *Hybrid) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Hybrid.ProtoReflect.Descriptor instead.
func (*Hybrid) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{8}
}

func (x *Hybrid) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *Hybrid) GetProperties() []string {
	if x != nil {
		return x.Properties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *Hybrid) GetVector() []float32 {
	if x != nil {
		return x.Vector
	}
	return nil
}

func (x *Hybrid) GetAlpha() float32 {
	if x != nil {
		return x.Alpha
	}
	return 0
}

func (x *Hybrid) GetFusionType() Hybrid_FusionType {
	if x != nil {
		return x.FusionType
	}
	return Hybrid_FUSION_TYPE_UNSPECIFIED
}

func (x *Hybrid) GetVectorBytes() []byte {
	if x != nil {
		return x.VectorBytes
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *Hybrid) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *Hybrid) GetNearText() *NearTextSearch {
	if x != nil {
		return x.NearText
	}
	return nil
}

func (x *Hybrid) GetNearVector() *NearVector {
	if x != nil {
		return x.NearVector
	}
	return nil
}

func (x *Hybrid) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

func (m *Hybrid) GetThreshold() isHybrid_Threshold {
	if m != nil {
		return m.Threshold
	}
	return nil
}

func (x *Hybrid) GetVectorDistance() float32 {
	if x, ok := x.GetThreshold().(*Hybrid_VectorDistance); ok {
		return x.VectorDistance
	}
	return 0
}

type isHybrid_Threshold interface {
	isHybrid_Threshold()
}

type Hybrid_VectorDistance struct {
	VectorDistance float32 `protobuf:"fixed32,20,opt,name=vector_distance,json=vectorDistance,proto3,oneof"`
}

func (*Hybrid_VectorDistance) isHybrid_Threshold() {}

type NearTextSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	Query     []string             `protobuf:"bytes,1,rep,name=query,proto3" json:"query,omitempty"`
	Certainty *float64             `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance  *float64             `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	MoveTo    *NearTextSearch_Move `protobuf:"bytes,4,opt,name=move_to,json=moveTo,proto3,oneof" json:"move_to,omitempty"`
	MoveAway  *NearTextSearch_Move `protobuf:"bytes,5,opt,name=move_away,json=moveAway,proto3,oneof" json:"move_away,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,6,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,7,opt,name=targets,proto3" json:"targets,omitempty"`
}

func (x *NearTextSearch) Reset() {
	*x = NearTextSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearTextSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearTextSearch) ProtoMessage() {}

func (x *NearTextSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearTextSearch.ProtoReflect.Descriptor instead.
func (*NearTextSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{9}
}

func (x *NearTextSearch) GetQuery() []string {
	if x != nil {
		return x.Query
	}
	return nil
}

func (x *NearTextSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearTextSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearTextSearch) GetMoveTo() *NearTextSearch_Move {
	if x != nil {
		return x.MoveTo
	}
	return nil
}

func (x *NearTextSearch) GetMoveAway() *NearTextSearch_Move {
	if x != nil {
		return x.MoveAway
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearTextSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearTextSearch) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

type NearImageSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Image     string   `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance  *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,5,opt,name=targets,proto3" json:"targets,omitempty"`
}

func (x *NearImageSearch) Reset() {
	*x = NearImageSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearImageSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearImageSearch) ProtoMessage() {}

func (x *NearImageSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearImageSearch.ProtoReflect.Descriptor instead.
func (*NearImageSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{10}
}

func (x *NearImageSearch) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *NearImageSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearImageSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearImageSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearImageSearch) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

type NearAudioSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Audio     string   `protobuf:"bytes,1,opt,name=audio,proto3" json:"audio,omitempty"`
	Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance  *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,5,opt,name=targets,proto3" json:"targets,omitempty"`
}

func (x *NearAudioSearch) Reset() {
	*x = NearAudioSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearAudioSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearAudioSearch) ProtoMessage() {}

func (x *NearAudioSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearAudioSearch.ProtoReflect.Descriptor instead.
func (*NearAudioSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{11}
}

func (x *NearAudioSearch) GetAudio() string {
	if x != nil {
		return x.Audio
	}
	return ""
}

func (x *NearAudioSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearAudioSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearAudioSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearAudioSearch) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

type NearVideoSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Video     string   `protobuf:"bytes,1,opt,name=video,proto3" json:"video,omitempty"`
	Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance  *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,5,opt,name=targets,proto3" json:"targets,omitempty"`
}

func (x *NearVideoSearch) Reset() {
	*x = NearVideoSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearVideoSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearVideoSearch) ProtoMessage() {}

func (x *NearVideoSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearVideoSearch.ProtoReflect.Descriptor instead.
func (*NearVideoSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{12}
}

func (x *NearVideoSearch) GetVideo() string {
	if x != nil {
		return x.Video
	}
	return ""
}

func (x *NearVideoSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearVideoSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearVideoSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearVideoSearch) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

type NearDepthSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Depth     string   `protobuf:"bytes,1,opt,name=depth,proto3" json:"depth,omitempty"`
	Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance  *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,5,opt,name=targets,proto3" json:"targets,omitempty"`
}

func (x *NearDepthSearch) Reset() {
	*x = NearDepthSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearDepthSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearDepthSearch) ProtoMessage() {}

func (x *NearDepthSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearDepthSearch.ProtoReflect.Descriptor instead.
func (*NearDepthSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{13}
}

func (x *NearDepthSearch) GetDepth() string {
	if x != nil {
		return x.Depth
	}
	return ""
}

func (x *NearDepthSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearDepthSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearDepthSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearDepthSearch) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

type NearThermalSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Thermal   string   `protobuf:"bytes,1,opt,name=thermal,proto3" json:"thermal,omitempty"`
	Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance  *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,5,opt,name=targets,proto3" json:"targets,omitempty"`
}

func (x *NearThermalSearch) Reset() {
	*x = NearThermalSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearThermalSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearThermalSearch) ProtoMessage() {}

func (x *NearThermalSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearThermalSearch.ProtoReflect.Descriptor instead.
func (*NearThermalSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{14}
}

func (x *NearThermalSearch) GetThermal() string {
	if x != nil {
		return x.Thermal
	}
	return ""
}

func (x *NearThermalSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearThermalSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearThermalSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearThermalSearch) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

type NearIMUSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Imu       string   `protobuf:"bytes,1,opt,name=imu,proto3" json:"imu,omitempty"`
	Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance  *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,5,opt,name=targets,proto3" json:"targets,omitempty"`
}

func (x *NearIMUSearch) Reset() {
	*x = NearIMUSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearIMUSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearIMUSearch) ProtoMessage() {}

func (x *NearIMUSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearIMUSearch.ProtoReflect.Descriptor instead.
func (*NearIMUSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{15}
}

func (x *NearIMUSearch) GetImu() string {
	if x != nil {
		return x.Imu
	}
	return ""
}

func (x *NearIMUSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearIMUSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearIMUSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearIMUSearch) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

type BM25 struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Query      string   `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	Properties []string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
}

func (x *BM25) Reset() {
	*x = BM25{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BM25) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BM25) ProtoMessage() {}

func (x *BM25) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BM25.ProtoReflect.Descriptor instead.
func (*BM25) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{16}
}

func (x *BM25) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *BM25) GetProperties() []string {
	if x != nil {
		return x.Properties
	}
	return nil
}

type RefPropertiesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ReferenceProperty string             `protobuf:"bytes,1,opt,name=reference_property,json=referenceProperty,proto3" json:"reference_property,omitempty"`
	Properties        *PropertiesRequest `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
	Metadata          *MetadataRequest   `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	TargetCollection  string             `protobuf:"bytes,4,opt,name=target_collection,json=targetCollection,proto3" json:"target_collection,omitempty"`
}

func (x *RefPropertiesRequest) Reset() {
	*x = RefPropertiesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RefPropertiesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefPropertiesRequest) ProtoMessage() {}

func (x *RefPropertiesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RefPropertiesRequest.ProtoReflect.Descriptor instead.
func (*RefPropertiesRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{17}
}

func (x *RefPropertiesRequest) GetReferenceProperty() string {
	if x != nil {
		return x.ReferenceProperty
	}
	return ""
}

func (x *RefPropertiesRequest) GetProperties() *PropertiesRequest {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *RefPropertiesRequest) GetMetadata() *MetadataRequest {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *RefPropertiesRequest) GetTargetCollection() string {
	if x != nil {
		return x.TargetCollection
	}
	return ""
}

type VectorForTarget struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name        string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	VectorBytes []byte `protobuf:"bytes,2,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"`
}

func (x *VectorForTarget) Reset() {
	*x = VectorForTarget{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *VectorForTarget) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VectorForTarget) ProtoMessage() {}

func (x *VectorForTarget) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VectorForTarget.ProtoReflect.Descriptor instead.
func (*VectorForTarget) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{18}
}

func (x *VectorForTarget) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *VectorForTarget) GetVectorBytes() []byte {
	if x != nil {
		return x.VectorBytes
	}
	return nil
}

type NearVector struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	//
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Vector      []float32 `protobuf:"fixed32,1,rep,packed,name=vector,proto3" json:"vector,omitempty"` // will be removed in the future, use vector_bytes
	Certainty   *float64  `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance    *float64  `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	VectorBytes []byte    `protobuf:"bytes,4,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,5,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,6,opt,name=targets,proto3" json:"targets,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	VectorPerTarget  map[string][]byte  `protobuf:"bytes,7,rep,name=vector_per_target,json=vectorPerTarget,proto3" json:"vector_per_target,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // deprecated in 1.26.2 - use vector_for_targets
	VectorForTargets []*VectorForTarget `protobuf:"bytes,8,rep,name=vector_for_targets,json=vectorForTargets,proto3" json:"vector_for_targets,omitempty"`
}

func (x *NearVector) Reset() {
	*x = NearVector{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearVector) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearVector) ProtoMessage() {}

func (x *NearVector) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearVector.ProtoReflect.Descriptor instead.
func (*NearVector) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{19}
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearVector) GetVector() []float32 {
	if x != nil {
		return x.Vector
	}
	return nil
}

func (x *NearVector) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearVector) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearVector) GetVectorBytes() []byte {
	if x != nil {
		return x.VectorBytes
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearVector) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearVector) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearVector) GetVectorPerTarget() map[string][]byte {
	if x != nil {
		return x.VectorPerTarget
	}
	return nil
}

func (x *NearVector) GetVectorForTargets() []*VectorForTarget {
	if x != nil {
		return x.VectorForTargets
	}
	return nil
}

type NearObject struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id        string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance  *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"` // deprecated in 1.26 - use targets
	Targets       *Targets `protobuf:"bytes,5,opt,name=targets,proto3" json:"targets,omitempty"`
}

func (x *NearObject) Reset() {
	*x = NearObject{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearObject) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearObject) ProtoMessage() {}

func (x *NearObject) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearObject.ProtoReflect.Descriptor instead.
func (*NearObject) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{20}
}

func (x *NearObject) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *NearObject) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearObject) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearObject) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *NearObject) GetTargets() *Targets {
	if x != nil {
		return x.Targets
	}
	return nil
}

type Rerank struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Property string  `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"`
	Query    *string `protobuf:"bytes,2,opt,name=query,proto3,oneof" json:"query,omitempty"`
}

func (x *Rerank) Reset() {
	*x = Rerank{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Rerank) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Rerank) ProtoMessage() {}

func (x *Rerank) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Rerank.ProtoReflect.Descriptor instead.
func (*Rerank) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{21}
}

func (x *Rerank) GetProperty() string {
	if x != nil {
		return x.Property
	}
	return ""
}

func (x *Rerank) GetQuery() string {
	if x != nil && x.Query != nil {
		return *x.Query
	}
	return ""
}

type SearchReply struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Took    float32         `protobuf:"fixed32,1,opt,name=took,proto3" json:"took,omitempty"`
	Results []*SearchResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	GenerativeGroupedResult  *string           `protobuf:"bytes,3,opt,name=generative_grouped_result,json=generativeGroupedResult,proto3,oneof" json:"generative_grouped_result,omitempty"`
	GroupByResults           []*GroupByResult  `protobuf:"bytes,4,rep,name=group_by_results,json=groupByResults,proto3" json:"group_by_results,omitempty"`
	GenerativeGroupedResults *GenerativeResult `protobuf:"bytes,5,opt,name=generative_grouped_results,json=generativeGroupedResults,proto3,oneof" json:"generative_grouped_results,omitempty"`
}

func (x *SearchReply) Reset() {
	*x = SearchReply{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SearchReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchReply) ProtoMessage() {}

func (x *SearchReply) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchReply.ProtoReflect.Descriptor instead.
func (*SearchReply) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{22}
}

func (x *SearchReply) GetTook() float32 {
	if x != nil {
		return x.Took
	}
	return 0
}

func (x *SearchReply) GetResults() []*SearchResult {
	if x != nil {
		return x.Results
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *SearchReply) GetGenerativeGroupedResult() string {
	if x != nil && x.GenerativeGroupedResult != nil {
		return *x.GenerativeGroupedResult
	}
	return ""
}

func (x *SearchReply) GetGroupByResults() []*GroupByResult {
	if x != nil {
		return x.GroupByResults
	}
	return nil
}

func (x *SearchReply) GetGenerativeGroupedResults() *GenerativeResult {
	if x != nil {
		return x.GenerativeGroupedResults
	}
	return nil
}

type RerankReply struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"`
}

func (x *RerankReply) Reset() {
	*x = RerankReply{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RerankReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RerankReply) ProtoMessage() {}

func (x *RerankReply) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RerankReply.ProtoReflect.Descriptor instead.
func (*RerankReply) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{23}
}

func (x *RerankReply) GetScore() float64 {
	if x != nil {
		return x.Score
	}
	return 0
}

type GroupByResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name            string          `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	MinDistance     float32         `protobuf:"fixed32,2,opt,name=min_distance,json=minDistance,proto3" json:"min_distance,omitempty"`
	MaxDistance     float32         `protobuf:"fixed32,3,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
	NumberOfObjects int64           `protobuf:"varint,4,opt,name=number_of_objects,json=numberOfObjects,proto3" json:"number_of_objects,omitempty"`
	Objects         []*SearchResult `protobuf:"bytes,5,rep,name=objects,proto3" json:"objects,omitempty"`
	Rerank          *RerankReply    `protobuf:"bytes,6,opt,name=rerank,proto3,oneof" json:"rerank,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Generative       *GenerativeReply  `protobuf:"bytes,7,opt,name=generative,proto3,oneof" json:"generative,omitempty"`
	GenerativeResult *GenerativeResult `protobuf:"bytes,8,opt,name=generative_result,json=generativeResult,proto3,oneof" json:"generative_result,omitempty"`
}

func (x *GroupByResult) Reset() {
	*x = GroupByResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GroupByResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GroupByResult) ProtoMessage() {}

func (x *GroupByResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GroupByResult.ProtoReflect.Descriptor instead.
func (*GroupByResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{24}
}

func (x *GroupByResult) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *GroupByResult) GetMinDistance() float32 {
	if x != nil {
		return x.MinDistance
	}
	return 0
}

func (x *GroupByResult) GetMaxDistance() float32 {
	if x != nil {
		return x.MaxDistance
	}
	return 0
}

func (x *GroupByResult) GetNumberOfObjects() int64 {
	if x != nil {
		return x.NumberOfObjects
	}
	return 0
}

func (x *GroupByResult) GetObjects() []*SearchResult {
	if x != nil {
		return x.Objects
	}
	return nil
}

func (x *GroupByResult) GetRerank() *RerankReply {
	if x != nil {
		return x.Rerank
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *GroupByResult) GetGenerative() *GenerativeReply {
	if x != nil {
		return x.Generative
	}
	return nil
}

func (x *GroupByResult) GetGenerativeResult() *GenerativeResult {
	if x != nil {
		return x.GenerativeResult
	}
	return nil
}

type SearchResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Properties *PropertiesResult `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"`
	Metadata   *MetadataResult   `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
	Generative *GenerativeResult `protobuf:"bytes,3,opt,name=generative,proto3,oneof" json:"generative,omitempty"`
}

func (x *SearchResult) Reset() {
	*x = SearchResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SearchResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchResult) ProtoMessage() {}

func (x *SearchResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchResult.ProtoReflect.Descriptor instead.
func (*SearchResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{25}
}

func (x *SearchResult) GetProperties() *PropertiesResult {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *SearchResult) GetMetadata() *MetadataResult {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *SearchResult) GetGenerative() *GenerativeResult {
	if x != nil {
		return x.Generative
	}
	return nil
}

type MetadataResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	//
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Vector                    []float32 `protobuf:"fixed32,2,rep,packed,name=vector,proto3" json:"vector,omitempty"`
	CreationTimeUnix          int64     `protobuf:"varint,3,opt,name=creation_time_unix,json=creationTimeUnix,proto3" json:"creation_time_unix,omitempty"`
	CreationTimeUnixPresent   bool      `protobuf:"varint,4,opt,name=creation_time_unix_present,json=creationTimeUnixPresent,proto3" json:"creation_time_unix_present,omitempty"`
	LastUpdateTimeUnix        int64     `protobuf:"varint,5,opt,name=last_update_time_unix,json=lastUpdateTimeUnix,proto3" json:"last_update_time_unix,omitempty"`
	LastUpdateTimeUnixPresent bool      `protobuf:"varint,6,opt,name=last_update_time_unix_present,json=lastUpdateTimeUnixPresent,proto3" json:"last_update_time_unix_present,omitempty"`
	Distance                  float32   `protobuf:"fixed32,7,opt,name=distance,proto3" json:"distance,omitempty"`
	DistancePresent           bool      `protobuf:"varint,8,opt,name=distance_present,json=distancePresent,proto3" json:"distance_present,omitempty"`
	Certainty                 float32   `protobuf:"fixed32,9,opt,name=certainty,proto3" json:"certainty,omitempty"`
	CertaintyPresent          bool      `protobuf:"varint,10,opt,name=certainty_present,json=certaintyPresent,proto3" json:"certainty_present,omitempty"`
	Score                     float32   `protobuf:"fixed32,11,opt,name=score,proto3" json:"score,omitempty"`
	ScorePresent              bool      `protobuf:"varint,12,opt,name=score_present,json=scorePresent,proto3" json:"score_present,omitempty"`
	ExplainScore              string    `protobuf:"bytes,13,opt,name=explain_score,json=explainScore,proto3" json:"explain_score,omitempty"`
	ExplainScorePresent       bool      `protobuf:"varint,14,opt,name=explain_score_present,json=explainScorePresent,proto3" json:"explain_score_present,omitempty"`
	IsConsistent              *bool     `protobuf:"varint,15,opt,name=is_consistent,json=isConsistent,proto3,oneof" json:"is_consistent,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Generative string `protobuf:"bytes,16,opt,name=generative,proto3" json:"generative,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	GenerativePresent   bool       `protobuf:"varint,17,opt,name=generative_present,json=generativePresent,proto3" json:"generative_present,omitempty"`
	IsConsistentPresent bool       `protobuf:"varint,18,opt,name=is_consistent_present,json=isConsistentPresent,proto3" json:"is_consistent_present,omitempty"`
	VectorBytes         []byte     `protobuf:"bytes,19,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"`
	IdAsBytes           []byte     `protobuf:"bytes,20,opt,name=id_as_bytes,json=idAsBytes,proto3" json:"id_as_bytes,omitempty"`
	RerankScore         float64    `protobuf:"fixed64,21,opt,name=rerank_score,json=rerankScore,proto3" json:"rerank_score,omitempty"`
	RerankScorePresent  bool       `protobuf:"varint,22,opt,name=rerank_score_present,json=rerankScorePresent,proto3" json:"rerank_score_present,omitempty"`
	Vectors             []*Vectors `protobuf:"bytes,23,rep,name=vectors,proto3" json:"vectors,omitempty"`
}

func (x *MetadataResult) Reset() {
	*x = MetadataResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetadataResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetadataResult) ProtoMessage() {}

func (x *MetadataResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetadataResult.ProtoReflect.Descriptor instead.
func (*MetadataResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{26}
}

func (x *MetadataResult) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *MetadataResult) GetVector() []float32 {
	if x != nil {
		return x.Vector
	}
	return nil
}

func (x *MetadataResult) GetCreationTimeUnix() int64 {
	if x != nil {
		return x.CreationTimeUnix
	}
	return 0
}

func (x *MetadataResult) GetCreationTimeUnixPresent() bool {
	if x != nil {
		return x.CreationTimeUnixPresent
	}
	return false
}

func (x *MetadataResult) GetLastUpdateTimeUnix() int64 {
	if x != nil {
		return x.LastUpdateTimeUnix
	}
	return 0
}

func (x *MetadataResult) GetLastUpdateTimeUnixPresent() bool {
	if x != nil {
		return x.LastUpdateTimeUnixPresent
	}
	return false
}

func (x *MetadataResult) GetDistance() float32 {
	if x != nil {
		return x.Distance
	}
	return 0
}

func (x *MetadataResult) GetDistancePresent() bool {
	if x != nil {
		return x.DistancePresent
	}
	return false
}

func (x *MetadataResult) GetCertainty() float32 {
	if x != nil {
		return x.Certainty
	}
	return 0
}

func (x *MetadataResult) GetCertaintyPresent() bool {
	if x != nil {
		return x.CertaintyPresent
	}
	return false
}

func (x *MetadataResult) GetScore() float32 {
	if x != nil {
		return x.Score
	}
	return 0
}

func (x *MetadataResult) GetScorePresent() bool {
	if x != nil {
		return x.ScorePresent
	}
	return false
}

func (x *MetadataResult) GetExplainScore() string {
	if x != nil {
		return x.ExplainScore
	}
	return ""
}

func (x *MetadataResult) GetExplainScorePresent() bool {
	if x != nil {
		return x.ExplainScorePresent
	}
	return false
}

func (x *MetadataResult) GetIsConsistent() bool {
	if x != nil && x.IsConsistent != nil {
		return *x.IsConsistent
	}
	return false
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *MetadataResult) GetGenerative() string {
	if x != nil {
		return x.Generative
	}
	return ""
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *MetadataResult) GetGenerativePresent() bool {
	if x != nil {
		return x.GenerativePresent
	}
	return false
}

func (x *MetadataResult) GetIsConsistentPresent() bool {
	if x != nil {
		return x.IsConsistentPresent
	}
	return false
}

func (x *MetadataResult) GetVectorBytes() []byte {
	if x != nil {
		return x.VectorBytes
	}
	return nil
}

func (x *MetadataResult) GetIdAsBytes() []byte {
	if x != nil {
		return x.IdAsBytes
	}
	return nil
}

func (x *MetadataResult) GetRerankScore() float64 {
	if x != nil {
		return x.RerankScore
	}
	return 0
}

func (x *MetadataResult) GetRerankScorePresent() bool {
	if x != nil {
		return x.RerankScorePresent
	}
	return false
}

func (x *MetadataResult) GetVectors() []*Vectors {
	if x != nil {
		return x.Vectors
	}
	return nil
}

type PropertiesResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Deprecated: Marked as deprecated in v1/search_get.proto.
	NonRefProperties *structpb.Struct       `protobuf:"bytes,1,opt,name=non_ref_properties,json=nonRefProperties,proto3" json:"non_ref_properties,omitempty"`
	RefProps         []*RefPropertiesResult `protobuf:"bytes,2,rep,name=ref_props,json=refProps,proto3" json:"ref_props,omitempty"`
	TargetCollection string                 `protobuf:"bytes,3,opt,name=target_collection,json=targetCollection,proto3" json:"target_collection,omitempty"`
	Metadata         *MetadataResult        `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	NumberArrayProperties []*NumberArrayProperties `protobuf:"bytes,5,rep,name=number_array_properties,json=numberArrayProperties,proto3" json:"number_array_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	IntArrayProperties []*IntArrayProperties `protobuf:"bytes,6,rep,name=int_array_properties,json=intArrayProperties,proto3" json:"int_array_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TextArrayProperties []*TextArrayProperties `protobuf:"bytes,7,rep,name=text_array_properties,json=textArrayProperties,proto3" json:"text_array_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	BooleanArrayProperties []*BooleanArrayProperties `protobuf:"bytes,8,rep,name=boolean_array_properties,json=booleanArrayProperties,proto3" json:"boolean_array_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	ObjectProperties []*ObjectProperties `protobuf:"bytes,9,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	ObjectArrayProperties []*ObjectArrayProperties `protobuf:"bytes,10,rep,name=object_array_properties,json=objectArrayProperties,proto3" json:"object_array_properties,omitempty"`
	NonRefProps           *Properties              `protobuf:"bytes,11,opt,name=non_ref_props,json=nonRefProps,proto3" json:"non_ref_props,omitempty"`
	RefPropsRequested     bool                     `protobuf:"varint,12,opt,name=ref_props_requested,json=refPropsRequested,proto3" json:"ref_props_requested,omitempty"`
}

func (x *PropertiesResult) Reset() {
	*x = PropertiesResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PropertiesResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PropertiesResult) ProtoMessage() {}

func (x *PropertiesResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PropertiesResult.ProtoReflect.Descriptor instead.
func (*PropertiesResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{27}
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetNonRefProperties() *structpb.Struct {
	if x != nil {
		return x.NonRefProperties
	}
	return nil
}

func (x *PropertiesResult) GetRefProps() []*RefPropertiesResult {
	if x != nil {
		return x.RefProps
	}
	return nil
}

func (x *PropertiesResult) GetTargetCollection() string {
	if x != nil {
		return x.TargetCollection
	}
	return ""
}

func (x *PropertiesResult) GetMetadata() *MetadataResult {
	if x != nil {
		return x.Metadata
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetNumberArrayProperties() []*NumberArrayProperties {
	if x != nil {
		return x.NumberArrayProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetIntArrayProperties() []*IntArrayProperties {
	if x != nil {
		return x.IntArrayProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetTextArrayProperties() []*TextArrayProperties {
	if x != nil {
		return x.TextArrayProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetBooleanArrayProperties() []*BooleanArrayProperties {
	if x != nil {
		return x.BooleanArrayProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetObjectProperties() []*ObjectProperties {
	if x != nil {
		return x.ObjectProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetObjectArrayProperties() []*ObjectArrayProperties {
	if x != nil {
		return x.ObjectArrayProperties
	}
	return nil
}

func (x *PropertiesResult) GetNonRefProps() *Properties {
	if x != nil {
		return x.NonRefProps
	}
	return nil
}

func (x *PropertiesResult) GetRefPropsRequested() bool {
	if x != nil {
		return x.RefPropsRequested
	}
	return false
}

type RefPropertiesResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Properties []*PropertiesResult `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty"`
	PropName   string              `protobuf:"bytes,2,opt,name=prop_name,json=propName,proto3" json:"prop_name,omitempty"`
}

func (x *RefPropertiesResult) Reset() {
	*x = RefPropertiesResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RefPropertiesResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefPropertiesResult) ProtoMessage() {}

func (x *RefPropertiesResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RefPropertiesResult.ProtoReflect.Descriptor instead.
func (*RefPropertiesResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{28}
}

func (x *RefPropertiesResult) GetProperties() []*PropertiesResult {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *RefPropertiesResult) GetPropName() string {
	if x != nil {
		return x.PropName
	}
	return ""
}

type NearTextSearch_Move struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Force    float32  `protobuf:"fixed32,1,opt,name=force,proto3" json:"force,omitempty"`
	Concepts []string `protobuf:"bytes,2,rep,name=concepts,proto3" json:"concepts,omitempty"`
	Uuids    []string `protobuf:"bytes,3,rep,name=uuids,proto3" json:"uuids,omitempty"`
}

func (x *NearTextSearch_Move) Reset() {
	*x = NearTextSearch_Move{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearTextSearch_Move) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearTextSearch_Move) ProtoMessage() {}

func (x *NearTextSearch_Move) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearTextSearch_Move.ProtoReflect.Descriptor instead.
func (*NearTextSearch_Move) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{9, 0}
}

func (x *NearTextSearch_Move) GetForce() float32 {
	if x != nil {
		return x.Force
	}
	return 0
}

func (x *NearTextSearch_Move) GetConcepts() []string {
	if x != nil {
		return x.Concepts
	}
	return nil
}

func (x *NearTextSearch_Move) GetUuids() []string {
	if x != nil {
		return x.Uuids
	}
	return nil
}

var File_v1_search_get_proto protoreflect.FileDescriptor

var file_v1_search_get_proto_rawDesc = []byte{
	0x0a, 0x13, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x1a, 0x0d, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x13, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x0d, 0x0a, 0x0d, 0x53, 0x65,
	0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6e,
	0x61, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52,
	0x10, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65,
	0x6c, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70,
	0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x5f, 0x62, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79,
	0x48, 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x14,
	0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x1f,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07,
	0x61, 0x75, 0x74, 0x6f, 0x63, 0x75, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61,
	0x75, 0x74, 0x6f, 0x63, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18,
	0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x07,
	0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
	0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x72, 0x74,
	0x42, 0x79, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69,
	0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x73, 0x48, 0x04, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12,
	0x3d, 0x0a, 0x0d, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
	0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x48, 0x05, 0x52, 0x0c, 0x68,
	0x79, 0x62, 0x72, 0x69, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x37,
	0x0a, 0x0b, 0x62, 0x6d, 0x32, 0x35, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x2a, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x42, 0x4d, 0x32, 0x35, 0x48, 0x06, 0x52, 0x0a, 0x62, 0x6d, 0x32, 0x35, 0x53, 0x65,
	0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x65, 0x61, 0x72, 0x5f,
	0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x56,
	0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x07, 0x52, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x6f,
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x4f, 0x62,
	0x6a, 0x65, 0x63, 0x74, 0x48, 0x08, 0x52, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x6a, 0x65,
	0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x65,
	0x78, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78,
	0x74, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x61,
	0x67, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0a, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x61,
	0x75, 0x64, 0x69, 0x6f, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x41, 0x75, 0x64,
	0x69, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0b, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72,
	0x41, 0x75, 0x64, 0x69, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72,
	0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x56,
	0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0c, 0x52, 0x09, 0x6e, 0x65,
	0x61, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65,
	0x61, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61,
	0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0d, 0x52, 0x09,
	0x6e, 0x65, 0x61, 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x0c,
	0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x32, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72,
	0x63, 0x68, 0x48, 0x0e, 0x52, 0x0b, 0x6e, 0x65, 0x61, 0x72, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61,
	0x6c, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x75,
	0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x49, 0x4d, 0x55, 0x53, 0x65, 0x61, 0x72,
	0x63, 0x68, 0x48, 0x0f, 0x52, 0x07, 0x6e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x75, 0x88, 0x01, 0x01,
	0x12, 0x42, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x3c,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61,
	0x72, 0x63, 0x68, 0x48, 0x10, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76,
	0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x3d,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x48, 0x11, 0x52, 0x06, 0x72, 0x65, 0x72,
	0x61, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x31,
	0x32, 0x33, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01,
	0x52, 0x0a, 0x75, 0x73, 0x65, 0x73, 0x31, 0x32, 0x33, 0x41, 0x70, 0x69, 0x12, 0x24, 0x0a, 0x0c,
	0x75, 0x73, 0x65, 0x73, 0x5f, 0x31, 0x32, 0x35, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x65, 0x20, 0x01,
	0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x73, 0x31, 0x32, 0x35, 0x41,
	0x70, 0x69, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x31, 0x32, 0x37, 0x5f, 0x61,
	0x70, 0x69, 0x18, 0x66, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x73, 0x31, 0x32,
	0x37, 0x41, 0x70, 0x69, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
	0x5f, 0x62, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x42,
	0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63,
	0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x6d, 0x32, 0x35, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63,
	0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x42,
	0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0d,
	0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x0d, 0x0a,
	0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x0d, 0x0a, 0x0b,
	0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
	0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x42, 0x0b, 0x0a, 0x09,
	0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x75, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x72,
	0x61, 0x6e, 0x6b, 0x22, 0x73, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x12, 0x12,
	0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61,
	0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2a, 0x0a, 0x11,
	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73,
	0x50, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x3a, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74,
	0x42, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
	0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04,
	0x70, 0x61, 0x74, 0x68, 0x22, 0xd2, 0x02, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06,
	0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e,
	0x69, 0x78, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
	0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12,
	0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
	0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e,
	0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x78,
	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73,
	0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x12,
	0x18, 0x0a, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x11, 0x50, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x2c, 0x0a, 0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x6f, 0x6e,
	0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x48, 0x0a,
	0x0e, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
	0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x65,
	0x74, 0x75, 0x72, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x72, 0x65, 0x66, 0x5f,
	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x19, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x6e, 0x72, 0x65,
	0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x17,
	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76,
	0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
	0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x57, 0x65,
	0x69, 0x67, 0x68, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xbe,
	0x02, 0x0a, 0x07, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
	0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x07, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x18, 0x03,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68,
	0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x77, 0x65, 0x69,
	0x67, 0x68, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x13, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5f,
	0x66, 0x6f, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x52, 0x11, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
	0xbe, 0x04, 0x0a, 0x06, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
	0x12, 0x1a, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02,
	0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05,
	0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x61, 0x6c, 0x70,
	0x68, 0x61, 0x12, 0x3f, 0x0a, 0x0b, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x46, 0x75, 0x73,
	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x54,
	0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79,
	0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
	0x73, 0x12, 0x38, 0x0a, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63,
	0x68, 0x52, 0x08, 0x6e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x6e,
	0x65, 0x61, 0x72, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e,
	0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x56,
	0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x0f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00,
	0x52, 0x0e, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x22, 0x61, 0x0a, 0x0a, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b,
	0x0a, 0x17, 0x46, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x46,
	0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45,
	0x44, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59,
	0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52,
	0x45, 0x10, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
	0x22, 0xce, 0x03, 0x0a, 0x0e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61,
	0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72,
	0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09,
	0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01,
	0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a,
	0x07, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61,
	0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x4d, 0x6f, 0x76, 0x65,
	0x48, 0x02, 0x52, 0x06, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a,
	0x09, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e,
	0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x4d, 0x6f,
	0x76, 0x65, 0x48, 0x03, 0x52, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x77, 0x61, 0x79, 0x88, 0x01,
	0x01, 0x12, 0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74,
	0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x07,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
	0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x73, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x4e, 0x0a, 0x04,
	0x4d, 0x6f, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f,
	0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f,
	0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x75, 0x69, 0x64, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x75, 0x75, 0x69, 0x64, 0x73, 0x42, 0x0c, 0x0a, 0x0a,
	0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64,
	0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x6f, 0x76, 0x65,
	0x5f, 0x74, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x77, 0x61,
	0x79, 0x22, 0xe1, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x63,
	0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00,
	0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f,
	0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
	0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12,
	0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72,
	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63,
	0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xe1, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x41, 0x75,
	0x64, 0x69, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64,
	0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12,
	0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88,
	0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e,
	0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x42, 0x0c,
	0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09,
	0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xe1, 0x01, 0x0a, 0x0f, 0x4e, 0x65,
	0x61, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a,
	0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69,
	0x64, 0x65, 0x6f, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69,
	0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42,
	0x02, 0x18, 0x01, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79,
	0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xe1, 0x01,
	0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x53, 0x65, 0x61, 0x72, 0x63,
	0x68, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61,
	0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65,
	0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56,
	0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61,
	0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x22, 0xe7, 0x01, 0x0a, 0x11, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61,
	0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x65, 0x72, 0x6d,
	0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61,
	0x6c, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74,
	0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
	0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18,
	0x01, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
	0x12, 0x2e, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73,
	0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b,
	0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x0d,
	0x4e, 0x65, 0x61, 0x72, 0x49, 0x4d, 0x55, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x10, 0x0a,
	0x03, 0x69, 0x6d, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x6d, 0x75, 0x12,
	0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88,
	0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e,
	0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x42, 0x0c,
	0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09,
	0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x3c, 0x0a, 0x04, 0x42, 0x4d, 0x32,
	0x35, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x66, 0x50,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65,
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12,
	0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12,
	0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x0f, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
	0x46, 0x6f, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a,
	0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73,
	0x22, 0xf3, 0x03, 0x0a, 0x0a, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12,
	0x1a, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42,
	0x02, 0x18, 0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x09, 0x63,
	0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00,
	0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f,
	0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
	0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12,
	0x21, 0x0a, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x79, 0x74,
	0x65, 0x73, 0x12, 0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a,
	0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x5c, 0x0a,
	0x11, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x76, 0x65, 0x63, 0x74,
	0x6f, 0x72, 0x50, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x76,
	0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x6f, 0x72, 0x54,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x10, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x46, 0x6f, 0x72,
	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x42, 0x0a, 0x14, 0x56, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x50, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f,
	0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x0a, 0x4e, 0x65, 0x61, 0x72, 0x4f,
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74,
	0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
	0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22,
	0x49, 0x0a, 0x06, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01,
	0x42, 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x80, 0x03, 0x0a, 0x0b, 0x53,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f,
	0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6b, 0x12, 0x33,
	0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x19, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65,
	0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76,
	0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x60,
	0x0a, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f,
	0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x48, 0x01, 0x52, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47,
	0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01,
	0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x1d,
	0x0a, 0x1b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x72,
	0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x23, 0x0a,
	0x0b, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05,
	0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f,
	0x72, 0x65, 0x22, 0xc9, 0x03, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b,
	0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d,
	0x61, 0x78, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a,
	0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x4f, 0x66, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62,
	0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12,
	0x35, 0x0a, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x18, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
	0x72, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x72,
	0x61, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
	0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x02, 0x18, 0x01, 0x48, 0x01, 0x52, 0x0a,
	0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a,
	0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76,
	0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x02, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09,
	0x0a, 0x07, 0x5f, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd9,
	0x01, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
	0x3d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x37,
	0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f,
	0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0xd1, 0x07, 0x0a, 0x0e, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a,
	0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x18,
	0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
	0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x70, 0x72,
	0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x50, 0x72, 0x65,
	0x73, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
	0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x40, 0x0a, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x5f,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78,
	0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19,
	0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e,
	0x69, 0x78, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
	0x12, 0x1c, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x02, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12, 0x2b,
	0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x73,
	0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x61,
	0x69, 0x6e, 0x74, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73,
	0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72,
	0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65,
	0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x50,
	0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69,
	0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65,
	0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65,
	0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65,
	0x73, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, 0x70, 0x6c,
	0x61, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12,
	0x28, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x67, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18,
	0x01, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x31, 0x0a,
	0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73,
	0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x67,
	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
	0x12, 0x32, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x13, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65,
	0x73, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62,
	0x79, 0x74, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74,
	0x6f, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x64, 0x5f, 0x61, 0x73,
	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x69, 0x64,
	0x41, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x72, 0x61, 0x6e,
	0x6b, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x72,
	0x65, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65,
	0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65,
	0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b,
	0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07,
	0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
	0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x63, 0x74,
	0x6f, 0x72, 0x73, 0x52, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x42, 0x10, 0x0a, 0x0e,
	0x5f, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x93,
	0x07, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x12, 0x49, 0x0a, 0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x70,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6e, 0x6f,
	0x6e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3d,
	0x0a, 0x09, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x52, 0x08, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x2b, 0x0a,
	0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x17, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x61, 0x72,
	0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x14, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79,
	0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x49, 0x6e, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x69, 0x6e, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79,
	0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x74, 0x65,
	0x78, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76,
	0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61,
	0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x13, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f,
	0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
	0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61,
	0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x16, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x17, 0x6f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x72, 0x72,
	0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01,
	0x52, 0x15, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x6e, 0x6f, 0x6e, 0x5f, 0x72,
	0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0b, 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x50,
	0x72, 0x6f, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70,
	0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x11, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x22, 0x71, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x70,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a,
	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72,
	0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x72, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0xee, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x62,
	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x22, 0x0a,
	0x1e, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54,
	0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
	0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e,
	0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x4d,
	0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x49,
	0x4e, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x41, 0x54, 0x49,
	0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41,
	0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4f, 0x4d, 0x42,
	0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x43, 0x4f,
	0x52, 0x45, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x41, 0x54,
	0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x42, 0x73, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x77,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x42,
	0x16, 0x57, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x53, 0x65,
	0x61, 0x72, 0x63, 0x68, 0x47, 0x65, 0x74, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2f, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x65, 0x64, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62, 0x06, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_v1_search_get_proto_rawDescOnce sync.Once
	file_v1_search_get_proto_rawDescData = file_v1_search_get_proto_rawDesc
)

func file_v1_search_get_proto_rawDescGZIP() []byte {
	file_v1_search_get_proto_rawDescOnce.Do(func() {
		file_v1_search_get_proto_rawDescData = protoimpl.X.CompressGZIP(file_v1_search_get_proto_rawDescData)
	})
	return file_v1_search_get_proto_rawDescData
}

var file_v1_search_get_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_v1_search_get_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
var file_v1_search_get_proto_goTypes = []interface{}{
	(CombinationMethod)(0),          // 0: weaviate.v1.CombinationMethod
	(Hybrid_FusionType)(0),          // 1: weaviate.v1.Hybrid.FusionType
	(*SearchRequest)(nil),           // 2: weaviate.v1.SearchRequest
	(*GroupBy)(nil),                 // 3: weaviate.v1.GroupBy
	(*SortBy)(nil),                  // 4: weaviate.v1.SortBy
	(*MetadataRequest)(nil),         // 5: weaviate.v1.MetadataRequest
	(*PropertiesRequest)(nil),       // 6: weaviate.v1.PropertiesRequest
	(*ObjectPropertiesRequest)(nil), // 7: weaviate.v1.ObjectPropertiesRequest
	(*WeightsForTarget)(nil),        // 8: weaviate.v1.WeightsForTarget
	(*Targets)(nil),                 // 9: weaviate.v1.Targets
	(*Hybrid)(nil),                  // 10: weaviate.v1.Hybrid
	(*NearTextSearch)(nil),          // 11: weaviate.v1.NearTextSearch
	(*NearImageSearch)(nil),         // 12: weaviate.v1.NearImageSearch
	(*NearAudioSearch)(nil),         // 13: weaviate.v1.NearAudioSearch
	(*NearVideoSearch)(nil),         // 14: weaviate.v1.NearVideoSearch
	(*NearDepthSearch)(nil),         // 15: weaviate.v1.NearDepthSearch
	(*NearThermalSearch)(nil),       // 16: weaviate.v1.NearThermalSearch
	(*NearIMUSearch)(nil),           // 17: weaviate.v1.NearIMUSearch
	(*BM25)(nil),                    // 18: weaviate.v1.BM25
	(*RefPropertiesRequest)(nil),    // 19: weaviate.v1.RefPropertiesRequest
	(*VectorForTarget)(nil),         // 20: weaviate.v1.VectorForTarget
	(*NearVector)(nil),              // 21: weaviate.v1.NearVector
	(*NearObject)(nil),              // 22: weaviate.v1.NearObject
	(*Rerank)(nil),                  // 23: weaviate.v1.Rerank
	(*SearchReply)(nil),             // 24: weaviate.v1.SearchReply
	(*RerankReply)(nil),             // 25: weaviate.v1.RerankReply
	(*GroupByResult)(nil),           // 26: weaviate.v1.GroupByResult
	(*SearchResult)(nil),            // 27: weaviate.v1.SearchResult
	(*MetadataResult)(nil),          // 28: weaviate.v1.MetadataResult
	(*PropertiesResult)(nil),        // 29: weaviate.v1.PropertiesResult
	(*RefPropertiesResult)(nil),     // 30: weaviate.v1.RefPropertiesResult
	nil,                             // 31: weaviate.v1.Targets.WeightsEntry
	(*NearTextSearch_Move)(nil),     // 32: weaviate.v1.NearTextSearch.Move
	nil,                             // 33: weaviate.v1.NearVector.VectorPerTargetEntry
	(ConsistencyLevel)(0),           // 34: weaviate.v1.ConsistencyLevel
	(*Filters)(nil),                 // 35: weaviate.v1.Filters
	(*GenerativeSearch)(nil),        // 36: weaviate.v1.GenerativeSearch
	(*GenerativeResult)(nil),        // 37: weaviate.v1.GenerativeResult
	(*GenerativeReply)(nil),         // 38: weaviate.v1.GenerativeReply
	(*Vectors)(nil),                 // 39: weaviate.v1.Vectors
	(*structpb.Struct)(nil),         // 40: google.protobuf.Struct
	(*NumberArrayProperties)(nil),   // 41: weaviate.v1.NumberArrayProperties
	(*IntArrayProperties)(nil),      // 42: weaviate.v1.IntArrayProperties
	(*TextArrayProperties)(nil),     // 43: weaviate.v1.TextArrayProperties
	(*BooleanArrayProperties)(nil),  // 44: weaviate.v1.BooleanArrayProperties
	(*ObjectProperties)(nil),        // 45: weaviate.v1.ObjectProperties
	(*ObjectArrayProperties)(nil),   // 46: weaviate.v1.ObjectArrayProperties
	(*Properties)(nil),              // 47: weaviate.v1.Properties
}
var file_v1_search_get_proto_depIdxs = []int32{
	34, // 0: weaviate.v1.SearchRequest.consistency_level:type_name -> weaviate.v1.ConsistencyLevel
	6,  // 1: weaviate.v1.SearchRequest.properties:type_name -> weaviate.v1.PropertiesRequest
	5,  // 2: weaviate.v1.SearchRequest.metadata:type_name -> weaviate.v1.MetadataRequest
	3,  // 3: weaviate.v1.SearchRequest.group_by:type_name -> weaviate.v1.GroupBy
	4,  // 4: weaviate.v1.SearchRequest.sort_by:type_name -> weaviate.v1.SortBy
	35, // 5: weaviate.v1.SearchRequest.filters:type_name -> weaviate.v1.Filters
	10, // 6: weaviate.v1.SearchRequest.hybrid_search:type_name -> weaviate.v1.Hybrid
	18, // 7: weaviate.v1.SearchRequest.bm25_search:type_name -> weaviate.v1.BM25
	21, // 8: weaviate.v1.SearchRequest.near_vector:type_name -> weaviate.v1.NearVector
	22, // 9: weaviate.v1.SearchRequest.near_object:type_name -> weaviate.v1.NearObject
	11, // 10: weaviate.v1.SearchRequest.near_text:type_name -> weaviate.v1.NearTextSearch
	12, // 11: weaviate.v1.SearchRequest.near_image:type_name -> weaviate.v1.NearImageSearch
	13, // 12: weaviate.v1.SearchRequest.near_audio:type_name -> weaviate.v1.NearAudioSearch
	14, // 13: weaviate.v1.SearchRequest.near_video:type_name -> weaviate.v1.NearVideoSearch
	15, // 14: weaviate.v1.SearchRequest.near_depth:type_name -> weaviate.v1.NearDepthSearch
	16, // 15: weaviate.v1.SearchRequest.near_thermal:type_name -> weaviate.v1.NearThermalSearch
	17, // 16: weaviate.v1.SearchRequest.near_imu:type_name -> weaviate.v1.NearIMUSearch
	36, // 17: weaviate.v1.SearchRequest.generative:type_name -> weaviate.v1.GenerativeSearch
	23, // 18: weaviate.v1.SearchRequest.rerank:type_name -> weaviate.v1.Rerank
	19, // 19: weaviate.v1.PropertiesRequest.ref_properties:type_name -> weaviate.v1.RefPropertiesRequest
	7,  // 20: weaviate.v1.PropertiesRequest.object_properties:type_name -> weaviate.v1.ObjectPropertiesRequest
	7,  // 21: weaviate.v1.ObjectPropertiesRequest.object_properties:type_name -> weaviate.v1.ObjectPropertiesRequest
	0,  // 22: weaviate.v1.Targets.combination:type_name -> weaviate.v1.CombinationMethod
	31, // 23: weaviate.v1.Targets.weights:type_name -> weaviate.v1.Targets.WeightsEntry
	8,  // 24: weaviate.v1.Targets.weights_for_targets:type_name -> weaviate.v1.WeightsForTarget
	1,  // 25: weaviate.v1.Hybrid.fusion_type:type_name -> weaviate.v1.Hybrid.FusionType
	11, // 26: weaviate.v1.Hybrid.near_text:type_name -> weaviate.v1.NearTextSearch
	21, // 27: weaviate.v1.Hybrid.near_vector:type_name -> weaviate.v1.NearVector
	9,  // 28: weaviate.v1.Hybrid.targets:type_name -> weaviate.v1.Targets
	32, // 29: weaviate.v1.NearTextSearch.move_to:type_name -> weaviate.v1.NearTextSearch.Move
	32, // 30: weaviate.v1.NearTextSearch.move_away:type_name -> weaviate.v1.NearTextSearch.Move
	9,  // 31: weaviate.v1.NearTextSearch.targets:type_name -> weaviate.v1.Targets
	9,  // 32: weaviate.v1.NearImageSearch.targets:type_name -> weaviate.v1.Targets
	9,  // 33: weaviate.v1.NearAudioSearch.targets:type_name -> weaviate.v1.Targets
	9,  // 34: weaviate.v1.NearVideoSearch.targets:type_name -> weaviate.v1.Targets
	9,  // 35: weaviate.v1.NearDepthSearch.targets:type_name -> weaviate.v1.Targets
	9,  // 36: weaviate.v1.NearThermalSearch.targets:type_name -> weaviate.v1.Targets
	9,  // 37: weaviate.v1.NearIMUSearch.targets:type_name -> weaviate.v1.Targets
	6,  // 38: weaviate.v1.RefPropertiesRequest.properties:type_name -> weaviate.v1.PropertiesRequest
	5,  // 39: weaviate.v1.RefPropertiesRequest.metadata:type_name -> weaviate.v1.MetadataRequest
	9,  // 40: weaviate.v1.NearVector.targets:type_name -> weaviate.v1.Targets
	33, // 41: weaviate.v1.NearVector.vector_per_target:type_name -> weaviate.v1.NearVector.VectorPerTargetEntry
	20, // 42: weaviate.v1.NearVector.vector_for_targets:type_name -> weaviate.v1.VectorForTarget
	9,  // 43: weaviate.v1.NearObject.targets:type_name -> weaviate.v1.Targets
	27, // 44: weaviate.v1.SearchReply.results:type_name -> weaviate.v1.SearchResult
	26, // 45: weaviate.v1.SearchReply.group_by_results:type_name -> weaviate.v1.GroupByResult
	37, // 46: weaviate.v1.SearchReply.generative_grouped_results:type_name -> weaviate.v1.GenerativeResult
	27, // 47: weaviate.v1.GroupByResult.objects:type_name -> weaviate.v1.SearchResult
	25, // 48: weaviate.v1.GroupByResult.rerank:type_name -> weaviate.v1.RerankReply
	38, // 49: weaviate.v1.GroupByResult.generative:type_name -> weaviate.v1.GenerativeReply
	37, // 50: weaviate.v1.GroupByResult.generative_result:type_name -> weaviate.v1.GenerativeResult
	29, // 51: weaviate.v1.SearchResult.properties:type_name -> weaviate.v1.PropertiesResult
	28, // 52: weaviate.v1.SearchResult.metadata:type_name -> weaviate.v1.MetadataResult
	37, // 53: weaviate.v1.SearchResult.generative:type_name -> weaviate.v1.GenerativeResult
	39, // 54: weaviate.v1.MetadataResult.vectors:type_name -> weaviate.v1.Vectors
	40, // 55: weaviate.v1.PropertiesResult.non_ref_properties:type_name -> google.protobuf.Struct
	30, // 56: weaviate.v1.PropertiesResult.ref_props:type_name -> weaviate.v1.RefPropertiesResult
	28, // 57: weaviate.v1.PropertiesResult.metadata:type_name -> weaviate.v1.MetadataResult
	41, // 58: weaviate.v1.PropertiesResult.number_array_properties:type_name -> weaviate.v1.NumberArrayProperties
	42, // 59: weaviate.v1.PropertiesResult.int_array_properties:type_name -> weaviate.v1.IntArrayProperties
	43, // 60: weaviate.v1.PropertiesResult.text_array_properties:type_name -> weaviate.v1.TextArrayProperties
	44, // 61: weaviate.v1.PropertiesResult.boolean_array_properties:type_name -> weaviate.v1.BooleanArrayProperties
	45, // 62: weaviate.v1.PropertiesResult.object_properties:type_name -> weaviate.v1.ObjectProperties
	46, // 63: weaviate.v1.PropertiesResult.object_array_properties:type_name -> weaviate.v1.ObjectArrayProperties
	47, // 64: weaviate.v1.PropertiesResult.non_ref_props:type_name -> weaviate.v1.Properties
	29, // 65: weaviate.v1.RefPropertiesResult.properties:type_name -> weaviate.v1.PropertiesResult
	66, // [66:66] is the sub-list for method output_type
	66, // [66:66] is the sub-list for method input_type
	66, // [66:66] is the sub-list for extension type_name
	66, // [66:66] is the sub-list for extension extendee
	0,  // [0:66] is the sub-list for field type_name
}

func init() { file_v1_search_get_proto_init() }
func file_v1_search_get_proto_init() {
	if File_v1_search_get_proto != nil {
		return
	}
	file_v1_base_proto_init()
	file_v1_generative_proto_init()
	file_v1_properties_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_v1_search_get_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GroupBy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SortBy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetadataRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PropertiesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ObjectPropertiesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WeightsForTarget); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Targets); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Hybrid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearTextSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearImageSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearAudioSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearVideoSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearDepthSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearThermalSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearIMUSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BM25); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RefPropertiesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VectorForTarget); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearVector); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearObject); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rerank); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchReply); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RerankReply); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GroupByResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetadataResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PropertiesResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RefPropertiesResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearTextSearch_Move); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_v1_search_get_proto_msgTypes[0].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*Hybrid_VectorDistance)(nil),
	}
	file_v1_search_get_proto_msgTypes[9].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[10].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[11].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[12].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[13].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[14].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[15].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[19].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[20].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[21].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[22].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[24].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[25].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[26].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_v1_search_get_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   32,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_v1_search_get_proto_goTypes,
		DependencyIndexes: file_v1_search_get_proto_depIdxs,
		EnumInfos:         file_v1_search_get_proto_enumTypes,
		MessageInfos:      file_v1_search_get_proto_msgTypes,
	}.Build()
	File_v1_search_get_proto = out.File
	file_v1_search_get_proto_rawDesc = nil
	file_v1_search_get_proto_goTypes = nil
	file_v1_search_get_proto_depIdxs = nil
}
