// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0
// 	protoc        v3.13.0
// source: veriservice.proto

package veriservice

import (
	context "context"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

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)
)

// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4

// Request message for creating a new customer
type SearchRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Config  *SearchConfig  `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	Datum   []*Datum       `protobuf:"bytes,2,rep,name=datum,proto3" json:"datum,omitempty"`
	Context *SearchContext `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
}

func (x *SearchRequest) Reset() {
	*x = SearchRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_veriservice_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_veriservice_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_veriservice_proto_rawDescGZIP(), []int{0}
}

func (x *SearchRequest) GetConfig() *SearchConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

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

func (x *SearchRequest) GetContext() *SearchContext {
	if x != nil {
		return x.Context
	}
	return nil
}

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

	ScoreFuncName      string   `protobuf:"bytes,1,opt,name=scoreFuncName,proto3" json:"scoreFuncName,omitempty"`
	HigherIsBetter     bool     `protobuf:"varint,2,opt,name=higherIsBetter,proto3" json:"higherIsBetter,omitempty"`
	Timestamp          uint64   `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Timeout            uint64   `protobuf:"varint,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
	Limit              uint32   `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
	CacheDuration      uint64   `protobuf:"varint,6,opt,name=cacheDuration,proto3" json:"cacheDuration,omitempty"`
	DataName           string   `protobuf:"bytes,7,opt,name=dataName,proto3" json:"dataName,omitempty"`
	GroupLimit         uint32   `protobuf:"varint,8,opt,name=groupLimit,proto3" json:"groupLimit,omitempty"`
	GroupScoreFuncName string   `protobuf:"bytes,9,opt,name=groupScoreFuncName,proto3" json:"groupScoreFuncName,omitempty"`
	Filters            []string `protobuf:"bytes,10,rep,name=filters,proto3" json:"filters,omitempty"`
	ResultLimit        uint64   `protobuf:"varint,11,opt,name=resultLimit,proto3" json:"resultLimit,omitempty"`
	GroupFilters       []string `protobuf:"bytes,12,rep,name=groupFilters,proto3" json:"groupFilters,omitempty"`
	Uuid               string   `protobuf:"bytes,13,opt,name=uuid,proto3" json:"uuid,omitempty"`
}

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

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

func (*SearchConfig) ProtoMessage() {}

func (x *SearchConfig) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 SearchConfig.ProtoReflect.Descriptor instead.
func (*SearchConfig) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{1}
}

func (x *SearchConfig) GetScoreFuncName() string {
	if x != nil {
		return x.ScoreFuncName
	}
	return ""
}

func (x *SearchConfig) GetHigherIsBetter() bool {
	if x != nil {
		return x.HigherIsBetter
	}
	return false
}

func (x *SearchConfig) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *SearchConfig) GetTimeout() uint64 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

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

func (x *SearchConfig) GetCacheDuration() uint64 {
	if x != nil {
		return x.CacheDuration
	}
	return 0
}

func (x *SearchConfig) GetDataName() string {
	if x != nil {
		return x.DataName
	}
	return ""
}

func (x *SearchConfig) GetGroupLimit() uint32 {
	if x != nil {
		return x.GroupLimit
	}
	return 0
}

func (x *SearchConfig) GetGroupScoreFuncName() string {
	if x != nil {
		return x.GroupScoreFuncName
	}
	return ""
}

func (x *SearchConfig) GetFilters() []string {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *SearchConfig) GetResultLimit() uint64 {
	if x != nil {
		return x.ResultLimit
	}
	return 0
}

func (x *SearchConfig) GetGroupFilters() []string {
	if x != nil {
		return x.GroupFilters
	}
	return nil
}

func (x *SearchConfig) GetUuid() string {
	if x != nil {
		return x.Uuid
	}
	return ""
}

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

	Datum      []*Datum `protobuf:"bytes,1,rep,name=datum,proto3" json:"datum,omitempty"`
	Prioritize bool     `protobuf:"varint,2,opt,name=prioritize,proto3" json:"prioritize,omitempty"`
}

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

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

func (*SearchContext) ProtoMessage() {}

func (x *SearchContext) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 SearchContext.ProtoReflect.Descriptor instead.
func (*SearchContext) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{2}
}

func (x *SearchContext) GetDatum() []*Datum {
	if x != nil {
		return x.Datum
	}
	return nil
}

func (x *SearchContext) GetPrioritize() bool {
	if x != nil {
		return x.Prioritize
	}
	return false
}

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

	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

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

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

func (*GetDataRequest) ProtoMessage() {}

func (x *GetDataRequest) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 GetDataRequest.ProtoReflect.Descriptor instead.
func (*GetDataRequest) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{3}
}

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

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

	Key   *DatumKey   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value *DatumValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

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

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

func (*Datum) ProtoMessage() {}

func (x *Datum) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 Datum.ProtoReflect.Descriptor instead.
func (*Datum) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{4}
}

func (x *Datum) GetKey() *DatumKey {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *Datum) GetValue() *DatumValue {
	if x != nil {
		return x.Value
	}
	return nil
}

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

	Feature    []float32 `protobuf:"fixed32,1,rep,packed,name=feature,proto3" json:"feature,omitempty"`
	GroupLabel []byte    `protobuf:"bytes,2,opt,name=groupLabel,proto3" json:"groupLabel,omitempty"`
	Size1      uint32    `protobuf:"varint,3,opt,name=size1,proto3" json:"size1,omitempty"`
	Size2      uint32    `protobuf:"varint,4,opt,name=size2,proto3" json:"size2,omitempty"`
	Dim1       uint32    `protobuf:"varint,5,opt,name=dim1,proto3" json:"dim1,omitempty"`
	Dim2       uint32    `protobuf:"varint,6,opt,name=dim2,proto3" json:"dim2,omitempty"`
}

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

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

func (*DatumKey) ProtoMessage() {}

func (x *DatumKey) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 DatumKey.ProtoReflect.Descriptor instead.
func (*DatumKey) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{5}
}

func (x *DatumKey) GetFeature() []float32 {
	if x != nil {
		return x.Feature
	}
	return nil
}

func (x *DatumKey) GetGroupLabel() []byte {
	if x != nil {
		return x.GroupLabel
	}
	return nil
}

func (x *DatumKey) GetSize1() uint32 {
	if x != nil {
		return x.Size1
	}
	return 0
}

func (x *DatumKey) GetSize2() uint32 {
	if x != nil {
		return x.Size2
	}
	return 0
}

func (x *DatumKey) GetDim1() uint32 {
	if x != nil {
		return x.Dim1
	}
	return 0
}

func (x *DatumKey) GetDim2() uint32 {
	if x != nil {
		return x.Dim2
	}
	return 0
}

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

	Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	Label   []byte `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
}

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

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

func (*DatumValue) ProtoMessage() {}

func (x *DatumValue) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 DatumValue.ProtoReflect.Descriptor instead.
func (*DatumValue) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{6}
}

func (x *DatumValue) GetVersion() uint64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *DatumValue) GetLabel() []byte {
	if x != nil {
		return x.Label
	}
	return nil
}

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

	Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"`
	Datum *Datum  `protobuf:"bytes,2,opt,name=datum,proto3" json:"datum,omitempty"`
}

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

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

func (*ScoredDatum) ProtoMessage() {}

func (x *ScoredDatum) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 ScoredDatum.ProtoReflect.Descriptor instead.
func (*ScoredDatum) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{7}
}

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

func (x *ScoredDatum) GetDatum() *Datum {
	if x != nil {
		return x.Datum
	}
	return nil
}

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

	Config *InsertConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	Datum  *Datum        `protobuf:"bytes,2,opt,name=datum,proto3" json:"datum,omitempty"`
}

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

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

func (*InsertDatumWithConfig) ProtoMessage() {}

func (x *InsertDatumWithConfig) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 InsertDatumWithConfig.ProtoReflect.Descriptor instead.
func (*InsertDatumWithConfig) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{8}
}

func (x *InsertDatumWithConfig) GetConfig() *InsertConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *InsertDatumWithConfig) GetDatum() *Datum {
	if x != nil {
		return x.Datum
	}
	return nil
}

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

	Result []*ScoredDatum `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"`
}

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

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

func (*SearchResponse) ProtoMessage() {}

func (x *SearchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 SearchResponse.ProtoReflect.Descriptor instead.
func (*SearchResponse) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{9}
}

func (x *SearchResponse) GetResult() []*ScoredDatum {
	if x != nil {
		return x.Result
	}
	return nil
}

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

	Config   *InsertConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	Datum    *Datum        `protobuf:"bytes,2,opt,name=datum,proto3" json:"datum,omitempty"`
	DataName string        `protobuf:"bytes,3,opt,name=dataName,proto3" json:"dataName,omitempty"`
}

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

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

func (*InsertionRequest) ProtoMessage() {}

func (x *InsertionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 InsertionRequest.ProtoReflect.Descriptor instead.
func (*InsertionRequest) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{10}
}

func (x *InsertionRequest) GetConfig() *InsertConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *InsertionRequest) GetDatum() *Datum {
	if x != nil {
		return x.Datum
	}
	return nil
}

func (x *InsertionRequest) GetDataName() string {
	if x != nil {
		return x.DataName
	}
	return ""
}

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

	TTL   uint64 `protobuf:"varint,1,opt,name=tTL,proto3" json:"tTL,omitempty"`
	Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
}

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

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

func (*InsertConfig) ProtoMessage() {}

func (x *InsertConfig) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 InsertConfig.ProtoReflect.Descriptor instead.
func (*InsertConfig) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{11}
}

func (x *InsertConfig) GetTTL() uint64 {
	if x != nil {
		return x.TTL
	}
	return 0
}

func (x *InsertConfig) GetCount() uint64 {
	if x != nil {
		return x.Count
	}
	return 0
}

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

	Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
}

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

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

func (*InsertionResponse) ProtoMessage() {}

func (x *InsertionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 InsertionResponse.ProtoReflect.Descriptor instead.
func (*InsertionResponse) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{12}
}

func (x *InsertionResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

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

	Name                       string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Timestamp                  uint64    `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Version                    uint64    `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
	Avg                        []float32 `protobuf:"fixed32,4,rep,packed,name=avg,proto3" json:"avg,omitempty"`
	Hist                       []float32 `protobuf:"fixed32,5,rep,packed,name=hist,proto3" json:"hist,omitempty"`
	N                          uint64    `protobuf:"varint,6,opt,name=n,proto3" json:"n,omitempty"`
	MaxDistance                float64   `protobuf:"fixed64,7,opt,name=maxDistance,proto3" json:"maxDistance,omitempty"`
	TargetN                    uint64    `protobuf:"varint,8,opt,name=targetN,proto3" json:"targetN,omitempty"`
	TargetUtilization          float64   `protobuf:"fixed64,9,opt,name=targetUtilization,proto3" json:"targetUtilization,omitempty"`
	NoTarget                   bool      `protobuf:"varint,10,opt,name=noTarget,proto3" json:"noTarget,omitempty"`
	ReplicationOnInsert        uint32    `protobuf:"varint,11,opt,name=replicationOnInsert,proto3" json:"replicationOnInsert,omitempty"`
	EnforceReplicationOnInsert bool      `protobuf:"varint,12,opt,name=enforceReplicationOnInsert,proto3" json:"enforceReplicationOnInsert,omitempty"`
	Retention                  uint64    `protobuf:"varint,13,opt,name=retention,proto3" json:"retention,omitempty"`
}

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

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

func (*DataInfo) ProtoMessage() {}

func (x *DataInfo) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 DataInfo.ProtoReflect.Descriptor instead.
func (*DataInfo) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{13}
}

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

func (x *DataInfo) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *DataInfo) GetVersion() uint64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *DataInfo) GetAvg() []float32 {
	if x != nil {
		return x.Avg
	}
	return nil
}

func (x *DataInfo) GetHist() []float32 {
	if x != nil {
		return x.Hist
	}
	return nil
}

func (x *DataInfo) GetN() uint64 {
	if x != nil {
		return x.N
	}
	return 0
}

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

func (x *DataInfo) GetTargetN() uint64 {
	if x != nil {
		return x.TargetN
	}
	return 0
}

func (x *DataInfo) GetTargetUtilization() float64 {
	if x != nil {
		return x.TargetUtilization
	}
	return 0
}

func (x *DataInfo) GetNoTarget() bool {
	if x != nil {
		return x.NoTarget
	}
	return false
}

func (x *DataInfo) GetReplicationOnInsert() uint32 {
	if x != nil {
		return x.ReplicationOnInsert
	}
	return 0
}

func (x *DataInfo) GetEnforceReplicationOnInsert() bool {
	if x != nil {
		return x.EnforceReplicationOnInsert
	}
	return false
}

func (x *DataInfo) GetRetention() uint64 {
	if x != nil {
		return x.Retention
	}
	return 0
}

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

	Name                       string  `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Version                    uint64  `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
	TargetN                    uint64  `protobuf:"varint,3,opt,name=targetN,proto3" json:"targetN,omitempty"`
	TargetUtilization          float64 `protobuf:"fixed64,4,opt,name=targetUtilization,proto3" json:"targetUtilization,omitempty"`
	NoTarget                   bool    `protobuf:"varint,5,opt,name=noTarget,proto3" json:"noTarget,omitempty"`
	ReplicationOnInsert        uint32  `protobuf:"varint,6,opt,name=replicationOnInsert,proto3" json:"replicationOnInsert,omitempty"`
	EnforceReplicationOnInsert bool    `protobuf:"varint,7,opt,name=enforceReplicationOnInsert,proto3" json:"enforceReplicationOnInsert,omitempty"`
	Retention                  uint64  `protobuf:"varint,8,opt,name=retention,proto3" json:"retention,omitempty"`
}

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

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

func (*DataConfig) ProtoMessage() {}

func (x *DataConfig) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 DataConfig.ProtoReflect.Descriptor instead.
func (*DataConfig) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{14}
}

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

func (x *DataConfig) GetVersion() uint64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *DataConfig) GetTargetN() uint64 {
	if x != nil {
		return x.TargetN
	}
	return 0
}

func (x *DataConfig) GetTargetUtilization() float64 {
	if x != nil {
		return x.TargetUtilization
	}
	return 0
}

func (x *DataConfig) GetNoTarget() bool {
	if x != nil {
		return x.NoTarget
	}
	return false
}

func (x *DataConfig) GetReplicationOnInsert() uint32 {
	if x != nil {
		return x.ReplicationOnInsert
	}
	return 0
}

func (x *DataConfig) GetEnforceReplicationOnInsert() bool {
	if x != nil {
		return x.EnforceReplicationOnInsert
	}
	return false
}

func (x *DataConfig) GetRetention() uint64 {
	if x != nil {
		return x.Retention
	}
	return 0
}

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

	AddressList []string      `protobuf:"bytes,1,rep,name=addressList,proto3" json:"addressList,omitempty"`
	Version     string        `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	Timestamp   uint64        `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	DataList    []*DataConfig `protobuf:"bytes,4,rep,name=dataList,proto3" json:"dataList,omitempty"`
	ServiceList []string      `protobuf:"bytes,5,rep,name=serviceList,proto3" json:"serviceList,omitempty"`
	Ping        uint64        `protobuf:"varint,6,opt,name=ping,proto3" json:"ping,omitempty"`
}

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

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

func (*Peer) ProtoMessage() {}

func (x *Peer) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 Peer.ProtoReflect.Descriptor instead.
func (*Peer) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{15}
}

func (x *Peer) GetAddressList() []string {
	if x != nil {
		return x.AddressList
	}
	return nil
}

func (x *Peer) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *Peer) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *Peer) GetDataList() []*DataConfig {
	if x != nil {
		return x.DataList
	}
	return nil
}

func (x *Peer) GetServiceList() []string {
	if x != nil {
		return x.ServiceList
	}
	return nil
}

func (x *Peer) GetPing() uint64 {
	if x != nil {
		return x.Ping
	}
	return 0
}

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

	Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"`
}

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

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

func (*JoinRequest) ProtoMessage() {}

func (x *JoinRequest) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 JoinRequest.ProtoReflect.Descriptor instead.
func (*JoinRequest) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{16}
}

func (x *JoinRequest) GetPeer() *Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

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

	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // received address
}

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

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

func (*JoinResponse) ProtoMessage() {}

func (x *JoinResponse) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 JoinResponse.ProtoReflect.Descriptor instead.
func (*JoinResponse) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{17}
}

func (x *JoinResponse) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

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

	Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"`
}

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

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

func (*AddPeerRequest) ProtoMessage() {}

func (x *AddPeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 AddPeerRequest.ProtoReflect.Descriptor instead.
func (*AddPeerRequest) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{18}
}

func (x *AddPeerRequest) GetPeer() *Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

type AddPeerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*AddPeerResponse) ProtoMessage() {}

func (x *AddPeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 AddPeerResponse.ProtoReflect.Descriptor instead.
func (*AddPeerResponse) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{19}
}

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

	Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

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

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

func (*PingRequest) ProtoMessage() {}

func (x *PingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 PingRequest.ProtoReflect.Descriptor instead.
func (*PingRequest) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{20}
}

func (x *PingRequest) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

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

	Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Duration  uint64 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"`
}

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

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

func (*PingResponse) ProtoMessage() {}

func (x *PingResponse) ProtoReflect() protoreflect.Message {
	mi := &file_veriservice_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 PingResponse.ProtoReflect.Descriptor instead.
func (*PingResponse) Descriptor() ([]byte, []int) {
	return file_veriservice_proto_rawDescGZIP(), []int{21}
}

func (x *PingResponse) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *PingResponse) GetDuration() uint64 {
	if x != nil {
		return x.Duration
	}
	return 0
}

var File_veriservice_proto protoreflect.FileDescriptor

var file_veriservice_proto_rawDesc = []byte{
	0x0a, 0x11, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x22, 0xa2, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x05, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x52, 0x05, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x12,
	0x34, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1a, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb0, 0x03, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x46,
	0x75, 0x6e, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
	0x63, 0x6f, 0x72, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e,
	0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x49, 0x73, 0x42, 0x65, 0x74, 0x74, 0x65, 0x72, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x49, 0x73, 0x42, 0x65,
	0x74, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61,
	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c,
	0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x63, 0x6f,
	0x72, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x46, 0x75, 0x6e, 0x63,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18,
	0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x20,
	0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
	0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x59, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72,
	0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x28, 0x0a, 0x05, 0x64, 0x61, 0x74,
	0x75, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x52, 0x05, 0x64, 0x61,
	0x74, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
	0x69, 0x7a, 0x65, 0x22, 0x24, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x05, 0x44, 0x61, 0x74,
	0x75, 0x6d, 0x12, 0x27, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x15, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x61,
	0x74, 0x75, 0x6d, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x65, 0x72,
	0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x08, 0x44,
	0x61, 0x74, 0x75, 0x6d, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x61, 0x62, 0x65,
	0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x69, 0x7a, 0x65, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x05, 0x73, 0x69, 0x7a, 0x65, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x69, 0x7a, 0x65, 0x32,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x69, 0x7a, 0x65, 0x32, 0x12, 0x12, 0x0a,
	0x04, 0x64, 0x69, 0x6d, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x69, 0x6d,
	0x31, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x04, 0x64, 0x69, 0x6d, 0x32, 0x22, 0x3c, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a,
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6c, 0x61,
	0x62, 0x65, 0x6c, 0x22, 0x4d, 0x0a, 0x0b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74,
	0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x64, 0x61, 0x74, 0x75,
	0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x52, 0x05, 0x64, 0x61, 0x74,
	0x75, 0x6d, 0x22, 0x74, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x75,
	0x6d, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x06, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x65,
	0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28,
	0x0a, 0x05, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
	0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x75,
	0x6d, 0x52, 0x05, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x22, 0x42, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72,
	0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x65, 0x72,
	0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x44,
	0x61, 0x74, 0x75, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8b, 0x01, 0x0a,
	0x10, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x19, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x05, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x52, 0x05, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x12, 0x1a,
	0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x0c, 0x49, 0x6e,
	0x73, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x54,
	0x4c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x74, 0x54, 0x4c, 0x12, 0x14, 0x0a, 0x05,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x22, 0x27, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xa0, 0x03, 0x0a, 0x08,
	0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28,
	0x02, 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x73, 0x74, 0x18, 0x05,
	0x20, 0x03, 0x28, 0x02, 0x52, 0x04, 0x68, 0x69, 0x73, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x6e, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x01, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x44,
	0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6d,
	0x61, 0x78, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x4e, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x74,
	0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x30,
	0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x49,
	0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74,
	0x12, 0x3e, 0x0a, 0x1a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74,
	0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae,
	0x02, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x4e, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55,
	0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
	0x30, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e,
	0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65,
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72,
	0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65,
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72,
	0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0xcb, 0x01, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x12, 0x33, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x64,
	0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e,
	0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x22, 0x34, 0x0a,
	0x0b, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x04,
	0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x65, 0x72,
	0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70,
	0x65, 0x65, 0x72, 0x22, 0x28, 0x0a, 0x0c, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x37, 0x0a,
	0x0e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x25, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
	0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x65, 0x72,
	0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65,
	0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x0a, 0x0b, 0x50, 0x69, 0x6e,
	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x48, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x32, 0x80, 0x05, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x12, 0x43, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1a, 0x2e, 0x76, 0x65, 0x72,
	0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12,
	0x1d, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x49, 0x6e,
	0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
	0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x49, 0x6e, 0x73,
	0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x3d, 0x0a, 0x04, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x19, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x46, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x76, 0x65, 0x72,
	0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x12, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x49, 0x0a, 0x15, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69,
	0x73, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x15, 0x2e, 0x76,
	0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49,
	0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x15, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0c, 0x53, 0x65,
	0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1a, 0x2e, 0x76, 0x65, 0x72,
	0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x75, 0x6d,
	0x22, 0x00, 0x30, 0x01, 0x12, 0x3d, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x2e, 0x76,
	0x65, 0x72, 0x69, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_veriservice_proto_rawDescOnce sync.Once
	file_veriservice_proto_rawDescData = file_veriservice_proto_rawDesc
)

func file_veriservice_proto_rawDescGZIP() []byte {
	file_veriservice_proto_rawDescOnce.Do(func() {
		file_veriservice_proto_rawDescData = protoimpl.X.CompressGZIP(file_veriservice_proto_rawDescData)
	})
	return file_veriservice_proto_rawDescData
}

var file_veriservice_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_veriservice_proto_goTypes = []interface{}{
	(*SearchRequest)(nil),         // 0: veriservice.SearchRequest
	(*SearchConfig)(nil),          // 1: veriservice.SearchConfig
	(*SearchContext)(nil),         // 2: veriservice.SearchContext
	(*GetDataRequest)(nil),        // 3: veriservice.GetDataRequest
	(*Datum)(nil),                 // 4: veriservice.Datum
	(*DatumKey)(nil),              // 5: veriservice.DatumKey
	(*DatumValue)(nil),            // 6: veriservice.DatumValue
	(*ScoredDatum)(nil),           // 7: veriservice.ScoredDatum
	(*InsertDatumWithConfig)(nil), // 8: veriservice.InsertDatumWithConfig
	(*SearchResponse)(nil),        // 9: veriservice.SearchResponse
	(*InsertionRequest)(nil),      // 10: veriservice.InsertionRequest
	(*InsertConfig)(nil),          // 11: veriservice.InsertConfig
	(*InsertionResponse)(nil),     // 12: veriservice.InsertionResponse
	(*DataInfo)(nil),              // 13: veriservice.DataInfo
	(*DataConfig)(nil),            // 14: veriservice.DataConfig
	(*Peer)(nil),                  // 15: veriservice.Peer
	(*JoinRequest)(nil),           // 16: veriservice.JoinRequest
	(*JoinResponse)(nil),          // 17: veriservice.JoinResponse
	(*AddPeerRequest)(nil),        // 18: veriservice.AddPeerRequest
	(*AddPeerResponse)(nil),       // 19: veriservice.AddPeerResponse
	(*PingRequest)(nil),           // 20: veriservice.PingRequest
	(*PingResponse)(nil),          // 21: veriservice.PingResponse
}
var file_veriservice_proto_depIdxs = []int32{
	1,  // 0: veriservice.SearchRequest.config:type_name -> veriservice.SearchConfig
	4,  // 1: veriservice.SearchRequest.datum:type_name -> veriservice.Datum
	2,  // 2: veriservice.SearchRequest.context:type_name -> veriservice.SearchContext
	4,  // 3: veriservice.SearchContext.datum:type_name -> veriservice.Datum
	5,  // 4: veriservice.Datum.key:type_name -> veriservice.DatumKey
	6,  // 5: veriservice.Datum.value:type_name -> veriservice.DatumValue
	4,  // 6: veriservice.ScoredDatum.datum:type_name -> veriservice.Datum
	11, // 7: veriservice.InsertDatumWithConfig.config:type_name -> veriservice.InsertConfig
	4,  // 8: veriservice.InsertDatumWithConfig.datum:type_name -> veriservice.Datum
	7,  // 9: veriservice.SearchResponse.result:type_name -> veriservice.ScoredDatum
	11, // 10: veriservice.InsertionRequest.config:type_name -> veriservice.InsertConfig
	4,  // 11: veriservice.InsertionRequest.datum:type_name -> veriservice.Datum
	14, // 12: veriservice.Peer.dataList:type_name -> veriservice.DataConfig
	15, // 13: veriservice.JoinRequest.peer:type_name -> veriservice.Peer
	15, // 14: veriservice.AddPeerRequest.peer:type_name -> veriservice.Peer
	0,  // 15: veriservice.VeriService.Search:input_type -> veriservice.SearchRequest
	10, // 16: veriservice.VeriService.Insert:input_type -> veriservice.InsertionRequest
	16, // 17: veriservice.VeriService.Join:input_type -> veriservice.JoinRequest
	18, // 18: veriservice.VeriService.AddPeer:input_type -> veriservice.AddPeerRequest
	3,  // 19: veriservice.VeriService.DataStream:input_type -> veriservice.GetDataRequest
	14, // 20: veriservice.VeriService.CreateDataIfNotExists:input_type -> veriservice.DataConfig
	3,  // 21: veriservice.VeriService.GetDataInfo:input_type -> veriservice.GetDataRequest
	0,  // 22: veriservice.VeriService.SearchStream:input_type -> veriservice.SearchRequest
	20, // 23: veriservice.VeriService.Ping:input_type -> veriservice.PingRequest
	9,  // 24: veriservice.VeriService.Search:output_type -> veriservice.SearchResponse
	12, // 25: veriservice.VeriService.Insert:output_type -> veriservice.InsertionResponse
	17, // 26: veriservice.VeriService.Join:output_type -> veriservice.JoinResponse
	19, // 27: veriservice.VeriService.AddPeer:output_type -> veriservice.AddPeerResponse
	4,  // 28: veriservice.VeriService.DataStream:output_type -> veriservice.Datum
	13, // 29: veriservice.VeriService.CreateDataIfNotExists:output_type -> veriservice.DataInfo
	13, // 30: veriservice.VeriService.GetDataInfo:output_type -> veriservice.DataInfo
	7,  // 31: veriservice.VeriService.SearchStream:output_type -> veriservice.ScoredDatum
	21, // 32: veriservice.VeriService.Ping:output_type -> veriservice.PingResponse
	24, // [24:33] is the sub-list for method output_type
	15, // [15:24] is the sub-list for method input_type
	15, // [15:15] is the sub-list for extension type_name
	15, // [15:15] is the sub-list for extension extendee
	0,  // [0:15] is the sub-list for field type_name
}

func init() { file_veriservice_proto_init() }
func file_veriservice_proto_init() {
	if File_veriservice_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_veriservice_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_veriservice_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchContext); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDataRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Datum); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DatumKey); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DatumValue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ScoredDatum); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InsertDatumWithConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InsertionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InsertConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InsertionResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DataInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DataConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Peer); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*JoinRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*JoinResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddPeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddPeerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PingRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_veriservice_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PingResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_veriservice_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   22,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_veriservice_proto_goTypes,
		DependencyIndexes: file_veriservice_proto_depIdxs,
		MessageInfos:      file_veriservice_proto_msgTypes,
	}.Build()
	File_veriservice_proto = out.File
	file_veriservice_proto_rawDesc = nil
	file_veriservice_proto_goTypes = nil
	file_veriservice_proto_depIdxs = nil
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// VeriServiceClient is the client API for VeriService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type VeriServiceClient interface {
	Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error)
	Insert(ctx context.Context, in *InsertionRequest, opts ...grpc.CallOption) (*InsertionResponse, error)
	Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error)
	AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*AddPeerResponse, error)
	DataStream(ctx context.Context, in *GetDataRequest, opts ...grpc.CallOption) (VeriService_DataStreamClient, error)
	CreateDataIfNotExists(ctx context.Context, in *DataConfig, opts ...grpc.CallOption) (*DataInfo, error)
	GetDataInfo(ctx context.Context, in *GetDataRequest, opts ...grpc.CallOption) (*DataInfo, error)
	SearchStream(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (VeriService_SearchStreamClient, error)
	Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error)
}

type veriServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewVeriServiceClient(cc grpc.ClientConnInterface) VeriServiceClient {
	return &veriServiceClient{cc}
}

func (c *veriServiceClient) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error) {
	out := new(SearchResponse)
	err := c.cc.Invoke(ctx, "/veriservice.VeriService/Search", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *veriServiceClient) Insert(ctx context.Context, in *InsertionRequest, opts ...grpc.CallOption) (*InsertionResponse, error) {
	out := new(InsertionResponse)
	err := c.cc.Invoke(ctx, "/veriservice.VeriService/Insert", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *veriServiceClient) Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error) {
	out := new(JoinResponse)
	err := c.cc.Invoke(ctx, "/veriservice.VeriService/Join", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *veriServiceClient) AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*AddPeerResponse, error) {
	out := new(AddPeerResponse)
	err := c.cc.Invoke(ctx, "/veriservice.VeriService/AddPeer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *veriServiceClient) DataStream(ctx context.Context, in *GetDataRequest, opts ...grpc.CallOption) (VeriService_DataStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &_VeriService_serviceDesc.Streams[0], "/veriservice.VeriService/DataStream", opts...)
	if err != nil {
		return nil, err
	}
	x := &veriServiceDataStreamClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type VeriService_DataStreamClient interface {
	Recv() (*Datum, error)
	grpc.ClientStream
}

type veriServiceDataStreamClient struct {
	grpc.ClientStream
}

func (x *veriServiceDataStreamClient) Recv() (*Datum, error) {
	m := new(Datum)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *veriServiceClient) CreateDataIfNotExists(ctx context.Context, in *DataConfig, opts ...grpc.CallOption) (*DataInfo, error) {
	out := new(DataInfo)
	err := c.cc.Invoke(ctx, "/veriservice.VeriService/CreateDataIfNotExists", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *veriServiceClient) GetDataInfo(ctx context.Context, in *GetDataRequest, opts ...grpc.CallOption) (*DataInfo, error) {
	out := new(DataInfo)
	err := c.cc.Invoke(ctx, "/veriservice.VeriService/GetDataInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *veriServiceClient) SearchStream(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (VeriService_SearchStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &_VeriService_serviceDesc.Streams[1], "/veriservice.VeriService/SearchStream", opts...)
	if err != nil {
		return nil, err
	}
	x := &veriServiceSearchStreamClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type VeriService_SearchStreamClient interface {
	Recv() (*ScoredDatum, error)
	grpc.ClientStream
}

type veriServiceSearchStreamClient struct {
	grpc.ClientStream
}

func (x *veriServiceSearchStreamClient) Recv() (*ScoredDatum, error) {
	m := new(ScoredDatum)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *veriServiceClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) {
	out := new(PingResponse)
	err := c.cc.Invoke(ctx, "/veriservice.VeriService/Ping", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// VeriServiceServer is the server API for VeriService service.
type VeriServiceServer interface {
	Search(context.Context, *SearchRequest) (*SearchResponse, error)
	Insert(context.Context, *InsertionRequest) (*InsertionResponse, error)
	Join(context.Context, *JoinRequest) (*JoinResponse, error)
	AddPeer(context.Context, *AddPeerRequest) (*AddPeerResponse, error)
	DataStream(*GetDataRequest, VeriService_DataStreamServer) error
	CreateDataIfNotExists(context.Context, *DataConfig) (*DataInfo, error)
	GetDataInfo(context.Context, *GetDataRequest) (*DataInfo, error)
	SearchStream(*SearchRequest, VeriService_SearchStreamServer) error
	Ping(context.Context, *PingRequest) (*PingResponse, error)
}

// UnimplementedVeriServiceServer can be embedded to have forward compatible implementations.
type UnimplementedVeriServiceServer struct {
}

func (*UnimplementedVeriServiceServer) Search(context.Context, *SearchRequest) (*SearchResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Search not implemented")
}
func (*UnimplementedVeriServiceServer) Insert(context.Context, *InsertionRequest) (*InsertionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Insert not implemented")
}
func (*UnimplementedVeriServiceServer) Join(context.Context, *JoinRequest) (*JoinResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Join not implemented")
}
func (*UnimplementedVeriServiceServer) AddPeer(context.Context, *AddPeerRequest) (*AddPeerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddPeer not implemented")
}
func (*UnimplementedVeriServiceServer) DataStream(*GetDataRequest, VeriService_DataStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method DataStream not implemented")
}
func (*UnimplementedVeriServiceServer) CreateDataIfNotExists(context.Context, *DataConfig) (*DataInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateDataIfNotExists not implemented")
}
func (*UnimplementedVeriServiceServer) GetDataInfo(context.Context, *GetDataRequest) (*DataInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDataInfo not implemented")
}
func (*UnimplementedVeriServiceServer) SearchStream(*SearchRequest, VeriService_SearchStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method SearchStream not implemented")
}
func (*UnimplementedVeriServiceServer) Ping(context.Context, *PingRequest) (*PingResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented")
}

func RegisterVeriServiceServer(s *grpc.Server, srv VeriServiceServer) {
	s.RegisterService(&_VeriService_serviceDesc, srv)
}

func _VeriService_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SearchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VeriServiceServer).Search(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/veriservice.VeriService/Search",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VeriServiceServer).Search(ctx, req.(*SearchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _VeriService_Insert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InsertionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VeriServiceServer).Insert(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/veriservice.VeriService/Insert",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VeriServiceServer).Insert(ctx, req.(*InsertionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _VeriService_Join_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(JoinRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VeriServiceServer).Join(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/veriservice.VeriService/Join",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VeriServiceServer).Join(ctx, req.(*JoinRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _VeriService_AddPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPeerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VeriServiceServer).AddPeer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/veriservice.VeriService/AddPeer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VeriServiceServer).AddPeer(ctx, req.(*AddPeerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _VeriService_DataStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetDataRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(VeriServiceServer).DataStream(m, &veriServiceDataStreamServer{stream})
}

type VeriService_DataStreamServer interface {
	Send(*Datum) error
	grpc.ServerStream
}

type veriServiceDataStreamServer struct {
	grpc.ServerStream
}

func (x *veriServiceDataStreamServer) Send(m *Datum) error {
	return x.ServerStream.SendMsg(m)
}

func _VeriService_CreateDataIfNotExists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DataConfig)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VeriServiceServer).CreateDataIfNotExists(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/veriservice.VeriService/CreateDataIfNotExists",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VeriServiceServer).CreateDataIfNotExists(ctx, req.(*DataConfig))
	}
	return interceptor(ctx, in, info, handler)
}

func _VeriService_GetDataInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VeriServiceServer).GetDataInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/veriservice.VeriService/GetDataInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VeriServiceServer).GetDataInfo(ctx, req.(*GetDataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _VeriService_SearchStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(SearchRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(VeriServiceServer).SearchStream(m, &veriServiceSearchStreamServer{stream})
}

type VeriService_SearchStreamServer interface {
	Send(*ScoredDatum) error
	grpc.ServerStream
}

type veriServiceSearchStreamServer struct {
	grpc.ServerStream
}

func (x *veriServiceSearchStreamServer) Send(m *ScoredDatum) error {
	return x.ServerStream.SendMsg(m)
}

func _VeriService_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PingRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VeriServiceServer).Ping(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/veriservice.VeriService/Ping",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(VeriServiceServer).Ping(ctx, req.(*PingRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _VeriService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "veriservice.VeriService",
	HandlerType: (*VeriServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Search",
			Handler:    _VeriService_Search_Handler,
		},
		{
			MethodName: "Insert",
			Handler:    _VeriService_Insert_Handler,
		},
		{
			MethodName: "Join",
			Handler:    _VeriService_Join_Handler,
		},
		{
			MethodName: "AddPeer",
			Handler:    _VeriService_AddPeer_Handler,
		},
		{
			MethodName: "CreateDataIfNotExists",
			Handler:    _VeriService_CreateDataIfNotExists_Handler,
		},
		{
			MethodName: "GetDataInfo",
			Handler:    _VeriService_GetDataInfo_Handler,
		},
		{
			MethodName: "Ping",
			Handler:    _VeriService_Ping_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "DataStream",
			Handler:       _VeriService_DataStream_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "SearchStream",
			Handler:       _VeriService_SearchStream_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "veriservice.proto",
}
