//
//Сервис реализует функционал управления оповещениями о проблемах сбора показаний телеметрии (алертинга)

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        v4.23.1
// source: keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1.proto

package keyapis_telemetry_alerting_v1

import (
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	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 TriggerAlertPaging_OrderByType int32

const (
	// Значение не указано
	TriggerAlertPaging_ORDER_BY_TYPE_UNKNOWN TriggerAlertPaging_OrderByType = 0
	// По дате возникновения
	TriggerAlertPaging_RAISED_AT TriggerAlertPaging_OrderByType = 1
	// По идентификатору триггера
	TriggerAlertPaging_TRIGGER_ID TriggerAlertPaging_OrderByType = 2
	// По заголовку триггера
	TriggerAlertPaging_TITLE TriggerAlertPaging_OrderByType = 3
	// По флагу активности триггера
	TriggerAlertPaging_DISABLED TriggerAlertPaging_OrderByType = 4
	// По триггеру
	TriggerAlertPaging_SEVERITY TriggerAlertPaging_OrderByType = 5
)

// Enum value maps for TriggerAlertPaging_OrderByType.
var (
	TriggerAlertPaging_OrderByType_name = map[int32]string{
		0: "ORDER_BY_TYPE_UNKNOWN",
		1: "RAISED_AT",
		2: "TRIGGER_ID",
		3: "TITLE",
		4: "DISABLED",
		5: "SEVERITY",
	}
	TriggerAlertPaging_OrderByType_value = map[string]int32{
		"ORDER_BY_TYPE_UNKNOWN": 0,
		"RAISED_AT":             1,
		"TRIGGER_ID":            2,
		"TITLE":                 3,
		"DISABLED":              4,
		"SEVERITY":              5,
	}
)

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

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

func (TriggerAlertPaging_OrderByType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[0].Descriptor()
}

func (TriggerAlertPaging_OrderByType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[0]
}

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

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

// Справочник типов направлений сортировки
type TriggerAlertPaging_DirectionType int32

const (
	// Значение не указано
	TriggerAlertPaging_DIRECTION_TYPE_UNKNOWN TriggerAlertPaging_DirectionType = 0
	// От большего к меньшему
	TriggerAlertPaging_DESC TriggerAlertPaging_DirectionType = 1
	// От меньшего к большему
	TriggerAlertPaging_ASC TriggerAlertPaging_DirectionType = 2
)

// Enum value maps for TriggerAlertPaging_DirectionType.
var (
	TriggerAlertPaging_DirectionType_name = map[int32]string{
		0: "DIRECTION_TYPE_UNKNOWN",
		1: "DESC",
		2: "ASC",
	}
	TriggerAlertPaging_DirectionType_value = map[string]int32{
		"DIRECTION_TYPE_UNKNOWN": 0,
		"DESC":                   1,
		"ASC":                    2,
	}
)

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

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

func (TriggerAlertPaging_DirectionType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[1].Descriptor()
}

func (TriggerAlertPaging_DirectionType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[1]
}

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

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

// Справочник типов значений сортировки
type TriggerPaging_OrderByType int32

const (
	// Значение не указано
	TriggerPaging_ORDER_BY_TYPE_UNKNOWN TriggerPaging_OrderByType = 0
	// По идентификатору
	TriggerPaging_ID TriggerPaging_OrderByType = 1
	// По заголовку
	TriggerPaging_TITLE TriggerPaging_OrderByType = 2
	// По флагу активности
	TriggerPaging_DISABLED TriggerPaging_OrderByType = 3
	// По Severity
	TriggerPaging_SEVERITY TriggerPaging_OrderByType = 4
)

// Enum value maps for TriggerPaging_OrderByType.
var (
	TriggerPaging_OrderByType_name = map[int32]string{
		0: "ORDER_BY_TYPE_UNKNOWN",
		1: "ID",
		2: "TITLE",
		3: "DISABLED",
		4: "SEVERITY",
	}
	TriggerPaging_OrderByType_value = map[string]int32{
		"ORDER_BY_TYPE_UNKNOWN": 0,
		"ID":                    1,
		"TITLE":                 2,
		"DISABLED":              3,
		"SEVERITY":              4,
	}
)

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

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

func (TriggerPaging_OrderByType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[2].Descriptor()
}

func (TriggerPaging_OrderByType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[2]
}

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

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

// Справочник типов направлений сортировки
type TriggerPaging_DirectionType int32

const (
	// Значение не указано
	TriggerPaging_DIRECTION_TYPE_UNKNOWN TriggerPaging_DirectionType = 0
	// От большего к меньшему
	TriggerPaging_DESC TriggerPaging_DirectionType = 1
	// От меньшего к большему
	TriggerPaging_ASC TriggerPaging_DirectionType = 2
)

// Enum value maps for TriggerPaging_DirectionType.
var (
	TriggerPaging_DirectionType_name = map[int32]string{
		0: "DIRECTION_TYPE_UNKNOWN",
		1: "DESC",
		2: "ASC",
	}
	TriggerPaging_DirectionType_value = map[string]int32{
		"DIRECTION_TYPE_UNKNOWN": 0,
		"DESC":                   1,
		"ASC":                    2,
	}
)

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

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

func (TriggerPaging_DirectionType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[3].Descriptor()
}

func (TriggerPaging_DirectionType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[3]
}

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

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

// Справочник типов критерия триггера.
// Задает параметры критерия, правила поиска проблемы и генерации алерта
type Trigger_CriteriaType int32

const (
	// Значение не указано
	Trigger_CRITERIA_TYPE_UNKNOWN Trigger_CriteriaType = 0
	// Количество метрик меньше порога
	Trigger_METRICS_COUNT Trigger_CriteriaType = 1
	// Доля работающих устройств в группе меньше порога
	Trigger_DEVICE_PERCENT Trigger_CriteriaType = 2
	// Превышение порога дисперсии значений показаний
	Trigger_METRICS_VALUE_DEVIATION Trigger_CriteriaType = 3
)

// Enum value maps for Trigger_CriteriaType.
var (
	Trigger_CriteriaType_name = map[int32]string{
		0: "CRITERIA_TYPE_UNKNOWN",
		1: "METRICS_COUNT",
		2: "DEVICE_PERCENT",
		3: "METRICS_VALUE_DEVIATION",
	}
	Trigger_CriteriaType_value = map[string]int32{
		"CRITERIA_TYPE_UNKNOWN":   0,
		"METRICS_COUNT":           1,
		"DEVICE_PERCENT":          2,
		"METRICS_VALUE_DEVIATION": 3,
	}
)

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

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

func (Trigger_CriteriaType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[4].Descriptor()
}

func (Trigger_CriteriaType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[4]
}

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

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

// Справочник типов периодов контроля триггера
type Trigger_PeriodType int32

const (
	// Значение не указано
	Trigger_PERIOD_TYPE_UNKNOWN Trigger_PeriodType = 0
	// День
	Trigger_DAY Trigger_PeriodType = 1
	// Месяц
	Trigger_MONTH Trigger_PeriodType = 2
)

// Enum value maps for Trigger_PeriodType.
var (
	Trigger_PeriodType_name = map[int32]string{
		0: "PERIOD_TYPE_UNKNOWN",
		1: "DAY",
		2: "MONTH",
	}
	Trigger_PeriodType_value = map[string]int32{
		"PERIOD_TYPE_UNKNOWN": 0,
		"DAY":                 1,
		"MONTH":               2,
	}
)

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

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

func (Trigger_PeriodType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[5].Descriptor()
}

func (Trigger_PeriodType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[5]
}

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

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

// Справочник типов уровней критичности
type Trigger_SeverityType int32

const (
	// Значение не указано
	Trigger_SEVERITY_TYPE_UNKNOWN Trigger_SeverityType = 0
	// Проблема высшего приоритета.
	// Максимальное оповещение
	Trigger_CRITICAL Trigger_SeverityType = 1
	// Проблема среднего приоритета.
	// Оповещение по внутренним каналам
	Trigger_WARNING Trigger_SeverityType = 2
	// Проблема не влияет на бизнес-пользователя.
	// Отражается во внутренних интерфейсах
	Trigger_INFO Trigger_SeverityType = 3
)

// Enum value maps for Trigger_SeverityType.
var (
	Trigger_SeverityType_name = map[int32]string{
		0: "SEVERITY_TYPE_UNKNOWN",
		1: "CRITICAL",
		2: "WARNING",
		3: "INFO",
	}
	Trigger_SeverityType_value = map[string]int32{
		"SEVERITY_TYPE_UNKNOWN": 0,
		"CRITICAL":              1,
		"WARNING":               2,
		"INFO":                  3,
	}
)

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

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

func (Trigger_SeverityType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[6].Descriptor()
}

func (Trigger_SeverityType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[6]
}

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

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

// Справочник типов энергоресурсов, собираемых ТУ
type Trigger_MetricType int32

const (
	// Значение не указано
	Trigger_METRIC_TYPE_UNKNOWN Trigger_MetricType = 0
	// Горячая вода
	Trigger_HOT_WATER Trigger_MetricType = 1
	// Холодная вода
	Trigger_COLD_WATER Trigger_MetricType = 2
	// Теплоэнергия
	Trigger_HEAT Trigger_MetricType = 3
	// Газ
	Trigger_GAS Trigger_MetricType = 4
	// Электроэнергия
	Trigger_ELECTRICITY Trigger_MetricType = 5
)

// Enum value maps for Trigger_MetricType.
var (
	Trigger_MetricType_name = map[int32]string{
		0: "METRIC_TYPE_UNKNOWN",
		1: "HOT_WATER",
		2: "COLD_WATER",
		3: "HEAT",
		4: "GAS",
		5: "ELECTRICITY",
	}
	Trigger_MetricType_value = map[string]int32{
		"METRIC_TYPE_UNKNOWN": 0,
		"HOT_WATER":           1,
		"COLD_WATER":          2,
		"HEAT":                3,
		"GAS":                 4,
		"ELECTRICITY":         5,
	}
)

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

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

func (Trigger_MetricType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[7].Descriptor()
}

func (Trigger_MetricType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[7]
}

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

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

// Справочник типов ПУ
type Trigger_DeviceType int32

const (
	// Значение не указано
	Trigger_DEVICE_TYPE_UNKNOWN Trigger_DeviceType = 0
	// Коммуникационный модуль
	Trigger_HUB Trigger_DeviceType = 1
	// Счетчик импульсов - регистратор
	Trigger_PULSE_COUNTER_RECORDER Trigger_DeviceType = 2
	// Счетчик импульсов - регистратор LoRaWAN
	Trigger_PULSE_COUNTER_RECORDER_LR Trigger_DeviceType = 3
	// Прибор учета расхода коммунальных услуг
	Trigger_METERING_DEVICE Trigger_DeviceType = 4
	// Конвертер интерфейсов
	Trigger_INTERFACE_CONVERTER Trigger_DeviceType = 5
	// M-BUS концентратор
	Trigger_M_BUS_HUB Trigger_DeviceType = 6
	// Модуль связи LoRaWAN
	Trigger_COMMUNICATION_MODULE_LR Trigger_DeviceType = 7
	// Базовая станция LoRaWAN
	Trigger_BASE_LR Trigger_DeviceType = 8
)

// Enum value maps for Trigger_DeviceType.
var (
	Trigger_DeviceType_name = map[int32]string{
		0: "DEVICE_TYPE_UNKNOWN",
		1: "HUB",
		2: "PULSE_COUNTER_RECORDER",
		3: "PULSE_COUNTER_RECORDER_LR",
		4: "METERING_DEVICE",
		5: "INTERFACE_CONVERTER",
		6: "M_BUS_HUB",
		7: "COMMUNICATION_MODULE_LR",
		8: "BASE_LR",
	}
	Trigger_DeviceType_value = map[string]int32{
		"DEVICE_TYPE_UNKNOWN":       0,
		"HUB":                       1,
		"PULSE_COUNTER_RECORDER":    2,
		"PULSE_COUNTER_RECORDER_LR": 3,
		"METERING_DEVICE":           4,
		"INTERFACE_CONVERTER":       5,
		"M_BUS_HUB":                 6,
		"COMMUNICATION_MODULE_LR":   7,
		"BASE_LR":                   8,
	}
)

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

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

func (Trigger_DeviceType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[8].Descriptor()
}

func (Trigger_DeviceType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[8]
}

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

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

// Типы группировок метрик при вычислении критерия
type Trigger_MetricGroupingType int32

const (
	// Значение не указано
	Trigger_METRIC_GROUPING_TYPE_UNKNOWN Trigger_MetricGroupingType = 0
	// Признак группировки метрик по идентификаторам родительского устройства(идентификатор хаба, проксирующего прибор учета)
	Trigger_PARENT_ID Trigger_MetricGroupingType = 1
	// Признак группировки метрик по идентификатору устройства(устройство, с которого получена метрика)
	Trigger_DEVICE_ID Trigger_MetricGroupingType = 2
)

// Enum value maps for Trigger_MetricGroupingType.
var (
	Trigger_MetricGroupingType_name = map[int32]string{
		0: "METRIC_GROUPING_TYPE_UNKNOWN",
		1: "PARENT_ID",
		2: "DEVICE_ID",
	}
	Trigger_MetricGroupingType_value = map[string]int32{
		"METRIC_GROUPING_TYPE_UNKNOWN": 0,
		"PARENT_ID":                    1,
		"DEVICE_ID":                    2,
	}
)

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

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

func (Trigger_MetricGroupingType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[9].Descriptor()
}

func (Trigger_MetricGroupingType) Type() protoreflect.EnumType {
	return &file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes[9]
}

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

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

// Запрос списка устройств, вызвавших появление алерта
type GetTriggerAlertDeviceListRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор алерта
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Параметры фильтрации алерта
	Filter *TriggerAlertFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
	// Вариант разбиения на страницы
	//
	// Types that are assignable to Pagination:
	//
	//	*GetTriggerAlertDeviceListRequest_Paging
	Pagination isGetTriggerAlertDeviceListRequest_Pagination `protobuf_oneof:"pagination"`
}

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

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

func (*GetTriggerAlertDeviceListRequest) ProtoMessage() {}

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

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

func (x *GetTriggerAlertDeviceListRequest) GetFilter() *TriggerAlertFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (m *GetTriggerAlertDeviceListRequest) GetPagination() isGetTriggerAlertDeviceListRequest_Pagination {
	if m != nil {
		return m.Pagination
	}
	return nil
}

func (x *GetTriggerAlertDeviceListRequest) GetPaging() *TriggerAlertPaging {
	if x, ok := x.GetPagination().(*GetTriggerAlertDeviceListRequest_Paging); ok {
		return x.Paging
	}
	return nil
}

type isGetTriggerAlertDeviceListRequest_Pagination interface {
	isGetTriggerAlertDeviceListRequest_Pagination()
}

type GetTriggerAlertDeviceListRequest_Paging struct {
	// Параметры пагинации
	Paging *TriggerAlertPaging `protobuf:"bytes,3,opt,name=paging,proto3,oneof"`
}

func (*GetTriggerAlertDeviceListRequest_Paging) isGetTriggerAlertDeviceListRequest_Pagination() {}

// Параметры пагинации алертов
type TriggerAlertPaging struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип значения сортировки.
	// По умолчанию: ORDER_BY_TYPE_RAISED_AT
	OrderByType TriggerAlertPaging_OrderByType `protobuf:"varint,1,opt,name=order_by_type,json=orderByType,proto3,enum=keyapis.telemetry_alerting.v1.TriggerAlertPaging_OrderByType" json:"order_by_type,omitempty"`
	// Тип направления сортировки.
	// По умолчанию: DESC
	DirectionType TriggerAlertPaging_DirectionType `protobuf:"varint,2,opt,name=direction_type,json=directionType,proto3,enum=keyapis.telemetry_alerting.v1.TriggerAlertPaging_DirectionType" json:"direction_type,omitempty"`
	// Сколько элементов нужно получить за раз.
	// Минимальное значение: 1.
	// Максимальное значение: 100.
	// По умолчанию: 20.
	// Если значение 0 (не передано), то выставляем значение по умолчанию
	Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	// Начальный сдвиг.
	// По умолчанию: 0
	Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
}

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

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

func (*TriggerAlertPaging) ProtoMessage() {}

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

func (x *TriggerAlertPaging) GetOrderByType() TriggerAlertPaging_OrderByType {
	if x != nil {
		return x.OrderByType
	}
	return TriggerAlertPaging_ORDER_BY_TYPE_UNKNOWN
}

func (x *TriggerAlertPaging) GetDirectionType() TriggerAlertPaging_DirectionType {
	if x != nil {
		return x.DirectionType
	}
	return TriggerAlertPaging_DIRECTION_TYPE_UNKNOWN
}

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

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

// Факты сработки алерта на устройствах
type AlertDevice struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор алерта
	AlertId int32 `protobuf:"varint,1,opt,name=alert_id,json=alertId,proto3" json:"alert_id,omitempty"`
	// Идентификатор устройства
	DeviceId int32 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
}

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

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

func (*AlertDevice) ProtoMessage() {}

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

func (x *AlertDevice) GetAlertId() int32 {
	if x != nil {
		return x.AlertId
	}
	return 0
}

func (x *AlertDevice) GetDeviceId() int32 {
	if x != nil {
		return x.DeviceId
	}
	return 0
}

// Ответ на запрос списка устройств, вызвавших появление алерта
type GetTriggerAlertDeviceListResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetTriggerAlertDeviceListResponse_Data
	Type isGetTriggerAlertDeviceListResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetTriggerAlertDeviceListResponse) ProtoMessage() {}

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

func (m *GetTriggerAlertDeviceListResponse) GetType() isGetTriggerAlertDeviceListResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetTriggerAlertDeviceListResponse) GetData() *AlertDevice {
	if x, ok := x.GetType().(*GetTriggerAlertDeviceListResponse_Data); ok {
		return x.Data
	}
	return nil
}

type isGetTriggerAlertDeviceListResponse_Type interface {
	isGetTriggerAlertDeviceListResponse_Type()
}

type GetTriggerAlertDeviceListResponse_Data struct {
	// Факт сработки триггера
	Data *AlertDevice `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

func (*GetTriggerAlertDeviceListResponse_Data) isGetTriggerAlertDeviceListResponse_Type() {}

// Запрос на чтение триггера
type GetTriggerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор триггера
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*GetTriggerRequest) ProtoMessage() {}

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

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

// Ответ на чтение триггера
type GetTriggerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetTriggerResponse_Data
	Type isGetTriggerResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetTriggerResponse) ProtoMessage() {}

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

func (m *GetTriggerResponse) GetType() isGetTriggerResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetTriggerResponse) GetData() *Trigger {
	if x, ok := x.GetType().(*GetTriggerResponse_Data); ok {
		return x.Data
	}
	return nil
}

type isGetTriggerResponse_Type interface {
	isGetTriggerResponse_Type()
}

type GetTriggerResponse_Data struct {
	// Триггер
	Data *Trigger `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

func (*GetTriggerResponse_Data) isGetTriggerResponse_Type() {}

// Запрос получения списка алертов
type GetTriggerAlertListRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Параметры фильтрации
	Filter *TriggerAlertFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// Вариант разбиения на страницы
	//
	// Types that are assignable to Pagination:
	//
	//	*GetTriggerAlertListRequest_Paging
	Pagination isGetTriggerAlertListRequest_Pagination `protobuf_oneof:"pagination"`
}

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

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

func (*GetTriggerAlertListRequest) ProtoMessage() {}

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

func (x *GetTriggerAlertListRequest) GetFilter() *TriggerAlertFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (m *GetTriggerAlertListRequest) GetPagination() isGetTriggerAlertListRequest_Pagination {
	if m != nil {
		return m.Pagination
	}
	return nil
}

func (x *GetTriggerAlertListRequest) GetPaging() *TriggerAlertPaging {
	if x, ok := x.GetPagination().(*GetTriggerAlertListRequest_Paging); ok {
		return x.Paging
	}
	return nil
}

type isGetTriggerAlertListRequest_Pagination interface {
	isGetTriggerAlertListRequest_Pagination()
}

type GetTriggerAlertListRequest_Paging struct {
	// Параметры пагинации
	Paging *TriggerAlertPaging `protobuf:"bytes,2,opt,name=paging,proto3,oneof"`
}

func (*GetTriggerAlertListRequest_Paging) isGetTriggerAlertListRequest_Pagination() {}

// Запрос на погашение алерта
type PostTriggerAlertDisableRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор алерта
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Причина принудительного закрытия, заполняется в момент принудительного закрытия
	ClosingReason *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=closing_reason,json=closingReason,proto3" json:"closing_reason,omitempty"`
}

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

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

func (*PostTriggerAlertDisableRequest) ProtoMessage() {}

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

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

func (x *PostTriggerAlertDisableRequest) GetClosingReason() *wrapperspb.StringValue {
	if x != nil {
		return x.ClosingReason
	}
	return nil
}

// Ответ на запрос погашение алерта
type PostTriggerAlertDisableResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*PostTriggerAlertDisableResponse) ProtoMessage() {}

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

// Запрос получения списка алертов
type GetTriggerAlertCountRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Параметры фильтрации
	Filter *TriggerAlertFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
}

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

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

func (*GetTriggerAlertCountRequest) ProtoMessage() {}

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

func (x *GetTriggerAlertCountRequest) GetFilter() *TriggerAlertFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

// Запрос получения списка триггеров
type GetTriggerListRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Параметры фильтрации
	Filter *TriggerFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// Вариант разбиения на страницы
	//
	// Types that are assignable to Pagination:
	//
	//	*GetTriggerListRequest_Paging
	Pagination isGetTriggerListRequest_Pagination `protobuf_oneof:"pagination"`
}

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

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

func (*GetTriggerListRequest) ProtoMessage() {}

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

func (x *GetTriggerListRequest) GetFilter() *TriggerFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (m *GetTriggerListRequest) GetPagination() isGetTriggerListRequest_Pagination {
	if m != nil {
		return m.Pagination
	}
	return nil
}

func (x *GetTriggerListRequest) GetPaging() *TriggerPaging {
	if x, ok := x.GetPagination().(*GetTriggerListRequest_Paging); ok {
		return x.Paging
	}
	return nil
}

type isGetTriggerListRequest_Pagination interface {
	isGetTriggerListRequest_Pagination()
}

type GetTriggerListRequest_Paging struct {
	// Параметры пагинации
	Paging *TriggerPaging `protobuf:"bytes,2,opt,name=paging,proto3,oneof"`
}

func (*GetTriggerListRequest_Paging) isGetTriggerListRequest_Pagination() {}

// Параметры пагинации триггеров
type TriggerPaging struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип значения сортировки.
	// По умолчанию: SEVERITY
	OrderByType TriggerPaging_OrderByType `protobuf:"varint,1,opt,name=order_by_type,json=orderByType,proto3,enum=keyapis.telemetry_alerting.v1.TriggerPaging_OrderByType" json:"order_by_type,omitempty"`
	// Тип направления сортировки.
	// По умолчанию: ASC
	DirectionType TriggerPaging_DirectionType `protobuf:"varint,2,opt,name=direction_type,json=directionType,proto3,enum=keyapis.telemetry_alerting.v1.TriggerPaging_DirectionType" json:"direction_type,omitempty"`
	// Сколько элементов нужно получить за раз.
	// Минимальное значение: 1.
	// Максимальное значение: 100.
	// По умолчанию: 20.
	// Если значение 0 (не передано), то выставляем значение по умолчанию
	Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	// Начальный сдвиг.
	// По умолчанию: 0
	Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
}

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

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

func (*TriggerPaging) ProtoMessage() {}

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

func (x *TriggerPaging) GetOrderByType() TriggerPaging_OrderByType {
	if x != nil {
		return x.OrderByType
	}
	return TriggerPaging_ORDER_BY_TYPE_UNKNOWN
}

func (x *TriggerPaging) GetDirectionType() TriggerPaging_DirectionType {
	if x != nil {
		return x.DirectionType
	}
	return TriggerPaging_DIRECTION_TYPE_UNKNOWN
}

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

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

// Параметры фильтрации триггеров.
// При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ.
// При передаче нескольких разных параметров фильтра они работают в выборке через И
type TriggerFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// По уровням критичности
	SeverityTypes []Trigger_SeverityType `protobuf:"varint,1,rep,packed,name=severity_types,json=severityTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_SeverityType" json:"severity_types,omitempty"`
	// По тэгам
	Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
	// По типам метрик триггеров
	MetricTypes []Trigger_MetricType `protobuf:"varint,3,rep,packed,name=metric_types,json=metricTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_MetricType" json:"metric_types,omitempty"`
	// По моделям устройств
	DeviceModels []string `protobuf:"bytes,4,rep,name=device_models,json=deviceModels,proto3" json:"device_models,omitempty"`
	// По типам устройств
	DeviceTypes []Trigger_DeviceType `protobuf:"varint,5,rep,packed,name=device_types,json=deviceTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_DeviceType" json:"device_types,omitempty"`
	// По типам группировки метрик
	MetricGroupingTypes []Trigger_MetricGroupingType `protobuf:"varint,6,rep,packed,name=metric_grouping_types,json=metricGroupingTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_MetricGroupingType" json:"metric_grouping_types,omitempty"`
	// По признаку активности триггера
	IsDisabled *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=is_disabled,json=isDisabled,proto3" json:"is_disabled,omitempty"`
}

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

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

func (*TriggerFilter) ProtoMessage() {}

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

func (x *TriggerFilter) GetSeverityTypes() []Trigger_SeverityType {
	if x != nil {
		return x.SeverityTypes
	}
	return nil
}

func (x *TriggerFilter) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *TriggerFilter) GetMetricTypes() []Trigger_MetricType {
	if x != nil {
		return x.MetricTypes
	}
	return nil
}

func (x *TriggerFilter) GetDeviceModels() []string {
	if x != nil {
		return x.DeviceModels
	}
	return nil
}

func (x *TriggerFilter) GetDeviceTypes() []Trigger_DeviceType {
	if x != nil {
		return x.DeviceTypes
	}
	return nil
}

func (x *TriggerFilter) GetMetricGroupingTypes() []Trigger_MetricGroupingType {
	if x != nil {
		return x.MetricGroupingTypes
	}
	return nil
}

func (x *TriggerFilter) GetIsDisabled() *wrapperspb.BoolValue {
	if x != nil {
		return x.IsDisabled
	}
	return nil
}

// Параметры фильтрации алертов.
// При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ.
// При передаче нескольких разных параметров фильтра они работают в выборке через И
type TriggerAlertFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// По важности триггера
	TriggerSeverityTypes []Trigger_SeverityType `protobuf:"varint,1,rep,packed,name=trigger_severity_types,json=triggerSeverityTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_SeverityType" json:"trigger_severity_types,omitempty"`
	// По ФИАСам
	FiasIds []string `protobuf:"bytes,2,rep,name=fias_ids,json=fiasIds,proto3" json:"fias_ids,omitempty"`
	// По тэгам
	Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"`
	// По типам метрик триггера
	MetricTypes []Trigger_MetricType `protobuf:"varint,4,rep,packed,name=metric_types,json=metricTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_MetricType" json:"metric_types,omitempty"`
	// По моделям устройств
	DeviceModels []string `protobuf:"bytes,5,rep,name=device_models,json=deviceModels,proto3" json:"device_models,omitempty"`
	// По типам устройств
	DeviceTypes []Trigger_DeviceType `protobuf:"varint,6,rep,packed,name=device_types,json=deviceTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_DeviceType" json:"device_types,omitempty"`
	// По идентификаторам родительских устройств
	DeviceParentIds []int32 `protobuf:"varint,7,rep,packed,name=device_parent_ids,json=deviceParentIds,proto3" json:"device_parent_ids,omitempty"`
	// По идентификаторам устройств
	DeviceIds []int32 `protobuf:"varint,8,rep,packed,name=device_ids,json=deviceIds,proto3" json:"device_ids,omitempty"`
	// По признаку активности
	IsDisabled *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=is_disabled,json=isDisabled,proto3" json:"is_disabled,omitempty"`
	// От даты возникновения включительно (>=)
	AfterRaisedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=after_raised_at,json=afterRaisedAt,proto3" json:"after_raised_at,omitempty"`
	// До даты возникновения (<)
	BeforeRaisedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=before_raised_at,json=beforeRaisedAt,proto3" json:"before_raised_at,omitempty"`
	// По типам группировки метрик
	MetricGroupingTypes []Trigger_MetricGroupingType `protobuf:"varint,12,rep,packed,name=metric_grouping_types,json=metricGroupingTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_MetricGroupingType" json:"metric_grouping_types,omitempty"`
	// По идентификаторам триггеров
	TriggerIds []int32 `protobuf:"varint,13,rep,packed,name=trigger_ids,json=triggerIds,proto3" json:"trigger_ids,omitempty"`
}

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

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

func (*TriggerAlertFilter) ProtoMessage() {}

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

func (x *TriggerAlertFilter) GetTriggerSeverityTypes() []Trigger_SeverityType {
	if x != nil {
		return x.TriggerSeverityTypes
	}
	return nil
}

func (x *TriggerAlertFilter) GetFiasIds() []string {
	if x != nil {
		return x.FiasIds
	}
	return nil
}

func (x *TriggerAlertFilter) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *TriggerAlertFilter) GetMetricTypes() []Trigger_MetricType {
	if x != nil {
		return x.MetricTypes
	}
	return nil
}

func (x *TriggerAlertFilter) GetDeviceModels() []string {
	if x != nil {
		return x.DeviceModels
	}
	return nil
}

func (x *TriggerAlertFilter) GetDeviceTypes() []Trigger_DeviceType {
	if x != nil {
		return x.DeviceTypes
	}
	return nil
}

func (x *TriggerAlertFilter) GetDeviceParentIds() []int32 {
	if x != nil {
		return x.DeviceParentIds
	}
	return nil
}

func (x *TriggerAlertFilter) GetDeviceIds() []int32 {
	if x != nil {
		return x.DeviceIds
	}
	return nil
}

func (x *TriggerAlertFilter) GetIsDisabled() *wrapperspb.BoolValue {
	if x != nil {
		return x.IsDisabled
	}
	return nil
}

func (x *TriggerAlertFilter) GetAfterRaisedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.AfterRaisedAt
	}
	return nil
}

func (x *TriggerAlertFilter) GetBeforeRaisedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.BeforeRaisedAt
	}
	return nil
}

func (x *TriggerAlertFilter) GetMetricGroupingTypes() []Trigger_MetricGroupingType {
	if x != nil {
		return x.MetricGroupingTypes
	}
	return nil
}

func (x *TriggerAlertFilter) GetTriggerIds() []int32 {
	if x != nil {
		return x.TriggerIds
	}
	return nil
}

// Триггер
type Trigger struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Дата последнего изменения.
	// Заполняется и обновляется сервером.
	// Заполняется при создании и изменении.
	// Является версией объекта
	ChangedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=changed_at,json=changedAt,proto3" json:"changed_at,omitempty"`
	// Название триггера
	Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	// Тип критерия триггера
	CriteriaType Trigger_CriteriaType `protobuf:"varint,4,opt,name=criteria_type,json=criteriaType,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_CriteriaType" json:"criteria_type,omitempty"`
	// Пороговое значение триггера
	Threshold float32 `protobuf:"fixed32,5,opt,name=threshold,proto3" json:"threshold,omitempty"`
	// Временное окно выборки метрик
	//
	// Types that are assignable to Range:
	//
	//	*Trigger_SlidingDays
	//	*Trigger_FixedDaysRange
	Range isTrigger_Range `protobuf_oneof:"range"`
	// Тип периода контроля
	PeriodType Trigger_PeriodType `protobuf:"varint,8,opt,name=period_type,json=periodType,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_PeriodType" json:"period_type,omitempty"`
	// Уровень критичности проблемы, которая описана критерием.
	// Задает приоритет оповещения и реагирования
	SeverityType Trigger_SeverityType `protobuf:"varint,9,opt,name=severity_type,json=severityType,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_SeverityType" json:"severity_type,omitempty"`
	// Флаг активности триггера.
	// При погашении триггера гасятся и все его алерты
	IsDisabled bool `protobuf:"varint,10,opt,name=is_disabled,json=isDisabled,proto3" json:"is_disabled,omitempty"`
	// Краткая инструкция по решению или эскалации проблемы
	Instruction *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=instruction,proto3" json:"instruction,omitempty"`
	// Фильтрация метрик по типам метрик.
	// При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
	MetricTypes []Trigger_MetricType `protobuf:"varint,12,rep,packed,name=metric_types,json=metricTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_MetricType" json:"metric_types,omitempty"`
	// Фильтрация метрик по значению моделей устройств.
	// При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
	DeviceModels []string `protobuf:"bytes,13,rep,name=device_models,json=deviceModels,proto3" json:"device_models,omitempty"`
	// Фильтрация метрик по значению типов устройств.
	// При нескольких элементах фильтрация срабатывает по значениям через ИЛИ
	DeviceTypes []Trigger_DeviceType `protobuf:"varint,14,rep,packed,name=device_types,json=deviceTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_DeviceType" json:"device_types,omitempty"`
	// Тип группировки метрик при вычислении критерия
	MetricGroupingType Trigger_MetricGroupingType `protobuf:"varint,15,opt,name=metric_grouping_type,json=metricGroupingType,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_MetricGroupingType" json:"metric_grouping_type,omitempty"`
	// Количество отрицательных проверок критерия, после которого сервис отключает
	SuccessThreshold int32 `protobuf:"varint,16,opt,name=success_threshold,json=successThreshold,proto3" json:"success_threshold,omitempty"`
	// Произвольные теги для фильтрации и упорядочивания
	Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"`
	// Флаг невозможности погашения алертов этого триггера
	IsManuallyUnclosable bool `protobuf:"varint,18,opt,name=is_manually_unclosable,json=isManuallyUnclosable,proto3" json:"is_manually_unclosable,omitempty"`
	// Признак контроля триггером временного окна выборки метрик на основе поля индикатора metric_expected_freq.
	// При значении true: поля range.sliding_days, range.fixed_days_range игнорируются при работе триггера.
	// При значении true: временное окно выборки метрик при работе триггера работает как sliding_days=indicator.metric_expected_freq.
	// При значении true: Для случаев indicator.metric_expected_freq=null индикатор игнорируется при работе триггера, алерт по нему не создается.
	// При значении true: Для случаев indicator.metric_expected_freq<=0 индикатор игнорируется при работе триггера, алерт по нему не создается
	IsRangeMetricExpectedFreq bool `protobuf:"varint,19,opt,name=is_range_metric_expected_freq,json=isRangeMetricExpectedFreq,proto3" json:"is_range_metric_expected_freq,omitempty"`
}

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

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

func (*Trigger) ProtoMessage() {}

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

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

func (x *Trigger) GetChangedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ChangedAt
	}
	return nil
}

func (x *Trigger) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *Trigger) GetCriteriaType() Trigger_CriteriaType {
	if x != nil {
		return x.CriteriaType
	}
	return Trigger_CRITERIA_TYPE_UNKNOWN
}

func (x *Trigger) GetThreshold() float32 {
	if x != nil {
		return x.Threshold
	}
	return 0
}

func (m *Trigger) GetRange() isTrigger_Range {
	if m != nil {
		return m.Range
	}
	return nil
}

func (x *Trigger) GetSlidingDays() int32 {
	if x, ok := x.GetRange().(*Trigger_SlidingDays); ok {
		return x.SlidingDays
	}
	return 0
}

func (x *Trigger) GetFixedDaysRange() *Trigger_FixedDaysOfMonth {
	if x, ok := x.GetRange().(*Trigger_FixedDaysRange); ok {
		return x.FixedDaysRange
	}
	return nil
}

func (x *Trigger) GetPeriodType() Trigger_PeriodType {
	if x != nil {
		return x.PeriodType
	}
	return Trigger_PERIOD_TYPE_UNKNOWN
}

func (x *Trigger) GetSeverityType() Trigger_SeverityType {
	if x != nil {
		return x.SeverityType
	}
	return Trigger_SEVERITY_TYPE_UNKNOWN
}

func (x *Trigger) GetIsDisabled() bool {
	if x != nil {
		return x.IsDisabled
	}
	return false
}

func (x *Trigger) GetInstruction() *wrapperspb.StringValue {
	if x != nil {
		return x.Instruction
	}
	return nil
}

func (x *Trigger) GetMetricTypes() []Trigger_MetricType {
	if x != nil {
		return x.MetricTypes
	}
	return nil
}

func (x *Trigger) GetDeviceModels() []string {
	if x != nil {
		return x.DeviceModels
	}
	return nil
}

func (x *Trigger) GetDeviceTypes() []Trigger_DeviceType {
	if x != nil {
		return x.DeviceTypes
	}
	return nil
}

func (x *Trigger) GetMetricGroupingType() Trigger_MetricGroupingType {
	if x != nil {
		return x.MetricGroupingType
	}
	return Trigger_METRIC_GROUPING_TYPE_UNKNOWN
}

func (x *Trigger) GetSuccessThreshold() int32 {
	if x != nil {
		return x.SuccessThreshold
	}
	return 0
}

func (x *Trigger) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *Trigger) GetIsManuallyUnclosable() bool {
	if x != nil {
		return x.IsManuallyUnclosable
	}
	return false
}

func (x *Trigger) GetIsRangeMetricExpectedFreq() bool {
	if x != nil {
		return x.IsRangeMetricExpectedFreq
	}
	return false
}

type isTrigger_Range interface {
	isTrigger_Range()
}

type Trigger_SlidingDays struct {
	// Скользящее окно относительно текущего момента.
	// Начало окна это 00:00:00.000 UTC дня на sliding_days раньше текущего UTC дня.
	// Конец окна - текущий момент
	SlidingDays int32 `protobuf:"varint,6,opt,name=sliding_days,json=slidingDays,proto3,oneof"`
}

type Trigger_FixedDaysRange struct {
	// Границы временного окна, в текущем или предыдущем месяце
	FixedDaysRange *Trigger_FixedDaysOfMonth `protobuf:"bytes,7,opt,name=fixed_days_range,json=fixedDaysRange,proto3,oneof"`
}

func (*Trigger_SlidingDays) isTrigger_Range() {}

func (*Trigger_FixedDaysRange) isTrigger_Range() {}

// Ответ на запрос получения списка записей
type GetTriggerListResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetTriggerListResponse_Data
	Type isGetTriggerListResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetTriggerListResponse) ProtoMessage() {}

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

func (m *GetTriggerListResponse) GetType() isGetTriggerListResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetTriggerListResponse) GetData() *Trigger {
	if x, ok := x.GetType().(*GetTriggerListResponse_Data); ok {
		return x.Data
	}
	return nil
}

type isGetTriggerListResponse_Type interface {
	isGetTriggerListResponse_Type()
}

type GetTriggerListResponse_Data struct {
	// Триггер
	Data *Trigger `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

func (*GetTriggerListResponse_Data) isGetTriggerListResponse_Type() {}

// Ответ на запрос получения списка записей
type GetTriggerAlertListResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetTriggerAlertListResponse_Data
	Type isGetTriggerAlertListResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetTriggerAlertListResponse) ProtoMessage() {}

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

func (m *GetTriggerAlertListResponse) GetType() isGetTriggerAlertListResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetTriggerAlertListResponse) GetData() *Trigger_Alert {
	if x, ok := x.GetType().(*GetTriggerAlertListResponse_Data); ok {
		return x.Data
	}
	return nil
}

type isGetTriggerAlertListResponse_Type interface {
	isGetTriggerAlertListResponse_Type()
}

type GetTriggerAlertListResponse_Data struct {
	// Алерт
	Data *Trigger_Alert `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

func (*GetTriggerAlertListResponse_Data) isGetTriggerAlertListResponse_Type() {}

// Запрос получения количества записей
type GetTriggerCountRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Параметры фильтрации
	Filter *TriggerFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
}

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

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

func (*GetTriggerCountRequest) ProtoMessage() {}

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

func (x *GetTriggerCountRequest) GetFilter() *TriggerFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

// Ответ на запрос получения количества записей
type GetTriggerCountResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetTriggerCountResponse_Data
	Type isGetTriggerCountResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetTriggerCountResponse) ProtoMessage() {}

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

func (m *GetTriggerCountResponse) GetType() isGetTriggerCountResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetTriggerCountResponse) GetData() int32 {
	if x, ok := x.GetType().(*GetTriggerCountResponse_Data); ok {
		return x.Data
	}
	return 0
}

type isGetTriggerCountResponse_Type interface {
	isGetTriggerCountResponse_Type()
}

type GetTriggerCountResponse_Data struct {
	// Всего записей
	Data int32 `protobuf:"varint,1,opt,name=data,proto3,oneof"`
}

func (*GetTriggerCountResponse_Data) isGetTriggerCountResponse_Type() {}

// Ответ на запрос получения количества записей
type GetTriggerAlertCountResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetTriggerAlertCountResponse_Data
	Type isGetTriggerAlertCountResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetTriggerAlertCountResponse) ProtoMessage() {}

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

func (m *GetTriggerAlertCountResponse) GetType() isGetTriggerAlertCountResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetTriggerAlertCountResponse) GetData() int32 {
	if x, ok := x.GetType().(*GetTriggerAlertCountResponse_Data); ok {
		return x.Data
	}
	return 0
}

type isGetTriggerAlertCountResponse_Type interface {
	isGetTriggerAlertCountResponse_Type()
}

type GetTriggerAlertCountResponse_Data struct {
	// Всего записей
	Data int32 `protobuf:"varint,1,opt,name=data,proto3,oneof"`
}

func (*GetTriggerAlertCountResponse_Data) isGetTriggerAlertCountResponse_Type() {}

// Запрос на создание триггера
type PostTriggerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Триггер, который хотим создать или обновить
	Data *Trigger `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*PostTriggerRequest) ProtoMessage() {}

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

func (x *PostTriggerRequest) GetData() *Trigger {
	if x != nil {
		return x.Data
	}
	return nil
}

// Ответ на запрос сохранения триггера
type PostTriggerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*PostTriggerResponse_Data
	Type isPostTriggerResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*PostTriggerResponse) ProtoMessage() {}

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

func (m *PostTriggerResponse) GetType() isPostTriggerResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *PostTriggerResponse) GetData() *Trigger {
	if x, ok := x.GetType().(*PostTriggerResponse_Data); ok {
		return x.Data
	}
	return nil
}

type isPostTriggerResponse_Type interface {
	isPostTriggerResponse_Type()
}

type PostTriggerResponse_Data struct {
	// Триггер, созданный или обновленный
	Data *Trigger `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

func (*PostTriggerResponse_Data) isPostTriggerResponse_Type() {}

// Запрос на удаление триггера
type DeleteTriggerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор триггера
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*DeleteTriggerRequest) ProtoMessage() {}

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

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

// Ответ на запрос удаление триггера
type DeleteTriggerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*DeleteTriggerResponse) ProtoMessage() {}

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

// Запрос на удаление алерта
type DeleteTriggerAlertRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор алерта
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*DeleteTriggerAlertRequest) ProtoMessage() {}

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

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

// Ответ на запрос удаление алерта
type DeleteTriggerAlertResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*DeleteTriggerAlertResponse) ProtoMessage() {}

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

// Границы временного окна, в текущем или предыдущем месяце.
// Если end_day текущего месяца не наступил, то берем прошлый месяц
type Trigger_FixedDaysOfMonth struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Начало окна времени.
	// Номер дня месяца, момент времени 00:00:00.000 UTC
	StartDay int32 `protobuf:"varint,1,opt,name=start_day,json=startDay,proto3" json:"start_day,omitempty"`
	// Конец окна времени.
	// Номер дня месяца, момент времени 00:00:00.000 UTC
	EndDay int32 `protobuf:"varint,2,opt,name=end_day,json=endDay,proto3" json:"end_day,omitempty"`
}

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

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

func (*Trigger_FixedDaysOfMonth) ProtoMessage() {}

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

func (x *Trigger_FixedDaysOfMonth) GetStartDay() int32 {
	if x != nil {
		return x.StartDay
	}
	return 0
}

func (x *Trigger_FixedDaysOfMonth) GetEndDay() int32 {
	if x != nil {
		return x.EndDay
	}
	return 0
}

// Определение проблемы, сгенерированной по триггеру
type Trigger_Alert struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Дата последнего изменения.
	// Заполняется и обновляется сервером.
	// Заполняется при создании и изменении.
	// Является версией объекта
	ChangedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=changed_at,json=changedAt,proto3" json:"changed_at,omitempty"`
	// Породивший триггер
	TriggerId int32 `protobuf:"varint,3,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
	// ФИАС
	FiasId string `protobuf:"bytes,4,opt,name=fias_id,json=fiasId,proto3" json:"fias_id,omitempty"`
	// Время возникновения алерта
	RaisedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=raised_at,json=raisedAt,proto3" json:"raised_at,omitempty"`
	// Признак погашенного алерта.
	// Проставляется сервисом при no_alarm_checks_count >= success_threshold
	IsDisabled bool `protobuf:"varint,6,opt,name=is_disabled,json=isDisabled,proto3" json:"is_disabled,omitempty"`
	// Количество проверок триггера для атрибутов данного алерта, при которых не выполнился критерий триггера.
	// Увеличивается у непогашенного алерта, если при очередной проверке нет срабатывания триггера с атрибутами данного алерта.
	// При увеличении проставляется changed_at
	NoAlarmChecksCount int32 `protobuf:"varint,7,opt,name=no_alarm_checks_count,json=noAlarmChecksCount,proto3" json:"no_alarm_checks_count,omitempty"`
	// Типы метрик, по которым были отфильтрованы метрики
	TriggerMetricTypes []Trigger_MetricType `protobuf:"varint,8,rep,packed,name=trigger_metric_types,json=triggerMetricTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_MetricType" json:"trigger_metric_types,omitempty"`
	// Модели устройств, по которым были отфильтрованы метрики
	DeviceModels []string `protobuf:"bytes,9,rep,name=device_models,json=deviceModels,proto3" json:"device_models,omitempty"`
	// Типы устройств, по которым были отфильтрованы метрики
	TriggerDeviceTypes []Trigger_DeviceType `protobuf:"varint,10,rep,packed,name=trigger_device_types,json=triggerDeviceTypes,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_DeviceType" json:"trigger_device_types,omitempty"`
	// Идентификаторы родительских устройств, по которому были сгруппированы метрики
	DeviceParentId *wrapperspb.Int32Value `protobuf:"bytes,11,opt,name=device_parent_id,json=deviceParentId,proto3" json:"device_parent_id,omitempty"`
	// Время погашения алерта.
	// Пустой или отсутствует у непогашенного активного алерта
	ClosedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=closed_at,json=closedAt,proto3" json:"closed_at,omitempty"`
	// Признак принудительного погашения алерта
	IsManuallyClosed bool `protobuf:"varint,13,opt,name=is_manually_closed,json=isManuallyClosed,proto3" json:"is_manually_closed,omitempty"`
	// Причина принудительного закрытия, заполняется в момент принудительного закрытия
	ClosingReason *wrapperspb.StringValue `protobuf:"bytes,14,opt,name=closing_reason,json=closingReason,proto3" json:"closing_reason,omitempty"`
	// Группировка метрик при вычислении критерия
	TriggerMetricGroupingType Trigger_MetricGroupingType `protobuf:"varint,15,opt,name=trigger_metric_grouping_type,json=triggerMetricGroupingType,proto3,enum=keyapis.telemetry_alerting.v1.Trigger_MetricGroupingType" json:"trigger_metric_grouping_type,omitempty"`
}

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

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

func (*Trigger_Alert) ProtoMessage() {}

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

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

func (x *Trigger_Alert) GetChangedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ChangedAt
	}
	return nil
}

func (x *Trigger_Alert) GetTriggerId() int32 {
	if x != nil {
		return x.TriggerId
	}
	return 0
}

func (x *Trigger_Alert) GetFiasId() string {
	if x != nil {
		return x.FiasId
	}
	return ""
}

func (x *Trigger_Alert) GetRaisedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RaisedAt
	}
	return nil
}

func (x *Trigger_Alert) GetIsDisabled() bool {
	if x != nil {
		return x.IsDisabled
	}
	return false
}

func (x *Trigger_Alert) GetNoAlarmChecksCount() int32 {
	if x != nil {
		return x.NoAlarmChecksCount
	}
	return 0
}

func (x *Trigger_Alert) GetTriggerMetricTypes() []Trigger_MetricType {
	if x != nil {
		return x.TriggerMetricTypes
	}
	return nil
}

func (x *Trigger_Alert) GetDeviceModels() []string {
	if x != nil {
		return x.DeviceModels
	}
	return nil
}

func (x *Trigger_Alert) GetTriggerDeviceTypes() []Trigger_DeviceType {
	if x != nil {
		return x.TriggerDeviceTypes
	}
	return nil
}

func (x *Trigger_Alert) GetDeviceParentId() *wrapperspb.Int32Value {
	if x != nil {
		return x.DeviceParentId
	}
	return nil
}

func (x *Trigger_Alert) GetClosedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ClosedAt
	}
	return nil
}

func (x *Trigger_Alert) GetIsManuallyClosed() bool {
	if x != nil {
		return x.IsManuallyClosed
	}
	return false
}

func (x *Trigger_Alert) GetClosingReason() *wrapperspb.StringValue {
	if x != nil {
		return x.ClosingReason
	}
	return nil
}

func (x *Trigger_Alert) GetTriggerMetricGroupingType() Trigger_MetricGroupingType {
	if x != nil {
		return x.TriggerMetricGroupingType
	}
	return Trigger_METRIC_GROUPING_TYPE_UNKNOWN
}

var File_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto protoreflect.FileDescriptor

var file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDesc = []byte{
	0x0a, 0x49, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x2f,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61,
	0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 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, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76,
	0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70,
	0x65, 0x72, 0x73, 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, 0x22, 0xdd, 0x01, 0x0a, 0x20, 0x47,
	0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72,
	0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
	0x4b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x50, 0x61, 0x67, 0x69,
	0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a,
	0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x03, 0x0a, 0x12, 0x54,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e,
	0x67, 0x12, 0x61, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e,
	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x64,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x6e, 0x0a, 0x0b, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x52, 0x44,
	0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
	0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x41, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x41,
	0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x49,
	0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x49, 0x54, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0c,
	0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08,
	0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x10, 0x05, 0x22, 0x3e, 0x0a, 0x0d, 0x44, 0x69,
	0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x44,
	0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10,
	0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x02, 0x22, 0x4f, 0x0a, 0x0b, 0x41, 0x6c,
	0x65, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x07, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x21, 0x47,
	0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x40, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41,
	0x6c, 0x65, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x28, 0x0a, 0x11, 0x47, 0x65,
	0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x02, 0x69, 0x64, 0x22, 0x5a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x22, 0xc2, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41,
	0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x49, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61,
	0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61,
	0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52,
	0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x1e, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x0e,
	0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67,
	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74,
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xb3,
	0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x46,
	0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06,
	0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x5c, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f,
	0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a,
	0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f,
	0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x57, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
	0x06, 0x0a, 0x02, 0x49, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x49, 0x54, 0x4c, 0x45,
	0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x03,
	0x12, 0x0c, 0x0a, 0x08, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x10, 0x04, 0x22, 0x3e,
	0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x1a, 0x0a, 0x16, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50,
	0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44,
	0x45, 0x53, 0x43, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x02, 0x22, 0xfc,
	0x03, 0x0a, 0x0d, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x12, 0x5a, 0x0a, 0x0e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x73,
	0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
	0x12, 0x54, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73,
	0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74,
	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x4d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69,
	0x63, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x54, 0x0a, 0x0c, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
	0x0e, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65,
	0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
	0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
	0x73, 0x12, 0x6d, 0x0a, 0x15, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e,
	0x32, 0x39, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d,
	0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
	0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x47,
	0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x6d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x12, 0x3b, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 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, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x52, 0x0a, 0x69, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xa1, 0x06,
	0x0a, 0x12, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x46, 0x69,
	0x6c, 0x74, 0x65, 0x72, 0x12, 0x69, 0x0a, 0x16, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f,
	0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x76,
	0x65, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x14, 0x74, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12,
	0x19, 0x0a, 0x08, 0x66, 0x69, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x07, 0x66, 0x69, 0x61, 0x73, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61,
	0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x54,
	0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x54, 0x0a, 0x0c, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32,
	0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12,
	0x2a, 0x0a, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52,
	0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x69, 0x73,
	0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 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, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x69, 0x73, 0x44,
	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x66, 0x74, 0x65, 0x72,
	0x5f, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 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, 0x0d, 0x61, 0x66,
	0x74, 0x65, 0x72, 0x52, 0x61, 0x69, 0x73, 0x65, 0x64, 0x41, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x62,
	0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
	0x0b, 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, 0x0e, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x52, 0x61, 0x69, 0x73, 0x65, 0x64, 0x41,
	0x74, 0x12, 0x6d, 0x0a, 0x15, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0e,
	0x32, 0x39, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d,
	0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
	0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x47,
	0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x6d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18,
	0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64,
	0x73, 0x22, 0x90, 0x16, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a,
	0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x42, 0x03, 0xe0,
	0x41, 0x03, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a,
	0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x63, 0x72, 0x69, 0x74,
	0x65, 0x72, 0x69, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61,
	0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x72, 0x69, 0x74, 0x65,
	0x72, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73,
	0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x6c,
	0x69, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
	0x48, 0x00, 0x52, 0x0b, 0x73, 0x6c, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x12,
	0x63, 0x0a, 0x10, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x61,
	0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c,
	0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x4f, 0x66, 0x4d, 0x6f, 0x6e,
	0x74, 0x68, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52,
	0x61, 0x6e, 0x67, 0x65, 0x12, 0x57, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x74,
	0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c,
	0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a,
	0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x76,
	0x65, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c,
	0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0b,
	0x69, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x54, 0x0a,
	0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0e, 0x20,
	0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67,
	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x14, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x67, 0x72,
	0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x39, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65,
	0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
	0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x6d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x2b, 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65,
	0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67,
	0x73, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79,
	0x5f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x14, 0x69, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x55, 0x6e, 0x63,
	0x6c, 0x6f, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x69, 0x73, 0x5f, 0x72, 0x61,
	0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63,
	0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19,
	0x69, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x78, 0x70,
	0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x72, 0x65, 0x71, 0x1a, 0x48, 0x0a, 0x10, 0x46, 0x69, 0x78,
	0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x4f, 0x66, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x1b, 0x0a,
	0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e,
	0x64, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x64,
	0x44, 0x61, 0x79, 0x1a, 0x98, 0x07, 0x0a, 0x05, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x13, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02,
	0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x66, 0x69, 0x61, 0x73, 0x5f, 0x69,
	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69,
	0x61, 0x73, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x61,
	0x74, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73,
	0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x15, 0x6e, 0x6f, 0x5f, 0x61,
	0x6c, 0x61, 0x72, 0x6d, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x6e, 0x6f,
	0x41, 0x6c, 0x61, 0x72, 0x6d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x12, 0x63, 0x0a, 0x14, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x12, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x63, 0x0a, 0x14, 0x74, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x74, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12,
	0x45, 0x0a, 0x10, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33,
	0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61,
	0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64,
	0x5f, 0x61, 0x74, 0x18, 0x0c, 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, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x63,
	0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x4d,
	0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x43, 0x0a,
	0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
	0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x12, 0x7a, 0x0a, 0x1c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54,
	0x79, 0x70, 0x65, 0x52, 0x19, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6d,
	0x0a, 0x0c, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19,
	0x0a, 0x15, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52, 0x49, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
	0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x45, 0x54,
	0x52, 0x49, 0x43, 0x53, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e,
	0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x10, 0x02,
	0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x53, 0x5f, 0x56, 0x41, 0x4c, 0x55,
	0x45, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x39, 0x0a,
	0x0a, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x50,
	0x45, 0x52, 0x49, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
	0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x41, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a,
	0x05, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x02, 0x22, 0x4e, 0x0a, 0x0c, 0x53, 0x65, 0x76, 0x65,
	0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x56, 0x45,
	0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
	0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10,
	0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08,
	0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x03, 0x22, 0x68, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
	0x0d, 0x0a, 0x09, 0x48, 0x4f, 0x54, 0x5f, 0x57, 0x41, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e,
	0x0a, 0x0a, 0x43, 0x4f, 0x4c, 0x44, 0x5f, 0x57, 0x41, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x08,
	0x0a, 0x04, 0x48, 0x45, 0x41, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x41, 0x53, 0x10,
	0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x52, 0x49, 0x43, 0x49, 0x54, 0x59,
	0x10, 0x05, 0x22, 0xd0, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
	0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x55,
	0x42, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x55, 0x4c, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x55,
	0x4e, 0x54, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12,
	0x1d, 0x0a, 0x19, 0x50, 0x55, 0x4c, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52,
	0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x4c, 0x52, 0x10, 0x03, 0x12, 0x13,
	0x0a, 0x0f, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43,
	0x45, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45,
	0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09,
	0x4d, 0x5f, 0x42, 0x55, 0x53, 0x5f, 0x48, 0x55, 0x42, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x43,
	0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44,
	0x55, 0x4c, 0x45, 0x5f, 0x4c, 0x52, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x41, 0x53, 0x45,
	0x5f, 0x4c, 0x52, 0x10, 0x08, 0x22, 0x54, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x47,
	0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x4d,
	0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a,
	0x09, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09,
	0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x42, 0x07, 0x0a, 0x05, 0x72,
	0x61, 0x6e, 0x67, 0x65, 0x22, 0x5e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c,
	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x0a, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x22, 0x69, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65,
	0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
	0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x48,
	0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22,
	0x5e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c,
	0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22,
	0x37, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3c, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06,
	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x55, 0x0a, 0x12, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04,
	0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61,
	0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5b, 0x0a,
	0x13, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e,
	0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b, 0x0a, 0x14, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x30, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02,
	0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67,
	0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x32, 0x86, 0x0f, 0x0a, 0x0e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x12, 0xa3, 0x01, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67,
	0x67, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67,
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74,
	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93,
	0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
	0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x47, 0x65,
	0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67,
	0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61,
	0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
	0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb0,
	0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73,
	0x74, 0x12, 0x34, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65,
	0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
	0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72,
	0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f,
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f,
	0x76, 0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x30,
	0x01, 0x12, 0xb2, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69,
	0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xab, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65,
	0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x2a, 0x27, 0x2f, 0x74, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f,
	0x7b, 0x69, 0x64, 0x7d, 0x12, 0xc5, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67,
	0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72,
	0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x74, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f,
	0x61, 0x6c, 0x65, 0x72, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x01, 0x12, 0xc7, 0x01, 0x0a,
	0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69,
	0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x3b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65,
	0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
	0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72,
	0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36,
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f,
	0x76, 0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74,
	0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xc0, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x38, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72,
	0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f,
	0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x61,
	0x6c, 0x65, 0x72, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x17, 0x50, 0x6f,
	0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x69,
	0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3d, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69,
	0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x22, 0x35, 0x2f, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x61,
	0x62, 0x6c, 0x65, 0x12, 0xe3, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73,
	0x74, 0x12, 0x3f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65,
	0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
	0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72,
	0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x40, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e,
	0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x6c, 0x65,
	0x72, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x74,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
	0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x01, 0x42, 0xea, 0x01, 0x0a, 0x20, 0x72, 0x75,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x1f,
	0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48,
	0x03, 0x50, 0x00, 0x5a, 0x1e, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x74, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67,
	0x5f, 0x76, 0x31, 0xd8, 0x01, 0x01, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x1b, 0x4b, 0x45, 0x59, 0x41,
	0x50, 0x49, 0x53, 0x54, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x54, 0x52, 0x59, 0x41, 0x4c, 0x45, 0x52,
	0x54, 0x49, 0x4e, 0x47, 0x59, 0x56, 0x31, 0xaa, 0x02, 0x1c, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74,
	0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1c, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x5c, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x69,
	0x6e, 0x67, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1e, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x3a,
	0x3a, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x69,
	0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDescOnce sync.Once
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDescData = file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDesc
)

func file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDescGZIP() []byte {
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDescOnce.Do(func() {
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDescData = protoimpl.X.CompressGZIP(file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDescData)
	})
	return file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDescData
}

var file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes = make([]protoimpl.EnumInfo, 10)
var file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
var file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_goTypes = []interface{}{
	(TriggerAlertPaging_OrderByType)(0),       // 0: keyapis.telemetry_alerting.v1.TriggerAlertPaging.OrderByType
	(TriggerAlertPaging_DirectionType)(0),     // 1: keyapis.telemetry_alerting.v1.TriggerAlertPaging.DirectionType
	(TriggerPaging_OrderByType)(0),            // 2: keyapis.telemetry_alerting.v1.TriggerPaging.OrderByType
	(TriggerPaging_DirectionType)(0),          // 3: keyapis.telemetry_alerting.v1.TriggerPaging.DirectionType
	(Trigger_CriteriaType)(0),                 // 4: keyapis.telemetry_alerting.v1.Trigger.CriteriaType
	(Trigger_PeriodType)(0),                   // 5: keyapis.telemetry_alerting.v1.Trigger.PeriodType
	(Trigger_SeverityType)(0),                 // 6: keyapis.telemetry_alerting.v1.Trigger.SeverityType
	(Trigger_MetricType)(0),                   // 7: keyapis.telemetry_alerting.v1.Trigger.MetricType
	(Trigger_DeviceType)(0),                   // 8: keyapis.telemetry_alerting.v1.Trigger.DeviceType
	(Trigger_MetricGroupingType)(0),           // 9: keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType
	(*GetTriggerAlertDeviceListRequest)(nil),  // 10: keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListRequest
	(*TriggerAlertPaging)(nil),                // 11: keyapis.telemetry_alerting.v1.TriggerAlertPaging
	(*AlertDevice)(nil),                       // 12: keyapis.telemetry_alerting.v1.AlertDevice
	(*GetTriggerAlertDeviceListResponse)(nil), // 13: keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListResponse
	(*GetTriggerRequest)(nil),                 // 14: keyapis.telemetry_alerting.v1.GetTriggerRequest
	(*GetTriggerResponse)(nil),                // 15: keyapis.telemetry_alerting.v1.GetTriggerResponse
	(*GetTriggerAlertListRequest)(nil),        // 16: keyapis.telemetry_alerting.v1.GetTriggerAlertListRequest
	(*PostTriggerAlertDisableRequest)(nil),    // 17: keyapis.telemetry_alerting.v1.PostTriggerAlertDisableRequest
	(*PostTriggerAlertDisableResponse)(nil),   // 18: keyapis.telemetry_alerting.v1.PostTriggerAlertDisableResponse
	(*GetTriggerAlertCountRequest)(nil),       // 19: keyapis.telemetry_alerting.v1.GetTriggerAlertCountRequest
	(*GetTriggerListRequest)(nil),             // 20: keyapis.telemetry_alerting.v1.GetTriggerListRequest
	(*TriggerPaging)(nil),                     // 21: keyapis.telemetry_alerting.v1.TriggerPaging
	(*TriggerFilter)(nil),                     // 22: keyapis.telemetry_alerting.v1.TriggerFilter
	(*TriggerAlertFilter)(nil),                // 23: keyapis.telemetry_alerting.v1.TriggerAlertFilter
	(*Trigger)(nil),                           // 24: keyapis.telemetry_alerting.v1.Trigger
	(*GetTriggerListResponse)(nil),            // 25: keyapis.telemetry_alerting.v1.GetTriggerListResponse
	(*GetTriggerAlertListResponse)(nil),       // 26: keyapis.telemetry_alerting.v1.GetTriggerAlertListResponse
	(*GetTriggerCountRequest)(nil),            // 27: keyapis.telemetry_alerting.v1.GetTriggerCountRequest
	(*GetTriggerCountResponse)(nil),           // 28: keyapis.telemetry_alerting.v1.GetTriggerCountResponse
	(*GetTriggerAlertCountResponse)(nil),      // 29: keyapis.telemetry_alerting.v1.GetTriggerAlertCountResponse
	(*PostTriggerRequest)(nil),                // 30: keyapis.telemetry_alerting.v1.PostTriggerRequest
	(*PostTriggerResponse)(nil),               // 31: keyapis.telemetry_alerting.v1.PostTriggerResponse
	(*DeleteTriggerRequest)(nil),              // 32: keyapis.telemetry_alerting.v1.DeleteTriggerRequest
	(*DeleteTriggerResponse)(nil),             // 33: keyapis.telemetry_alerting.v1.DeleteTriggerResponse
	(*DeleteTriggerAlertRequest)(nil),         // 34: keyapis.telemetry_alerting.v1.DeleteTriggerAlertRequest
	(*DeleteTriggerAlertResponse)(nil),        // 35: keyapis.telemetry_alerting.v1.DeleteTriggerAlertResponse
	(*Trigger_FixedDaysOfMonth)(nil),          // 36: keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth
	(*Trigger_Alert)(nil),                     // 37: keyapis.telemetry_alerting.v1.Trigger.Alert
	(*wrapperspb.StringValue)(nil),            // 38: google.protobuf.StringValue
	(*wrapperspb.BoolValue)(nil),              // 39: google.protobuf.BoolValue
	(*timestamppb.Timestamp)(nil),             // 40: google.protobuf.Timestamp
	(*wrapperspb.Int32Value)(nil),             // 41: google.protobuf.Int32Value
}
var file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_depIdxs = []int32{
	23, // 0: keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListRequest.filter:type_name -> keyapis.telemetry_alerting.v1.TriggerAlertFilter
	11, // 1: keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListRequest.paging:type_name -> keyapis.telemetry_alerting.v1.TriggerAlertPaging
	0,  // 2: keyapis.telemetry_alerting.v1.TriggerAlertPaging.order_by_type:type_name -> keyapis.telemetry_alerting.v1.TriggerAlertPaging.OrderByType
	1,  // 3: keyapis.telemetry_alerting.v1.TriggerAlertPaging.direction_type:type_name -> keyapis.telemetry_alerting.v1.TriggerAlertPaging.DirectionType
	12, // 4: keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListResponse.data:type_name -> keyapis.telemetry_alerting.v1.AlertDevice
	24, // 5: keyapis.telemetry_alerting.v1.GetTriggerResponse.data:type_name -> keyapis.telemetry_alerting.v1.Trigger
	23, // 6: keyapis.telemetry_alerting.v1.GetTriggerAlertListRequest.filter:type_name -> keyapis.telemetry_alerting.v1.TriggerAlertFilter
	11, // 7: keyapis.telemetry_alerting.v1.GetTriggerAlertListRequest.paging:type_name -> keyapis.telemetry_alerting.v1.TriggerAlertPaging
	38, // 8: keyapis.telemetry_alerting.v1.PostTriggerAlertDisableRequest.closing_reason:type_name -> google.protobuf.StringValue
	23, // 9: keyapis.telemetry_alerting.v1.GetTriggerAlertCountRequest.filter:type_name -> keyapis.telemetry_alerting.v1.TriggerAlertFilter
	22, // 10: keyapis.telemetry_alerting.v1.GetTriggerListRequest.filter:type_name -> keyapis.telemetry_alerting.v1.TriggerFilter
	21, // 11: keyapis.telemetry_alerting.v1.GetTriggerListRequest.paging:type_name -> keyapis.telemetry_alerting.v1.TriggerPaging
	2,  // 12: keyapis.telemetry_alerting.v1.TriggerPaging.order_by_type:type_name -> keyapis.telemetry_alerting.v1.TriggerPaging.OrderByType
	3,  // 13: keyapis.telemetry_alerting.v1.TriggerPaging.direction_type:type_name -> keyapis.telemetry_alerting.v1.TriggerPaging.DirectionType
	6,  // 14: keyapis.telemetry_alerting.v1.TriggerFilter.severity_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.SeverityType
	7,  // 15: keyapis.telemetry_alerting.v1.TriggerFilter.metric_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.MetricType
	8,  // 16: keyapis.telemetry_alerting.v1.TriggerFilter.device_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.DeviceType
	9,  // 17: keyapis.telemetry_alerting.v1.TriggerFilter.metric_grouping_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType
	39, // 18: keyapis.telemetry_alerting.v1.TriggerFilter.is_disabled:type_name -> google.protobuf.BoolValue
	6,  // 19: keyapis.telemetry_alerting.v1.TriggerAlertFilter.trigger_severity_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.SeverityType
	7,  // 20: keyapis.telemetry_alerting.v1.TriggerAlertFilter.metric_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.MetricType
	8,  // 21: keyapis.telemetry_alerting.v1.TriggerAlertFilter.device_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.DeviceType
	39, // 22: keyapis.telemetry_alerting.v1.TriggerAlertFilter.is_disabled:type_name -> google.protobuf.BoolValue
	40, // 23: keyapis.telemetry_alerting.v1.TriggerAlertFilter.after_raised_at:type_name -> google.protobuf.Timestamp
	40, // 24: keyapis.telemetry_alerting.v1.TriggerAlertFilter.before_raised_at:type_name -> google.protobuf.Timestamp
	9,  // 25: keyapis.telemetry_alerting.v1.TriggerAlertFilter.metric_grouping_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType
	40, // 26: keyapis.telemetry_alerting.v1.Trigger.changed_at:type_name -> google.protobuf.Timestamp
	4,  // 27: keyapis.telemetry_alerting.v1.Trigger.criteria_type:type_name -> keyapis.telemetry_alerting.v1.Trigger.CriteriaType
	36, // 28: keyapis.telemetry_alerting.v1.Trigger.fixed_days_range:type_name -> keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth
	5,  // 29: keyapis.telemetry_alerting.v1.Trigger.period_type:type_name -> keyapis.telemetry_alerting.v1.Trigger.PeriodType
	6,  // 30: keyapis.telemetry_alerting.v1.Trigger.severity_type:type_name -> keyapis.telemetry_alerting.v1.Trigger.SeverityType
	38, // 31: keyapis.telemetry_alerting.v1.Trigger.instruction:type_name -> google.protobuf.StringValue
	7,  // 32: keyapis.telemetry_alerting.v1.Trigger.metric_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.MetricType
	8,  // 33: keyapis.telemetry_alerting.v1.Trigger.device_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.DeviceType
	9,  // 34: keyapis.telemetry_alerting.v1.Trigger.metric_grouping_type:type_name -> keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType
	24, // 35: keyapis.telemetry_alerting.v1.GetTriggerListResponse.data:type_name -> keyapis.telemetry_alerting.v1.Trigger
	37, // 36: keyapis.telemetry_alerting.v1.GetTriggerAlertListResponse.data:type_name -> keyapis.telemetry_alerting.v1.Trigger.Alert
	22, // 37: keyapis.telemetry_alerting.v1.GetTriggerCountRequest.filter:type_name -> keyapis.telemetry_alerting.v1.TriggerFilter
	24, // 38: keyapis.telemetry_alerting.v1.PostTriggerRequest.data:type_name -> keyapis.telemetry_alerting.v1.Trigger
	24, // 39: keyapis.telemetry_alerting.v1.PostTriggerResponse.data:type_name -> keyapis.telemetry_alerting.v1.Trigger
	40, // 40: keyapis.telemetry_alerting.v1.Trigger.Alert.changed_at:type_name -> google.protobuf.Timestamp
	40, // 41: keyapis.telemetry_alerting.v1.Trigger.Alert.raised_at:type_name -> google.protobuf.Timestamp
	7,  // 42: keyapis.telemetry_alerting.v1.Trigger.Alert.trigger_metric_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.MetricType
	8,  // 43: keyapis.telemetry_alerting.v1.Trigger.Alert.trigger_device_types:type_name -> keyapis.telemetry_alerting.v1.Trigger.DeviceType
	41, // 44: keyapis.telemetry_alerting.v1.Trigger.Alert.device_parent_id:type_name -> google.protobuf.Int32Value
	40, // 45: keyapis.telemetry_alerting.v1.Trigger.Alert.closed_at:type_name -> google.protobuf.Timestamp
	38, // 46: keyapis.telemetry_alerting.v1.Trigger.Alert.closing_reason:type_name -> google.protobuf.StringValue
	9,  // 47: keyapis.telemetry_alerting.v1.Trigger.Alert.trigger_metric_grouping_type:type_name -> keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType
	30, // 48: keyapis.telemetry_alerting.v1.TriggerService.PostTrigger:input_type -> keyapis.telemetry_alerting.v1.PostTriggerRequest
	14, // 49: keyapis.telemetry_alerting.v1.TriggerService.GetTrigger:input_type -> keyapis.telemetry_alerting.v1.GetTriggerRequest
	20, // 50: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerList:input_type -> keyapis.telemetry_alerting.v1.GetTriggerListRequest
	27, // 51: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerCount:input_type -> keyapis.telemetry_alerting.v1.GetTriggerCountRequest
	32, // 52: keyapis.telemetry_alerting.v1.TriggerService.DeleteTrigger:input_type -> keyapis.telemetry_alerting.v1.DeleteTriggerRequest
	16, // 53: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerAlertList:input_type -> keyapis.telemetry_alerting.v1.GetTriggerAlertListRequest
	19, // 54: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerAlertCount:input_type -> keyapis.telemetry_alerting.v1.GetTriggerAlertCountRequest
	34, // 55: keyapis.telemetry_alerting.v1.TriggerService.DeleteTriggerAlert:input_type -> keyapis.telemetry_alerting.v1.DeleteTriggerAlertRequest
	17, // 56: keyapis.telemetry_alerting.v1.TriggerService.PostTriggerAlertDisable:input_type -> keyapis.telemetry_alerting.v1.PostTriggerAlertDisableRequest
	10, // 57: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerAlertDeviceList:input_type -> keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListRequest
	31, // 58: keyapis.telemetry_alerting.v1.TriggerService.PostTrigger:output_type -> keyapis.telemetry_alerting.v1.PostTriggerResponse
	15, // 59: keyapis.telemetry_alerting.v1.TriggerService.GetTrigger:output_type -> keyapis.telemetry_alerting.v1.GetTriggerResponse
	25, // 60: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerList:output_type -> keyapis.telemetry_alerting.v1.GetTriggerListResponse
	28, // 61: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerCount:output_type -> keyapis.telemetry_alerting.v1.GetTriggerCountResponse
	33, // 62: keyapis.telemetry_alerting.v1.TriggerService.DeleteTrigger:output_type -> keyapis.telemetry_alerting.v1.DeleteTriggerResponse
	26, // 63: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerAlertList:output_type -> keyapis.telemetry_alerting.v1.GetTriggerAlertListResponse
	29, // 64: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerAlertCount:output_type -> keyapis.telemetry_alerting.v1.GetTriggerAlertCountResponse
	35, // 65: keyapis.telemetry_alerting.v1.TriggerService.DeleteTriggerAlert:output_type -> keyapis.telemetry_alerting.v1.DeleteTriggerAlertResponse
	18, // 66: keyapis.telemetry_alerting.v1.TriggerService.PostTriggerAlertDisable:output_type -> keyapis.telemetry_alerting.v1.PostTriggerAlertDisableResponse
	13, // 67: keyapis.telemetry_alerting.v1.TriggerService.GetTriggerAlertDeviceList:output_type -> keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListResponse
	58, // [58:68] is the sub-list for method output_type
	48, // [48:58] is the sub-list for method input_type
	48, // [48:48] is the sub-list for extension type_name
	48, // [48:48] is the sub-list for extension extendee
	0,  // [0:48] is the sub-list for field type_name
}

func init() { file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_init() }
func file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_init() {
	if File_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerAlertDeviceListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TriggerAlertPaging); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AlertDevice); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerAlertDeviceListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerAlertListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostTriggerAlertDisableRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostTriggerAlertDisableResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerAlertCountRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TriggerPaging); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TriggerFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TriggerAlertFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Trigger); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerAlertListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerCountRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerCountResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTriggerAlertCountResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostTriggerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostTriggerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteTriggerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteTriggerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteTriggerAlertRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteTriggerAlertResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Trigger_FixedDaysOfMonth); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Trigger_Alert); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[0].OneofWrappers = []interface{}{
		(*GetTriggerAlertDeviceListRequest_Paging)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*GetTriggerAlertDeviceListResponse_Data)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*GetTriggerResponse_Data)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[6].OneofWrappers = []interface{}{
		(*GetTriggerAlertListRequest_Paging)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*GetTriggerListRequest_Paging)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[14].OneofWrappers = []interface{}{
		(*Trigger_SlidingDays)(nil),
		(*Trigger_FixedDaysRange)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[15].OneofWrappers = []interface{}{
		(*GetTriggerListResponse_Data)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[16].OneofWrappers = []interface{}{
		(*GetTriggerAlertListResponse_Data)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[18].OneofWrappers = []interface{}{
		(*GetTriggerCountResponse_Data)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[19].OneofWrappers = []interface{}{
		(*GetTriggerAlertCountResponse_Data)(nil),
	}
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes[21].OneofWrappers = []interface{}{
		(*PostTriggerResponse_Data)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDesc,
			NumEnums:      10,
			NumMessages:   28,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_goTypes,
		DependencyIndexes: file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_depIdxs,
		EnumInfos:         file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_enumTypes,
		MessageInfos:      file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_msgTypes,
	}.Build()
	File_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto = out.File
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_rawDesc = nil
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_goTypes = nil
	file_keyapis_telemetry_alerting_v1_keyapis_telemetry_alerting_trigger_v1_proto_depIdxs = nil
}
