// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        (unknown)
// source: central/service.proto

// gRPC for our DBaaS central service
//
// notably uses gRPC-Gateway with OpenAPI

package central

import (
	_ "github.com/gogo/googleapis/google/api"
	types "github.com/gogo/protobuf/types"
	_ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
	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)
)

type ComponentType int32

const (
	ComponentType_COMPONENT_TYPE_UNSPECIFIED ComponentType = 0
	ComponentType_COMPONENT_TYPE_TIDB        ComponentType = 1
	ComponentType_COMPONENT_TYPE_TIKV        ComponentType = 2
	ComponentType_COMPONENT_TYPE_TIFLASH     ComponentType = 3
	ComponentType_COMPONENT_TYPE_PD          ComponentType = 4
	ComponentType_COMPONENT_TYPE_TICDC       ComponentType = 5
)

// Enum value maps for ComponentType.
var (
	ComponentType_name = map[int32]string{
		0: "COMPONENT_TYPE_UNSPECIFIED",
		1: "COMPONENT_TYPE_TIDB",
		2: "COMPONENT_TYPE_TIKV",
		3: "COMPONENT_TYPE_TIFLASH",
		4: "COMPONENT_TYPE_PD",
		5: "COMPONENT_TYPE_TICDC",
	}
	ComponentType_value = map[string]int32{
		"COMPONENT_TYPE_UNSPECIFIED": 0,
		"COMPONENT_TYPE_TIDB":        1,
		"COMPONENT_TYPE_TIKV":        2,
		"COMPONENT_TYPE_TIFLASH":     3,
		"COMPONENT_TYPE_PD":          4,
		"COMPONENT_TYPE_TICDC":       5,
	}
)

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

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

func (ComponentType) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[0].Descriptor()
}

func (ComponentType) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[0]
}

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

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

type PrivateEndpointStatus int32

const (
	PrivateEndpointStatus_NO_VPC_PEERING    PrivateEndpointStatus = 0
	PrivateEndpointStatus_VPC_PEERING_ERROR PrivateEndpointStatus = 1
	PrivateEndpointStatus_NO_DOMAIN         PrivateEndpointStatus = 2
	PrivateEndpointStatus_CREATING          PrivateEndpointStatus = 3
	PrivateEndpointStatus_NORMAL            PrivateEndpointStatus = 4
)

// Enum value maps for PrivateEndpointStatus.
var (
	PrivateEndpointStatus_name = map[int32]string{
		0: "NO_VPC_PEERING",
		1: "VPC_PEERING_ERROR",
		2: "NO_DOMAIN",
		3: "CREATING",
		4: "NORMAL",
	}
	PrivateEndpointStatus_value = map[string]int32{
		"NO_VPC_PEERING":    0,
		"VPC_PEERING_ERROR": 1,
		"NO_DOMAIN":         2,
		"CREATING":          3,
		"NORMAL":            4,
	}
)

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

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

func (PrivateEndpointStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[1].Descriptor()
}

func (PrivateEndpointStatus) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[1]
}

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

// Deprecated: Use PrivateEndpointStatus.Descriptor instead.
func (PrivateEndpointStatus) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{1}
}

type VerifyCodeUsage int32

const (
	VerifyCodeUsage_VERIFYCODE_UNKNOWN VerifyCodeUsage = 0
	VerifyCodeUsage_PASSWORD           VerifyCodeUsage = 1
)

// Enum value maps for VerifyCodeUsage.
var (
	VerifyCodeUsage_name = map[int32]string{
		0: "VERIFYCODE_UNKNOWN",
		1: "PASSWORD",
	}
	VerifyCodeUsage_value = map[string]int32{
		"VERIFYCODE_UNKNOWN": 0,
		"PASSWORD":           1,
	}
)

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

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

func (VerifyCodeUsage) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[2].Descriptor()
}

func (VerifyCodeUsage) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[2]
}

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

// Deprecated: Use VerifyCodeUsage.Descriptor instead.
func (VerifyCodeUsage) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{2}
}

type InfraErrorCode int32

const (
	InfraErrorCode_INFRA_RESOURCES_DEPLETED InfraErrorCode = 0
)

// Enum value maps for InfraErrorCode.
var (
	InfraErrorCode_name = map[int32]string{
		0: "INFRA_RESOURCES_DEPLETED",
	}
	InfraErrorCode_value = map[string]int32{
		"INFRA_RESOURCES_DEPLETED": 0,
	}
)

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

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

func (InfraErrorCode) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[3].Descriptor()
}

func (InfraErrorCode) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[3]
}

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

// Deprecated: Use InfraErrorCode.Descriptor instead.
func (InfraErrorCode) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{3}
}

type WriteStatus int32

const (
	WriteStatus_WRITABLE WriteStatus = 0
	WriteStatus_READONLY WriteStatus = 1
)

// Enum value maps for WriteStatus.
var (
	WriteStatus_name = map[int32]string{
		0: "WRITABLE",
		1: "READONLY",
	}
	WriteStatus_value = map[string]int32{
		"WRITABLE": 0,
		"READONLY": 1,
	}
)

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

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

func (WriteStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[4].Descriptor()
}

func (WriteStatus) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[4]
}

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

// Deprecated: Use WriteStatus.Descriptor instead.
func (WriteStatus) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{4}
}

type GetMeasurementFormat int32

const (
	GetMeasurementFormat_Prometheus GetMeasurementFormat = 0
)

// Enum value maps for GetMeasurementFormat.
var (
	GetMeasurementFormat_name = map[int32]string{
		0: "Prometheus",
	}
	GetMeasurementFormat_value = map[string]int32{
		"Prometheus": 0,
	}
)

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

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

func (GetMeasurementFormat) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[5].Descriptor()
}

func (GetMeasurementFormat) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[5]
}

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

// Deprecated: Use GetMeasurementFormat.Descriptor instead.
func (GetMeasurementFormat) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{5}
}

// Third-party integration service
// Please refer to style guide: https://developers.google.com/protocol-buffers/docs/style#enums
type IntegrationType int32

const (
	IntegrationType_INTEGRATION_TYPE_UNSPECIFIED IntegrationType = 0
	IntegrationType_INTEGRATION_TYPE_DATADOG     IntegrationType = 1
	IntegrationType_INTEGRATION_TYPE_PROMETHEUS  IntegrationType = 2
	IntegrationType_INTEGRATION_TYPE_NEWRELIC    IntegrationType = 3
)

// Enum value maps for IntegrationType.
var (
	IntegrationType_name = map[int32]string{
		0: "INTEGRATION_TYPE_UNSPECIFIED",
		1: "INTEGRATION_TYPE_DATADOG",
		2: "INTEGRATION_TYPE_PROMETHEUS",
		3: "INTEGRATION_TYPE_NEWRELIC",
	}
	IntegrationType_value = map[string]int32{
		"INTEGRATION_TYPE_UNSPECIFIED": 0,
		"INTEGRATION_TYPE_DATADOG":     1,
		"INTEGRATION_TYPE_PROMETHEUS":  2,
		"INTEGRATION_TYPE_NEWRELIC":    3,
	}
)

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

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

func (IntegrationType) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[6].Descriptor()
}

func (IntegrationType) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[6]
}

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

// Deprecated: Use IntegrationType.Descriptor instead.
func (IntegrationType) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{6}
}

type IntegrationPayload int32

const (
	IntegrationPayload_INTEGRATION_PAYLOAD_UNSPECIFIED IntegrationPayload = 0
	IntegrationPayload_INTEGRATION_PAYLOAD_METRICS     IntegrationPayload = 1
	IntegrationPayload_INTEGRATION_PAYLOAD_LOGS        IntegrationPayload = 2
	IntegrationPayload_INTEGRATION_PAYLOAD_TRACES      IntegrationPayload = 3
)

// Enum value maps for IntegrationPayload.
var (
	IntegrationPayload_name = map[int32]string{
		0: "INTEGRATION_PAYLOAD_UNSPECIFIED",
		1: "INTEGRATION_PAYLOAD_METRICS",
		2: "INTEGRATION_PAYLOAD_LOGS",
		3: "INTEGRATION_PAYLOAD_TRACES",
	}
	IntegrationPayload_value = map[string]int32{
		"INTEGRATION_PAYLOAD_UNSPECIFIED": 0,
		"INTEGRATION_PAYLOAD_METRICS":     1,
		"INTEGRATION_PAYLOAD_LOGS":        2,
		"INTEGRATION_PAYLOAD_TRACES":      3,
	}
)

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

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

func (IntegrationPayload) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[7].Descriptor()
}

func (IntegrationPayload) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[7]
}

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

// Deprecated: Use IntegrationPayload.Descriptor instead.
func (IntegrationPayload) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{7}
}

type DatadogSite int32

const (
	DatadogSite_DATADOG_SITE_UNSPECIFIED DatadogSite = 0
	DatadogSite_DATADOG_SITE_US1         DatadogSite = 1
	DatadogSite_DATADOG_SITE_US3         DatadogSite = 2
	DatadogSite_DATADOG_SITE_US5         DatadogSite = 3
	DatadogSite_DATADOG_SITE_EU1         DatadogSite = 4
	DatadogSite_DATADOG_SITE_US1_FED     DatadogSite = 5
	DatadogSite_DATADOG_SITE_AP1         DatadogSite = 6
)

// Enum value maps for DatadogSite.
var (
	DatadogSite_name = map[int32]string{
		0: "DATADOG_SITE_UNSPECIFIED",
		1: "DATADOG_SITE_US1",
		2: "DATADOG_SITE_US3",
		3: "DATADOG_SITE_US5",
		4: "DATADOG_SITE_EU1",
		5: "DATADOG_SITE_US1_FED",
		6: "DATADOG_SITE_AP1",
	}
	DatadogSite_value = map[string]int32{
		"DATADOG_SITE_UNSPECIFIED": 0,
		"DATADOG_SITE_US1":         1,
		"DATADOG_SITE_US3":         2,
		"DATADOG_SITE_US5":         3,
		"DATADOG_SITE_EU1":         4,
		"DATADOG_SITE_US1_FED":     5,
		"DATADOG_SITE_AP1":         6,
	}
)

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

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

func (DatadogSite) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[8].Descriptor()
}

func (DatadogSite) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[8]
}

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

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

type NewrelicSite int32

const (
	NewrelicSite_NEWRELIC_SITE_UNSPECIFIED NewrelicSite = 0
	NewrelicSite_NEWRELIC_SITE_US_OTLP     NewrelicSite = 1
	NewrelicSite_NEWRELIC_SITE_EU_OTLP     NewrelicSite = 2
)

// Enum value maps for NewrelicSite.
var (
	NewrelicSite_name = map[int32]string{
		0: "NEWRELIC_SITE_UNSPECIFIED",
		1: "NEWRELIC_SITE_US_OTLP",
		2: "NEWRELIC_SITE_EU_OTLP",
	}
	NewrelicSite_value = map[string]int32{
		"NEWRELIC_SITE_UNSPECIFIED": 0,
		"NEWRELIC_SITE_US_OTLP":     1,
		"NEWRELIC_SITE_EU_OTLP":     2,
	}
)

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

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

func (NewrelicSite) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[9].Descriptor()
}

func (NewrelicSite) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[9]
}

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

// Deprecated: Use NewrelicSite.Descriptor instead.
func (NewrelicSite) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{9}
}

type IntegrationStatus int32

const (
	IntegrationStatus_INTEGRATION_STATUS_UNSPECIFIED IntegrationStatus = 0
	IntegrationStatus_INTEGRATION_STATUS_NONE        IntegrationStatus = 1
	IntegrationStatus_INTEGRATION_STATUS_ACTIVE      IntegrationStatus = 2
	IntegrationStatus_INTEGRATION_STATUS_ERROR       IntegrationStatus = 3
)

// Enum value maps for IntegrationStatus.
var (
	IntegrationStatus_name = map[int32]string{
		0: "INTEGRATION_STATUS_UNSPECIFIED",
		1: "INTEGRATION_STATUS_NONE",
		2: "INTEGRATION_STATUS_ACTIVE",
		3: "INTEGRATION_STATUS_ERROR",
	}
	IntegrationStatus_value = map[string]int32{
		"INTEGRATION_STATUS_UNSPECIFIED": 0,
		"INTEGRATION_STATUS_NONE":        1,
		"INTEGRATION_STATUS_ACTIVE":      2,
		"INTEGRATION_STATUS_ERROR":       3,
	}
)

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

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

func (IntegrationStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[10].Descriptor()
}

func (IntegrationStatus) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[10]
}

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

// Deprecated: Use IntegrationStatus.Descriptor instead.
func (IntegrationStatus) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{10}
}

type Cluster_Status int32

const (
	Cluster_NORMAL      Cluster_Status = 0
	Cluster_CREATING    Cluster_Status = 1
	Cluster_SCALING     Cluster_Status = 2
	Cluster_UPGRADING   Cluster_Status = 3
	Cluster_UNAVAILABLE Cluster_Status = 4
	Cluster_RECOVERING  Cluster_Status = 5
	Cluster_IMPORTING   Cluster_Status = 6
)

// Enum value maps for Cluster_Status.
var (
	Cluster_Status_name = map[int32]string{
		0: "NORMAL",
		1: "CREATING",
		2: "SCALING",
		3: "UPGRADING",
		4: "UNAVAILABLE",
		5: "RECOVERING",
		6: "IMPORTING",
	}
	Cluster_Status_value = map[string]int32{
		"NORMAL":      0,
		"CREATING":    1,
		"SCALING":     2,
		"UPGRADING":   3,
		"UNAVAILABLE": 4,
		"RECOVERING":  5,
		"IMPORTING":   6,
	}
)

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

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

func (Cluster_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[11].Descriptor()
}

func (Cluster_Status) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[11]
}

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

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

type Cluster_SecondaryStatus int32

const (
	Cluster_HEALTHY   Cluster_SecondaryStatus = 0
	Cluster_UNHEALTHY Cluster_SecondaryStatus = 1
)

// Enum value maps for Cluster_SecondaryStatus.
var (
	Cluster_SecondaryStatus_name = map[int32]string{
		0: "HEALTHY",
		1: "UNHEALTHY",
	}
	Cluster_SecondaryStatus_value = map[string]int32{
		"HEALTHY":   0,
		"UNHEALTHY": 1,
	}
)

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

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

func (Cluster_SecondaryStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[12].Descriptor()
}

func (Cluster_SecondaryStatus) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[12]
}

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

// Deprecated: Use Cluster_SecondaryStatus.Descriptor instead.
func (Cluster_SecondaryStatus) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{41, 1}
}

type Cluster_CreateProgress int32

const (
	Cluster_INITIALIZING          Cluster_CreateProgress = 0
	Cluster_PREPARING             Cluster_CreateProgress = 1
	Cluster_LAUNCHING             Cluster_CreateProgress = 2
	Cluster_COMPLETED             Cluster_CreateProgress = 3
	Cluster_BACKUPING             Cluster_CreateProgress = 4
	Cluster_RESTORING             Cluster_CreateProgress = 5
	Cluster_REPLICATION_PREPARING Cluster_CreateProgress = 6
)

// Enum value maps for Cluster_CreateProgress.
var (
	Cluster_CreateProgress_name = map[int32]string{
		0: "INITIALIZING",
		1: "PREPARING",
		2: "LAUNCHING",
		3: "COMPLETED",
		4: "BACKUPING",
		5: "RESTORING",
		6: "REPLICATION_PREPARING",
	}
	Cluster_CreateProgress_value = map[string]int32{
		"INITIALIZING":          0,
		"PREPARING":             1,
		"LAUNCHING":             2,
		"COMPLETED":             3,
		"BACKUPING":             4,
		"RESTORING":             5,
		"REPLICATION_PREPARING": 6,
	}
)

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

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

func (Cluster_CreateProgress) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[13].Descriptor()
}

func (Cluster_CreateProgress) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[13]
}

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

// Deprecated: Use Cluster_CreateProgress.Descriptor instead.
func (Cluster_CreateProgress) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{41, 2}
}

type Cluster_ClusterType int32

const (
	Cluster_COMMON    Cluster_ClusterType = 0
	Cluster_PRIMARY   Cluster_ClusterType = 1
	Cluster_SECONDARY Cluster_ClusterType = 2
)

// Enum value maps for Cluster_ClusterType.
var (
	Cluster_ClusterType_name = map[int32]string{
		0: "COMMON",
		1: "PRIMARY",
		2: "SECONDARY",
	}
	Cluster_ClusterType_value = map[string]int32{
		"COMMON":    0,
		"PRIMARY":   1,
		"SECONDARY": 2,
	}
)

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

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

func (Cluster_ClusterType) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[14].Descriptor()
}

func (Cluster_ClusterType) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[14]
}

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

// Deprecated: Use Cluster_ClusterType.Descriptor instead.
func (Cluster_ClusterType) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{41, 3}
}

type TiKVNode_Status int32

const (
	TiKVNode_NORMAL      TiKVNode_Status = 0
	TiKVNode_CREATING    TiKVNode_Status = 1
	TiKVNode_UNAVAILABLE TiKVNode_Status = 2
	TiKVNode_TERMINATING TiKVNode_Status = 3
	TiKVNode_LEAVING     TiKVNode_Status = 4
)

// Enum value maps for TiKVNode_Status.
var (
	TiKVNode_Status_name = map[int32]string{
		0: "NORMAL",
		1: "CREATING",
		2: "UNAVAILABLE",
		3: "TERMINATING",
		4: "LEAVING",
	}
	TiKVNode_Status_value = map[string]int32{
		"NORMAL":      0,
		"CREATING":    1,
		"UNAVAILABLE": 2,
		"TERMINATING": 3,
		"LEAVING":     4,
	}
)

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

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

func (TiKVNode_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[15].Descriptor()
}

func (TiKVNode_Status) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[15]
}

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

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

type TiKVNode_Type int32

const (
	TiKVNode_STORAGE TiKVNode_Type = 0
)

// Enum value maps for TiKVNode_Type.
var (
	TiKVNode_Type_name = map[int32]string{
		0: "STORAGE",
	}
	TiKVNode_Type_value = map[string]int32{
		"STORAGE": 0,
	}
)

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

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

func (TiKVNode_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[16].Descriptor()
}

func (TiKVNode_Type) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[16]
}

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

// Deprecated: Use TiKVNode_Type.Descriptor instead.
func (TiKVNode_Type) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{51, 1}
}

type TiFlashNode_Status int32

const (
	TiFlashNode_NORMAL      TiFlashNode_Status = 0
	TiFlashNode_CREATING    TiFlashNode_Status = 1
	TiFlashNode_UNAVAILABLE TiFlashNode_Status = 2
	TiFlashNode_TERMINATING TiFlashNode_Status = 3
	TiFlashNode_LEAVING     TiFlashNode_Status = 4
)

// Enum value maps for TiFlashNode_Status.
var (
	TiFlashNode_Status_name = map[int32]string{
		0: "NORMAL",
		1: "CREATING",
		2: "UNAVAILABLE",
		3: "TERMINATING",
		4: "LEAVING",
	}
	TiFlashNode_Status_value = map[string]int32{
		"NORMAL":      0,
		"CREATING":    1,
		"UNAVAILABLE": 2,
		"TERMINATING": 3,
		"LEAVING":     4,
	}
)

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

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

func (TiFlashNode_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[17].Descriptor()
}

func (TiFlashNode_Status) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[17]
}

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

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

type TiFlashNode_Type int32

const (
	TiFlashNode_STORAGE TiFlashNode_Type = 0
)

// Enum value maps for TiFlashNode_Type.
var (
	TiFlashNode_Type_name = map[int32]string{
		0: "STORAGE",
	}
	TiFlashNode_Type_value = map[string]int32{
		"STORAGE": 0,
	}
)

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

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

func (TiFlashNode_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[18].Descriptor()
}

func (TiFlashNode_Type) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[18]
}

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

// Deprecated: Use TiFlashNode_Type.Descriptor instead.
func (TiFlashNode_Type) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{52, 1}
}

type TiDBNode_Status int32

const (
	TiDBNode_NORMAL      TiDBNode_Status = 0
	TiDBNode_CREATING    TiDBNode_Status = 1
	TiDBNode_UNAVAILABLE TiDBNode_Status = 2
	TiDBNode_TERMINATING TiDBNode_Status = 3
)

// Enum value maps for TiDBNode_Status.
var (
	TiDBNode_Status_name = map[int32]string{
		0: "NORMAL",
		1: "CREATING",
		2: "UNAVAILABLE",
		3: "TERMINATING",
	}
	TiDBNode_Status_value = map[string]int32{
		"NORMAL":      0,
		"CREATING":    1,
		"UNAVAILABLE": 2,
		"TERMINATING": 3,
	}
)

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

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

func (TiDBNode_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[19].Descriptor()
}

func (TiDBNode_Status) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[19]
}

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

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

type TiDBNode_Type int32

const (
	TiDBNode_COMPUTING TiDBNode_Type = 0
)

// Enum value maps for TiDBNode_Type.
var (
	TiDBNode_Type_name = map[int32]string{
		0: "COMPUTING",
	}
	TiDBNode_Type_value = map[string]int32{
		"COMPUTING": 0,
	}
)

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

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

func (TiDBNode_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[20].Descriptor()
}

func (TiDBNode_Type) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[20]
}

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

// Deprecated: Use TiDBNode_Type.Descriptor instead.
func (TiDBNode_Type) EnumDescriptor() ([]byte, []int) {
	return file_central_service_proto_rawDescGZIP(), []int{53, 1}
}

type DetachReplicationReq_DetachType int32

const (
	DetachReplicationReq_Planned DetachReplicationReq_DetachType = 0
	DetachReplicationReq_Force   DetachReplicationReq_DetachType = 1
	DetachReplicationReq_None    DetachReplicationReq_DetachType = 2
)

// Enum value maps for DetachReplicationReq_DetachType.
var (
	DetachReplicationReq_DetachType_name = map[int32]string{
		0: "Planned",
		1: "Force",
		2: "None",
	}
	DetachReplicationReq_DetachType_value = map[string]int32{
		"Planned": 0,
		"Force":   1,
		"None":    2,
	}
)

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

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

func (DetachReplicationReq_DetachType) Descriptor() protoreflect.EnumDescriptor {
	return file_central_service_proto_enumTypes[21].Descriptor()
}

func (DetachReplicationReq_DetachType) Type() protoreflect.EnumType {
	return &file_central_service_proto_enumTypes[21]
}

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

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

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

	ComponentType ComponentType `protobuf:"varint,1,opt,name=component_type,json=componentType,proto3,enum=central.ComponentType" json:"component_type,omitempty"`
	NodeProfileId uint64        `protobuf:"varint,2,opt,name=node_profile_id,json=nodeProfileId,proto3" json:"node_profile_id,omitempty"`
	Replicas      int32         `protobuf:"varint,3,opt,name=replicas,proto3" json:"replicas,omitempty"`
	StorageSizeGi int32         `protobuf:"varint,4,opt,name=storage_size_gi,json=storageSizeGi,proto3" json:"storage_size_gi,omitempty"`
}

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

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

func (*ClusterComponent) ProtoMessage() {}

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

func (x *ClusterComponent) GetComponentType() ComponentType {
	if x != nil {
		return x.ComponentType
	}
	return ComponentType_COMPONENT_TYPE_UNSPECIFIED
}

func (x *ClusterComponent) GetNodeProfileId() uint64 {
	if x != nil {
		return x.NodeProfileId
	}
	return 0
}

func (x *ClusterComponent) GetReplicas() int32 {
	if x != nil {
		return x.Replicas
	}
	return 0
}

func (x *ClusterComponent) GetStorageSizeGi() int32 {
	if x != nil {
		return x.StorageSizeGi
	}
	return 0
}

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

	OrgId             uint64              `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId         uint64              `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Name              string              `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	RootPassword      string              `protobuf:"bytes,4,opt,name=root_password,json=rootPassword,proto3" json:"root_password,omitempty"`
	Provider          string              `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"`
	Region            string              `protobuf:"bytes,6,opt,name=region,proto3" json:"region,omitempty"`
	IsDevTier         bool                `protobuf:"varint,7,opt,name=is_dev_tier,json=isDevTier,proto3" json:"is_dev_tier,omitempty"`
	Components        []*ClusterComponent `protobuf:"bytes,8,rep,name=components,proto3" json:"components,omitempty"`
	PrimaryClusterId  uint64              `protobuf:"varint,9,opt,name=primary_cluster_id,json=primaryClusterId,proto3" json:"primary_cluster_id,omitempty"`
	IgnoreReplication bool                `protobuf:"varint,10,opt,name=ignore_replication,json=ignoreReplication,proto3" json:"ignore_replication,omitempty"`
}

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

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

func (*CreateClusterReq) ProtoMessage() {}

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

func (x *CreateClusterReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CreateClusterReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

func (x *CreateClusterReq) GetRootPassword() string {
	if x != nil {
		return x.RootPassword
	}
	return ""
}

func (x *CreateClusterReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *CreateClusterReq) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *CreateClusterReq) GetIsDevTier() bool {
	if x != nil {
		return x.IsDevTier
	}
	return false
}

func (x *CreateClusterReq) GetComponents() []*ClusterComponent {
	if x != nil {
		return x.Components
	}
	return nil
}

func (x *CreateClusterReq) GetPrimaryClusterId() uint64 {
	if x != nil {
		return x.PrimaryClusterId
	}
	return 0
}

func (x *CreateClusterReq) GetIgnoreReplication() bool {
	if x != nil {
		return x.IgnoreReplication
	}
	return false
}

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

	Id       uint64    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	BaseResp *BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*CreateClusterResp) ProtoMessage() {}

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

func (x *CreateClusterResp) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *CreateClusterResp) GetBaseResp() *BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	OrgId      uint64              `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId  uint64              `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId  uint64              `protobuf:"varint,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Components []*ClusterComponent `protobuf:"bytes,4,rep,name=components,proto3" json:"components,omitempty"`
}

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

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

func (*ScaleClusterReq) ProtoMessage() {}

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

func (x *ScaleClusterReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ScaleClusterReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ScaleClusterReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ScaleClusterReq) GetComponents() []*ClusterComponent {
	if x != nil {
		return x.Components
	}
	return nil
}

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

	OrgId      uint64              `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId  uint64              `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Provider   string              `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	Region     string              `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
	IsDevTier  bool                `protobuf:"varint,5,opt,name=is_dev_tier,json=isDevTier,proto3" json:"is_dev_tier,omitempty"`
	Components []*ClusterComponent `protobuf:"bytes,6,rep,name=components,proto3" json:"components,omitempty"`
}

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

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

func (*CalcClusterFeeReq) ProtoMessage() {}

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

func (x *CalcClusterFeeReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CalcClusterFeeReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *CalcClusterFeeReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *CalcClusterFeeReq) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *CalcClusterFeeReq) GetIsDevTier() bool {
	if x != nil {
		return x.IsDevTier
	}
	return false
}

func (x *CalcClusterFeeReq) GetComponents() []*ClusterComponent {
	if x != nil {
		return x.Components
	}
	return nil
}

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

	Costs    []*CalcClusterFeeResp_ComponentCost `protobuf:"bytes,1,rep,name=costs,proto3" json:"costs,omitempty"`
	BaseResp *BaseResp                           `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*CalcClusterFeeResp) ProtoMessage() {}

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

func (x *CalcClusterFeeResp) GetCosts() []*CalcClusterFeeResp_ComponentCost {
	if x != nil {
		return x.Costs
	}
	return nil
}

func (x *CalcClusterFeeResp) GetBaseResp() *BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Provider  string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
	Region    string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
	IsDevTier bool   `protobuf:"varint,4,opt,name=is_dev_tier,json=isDevTier,proto3" json:"is_dev_tier,omitempty"`
}

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

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

func (*CalcNodeProfilesReq) ProtoMessage() {}

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

func (x *CalcNodeProfilesReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CalcNodeProfilesReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *CalcNodeProfilesReq) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *CalcNodeProfilesReq) GetIsDevTier() bool {
	if x != nil {
		return x.IsDevTier
	}
	return false
}

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

	Id               uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name             string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	DefaultNodeNum   int32  `protobuf:"varint,3,opt,name=default_node_num,json=defaultNodeNum,proto3" json:"default_node_num,omitempty"`
	MinStorageSizeGi int32  `protobuf:"varint,4,opt,name=min_storage_size_gi,json=minStorageSizeGi,proto3" json:"min_storage_size_gi,omitempty"`
	MaxStorageSizeGi int32  `protobuf:"varint,5,opt,name=max_storage_size_gi,json=maxStorageSizeGi,proto3" json:"max_storage_size_gi,omitempty"`
	CpuNum           int32  `protobuf:"varint,6,opt,name=cpu_num,json=cpuNum,proto3" json:"cpu_num,omitempty"`
}

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

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

func (*ClusterNodeProfile) ProtoMessage() {}

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

func (x *ClusterNodeProfile) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *ClusterNodeProfile) GetDefaultNodeNum() int32 {
	if x != nil {
		return x.DefaultNodeNum
	}
	return 0
}

func (x *ClusterNodeProfile) GetMinStorageSizeGi() int32 {
	if x != nil {
		return x.MinStorageSizeGi
	}
	return 0
}

func (x *ClusterNodeProfile) GetMaxStorageSizeGi() int32 {
	if x != nil {
		return x.MaxStorageSizeGi
	}
	return 0
}

func (x *ClusterNodeProfile) GetCpuNum() int32 {
	if x != nil {
		return x.CpuNum
	}
	return 0
}

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

	ComponentType    ComponentType         `protobuf:"varint,1,opt,name=component_type,json=componentType,proto3,enum=central.ComponentType" json:"component_type,omitempty"`
	Profiles         []*ClusterNodeProfile `protobuf:"bytes,2,rep,name=profiles,proto3" json:"profiles,omitempty"`
	DefaultProfileId uint64                `protobuf:"varint,3,opt,name=default_profile_id,json=defaultProfileId,proto3" json:"default_profile_id,omitempty"`
}

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

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

func (*ComponentNodeProfiles) ProtoMessage() {}

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

func (x *ComponentNodeProfiles) GetComponentType() ComponentType {
	if x != nil {
		return x.ComponentType
	}
	return ComponentType_COMPONENT_TYPE_UNSPECIFIED
}

func (x *ComponentNodeProfiles) GetProfiles() []*ClusterNodeProfile {
	if x != nil {
		return x.Profiles
	}
	return nil
}

func (x *ComponentNodeProfiles) GetDefaultProfileId() uint64 {
	if x != nil {
		return x.DefaultProfileId
	}
	return 0
}

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

	NodeProfiles []*ComponentNodeProfiles `protobuf:"bytes,1,rep,name=node_profiles,json=nodeProfiles,proto3" json:"node_profiles,omitempty"`
	BaseResp     *BaseResp                `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*CalcNodeProfilesResp) ProtoMessage() {}

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

func (x *CalcNodeProfilesResp) GetNodeProfiles() []*ComponentNodeProfiles {
	if x != nil {
		return x.NodeProfiles
	}
	return nil
}

func (x *CalcNodeProfilesResp) GetBaseResp() *BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	ErrCode int64  `protobuf:"varint,1,opt,name=err_code,json=errCode,proto3" json:"err_code,omitempty"`
	ErrMsg  string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
}

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

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

func (*BaseResp) ProtoMessage() {}

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

func (x *BaseResp) GetErrCode() int64 {
	if x != nil {
		return x.ErrCode
	}
	return 0
}

func (x *BaseResp) GetErrMsg() string {
	if x != nil {
		return x.ErrMsg
	}
	return ""
}

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

	BaseResp *BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*DefaultResp) ProtoMessage() {}

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

func (x *DefaultResp) GetBaseResp() *BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

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

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

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

func (*GetClientIPResp) ProtoMessage() {}

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

func (x *GetClientIPResp) GetIp() string {
	if x != nil {
		return x.Ip
	}
	return ""
}

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

	Cidr        string `protobuf:"bytes,1,opt,name=cidr,proto3" json:"cidr,omitempty"`
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}

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

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

func (*TrafficFilter) ProtoMessage() {}

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

func (x *TrafficFilter) GetCidr() string {
	if x != nil {
		return x.Cidr
	}
	return ""
}

func (x *TrafficFilter) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

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

	Cidrs []*TrafficFilter `protobuf:"bytes,1,rep,name=cidrs,proto3" json:"cidrs,omitempty"`
}

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

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

func (*TrafficFilterList) ProtoMessage() {}

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

func (x *TrafficFilterList) GetCidrs() []*TrafficFilter {
	if x != nil {
		return x.Cidrs
	}
	return nil
}

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

	TrafficFilters *TrafficFilterList `protobuf:"bytes,1,opt,name=traffic_filters,json=trafficFilters,proto3" json:"traffic_filters,omitempty"`
	ClusterId      int64              `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	OrgId          uint64             `protobuf:"varint,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId      uint64             `protobuf:"varint,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

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

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

func (*UpdateTrafficFilterReq) ProtoMessage() {}

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

func (x *UpdateTrafficFilterReq) GetTrafficFilters() *TrafficFilterList {
	if x != nil {
		return x.TrafficFilters
	}
	return nil
}

func (x *UpdateTrafficFilterReq) GetClusterId() int64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *UpdateTrafficFilterReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *UpdateTrafficFilterReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

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

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

func (*GetProjectTrafficFilterReq) ProtoMessage() {}

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

func (x *GetProjectTrafficFilterReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *GetProjectTrafficFilterReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	OrgId          uint64             `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId      uint64             `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	TrafficFilters *TrafficFilterList `protobuf:"bytes,3,opt,name=traffic_filters,json=trafficFilters,proto3" json:"traffic_filters,omitempty"`
}

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

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

func (*UpdateProjectTrafficFilterReq) ProtoMessage() {}

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

func (x *UpdateProjectTrafficFilterReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *UpdateProjectTrafficFilterReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *UpdateProjectTrafficFilterReq) GetTrafficFilters() *TrafficFilterList {
	if x != nil {
		return x.TrafficFilters
	}
	return nil
}

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

	Total          int32              `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	TrafficFilters *TrafficFilterList `protobuf:"bytes,2,opt,name=traffic_filters,json=trafficFilters,proto3" json:"traffic_filters,omitempty"`
}

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

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

func (*TrafficFilterResp) ProtoMessage() {}

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

func (x *TrafficFilterResp) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *TrafficFilterResp) GetTrafficFilters() *TrafficFilterList {
	if x != nil {
		return x.TrafficFilters
	}
	return nil
}

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

	Status PrivateEndpointStatus `protobuf:"varint,1,opt,name=status,proto3,enum=central.PrivateEndpointStatus" json:"status,omitempty"`
	Domain string                `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
	Port   uint64                `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
}

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

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

func (*GetPrivateEndpointResp) ProtoMessage() {}

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

func (x *GetPrivateEndpointResp) GetStatus() PrivateEndpointStatus {
	if x != nil {
		return x.Status
	}
	return PrivateEndpointStatus_NO_VPC_PEERING
}

func (x *GetPrivateEndpointResp) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *GetPrivateEndpointResp) GetPort() uint64 {
	if x != nil {
		return x.Port
	}
	return 0
}

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

	Id        uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	OrgId     uint64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

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

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

func (*VpcpeeringID) ProtoMessage() {}

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

func (x *VpcpeeringID) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *VpcpeeringID) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *VpcpeeringID) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	TenantRegion    string `protobuf:"bytes,1,opt,name=tenant_region,json=tenantRegion,proto3" json:"tenant_region,omitempty"`
	TenantVpcId     string `protobuf:"bytes,2,opt,name=tenant_vpc_id,json=tenantVpcId,proto3" json:"tenant_vpc_id,omitempty"`
	TenantAccountId string `protobuf:"bytes,3,opt,name=tenant_account_id,json=tenantAccountId,proto3" json:"tenant_account_id,omitempty"`
	TenantVpcCidr   string `protobuf:"bytes,4,opt,name=tenant_vpc_cidr,json=tenantVpcCidr,proto3" json:"tenant_vpc_cidr,omitempty"`
	Region          string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"`
	OrgId           uint64 `protobuf:"varint,6,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId       uint64 `protobuf:"varint,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

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

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

func (*CreateAWSVpcPeeringReq) ProtoMessage() {}

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

func (x *CreateAWSVpcPeeringReq) GetTenantRegion() string {
	if x != nil {
		return x.TenantRegion
	}
	return ""
}

func (x *CreateAWSVpcPeeringReq) GetTenantVpcId() string {
	if x != nil {
		return x.TenantVpcId
	}
	return ""
}

func (x *CreateAWSVpcPeeringReq) GetTenantAccountId() string {
	if x != nil {
		return x.TenantAccountId
	}
	return ""
}

func (x *CreateAWSVpcPeeringReq) GetTenantVpcCidr() string {
	if x != nil {
		return x.TenantVpcCidr
	}
	return ""
}

func (x *CreateAWSVpcPeeringReq) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *CreateAWSVpcPeeringReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CreateAWSVpcPeeringReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	VpcPeeringId    string `protobuf:"bytes,1,opt,name=vpc_peering_id,json=vpcPeeringId,proto3" json:"vpc_peering_id,omitempty"`
	VpcCidr         string `protobuf:"bytes,2,opt,name=vpc_cidr,json=vpcCidr,proto3" json:"vpc_cidr,omitempty"`
	PrivateHostZone string `protobuf:"bytes,3,opt,name=private_host_zone,json=privateHostZone,proto3" json:"private_host_zone,omitempty"`
	Region          string `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
	Id              uint64 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*CreateAWSVpcPeeringResp) ProtoMessage() {}

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

func (x *CreateAWSVpcPeeringResp) GetVpcPeeringId() string {
	if x != nil {
		return x.VpcPeeringId
	}
	return ""
}

func (x *CreateAWSVpcPeeringResp) GetVpcCidr() string {
	if x != nil {
		return x.VpcCidr
	}
	return ""
}

func (x *CreateAWSVpcPeeringResp) GetPrivateHostZone() string {
	if x != nil {
		return x.PrivateHostZone
	}
	return ""
}

func (x *CreateAWSVpcPeeringResp) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *CreateAWSVpcPeeringResp) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	TenantProjectId   string `protobuf:"bytes,1,opt,name=tenant_project_id,json=tenantProjectId,proto3" json:"tenant_project_id,omitempty"`
	TenantVpcRegion   string `protobuf:"bytes,2,opt,name=tenant_vpc_region,json=tenantVpcRegion,proto3" json:"tenant_vpc_region,omitempty"`
	TenantNetworkName string `protobuf:"bytes,3,opt,name=tenant_network_name,json=tenantNetworkName,proto3" json:"tenant_network_name,omitempty"`
	Region            string `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
	OrgId             uint64 `protobuf:"varint,5,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId         uint64 `protobuf:"varint,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	TenantVpcCidr     string `protobuf:"bytes,7,opt,name=tenant_vpc_cidr,json=tenantVpcCidr,proto3" json:"tenant_vpc_cidr,omitempty"`
}

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

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

func (*CreateGcpVpcPeeringReq) ProtoMessage() {}

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

func (x *CreateGcpVpcPeeringReq) GetTenantProjectId() string {
	if x != nil {
		return x.TenantProjectId
	}
	return ""
}

func (x *CreateGcpVpcPeeringReq) GetTenantVpcRegion() string {
	if x != nil {
		return x.TenantVpcRegion
	}
	return ""
}

func (x *CreateGcpVpcPeeringReq) GetTenantNetworkName() string {
	if x != nil {
		return x.TenantNetworkName
	}
	return ""
}

func (x *CreateGcpVpcPeeringReq) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *CreateGcpVpcPeeringReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CreateGcpVpcPeeringReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *CreateGcpVpcPeeringReq) GetTenantVpcCidr() string {
	if x != nil {
		return x.TenantVpcCidr
	}
	return ""
}

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

	ProjectId   string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	NetworkName string `protobuf:"bytes,2,opt,name=network_name,json=networkName,proto3" json:"network_name,omitempty"`
	Region      string `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
	Id          uint64 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*CreateGcpVpcPeeringResp) ProtoMessage() {}

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

func (x *CreateGcpVpcPeeringResp) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *CreateGcpVpcPeeringResp) GetNetworkName() string {
	if x != nil {
		return x.NetworkName
	}
	return ""
}

func (x *CreateGcpVpcPeeringResp) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *CreateGcpVpcPeeringResp) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	Region            string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	NetworkName       string `protobuf:"bytes,2,opt,name=network_name,json=networkName,proto3" json:"network_name,omitempty"`
	ProjectId         string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	TenantProjectId   string `protobuf:"bytes,4,opt,name=tenant_project_id,json=tenantProjectId,proto3" json:"tenant_project_id,omitempty"`
	TenantNetworkName string `protobuf:"bytes,5,opt,name=tenant_network_name,json=tenantNetworkName,proto3" json:"tenant_network_name,omitempty"`
	Status            string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	VpcCidr           string `protobuf:"bytes,7,opt,name=vpc_cidr,json=vpcCidr,proto3" json:"vpc_cidr,omitempty"`
	Id                uint64 `protobuf:"varint,8,opt,name=id,proto3" json:"id,omitempty"`
	TenantVpcCidr     string `protobuf:"bytes,9,opt,name=tenant_vpc_cidr,json=tenantVpcCidr,proto3" json:"tenant_vpc_cidr,omitempty"`
}

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

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

func (*GcpVpcPeering) ProtoMessage() {}

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

func (x *GcpVpcPeering) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *GcpVpcPeering) GetNetworkName() string {
	if x != nil {
		return x.NetworkName
	}
	return ""
}

func (x *GcpVpcPeering) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *GcpVpcPeering) GetTenantProjectId() string {
	if x != nil {
		return x.TenantProjectId
	}
	return ""
}

func (x *GcpVpcPeering) GetTenantNetworkName() string {
	if x != nil {
		return x.TenantNetworkName
	}
	return ""
}

func (x *GcpVpcPeering) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GcpVpcPeering) GetVpcCidr() string {
	if x != nil {
		return x.VpcCidr
	}
	return ""
}

func (x *GcpVpcPeering) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GcpVpcPeering) GetTenantVpcCidr() string {
	if x != nil {
		return x.TenantVpcCidr
	}
	return ""
}

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

	Region          string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	PrivateHostZone string `protobuf:"bytes,2,opt,name=private_host_zone,json=privateHostZone,proto3" json:"private_host_zone,omitempty"`
	VpcPeeringId    string `protobuf:"bytes,3,opt,name=vpc_peering_id,json=vpcPeeringId,proto3" json:"vpc_peering_id,omitempty"`
	VpcCidr         string `protobuf:"bytes,4,opt,name=vpc_cidr,json=vpcCidr,proto3" json:"vpc_cidr,omitempty"`
	TenantVpcCidr   string `protobuf:"bytes,5,opt,name=tenant_vpc_cidr,json=tenantVpcCidr,proto3" json:"tenant_vpc_cidr,omitempty"`
	TenantVpcId     string `protobuf:"bytes,6,opt,name=tenant_vpc_id,json=tenantVpcId,proto3" json:"tenant_vpc_id,omitempty"`
	Status          string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"`
	Id              uint64 `protobuf:"varint,8,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*AwsVpcPeering) ProtoMessage() {}

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

func (x *AwsVpcPeering) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *AwsVpcPeering) GetPrivateHostZone() string {
	if x != nil {
		return x.PrivateHostZone
	}
	return ""
}

func (x *AwsVpcPeering) GetVpcPeeringId() string {
	if x != nil {
		return x.VpcPeeringId
	}
	return ""
}

func (x *AwsVpcPeering) GetVpcCidr() string {
	if x != nil {
		return x.VpcCidr
	}
	return ""
}

func (x *AwsVpcPeering) GetTenantVpcCidr() string {
	if x != nil {
		return x.TenantVpcCidr
	}
	return ""
}

func (x *AwsVpcPeering) GetTenantVpcId() string {
	if x != nil {
		return x.TenantVpcId
	}
	return ""
}

func (x *AwsVpcPeering) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *AwsVpcPeering) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	Total int32            `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*GcpVpcPeering `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

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

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

func (*GcpVpcPeerings) ProtoMessage() {}

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

func (x *GcpVpcPeerings) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *GcpVpcPeerings) GetItems() []*GcpVpcPeering {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Total int32            `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*AwsVpcPeering `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

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

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

func (*AwsVpcPeerings) ProtoMessage() {}

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

func (x *AwsVpcPeerings) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *AwsVpcPeerings) GetItems() []*AwsVpcPeering {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	DiskGi uint32 `protobuf:"varint,1,opt,name=disk_gi,json=diskGi,proto3" json:"disk_gi,omitempty"`
}

func (x *Disk) Reset() {
	*x = Disk{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Disk) ProtoMessage() {}

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

func (x *Disk) GetDiskGi() uint32 {
	if x != nil {
		return x.DiskGi
	}
	return 0
}

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

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

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

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

func (*Region) ProtoMessage() {}

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

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

func (x *Region) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

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

	ClusterId  uint64 `protobuf:"varint,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Password   string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	VerifyCode string `protobuf:"bytes,3,opt,name=verify_code,json=verifyCode,proto3" json:"verify_code,omitempty"`
	OrgId      uint64 `protobuf:"varint,4,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId  uint64 `protobuf:"varint,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *ChangePasswordReq) Reset() {
	*x = ChangePasswordReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ChangePasswordReq) ProtoMessage() {}

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

func (x *ChangePasswordReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ChangePasswordReq) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *ChangePasswordReq) GetVerifyCode() string {
	if x != nil {
		return x.VerifyCode
	}
	return ""
}

func (x *ChangePasswordReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ChangePasswordReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	ClusterId uint64 `protobuf:"varint,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	OrgId     uint64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *SendPasswordVerifyCodeReq) Reset() {
	*x = SendPasswordVerifyCodeReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SendPasswordVerifyCodeReq) ProtoMessage() {}

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

func (x *SendPasswordVerifyCodeReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *SendPasswordVerifyCodeReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *SendPasswordVerifyCodeReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	ClusterId   uint64 `protobuf:"varint,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	OrgId       uint64 `protobuf:"varint,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId   uint64 `protobuf:"varint,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *ChangeClusterNameReq) Reset() {
	*x = ChangeClusterNameReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ChangeClusterNameReq) ProtoMessage() {}

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

func (x *ChangeClusterNameReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ChangeClusterNameReq) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

func (x *ChangeClusterNameReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ChangeClusterNameReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	ClusterId uint64 `protobuf:"varint,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	OrgId     uint64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *MakeClusterWritableReq) Reset() {
	*x = MakeClusterWritableReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*MakeClusterWritableReq) ProtoMessage() {}

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

func (x *MakeClusterWritableReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *MakeClusterWritableReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *MakeClusterWritableReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	Page      uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
	PerPage   uint32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	Provider  string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	OrgId     uint64 `protobuf:"varint,4,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *ClusterListReq) Reset() {
	*x = ClusterListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ClusterListReq) ProtoMessage() {}

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

func (x *ClusterListReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ClusterListReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

func (x *ClusterListReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *ClusterListReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ClusterListReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	Id        uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	OrgId     uint64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *ClusterGetReq) Reset() {
	*x = ClusterGetReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ClusterGetReq) ProtoMessage() {}

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

func (x *ClusterGetReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ClusterGetReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ClusterGetReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId uint64 `protobuf:"varint,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
}

func (x *ClusterIdReq) Reset() {
	*x = ClusterIdReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ClusterIdReq) ProtoMessage() {}

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

func (x *ClusterIdReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ClusterIdReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ClusterIdReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

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

	TenantId uint64 `protobuf:"varint,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
}

func (x *TenantIdReq) Reset() {
	*x = TenantIdReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantIdReq) ProtoMessage() {}

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

func (x *TenantIdReq) GetTenantId() uint64 {
	if x != nil {
		return x.TenantId
	}
	return 0
}

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

	Codes []InfraErrorCode `protobuf:"varint,1,rep,packed,name=codes,proto3,enum=central.InfraErrorCode" json:"codes,omitempty"`
}

func (x *LastError) Reset() {
	*x = LastError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*LastError) ProtoMessage() {}

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

func (x *LastError) GetCodes() []InfraErrorCode {
	if x != nil {
		return x.Codes
	}
	return nil
}

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

	PrimaryClusterName   string                 `protobuf:"bytes,1,opt,name=primary_cluster_name,json=primaryClusterName,proto3" json:"primary_cluster_name,omitempty"`
	SecondaryClusterName string                 `protobuf:"bytes,2,opt,name=secondary_cluster_name,json=secondaryClusterName,proto3" json:"secondary_cluster_name,omitempty"`
	Status               string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	CreationTime         *types.Timestamp       `protobuf:"bytes,4,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
	DetachedTime         *types.Timestamp       `protobuf:"bytes,5,opt,name=detached_time,json=detachedTime,proto3" json:"detached_time,omitempty"`
	DetachedTso          string                 `protobuf:"bytes,6,opt,name=detached_tso,json=detachedTso,proto3" json:"detached_tso,omitempty"`
	ReplicationLag       string                 `protobuf:"bytes,7,opt,name=replication_lag,json=replicationLag,proto3" json:"replication_lag,omitempty"`
	PrimaryClusterId     uint64                 `protobuf:"varint,8,opt,name=primary_cluster_id,json=primaryClusterId,proto3" json:"primary_cluster_id,omitempty"`
	SecondaryClusterId   uint64                 `protobuf:"varint,9,opt,name=secondary_cluster_id,json=secondaryClusterId,proto3" json:"secondary_cluster_id,omitempty"`
	ReplicationId        uint64                 `protobuf:"varint,10,opt,name=replication_id,json=replicationId,proto3" json:"replication_id,omitempty"`
	DetachUser           string                 `protobuf:"bytes,11,opt,name=detach_user,json=detachUser,proto3" json:"detach_user,omitempty"`
	Creator              string                 `protobuf:"bytes,12,opt,name=creator,proto3" json:"creator,omitempty"`
	PrimaryWriteStatus   WriteStatus            `protobuf:"varint,13,opt,name=primary_write_status,json=primaryWriteStatus,proto3,enum=central.WriteStatus" json:"primary_write_status,omitempty"`
	SecondaryWriteStatus WriteStatus            `protobuf:"varint,14,opt,name=secondary_write_status,json=secondaryWriteStatus,proto3,enum=central.WriteStatus" json:"secondary_write_status,omitempty"`
	CreateProgress       Cluster_CreateProgress `protobuf:"varint,15,opt,name=create_progress,json=createProgress,proto3,enum=central.Cluster_CreateProgress" json:"create_progress,omitempty"`
}

func (x *Replication) Reset() {
	*x = Replication{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Replication) ProtoMessage() {}

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

func (x *Replication) GetPrimaryClusterName() string {
	if x != nil {
		return x.PrimaryClusterName
	}
	return ""
}

func (x *Replication) GetSecondaryClusterName() string {
	if x != nil {
		return x.SecondaryClusterName
	}
	return ""
}

func (x *Replication) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *Replication) GetCreationTime() *types.Timestamp {
	if x != nil {
		return x.CreationTime
	}
	return nil
}

func (x *Replication) GetDetachedTime() *types.Timestamp {
	if x != nil {
		return x.DetachedTime
	}
	return nil
}

func (x *Replication) GetDetachedTso() string {
	if x != nil {
		return x.DetachedTso
	}
	return ""
}

func (x *Replication) GetReplicationLag() string {
	if x != nil {
		return x.ReplicationLag
	}
	return ""
}

func (x *Replication) GetPrimaryClusterId() uint64 {
	if x != nil {
		return x.PrimaryClusterId
	}
	return 0
}

func (x *Replication) GetSecondaryClusterId() uint64 {
	if x != nil {
		return x.SecondaryClusterId
	}
	return 0
}

func (x *Replication) GetReplicationId() uint64 {
	if x != nil {
		return x.ReplicationId
	}
	return 0
}

func (x *Replication) GetDetachUser() string {
	if x != nil {
		return x.DetachUser
	}
	return ""
}

func (x *Replication) GetCreator() string {
	if x != nil {
		return x.Creator
	}
	return ""
}

func (x *Replication) GetPrimaryWriteStatus() WriteStatus {
	if x != nil {
		return x.PrimaryWriteStatus
	}
	return WriteStatus_WRITABLE
}

func (x *Replication) GetSecondaryWriteStatus() WriteStatus {
	if x != nil {
		return x.SecondaryWriteStatus
	}
	return WriteStatus_WRITABLE
}

func (x *Replication) GetCreateProgress() Cluster_CreateProgress {
	if x != nil {
		return x.CreateProgress
	}
	return Cluster_INITIALIZING
}

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

	Id                int64                   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name              string                  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Status            Cluster_Status          `protobuf:"varint,3,opt,name=status,proto3,enum=central.Cluster_Status" json:"status,omitempty"`
	SecondaryStatus   Cluster_SecondaryStatus `protobuf:"varint,4,opt,name=secondary_status,json=secondaryStatus,proto3,enum=central.Cluster_SecondaryStatus" json:"secondary_status,omitempty"`
	Version           string                  `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
	Provider          string                  `protobuf:"bytes,6,opt,name=provider,proto3" json:"provider,omitempty"`
	Region            string                  `protobuf:"bytes,7,opt,name=region,proto3" json:"region,omitempty"`
	CreatedAt         *types.Timestamp        `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	CreatedBy         *User                   `protobuf:"bytes,9,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	Endpoint          *Endpoint               `protobuf:"bytes,10,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	VpcCidrBlock      string                  `protobuf:"bytes,11,opt,name=vpc_cidr_block,json=vpcCidrBlock,proto3" json:"vpc_cidr_block,omitempty"`
	Capacity          uint32                  `protobuf:"varint,12,opt,name=capacity,proto3" json:"capacity,omitempty"`
	ClusterComponents *ClusterComponents      `protobuf:"bytes,13,opt,name=cluster_components,json=clusterComponents,proto3" json:"cluster_components,omitempty"`
	CreateProgress    Cluster_CreateProgress  `protobuf:"varint,14,opt,name=create_progress,json=createProgress,proto3,enum=central.Cluster_CreateProgress" json:"create_progress,omitempty"`
	PrometheusReady   bool                    `protobuf:"varint,15,opt,name=prometheus_ready,json=prometheusReady,proto3" json:"prometheus_ready,omitempty"`
	PrivateEndpoint   *Endpoint               `protobuf:"bytes,16,opt,name=privateEndpoint,proto3" json:"privateEndpoint,omitempty"`
	Restored          bool                    `protobuf:"varint,17,opt,name=restored,proto3" json:"restored,omitempty"`
	// only set when status is IMPORTING
	RoleArn      string              `protobuf:"bytes,19,opt,name=role_arn,json=roleArn,proto3" json:"role_arn,omitempty"`
	ImportId     uint64              `protobuf:"varint,20,opt,name=import_id,json=importId,proto3" json:"import_id,omitempty"`
	LastErrors   []*LastError        `protobuf:"bytes,21,rep,name=lastErrors,proto3" json:"lastErrors,omitempty"`
	Replications []*Replication      `protobuf:"bytes,22,rep,name=replications,proto3" json:"replications,omitempty"`
	ClusterType  Cluster_ClusterType `protobuf:"varint,23,opt,name=cluster_type,json=clusterType,proto3,enum=central.Cluster_ClusterType" json:"cluster_type,omitempty"`
	WriteStatus  WriteStatus         `protobuf:"varint,24,opt,name=write_status,json=writeStatus,proto3,enum=central.WriteStatus" json:"write_status,omitempty"`
	IsDevTier    bool                `protobuf:"varint,25,opt,name=is_dev_tier,json=isDevTier,proto3" json:"is_dev_tier,omitempty"`
}

func (x *Cluster) Reset() {
	*x = Cluster{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Cluster) ProtoMessage() {}

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

func (x *Cluster) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *Cluster) GetStatus() Cluster_Status {
	if x != nil {
		return x.Status
	}
	return Cluster_NORMAL
}

func (x *Cluster) GetSecondaryStatus() Cluster_SecondaryStatus {
	if x != nil {
		return x.SecondaryStatus
	}
	return Cluster_HEALTHY
}

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

func (x *Cluster) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *Cluster) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *Cluster) GetCreatedAt() *types.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Cluster) GetCreatedBy() *User {
	if x != nil {
		return x.CreatedBy
	}
	return nil
}

func (x *Cluster) GetEndpoint() *Endpoint {
	if x != nil {
		return x.Endpoint
	}
	return nil
}

func (x *Cluster) GetVpcCidrBlock() string {
	if x != nil {
		return x.VpcCidrBlock
	}
	return ""
}

func (x *Cluster) GetCapacity() uint32 {
	if x != nil {
		return x.Capacity
	}
	return 0
}

func (x *Cluster) GetClusterComponents() *ClusterComponents {
	if x != nil {
		return x.ClusterComponents
	}
	return nil
}

func (x *Cluster) GetCreateProgress() Cluster_CreateProgress {
	if x != nil {
		return x.CreateProgress
	}
	return Cluster_INITIALIZING
}

func (x *Cluster) GetPrometheusReady() bool {
	if x != nil {
		return x.PrometheusReady
	}
	return false
}

func (x *Cluster) GetPrivateEndpoint() *Endpoint {
	if x != nil {
		return x.PrivateEndpoint
	}
	return nil
}

func (x *Cluster) GetRestored() bool {
	if x != nil {
		return x.Restored
	}
	return false
}

func (x *Cluster) GetRoleArn() string {
	if x != nil {
		return x.RoleArn
	}
	return ""
}

func (x *Cluster) GetImportId() uint64 {
	if x != nil {
		return x.ImportId
	}
	return 0
}

func (x *Cluster) GetLastErrors() []*LastError {
	if x != nil {
		return x.LastErrors
	}
	return nil
}

func (x *Cluster) GetReplications() []*Replication {
	if x != nil {
		return x.Replications
	}
	return nil
}

func (x *Cluster) GetClusterType() Cluster_ClusterType {
	if x != nil {
		return x.ClusterType
	}
	return Cluster_COMMON
}

func (x *Cluster) GetWriteStatus() WriteStatus {
	if x != nil {
		return x.WriteStatus
	}
	return WriteStatus_WRITABLE
}

func (x *Cluster) GetIsDevTier() bool {
	if x != nil {
		return x.IsDevTier
	}
	return false
}

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

	Total    int32      `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items    []*Cluster `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
	BaseResp *BaseResp  `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

func (x *Clusters) Reset() {
	*x = Clusters{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Clusters) ProtoMessage() {}

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

func (x *Clusters) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *Clusters) GetItems() []*Cluster {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *Clusters) GetBaseResp() *BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	Cluster  *Cluster  `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	BaseResp *BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

func (x *GetClusterResp) Reset() {
	*x = GetClusterResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetClusterResp) ProtoMessage() {}

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

func (x *GetClusterResp) GetCluster() *Cluster {
	if x != nil {
		return x.Cluster
	}
	return nil
}

func (x *GetClusterResp) GetBaseResp() *BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	Id               uint64           `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name             string           `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Provider         string           `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	Region           string           `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
	DeleteTime       *types.Timestamp `protobuf:"bytes,5,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
	LatestBackupSize uint64           `protobuf:"varint,6,opt,name=latest_backup_size,json=latestBackupSize,proto3" json:"latest_backup_size,omitempty"`
}

func (x *DeletedCluster) Reset() {
	*x = DeletedCluster{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeletedCluster) ProtoMessage() {}

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

func (x *DeletedCluster) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *DeletedCluster) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *DeletedCluster) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *DeletedCluster) GetDeleteTime() *types.Timestamp {
	if x != nil {
		return x.DeleteTime
	}
	return nil
}

func (x *DeletedCluster) GetLatestBackupSize() uint64 {
	if x != nil {
		return x.LatestBackupSize
	}
	return 0
}

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

	Total int32             `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*DeletedCluster `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *DeletedClusters) Reset() {
	*x = DeletedClusters{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeletedClusters) ProtoMessage() {}

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

func (x *DeletedClusters) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *DeletedClusters) GetItems() []*DeletedCluster {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Tikv    *Component `protobuf:"bytes,1,opt,name=tikv,proto3" json:"tikv,omitempty"`
	Tidb    *Component `protobuf:"bytes,2,opt,name=tidb,proto3" json:"tidb,omitempty"`
	Tiflash *Component `protobuf:"bytes,3,opt,name=tiflash,proto3" json:"tiflash,omitempty"`
}

func (x *ClusterComponents) Reset() {
	*x = ClusterComponents{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ClusterComponents) ProtoMessage() {}

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

func (x *ClusterComponents) GetTikv() *Component {
	if x != nil {
		return x.Tikv
	}
	return nil
}

func (x *ClusterComponents) GetTidb() *Component {
	if x != nil {
		return x.Tidb
	}
	return nil
}

func (x *ClusterComponents) GetTiflash() *Component {
	if x != nil {
		return x.Tiflash
	}
	return nil
}

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

	Replicas    uint32       `protobuf:"varint,1,opt,name=replicas,proto3" json:"replicas,omitempty"`
	NodeProfile *NodeProfile `protobuf:"bytes,2,opt,name=node_profile,json=nodeProfile,proto3" json:"node_profile,omitempty"`
}

func (x *Component) Reset() {
	*x = Component{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Component) ProtoMessage() {}

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

func (x *Component) GetReplicas() uint32 {
	if x != nil {
		return x.Replicas
	}
	return 0
}

func (x *Component) GetNodeProfile() *NodeProfile {
	if x != nil {
		return x.NodeProfile
	}
	return nil
}

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

	Compute       *Compute `protobuf:"bytes,1,opt,name=compute,proto3" json:"compute,omitempty"`
	StorageGi     uint32   `protobuf:"varint,2,opt,name=storage_gi,json=storageGi,proto3" json:"storage_gi,omitempty"`
	NodeProfileId uint64   `protobuf:"varint,3,opt,name=node_profile_id,json=nodeProfileId,proto3" json:"node_profile_id,omitempty"`
	Name          string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *NodeProfile) Reset() {
	*x = NodeProfile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*NodeProfile) ProtoMessage() {}

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

func (x *NodeProfile) GetCompute() *Compute {
	if x != nil {
		return x.Compute
	}
	return nil
}

func (x *NodeProfile) GetStorageGi() uint32 {
	if x != nil {
		return x.StorageGi
	}
	return 0
}

func (x *NodeProfile) GetNodeProfileId() uint64 {
	if x != nil {
		return x.NodeProfileId
	}
	return 0
}

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

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

	Ready   bool   `protobuf:"varint,1,opt,name=ready,proto3" json:"ready,omitempty"`
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	Port    int32  `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
}

func (x *Endpoint) Reset() {
	*x = Endpoint{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Endpoint) ProtoMessage() {}

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

func (x *Endpoint) GetReady() bool {
	if x != nil {
		return x.Ready
	}
	return false
}

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

func (x *Endpoint) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

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

	Cpu      float32 `protobuf:"fixed32,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
	MemoryMi uint32  `protobuf:"varint,2,opt,name=memory_mi,json=memoryMi,proto3" json:"memory_mi,omitempty"`
}

func (x *Compute) Reset() {
	*x = Compute{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Compute) ProtoMessage() {}

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

func (x *Compute) GetCpu() float32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *Compute) GetMemoryMi() uint32 {
	if x != nil {
		return x.MemoryMi
	}
	return 0
}

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

	Name      string          `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Status    TiKVNode_Status `protobuf:"varint,2,opt,name=status,proto3,enum=central.TiKVNode_Status" json:"status,omitempty"`
	Az        string          `protobuf:"bytes,3,opt,name=az,proto3" json:"az,omitempty"`
	Compute   *Compute        `protobuf:"bytes,4,opt,name=compute,proto3" json:"compute,omitempty"`
	StorageGi uint32          `protobuf:"varint,5,opt,name=storage_gi,json=storageGi,proto3" json:"storage_gi,omitempty"`
	Type      TiKVNode_Type   `protobuf:"varint,6,opt,name=type,proto3,enum=central.TiKVNode_Type" json:"type,omitempty"`
}

func (x *TiKVNode) Reset() {
	*x = TiKVNode{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiKVNode) ProtoMessage() {}

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

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

func (x *TiKVNode) GetStatus() TiKVNode_Status {
	if x != nil {
		return x.Status
	}
	return TiKVNode_NORMAL
}

func (x *TiKVNode) GetAz() string {
	if x != nil {
		return x.Az
	}
	return ""
}

func (x *TiKVNode) GetCompute() *Compute {
	if x != nil {
		return x.Compute
	}
	return nil
}

func (x *TiKVNode) GetStorageGi() uint32 {
	if x != nil {
		return x.StorageGi
	}
	return 0
}

func (x *TiKVNode) GetType() TiKVNode_Type {
	if x != nil {
		return x.Type
	}
	return TiKVNode_STORAGE
}

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

	Name      string             `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Status    TiFlashNode_Status `protobuf:"varint,2,opt,name=status,proto3,enum=central.TiFlashNode_Status" json:"status,omitempty"`
	Az        string             `protobuf:"bytes,3,opt,name=az,proto3" json:"az,omitempty"`
	Compute   *Compute           `protobuf:"bytes,4,opt,name=compute,proto3" json:"compute,omitempty"`
	StorageGi uint32             `protobuf:"varint,5,opt,name=storage_gi,json=storageGi,proto3" json:"storage_gi,omitempty"`
	Type      TiFlashNode_Type   `protobuf:"varint,6,opt,name=type,proto3,enum=central.TiFlashNode_Type" json:"type,omitempty"`
}

func (x *TiFlashNode) Reset() {
	*x = TiFlashNode{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiFlashNode) ProtoMessage() {}

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

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

func (x *TiFlashNode) GetStatus() TiFlashNode_Status {
	if x != nil {
		return x.Status
	}
	return TiFlashNode_NORMAL
}

func (x *TiFlashNode) GetAz() string {
	if x != nil {
		return x.Az
	}
	return ""
}

func (x *TiFlashNode) GetCompute() *Compute {
	if x != nil {
		return x.Compute
	}
	return nil
}

func (x *TiFlashNode) GetStorageGi() uint32 {
	if x != nil {
		return x.StorageGi
	}
	return 0
}

func (x *TiFlashNode) GetType() TiFlashNode_Type {
	if x != nil {
		return x.Type
	}
	return TiFlashNode_STORAGE
}

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

	Name    string          `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Status  TiDBNode_Status `protobuf:"varint,2,opt,name=status,proto3,enum=central.TiDBNode_Status" json:"status,omitempty"`
	Az      string          `protobuf:"bytes,3,opt,name=az,proto3" json:"az,omitempty"`
	Compute *Compute        `protobuf:"bytes,4,opt,name=compute,proto3" json:"compute,omitempty"`
	Type    TiDBNode_Type   `protobuf:"varint,5,opt,name=type,proto3,enum=central.TiDBNode_Type" json:"type,omitempty"`
}

func (x *TiDBNode) Reset() {
	*x = TiDBNode{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiDBNode) ProtoMessage() {}

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

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

func (x *TiDBNode) GetStatus() TiDBNode_Status {
	if x != nil {
		return x.Status
	}
	return TiDBNode_NORMAL
}

func (x *TiDBNode) GetAz() string {
	if x != nil {
		return x.Az
	}
	return ""
}

func (x *TiDBNode) GetCompute() *Compute {
	if x != nil {
		return x.Compute
	}
	return nil
}

func (x *TiDBNode) GetType() TiDBNode_Type {
	if x != nil {
		return x.Type
	}
	return TiDBNode_COMPUTING
}

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

	Page      uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
	PerPage   uint32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	ClusterId uint64 `protobuf:"varint,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	OrgId     uint64 `protobuf:"varint,4,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *TiDBNodesReq) Reset() {
	*x = TiDBNodesReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiDBNodesReq) ProtoMessage() {}

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

func (x *TiDBNodesReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *TiDBNodesReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

func (x *TiDBNodesReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *TiDBNodesReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *TiDBNodesReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	Total int32       `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*TiDBNode `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *TiDBNodes) Reset() {
	*x = TiDBNodes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiDBNodes) ProtoMessage() {}

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

func (x *TiDBNodes) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *TiDBNodes) GetItems() []*TiDBNode {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Page      uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
	PerPage   uint32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	ClusterId uint64 `protobuf:"varint,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	OrgId     uint64 `protobuf:"varint,4,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *TiKVNodesReq) Reset() {
	*x = TiKVNodesReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiKVNodesReq) ProtoMessage() {}

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

func (x *TiKVNodesReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *TiKVNodesReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

func (x *TiKVNodesReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *TiKVNodesReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *TiKVNodesReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	Page      uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
	PerPage   uint32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	ClusterId uint64 `protobuf:"varint,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	OrgId     uint64 `protobuf:"varint,4,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *TiFlashNodesReq) Reset() {
	*x = TiFlashNodesReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiFlashNodesReq) ProtoMessage() {}

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

func (x *TiFlashNodesReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *TiFlashNodesReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

func (x *TiFlashNodesReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *TiFlashNodesReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *TiFlashNodesReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	Total int32       `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*TiKVNode `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *TiKVNodes) Reset() {
	*x = TiKVNodes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiKVNodes) ProtoMessage() {}

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

func (x *TiKVNodes) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *TiKVNodes) GetItems() []*TiKVNode {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Total int32          `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*TiFlashNode `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *TiFlashNodes) Reset() {
	*x = TiFlashNodes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TiFlashNodes) ProtoMessage() {}

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

func (x *TiFlashNodes) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *TiFlashNodes) GetItems() []*TiFlashNode {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Email    string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
	Runtime  string `protobuf:"bytes,2,opt,name=runtime,proto3" json:"runtime,omitempty"`
	TenantId uint64 `protobuf:"varint,3,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
	UseMfa   bool   `protobuf:"varint,4,opt,name=use_mfa,json=useMfa,proto3" json:"use_mfa,omitempty"`
}

func (x *MetaData) Reset() {
	*x = MetaData{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*MetaData) ProtoMessage() {}

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

func (x *MetaData) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *MetaData) GetRuntime() string {
	if x != nil {
		return x.Runtime
	}
	return ""
}

func (x *MetaData) GetTenantId() uint64 {
	if x != nil {
		return x.TenantId
	}
	return 0
}

func (x *MetaData) GetUseMfa() bool {
	if x != nil {
		return x.UseMfa
	}
	return false
}

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

	UseMfa bool `protobuf:"varint,1,opt,name=use_mfa,json=useMfa,proto3" json:"use_mfa,omitempty"`
}

func (x *UpdateMetaReq) Reset() {
	*x = UpdateMetaReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateMetaReq) ProtoMessage() {}

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

func (x *UpdateMetaReq) GetUseMfa() bool {
	if x != nil {
		return x.UseMfa
	}
	return false
}

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

	OrgId      uint64                          `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ClusterId  uint64                          `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	RepId      uint64                          `protobuf:"varint,3,opt,name=rep_id,json=repId,proto3" json:"rep_id,omitempty"`
	DetachType DetachReplicationReq_DetachType `protobuf:"varint,4,opt,name=detach_type,json=detachType,proto3,enum=central.DetachReplicationReq_DetachType" json:"detach_type,omitempty"`
}

func (x *DetachReplicationReq) Reset() {
	*x = DetachReplicationReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DetachReplicationReq) ProtoMessage() {}

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

func (x *DetachReplicationReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *DetachReplicationReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *DetachReplicationReq) GetRepId() uint64 {
	if x != nil {
		return x.RepId
	}
	return 0
}

func (x *DetachReplicationReq) GetDetachType() DetachReplicationReq_DetachType {
	if x != nil {
		return x.DetachType
	}
	return DetachReplicationReq_Planned
}

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

	ClusterId     uint64 `protobuf:"varint,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	ReplicationId uint64 `protobuf:"varint,2,opt,name=replication_id,json=replicationId,proto3" json:"replication_id,omitempty"`
}

func (x *DetachReplicationResp) Reset() {
	*x = DetachReplicationResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DetachReplicationResp) ProtoMessage() {}

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

func (x *DetachReplicationResp) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *DetachReplicationResp) GetReplicationId() uint64 {
	if x != nil {
		return x.ReplicationId
	}
	return 0
}

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

	Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Uint32Null) Reset() {
	*x = Uint32Null{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Uint32Null) ProtoMessage() {}

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

func (x *Uint32Null) GetValue() uint32 {
	if x != nil {
		return x.Value
	}
	return 0
}

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

	Id                        uint64           `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name                      string           `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	CreatedAt                 *types.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	Email                     string           `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
	Country                   string           `protobuf:"bytes,5,opt,name=country,proto3" json:"country,omitempty"`
	Timezone                  int32            `protobuf:"varint,6,opt,name=timezone,proto3" json:"timezone,omitempty"`
	Status                    string           `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"`
	Plan                      string           `protobuf:"bytes,8,opt,name=plan,proto3" json:"plan,omitempty"`
	TotalCredit               int64            `protobuf:"varint,9,opt,name=total_credit,json=totalCredit,proto3" json:"total_credit,omitempty"`
	RemainingCredit           int64            `protobuf:"varint,10,opt,name=remaining_credit,json=remainingCredit,proto3" json:"remaining_credit,omitempty"`
	ActiveClustersCount       uint32           `protobuf:"varint,11,opt,name=active_clusters_count,json=activeClustersCount,proto3" json:"active_clusters_count,omitempty"`
	HasDiscount               bool             `protobuf:"varint,12,opt,name=has_discount,json=hasDiscount,proto3" json:"has_discount,omitempty"`
	DiscountDescription       string           `protobuf:"bytes,13,opt,name=discount_description,json=discountDescription,proto3" json:"discount_description,omitempty"`
	Discount                  int64            `protobuf:"varint,14,opt,name=discount,proto3" json:"discount,omitempty"`
	AcknowledgeCnPolicy       bool             `protobuf:"varint,15,opt,name=acknowledge_cn_policy,json=acknowledgeCnPolicy,proto3" json:"acknowledge_cn_policy,omitempty"`
	FreeClustersCount         uint32           `protobuf:"varint,16,opt,name=free_clusters_count,json=freeClustersCount,proto3" json:"free_clusters_count,omitempty"`
	HasTriedDevTier           bool             `protobuf:"varint,17,opt,name=has_tried_dev_tier,json=hasTriedDevTier,proto3" json:"has_tried_dev_tier,omitempty"`
	ThirdPartyAccountProvider string           `protobuf:"bytes,18,opt,name=third_party_account_provider,json=thirdPartyAccountProvider,proto3" json:"third_party_account_provider,omitempty"`
	ThirdPartyAccountCode     string           `protobuf:"bytes,19,opt,name=third_party_account_code,json=thirdPartyAccountCode,proto3" json:"third_party_account_code,omitempty"`
	WhitelistFlag             uint32           `protobuf:"varint,20,opt,name=whitelist_flag,json=whitelistFlag,proto3" json:"whitelist_flag,omitempty"`
}

func (x *Organization) Reset() {
	*x = Organization{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Organization) ProtoMessage() {}

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

func (x *Organization) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *Organization) GetCreatedAt() *types.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Organization) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *Organization) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

func (x *Organization) GetTimezone() int32 {
	if x != nil {
		return x.Timezone
	}
	return 0
}

func (x *Organization) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *Organization) GetPlan() string {
	if x != nil {
		return x.Plan
	}
	return ""
}

func (x *Organization) GetTotalCredit() int64 {
	if x != nil {
		return x.TotalCredit
	}
	return 0
}

func (x *Organization) GetRemainingCredit() int64 {
	if x != nil {
		return x.RemainingCredit
	}
	return 0
}

func (x *Organization) GetActiveClustersCount() uint32 {
	if x != nil {
		return x.ActiveClustersCount
	}
	return 0
}

func (x *Organization) GetHasDiscount() bool {
	if x != nil {
		return x.HasDiscount
	}
	return false
}

func (x *Organization) GetDiscountDescription() string {
	if x != nil {
		return x.DiscountDescription
	}
	return ""
}

func (x *Organization) GetDiscount() int64 {
	if x != nil {
		return x.Discount
	}
	return 0
}

func (x *Organization) GetAcknowledgeCnPolicy() bool {
	if x != nil {
		return x.AcknowledgeCnPolicy
	}
	return false
}

func (x *Organization) GetFreeClustersCount() uint32 {
	if x != nil {
		return x.FreeClustersCount
	}
	return 0
}

func (x *Organization) GetHasTriedDevTier() bool {
	if x != nil {
		return x.HasTriedDevTier
	}
	return false
}

func (x *Organization) GetThirdPartyAccountProvider() string {
	if x != nil {
		return x.ThirdPartyAccountProvider
	}
	return ""
}

func (x *Organization) GetThirdPartyAccountCode() string {
	if x != nil {
		return x.ThirdPartyAccountCode
	}
	return ""
}

func (x *Organization) GetWhitelistFlag() uint32 {
	if x != nil {
		return x.WhitelistFlag
	}
	return 0
}

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

	OrgId uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
}

func (x *OrgIdReq) Reset() {
	*x = OrgIdReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*OrgIdReq) ProtoMessage() {}

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

func (x *OrgIdReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Region    string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
}

func (x *ProjectIdReq) Reset() {
	*x = ProjectIdReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ProjectIdReq) ProtoMessage() {}

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

func (x *ProjectIdReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ProjectIdReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ProjectIdReq) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

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

	Id                  uint64           `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name                string           `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	CreatedAt           *types.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	ActiveClustersCount uint32           `protobuf:"varint,4,opt,name=active_clusters_count,json=activeClustersCount,proto3" json:"active_clusters_count,omitempty"`
	UsersCount          uint32           `protobuf:"varint,5,opt,name=users_count,json=usersCount,proto3" json:"users_count,omitempty"`
}

func (x *Project) Reset() {
	*x = Project{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Project) ProtoMessage() {}

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

func (x *Project) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *Project) GetCreatedAt() *types.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Project) GetActiveClustersCount() uint32 {
	if x != nil {
		return x.ActiveClustersCount
	}
	return 0
}

func (x *Project) GetUsersCount() uint32 {
	if x != nil {
		return x.UsersCount
	}
	return 0
}

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

	Total int32      `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*Project `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *Projects) Reset() {
	*x = Projects{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Projects) ProtoMessage() {}

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

func (x *Projects) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *Projects) GetItems() []*Project {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id   uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *UserProject) Reset() {
	*x = UserProject{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserProject) ProtoMessage() {}

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

func (x *UserProject) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

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

	OrgId uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Name  string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *CreateProjectReq) Reset() {
	*x = CreateProjectReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateProjectReq) ProtoMessage() {}

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

func (x *CreateProjectReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

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

	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *ProjectId) Reset() {
	*x = ProjectId{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ProjectId) ProtoMessage() {}

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

func (x *ProjectId) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	OrgId   uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Page    uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PerPage uint32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListProjectsReq) Reset() {
	*x = ListProjectsReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListProjectsReq) ProtoMessage() {}

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

func (x *ListProjectsReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ListProjectsReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListProjectsReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Name      string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *UpdateProjectReq) Reset() {
	*x = UpdateProjectReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateProjectReq) ProtoMessage() {}

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

func (x *UpdateProjectReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *UpdateProjectReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

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

	OrgId  uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	UserId uint64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Role   string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"`
}

func (x *UpdateUserReq) Reset() {
	*x = UpdateUserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateUserReq) ProtoMessage() {}

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

func (x *UpdateUserReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *UpdateUserReq) GetUserId() uint64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UpdateUserReq) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

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

	Country                   string `protobuf:"bytes,1,opt,name=country,proto3" json:"country,omitempty"`
	FirstName                 string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"`
	LastName                  string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"`
	Email                     string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
	Job                       string `protobuf:"bytes,5,opt,name=job,proto3" json:"job,omitempty"`
	Company                   string `protobuf:"bytes,6,opt,name=company,proto3" json:"company,omitempty"`
	PhoneNumber               string `protobuf:"bytes,7,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
	Password                  string `protobuf:"bytes,8,opt,name=password,proto3" json:"password,omitempty"`
	AcceptService             bool   `protobuf:"varint,9,opt,name=accept_service,json=acceptService,proto3" json:"accept_service,omitempty"`
	RecaptchaResponse         string `protobuf:"bytes,10,opt,name=recaptcha_response,json=recaptchaResponse,proto3" json:"recaptcha_response,omitempty"`
	ThirdPartyAccountProvider string `protobuf:"bytes,11,opt,name=third_party_account_provider,json=thirdPartyAccountProvider,proto3" json:"third_party_account_provider,omitempty"`
	ThirdPartyAccountToken    string `protobuf:"bytes,12,opt,name=third_party_account_token,json=thirdPartyAccountToken,proto3" json:"third_party_account_token,omitempty"`
}

func (x *RegistrationReq) Reset() {
	*x = RegistrationReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RegistrationReq) ProtoMessage() {}

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

func (x *RegistrationReq) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

func (x *RegistrationReq) GetFirstName() string {
	if x != nil {
		return x.FirstName
	}
	return ""
}

func (x *RegistrationReq) GetLastName() string {
	if x != nil {
		return x.LastName
	}
	return ""
}

func (x *RegistrationReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *RegistrationReq) GetJob() string {
	if x != nil {
		return x.Job
	}
	return ""
}

func (x *RegistrationReq) GetCompany() string {
	if x != nil {
		return x.Company
	}
	return ""
}

func (x *RegistrationReq) GetPhoneNumber() string {
	if x != nil {
		return x.PhoneNumber
	}
	return ""
}

func (x *RegistrationReq) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *RegistrationReq) GetAcceptService() bool {
	if x != nil {
		return x.AcceptService
	}
	return false
}

func (x *RegistrationReq) GetRecaptchaResponse() string {
	if x != nil {
		return x.RecaptchaResponse
	}
	return ""
}

func (x *RegistrationReq) GetThirdPartyAccountProvider() string {
	if x != nil {
		return x.ThirdPartyAccountProvider
	}
	return ""
}

func (x *RegistrationReq) GetThirdPartyAccountToken() string {
	if x != nil {
		return x.ThirdPartyAccountToken
	}
	return ""
}

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

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

func (x *SendVerificationEmailReq) Reset() {
	*x = SendVerificationEmailReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SendVerificationEmailReq) ProtoMessage() {}

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

func (x *SendVerificationEmailReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	OrgId    uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Timezone int32  `protobuf:"varint,3,opt,name=timezone,proto3" json:"timezone,omitempty"`
}

func (x *UpdateOrgReq) Reset() {
	*x = UpdateOrgReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateOrgReq) ProtoMessage() {}

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

func (x *UpdateOrgReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

func (x *UpdateOrgReq) GetTimezone() int32 {
	if x != nil {
		return x.Timezone
	}
	return 0
}

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

	OrgId         uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	DefaultSource string `protobuf:"bytes,2,opt,name=default_source,json=defaultSource,proto3" json:"default_source,omitempty"`
}

func (x *UpdateOrgDefaultPaymentReq) Reset() {
	*x = UpdateOrgDefaultPaymentReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[79]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateOrgDefaultPaymentReq) ProtoMessage() {}

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

func (x *UpdateOrgDefaultPaymentReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *UpdateOrgDefaultPaymentReq) GetDefaultSource() string {
	if x != nil {
		return x.DefaultSource
	}
	return ""
}

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

	OrgId uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
}

func (x *AcknowledgeCNPolicyReq) Reset() {
	*x = AcknowledgeCNPolicyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[80]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*AcknowledgeCNPolicyReq) ProtoMessage() {}

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

func (x *AcknowledgeCNPolicyReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

	Id         uint64           `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Email      string           `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	Name       string           `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Status     string           `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	InviteTime *types.Timestamp `protobuf:"bytes,5,opt,name=invite_time,json=inviteTime,proto3" json:"invite_time,omitempty"`
	Role       string           `protobuf:"bytes,6,opt,name=role,proto3" json:"role,omitempty"`
}

func (x *User) Reset() {
	*x = User{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[81]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*User) ProtoMessage() {}

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

func (x *User) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *User) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

func (x *User) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *User) GetInviteTime() *types.Timestamp {
	if x != nil {
		return x.InviteTime
	}
	return nil
}

func (x *User) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

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

	Total int32   `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*User `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *Users) Reset() {
	*x = Users{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[82]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Users) ProtoMessage() {}

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

func (x *Users) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *Users) GetItems() []*User {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	OrgId   uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Page    uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PerPage uint32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	Email   string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
}

func (x *ListUsersReq) Reset() {
	*x = ListUsersReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[83]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListUsersReq) ProtoMessage() {}

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

func (x *ListUsersReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ListUsersReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListUsersReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

func (x *ListUsersReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Page      uint32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PerPage   uint32 `protobuf:"varint,4,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	Email     string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
}

func (x *ListProjectUsersReq) Reset() {
	*x = ListProjectUsersReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[84]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListProjectUsersReq) ProtoMessage() {}

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

func (x *ListProjectUsersReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ListProjectUsersReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ListProjectUsersReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListProjectUsersReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

func (x *ListProjectUsersReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Email     string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	Role      string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"`
}

func (x *InviteUserReq) Reset() {
	*x = InviteUserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[85]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*InviteUserReq) ProtoMessage() {}

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

func (x *InviteUserReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *InviteUserReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *InviteUserReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *InviteUserReq) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Email     string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	FirstName string `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"`
	LastName  string `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"`
}

func (x *AcceptInvitationReq) Reset() {
	*x = AcceptInvitationReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[86]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*AcceptInvitationReq) ProtoMessage() {}

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

func (x *AcceptInvitationReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *AcceptInvitationReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *AcceptInvitationReq) GetFirstName() string {
	if x != nil {
		return x.FirstName
	}
	return ""
}

func (x *AcceptInvitationReq) GetLastName() string {
	if x != nil {
		return x.LastName
	}
	return ""
}

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

	OrgId    uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Token    string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
	Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
}

func (x *CreateAuth0UserReq) Reset() {
	*x = CreateAuth0UserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[87]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateAuth0UserReq) ProtoMessage() {}

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

func (x *CreateAuth0UserReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CreateAuth0UserReq) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *CreateAuth0UserReq) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

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

	Id        uint64         `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Email     string         `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	FirstName string         `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"`
	LastName  string         `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"`
	Role      string         `protobuf:"bytes,5,opt,name=role,proto3" json:"role,omitempty"`
	Projects  []*UserProject `protobuf:"bytes,6,rep,name=projects,proto3" json:"projects,omitempty"`
}

func (x *UserProfile) Reset() {
	*x = UserProfile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[88]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserProfile) ProtoMessage() {}

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

func (x *UserProfile) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UserProfile) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *UserProfile) GetFirstName() string {
	if x != nil {
		return x.FirstName
	}
	return ""
}

func (x *UserProfile) GetLastName() string {
	if x != nil {
		return x.LastName
	}
	return ""
}

func (x *UserProfile) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

func (x *UserProfile) GetProjects() []*UserProject {
	if x != nil {
		return x.Projects
	}
	return nil
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"`
	LastName  string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"`
}

func (x *UpdateUserProfileReq) Reset() {
	*x = UpdateUserProfileReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[89]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateUserProfileReq) ProtoMessage() {}

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

func (x *UpdateUserProfileReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *UpdateUserProfileReq) GetFirstName() string {
	if x != nil {
		return x.FirstName
	}
	return ""
}

func (x *UpdateUserProfileReq) GetLastName() string {
	if x != nil {
		return x.LastName
	}
	return ""
}

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

	OrgId  uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	UserId uint64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
}

func (x *DeleteUserReq) Reset() {
	*x = DeleteUserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[90]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteUserReq) ProtoMessage() {}

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

func (x *DeleteUserReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *DeleteUserReq) GetUserId() uint64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	UserId    uint64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
}

func (x *DeleteProjectUserReq) Reset() {
	*x = DeleteProjectUserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[91]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteProjectUserReq) ProtoMessage() {}

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

func (x *DeleteProjectUserReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *DeleteProjectUserReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *DeleteProjectUserReq) GetUserId() uint64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

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

	Cidr       string `protobuf:"bytes,1,opt,name=cidr,proto3" json:"cidr,omitempty"`
	IsDefault  bool   `protobuf:"varint,2,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"`
	RegionCidr string `protobuf:"bytes,3,opt,name=region_cidr,json=regionCidr,proto3" json:"region_cidr,omitempty"` // option
}

func (x *ProjectCIDR) Reset() {
	*x = ProjectCIDR{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[92]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ProjectCIDR) ProtoMessage() {}

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

func (x *ProjectCIDR) GetCidr() string {
	if x != nil {
		return x.Cidr
	}
	return ""
}

func (x *ProjectCIDR) GetIsDefault() bool {
	if x != nil {
		return x.IsDefault
	}
	return false
}

func (x *ProjectCIDR) GetRegionCidr() string {
	if x != nil {
		return x.RegionCidr
	}
	return ""
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Provider  string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	Region    string `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
}

func (x *GetCIDRReq) Reset() {
	*x = GetCIDRReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[93]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetCIDRReq) ProtoMessage() {}

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

func (x *GetCIDRReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *GetCIDRReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetCIDRReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *GetCIDRReq) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *DeleteProjectReq) Reset() {
	*x = DeleteProjectReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[94]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteProjectReq) ProtoMessage() {}

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

func (x *DeleteProjectReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *DeleteProjectReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Provider  string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	Cidr      string `protobuf:"bytes,4,opt,name=cidr,proto3" json:"cidr,omitempty"`
}

func (x *CreateProjectCIDRReq) Reset() {
	*x = CreateProjectCIDRReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[95]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateProjectCIDRReq) ProtoMessage() {}

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

func (x *CreateProjectCIDRReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CreateProjectCIDRReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *CreateProjectCIDRReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *CreateProjectCIDRReq) GetCidr() string {
	if x != nil {
		return x.Cidr
	}
	return ""
}

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

	Region     string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	RegionName string `protobuf:"bytes,2,opt,name=region_name,json=regionName,proto3" json:"region_name,omitempty"`
	Cidr       string `protobuf:"bytes,3,opt,name=cidr,proto3" json:"cidr,omitempty"`
	Active     bool   `protobuf:"varint,4,opt,name=active,proto3" json:"active,omitempty"`
}

func (x *RegionCIDR) Reset() {
	*x = RegionCIDR{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[96]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RegionCIDR) ProtoMessage() {}

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

func (x *RegionCIDR) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *RegionCIDR) GetRegionName() string {
	if x != nil {
		return x.RegionName
	}
	return ""
}

func (x *RegionCIDR) GetCidr() string {
	if x != nil {
		return x.Cidr
	}
	return ""
}

func (x *RegionCIDR) GetActive() bool {
	if x != nil {
		return x.Active
	}
	return false
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Provider  string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *GetProjectRegionCIDRReq) Reset() {
	*x = GetProjectRegionCIDRReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[97]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetProjectRegionCIDRReq) ProtoMessage() {}

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

func (x *GetProjectRegionCIDRReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *GetProjectRegionCIDRReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetProjectRegionCIDRReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	KeyId     uint64           `protobuf:"varint,1,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
	Key       string           `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	CreatedAt *types.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
}

func (x *MetricsKey) Reset() {
	*x = MetricsKey{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[98]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*MetricsKey) ProtoMessage() {}

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

func (x *MetricsKey) GetKeyId() uint64 {
	if x != nil {
		return x.KeyId
	}
	return 0
}

func (x *MetricsKey) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *MetricsKey) GetCreatedAt() *types.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *CreateMetricsKeyReq) Reset() {
	*x = CreateMetricsKeyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[99]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateMetricsKeyReq) ProtoMessage() {}

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

func (x *CreateMetricsKeyReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CreateMetricsKeyReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	Key *MetricsKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
}

func (x *CreateMetricsKeyResp) Reset() {
	*x = CreateMetricsKeyResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[100]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateMetricsKeyResp) ProtoMessage() {}

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

func (x *CreateMetricsKeyResp) GetKey() *MetricsKey {
	if x != nil {
		return x.Key
	}
	return nil
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *GetAllMetricsKeyReq) Reset() {
	*x = GetAllMetricsKeyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[101]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAllMetricsKeyReq) ProtoMessage() {}

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

func (x *GetAllMetricsKeyReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *GetAllMetricsKeyReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	MetricsKeys []*MetricsKey `protobuf:"bytes,1,rep,name=metrics_keys,json=metricsKeys,proto3" json:"metrics_keys,omitempty"`
}

func (x *GetAllMetricsKeyResp) Reset() {
	*x = GetAllMetricsKeyResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[102]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAllMetricsKeyResp) ProtoMessage() {}

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

func (x *GetAllMetricsKeyResp) GetMetricsKeys() []*MetricsKey {
	if x != nil {
		return x.MetricsKeys
	}
	return nil
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	KeyId     uint64 `protobuf:"varint,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
}

func (x *DeleteMetricsKeyReq) Reset() {
	*x = DeleteMetricsKeyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[103]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteMetricsKeyReq) ProtoMessage() {}

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

func (x *DeleteMetricsKeyReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *DeleteMetricsKeyReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *DeleteMetricsKeyReq) GetKeyId() uint64 {
	if x != nil {
		return x.KeyId
	}
	return 0
}

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

	ClusterId int64                `protobuf:"varint,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Format    GetMeasurementFormat `protobuf:"varint,2,opt,name=format,proto3,enum=central.GetMeasurementFormat" json:"format,omitempty"`
}

func (x *GetMeasurementsReq) Reset() {
	*x = GetMeasurementsReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[104]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetMeasurementsReq) ProtoMessage() {}

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

func (x *GetMeasurementsReq) GetClusterId() int64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *GetMeasurementsReq) GetFormat() GetMeasurementFormat {
	if x != nil {
		return x.Format
	}
	return GetMeasurementFormat_Prometheus
}

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

	Total uint32                `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*RegionMachinePrice `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListRegionMachinePriceResp) Reset() {
	*x = ListRegionMachinePriceResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[105]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListRegionMachinePriceResp) ProtoMessage() {}

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

func (x *ListRegionMachinePriceResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListRegionMachinePriceResp) GetItems() []*RegionMachinePrice {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Provider     string            `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
	Region       string            `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	InstanceType string            `protobuf:"bytes,3,opt,name=instanceType,proto3" json:"instanceType,omitempty"`
	PriceHistory []*ComponentPrice `protobuf:"bytes,4,rep,name=price_history,json=priceHistory,proto3" json:"price_history,omitempty"`
}

func (x *RegionMachinePrice) Reset() {
	*x = RegionMachinePrice{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[106]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RegionMachinePrice) ProtoMessage() {}

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

func (x *RegionMachinePrice) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *RegionMachinePrice) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *RegionMachinePrice) GetInstanceType() string {
	if x != nil {
		return x.InstanceType
	}
	return ""
}

func (x *RegionMachinePrice) GetPriceHistory() []*ComponentPrice {
	if x != nil {
		return x.PriceHistory
	}
	return nil
}

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

	Name         string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	PriceHistory []*ComponentPrice `protobuf:"bytes,2,rep,name=price_history,json=priceHistory,proto3" json:"price_history,omitempty"`
}

func (x *ComponentProfile) Reset() {
	*x = ComponentProfile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[107]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ComponentProfile) ProtoMessage() {}

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

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

func (x *ComponentProfile) GetPriceHistory() []*ComponentPrice {
	if x != nil {
		return x.PriceHistory
	}
	return nil
}

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

	PriceStartTime int64   `protobuf:"varint,1,opt,name=price_start_time,json=priceStartTime,proto3" json:"price_start_time,omitempty"`
	Price          float64 `protobuf:"fixed64,2,opt,name=price,proto3" json:"price,omitempty"`
}

func (x *ComponentPrice) Reset() {
	*x = ComponentPrice{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[108]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ComponentPrice) ProtoMessage() {}

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

func (x *ComponentPrice) GetPriceStartTime() int64 {
	if x != nil {
		return x.PriceStartTime
	}
	return 0
}

func (x *ComponentPrice) GetPrice() float64 {
	if x != nil {
		return x.Price
	}
	return 0
}

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

	Id                  uint64           `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name                string           `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Timezone            int32            `protobuf:"varint,3,opt,name=timezone,proto3" json:"timezone,omitempty"`
	Email               string           `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
	Status              string           `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
	Plan                string           `protobuf:"bytes,6,opt,name=plan,proto3" json:"plan,omitempty"`
	Discount            int64            `protobuf:"varint,7,opt,name=discount,proto3" json:"discount,omitempty"`
	DiscountDescription string           `protobuf:"bytes,8,opt,name=discount_description,json=discountDescription,proto3" json:"discount_description,omitempty"`
	BindCreditAt        *types.Timestamp `protobuf:"bytes,9,opt,name=bind_credit_at,json=bindCreditAt,proto3" json:"bind_credit_at,omitempty"`
	Country             string           `protobuf:"bytes,10,opt,name=country,proto3" json:"country,omitempty"`
	HasDiscount         bool             `protobuf:"varint,11,opt,name=has_discount,json=hasDiscount,proto3" json:"has_discount,omitempty"`
}

func (x *Tenant) Reset() {
	*x = Tenant{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[109]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Tenant) ProtoMessage() {}

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

func (x *Tenant) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *Tenant) GetTimezone() int32 {
	if x != nil {
		return x.Timezone
	}
	return 0
}

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

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

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

func (x *Tenant) GetDiscount() int64 {
	if x != nil {
		return x.Discount
	}
	return 0
}

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

func (x *Tenant) GetBindCreditAt() *types.Timestamp {
	if x != nil {
		return x.BindCreditAt
	}
	return nil
}

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

func (x *Tenant) GetHasDiscount() bool {
	if x != nil {
		return x.HasDiscount
	}
	return false
}

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

	Total uint32    `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*Tenant `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListTenantsResp) Reset() {
	*x = ListTenantsResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[110]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListTenantsResp) ProtoMessage() {}

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

func (x *ListTenantsResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListTenantsResp) GetItems() []*Tenant {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Name    string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Id      uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
	Page    uint32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PerPage uint32 `protobuf:"varint,4,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListTenantsReq) Reset() {
	*x = ListTenantsReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[111]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListTenantsReq) ProtoMessage() {}

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

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

func (x *ListTenantsReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ListTenantsReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListTenantsReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	OrgId        uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	CreditAmount int64  `protobuf:"varint,2,opt,name=credit_amount,json=creditAmount,proto3" json:"credit_amount,omitempty"`
}

func (x *TrialCreditReq) Reset() {
	*x = TrialCreditReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[112]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TrialCreditReq) ProtoMessage() {}

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

func (x *TrialCreditReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *TrialCreditReq) GetCreditAmount() int64 {
	if x != nil {
		return x.CreditAmount
	}
	return 0
}

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

	Id          uint64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Description string  `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	Discount    float64 `protobuf:"fixed64,3,opt,name=discount,proto3" json:"discount,omitempty"`
	StartTime   int64   `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	EndTime     int64   `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	OrgId       uint64  `protobuf:"varint,6,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
}

func (x *Discount) Reset() {
	*x = Discount{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[113]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Discount) ProtoMessage() {}

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

func (x *Discount) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Discount) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Discount) GetDiscount() float64 {
	if x != nil {
		return x.Discount
	}
	return 0
}

func (x *Discount) GetStartTime() int64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *Discount) GetEndTime() int64 {
	if x != nil {
		return x.EndTime
	}
	return 0
}

func (x *Discount) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

	DiscountId uint64 `protobuf:"varint,1,opt,name=discount_id,json=discountId,proto3" json:"discount_id,omitempty"`
	OrgId      uint64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
}

func (x *OrgIdAndDiscountId) Reset() {
	*x = OrgIdAndDiscountId{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[114]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*OrgIdAndDiscountId) ProtoMessage() {}

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

func (x *OrgIdAndDiscountId) GetDiscountId() uint64 {
	if x != nil {
		return x.DiscountId
	}
	return 0
}

func (x *OrgIdAndDiscountId) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

	Total uint32      `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*Discount `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListDiscountResp) Reset() {
	*x = ListDiscountResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[115]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListDiscountResp) ProtoMessage() {}

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

func (x *ListDiscountResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListDiscountResp) GetItems() []*Discount {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *IdReq) Reset() {
	*x = IdReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[116]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IdReq) ProtoMessage() {}

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

func (x *IdReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	Id          uint64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Description string  `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	Discount    float64 `protobuf:"fixed64,3,opt,name=discount,proto3" json:"discount,omitempty"`
	StartTime   int64   `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	EndTime     int64   `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
}

func (x *GlobalDiscount) Reset() {
	*x = GlobalDiscount{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[117]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GlobalDiscount) ProtoMessage() {}

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

func (x *GlobalDiscount) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GlobalDiscount) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *GlobalDiscount) GetDiscount() float64 {
	if x != nil {
		return x.Discount
	}
	return 0
}

func (x *GlobalDiscount) GetStartTime() int64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *GlobalDiscount) GetEndTime() int64 {
	if x != nil {
		return x.EndTime
	}
	return 0
}

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

	Total uint32            `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*GlobalDiscount `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListGlobalDiscountResp) Reset() {
	*x = ListGlobalDiscountResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[118]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListGlobalDiscountResp) ProtoMessage() {}

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

func (x *ListGlobalDiscountResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListGlobalDiscountResp) GetItems() []*GlobalDiscount {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id         uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	HappenedOn int64  `protobuf:"varint,2,opt,name=happened_on,json=happenedOn,proto3" json:"happened_on,omitempty"`
	User       string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`
	Content    string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"`
}

func (x *AccessLog) Reset() {
	*x = AccessLog{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[119]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*AccessLog) ProtoMessage() {}

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

func (x *AccessLog) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *AccessLog) GetHappenedOn() int64 {
	if x != nil {
		return x.HappenedOn
	}
	return 0
}

func (x *AccessLog) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *AccessLog) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

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

	Total uint32       `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*AccessLog `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListAccessLogResp) Reset() {
	*x = ListAccessLogResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[120]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListAccessLogResp) ProtoMessage() {}

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

func (x *ListAccessLogResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListAccessLogResp) GetItems() []*AccessLog {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Page      uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
	PerPage   uint32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	User      string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`
	Content   string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"`
	StartTime int64  `protobuf:"varint,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	EndTime   int64  `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	OrgId     uint64 `protobuf:"varint,7,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
}

func (x *ListAccessLogReq) Reset() {
	*x = ListAccessLogReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[121]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListAccessLogReq) ProtoMessage() {}

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

func (x *ListAccessLogReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListAccessLogReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

func (x *ListAccessLogReq) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *ListAccessLogReq) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

func (x *ListAccessLogReq) GetStartTime() int64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *ListAccessLogReq) GetEndTime() int64 {
	if x != nil {
		return x.EndTime
	}
	return 0
}

func (x *ListAccessLogReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

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

func (x *Provider) Reset() {
	*x = Provider{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[122]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Provider) ProtoMessage() {}

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

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

func (x *Provider) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

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

	Total uint32      `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*Provider `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListProvidersResp) Reset() {
	*x = ListProvidersResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[123]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListProvidersResp) ProtoMessage() {}

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

func (x *ListProvidersResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListProvidersResp) GetItems() []*Provider {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id           uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider     string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
	InstanceType string `protobuf:"bytes,3,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"`
	Cpu          uint32 `protobuf:"varint,4,opt,name=cpu,proto3" json:"cpu,omitempty"`
	MemoryGi     uint32 `protobuf:"varint,5,opt,name=memory_gi,json=memoryGi,proto3" json:"memory_gi,omitempty"`
}

func (x *ProviderMachineProfile) Reset() {
	*x = ProviderMachineProfile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[124]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ProviderMachineProfile) ProtoMessage() {}

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

func (x *ProviderMachineProfile) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ProviderMachineProfile) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *ProviderMachineProfile) GetInstanceType() string {
	if x != nil {
		return x.InstanceType
	}
	return ""
}

func (x *ProviderMachineProfile) GetCpu() uint32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *ProviderMachineProfile) GetMemoryGi() uint32 {
	if x != nil {
		return x.MemoryGi
	}
	return 0
}

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

	Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
	Page     uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PerPage  uint32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListMachineProfilesReq) Reset() {
	*x = ListMachineProfilesReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[125]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListMachineProfilesReq) ProtoMessage() {}

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

func (x *ListMachineProfilesReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *ListMachineProfilesReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListMachineProfilesReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	Total uint32                    `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*ProviderMachineProfile `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListMachineProfilesResp) Reset() {
	*x = ListMachineProfilesResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[126]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListMachineProfilesResp) ProtoMessage() {}

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

func (x *ListMachineProfilesResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListMachineProfilesResp) GetItems() []*ProviderMachineProfile {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *ProviderMachineProfileId) Reset() {
	*x = ProviderMachineProfileId{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[127]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ProviderMachineProfileId) ProtoMessage() {}

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

func (x *ProviderMachineProfileId) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *DeleteProviderMachineProfileReq) Reset() {
	*x = DeleteProviderMachineProfileReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[128]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteProviderMachineProfileReq) ProtoMessage() {}

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

func (x *DeleteProviderMachineProfileReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *DeleteProviderMachineProfileReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *GetMachineProfileReq) Reset() {
	*x = GetMachineProfileReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[129]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetMachineProfileReq) ProtoMessage() {}

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

func (x *GetMachineProfileReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GetMachineProfileReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	Id          uint64   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name        string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	DisplayName string   `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	Status      string   `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	Provider    string   `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"`
	Zones       []string `protobuf:"bytes,6,rep,name=zones,proto3" json:"zones,omitempty"`
}

func (x *ProviderRegion) Reset() {
	*x = ProviderRegion{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[130]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ProviderRegion) ProtoMessage() {}

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

func (x *ProviderRegion) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *ProviderRegion) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *ProviderRegion) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *ProviderRegion) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *ProviderRegion) GetZones() []string {
	if x != nil {
		return x.Zones
	}
	return nil
}

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

	Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
	Page     uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PerPage  uint32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListRegionsReq) Reset() {
	*x = ListRegionsReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[131]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListRegionsReq) ProtoMessage() {}

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

func (x *ListRegionsReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *ListRegionsReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListRegionsReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	Total uint32            `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*ProviderRegion `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListRegionsResp) Reset() {
	*x = ListRegionsResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[132]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListRegionsResp) ProtoMessage() {}

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

func (x *ListRegionsResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListRegionsResp) GetItems() []*ProviderRegion {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id       int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *DeleteRegionReq) Reset() {
	*x = DeleteRegionReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[133]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteRegionReq) ProtoMessage() {}

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

func (x *DeleteRegionReq) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *DeleteRegionReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *GetRegionReq) Reset() {
	*x = GetRegionReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[134]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetRegionReq) ProtoMessage() {}

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

func (x *GetRegionReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GetRegionReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	Id          uint64                      `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name        string                      `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Description string                      `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	Region      string                      `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
	Provider    string                      `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"`
	Status      string                      `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	Components  []*ProviderComponentProfile `protobuf:"bytes,7,rep,name=components,proto3" json:"components,omitempty"`
}

func (x *ProviderClusterProfile) Reset() {
	*x = ProviderClusterProfile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[135]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ProviderClusterProfile) ProtoMessage() {}

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

func (x *ProviderClusterProfile) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *ProviderClusterProfile) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *ProviderClusterProfile) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *ProviderClusterProfile) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *ProviderClusterProfile) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *ProviderClusterProfile) GetComponents() []*ProviderComponentProfile {
	if x != nil {
		return x.Components
	}
	return nil
}

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

	Name         string  `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Replicas     uint32  `protobuf:"varint,2,opt,name=replicas,proto3" json:"replicas,omitempty"`
	MachineType  string  `protobuf:"bytes,3,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"`
	Price        float64 `protobuf:"fixed64,4,opt,name=price,proto3" json:"price,omitempty"`
	Cpu          uint32  `protobuf:"varint,5,opt,name=cpu,proto3" json:"cpu,omitempty"`
	Memory       uint32  `protobuf:"varint,6,opt,name=memory,proto3" json:"memory,omitempty"`
	DiskType     string  `protobuf:"bytes,7,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
	DiskCapacity uint32  `protobuf:"varint,8,opt,name=disk_capacity,json=diskCapacity,proto3" json:"disk_capacity,omitempty"`
}

func (x *ProviderComponentProfile) Reset() {
	*x = ProviderComponentProfile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[136]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ProviderComponentProfile) ProtoMessage() {}

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

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

func (x *ProviderComponentProfile) GetReplicas() uint32 {
	if x != nil {
		return x.Replicas
	}
	return 0
}

func (x *ProviderComponentProfile) GetMachineType() string {
	if x != nil {
		return x.MachineType
	}
	return ""
}

func (x *ProviderComponentProfile) GetPrice() float64 {
	if x != nil {
		return x.Price
	}
	return 0
}

func (x *ProviderComponentProfile) GetCpu() uint32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *ProviderComponentProfile) GetMemory() uint32 {
	if x != nil {
		return x.Memory
	}
	return 0
}

func (x *ProviderComponentProfile) GetDiskType() string {
	if x != nil {
		return x.DiskType
	}
	return ""
}

func (x *ProviderComponentProfile) GetDiskCapacity() uint32 {
	if x != nil {
		return x.DiskCapacity
	}
	return 0
}

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

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
	Region   string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
	Type     string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
	Capacity uint32 `protobuf:"varint,5,opt,name=capacity,proto3" json:"capacity,omitempty"`
}

func (x *RegionDisk) Reset() {
	*x = RegionDisk{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[137]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RegionDisk) ProtoMessage() {}

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

func (x *RegionDisk) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *RegionDisk) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *RegionDisk) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *RegionDisk) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *RegionDisk) GetCapacity() uint32 {
	if x != nil {
		return x.Capacity
	}
	return 0
}

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

	Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
	Page     uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PerPage  uint32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListRegionDisksReq) Reset() {
	*x = ListRegionDisksReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[138]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListRegionDisksReq) ProtoMessage() {}

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

func (x *ListRegionDisksReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *ListRegionDisksReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListRegionDisksReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	Total uint32        `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*RegionDisk `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListRegionDisksResp) Reset() {
	*x = ListRegionDisksResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[139]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListRegionDisksResp) ProtoMessage() {}

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

func (x *ListRegionDisksResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListRegionDisksResp) GetItems() []*RegionDisk {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *DeleteRegionDiskReq) Reset() {
	*x = DeleteRegionDiskReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[140]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteRegionDiskReq) ProtoMessage() {}

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

func (x *DeleteRegionDiskReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *DeleteRegionDiskReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *GetRegionDiskReq) Reset() {
	*x = GetRegionDiskReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[141]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetRegionDiskReq) ProtoMessage() {}

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

func (x *GetRegionDiskReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GetRegionDiskReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
	Page     uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PerPage  uint32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListClusterProfilesReq) Reset() {
	*x = ListClusterProfilesReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[142]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListClusterProfilesReq) ProtoMessage() {}

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

func (x *ListClusterProfilesReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *ListClusterProfilesReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListClusterProfilesReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	Total uint32                    `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*ProviderClusterProfile `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListClusterProfilesResp) Reset() {
	*x = ListClusterProfilesResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[143]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListClusterProfilesResp) ProtoMessage() {}

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

func (x *ListClusterProfilesResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListClusterProfilesResp) GetItems() []*ProviderClusterProfile {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *DeleteClusterProfileReq) Reset() {
	*x = DeleteClusterProfileReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[144]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteClusterProfileReq) ProtoMessage() {}

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

func (x *DeleteClusterProfileReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *DeleteClusterProfileReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *GetClusterProfileReq) Reset() {
	*x = GetClusterProfileReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[145]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetClusterProfileReq) ProtoMessage() {}

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

func (x *GetClusterProfileReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GetClusterProfileReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	Id        uint64   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Email     string   `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	FirstName string   `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"`
	LastName  string   `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"`
	Roles     []string `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"`
}

func (x *CentralUser) Reset() {
	*x = CentralUser{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[146]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CentralUser) ProtoMessage() {}

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

func (x *CentralUser) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *CentralUser) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *CentralUser) GetFirstName() string {
	if x != nil {
		return x.FirstName
	}
	return ""
}

func (x *CentralUser) GetLastName() string {
	if x != nil {
		return x.LastName
	}
	return ""
}

func (x *CentralUser) GetRoles() []string {
	if x != nil {
		return x.Roles
	}
	return nil
}

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

	Total int32          `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*CentralUser `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListCentralUsersResp) Reset() {
	*x = ListCentralUsersResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[147]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListCentralUsersResp) ProtoMessage() {}

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

func (x *ListCentralUsersResp) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListCentralUsersResp) GetItems() []*CentralUser {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Page    uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
	PerPage uint32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListCentralUsersReq) Reset() {
	*x = ListCentralUsersReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[148]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListCentralUsersReq) ProtoMessage() {}

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

func (x *ListCentralUsersReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListCentralUsersReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *CentralUserId) Reset() {
	*x = CentralUserId{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[149]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CentralUserId) ProtoMessage() {}

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

func (x *CentralUserId) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	Id         uint64       `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name       string       `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Privileges []*Privilege `protobuf:"bytes,4,rep,name=privileges,proto3" json:"privileges,omitempty"`
}

func (x *Role) Reset() {
	*x = Role{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[150]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Role) ProtoMessage() {}

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

func (x *Role) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *Role) GetPrivileges() []*Privilege {
	if x != nil {
		return x.Privileges
	}
	return nil
}

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

	Resource  string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
	Operation string `protobuf:"bytes,2,opt,name=operation,proto3" json:"operation,omitempty"`
}

func (x *Privilege) Reset() {
	*x = Privilege{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[151]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Privilege) ProtoMessage() {}

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

func (x *Privilege) GetResource() string {
	if x != nil {
		return x.Resource
	}
	return ""
}

func (x *Privilege) GetOperation() string {
	if x != nil {
		return x.Operation
	}
	return ""
}

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

	Total int32   `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*Role `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListRolesResp) Reset() {
	*x = ListRolesResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[152]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListRolesResp) ProtoMessage() {}

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

func (x *ListRolesResp) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListRolesResp) GetItems() []*Role {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Page    uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
	PerPage uint32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListRolesReq) Reset() {
	*x = ListRolesReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[153]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListRolesReq) ProtoMessage() {}

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

func (x *ListRolesReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListRolesReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *RoleId) Reset() {
	*x = RoleId{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[154]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RoleId) ProtoMessage() {}

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

func (x *RoleId) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ClusterId uint64 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
}

func (x *GetDashboardLinksReq) Reset() {
	*x = GetDashboardLinksReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[155]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetDashboardLinksReq) ProtoMessage() {}

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

func (x *GetDashboardLinksReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *GetDashboardLinksReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

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

	Dashboards []*DashboardLink `protobuf:"bytes,1,rep,name=dashboards,proto3" json:"dashboards,omitempty"`
}

func (x *GetDashboardLinksResp) Reset() {
	*x = GetDashboardLinksResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[156]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetDashboardLinksResp) ProtoMessage() {}

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

func (x *GetDashboardLinksResp) GetDashboards() []*DashboardLink {
	if x != nil {
		return x.Dashboards
	}
	return nil
}

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

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

func (x *DashboardLink) Reset() {
	*x = DashboardLink{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[157]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DashboardLink) ProtoMessage() {}

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

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

func (x *DashboardLink) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

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

	Replicas    uint32 `protobuf:"varint,1,opt,name=replicas,proto3" json:"replicas,omitempty"`
	MachineType string `protobuf:"bytes,2,opt,name=machineType,proto3" json:"machineType,omitempty"`
}

func (x *TenantComponent) Reset() {
	*x = TenantComponent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[158]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantComponent) ProtoMessage() {}

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

func (x *TenantComponent) GetReplicas() uint32 {
	if x != nil {
		return x.Replicas
	}
	return 0
}

func (x *TenantComponent) GetMachineType() string {
	if x != nil {
		return x.MachineType
	}
	return ""
}

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

	Pd      *TenantComponent `protobuf:"bytes,1,opt,name=pd,proto3" json:"pd,omitempty"`
	Tikv    *TenantComponent `protobuf:"bytes,2,opt,name=tikv,proto3" json:"tikv,omitempty"`
	Tidb    *TenantComponent `protobuf:"bytes,3,opt,name=tidb,proto3" json:"tidb,omitempty"`
	Tiflash *TenantComponent `protobuf:"bytes,4,opt,name=tiflash,proto3" json:"tiflash,omitempty"`
}

func (x *TenantComponents) Reset() {
	*x = TenantComponents{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[159]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantComponents) ProtoMessage() {}

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

func (x *TenantComponents) GetPd() *TenantComponent {
	if x != nil {
		return x.Pd
	}
	return nil
}

func (x *TenantComponents) GetTikv() *TenantComponent {
	if x != nil {
		return x.Tikv
	}
	return nil
}

func (x *TenantComponents) GetTidb() *TenantComponent {
	if x != nil {
		return x.Tidb
	}
	return nil
}

func (x *TenantComponents) GetTiflash() *TenantComponent {
	if x != nil {
		return x.Tiflash
	}
	return nil
}

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

	Id               int64             `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name             string            `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Provider         string            `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	Region           string            `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
	Profile          string            `protobuf:"bytes,5,opt,name=profile,proto3" json:"profile,omitempty"`
	Version          string            `protobuf:"bytes,6,opt,name=version,proto3" json:"version,omitempty"`
	CreateTime       *types.Timestamp  `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	TenantComponents *TenantComponents `protobuf:"bytes,8,opt,name=tenant_components,json=tenantComponents,proto3" json:"tenant_components,omitempty"`
	Status           Cluster_Status    `protobuf:"varint,9,opt,name=status,proto3,enum=central.Cluster_Status" json:"status,omitempty"`
}

func (x *TenantCluster) Reset() {
	*x = TenantCluster{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[160]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantCluster) ProtoMessage() {}

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

func (x *TenantCluster) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *TenantCluster) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *TenantCluster) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *TenantCluster) GetProfile() string {
	if x != nil {
		return x.Profile
	}
	return ""
}

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

func (x *TenantCluster) GetCreateTime() *types.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *TenantCluster) GetTenantComponents() *TenantComponents {
	if x != nil {
		return x.TenantComponents
	}
	return nil
}

func (x *TenantCluster) GetStatus() Cluster_Status {
	if x != nil {
		return x.Status
	}
	return Cluster_NORMAL
}

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

	OrgId   uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Page    uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PerPage uint32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListTenantUsersReq) Reset() {
	*x = ListTenantUsersReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[161]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListTenantUsersReq) ProtoMessage() {}

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

func (x *ListTenantUsersReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ListTenantUsersReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListTenantUsersReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	Total int32         `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*TenantUser `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListTenantUsersResp) Reset() {
	*x = ListTenantUsersResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[162]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListTenantUsersResp) ProtoMessage() {}

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

func (x *ListTenantUsersResp) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListTenantUsersResp) GetItems() []*TenantUser {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id         uint64   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	OrgId      uint64   `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Email      string   `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	FirstName  string   `protobuf:"bytes,4,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"`
	LastName   string   `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"`
	IsOrgOwner bool     `protobuf:"varint,6,opt,name=is_org_owner,json=isOrgOwner,proto3" json:"is_org_owner,omitempty"`
	Status     string   `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"`
	Roles      []string `protobuf:"bytes,8,rep,name=roles,proto3" json:"roles,omitempty"`
}

func (x *TenantUser) Reset() {
	*x = TenantUser{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[163]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantUser) ProtoMessage() {}

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

func (x *TenantUser) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *TenantUser) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *TenantUser) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *TenantUser) GetFirstName() string {
	if x != nil {
		return x.FirstName
	}
	return ""
}

func (x *TenantUser) GetLastName() string {
	if x != nil {
		return x.LastName
	}
	return ""
}

func (x *TenantUser) GetIsOrgOwner() bool {
	if x != nil {
		return x.IsOrgOwner
	}
	return false
}

func (x *TenantUser) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *TenantUser) GetRoles() []string {
	if x != nil {
		return x.Roles
	}
	return nil
}

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

	Id    uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	OrgId uint64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
}

func (x *DeleteTenantUserReq) Reset() {
	*x = DeleteTenantUserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[164]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteTenantUserReq) ProtoMessage() {}

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

func (x *DeleteTenantUserReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *DeleteTenantUserReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

	Id    uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	OrgId uint64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
}

func (x *GetTenantUserReq) Reset() {
	*x = GetTenantUserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[165]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTenantUserReq) ProtoMessage() {}

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

func (x *GetTenantUserReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GetTenantUserReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

	OrgId   uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Page    uint32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PerPage uint32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
}

func (x *ListTenantClustersReq) Reset() {
	*x = ListTenantClustersReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[166]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListTenantClustersReq) ProtoMessage() {}

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

func (x *ListTenantClustersReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ListTenantClustersReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListTenantClustersReq) GetPerPage() uint32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

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

	Total uint32           `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Items []*TenantCluster `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListTenantClustersResp) Reset() {
	*x = ListTenantClustersResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[167]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListTenantClustersResp) ProtoMessage() {}

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

func (x *ListTenantClustersResp) GetTotal() uint32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListTenantClustersResp) GetItems() []*TenantCluster {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	TenantId uint64 `protobuf:"varint,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
}

func (x *TenantID) Reset() {
	*x = TenantID{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[168]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantID) ProtoMessage() {}

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

func (x *TenantID) GetTenantId() uint64 {
	if x != nil {
		return x.TenantId
	}
	return 0
}

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

	RemainingCredit int64 `protobuf:"varint,1,opt,name=remaining_credit,json=remainingCredit,proto3" json:"remaining_credit,omitempty"`
	NodeUsageFee    int64 `protobuf:"varint,2,opt,name=node_usage_fee,json=nodeUsageFee,proto3" json:"node_usage_fee,omitempty"`
	TotalCredit     int64 `protobuf:"varint,3,opt,name=total_credit,json=totalCredit,proto3" json:"total_credit,omitempty"`
}

func (x *TenantBillingStatus) Reset() {
	*x = TenantBillingStatus{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[169]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantBillingStatus) ProtoMessage() {}

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

func (x *TenantBillingStatus) GetRemainingCredit() int64 {
	if x != nil {
		return x.RemainingCredit
	}
	return 0
}

func (x *TenantBillingStatus) GetNodeUsageFee() int64 {
	if x != nil {
		return x.NodeUsageFee
	}
	return 0
}

func (x *TenantBillingStatus) GetTotalCredit() int64 {
	if x != nil {
		return x.TotalCredit
	}
	return 0
}

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

	Id    uint64   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name  string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Email string   `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	Roles []string `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"`
}

func (x *CentralUserProfile) Reset() {
	*x = CentralUserProfile{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[170]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CentralUserProfile) ProtoMessage() {}

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

func (x *CentralUserProfile) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *CentralUserProfile) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *CentralUserProfile) GetRoles() []string {
	if x != nil {
		return x.Roles
	}
	return nil
}

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

	OrgId   uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Approve bool   `protobuf:"varint,2,opt,name=approve,proto3" json:"approve,omitempty"`
}

func (x *UpdateOrgPocStatusReq) Reset() {
	*x = UpdateOrgPocStatusReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[171]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateOrgPocStatusReq) ProtoMessage() {}

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

func (x *UpdateOrgPocStatusReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *UpdateOrgPocStatusReq) GetApprove() bool {
	if x != nil {
		return x.Approve
	}
	return false
}

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

	TenantId      uint64 `protobuf:"varint,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
	CreatorUserId uint64 `protobuf:"varint,2,opt,name=creator_user_id,json=creatorUserId,proto3" json:"creator_user_id,omitempty"`
	KeyName       string `protobuf:"bytes,3,opt,name=key_name,json=keyName,proto3" json:"key_name,omitempty"`
}

func (x *CreateAPIKeyReq) Reset() {
	*x = CreateAPIKeyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[172]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateAPIKeyReq) ProtoMessage() {}

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

func (x *CreateAPIKeyReq) GetTenantId() uint64 {
	if x != nil {
		return x.TenantId
	}
	return 0
}

func (x *CreateAPIKeyReq) GetCreatorUserId() uint64 {
	if x != nil {
		return x.CreatorUserId
	}
	return 0
}

func (x *CreateAPIKeyReq) GetKeyName() string {
	if x != nil {
		return x.KeyName
	}
	return ""
}

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

	ApiKey string `protobuf:"bytes,1,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
}

func (x *CreateAPIKeyResp) Reset() {
	*x = CreateAPIKeyResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[173]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateAPIKeyResp) ProtoMessage() {}

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

func (x *CreateAPIKeyResp) GetApiKey() string {
	if x != nil {
		return x.ApiKey
	}
	return ""
}

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

	Start int64  `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
	End   int64  `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
	OrgId uint64 `protobuf:"varint,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
}

func (x *TenantHeartbeatFeeReq) Reset() {
	*x = TenantHeartbeatFeeReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[174]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantHeartbeatFeeReq) ProtoMessage() {}

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

func (x *TenantHeartbeatFeeReq) GetStart() int64 {
	if x != nil {
		return x.Start
	}
	return 0
}

func (x *TenantHeartbeatFeeReq) GetEnd() int64 {
	if x != nil {
		return x.End
	}
	return 0
}

func (x *TenantHeartbeatFeeReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

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

	OrgId         uint64                 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	NodeFee       float64                `protobuf:"fixed64,2,opt,name=node_fee,json=nodeFee,proto3" json:"node_fee,omitempty"`
	NodeFeeDetail []*ClusterHeartbeatFee `protobuf:"bytes,5,rep,name=node_fee_detail,json=nodeFeeDetail,proto3" json:"node_fee_detail,omitempty"`
}

func (x *TenantHeartbeatFee) Reset() {
	*x = TenantHeartbeatFee{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[175]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TenantHeartbeatFee) ProtoMessage() {}

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

func (x *TenantHeartbeatFee) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *TenantHeartbeatFee) GetNodeFee() float64 {
	if x != nil {
		return x.NodeFee
	}
	return 0
}

func (x *TenantHeartbeatFee) GetNodeFeeDetail() []*ClusterHeartbeatFee {
	if x != nil {
		return x.NodeFeeDetail
	}
	return nil
}

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

	ClusterName        string          `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	ClusterId          uint64          `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	ClusterProfileName string          `protobuf:"bytes,3,opt,name=cluster_profile_name,json=clusterProfileName,proto3" json:"cluster_profile_name,omitempty"`
	TotalFee           float64         `protobuf:"fixed64,4,opt,name=total_fee,json=totalFee,proto3" json:"total_fee,omitempty"`
	FeeDetail          []*HeartbeatFee `protobuf:"bytes,5,rep,name=fee_detail,json=feeDetail,proto3" json:"fee_detail,omitempty"`
}

func (x *ClusterHeartbeatFee) Reset() {
	*x = ClusterHeartbeatFee{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[176]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ClusterHeartbeatFee) ProtoMessage() {}

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

func (x *ClusterHeartbeatFee) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

func (x *ClusterHeartbeatFee) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ClusterHeartbeatFee) GetClusterProfileName() string {
	if x != nil {
		return x.ClusterProfileName
	}
	return ""
}

func (x *ClusterHeartbeatFee) GetTotalFee() float64 {
	if x != nil {
		return x.TotalFee
	}
	return 0
}

func (x *ClusterHeartbeatFee) GetFeeDetail() []*HeartbeatFee {
	if x != nil {
		return x.FeeDetail
	}
	return nil
}

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

	StartAt *types.Timestamp `protobuf:"bytes,1,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"`
	EndAt   *types.Timestamp `protobuf:"bytes,2,opt,name=end_at,json=endAt,proto3" json:"end_at,omitempty"`
	Fee     float64          `protobuf:"fixed64,3,opt,name=fee,proto3" json:"fee,omitempty"`
	Status  string           `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	Detail  string           `protobuf:"bytes,5,opt,name=detail,proto3" json:"detail,omitempty"`
}

func (x *HeartbeatFee) Reset() {
	*x = HeartbeatFee{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[177]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*HeartbeatFee) ProtoMessage() {}

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

func (x *HeartbeatFee) GetStartAt() *types.Timestamp {
	if x != nil {
		return x.StartAt
	}
	return nil
}

func (x *HeartbeatFee) GetEndAt() *types.Timestamp {
	if x != nil {
		return x.EndAt
	}
	return nil
}

func (x *HeartbeatFee) GetFee() float64 {
	if x != nil {
		return x.Fee
	}
	return 0
}

func (x *HeartbeatFee) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *HeartbeatFee) GetDetail() string {
	if x != nil {
		return x.Detail
	}
	return ""
}

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

	OrgId          uint64               `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId      uint64               `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Type           IntegrationType      `protobuf:"varint,3,opt,name=type,proto3,enum=central.IntegrationType" json:"type,omitempty"`
	Payloads       []IntegrationPayload `protobuf:"varint,5,rep,packed,name=payloads,proto3,enum=central.IntegrationPayload" json:"payloads,omitempty"`
	DatadogApiKey  string               `protobuf:"bytes,6,opt,name=datadog_api_key,json=datadogApiKey,proto3" json:"datadog_api_key,omitempty"`
	DatadogSite    DatadogSite          `protobuf:"varint,7,opt,name=datadog_site,json=datadogSite,proto3,enum=central.DatadogSite" json:"datadog_site,omitempty"`
	NewrelicApiKey string               `protobuf:"bytes,8,opt,name=newrelic_api_key,json=newrelicApiKey,proto3" json:"newrelic_api_key,omitempty"`
	NewrelicSite   NewrelicSite         `protobuf:"varint,9,opt,name=newrelic_site,json=newrelicSite,proto3,enum=central.NewrelicSite" json:"newrelic_site,omitempty"`
}

func (x *IntegrationCreateReq) Reset() {
	*x = IntegrationCreateReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[178]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationCreateReq) ProtoMessage() {}

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

func (x *IntegrationCreateReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationCreateReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *IntegrationCreateReq) GetType() IntegrationType {
	if x != nil {
		return x.Type
	}
	return IntegrationType_INTEGRATION_TYPE_UNSPECIFIED
}

func (x *IntegrationCreateReq) GetPayloads() []IntegrationPayload {
	if x != nil {
		return x.Payloads
	}
	return nil
}

func (x *IntegrationCreateReq) GetDatadogApiKey() string {
	if x != nil {
		return x.DatadogApiKey
	}
	return ""
}

func (x *IntegrationCreateReq) GetDatadogSite() DatadogSite {
	if x != nil {
		return x.DatadogSite
	}
	return DatadogSite_DATADOG_SITE_UNSPECIFIED
}

func (x *IntegrationCreateReq) GetNewrelicApiKey() string {
	if x != nil {
		return x.NewrelicApiKey
	}
	return ""
}

func (x *IntegrationCreateReq) GetNewrelicSite() NewrelicSite {
	if x != nil {
		return x.NewrelicSite
	}
	return NewrelicSite_NEWRELIC_SITE_UNSPECIFIED
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// The type field goes to query parameters
	Type IntegrationType `protobuf:"varint,3,opt,name=type,proto3,enum=central.IntegrationType" json:"type,omitempty"`
}

func (x *IntegrationDeleteReq) Reset() {
	*x = IntegrationDeleteReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[179]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationDeleteReq) ProtoMessage() {}

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

func (x *IntegrationDeleteReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationDeleteReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *IntegrationDeleteReq) GetType() IntegrationType {
	if x != nil {
		return x.Type
	}
	return IntegrationType_INTEGRATION_TYPE_UNSPECIFIED
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *IntegrationStatusReq) Reset() {
	*x = IntegrationStatusReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[180]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationStatusReq) ProtoMessage() {}

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

func (x *IntegrationStatusReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationStatusReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	OrgId     uint64            `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64            `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Type      IntegrationType   `protobuf:"varint,3,opt,name=type,proto3,enum=central.IntegrationType" json:"type,omitempty"`
	Status    IntegrationStatus `protobuf:"varint,4,opt,name=status,proto3,enum=central.IntegrationStatus" json:"status,omitempty"`
	// status_reason contains error message of the underlying data pipeline.
	StatusReason         string               `protobuf:"bytes,5,opt,name=status_reason,json=statusReason,proto3" json:"status_reason,omitempty"`
	Payloads             []IntegrationPayload `protobuf:"varint,6,rep,packed,name=payloads,proto3,enum=central.IntegrationPayload" json:"payloads,omitempty"`
	DatadogSite          DatadogSite          `protobuf:"varint,7,opt,name=datadog_site,json=datadogSite,proto3,enum=central.DatadogSite" json:"datadog_site,omitempty"`
	DatadogSiteUrl       string               `protobuf:"bytes,8,opt,name=datadog_site_url,json=datadogSiteUrl,proto3" json:"datadog_site_url,omitempty"`
	DatadogDashboardUrl  string               `protobuf:"bytes,9,opt,name=datadog_dashboard_url,json=datadogDashboardUrl,proto3" json:"datadog_dashboard_url,omitempty"`
	DatadogMaskedApiKey  string               `protobuf:"bytes,10,opt,name=datadog_masked_api_key,json=datadogMaskedApiKey,proto3" json:"datadog_masked_api_key,omitempty"`
	NewrelicSite         NewrelicSite         `protobuf:"varint,11,opt,name=newrelic_site,json=newrelicSite,proto3,enum=central.NewrelicSite" json:"newrelic_site,omitempty"`
	NewrelicSiteUrl      string               `protobuf:"bytes,12,opt,name=newrelic_site_url,json=newrelicSiteUrl,proto3" json:"newrelic_site_url,omitempty"`
	NewrelicDashboardUrl string               `protobuf:"bytes,13,opt,name=newrelic_dashboard_url,json=newrelicDashboardUrl,proto3" json:"newrelic_dashboard_url,omitempty"`
	NewrelicMaskedApiKey string               `protobuf:"bytes,14,opt,name=newrelic_masked_api_key,json=newrelicMaskedApiKey,proto3" json:"newrelic_masked_api_key,omitempty"`
}

func (x *IntegrationStatusResp) Reset() {
	*x = IntegrationStatusResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[181]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationStatusResp) ProtoMessage() {}

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

func (x *IntegrationStatusResp) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationStatusResp) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *IntegrationStatusResp) GetType() IntegrationType {
	if x != nil {
		return x.Type
	}
	return IntegrationType_INTEGRATION_TYPE_UNSPECIFIED
}

func (x *IntegrationStatusResp) GetStatus() IntegrationStatus {
	if x != nil {
		return x.Status
	}
	return IntegrationStatus_INTEGRATION_STATUS_UNSPECIFIED
}

func (x *IntegrationStatusResp) GetStatusReason() string {
	if x != nil {
		return x.StatusReason
	}
	return ""
}

func (x *IntegrationStatusResp) GetPayloads() []IntegrationPayload {
	if x != nil {
		return x.Payloads
	}
	return nil
}

func (x *IntegrationStatusResp) GetDatadogSite() DatadogSite {
	if x != nil {
		return x.DatadogSite
	}
	return DatadogSite_DATADOG_SITE_UNSPECIFIED
}

func (x *IntegrationStatusResp) GetDatadogSiteUrl() string {
	if x != nil {
		return x.DatadogSiteUrl
	}
	return ""
}

func (x *IntegrationStatusResp) GetDatadogDashboardUrl() string {
	if x != nil {
		return x.DatadogDashboardUrl
	}
	return ""
}

func (x *IntegrationStatusResp) GetDatadogMaskedApiKey() string {
	if x != nil {
		return x.DatadogMaskedApiKey
	}
	return ""
}

func (x *IntegrationStatusResp) GetNewrelicSite() NewrelicSite {
	if x != nil {
		return x.NewrelicSite
	}
	return NewrelicSite_NEWRELIC_SITE_UNSPECIFIED
}

func (x *IntegrationStatusResp) GetNewrelicSiteUrl() string {
	if x != nil {
		return x.NewrelicSiteUrl
	}
	return ""
}

func (x *IntegrationStatusResp) GetNewrelicDashboardUrl() string {
	if x != nil {
		return x.NewrelicDashboardUrl
	}
	return ""
}

func (x *IntegrationStatusResp) GetNewrelicMaskedApiKey() string {
	if x != nil {
		return x.NewrelicMaskedApiKey
	}
	return ""
}

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

	OrgId         uint64      `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId     uint64      `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	DatadogApiKey string      `protobuf:"bytes,3,opt,name=datadog_api_key,json=datadogApiKey,proto3" json:"datadog_api_key,omitempty"`
	DatadogSite   DatadogSite `protobuf:"varint,4,opt,name=datadog_site,json=datadogSite,proto3,enum=central.DatadogSite" json:"datadog_site,omitempty"`
}

func (x *IntegrationDatadogValidateReq) Reset() {
	*x = IntegrationDatadogValidateReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[182]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationDatadogValidateReq) ProtoMessage() {}

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

func (x *IntegrationDatadogValidateReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationDatadogValidateReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *IntegrationDatadogValidateReq) GetDatadogApiKey() string {
	if x != nil {
		return x.DatadogApiKey
	}
	return ""
}

func (x *IntegrationDatadogValidateReq) GetDatadogSite() DatadogSite {
	if x != nil {
		return x.DatadogSite
	}
	return DatadogSite_DATADOG_SITE_UNSPECIFIED
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Valid     bool   `protobuf:"varint,3,opt,name=valid,proto3" json:"valid,omitempty"`
}

func (x *IntegrationDatadogValidateResp) Reset() {
	*x = IntegrationDatadogValidateResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[183]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationDatadogValidateResp) ProtoMessage() {}

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

func (x *IntegrationDatadogValidateResp) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationDatadogValidateResp) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *IntegrationDatadogValidateResp) GetValid() bool {
	if x != nil {
		return x.Valid
	}
	return false
}

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

	OrgId          uint64       `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId      uint64       `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	NewrelicApiKey string       `protobuf:"bytes,3,opt,name=newrelic_api_key,json=newrelicApiKey,proto3" json:"newrelic_api_key,omitempty"`
	NewrelicSite   NewrelicSite `protobuf:"varint,4,opt,name=newrelic_site,json=newrelicSite,proto3,enum=central.NewrelicSite" json:"newrelic_site,omitempty"`
}

func (x *IntegrationNewrelicValidateReq) Reset() {
	*x = IntegrationNewrelicValidateReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[184]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationNewrelicValidateReq) ProtoMessage() {}

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

func (x *IntegrationNewrelicValidateReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationNewrelicValidateReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *IntegrationNewrelicValidateReq) GetNewrelicApiKey() string {
	if x != nil {
		return x.NewrelicApiKey
	}
	return ""
}

func (x *IntegrationNewrelicValidateReq) GetNewrelicSite() NewrelicSite {
	if x != nil {
		return x.NewrelicSite
	}
	return NewrelicSite_NEWRELIC_SITE_UNSPECIFIED
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Valid     bool   `protobuf:"varint,3,opt,name=valid,proto3" json:"valid,omitempty"`
}

func (x *IntegrationNewrelicValidateResp) Reset() {
	*x = IntegrationNewrelicValidateResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[185]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationNewrelicValidateResp) ProtoMessage() {}

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

func (x *IntegrationNewrelicValidateResp) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationNewrelicValidateResp) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *IntegrationNewrelicValidateResp) GetValid() bool {
	if x != nil {
		return x.Valid
	}
	return false
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// The type field goes to query parameters
	Type IntegrationType `protobuf:"varint,3,opt,name=type,proto3,enum=central.IntegrationType" json:"type,omitempty"`
}

func (x *IntegrationListReq) Reset() {
	*x = IntegrationListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[186]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationListReq) ProtoMessage() {}

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

func (x *IntegrationListReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *IntegrationListReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *IntegrationListReq) GetType() IntegrationType {
	if x != nil {
		return x.Type
	}
	return IntegrationType_INTEGRATION_TYPE_UNSPECIFIED
}

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

	Items []*IntegrationStatusResp `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Total int32                    `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
}

func (x *IntegrationListResp) Reset() {
	*x = IntegrationListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[187]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IntegrationListResp) ProtoMessage() {}

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

func (x *IntegrationListResp) GetItems() []*IntegrationStatusResp {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *IntegrationListResp) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Email     string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
}

func (x *SubscribeUserAlertReq) Reset() {
	*x = SubscribeUserAlertReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[188]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SubscribeUserAlertReq) ProtoMessage() {}

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

func (x *SubscribeUserAlertReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *SubscribeUserAlertReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *SubscribeUserAlertReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

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

func (x *SubscribeUserAlertResp) Reset() {
	*x = SubscribeUserAlertResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[189]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SubscribeUserAlertResp) ProtoMessage() {}

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

func (x *SubscribeUserAlertResp) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

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

	OrgId       uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId   uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	UserAlertId uint64 `protobuf:"varint,3,opt,name=user_alert_id,json=userAlertId,proto3" json:"user_alert_id,omitempty"`
}

func (x *UnsubscribeUserAlertReq) Reset() {
	*x = UnsubscribeUserAlertReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[190]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UnsubscribeUserAlertReq) ProtoMessage() {}

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

func (x *UnsubscribeUserAlertReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *UnsubscribeUserAlertReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *UnsubscribeUserAlertReq) GetUserAlertId() uint64 {
	if x != nil {
		return x.UserAlertId
	}
	return 0
}

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

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

func (x *UnsubscribeUserAlertResp) Reset() {
	*x = UnsubscribeUserAlertResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[191]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UnsubscribeUserAlertResp) ProtoMessage() {}

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

func (x *UnsubscribeUserAlertResp) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}

func (x *GetUserAlertListReq) Reset() {
	*x = GetUserAlertListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[192]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetUserAlertListReq) ProtoMessage() {}

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

func (x *GetUserAlertListReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *GetUserAlertListReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

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

	UserAlertId uint64 `protobuf:"varint,1,opt,name=user_alert_id,json=userAlertId,proto3" json:"user_alert_id,omitempty"`
	Email       string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
}

func (x *UserAlertItem) Reset() {
	*x = UserAlertItem{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[193]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserAlertItem) ProtoMessage() {}

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

func (x *UserAlertItem) GetUserAlertId() uint64 {
	if x != nil {
		return x.UserAlertId
	}
	return 0
}

func (x *UserAlertItem) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

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

	Items []*UserAlertItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *GetUserAlertListResp) Reset() {
	*x = GetUserAlertListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[194]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetUserAlertListResp) ProtoMessage() {}

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

func (x *GetUserAlertListResp) GetItems() []*UserAlertItem {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId uint64 `protobuf:"varint,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
}

func (x *GetAuditLogStatusReq) Reset() {
	*x = GetAuditLogStatusReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[195]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAuditLogStatusReq) ProtoMessage() {}

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

func (x *GetAuditLogStatusReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *GetAuditLogStatusReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetAuditLogStatusReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

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

	ComponentType ComponentType `protobuf:"varint,1,opt,name=component_type,json=componentType,proto3,enum=central.ComponentType" json:"component_type,omitempty"`
	Compute       float64       `protobuf:"fixed64,2,opt,name=compute,proto3" json:"compute,omitempty"`
	Storage       float64       `protobuf:"fixed64,3,opt,name=storage,proto3" json:"storage,omitempty"`
	RawCompute    float64       `protobuf:"fixed64,11,opt,name=raw_compute,json=rawCompute,proto3" json:"raw_compute,omitempty"`
	RawStorage    float64       `protobuf:"fixed64,12,opt,name=raw_storage,json=rawStorage,proto3" json:"raw_storage,omitempty"`
}

func (x *CalcClusterFeeResp_ComponentCost) Reset() {
	*x = CalcClusterFeeResp_ComponentCost{}
	if protoimpl.UnsafeEnabled {
		mi := &file_central_service_proto_msgTypes[196]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CalcClusterFeeResp_ComponentCost) ProtoMessage() {}

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

func (x *CalcClusterFeeResp_ComponentCost) GetComponentType() ComponentType {
	if x != nil {
		return x.ComponentType
	}
	return ComponentType_COMPONENT_TYPE_UNSPECIFIED
}

func (x *CalcClusterFeeResp_ComponentCost) GetCompute() float64 {
	if x != nil {
		return x.Compute
	}
	return 0
}

func (x *CalcClusterFeeResp_ComponentCost) GetStorage() float64 {
	if x != nil {
		return x.Storage
	}
	return 0
}

func (x *CalcClusterFeeResp_ComponentCost) GetRawCompute() float64 {
	if x != nil {
		return x.RawCompute
	}
	return 0
}

func (x *CalcClusterFeeResp_ComponentCost) GetRawStorage() float64 {
	if x != nil {
		return x.RawStorage
	}
	return 0
}

var File_central_service_proto protoreflect.FileDescriptor

var file_central_service_proto_rawDesc = []byte{
	0x0a, 0x15, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61,
	0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
	0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x2c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x73,
	0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61,
	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x22, 0x84, 0x02, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70,
	0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
	0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e,
	0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
	0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
	0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72,
	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x69,
	0x3a, 0x45, 0x92, 0x41, 0x42, 0x0a, 0x40, 0xd2, 0x01, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
	0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0xd2, 0x01, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x5f,
	0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x72, 0x65, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x73, 0xd2, 0x01, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f,
	0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x69, 0x22, 0xe5, 0x03, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72,
	0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x70,
	0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72,
	0x6f, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
	0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x76, 0x54, 0x69, 0x65, 0x72, 0x12,
	0x39, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a,
	0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72,
	0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x67, 0x6e, 0x6f,
	0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x76, 0x92, 0x41, 0x73, 0x0a, 0x71, 0xd2, 0x01,
	0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0d, 0x72, 0x6f,
	0x6f, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2,
	0x01, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x74, 0x69, 0x65, 0x72, 0xd2, 0x01, 0x0a,
	0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0xd2, 0x01, 0x12, 0x70, 0x72, 0x69,
	0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22,
	0x6c, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73,
	0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72,
	0x61, 0x6c, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x3a, 0x16, 0x92, 0x41, 0x13, 0x0a, 0x11, 0xd2, 0x01, 0x02, 0x69,
	0x64, 0xd2, 0x01, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x22, 0xd8, 0x01,
	0x0a, 0x0f, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
	0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70,
	0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
	0x73, 0x3a, 0x35, 0x92, 0x41, 0x32, 0x0a, 0x30, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x63, 0x6f,
	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa4, 0x02, 0x0a, 0x11, 0x43, 0x61, 0x6c,
	0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x15,
	0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
	0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x64,
	0x65, 0x76, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69,
	0x73, 0x44, 0x65, 0x76, 0x54, 0x69, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70,
	0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
	0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f,
	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
	0x6e, 0x74, 0x73, 0x3a, 0x4a, 0x92, 0x41, 0x47, 0x0a, 0x45, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67,
	0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x72, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x74, 0x69,
	0x65, 0x72, 0xd2, 0x01, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22,
	0xe8, 0x02, 0x0a, 0x12, 0x43, 0x61, 0x6c, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x46,
	0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x05, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e,
	0x43, 0x61, 0x6c, 0x63, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x73, 0x74,
	0x52, 0x05, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f,
	0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65,
	0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08,
	0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x1a, 0xc4, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d,
	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0e, 0x63, 0x6f,
	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d,
	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70,
	0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d,
	0x70, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70,
	0x75, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a,
	0x0b, 0x72, 0x61, 0x77, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x12, 0x1f,
	0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a,
	0x19, 0x92, 0x41, 0x16, 0x0a, 0x14, 0xd2, 0x01, 0x05, 0x63, 0x6f, 0x73, 0x74, 0x73, 0xd2, 0x01,
	0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x22, 0xb2, 0x01, 0x0a, 0x13, 0x43,
	0x61, 0x6c, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52,
	0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a,
	0x0b, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x76, 0x54, 0x69, 0x65, 0x72, 0x3a, 0x30, 0x92,
	0x41, 0x2d, 0x0a, 0x2b, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
	0x6e, 0xd2, 0x01, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x22,
	0xd9, 0x01, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x65,
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64,
	0x65, 0x4e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6f, 0x72,
	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x47, 0x69, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61,
	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x10, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
	0x47, 0x69, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x22, 0xf5, 0x01, 0x0a, 0x15,
	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
	0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a,
	0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75,
	0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x3a, 0x36, 0x92, 0x41, 0x33,
	0x0a, 0x31, 0xd2, 0x01, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74,
	0x79, 0x70, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0xd2, 0x01,
	0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
	0x5f, 0x69, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x6c, 0x63, 0x4e, 0x6f, 0x64, 0x65,
	0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0d,
	0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f,
	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x73, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
	0x73, 0x12, 0x2f, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e,
	0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x3a, 0x21, 0x92, 0x41, 0x1e, 0x0a, 0x1c, 0xd2, 0x01, 0x0d, 0x6e, 0x6f, 0x64, 0x65,
	0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0xd2, 0x01, 0x09, 0x62, 0x61, 0x73, 0x65,
	0x5f, 0x72, 0x65, 0x73, 0x70, 0x22, 0x3e, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07,
	0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
	0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x51, 0x0a, 0x0b, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73,
	0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72,
	0x61, 0x6c, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x3a, 0x11, 0x92, 0x41, 0x0e, 0x0a, 0x0c, 0xd2, 0x01, 0x09, 0x62,
	0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x22, 0x2d, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x3a, 0x0a, 0x92, 0x41, 0x07,
	0x0a, 0x05, 0xd2, 0x01, 0x02, 0x69, 0x70, 0x22, 0x61, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x66, 0x66,
	0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b,
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x1a,
	0x92, 0x41, 0x17, 0x0a, 0x15, 0xd2, 0x01, 0x04, 0x63, 0x69, 0x64, 0x72, 0xd2, 0x01, 0x0b, 0x64,
	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x11, 0x54, 0x72,
	0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x2c, 0x0a, 0x05, 0x63, 0x69, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
	0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x05, 0x63, 0x69, 0x64, 0x72, 0x73, 0x3a, 0x0d, 0x92,
	0x41, 0x0a, 0x0a, 0x08, 0xd2, 0x01, 0x05, 0x63, 0x69, 0x64, 0x72, 0x73, 0x22, 0xee, 0x01, 0x0a,
	0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x69,
	0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66,
	0x69, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1a, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66,
	0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0e, 0x74, 0x72,
	0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x3a, 0x3a, 0x92, 0x41, 0x37, 0x0a, 0x35, 0xd2, 0x01, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66,
	0x69, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x6f, 0x0a,
	0x1a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66,
	0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x3a, 0x1b, 0x92, 0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc9,
	0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69,
	0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
	0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0e, 0x74, 0x72, 0x61,
	0x66, 0x66, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x2d, 0x92, 0x41, 0x2a,
	0x0a, 0x28, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66,
	0x69, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x11, 0x54,
	0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x43, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69,
	0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
	0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0e, 0x74, 0x72, 0x61,
	0x66, 0x66, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x1f, 0x92, 0x41, 0x1c,
	0x0a, 0x1a, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x0f, 0x74, 0x72, 0x61,
	0x66, 0x66, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9c, 0x01, 0x0a,
	0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61,
	0x6c, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x1e, 0x92, 0x41, 0x1b,
	0x0a, 0x19, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x06, 0x64, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0xd2, 0x01, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x76, 0x0a, 0x0c, 0x56,
	0x70, 0x63, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a, 0x1b, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x02, 0x69, 0x64, 0x22, 0xef, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x57,
	0x53, 0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x23,
	0x0a, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70,
	0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x61,
	0x6e, 0x74, 0x56, 0x70, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70,
	0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x65,
	0x6e, 0x61, 0x6e, 0x74, 0x56, 0x70, 0x63, 0x43, 0x69, 0x64, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x6a, 0x92, 0x41, 0x67, 0x0a, 0x65,
	0xd2, 0x01, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0xd2, 0x01, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70,
	0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2,
	0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x41, 0x57, 0x53, 0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x70, 0x63, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x70, 0x63, 0x50, 0x65,
	0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x70, 0x63, 0x5f, 0x63,
	0x69, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x70, 0x63, 0x43, 0x69,
	0x64, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x6f,
	0x73, 0x74, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70,
	0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x16,
	0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x43, 0x92, 0x41, 0x40, 0x0a, 0x3e, 0xd2, 0x01, 0x0e,
	0x76, 0x70, 0x63, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x08, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0xd2, 0x01, 0x11, 0x70, 0x72, 0x69, 0x76,
	0x61, 0x74, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0xd2, 0x01, 0x06,
	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x22, 0x8c, 0x03, 0x0a, 0x16,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x63, 0x70, 0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72,
	0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63,
	0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x56, 0x70, 0x63, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2e,
	0x0a, 0x13, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x65, 0x6e,
	0x61, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16,
	0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f,
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x56, 0x70, 0x63,
	0x43, 0x69, 0x64, 0x72, 0x3a, 0x74, 0x92, 0x41, 0x71, 0x0a, 0x6f, 0xd2, 0x01, 0x11, 0x74, 0x65,
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2,
	0x01, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x13, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x5f, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x22, 0xb4, 0x01, 0x0a, 0x17, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x63, 0x70, 0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72, 0x69,
	0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
	0x3a, 0x2f, 0x92, 0x41, 0x2c, 0x0a, 0x2a, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x02, 0x69,
	0x64, 0x22, 0x9f, 0x03, 0x0a, 0x0d, 0x47, 0x63, 0x70, 0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72,
	0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6e,
	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d,
	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a,
	0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x65, 0x6e,
	0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x70, 0x63, 0x43, 0x69, 0x64, 0x72, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f,
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x56, 0x70, 0x63,
	0x43, 0x69, 0x64, 0x72, 0x3a, 0x6d, 0x92, 0x41, 0x6a, 0x0a, 0x68, 0xd2, 0x01, 0x06, 0x72, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x13, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0xd2, 0x01, 0x08, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0xd2, 0x01,
	0x02, 0x69, 0x64, 0x22, 0xf8, 0x02, 0x0a, 0x0d, 0x41, 0x77, 0x73, 0x56, 0x70, 0x63, 0x50, 0x65,
	0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a,
	0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x7a, 0x6f,
	0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
	0x65, 0x48, 0x6f, 0x73, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x70, 0x63,
	0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x76, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12,
	0x19, 0x0a, 0x08, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x76, 0x70, 0x63, 0x43, 0x69, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x65,
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x56, 0x70, 0x63, 0x43, 0x69,
	0x64, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63,
	0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x56, 0x70, 0x63, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x6e,
	0x92, 0x41, 0x6b, 0x0a, 0x69, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01,
	0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x7a, 0x6f,
	0x6e, 0x65, 0xd2, 0x01, 0x0e, 0x76, 0x70, 0x63, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67,
	0x5f, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72, 0xd2, 0x01,
	0x0f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x69, 0x64, 0x72,
	0xd2, 0x01, 0x0d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x70, 0x63, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x22, 0x6b,
	0x0a, 0x0e, 0x47, 0x63, 0x70, 0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73,
	0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e,
	0x47, 0x63, 0x70, 0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x69,
	0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x6b, 0x0a, 0x0e, 0x41,
	0x77, 0x73, 0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x14, 0x0a,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x41, 0x77, 0x73,
	0x56, 0x70, 0x63, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d,
	0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x30, 0x0a, 0x04, 0x44, 0x69, 0x73, 0x6b,
	0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x67, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x06, 0x64, 0x69, 0x73, 0x6b, 0x47, 0x69, 0x3a, 0x0f, 0x92, 0x41, 0x0c, 0x0a, 0x0a,
	0xd2, 0x01, 0x07, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x67, 0x69, 0x22, 0x5c, 0x0a, 0x06, 0x52, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x1b, 0x92, 0x41, 0x18,
	0x0a, 0x16, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0c, 0x64, 0x69, 0x73, 0x70,
	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61,
	0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1d,
	0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72,
	0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72,
	0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49,
	0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
	0x3a, 0x41, 0x92, 0x41, 0x3e, 0x0a, 0x3c, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0xd2,
	0x01, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0xd2, 0x01, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73,
	0x77, 0x6f, 0x72, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65,
	0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x28, 0x92, 0x41, 0x25, 0x0a, 0x23, 0xd2, 0x01, 0x0a,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67,
	0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x22, 0xc7, 0x01, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x3a, 0x37, 0x92, 0x41, 0x34, 0x0a, 0x32, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x16, 0x4d,
	0x61, 0x6b, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62,
	0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x28, 0x92, 0x41, 0x25, 0x0a,
	0x23, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70,
	0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70,
	0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
	0x65, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x38, 0x92, 0x41, 0x35, 0x0a, 0x33, 0xd2,
	0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67,
	0x65, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x22, 0x77, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x47, 0x65, 0x74,
	0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a, 0x1b,
	0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x0c,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72,
	0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x3a, 0x28, 0x92, 0x41, 0x25, 0x0a, 0x23, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x3d, 0x0a, 0x0b, 0x54,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65,
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x11, 0x92, 0x41, 0x0e, 0x0a, 0x0c, 0xd2, 0x01,
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x09, 0x4c, 0x61,
	0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52,
	0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x3a, 0x0d, 0x92, 0x41, 0x0a, 0x0a, 0x08, 0xd2, 0x01, 0x05,
	0x63, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xfb, 0x05, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
	0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61,
	0x72, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68,
	0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x64, 0x65, 0x74, 0x61, 0x63,
	0x68, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x74, 0x61, 0x63,
	0x68, 0x65, 0x64, 0x5f, 0x74, 0x73, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
	0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x54, 0x73, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65,
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4c, 0x61, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x12, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65,
	0x74, 0x61, 0x63, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
	0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x57, 0x72,
	0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61,
	0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4a, 0x0a,
	0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65,
	0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x57, 0x72,
	0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72,
	0x65, 0x73, 0x73, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72,
	0x65, 0x73, 0x73, 0x22, 0xc6, 0x0d, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72,
	0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20,
	0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x52, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
	0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
	0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2c, 0x0a, 0x0a, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
	0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x2d, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x70, 0x63, 0x5f, 0x63,
	0x69, 0x64, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x76, 0x70, 0x63, 0x43, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x0a,
	0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x12, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18,
	0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
	0x73, 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
	0x65, 0x6e, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70,
	0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29,
	0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61,
	0x64, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74,
	0x68, 0x65, 0x75, 0x73, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x3b, 0x0a, 0x0f, 0x70, 0x72, 0x69,
	0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x45, 0x6e, 0x64,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e,
	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
	0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
	0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x13,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x72, 0x6e, 0x12, 0x1b, 0x0a,
	0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x6c, 0x61,
	0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
	0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x38,
	0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x52,
	0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c,
	0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x77, 0x72, 0x69,
	0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x14, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x74, 0x69, 0x65,
	0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x76, 0x54, 0x69,
	0x65, 0x72, 0x22, 0x6e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06,
	0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41,
	0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x43, 0x41, 0x4c, 0x49, 0x4e,
	0x47, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47,
	0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c,
	0x45, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x49, 0x4e,
	0x47, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x49, 0x4e, 0x47,
	0x10, 0x06, 0x22, 0x2d, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59,
	0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10,
	0x01, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67,
	0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49,
	0x5a, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52,
	0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x49,
	0x4e, 0x47, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45,
	0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x49, 0x4e, 0x47,
	0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x10,
	0x05, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e,
	0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x22, 0x35, 0x0a, 0x0b,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x43,
	0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41,
	0x52, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x41, 0x52,
	0x59, 0x10, 0x02, 0x3a, 0xb6, 0x02, 0x92, 0x41, 0xb2, 0x02, 0x0a, 0xaf, 0x02, 0xd2, 0x01, 0x02,
	0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0xd2, 0x01, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2,
	0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
	0xd2, 0x01, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0xd2, 0x01, 0x08,
	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0xd2, 0x01, 0x0e, 0x76, 0x70, 0x63, 0x5f, 0x63,
	0x69, 0x64, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0xd2, 0x01, 0x08, 0x63, 0x61, 0x70, 0x61,
	0x63, 0x69, 0x74, 0x79, 0xd2, 0x01, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63,
	0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0xd2, 0x01, 0x0f, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0xd2, 0x01, 0x10, 0x70, 0x72,
	0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0xd2, 0x01,
	0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
	0xd2, 0x01, 0x08, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0xd2, 0x01, 0x08, 0x72, 0x6f,
	0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, 0xd2, 0x01, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
	0x69, 0x64, 0xd2, 0x01, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0xd2,
	0x01, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xd2, 0x01,
	0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0xd2, 0x01, 0x0c,
	0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x90, 0x01, 0x0a,
	0x08, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12,
	0x26, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
	0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2f, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f,
	0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65,
	0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08,
	0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2,
	0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22,
	0x8a, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2f,
	0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x42, 0x61, 0x73,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x3a,
	0x1b, 0x92, 0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0xd2, 0x01, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x22, 0x9d, 0x02, 0x0a,
	0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12,
	0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x62,
	0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x69,
	0x7a, 0x65, 0x3a, 0x48, 0x92, 0x41, 0x45, 0x0a, 0x43, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x0b, 0x64, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74,
	0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x6d, 0x0a, 0x0f,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12,
	0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x05, 0x69,
	0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x11,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
	0x73, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x69, 0x6b, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x12, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
	0x65, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x69, 0x6b, 0x76, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x69, 0x64,
	0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61,
	0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x69, 0x64,
	0x62, 0x12, 0x2c, 0x0a, 0x07, 0x74, 0x69, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d,
	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x3a,
	0x1d, 0x92, 0x41, 0x1a, 0x0a, 0x18, 0xd2, 0x01, 0x04, 0x74, 0x69, 0x6b, 0x76, 0xd2, 0x01, 0x04,
	0x74, 0x69, 0x64, 0x62, 0xd2, 0x01, 0x07, 0x74, 0x69, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x22, 0x81,
	0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08,
	0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
	0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65,
	0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
	0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
	0x65, 0x3a, 0x1f, 0x92, 0x41, 0x1c, 0x0a, 0x1a, 0xd2, 0x01, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x73, 0xd2, 0x01, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f,
	0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x12, 0x1d,
	0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x69, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x47, 0x69, 0x12, 0x26, 0x0a,
	0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x35, 0x92, 0x41, 0x32, 0x0a, 0x30,
	0xd2, 0x01, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0xd2, 0x01, 0x0a, 0x73, 0x74, 0x6f,
	0x72, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x69, 0xd2, 0x01, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x22, 0x6e, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05,
	0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x61,
	0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04,
	0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74,
	0x3a, 0x1e, 0x92, 0x41, 0x1b, 0x0a, 0x19, 0xd2, 0x01, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0xd2,
	0x01, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0xd2, 0x01, 0x04, 0x70, 0x6f, 0x72, 0x74,
	0x22, 0x51, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63,
	0x70, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x1b, 0x0a,
	0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x69, 0x3a, 0x17, 0x92, 0x41, 0x14, 0x0a,
	0x12, 0xd2, 0x01, 0x03, 0x63, 0x70, 0x75, 0xd2, 0x01, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x5f, 0x6d, 0x69, 0x22, 0xf9, 0x02, 0x0a, 0x08, 0x54, 0x69, 0x4b, 0x56, 0x4e, 0x6f, 0x64, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54,
	0x69, 0x4b, 0x56, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x7a, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x02, 0x61, 0x7a, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61,
	0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75,
	0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x69,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x47,
	0x69, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x16, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x69, 0x4b, 0x56, 0x4e, 0x6f,
	0x64, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x51, 0x0a,
	0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41,
	0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10,
	0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45,
	0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4e,
	0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x45, 0x41, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x04,
	0x22, 0x13, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52,
	0x41, 0x47, 0x45, 0x10, 0x00, 0x3a, 0x38, 0x92, 0x41, 0x35, 0x0a, 0x33, 0xd2, 0x01, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x02, 0x61,
	0x7a, 0xd2, 0x01, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0xd2, 0x01, 0x0a, 0x73, 0x74,
	0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x69, 0xd2, 0x01, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22,
	0x82, 0x03, 0x0a, 0x0b, 0x54, 0x69, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x69,
	0x46, 0x6c, 0x61, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x7a, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x61, 0x7a, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70,
	0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x65, 0x6e, 0x74,
	0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d,
	0x70, 0x75, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f,
	0x67, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
	0x65, 0x47, 0x69, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x19, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x69, 0x46, 0x6c,
	0x61, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x22, 0x51, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06,
	0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41,
	0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49,
	0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x45, 0x52, 0x4d, 0x49,
	0x4e, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x45, 0x41, 0x56,
	0x49, 0x4e, 0x47, 0x10, 0x04, 0x22, 0x13, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a,
	0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x00, 0x3a, 0x38, 0x92, 0x41, 0x35, 0x0a,
	0x33, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0xd2, 0x01, 0x02, 0x61, 0x7a, 0xd2, 0x01, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65,
	0xd2, 0x01, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x69, 0xd2, 0x01, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x22, 0xc2, 0x02, 0x0a, 0x08, 0x54, 0x69, 0x44, 0x42, 0x4e, 0x6f, 0x64,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e,
	0x54, 0x69, 0x44, 0x42, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x61, 0x7a, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x61, 0x7a, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75,
	0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72,
	0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70,
	0x75, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x16, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x69, 0x44, 0x42,
	0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22,
	0x44, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52,
	0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e,
	0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42,
	0x4c, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54,
	0x49, 0x4e, 0x47, 0x10, 0x03, 0x22, 0x15, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a,
	0x09, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x3a, 0x2b, 0x92, 0x41,
	0x28, 0x0a, 0x26, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0xd2, 0x01, 0x02, 0x61, 0x7a, 0xd2, 0x01, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x75,
	0x74, 0x65, 0xd2, 0x01, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x0c, 0x54, 0x69,
	0x44, 0x42, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61,
	0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19,
	0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f,
	0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12,
	0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x3a,
	0x92, 0x41, 0x37, 0x0a, 0x35, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70,
	0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x61, 0x0a, 0x09, 0x54, 0x69,
	0x44, 0x42, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a,
	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63,
	0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x69, 0x44, 0x42, 0x4e, 0x6f, 0x64, 0x65, 0x52,
	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xce, 0x01,
	0x0a, 0x0c, 0x54, 0x69, 0x4b, 0x56, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12,
	0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61,
	0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a,
	0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72,
	0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x49, 0x64, 0x3a, 0x3a, 0x92, 0x41, 0x37, 0x0a, 0x35, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65,
	0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x0a, 0x63, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd1,
	0x01, 0x0a, 0x0f, 0x54, 0x69, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52,
	0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61,
	0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67,
	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x3a, 0x92, 0x41, 0x37, 0x0a, 0x35, 0xd2, 0x01, 0x04,
	0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0xd2,
	0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x22, 0x61, 0x0a, 0x09, 0x54, 0x69, 0x4b, 0x56, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12,
	0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54,
	0x69, 0x4b, 0x56, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15,
	0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05,
	0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x67, 0x0a, 0x0c, 0x54, 0x69, 0x46, 0x6c, 0x61, 0x73, 0x68,
	0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x05, 0x69,
	0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x69, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65,
	0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x9d,
	0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65,
	0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x5f, 0x6d,
	0x66, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x4d, 0x66, 0x61,
	0x3a, 0x2c, 0x92, 0x41, 0x29, 0x0a, 0x27, 0xd2, 0x01, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2,
	0x01, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x74, 0x65, 0x6e, 0x61,
	0x6e, 0x74, 0x49, 0x64, 0xd2, 0x01, 0x07, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x66, 0x61, 0x22, 0x39,
	0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12,
	0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x66, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x06, 0x75, 0x73, 0x65, 0x4d, 0x66, 0x61, 0x3a, 0x0f, 0x92, 0x41, 0x0c, 0x0a, 0x0a, 0xd2,
	0x01, 0x07, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x66, 0x61, 0x22, 0x92, 0x02, 0x0a, 0x14, 0x44, 0x65,
	0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x5f,
	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x65, 0x70, 0x49, 0x64, 0x12,
	0x49, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x44,
	0x65, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x71, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
	0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x2e, 0x0a, 0x0a, 0x44, 0x65,
	0x74, 0x61, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x6c, 0x61, 0x6e,
	0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x10, 0x01,
	0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x02, 0x3a, 0x32, 0x92, 0x41, 0x2f, 0x0a,
	0x2d, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x70, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x82,
	0x01, 0x0a, 0x15, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x23,
	0x92, 0x41, 0x20, 0x0a, 0x1e, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
	0x69, 0x64, 0xd2, 0x01, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x69, 0x64, 0x22, 0x31, 0x0a, 0x0a, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4e, 0x75, 0x6c,
	0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x0d, 0x92, 0x41, 0x0a, 0x0a, 0x08, 0xd2, 0x01,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9b, 0x08, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e,
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f,
	0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f,
	0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c,
	0x61, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x21,
	0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x69,
	0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63,
	0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x6d,
	0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x15,
	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x63, 0x74,
	0x69, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x44, 0x69, 0x73, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x13, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67,
	0x65, 0x5f, 0x63, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x13, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6e,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x72, 0x65, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x72,
	0x69, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, 0x54, 0x72, 0x69, 0x65, 0x64, 0x44, 0x65, 0x76, 0x54,
	0x69, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x1c, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x72,
	0x74, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x74, 0x68, 0x69, 0x72, 0x64,
	0x50, 0x61, 0x72, 0x74, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61,
	0x72, 0x74, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65,
	0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x74, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72,
	0x74, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a,
	0x0e, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18,
	0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74,
	0x46, 0x6c, 0x61, 0x67, 0x3a, 0x8d, 0x02, 0x92, 0x41, 0x89, 0x02, 0x0a, 0x86, 0x02, 0xd2, 0x01,
	0x02, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0a, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0xd2, 0x01, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2,
	0x01, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0xd2, 0x01, 0x08, 0x74, 0x69, 0x6d, 0x65,
	0x7a, 0x6f, 0x6e, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x04,
	0x70, 0x6c, 0x61, 0x6e, 0xd2, 0x01, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65,
	0x64, 0x69, 0x74, 0xd2, 0x01, 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f,
	0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0xd2, 0x01, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01,
	0x0c, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01, 0x14,
	0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2,
	0x01, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0xd2, 0x01, 0x13, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01, 0x15, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77,
	0x6c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xd2,
	0x01, 0x12, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x5f,
	0x74, 0x69, 0x65, 0x72, 0x22, 0x31, 0x0a, 0x08, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x52, 0x65, 0x71,
	0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x3a, 0x0e, 0x92, 0x41, 0x0b, 0x0a, 0x09, 0xd2, 0x01,
	0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d,
	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a,
	0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x3a, 0x1b, 0x92, 0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x22, 0xf6, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x32, 0x0a,
	0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73,
	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x3a, 0x37, 0x92, 0x41, 0x34, 0x0a, 0x32, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01, 0x0b,
	0x75, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5f, 0x0a, 0x08, 0x50,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x26, 0x0a,
	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63,
	0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05,
	0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x44, 0x0a, 0x0b,
	0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a,
	0x11, 0x92, 0x41, 0x0e, 0x0a, 0x0c, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x22, 0x54, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x27, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0a, 0x92, 0x41, 0x07, 0x0a, 0x05, 0xd2, 0x01, 0x02, 0x69,
	0x64, 0x22, 0x79, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x73, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70,
	0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12,
	0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a,
	0x1b, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67,
	0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x80, 0x01, 0x0a,
	0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
	0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x22, 0x92, 0x41, 0x1f,
	0x0a, 0x1d, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
	0x74, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x72, 0x6f, 0x6c, 0x65, 0x3a, 0x1f, 0x92, 0x41, 0x1c, 0x0a, 0x1a, 0xd2, 0x01, 0x06, 0x6f, 0x72,
	0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0xbd, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61,
	0x6e, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
	0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
	0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74,
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x61, 0x70,
	0x74, 0x63, 0x68, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f,
	0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x74, 0x68,
	0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x19, 0x74, 0x68, 0x69, 0x72, 0x64,
	0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x74, 0x68, 0x69, 0x72,
	0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x3a, 0x80, 0x01, 0x92, 0x41, 0x7d, 0x0a, 0x7b, 0xd2, 0x01, 0x07, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x72, 0x79, 0xd2, 0x01, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0xd2, 0x01, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x05,
	0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x03, 0x6a, 0x6f, 0x62, 0xd2, 0x01, 0x07, 0x63, 0x6f,
	0x6d, 0x70, 0x61, 0x6e, 0x79, 0xd2, 0x01, 0x0c, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0xd2, 0x01, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0xd2,
	0x01, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0xd2, 0x01, 0x12, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x5f, 0x72, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x0a, 0x18, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65,
	0x71, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x0d, 0x92, 0x41, 0x0a, 0x0a, 0x08, 0xd2, 0x01,
	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x77, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x4f, 0x72, 0x67, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x3a, 0x20, 0x92,
	0x41, 0x1d, 0x0a, 0x1b, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x22,
	0x7b, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x65, 0x66, 0x61,
	0x75, 0x6c, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a,
	0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f,
	0x72, 0x67, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65,
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x1f, 0x92, 0x41, 0x1c,
	0x0a, 0x1a, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0e, 0x64, 0x65,
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x16,
	0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x4e, 0x50, 0x6f, 0x6c,
	0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x3a, 0x0e, 0x92,
	0x41, 0x0b, 0x0a, 0x09, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x22, 0xe2, 0x01,
	0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69,
	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74,
	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x3a, 0x37, 0x92, 0x41, 0x34, 0x0a, 0x32,
	0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x0b,
	0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x04, 0x72, 0x6f,
	0x6c, 0x65, 0x22, 0x59, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x0d, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52,
	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x94, 0x01,
	0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x15,
	0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
	0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72,
	0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72,
	0x50, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x28, 0x92, 0x41, 0x25, 0x0a,
	0x23, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67,
	0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x05, 0x65,
	0x6d, 0x61, 0x69, 0x6c, 0x22, 0xbf, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72,
	0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61,
	0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67,
	0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x2d, 0x92, 0x41, 0x2a, 0x0a, 0x28, 0xd2, 0x01,
	0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65,
	0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x69, 0x74,
	0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12,
	0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14,
	0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65,
	0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x3a, 0x2a, 0x92, 0x41, 0x27, 0x0a, 0x25, 0xd2,
	0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x04,
	0x72, 0x6f, 0x6c, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49,
	0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72,
	0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72,
	0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66,
	0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73,
	0x74, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x2f, 0x92, 0x41, 0x2c, 0x0a, 0x2a, 0xd2, 0x01, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x0a,
	0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x09, 0x6c, 0x61, 0x73,
	0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x41, 0x75, 0x74, 0x68, 0x30, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a,
	0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f,
	0x72, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
	0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61,
	0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x21, 0x92, 0x41, 0x1e, 0x0a, 0x1c, 0xd2, 0x01, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0xd2, 0x01,
	0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0xf4, 0x01, 0x0a, 0x0b, 0x55, 0x73,
	0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61,
	0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12,
	0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b,
	0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72,
	0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12,
	0x30, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72,
	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x73, 0x3a, 0x3d, 0x92, 0x41, 0x3a, 0x0a, 0x38, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x05,
	0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0xd2, 0x01, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01,
	0x04, 0x72, 0x6f, 0x6c, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
	0x22, 0x92, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64,
	0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x27, 0x92, 0x41,
	0x24, 0x0a, 0x22, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x66,
	0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x09, 0x6c, 0x61, 0x73, 0x74,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55,
	0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x17, 0x0a,
	0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06,
	0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x18, 0x92, 0x41, 0x15, 0x0a, 0x13, 0xd2, 0x01, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x22, 0x8c, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64,
	0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12,
	0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x25, 0x92, 0x41, 0x22, 0x0a, 0x20, 0xd2,
	0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22,
	0x8a, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x49, 0x44, 0x52, 0x12,
	0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
	0x69, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75,
	0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x69, 0x64,
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43,
	0x69, 0x64, 0x72, 0x3a, 0x27, 0x92, 0x41, 0x24, 0x0a, 0x22, 0xd2, 0x01, 0x04, 0x63, 0x69, 0x64,
	0x72, 0xd2, 0x01, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0xd2, 0x01,
	0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x22, 0xa7, 0x01, 0x0a,
	0x0a, 0x47, 0x65, 0x74, 0x43, 0x49, 0x44, 0x52, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a,
	0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x3a, 0x2f, 0x92, 0x41, 0x2c, 0x0a, 0x2a, 0xd2, 0x01, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06,
	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72,
	0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49,
	0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
	0x3a, 0x1b, 0x92, 0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xab, 0x01,
	0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43,
	0x49, 0x44, 0x52, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x3a, 0x2d, 0x92, 0x41,
	0x2a, 0x0a, 0x28, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x04, 0x63, 0x69, 0x64, 0x72, 0x22, 0x91, 0x01, 0x0a, 0x0a,
	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x49, 0x44, 0x52, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x3a,
	0x1e, 0x92, 0x41, 0x1b, 0x0a, 0x19, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2,
	0x01, 0x04, 0x63, 0x69, 0x64, 0x72, 0xd2, 0x01, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22,
	0x93, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x43, 0x49, 0x44, 0x52, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x26, 0x92,
	0x41, 0x23, 0x0a, 0x21, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
	0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x0a,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x68, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x15,
	0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
	0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x49, 0x64, 0x3a, 0x1b, 0x92, 0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x06, 0x6f, 0x72,
	0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x22, 0x3d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69,
	0x63, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x22, 0x68, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d,
	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x1b, 0x92,
	0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x14, 0x47, 0x65,
	0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x36, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x65,
	0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72,
	0x61, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x6d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x13, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x52,
	0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f,
	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x3a,
	0x24, 0x92, 0x41, 0x21, 0x0a, 0x1f, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2,
	0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6b,
	0x65, 0x79, 0x5f, 0x69, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61,
	0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x66,
	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x65,
	0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d,
	0x61, 0x74, 0x3a, 0x1b, 0x92, 0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22,
	0x7c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x63,
	0x68, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x12, 0x31, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52,
	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xe4, 0x01,
	0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50,
	0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0d,
	0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6f,
	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x0c, 0x70, 0x72,
	0x69, 0x63, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x38, 0x92, 0x41, 0x35, 0x0a,
	0x33, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x54, 0x79, 0x70, 0x65, 0xd2, 0x01, 0x0d, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x69, 0x73,
	0x74, 0x6f, 0x72, 0x79, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
	0x6e, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a,
	0x0d, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43,
	0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x0c, 0x70,
	0x72, 0x69, 0x63, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x1c, 0x92, 0x41, 0x19,
	0x0a, 0x17, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0d, 0x70, 0x72, 0x69, 0x63,
	0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x72, 0x0a, 0x0e, 0x43, 0x6f, 0x6d,
	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70,
	0x72, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x20, 0x92, 0x41, 0x1d,
	0x0a, 0x1b, 0xd2, 0x01, 0x10, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0xdb, 0x03,
	0x0a, 0x06, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
	0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16,
	0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69,
	0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x69,
	0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x69, 0x6e,
	0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x62,
	0x69, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x69, 0x73,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73,
	0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x80, 0x01, 0x92, 0x41, 0x7d, 0x0a, 0x7b,
	0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x74,
	0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0xd2, 0x01, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2,
	0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0xd2,
	0x01, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01, 0x14, 0x64, 0x69, 0x73,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0xd2, 0x01, 0x0e, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f,
	0x61, 0x74, 0xd2, 0x01, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0xd2, 0x01, 0x0c, 0x68,
	0x61, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x65, 0x0a, 0x0f, 0x4c,
	0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14,
	0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x12, 0x25, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x65,
	0x6e, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12,
	0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65,
	0x6d, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a,
	0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x3a, 0x23, 0x92, 0x41, 0x20, 0x0a, 0x1e, 0xd2,
	0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x70, 0x61,
	0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x6c, 0x0a,
	0x0e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12,
	0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74,
	0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63,
	0x72, 0x65, 0x64, 0x69, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x1e, 0x92, 0x41, 0x1b,
	0x0a, 0x19, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0d, 0x63, 0x72,
	0x65, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xef, 0x01, 0x0a, 0x08,
	0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69,
	0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x69,
	0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
	0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x3a, 0x44, 0x92, 0x41, 0x41, 0x0a, 0x3f, 0xd2, 0x01,
	0x02, 0x69, 0x64, 0xd2, 0x01, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0xd2, 0x01, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01, 0x0a, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x65, 0x6e, 0x64, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x22, 0x6a, 0x0a,
	0x12, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x3a, 0x1c, 0x92, 0x41, 0x19,
	0x0a, 0x17, 0xd2, 0x01, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x10, 0x4c, 0x69, 0x73,
	0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x44, 0x69, 0x73,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41,
	0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74,
	0x65, 0x6d, 0x73, 0x22, 0x23, 0x0a, 0x05, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0a, 0x92, 0x41,
	0x07, 0x0a, 0x05, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x0e, 0x47, 0x6c, 0x6f,
	0x62, 0x61, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64,
	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a,
	0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
	0x69, 0x6d, 0x65, 0x3a, 0x3b, 0x92, 0x41, 0x38, 0x0a, 0x36, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2,
	0x01, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x08,
	0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x22, 0x74, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x69,
	0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x12, 0x2d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x17, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
	0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a,
	0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01,
	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64,
	0x5f, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x68, 0x61, 0x70, 0x70, 0x65,
	0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
	0x65, 0x6e, 0x74, 0x3a, 0x29, 0x92, 0x41, 0x26, 0x0a, 0x24, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2,
	0x01, 0x0b, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0xd2, 0x01, 0x04,
	0x75, 0x73, 0x65, 0x72, 0xd2, 0x01, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x6a,
	0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x05, 0x69, 0x74, 0x65,
	0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72,
	0x61, 0x6c, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x05, 0x69, 0x74,
	0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x10, 0x4c,
	0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x12,
	0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70,
	0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65,
	0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65,
	0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x3a, 0x49, 0x92,
	0x41, 0x46, 0x0a, 0x44, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65,
	0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x04, 0x75, 0x73, 0x65, 0x72, 0xd2, 0x01, 0x07,
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0xd2, 0x01, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0xd2,
	0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x22, 0x4d, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x69, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x12, 0x27, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x11, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12,
	0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65,
	0x6d, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4d,
	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10,
	0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x63, 0x70, 0x75,
	0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x67, 0x69, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x47, 0x69, 0x3a, 0x37, 0x92,
	0x41, 0x34, 0x0a, 0x32, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f,
	0x74, 0x79, 0x70, 0x65, 0xd2, 0x01, 0x03, 0x63, 0x70, 0x75, 0xd2, 0x01, 0x09, 0x6d, 0x65, 0x6d,
	0x6f, 0x72, 0x79, 0x5f, 0x67, 0x69, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4d,
	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65,
	0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67,
	0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x3a, 0x22, 0x92, 0x41,
	0x1f, 0x0a, 0x1d, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01,
	0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65,
	0x22, 0x7d, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x12, 0x35, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1f, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
	0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2,
	0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22,
	0x36, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69,
	0x6e, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0a, 0x92, 0x41, 0x07,
	0x0a, 0x05, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x22, 0x64, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
	0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x02,
	0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x59, 0x0a,
	0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xdf, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18,
	0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x3a, 0x3c, 0x92, 0x41,
	0x39, 0x0a, 0x37, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2,
	0x01, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
	0x65, 0x72, 0xd2, 0x01, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x22, 0x7f, 0x0a, 0x0e, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08,
	0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
	0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x3a, 0x22, 0x92, 0x41, 0x1f, 0x0a, 0x1d, 0xd2, 0x01,
	0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65,
	0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x6d, 0x0a, 0x0f, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14,
	0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x50, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74,
	0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x54, 0x0a, 0x0f, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10,
	0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x22, 0x51, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x15, 0x92, 0x41,
	0x12, 0x0a, 0x10, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x22, 0xb8, 0x02, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x12, 0x41, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x50,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
	0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
	0x6e, 0x74, 0x73, 0x3a, 0x49, 0x92, 0x41, 0x46, 0x0a, 0x44, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2,
	0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0xd2, 0x01, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xca,
	0x02, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f,
	0x6e, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d,
	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
	0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70,
	0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x1b,
	0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64,
	0x69, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79,
	0x3a, 0x59, 0x92, 0x41, 0x56, 0x0a, 0x54, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01,
	0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0xd2, 0x01, 0x0c, 0x6d, 0x61, 0x63, 0x68,
	0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0xd2, 0x01, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65,
	0xd2, 0x01, 0x03, 0x63, 0x70, 0x75, 0xd2, 0x01, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0xd2,
	0x01, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0xd2, 0x01, 0x0d, 0x64, 0x69,
	0x73, 0x6b, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0xb2, 0x01, 0x0a, 0x0a,
	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12,
	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x30,
	0x92, 0x41, 0x2d, 0x0a, 0x2b, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01,
	0x04, 0x74, 0x79, 0x70, 0x65, 0xd2, 0x01, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79,
	0x22, 0x83, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44,
	0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70,
	0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61,
	0x67, 0x65, 0x3a, 0x22, 0x92, 0x41, 0x1f, 0x0a, 0x1d, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65,
	0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15,
	0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05,
	0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x58, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2,
	0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22,
	0x55, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b,
	0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a,
	0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65,
	0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67,
	0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x3a, 0x22, 0x92, 0x41,
	0x1f, 0x0a, 0x1d, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01,
	0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65,
	0x22, 0x7d, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x12, 0x35, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1f, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
	0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2,
	0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22,
	0x5c, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x02,
	0x69, 0x64, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x59, 0x0a,
	0x14, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xba, 0x01, 0x0a, 0x0b, 0x43, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d,
	0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a,
	0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f,
	0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73,
	0x3a, 0x33, 0x92, 0x41, 0x30, 0x0a, 0x2e, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x05, 0x65,
	0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0xd2, 0x01, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x05,
	0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x6f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a,
	0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01,
	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x5d, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x65,
	0x6e, 0x74, 0x72, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67,
	0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x3a, 0x17, 0x92, 0x41,
	0x14, 0x0a, 0x12, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72,
	0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x2b, 0x0a, 0x0d, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0a, 0x92, 0x41, 0x07, 0x0a, 0x05, 0xd2, 0x01, 0x02,
	0x69, 0x64, 0x22, 0x7e, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32,
	0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x50, 0x72, 0x69,
	0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
	0x65, 0x73, 0x3a, 0x1e, 0x92, 0x41, 0x1b, 0x0a, 0x19, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
	0x65, 0x73, 0x22, 0x63, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x1c, 0x92, 0x41, 0x19, 0x0a, 0x17,
	0xd2, 0x01, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xd2, 0x01, 0x09, 0x6f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52,
	0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23,
	0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x69, 0x74,
	0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x56, 0x0a, 0x0c, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61,
	0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19,
	0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x3a, 0x17, 0x92, 0x41, 0x14, 0x0a, 0x12,
	0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61,
	0x67, 0x65, 0x22, 0x24, 0x0a, 0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0a, 0x92, 0x41,
	0x07, 0x0a, 0x05, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x22, 0x69, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44,
	0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71,
	0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x1b, 0x92, 0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x06,
	0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x22, 0x63, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f,
	0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0a,
	0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x16, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x44, 0x61, 0x73, 0x68, 0x62,
	0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0a, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f,
	0x61, 0x72, 0x64, 0x73, 0x3a, 0x12, 0x92, 0x41, 0x0f, 0x0a, 0x0d, 0xd2, 0x01, 0x0a, 0x64, 0x61,
	0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x4c, 0x0a, 0x0d, 0x44, 0x61, 0x73, 0x68,
	0x62, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e,
	0x6b, 0x3a, 0x13, 0x92, 0x41, 0x10, 0x0a, 0x0e, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xd2,
	0x01, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x6f, 0x0a, 0x0f, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68,
	0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x1e, 0x92, 0x41, 0x1b, 0x0a, 0x19, 0xd2, 0x01,
	0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0xd2, 0x01, 0x0b, 0x6d, 0x61, 0x63, 0x68,
	0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x10, 0x54, 0x65, 0x6e, 0x61,
	0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x02,
	0x70, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72,
	0x61, 0x6c, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
	0x6e, 0x74, 0x52, 0x02, 0x70, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x69, 0x6b, 0x76, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x04,
	0x74, 0x69, 0x6b, 0x76, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x69, 0x64, 0x62, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x65, 0x6e,
	0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x69,
	0x64, 0x62, 0x12, 0x32, 0x0a, 0x07, 0x74, 0x69, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x65,
	0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74,
	0x69, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x3a, 0x22, 0x92, 0x41, 0x1f, 0x0a, 0x1d, 0xd2, 0x01, 0x02,
	0x70, 0x64, 0xd2, 0x01, 0x04, 0x74, 0x69, 0x6b, 0x76, 0xd2, 0x01, 0x04, 0x74, 0x69, 0x64, 0x62,
	0xd2, 0x01, 0x07, 0x74, 0x69, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x22, 0xb7, 0x03, 0x0a, 0x0d, 0x54,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06,
	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
	0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x10, 0x74, 0x65, 0x6e,
	0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x64,
	0x92, 0x41, 0x61, 0x0a, 0x5f, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0xd2, 0x01, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0xd2, 0x01, 0x06, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0xd2,
	0x01, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x0b, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0xd2, 0x01, 0x11, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0xd2, 0x01, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x22, 0x7c, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61,
	0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72,
	0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49,
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65,
	0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a, 0x1b, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61,
	0x67, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12,
	0x29, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55,
	0x73, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a,
	0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d,
	0x73, 0x22, 0xab, 0x02, 0x0a, 0x0a, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a,
	0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
	0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f,
	0x6f, 0x72, 0x67, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0a, 0x69, 0x73, 0x4f, 0x72, 0x67, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x54, 0x92, 0x41, 0x51, 0x0a, 0x4f,
	0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0xd2, 0x01, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2,
	0x01, 0x0c, 0x69, 0x73, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0xd2, 0x01,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22,
	0x51, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55,
	0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x3a, 0x13, 0x92,
	0x41, 0x10, 0x0a, 0x0e, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f,
	0x69, 0x64, 0x22, 0x4e, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55,
	0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x3a, 0x13, 0x92,
	0x41, 0x10, 0x0a, 0x0e, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f,
	0x69, 0x64, 0x22, 0x7f, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61,
	0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67,
	0x65, 0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a, 0x1b, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0xd2, 0x01, 0x04, 0x70, 0x61, 0x67, 0x65, 0xd2, 0x01, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70,
	0x61, 0x67, 0x65, 0x22, 0x73, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x54, 0x65, 0x6e,
	0x61, 0x6e, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d,
	0x73, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3a, 0x0a, 0x08, 0x54, 0x65, 0x6e, 0x61,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x3a, 0x11, 0x92, 0x41, 0x0e, 0x0a, 0x0c, 0xd2, 0x01, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x5f, 0x69, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x13, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x42,
	0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x10,
	0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e,
	0x67, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x5f,
	0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x46, 0x65, 0x65, 0x12, 0x21, 0x0a,
	0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74,
	0x3a, 0x38, 0x92, 0x41, 0x35, 0x0a, 0x33, 0xd2, 0x01, 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
	0x69, 0x6e, 0x67, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0xd2, 0x01, 0x0e, 0x6e, 0x6f, 0x64,
	0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x65, 0x65, 0xd2, 0x01, 0x0c, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x43,
	0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x72,
	0x6f, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65,
	0x73, 0x3a, 0x21, 0x92, 0x41, 0x1e, 0x0a, 0x1c, 0xd2, 0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x05, 0x72,
	0x6f, 0x6c, 0x65, 0x73, 0x22, 0x62, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72,
	0x67, 0x50, 0x6f, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a,
	0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f,
	0x72, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x3a, 0x18,
	0x92, 0x41, 0x15, 0x0a, 0x13, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x07, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09,
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49,
	0x64, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x2e, 0x92, 0x41,
	0x2b, 0x0a, 0x29, 0xd2, 0x01, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0xd2,
	0x01, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
	0x64, 0xd2, 0x01, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x10,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x3a, 0x0f, 0x92, 0x41, 0x0c, 0x0a, 0x0a,
	0xd2, 0x01, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x74, 0x0a, 0x15, 0x54, 0x65,
	0x6e, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x46, 0x65, 0x65,
	0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x3a, 0x1c, 0x92, 0x41, 0x19, 0x0a, 0x17, 0xd2, 0x01, 0x05, 0x73, 0x74, 0x61, 0x72,
	0x74, 0xd2, 0x01, 0x03, 0x65, 0x6e, 0x64, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x22, 0xb9, 0x01, 0x0a, 0x12, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74,
	0x62, 0x65, 0x61, 0x74, 0x46, 0x65, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x19,
	0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x46, 0x65, 0x65, 0x12, 0x44, 0x0a, 0x0f, 0x6e, 0x6f, 0x64,
	0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x46, 0x65, 0x65,
	0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x46, 0x65, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a,
	0x2b, 0x92, 0x41, 0x28, 0x0a, 0x26, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2,
	0x01, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x65, 0x65, 0xd2, 0x01, 0x0f, 0x6e, 0x6f, 0x64,
	0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xaf, 0x02, 0x0a,
	0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
	0x74, 0x46, 0x65, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x65, 0x74,
	0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x65, 0x6e, 0x74,
	0x72, 0x61, 0x6c, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x46, 0x65, 0x65,
	0x52, 0x09, 0x66, 0x65, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x51, 0x92, 0x41, 0x4e,
	0x0a, 0x4c, 0xd2, 0x01, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x65,
	0x65, 0xd2, 0x01, 0x0a, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xed,
	0x01, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x46, 0x65, 0x65, 0x12,
	0x35, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x52, 0x05, 0x65, 0x6e, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x31, 0x92, 0x41, 0x2e,
	0x0a, 0x2c, 0xd2, 0x01, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0xd2, 0x01, 0x06,
	0x65, 0x6e, 0x64, 0x5f, 0x61, 0x74, 0xd2, 0x01, 0x03, 0x66, 0x65, 0x65, 0xd2, 0x01, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0xd2, 0x01, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xa9,
	0x03, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d,
	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x65,
	0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f,
	0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64,
	0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x0c,
	0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x44, 0x61, 0x74,
	0x61, 0x64, 0x6f, 0x67, 0x53, 0x69, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f,
	0x67, 0x53, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69,
	0x63, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12,
	0x3a, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x74, 0x65,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x4e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x53, 0x69, 0x74, 0x65, 0x52, 0x0c, 0x6e,
	0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x53, 0x69, 0x74, 0x65, 0x3a, 0x2d, 0x92, 0x41, 0x2a,
	0x0a, 0x28, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x04, 0x74, 0x79, 0x70, 0x65, 0xd2,
	0x01, 0x08, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x22, 0x7a, 0x0a, 0x14, 0x49, 0x6e,
	0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
	0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4c, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x15,
	0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
	0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x49, 0x64, 0x22, 0xdb, 0x05, 0x0a, 0x15, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x15,
	0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
	0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74,
	0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74,
	0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f,
	0x73, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x53, 0x69, 0x74, 0x65,
	0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x53, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a,
	0x10, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72,
	0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67,
	0x53, 0x69, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x64,
	0x6f, 0x67, 0x5f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x75, 0x72, 0x6c,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x44,
	0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x0a, 0x16, 0x64,
	0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x70,
	0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x61, 0x74,
	0x61, 0x64, 0x6f, 0x67, 0x4d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79,
	0x12, 0x3a, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x74,
	0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61,
	0x6c, 0x2e, 0x4e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x53, 0x69, 0x74, 0x65, 0x52, 0x0c,
	0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x53, 0x69, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11,
	0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72,
	0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69,
	0x63, 0x53, 0x69, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x77, 0x72,
	0x65, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x75,
	0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c,
	0x69, 0x63, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x35,
	0x0a, 0x17, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x65,
	0x64, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x14, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x4d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x41,
	0x70, 0x69, 0x4b, 0x65, 0x79, 0x3a, 0x2b, 0x92, 0x41, 0x28, 0x0a, 0x26, 0xd2, 0x01, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0xd2, 0x01, 0x04, 0x74, 0x79, 0x70, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x1d, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x61,
	0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x41, 0x70, 0x69, 0x4b,
	0x65, 0x79, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f, 0x73, 0x69,
	0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72,
	0x61, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x53, 0x69, 0x74, 0x65, 0x52, 0x0b,
	0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x53, 0x69, 0x74, 0x65, 0x3a, 0x26, 0x92, 0x41, 0x23,
	0x0a, 0x21, 0xd2, 0x01, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f, 0x61, 0x70, 0x69,
	0x5f, 0x6b, 0x65, 0x79, 0xd2, 0x01, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x5f, 0x73,
	0x69, 0x74, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c,
	0x69, 0x64, 0x3a, 0x23, 0x92, 0x41, 0x20, 0x0a, 0x1e, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f,
	0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2,
	0x01, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65,
	0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x56,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72,
	0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49,
	0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
	0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x70, 0x69,
	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x72,
	0x65, 0x6c, 0x69, 0x63, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x0d, 0x6e, 0x65,
	0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x15, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x4e, 0x65, 0x77, 0x72,
	0x65, 0x6c, 0x69, 0x63, 0x53, 0x69, 0x74, 0x65, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c,
	0x69, 0x63, 0x53, 0x69, 0x74, 0x65, 0x3a, 0x28, 0x92, 0x41, 0x25, 0x0a, 0x23, 0xd2, 0x01, 0x10,
	0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79,
	0xd2, 0x01, 0x0d, 0x6e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x74, 0x65,
	0x22, 0x92, 0x01, 0x0a, 0x1f, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x3a, 0x23, 0x92, 0x41, 0x20, 0x0a, 0x1e, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x05,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x22, 0x78, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f,
	0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x18, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22,
	0x78, 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e,
	0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x3a, 0x15, 0x92, 0x41, 0x12, 0x0a, 0x10, 0xd2, 0x01, 0x05, 0x69, 0x74, 0x65, 0x6d,
	0x73, 0xd2, 0x01, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x88, 0x01, 0x0a, 0x15, 0x53, 0x75,
	0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74,
	0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61,
	0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x3a,
	0x23, 0x92, 0x41, 0x20, 0x0a, 0x1e, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2,
	0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x05, 0x65,
	0x6d, 0x61, 0x69, 0x6c, 0x22, 0x32, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
	0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18,
	0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x17, 0x55, 0x6e, 0x73,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72,
	0x74, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x73,
	0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x49, 0x64, 0x3a, 0x2b,
	0x92, 0x41, 0x28, 0x0a, 0x26, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0d, 0x75, 0x73,
	0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x34, 0x0a, 0x18, 0x55,
	0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c,
	0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x22, 0x68, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72,
	0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12,
	0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x1b,
	0x92, 0x41, 0x18, 0x0a, 0x16, 0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x0d, 0x55,
	0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0d,
	0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x49, 0x64,
	0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x1d, 0x92, 0x41, 0x1a, 0x0a, 0x18, 0xd2, 0x01, 0x0d,
	0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x05,
	0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a,
	0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63,
	0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74,
	0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x14,
	0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x28, 0x92, 0x41, 0x25, 0x0a, 0x23,
	0xd2, 0x01, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x2a, 0xae, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45,
	0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45,
	0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x49, 0x44, 0x42, 0x10, 0x01, 0x12, 0x17,
	0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45,
	0x5f, 0x54, 0x49, 0x4b, 0x56, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4d, 0x50, 0x4f,
	0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x49, 0x46, 0x4c, 0x41, 0x53,
	0x48, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x44, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f,
	0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x49, 0x43,
	0x44, 0x43, 0x10, 0x05, 0x2a, 0x6b, 0x0a, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a,
	0x0e, 0x4e, 0x4f, 0x5f, 0x56, 0x50, 0x43, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10,
	0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x50, 0x43, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47,
	0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x44,
	0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54,
	0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10,
	0x04, 0x2a, 0x37, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x55,
	0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x43, 0x4f,
	0x44, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08,
	0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x2a, 0x2e, 0x0a, 0x0e, 0x49, 0x6e,
	0x66, 0x72, 0x61, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18,
	0x49, 0x4e, 0x46, 0x52, 0x41, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x53, 0x5f,
	0x44, 0x45, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x00, 0x2a, 0x29, 0x0a, 0x0b, 0x57, 0x72,
	0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x57, 0x52, 0x49,
	0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x41, 0x44, 0x4f,
	0x4e, 0x4c, 0x59, 0x10, 0x01, 0x2a, 0x26, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x73,
	0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0e, 0x0a,
	0x0a, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x10, 0x00, 0x2a, 0x91, 0x01,
	0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
	0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49,
	0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x44, 0x4f, 0x47, 0x10,
	0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4d, 0x45, 0x54, 0x48, 0x45, 0x55, 0x53,
	0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x52, 0x45, 0x4c, 0x49, 0x43, 0x10,
	0x03, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x54, 0x45,
	0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f,
	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a,
	0x1b, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59,
	0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x53, 0x10, 0x01, 0x12, 0x1c,
	0x0a, 0x18, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41,
	0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x53, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a,
	0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c,
	0x4f, 0x41, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x53, 0x10, 0x03, 0x2a, 0xb3, 0x01, 0x0a,
	0x0b, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18,
	0x44, 0x41, 0x54, 0x41, 0x44, 0x4f, 0x47, 0x5f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53,
	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x41,
	0x54, 0x41, 0x44, 0x4f, 0x47, 0x5f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x55, 0x53, 0x31, 0x10, 0x01,
	0x12, 0x14, 0x0a, 0x10, 0x44, 0x41, 0x54, 0x41, 0x44, 0x4f, 0x47, 0x5f, 0x53, 0x49, 0x54, 0x45,
	0x5f, 0x55, 0x53, 0x33, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x41, 0x54, 0x41, 0x44, 0x4f,
	0x47, 0x5f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x55, 0x53, 0x35, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10,
	0x44, 0x41, 0x54, 0x41, 0x44, 0x4f, 0x47, 0x5f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x45, 0x55, 0x31,
	0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x41, 0x54, 0x41, 0x44, 0x4f, 0x47, 0x5f, 0x53, 0x49,
	0x54, 0x45, 0x5f, 0x55, 0x53, 0x31, 0x5f, 0x46, 0x45, 0x44, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10,
	0x44, 0x41, 0x54, 0x41, 0x44, 0x4f, 0x47, 0x5f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x50, 0x31,
	0x10, 0x06, 0x2a, 0x63, 0x0a, 0x0c, 0x4e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x53, 0x69,
	0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x45, 0x57, 0x52, 0x45, 0x4c, 0x49, 0x43, 0x5f, 0x53,
	0x49, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
	0x00, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x45, 0x57, 0x52, 0x45, 0x4c, 0x49, 0x43, 0x5f, 0x53, 0x49,
	0x54, 0x45, 0x5f, 0x55, 0x53, 0x5f, 0x4f, 0x54, 0x4c, 0x50, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15,
	0x4e, 0x45, 0x57, 0x52, 0x45, 0x4c, 0x49, 0x43, 0x5f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x45, 0x55,
	0x5f, 0x4f, 0x54, 0x4c, 0x50, 0x10, 0x02, 0x2a, 0x91, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x65,
	0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a,
	0x1e, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41,
	0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
	0x00, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1d,
	0x0a, 0x19, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54,
	0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a,
	0x18, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41,
	0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x32, 0xcb, 0x03, 0x0a, 0x0e,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x90,
	0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
	0x4b, 0x65, 0x79, 0x12, 0x1c, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65,
	0x71, 0x1a, 0x1d, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70,
	0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x37, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
	0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x65,
	0x79, 0x12, 0x90, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65,
	0x79, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x47,
	0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x52,
	0x65, 0x73, 0x70, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x61, 0x70,
	0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69,
	0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
	0x5f, 0x6b, 0x65, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x2e, 0x63, 0x65, 0x6e, 0x74,
	0x72, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x73, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
	0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x2a, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31,
	0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x65, 0x79,
	0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x32, 0xe3, 0x07, 0x0a, 0x12, 0x49, 0x6e,
	0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x12, 0xad, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e,
	0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x59, 0x92, 0x41, 0x13, 0x2a, 0x11, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67,
	0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d,
	0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a,
	0x12, 0xaa, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e,
	0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x56, 0x92, 0x41, 0x13, 0x2a, 0x11, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67,
	0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d,
	0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xe0, 0x01,
	0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f,
	0x67, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61,
	0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74,
	0x61, 0x64, 0x6f, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a,
	0x27, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x56, 0x61, 0x6c, 0x69,
	0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x76, 0x92, 0x41, 0x17, 0x2a, 0x15, 0x56,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x41, 0x50,
	0x49, 0x4b, 0x65, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x22, 0x51, 0x2f, 0x61, 0x70, 0x69,
	0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64,
	0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x64, 0x6f, 0x67, 0x2f, 0x61, 0x70, 0x69,
	0x5f, 0x6b, 0x65, 0x79, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a,
	0x12, 0xe5, 0x01, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77,
	0x72, 0x65, 0x6c, 0x69, 0x63, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x63, 0x65,
	0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x4e, 0x65, 0x77, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49,
	0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x77, 0x72, 0x65, 0x6c,
	0x69, 0x63, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x78,
	0x92, 0x41, 0x18, 0x2a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77,
	0x72, 0x65, 0x6c, 0x69, 0x63, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02,
	0x57, 0x22, 0x52, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f,
	0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69,
	0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6e, 0x65, 0x77, 0x72,
	0x65, 0x6c, 0x69, 0x63, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x2f, 0x76, 0x61, 0x6c,
	0x69, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xa4, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73,
	0x74, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x2e,
	0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x63, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x55, 0x92, 0x41, 0x12, 0x2a, 0x10, 0x4c,
	0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f,
	0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x7d, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32,
	0xb2, 0x04, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x53, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x12, 0xa4, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x63, 0x65, 0x6e, 0x74,
	0x72, 0x61, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61,
	0x6c, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x53, 0x92, 0x41, 0x12, 0x2a, 0x10, 0x47, 0x65, 0x74,
	0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67,
	0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d,
	0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x12, 0xaf, 0x01, 0x0a, 0x12,
	0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65,
	0x72, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52,
	0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x2e, 0x53, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x22, 0x58, 0x92, 0x41, 0x14, 0x2a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x82, 0xd3, 0xe4, 0x93,
	0x02, 0x3b, 0x22, 0x36, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73,
	0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
	0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xc4, 0x01,
	0x0a, 0x14, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65,
	0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x20, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
	0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x65, 0x6e, 0x74, 0x72,
	0x61, 0x6c, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73,
	0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x67, 0x92, 0x41, 0x16,
	0x2a, 0x14, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65,
	0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x2a, 0x46, 0x2f, 0x61,
	0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x5f,
	0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61,
	0x6c, 0x65, 0x72, 0x74, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74,
	0x5f, 0x69, 0x64, 0x7d, 0x42, 0xf1, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x69, 0x64, 0x62, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x69, 0x64, 0x6c,
	0x2f, 0x70, 0x62, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x3b, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x92, 0x41, 0xa8, 0x01,
	0x12, 0x05, 0x32, 0x03, 0x30, 0x2e, 0x31, 0x2a, 0x01, 0x02, 0x5a, 0x59, 0x0a, 0x57, 0x0a, 0x06,
	0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x12, 0x4d, 0x08, 0x02, 0x12, 0x38, 0x41, 0x75, 0x74, 0x68,
	0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x2c, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x42, 0x65,
	0x61, 0x72, 0x65, 0x72, 0x3a, 0x20, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x20, 0x3c, 0x74, 0x6f,
	0x6b, 0x65, 0x6e, 0x3e, 0x1a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x20, 0x02, 0x62, 0x0c, 0x0a, 0x0a, 0x0a, 0x06, 0x62, 0x65, 0x61, 0x72, 0x65,
	0x72, 0x12, 0x00, 0x72, 0x33, 0x0a, 0x0d, 0x44, 0x42, 0x61, 0x61, 0x53, 0x20, 0x63, 0x65, 0x6e,
	0x74, 0x72, 0x61, 0x6c, 0x12, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x69, 0x64, 0x62, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2f, 0x64, 0x62, 0x61, 0x61, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_central_service_proto_rawDescOnce sync.Once
	file_central_service_proto_rawDescData = file_central_service_proto_rawDesc
)

func file_central_service_proto_rawDescGZIP() []byte {
	file_central_service_proto_rawDescOnce.Do(func() {
		file_central_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_central_service_proto_rawDescData)
	})
	return file_central_service_proto_rawDescData
}

var file_central_service_proto_enumTypes = make([]protoimpl.EnumInfo, 22)
var file_central_service_proto_msgTypes = make([]protoimpl.MessageInfo, 197)
var file_central_service_proto_goTypes = []interface{}{
	(ComponentType)(0),                       // 0: central.ComponentType
	(PrivateEndpointStatus)(0),               // 1: central.PrivateEndpointStatus
	(VerifyCodeUsage)(0),                     // 2: central.VerifyCodeUsage
	(InfraErrorCode)(0),                      // 3: central.InfraErrorCode
	(WriteStatus)(0),                         // 4: central.WriteStatus
	(GetMeasurementFormat)(0),                // 5: central.GetMeasurementFormat
	(IntegrationType)(0),                     // 6: central.IntegrationType
	(IntegrationPayload)(0),                  // 7: central.IntegrationPayload
	(DatadogSite)(0),                         // 8: central.DatadogSite
	(NewrelicSite)(0),                        // 9: central.NewrelicSite
	(IntegrationStatus)(0),                   // 10: central.IntegrationStatus
	(Cluster_Status)(0),                      // 11: central.Cluster.Status
	(Cluster_SecondaryStatus)(0),             // 12: central.Cluster.SecondaryStatus
	(Cluster_CreateProgress)(0),              // 13: central.Cluster.CreateProgress
	(Cluster_ClusterType)(0),                 // 14: central.Cluster.ClusterType
	(TiKVNode_Status)(0),                     // 15: central.TiKVNode.Status
	(TiKVNode_Type)(0),                       // 16: central.TiKVNode.Type
	(TiFlashNode_Status)(0),                  // 17: central.TiFlashNode.Status
	(TiFlashNode_Type)(0),                    // 18: central.TiFlashNode.Type
	(TiDBNode_Status)(0),                     // 19: central.TiDBNode.Status
	(TiDBNode_Type)(0),                       // 20: central.TiDBNode.Type
	(DetachReplicationReq_DetachType)(0),     // 21: central.DetachReplicationReq.DetachType
	(*ClusterComponent)(nil),                 // 22: central.ClusterComponent
	(*CreateClusterReq)(nil),                 // 23: central.CreateClusterReq
	(*CreateClusterResp)(nil),                // 24: central.CreateClusterResp
	(*ScaleClusterReq)(nil),                  // 25: central.ScaleClusterReq
	(*CalcClusterFeeReq)(nil),                // 26: central.CalcClusterFeeReq
	(*CalcClusterFeeResp)(nil),               // 27: central.CalcClusterFeeResp
	(*CalcNodeProfilesReq)(nil),              // 28: central.CalcNodeProfilesReq
	(*ClusterNodeProfile)(nil),               // 29: central.ClusterNodeProfile
	(*ComponentNodeProfiles)(nil),            // 30: central.ComponentNodeProfiles
	(*CalcNodeProfilesResp)(nil),             // 31: central.CalcNodeProfilesResp
	(*BaseResp)(nil),                         // 32: central.BaseResp
	(*DefaultResp)(nil),                      // 33: central.DefaultResp
	(*GetClientIPResp)(nil),                  // 34: central.GetClientIPResp
	(*TrafficFilter)(nil),                    // 35: central.TrafficFilter
	(*TrafficFilterList)(nil),                // 36: central.TrafficFilterList
	(*UpdateTrafficFilterReq)(nil),           // 37: central.UpdateTrafficFilterReq
	(*GetProjectTrafficFilterReq)(nil),       // 38: central.GetProjectTrafficFilterReq
	(*UpdateProjectTrafficFilterReq)(nil),    // 39: central.UpdateProjectTrafficFilterReq
	(*TrafficFilterResp)(nil),                // 40: central.TrafficFilterResp
	(*GetPrivateEndpointResp)(nil),           // 41: central.GetPrivateEndpointResp
	(*VpcpeeringID)(nil),                     // 42: central.VpcpeeringID
	(*CreateAWSVpcPeeringReq)(nil),           // 43: central.CreateAWSVpcPeeringReq
	(*CreateAWSVpcPeeringResp)(nil),          // 44: central.CreateAWSVpcPeeringResp
	(*CreateGcpVpcPeeringReq)(nil),           // 45: central.CreateGcpVpcPeeringReq
	(*CreateGcpVpcPeeringResp)(nil),          // 46: central.CreateGcpVpcPeeringResp
	(*GcpVpcPeering)(nil),                    // 47: central.GcpVpcPeering
	(*AwsVpcPeering)(nil),                    // 48: central.AwsVpcPeering
	(*GcpVpcPeerings)(nil),                   // 49: central.GcpVpcPeerings
	(*AwsVpcPeerings)(nil),                   // 50: central.AwsVpcPeerings
	(*Disk)(nil),                             // 51: central.Disk
	(*Region)(nil),                           // 52: central.Region
	(*ChangePasswordReq)(nil),                // 53: central.ChangePasswordReq
	(*SendPasswordVerifyCodeReq)(nil),        // 54: central.SendPasswordVerifyCodeReq
	(*ChangeClusterNameReq)(nil),             // 55: central.ChangeClusterNameReq
	(*MakeClusterWritableReq)(nil),           // 56: central.MakeClusterWritableReq
	(*ClusterListReq)(nil),                   // 57: central.ClusterListReq
	(*ClusterGetReq)(nil),                    // 58: central.ClusterGetReq
	(*ClusterIdReq)(nil),                     // 59: central.ClusterIdReq
	(*TenantIdReq)(nil),                      // 60: central.TenantIdReq
	(*LastError)(nil),                        // 61: central.LastError
	(*Replication)(nil),                      // 62: central.Replication
	(*Cluster)(nil),                          // 63: central.Cluster
	(*Clusters)(nil),                         // 64: central.Clusters
	(*GetClusterResp)(nil),                   // 65: central.GetClusterResp
	(*DeletedCluster)(nil),                   // 66: central.DeletedCluster
	(*DeletedClusters)(nil),                  // 67: central.DeletedClusters
	(*ClusterComponents)(nil),                // 68: central.ClusterComponents
	(*Component)(nil),                        // 69: central.Component
	(*NodeProfile)(nil),                      // 70: central.NodeProfile
	(*Endpoint)(nil),                         // 71: central.Endpoint
	(*Compute)(nil),                          // 72: central.Compute
	(*TiKVNode)(nil),                         // 73: central.TiKVNode
	(*TiFlashNode)(nil),                      // 74: central.TiFlashNode
	(*TiDBNode)(nil),                         // 75: central.TiDBNode
	(*TiDBNodesReq)(nil),                     // 76: central.TiDBNodesReq
	(*TiDBNodes)(nil),                        // 77: central.TiDBNodes
	(*TiKVNodesReq)(nil),                     // 78: central.TiKVNodesReq
	(*TiFlashNodesReq)(nil),                  // 79: central.TiFlashNodesReq
	(*TiKVNodes)(nil),                        // 80: central.TiKVNodes
	(*TiFlashNodes)(nil),                     // 81: central.TiFlashNodes
	(*MetaData)(nil),                         // 82: central.MetaData
	(*UpdateMetaReq)(nil),                    // 83: central.UpdateMetaReq
	(*DetachReplicationReq)(nil),             // 84: central.DetachReplicationReq
	(*DetachReplicationResp)(nil),            // 85: central.DetachReplicationResp
	(*Uint32Null)(nil),                       // 86: central.Uint32Null
	(*Organization)(nil),                     // 87: central.Organization
	(*OrgIdReq)(nil),                         // 88: central.OrgIdReq
	(*ProjectIdReq)(nil),                     // 89: central.ProjectIdReq
	(*Project)(nil),                          // 90: central.Project
	(*Projects)(nil),                         // 91: central.Projects
	(*UserProject)(nil),                      // 92: central.UserProject
	(*CreateProjectReq)(nil),                 // 93: central.CreateProjectReq
	(*ProjectId)(nil),                        // 94: central.ProjectId
	(*ListProjectsReq)(nil),                  // 95: central.ListProjectsReq
	(*UpdateProjectReq)(nil),                 // 96: central.UpdateProjectReq
	(*UpdateUserReq)(nil),                    // 97: central.UpdateUserReq
	(*RegistrationReq)(nil),                  // 98: central.RegistrationReq
	(*SendVerificationEmailReq)(nil),         // 99: central.SendVerificationEmailReq
	(*UpdateOrgReq)(nil),                     // 100: central.UpdateOrgReq
	(*UpdateOrgDefaultPaymentReq)(nil),       // 101: central.UpdateOrgDefaultPaymentReq
	(*AcknowledgeCNPolicyReq)(nil),           // 102: central.AcknowledgeCNPolicyReq
	(*User)(nil),                             // 103: central.User
	(*Users)(nil),                            // 104: central.Users
	(*ListUsersReq)(nil),                     // 105: central.ListUsersReq
	(*ListProjectUsersReq)(nil),              // 106: central.ListProjectUsersReq
	(*InviteUserReq)(nil),                    // 107: central.InviteUserReq
	(*AcceptInvitationReq)(nil),              // 108: central.AcceptInvitationReq
	(*CreateAuth0UserReq)(nil),               // 109: central.CreateAuth0UserReq
	(*UserProfile)(nil),                      // 110: central.UserProfile
	(*UpdateUserProfileReq)(nil),             // 111: central.UpdateUserProfileReq
	(*DeleteUserReq)(nil),                    // 112: central.DeleteUserReq
	(*DeleteProjectUserReq)(nil),             // 113: central.DeleteProjectUserReq
	(*ProjectCIDR)(nil),                      // 114: central.ProjectCIDR
	(*GetCIDRReq)(nil),                       // 115: central.GetCIDRReq
	(*DeleteProjectReq)(nil),                 // 116: central.DeleteProjectReq
	(*CreateProjectCIDRReq)(nil),             // 117: central.CreateProjectCIDRReq
	(*RegionCIDR)(nil),                       // 118: central.RegionCIDR
	(*GetProjectRegionCIDRReq)(nil),          // 119: central.GetProjectRegionCIDRReq
	(*MetricsKey)(nil),                       // 120: central.MetricsKey
	(*CreateMetricsKeyReq)(nil),              // 121: central.CreateMetricsKeyReq
	(*CreateMetricsKeyResp)(nil),             // 122: central.CreateMetricsKeyResp
	(*GetAllMetricsKeyReq)(nil),              // 123: central.GetAllMetricsKeyReq
	(*GetAllMetricsKeyResp)(nil),             // 124: central.GetAllMetricsKeyResp
	(*DeleteMetricsKeyReq)(nil),              // 125: central.DeleteMetricsKeyReq
	(*GetMeasurementsReq)(nil),               // 126: central.GetMeasurementsReq
	(*ListRegionMachinePriceResp)(nil),       // 127: central.ListRegionMachinePriceResp
	(*RegionMachinePrice)(nil),               // 128: central.RegionMachinePrice
	(*ComponentProfile)(nil),                 // 129: central.ComponentProfile
	(*ComponentPrice)(nil),                   // 130: central.ComponentPrice
	(*Tenant)(nil),                           // 131: central.Tenant
	(*ListTenantsResp)(nil),                  // 132: central.ListTenantsResp
	(*ListTenantsReq)(nil),                   // 133: central.ListTenantsReq
	(*TrialCreditReq)(nil),                   // 134: central.TrialCreditReq
	(*Discount)(nil),                         // 135: central.Discount
	(*OrgIdAndDiscountId)(nil),               // 136: central.OrgIdAndDiscountId
	(*ListDiscountResp)(nil),                 // 137: central.ListDiscountResp
	(*IdReq)(nil),                            // 138: central.IdReq
	(*GlobalDiscount)(nil),                   // 139: central.GlobalDiscount
	(*ListGlobalDiscountResp)(nil),           // 140: central.ListGlobalDiscountResp
	(*AccessLog)(nil),                        // 141: central.AccessLog
	(*ListAccessLogResp)(nil),                // 142: central.ListAccessLogResp
	(*ListAccessLogReq)(nil),                 // 143: central.ListAccessLogReq
	(*Provider)(nil),                         // 144: central.Provider
	(*ListProvidersResp)(nil),                // 145: central.ListProvidersResp
	(*ProviderMachineProfile)(nil),           // 146: central.ProviderMachineProfile
	(*ListMachineProfilesReq)(nil),           // 147: central.ListMachineProfilesReq
	(*ListMachineProfilesResp)(nil),          // 148: central.ListMachineProfilesResp
	(*ProviderMachineProfileId)(nil),         // 149: central.ProviderMachineProfileId
	(*DeleteProviderMachineProfileReq)(nil),  // 150: central.DeleteProviderMachineProfileReq
	(*GetMachineProfileReq)(nil),             // 151: central.GetMachineProfileReq
	(*ProviderRegion)(nil),                   // 152: central.ProviderRegion
	(*ListRegionsReq)(nil),                   // 153: central.ListRegionsReq
	(*ListRegionsResp)(nil),                  // 154: central.ListRegionsResp
	(*DeleteRegionReq)(nil),                  // 155: central.DeleteRegionReq
	(*GetRegionReq)(nil),                     // 156: central.GetRegionReq
	(*ProviderClusterProfile)(nil),           // 157: central.ProviderClusterProfile
	(*ProviderComponentProfile)(nil),         // 158: central.ProviderComponentProfile
	(*RegionDisk)(nil),                       // 159: central.RegionDisk
	(*ListRegionDisksReq)(nil),               // 160: central.ListRegionDisksReq
	(*ListRegionDisksResp)(nil),              // 161: central.ListRegionDisksResp
	(*DeleteRegionDiskReq)(nil),              // 162: central.DeleteRegionDiskReq
	(*GetRegionDiskReq)(nil),                 // 163: central.GetRegionDiskReq
	(*ListClusterProfilesReq)(nil),           // 164: central.ListClusterProfilesReq
	(*ListClusterProfilesResp)(nil),          // 165: central.ListClusterProfilesResp
	(*DeleteClusterProfileReq)(nil),          // 166: central.DeleteClusterProfileReq
	(*GetClusterProfileReq)(nil),             // 167: central.GetClusterProfileReq
	(*CentralUser)(nil),                      // 168: central.CentralUser
	(*ListCentralUsersResp)(nil),             // 169: central.ListCentralUsersResp
	(*ListCentralUsersReq)(nil),              // 170: central.ListCentralUsersReq
	(*CentralUserId)(nil),                    // 171: central.CentralUserId
	(*Role)(nil),                             // 172: central.Role
	(*Privilege)(nil),                        // 173: central.Privilege
	(*ListRolesResp)(nil),                    // 174: central.ListRolesResp
	(*ListRolesReq)(nil),                     // 175: central.ListRolesReq
	(*RoleId)(nil),                           // 176: central.RoleId
	(*GetDashboardLinksReq)(nil),             // 177: central.GetDashboardLinksReq
	(*GetDashboardLinksResp)(nil),            // 178: central.GetDashboardLinksResp
	(*DashboardLink)(nil),                    // 179: central.DashboardLink
	(*TenantComponent)(nil),                  // 180: central.TenantComponent
	(*TenantComponents)(nil),                 // 181: central.TenantComponents
	(*TenantCluster)(nil),                    // 182: central.TenantCluster
	(*ListTenantUsersReq)(nil),               // 183: central.ListTenantUsersReq
	(*ListTenantUsersResp)(nil),              // 184: central.ListTenantUsersResp
	(*TenantUser)(nil),                       // 185: central.TenantUser
	(*DeleteTenantUserReq)(nil),              // 186: central.DeleteTenantUserReq
	(*GetTenantUserReq)(nil),                 // 187: central.GetTenantUserReq
	(*ListTenantClustersReq)(nil),            // 188: central.ListTenantClustersReq
	(*ListTenantClustersResp)(nil),           // 189: central.ListTenantClustersResp
	(*TenantID)(nil),                         // 190: central.TenantID
	(*TenantBillingStatus)(nil),              // 191: central.TenantBillingStatus
	(*CentralUserProfile)(nil),               // 192: central.CentralUserProfile
	(*UpdateOrgPocStatusReq)(nil),            // 193: central.UpdateOrgPocStatusReq
	(*CreateAPIKeyReq)(nil),                  // 194: central.CreateAPIKeyReq
	(*CreateAPIKeyResp)(nil),                 // 195: central.CreateAPIKeyResp
	(*TenantHeartbeatFeeReq)(nil),            // 196: central.TenantHeartbeatFeeReq
	(*TenantHeartbeatFee)(nil),               // 197: central.TenantHeartbeatFee
	(*ClusterHeartbeatFee)(nil),              // 198: central.ClusterHeartbeatFee
	(*HeartbeatFee)(nil),                     // 199: central.HeartbeatFee
	(*IntegrationCreateReq)(nil),             // 200: central.IntegrationCreateReq
	(*IntegrationDeleteReq)(nil),             // 201: central.IntegrationDeleteReq
	(*IntegrationStatusReq)(nil),             // 202: central.IntegrationStatusReq
	(*IntegrationStatusResp)(nil),            // 203: central.IntegrationStatusResp
	(*IntegrationDatadogValidateReq)(nil),    // 204: central.IntegrationDatadogValidateReq
	(*IntegrationDatadogValidateResp)(nil),   // 205: central.IntegrationDatadogValidateResp
	(*IntegrationNewrelicValidateReq)(nil),   // 206: central.IntegrationNewrelicValidateReq
	(*IntegrationNewrelicValidateResp)(nil),  // 207: central.IntegrationNewrelicValidateResp
	(*IntegrationListReq)(nil),               // 208: central.IntegrationListReq
	(*IntegrationListResp)(nil),              // 209: central.IntegrationListResp
	(*SubscribeUserAlertReq)(nil),            // 210: central.SubscribeUserAlertReq
	(*SubscribeUserAlertResp)(nil),           // 211: central.SubscribeUserAlertResp
	(*UnsubscribeUserAlertReq)(nil),          // 212: central.UnsubscribeUserAlertReq
	(*UnsubscribeUserAlertResp)(nil),         // 213: central.UnsubscribeUserAlertResp
	(*GetUserAlertListReq)(nil),              // 214: central.GetUserAlertListReq
	(*UserAlertItem)(nil),                    // 215: central.UserAlertItem
	(*GetUserAlertListResp)(nil),             // 216: central.GetUserAlertListResp
	(*GetAuditLogStatusReq)(nil),             // 217: central.GetAuditLogStatusReq
	(*CalcClusterFeeResp_ComponentCost)(nil), // 218: central.CalcClusterFeeResp.ComponentCost
	(*types.Timestamp)(nil),                  // 219: google.protobuf.Timestamp
	(*types.Empty)(nil),                      // 220: google.protobuf.Empty
}
var file_central_service_proto_depIdxs = []int32{
	0,   // 0: central.ClusterComponent.component_type:type_name -> central.ComponentType
	22,  // 1: central.CreateClusterReq.components:type_name -> central.ClusterComponent
	32,  // 2: central.CreateClusterResp.base_resp:type_name -> central.BaseResp
	22,  // 3: central.ScaleClusterReq.components:type_name -> central.ClusterComponent
	22,  // 4: central.CalcClusterFeeReq.components:type_name -> central.ClusterComponent
	218, // 5: central.CalcClusterFeeResp.costs:type_name -> central.CalcClusterFeeResp.ComponentCost
	32,  // 6: central.CalcClusterFeeResp.base_resp:type_name -> central.BaseResp
	0,   // 7: central.ComponentNodeProfiles.component_type:type_name -> central.ComponentType
	29,  // 8: central.ComponentNodeProfiles.profiles:type_name -> central.ClusterNodeProfile
	30,  // 9: central.CalcNodeProfilesResp.node_profiles:type_name -> central.ComponentNodeProfiles
	32,  // 10: central.CalcNodeProfilesResp.base_resp:type_name -> central.BaseResp
	32,  // 11: central.DefaultResp.base_resp:type_name -> central.BaseResp
	35,  // 12: central.TrafficFilterList.cidrs:type_name -> central.TrafficFilter
	36,  // 13: central.UpdateTrafficFilterReq.traffic_filters:type_name -> central.TrafficFilterList
	36,  // 14: central.UpdateProjectTrafficFilterReq.traffic_filters:type_name -> central.TrafficFilterList
	36,  // 15: central.TrafficFilterResp.traffic_filters:type_name -> central.TrafficFilterList
	1,   // 16: central.GetPrivateEndpointResp.status:type_name -> central.PrivateEndpointStatus
	47,  // 17: central.GcpVpcPeerings.items:type_name -> central.GcpVpcPeering
	48,  // 18: central.AwsVpcPeerings.items:type_name -> central.AwsVpcPeering
	3,   // 19: central.LastError.codes:type_name -> central.InfraErrorCode
	219, // 20: central.Replication.creation_time:type_name -> google.protobuf.Timestamp
	219, // 21: central.Replication.detached_time:type_name -> google.protobuf.Timestamp
	4,   // 22: central.Replication.primary_write_status:type_name -> central.WriteStatus
	4,   // 23: central.Replication.secondary_write_status:type_name -> central.WriteStatus
	13,  // 24: central.Replication.create_progress:type_name -> central.Cluster.CreateProgress
	11,  // 25: central.Cluster.status:type_name -> central.Cluster.Status
	12,  // 26: central.Cluster.secondary_status:type_name -> central.Cluster.SecondaryStatus
	219, // 27: central.Cluster.created_at:type_name -> google.protobuf.Timestamp
	103, // 28: central.Cluster.created_by:type_name -> central.User
	71,  // 29: central.Cluster.endpoint:type_name -> central.Endpoint
	68,  // 30: central.Cluster.cluster_components:type_name -> central.ClusterComponents
	13,  // 31: central.Cluster.create_progress:type_name -> central.Cluster.CreateProgress
	71,  // 32: central.Cluster.privateEndpoint:type_name -> central.Endpoint
	61,  // 33: central.Cluster.lastErrors:type_name -> central.LastError
	62,  // 34: central.Cluster.replications:type_name -> central.Replication
	14,  // 35: central.Cluster.cluster_type:type_name -> central.Cluster.ClusterType
	4,   // 36: central.Cluster.write_status:type_name -> central.WriteStatus
	63,  // 37: central.Clusters.items:type_name -> central.Cluster
	32,  // 38: central.Clusters.base_resp:type_name -> central.BaseResp
	63,  // 39: central.GetClusterResp.cluster:type_name -> central.Cluster
	32,  // 40: central.GetClusterResp.base_resp:type_name -> central.BaseResp
	219, // 41: central.DeletedCluster.delete_time:type_name -> google.protobuf.Timestamp
	66,  // 42: central.DeletedClusters.items:type_name -> central.DeletedCluster
	69,  // 43: central.ClusterComponents.tikv:type_name -> central.Component
	69,  // 44: central.ClusterComponents.tidb:type_name -> central.Component
	69,  // 45: central.ClusterComponents.tiflash:type_name -> central.Component
	70,  // 46: central.Component.node_profile:type_name -> central.NodeProfile
	72,  // 47: central.NodeProfile.compute:type_name -> central.Compute
	15,  // 48: central.TiKVNode.status:type_name -> central.TiKVNode.Status
	72,  // 49: central.TiKVNode.compute:type_name -> central.Compute
	16,  // 50: central.TiKVNode.type:type_name -> central.TiKVNode.Type
	17,  // 51: central.TiFlashNode.status:type_name -> central.TiFlashNode.Status
	72,  // 52: central.TiFlashNode.compute:type_name -> central.Compute
	18,  // 53: central.TiFlashNode.type:type_name -> central.TiFlashNode.Type
	19,  // 54: central.TiDBNode.status:type_name -> central.TiDBNode.Status
	72,  // 55: central.TiDBNode.compute:type_name -> central.Compute
	20,  // 56: central.TiDBNode.type:type_name -> central.TiDBNode.Type
	75,  // 57: central.TiDBNodes.items:type_name -> central.TiDBNode
	73,  // 58: central.TiKVNodes.items:type_name -> central.TiKVNode
	74,  // 59: central.TiFlashNodes.items:type_name -> central.TiFlashNode
	21,  // 60: central.DetachReplicationReq.detach_type:type_name -> central.DetachReplicationReq.DetachType
	219, // 61: central.Organization.created_at:type_name -> google.protobuf.Timestamp
	219, // 62: central.Project.created_at:type_name -> google.protobuf.Timestamp
	90,  // 63: central.Projects.items:type_name -> central.Project
	219, // 64: central.User.invite_time:type_name -> google.protobuf.Timestamp
	103, // 65: central.Users.items:type_name -> central.User
	92,  // 66: central.UserProfile.projects:type_name -> central.UserProject
	219, // 67: central.MetricsKey.created_at:type_name -> google.protobuf.Timestamp
	120, // 68: central.CreateMetricsKeyResp.key:type_name -> central.MetricsKey
	120, // 69: central.GetAllMetricsKeyResp.metrics_keys:type_name -> central.MetricsKey
	5,   // 70: central.GetMeasurementsReq.format:type_name -> central.GetMeasurementFormat
	128, // 71: central.ListRegionMachinePriceResp.items:type_name -> central.RegionMachinePrice
	130, // 72: central.RegionMachinePrice.price_history:type_name -> central.ComponentPrice
	130, // 73: central.ComponentProfile.price_history:type_name -> central.ComponentPrice
	219, // 74: central.Tenant.bind_credit_at:type_name -> google.protobuf.Timestamp
	131, // 75: central.ListTenantsResp.items:type_name -> central.Tenant
	135, // 76: central.ListDiscountResp.items:type_name -> central.Discount
	139, // 77: central.ListGlobalDiscountResp.items:type_name -> central.GlobalDiscount
	141, // 78: central.ListAccessLogResp.items:type_name -> central.AccessLog
	144, // 79: central.ListProvidersResp.items:type_name -> central.Provider
	146, // 80: central.ListMachineProfilesResp.items:type_name -> central.ProviderMachineProfile
	152, // 81: central.ListRegionsResp.items:type_name -> central.ProviderRegion
	158, // 82: central.ProviderClusterProfile.components:type_name -> central.ProviderComponentProfile
	159, // 83: central.ListRegionDisksResp.items:type_name -> central.RegionDisk
	157, // 84: central.ListClusterProfilesResp.items:type_name -> central.ProviderClusterProfile
	168, // 85: central.ListCentralUsersResp.items:type_name -> central.CentralUser
	173, // 86: central.Role.privileges:type_name -> central.Privilege
	172, // 87: central.ListRolesResp.items:type_name -> central.Role
	179, // 88: central.GetDashboardLinksResp.dashboards:type_name -> central.DashboardLink
	180, // 89: central.TenantComponents.pd:type_name -> central.TenantComponent
	180, // 90: central.TenantComponents.tikv:type_name -> central.TenantComponent
	180, // 91: central.TenantComponents.tidb:type_name -> central.TenantComponent
	180, // 92: central.TenantComponents.tiflash:type_name -> central.TenantComponent
	219, // 93: central.TenantCluster.create_time:type_name -> google.protobuf.Timestamp
	181, // 94: central.TenantCluster.tenant_components:type_name -> central.TenantComponents
	11,  // 95: central.TenantCluster.status:type_name -> central.Cluster.Status
	185, // 96: central.ListTenantUsersResp.items:type_name -> central.TenantUser
	182, // 97: central.ListTenantClustersResp.items:type_name -> central.TenantCluster
	198, // 98: central.TenantHeartbeatFee.node_fee_detail:type_name -> central.ClusterHeartbeatFee
	199, // 99: central.ClusterHeartbeatFee.fee_detail:type_name -> central.HeartbeatFee
	219, // 100: central.HeartbeatFee.start_at:type_name -> google.protobuf.Timestamp
	219, // 101: central.HeartbeatFee.end_at:type_name -> google.protobuf.Timestamp
	6,   // 102: central.IntegrationCreateReq.type:type_name -> central.IntegrationType
	7,   // 103: central.IntegrationCreateReq.payloads:type_name -> central.IntegrationPayload
	8,   // 104: central.IntegrationCreateReq.datadog_site:type_name -> central.DatadogSite
	9,   // 105: central.IntegrationCreateReq.newrelic_site:type_name -> central.NewrelicSite
	6,   // 106: central.IntegrationDeleteReq.type:type_name -> central.IntegrationType
	6,   // 107: central.IntegrationStatusResp.type:type_name -> central.IntegrationType
	10,  // 108: central.IntegrationStatusResp.status:type_name -> central.IntegrationStatus
	7,   // 109: central.IntegrationStatusResp.payloads:type_name -> central.IntegrationPayload
	8,   // 110: central.IntegrationStatusResp.datadog_site:type_name -> central.DatadogSite
	9,   // 111: central.IntegrationStatusResp.newrelic_site:type_name -> central.NewrelicSite
	8,   // 112: central.IntegrationDatadogValidateReq.datadog_site:type_name -> central.DatadogSite
	9,   // 113: central.IntegrationNewrelicValidateReq.newrelic_site:type_name -> central.NewrelicSite
	6,   // 114: central.IntegrationListReq.type:type_name -> central.IntegrationType
	203, // 115: central.IntegrationListResp.items:type_name -> central.IntegrationStatusResp
	215, // 116: central.GetUserAlertListResp.items:type_name -> central.UserAlertItem
	0,   // 117: central.CalcClusterFeeResp.ComponentCost.component_type:type_name -> central.ComponentType
	121, // 118: central.ClusterService.CreateMetricsKey:input_type -> central.CreateMetricsKeyReq
	123, // 119: central.ClusterService.GetAllMetricsKey:input_type -> central.GetAllMetricsKeyReq
	125, // 120: central.ClusterService.DeleteMetricsKey:input_type -> central.DeleteMetricsKeyReq
	200, // 121: central.IntegrationService.CreateIntegration:input_type -> central.IntegrationCreateReq
	201, // 122: central.IntegrationService.DeleteIntegration:input_type -> central.IntegrationDeleteReq
	204, // 123: central.IntegrationService.ValidateDatadogAPIKey:input_type -> central.IntegrationDatadogValidateReq
	206, // 124: central.IntegrationService.ValidateNewrelicAPIKey:input_type -> central.IntegrationNewrelicValidateReq
	208, // 125: central.IntegrationService.ListIntegrations:input_type -> central.IntegrationListReq
	214, // 126: central.UserAlertService.GetUserAlertList:input_type -> central.GetUserAlertListReq
	210, // 127: central.UserAlertService.SubscribeUserAlert:input_type -> central.SubscribeUserAlertReq
	212, // 128: central.UserAlertService.UnsubscribeUserAlert:input_type -> central.UnsubscribeUserAlertReq
	122, // 129: central.ClusterService.CreateMetricsKey:output_type -> central.CreateMetricsKeyResp
	124, // 130: central.ClusterService.GetAllMetricsKey:output_type -> central.GetAllMetricsKeyResp
	220, // 131: central.ClusterService.DeleteMetricsKey:output_type -> google.protobuf.Empty
	203, // 132: central.IntegrationService.CreateIntegration:output_type -> central.IntegrationStatusResp
	203, // 133: central.IntegrationService.DeleteIntegration:output_type -> central.IntegrationStatusResp
	205, // 134: central.IntegrationService.ValidateDatadogAPIKey:output_type -> central.IntegrationDatadogValidateResp
	207, // 135: central.IntegrationService.ValidateNewrelicAPIKey:output_type -> central.IntegrationNewrelicValidateResp
	209, // 136: central.IntegrationService.ListIntegrations:output_type -> central.IntegrationListResp
	216, // 137: central.UserAlertService.GetUserAlertList:output_type -> central.GetUserAlertListResp
	211, // 138: central.UserAlertService.SubscribeUserAlert:output_type -> central.SubscribeUserAlertResp
	213, // 139: central.UserAlertService.UnsubscribeUserAlert:output_type -> central.UnsubscribeUserAlertResp
	129, // [129:140] is the sub-list for method output_type
	118, // [118:129] is the sub-list for method input_type
	118, // [118:118] is the sub-list for extension type_name
	118, // [118:118] is the sub-list for extension extendee
	0,   // [0:118] is the sub-list for field type_name
}

func init() { file_central_service_proto_init() }
func file_central_service_proto_init() {
	if File_central_service_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_central_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClusterComponent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateClusterReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateClusterResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ScaleClusterReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CalcClusterFeeReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CalcClusterFeeResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CalcNodeProfilesReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClusterNodeProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ComponentNodeProfiles); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CalcNodeProfilesResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BaseResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DefaultResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetClientIPResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TrafficFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TrafficFilterList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateTrafficFilterReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetProjectTrafficFilterReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateProjectTrafficFilterReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TrafficFilterResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPrivateEndpointResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VpcpeeringID); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAWSVpcPeeringReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAWSVpcPeeringResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateGcpVpcPeeringReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateGcpVpcPeeringResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GcpVpcPeering); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AwsVpcPeering); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GcpVpcPeerings); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AwsVpcPeerings); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Disk); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Region); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChangePasswordReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SendPasswordVerifyCodeReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChangeClusterNameReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MakeClusterWritableReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClusterListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClusterGetReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClusterIdReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantIdReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LastError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Replication); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Cluster); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Clusters); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetClusterResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletedCluster); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletedClusters); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClusterComponents); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Component); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NodeProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Endpoint); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Compute); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiKVNode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiFlashNode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiDBNode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiDBNodesReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiDBNodes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiKVNodesReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiFlashNodesReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiKVNodes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TiFlashNodes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetaData); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateMetaReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DetachReplicationReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DetachReplicationResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Uint32Null); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Organization); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OrgIdReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProjectIdReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Project); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Projects); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserProject); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateProjectReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProjectId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListProjectsReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateProjectReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateUserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegistrationReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SendVerificationEmailReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateOrgReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateOrgDefaultPaymentReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AcknowledgeCNPolicyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*User); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Users); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListUsersReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListProjectUsersReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InviteUserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AcceptInvitationReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAuth0UserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateUserProfileReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteUserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteProjectUserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProjectCIDR); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetCIDRReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteProjectReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateProjectCIDRReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegionCIDR); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetProjectRegionCIDRReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetricsKey); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateMetricsKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateMetricsKeyResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllMetricsKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllMetricsKeyResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteMetricsKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMeasurementsReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListRegionMachinePriceResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegionMachinePrice); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ComponentProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ComponentPrice); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Tenant); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListTenantsResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListTenantsReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TrialCreditReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Discount); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OrgIdAndDiscountId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListDiscountResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IdReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GlobalDiscount); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListGlobalDiscountResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AccessLog); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAccessLogResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAccessLogReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Provider); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListProvidersResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProviderMachineProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListMachineProfilesReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListMachineProfilesResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProviderMachineProfileId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteProviderMachineProfileReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMachineProfileReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProviderRegion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListRegionsReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListRegionsResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRegionReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRegionReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProviderClusterProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProviderComponentProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegionDisk); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListRegionDisksReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListRegionDisksResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRegionDiskReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRegionDiskReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListClusterProfilesReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListClusterProfilesResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteClusterProfileReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetClusterProfileReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CentralUser); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListCentralUsersResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListCentralUsersReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CentralUserId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Role); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Privilege); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListRolesResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListRolesReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RoleId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDashboardLinksReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDashboardLinksResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DashboardLink); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantComponent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantComponents); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantCluster); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListTenantUsersReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListTenantUsersResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantUser); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteTenantUserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTenantUserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListTenantClustersReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListTenantClustersResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantID); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantBillingStatus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CentralUserProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateOrgPocStatusReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAPIKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAPIKeyResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantHeartbeatFeeReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TenantHeartbeatFee); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClusterHeartbeatFee); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HeartbeatFee); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationCreateReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationDeleteReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationStatusReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationStatusResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationDatadogValidateReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationDatadogValidateResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationNewrelicValidateReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationNewrelicValidateResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IntegrationListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SubscribeUserAlertReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SubscribeUserAlertResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UnsubscribeUserAlertReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UnsubscribeUserAlertResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetUserAlertListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserAlertItem); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetUserAlertListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAuditLogStatusReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_central_service_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CalcClusterFeeResp_ComponentCost); 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_central_service_proto_rawDesc,
			NumEnums:      22,
			NumMessages:   197,
			NumExtensions: 0,
			NumServices:   3,
		},
		GoTypes:           file_central_service_proto_goTypes,
		DependencyIndexes: file_central_service_proto_depIdxs,
		EnumInfos:         file_central_service_proto_enumTypes,
		MessageInfos:      file_central_service_proto_msgTypes,
	}.Build()
	File_central_service_proto = out.File
	file_central_service_proto_rawDesc = nil
	file_central_service_proto_goTypes = nil
	file_central_service_proto_depIdxs = nil
}
