// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0-devel
// 	protoc        v3.12.3
// source: def.proto

package proto

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

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

type AdReplyInfo_AdReplyInfoMediaType int32

const (
	AdReplyInfo_NONE  AdReplyInfo_AdReplyInfoMediaType = 0
	AdReplyInfo_IMAGE AdReplyInfo_AdReplyInfoMediaType = 1
	AdReplyInfo_VIDEO AdReplyInfo_AdReplyInfoMediaType = 2
)

// Enum value maps for AdReplyInfo_AdReplyInfoMediaType.
var (
	AdReplyInfo_AdReplyInfoMediaType_name = map[int32]string{
		0: "NONE",
		1: "IMAGE",
		2: "VIDEO",
	}
	AdReplyInfo_AdReplyInfoMediaType_value = map[string]int32{
		"NONE":  0,
		"IMAGE": 1,
		"VIDEO": 2,
	}
)

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

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

func (AdReplyInfo_AdReplyInfoMediaType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[0].Descriptor()
}

func (AdReplyInfo_AdReplyInfoMediaType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[0]
}

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

// Deprecated: Do not use.
func (x *AdReplyInfo_AdReplyInfoMediaType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = AdReplyInfo_AdReplyInfoMediaType(num)
	return nil
}

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

type ExternalAdReplyInfo_ExternalAdReplyInfoMediaType int32

const (
	ExternalAdReplyInfo_NONE  ExternalAdReplyInfo_ExternalAdReplyInfoMediaType = 0
	ExternalAdReplyInfo_IMAGE ExternalAdReplyInfo_ExternalAdReplyInfoMediaType = 1
	ExternalAdReplyInfo_VIDEO ExternalAdReplyInfo_ExternalAdReplyInfoMediaType = 2
)

// Enum value maps for ExternalAdReplyInfo_ExternalAdReplyInfoMediaType.
var (
	ExternalAdReplyInfo_ExternalAdReplyInfoMediaType_name = map[int32]string{
		0: "NONE",
		1: "IMAGE",
		2: "VIDEO",
	}
	ExternalAdReplyInfo_ExternalAdReplyInfoMediaType_value = map[string]int32{
		"NONE":  0,
		"IMAGE": 1,
		"VIDEO": 2,
	}
)

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

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

func (ExternalAdReplyInfo_ExternalAdReplyInfoMediaType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[1].Descriptor()
}

func (ExternalAdReplyInfo_ExternalAdReplyInfoMediaType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[1]
}

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

// Deprecated: Do not use.
func (x *ExternalAdReplyInfo_ExternalAdReplyInfoMediaType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ExternalAdReplyInfo_ExternalAdReplyInfoMediaType(num)
	return nil
}

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

type InvoiceMessage_InvoiceMessageAttachmentType int32

const (
	InvoiceMessage_IMAGE InvoiceMessage_InvoiceMessageAttachmentType = 0
	InvoiceMessage_PDF   InvoiceMessage_InvoiceMessageAttachmentType = 1
)

// Enum value maps for InvoiceMessage_InvoiceMessageAttachmentType.
var (
	InvoiceMessage_InvoiceMessageAttachmentType_name = map[int32]string{
		0: "IMAGE",
		1: "PDF",
	}
	InvoiceMessage_InvoiceMessageAttachmentType_value = map[string]int32{
		"IMAGE": 0,
		"PDF":   1,
	}
)

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

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

func (InvoiceMessage_InvoiceMessageAttachmentType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[2].Descriptor()
}

func (InvoiceMessage_InvoiceMessageAttachmentType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[2]
}

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

// Deprecated: Do not use.
func (x *InvoiceMessage_InvoiceMessageAttachmentType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = InvoiceMessage_InvoiceMessageAttachmentType(num)
	return nil
}

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

type ExtendedTextMessage_ExtendedTextMessageFontType int32

const (
	ExtendedTextMessage_SANS_SERIF        ExtendedTextMessage_ExtendedTextMessageFontType = 0
	ExtendedTextMessage_SERIF             ExtendedTextMessage_ExtendedTextMessageFontType = 1
	ExtendedTextMessage_NORICAN_REGULAR   ExtendedTextMessage_ExtendedTextMessageFontType = 2
	ExtendedTextMessage_BRYNDAN_WRITE     ExtendedTextMessage_ExtendedTextMessageFontType = 3
	ExtendedTextMessage_BEBASNEUE_REGULAR ExtendedTextMessage_ExtendedTextMessageFontType = 4
	ExtendedTextMessage_OSWALD_HEAVY      ExtendedTextMessage_ExtendedTextMessageFontType = 5
)

// Enum value maps for ExtendedTextMessage_ExtendedTextMessageFontType.
var (
	ExtendedTextMessage_ExtendedTextMessageFontType_name = map[int32]string{
		0: "SANS_SERIF",
		1: "SERIF",
		2: "NORICAN_REGULAR",
		3: "BRYNDAN_WRITE",
		4: "BEBASNEUE_REGULAR",
		5: "OSWALD_HEAVY",
	}
	ExtendedTextMessage_ExtendedTextMessageFontType_value = map[string]int32{
		"SANS_SERIF":        0,
		"SERIF":             1,
		"NORICAN_REGULAR":   2,
		"BRYNDAN_WRITE":     3,
		"BEBASNEUE_REGULAR": 4,
		"OSWALD_HEAVY":      5,
	}
)

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

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

func (ExtendedTextMessage_ExtendedTextMessageFontType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[3].Descriptor()
}

func (ExtendedTextMessage_ExtendedTextMessageFontType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[3]
}

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

// Deprecated: Do not use.
func (x *ExtendedTextMessage_ExtendedTextMessageFontType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ExtendedTextMessage_ExtendedTextMessageFontType(num)
	return nil
}

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

type ExtendedTextMessage_ExtendedTextMessagePreviewType int32

const (
	ExtendedTextMessage_NONE  ExtendedTextMessage_ExtendedTextMessagePreviewType = 0
	ExtendedTextMessage_VIDEO ExtendedTextMessage_ExtendedTextMessagePreviewType = 1
)

// Enum value maps for ExtendedTextMessage_ExtendedTextMessagePreviewType.
var (
	ExtendedTextMessage_ExtendedTextMessagePreviewType_name = map[int32]string{
		0: "NONE",
		1: "VIDEO",
	}
	ExtendedTextMessage_ExtendedTextMessagePreviewType_value = map[string]int32{
		"NONE":  0,
		"VIDEO": 1,
	}
)

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

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

func (ExtendedTextMessage_ExtendedTextMessagePreviewType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[4].Descriptor()
}

func (ExtendedTextMessage_ExtendedTextMessagePreviewType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[4]
}

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

// Deprecated: Do not use.
func (x *ExtendedTextMessage_ExtendedTextMessagePreviewType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ExtendedTextMessage_ExtendedTextMessagePreviewType(num)
	return nil
}

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

type VideoMessage_VideoMessageAttribution int32

const (
	VideoMessage_NONE  VideoMessage_VideoMessageAttribution = 0
	VideoMessage_GIPHY VideoMessage_VideoMessageAttribution = 1
	VideoMessage_TENOR VideoMessage_VideoMessageAttribution = 2
)

// Enum value maps for VideoMessage_VideoMessageAttribution.
var (
	VideoMessage_VideoMessageAttribution_name = map[int32]string{
		0: "NONE",
		1: "GIPHY",
		2: "TENOR",
	}
	VideoMessage_VideoMessageAttribution_value = map[string]int32{
		"NONE":  0,
		"GIPHY": 1,
		"TENOR": 2,
	}
)

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

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

func (VideoMessage_VideoMessageAttribution) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[5].Descriptor()
}

func (VideoMessage_VideoMessageAttribution) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[5]
}

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

// Deprecated: Do not use.
func (x *VideoMessage_VideoMessageAttribution) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = VideoMessage_VideoMessageAttribution(num)
	return nil
}

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

type ProtocolMessage_ProtocolMessageType int32

const (
	ProtocolMessage_REVOKE                                     ProtocolMessage_ProtocolMessageType = 0
	ProtocolMessage_EPHEMERAL_SETTING                          ProtocolMessage_ProtocolMessageType = 3
	ProtocolMessage_EPHEMERAL_SYNC_RESPONSE                    ProtocolMessage_ProtocolMessageType = 4
	ProtocolMessage_HISTORY_SYNC_NOTIFICATION                  ProtocolMessage_ProtocolMessageType = 5
	ProtocolMessage_APP_STATE_SYNC_KEY_SHARE                   ProtocolMessage_ProtocolMessageType = 6
	ProtocolMessage_APP_STATE_SYNC_KEY_REQUEST                 ProtocolMessage_ProtocolMessageType = 7
	ProtocolMessage_MSG_FANOUT_BACKFILL_REQUEST                ProtocolMessage_ProtocolMessageType = 8
	ProtocolMessage_INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC ProtocolMessage_ProtocolMessageType = 9
	ProtocolMessage_APP_STATE_FATAL_EXCEPTION_NOTIFICATION     ProtocolMessage_ProtocolMessageType = 10
)

// Enum value maps for ProtocolMessage_ProtocolMessageType.
var (
	ProtocolMessage_ProtocolMessageType_name = map[int32]string{
		0:  "REVOKE",
		3:  "EPHEMERAL_SETTING",
		4:  "EPHEMERAL_SYNC_RESPONSE",
		5:  "HISTORY_SYNC_NOTIFICATION",
		6:  "APP_STATE_SYNC_KEY_SHARE",
		7:  "APP_STATE_SYNC_KEY_REQUEST",
		8:  "MSG_FANOUT_BACKFILL_REQUEST",
		9:  "INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC",
		10: "APP_STATE_FATAL_EXCEPTION_NOTIFICATION",
	}
	ProtocolMessage_ProtocolMessageType_value = map[string]int32{
		"REVOKE":                                     0,
		"EPHEMERAL_SETTING":                          3,
		"EPHEMERAL_SYNC_RESPONSE":                    4,
		"HISTORY_SYNC_NOTIFICATION":                  5,
		"APP_STATE_SYNC_KEY_SHARE":                   6,
		"APP_STATE_SYNC_KEY_REQUEST":                 7,
		"MSG_FANOUT_BACKFILL_REQUEST":                8,
		"INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC": 9,
		"APP_STATE_FATAL_EXCEPTION_NOTIFICATION":     10,
	}
)

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

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

func (ProtocolMessage_ProtocolMessageType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[6].Descriptor()
}

func (ProtocolMessage_ProtocolMessageType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[6]
}

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

// Deprecated: Do not use.
func (x *ProtocolMessage_ProtocolMessageType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ProtocolMessage_ProtocolMessageType(num)
	return nil
}

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

type HistorySyncNotification_HistorySyncNotificationHistorySyncType int32

const (
	HistorySyncNotification_INITIAL_BOOTSTRAP HistorySyncNotification_HistorySyncNotificationHistorySyncType = 0
	HistorySyncNotification_INITIAL_STATUS_V3 HistorySyncNotification_HistorySyncNotificationHistorySyncType = 1
	HistorySyncNotification_FULL              HistorySyncNotification_HistorySyncNotificationHistorySyncType = 2
	HistorySyncNotification_RECENT            HistorySyncNotification_HistorySyncNotificationHistorySyncType = 3
	HistorySyncNotification_PUSH_NAME         HistorySyncNotification_HistorySyncNotificationHistorySyncType = 4
)

// Enum value maps for HistorySyncNotification_HistorySyncNotificationHistorySyncType.
var (
	HistorySyncNotification_HistorySyncNotificationHistorySyncType_name = map[int32]string{
		0: "INITIAL_BOOTSTRAP",
		1: "INITIAL_STATUS_V3",
		2: "FULL",
		3: "RECENT",
		4: "PUSH_NAME",
	}
	HistorySyncNotification_HistorySyncNotificationHistorySyncType_value = map[string]int32{
		"INITIAL_BOOTSTRAP": 0,
		"INITIAL_STATUS_V3": 1,
		"FULL":              2,
		"RECENT":            3,
		"PUSH_NAME":         4,
	}
)

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

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

func (HistorySyncNotification_HistorySyncNotificationHistorySyncType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[7].Descriptor()
}

func (HistorySyncNotification_HistorySyncNotificationHistorySyncType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[7]
}

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

// Deprecated: Do not use.
func (x *HistorySyncNotification_HistorySyncNotificationHistorySyncType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = HistorySyncNotification_HistorySyncNotificationHistorySyncType(num)
	return nil
}

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

type HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType int32

const (
	HSMDateTimeComponent_MONDAY    HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType = 1
	HSMDateTimeComponent_TUESDAY   HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType = 2
	HSMDateTimeComponent_WEDNESDAY HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType = 3
	HSMDateTimeComponent_THURSDAY  HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType = 4
	HSMDateTimeComponent_FRIDAY    HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType = 5
	HSMDateTimeComponent_SATURDAY  HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType = 6
	HSMDateTimeComponent_SUNDAY    HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType = 7
)

// Enum value maps for HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType.
var (
	HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType_name = map[int32]string{
		1: "MONDAY",
		2: "TUESDAY",
		3: "WEDNESDAY",
		4: "THURSDAY",
		5: "FRIDAY",
		6: "SATURDAY",
		7: "SUNDAY",
	}
	HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType_value = map[string]int32{
		"MONDAY":    1,
		"TUESDAY":   2,
		"WEDNESDAY": 3,
		"THURSDAY":  4,
		"FRIDAY":    5,
		"SATURDAY":  6,
		"SUNDAY":    7,
	}
)

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

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

func (HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[8].Descriptor()
}

func (HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[8]
}

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

// Deprecated: Do not use.
func (x *HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType(num)
	return nil
}

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

type HSMDateTimeComponent_HSMDateTimeComponentCalendarType int32

const (
	HSMDateTimeComponent_GREGORIAN   HSMDateTimeComponent_HSMDateTimeComponentCalendarType = 1
	HSMDateTimeComponent_SOLAR_HIJRI HSMDateTimeComponent_HSMDateTimeComponentCalendarType = 2
)

// Enum value maps for HSMDateTimeComponent_HSMDateTimeComponentCalendarType.
var (
	HSMDateTimeComponent_HSMDateTimeComponentCalendarType_name = map[int32]string{
		1: "GREGORIAN",
		2: "SOLAR_HIJRI",
	}
	HSMDateTimeComponent_HSMDateTimeComponentCalendarType_value = map[string]int32{
		"GREGORIAN":   1,
		"SOLAR_HIJRI": 2,
	}
)

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

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

func (HSMDateTimeComponent_HSMDateTimeComponentCalendarType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[9].Descriptor()
}

func (HSMDateTimeComponent_HSMDateTimeComponentCalendarType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[9]
}

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

// Deprecated: Do not use.
func (x *HSMDateTimeComponent_HSMDateTimeComponentCalendarType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = HSMDateTimeComponent_HSMDateTimeComponentCalendarType(num)
	return nil
}

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

type OrderMessage_OrderMessageOrderStatus int32

const (
	OrderMessage_INQUIRY OrderMessage_OrderMessageOrderStatus = 1
)

// Enum value maps for OrderMessage_OrderMessageOrderStatus.
var (
	OrderMessage_OrderMessageOrderStatus_name = map[int32]string{
		1: "INQUIRY",
	}
	OrderMessage_OrderMessageOrderStatus_value = map[string]int32{
		"INQUIRY": 1,
	}
)

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

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

func (OrderMessage_OrderMessageOrderStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[10].Descriptor()
}

func (OrderMessage_OrderMessageOrderStatus) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[10]
}

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

// Deprecated: Do not use.
func (x *OrderMessage_OrderMessageOrderStatus) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = OrderMessage_OrderMessageOrderStatus(num)
	return nil
}

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

type OrderMessage_OrderMessageOrderSurface int32

const (
	OrderMessage_CATALOG OrderMessage_OrderMessageOrderSurface = 1
)

// Enum value maps for OrderMessage_OrderMessageOrderSurface.
var (
	OrderMessage_OrderMessageOrderSurface_name = map[int32]string{
		1: "CATALOG",
	}
	OrderMessage_OrderMessageOrderSurface_value = map[string]int32{
		"CATALOG": 1,
	}
)

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

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

func (OrderMessage_OrderMessageOrderSurface) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[11].Descriptor()
}

func (OrderMessage_OrderMessageOrderSurface) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[11]
}

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

// Deprecated: Do not use.
func (x *OrderMessage_OrderMessageOrderSurface) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = OrderMessage_OrderMessageOrderSurface(num)
	return nil
}

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

type ListMessage_ListMessageListType int32

const (
	ListMessage_UNKNOWN       ListMessage_ListMessageListType = 0
	ListMessage_SINGLE_SELECT ListMessage_ListMessageListType = 1
)

// Enum value maps for ListMessage_ListMessageListType.
var (
	ListMessage_ListMessageListType_name = map[int32]string{
		0: "UNKNOWN",
		1: "SINGLE_SELECT",
	}
	ListMessage_ListMessageListType_value = map[string]int32{
		"UNKNOWN":       0,
		"SINGLE_SELECT": 1,
	}
)

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

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

func (ListMessage_ListMessageListType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[12].Descriptor()
}

func (ListMessage_ListMessageListType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[12]
}

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

// Deprecated: Do not use.
func (x *ListMessage_ListMessageListType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ListMessage_ListMessageListType(num)
	return nil
}

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

type ListResponseMessage_ListResponseMessageListType int32

const (
	ListResponseMessage_UNKNOWN       ListResponseMessage_ListResponseMessageListType = 0
	ListResponseMessage_SINGLE_SELECT ListResponseMessage_ListResponseMessageListType = 1
)

// Enum value maps for ListResponseMessage_ListResponseMessageListType.
var (
	ListResponseMessage_ListResponseMessageListType_name = map[int32]string{
		0: "UNKNOWN",
		1: "SINGLE_SELECT",
	}
	ListResponseMessage_ListResponseMessageListType_value = map[string]int32{
		"UNKNOWN":       0,
		"SINGLE_SELECT": 1,
	}
)

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

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

func (ListResponseMessage_ListResponseMessageListType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[13].Descriptor()
}

func (ListResponseMessage_ListResponseMessageListType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[13]
}

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

// Deprecated: Do not use.
func (x *ListResponseMessage_ListResponseMessageListType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ListResponseMessage_ListResponseMessageListType(num)
	return nil
}

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

type Button_ButtonType int32

const (
	Button_UNKNOWN  Button_ButtonType = 0
	Button_RESPONSE Button_ButtonType = 1
)

// Enum value maps for Button_ButtonType.
var (
	Button_ButtonType_name = map[int32]string{
		0: "UNKNOWN",
		1: "RESPONSE",
	}
	Button_ButtonType_value = map[string]int32{
		"UNKNOWN":  0,
		"RESPONSE": 1,
	}
)

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

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

func (Button_ButtonType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[14].Descriptor()
}

func (Button_ButtonType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[14]
}

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

// Deprecated: Do not use.
func (x *Button_ButtonType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = Button_ButtonType(num)
	return nil
}

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

type ButtonsMessage_ButtonsMessageHeaderType int32

const (
	ButtonsMessage_UNKNOWN  ButtonsMessage_ButtonsMessageHeaderType = 0
	ButtonsMessage_EMPTY    ButtonsMessage_ButtonsMessageHeaderType = 1
	ButtonsMessage_TEXT     ButtonsMessage_ButtonsMessageHeaderType = 2
	ButtonsMessage_DOCUMENT ButtonsMessage_ButtonsMessageHeaderType = 3
	ButtonsMessage_IMAGE    ButtonsMessage_ButtonsMessageHeaderType = 4
	ButtonsMessage_VIDEO    ButtonsMessage_ButtonsMessageHeaderType = 5
	ButtonsMessage_LOCATION ButtonsMessage_ButtonsMessageHeaderType = 6
)

// Enum value maps for ButtonsMessage_ButtonsMessageHeaderType.
var (
	ButtonsMessage_ButtonsMessageHeaderType_name = map[int32]string{
		0: "UNKNOWN",
		1: "EMPTY",
		2: "TEXT",
		3: "DOCUMENT",
		4: "IMAGE",
		5: "VIDEO",
		6: "LOCATION",
	}
	ButtonsMessage_ButtonsMessageHeaderType_value = map[string]int32{
		"UNKNOWN":  0,
		"EMPTY":    1,
		"TEXT":     2,
		"DOCUMENT": 3,
		"IMAGE":    4,
		"VIDEO":    5,
		"LOCATION": 6,
	}
)

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

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

func (ButtonsMessage_ButtonsMessageHeaderType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[15].Descriptor()
}

func (ButtonsMessage_ButtonsMessageHeaderType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[15]
}

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

// Deprecated: Do not use.
func (x *ButtonsMessage_ButtonsMessageHeaderType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ButtonsMessage_ButtonsMessageHeaderType(num)
	return nil
}

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

type ButtonsResponseMessage_ButtonsResponseMessageType int32

const (
	ButtonsResponseMessage_UNKNOWN      ButtonsResponseMessage_ButtonsResponseMessageType = 0
	ButtonsResponseMessage_DISPLAY_TEXT ButtonsResponseMessage_ButtonsResponseMessageType = 1
)

// Enum value maps for ButtonsResponseMessage_ButtonsResponseMessageType.
var (
	ButtonsResponseMessage_ButtonsResponseMessageType_name = map[int32]string{
		0: "UNKNOWN",
		1: "DISPLAY_TEXT",
	}
	ButtonsResponseMessage_ButtonsResponseMessageType_value = map[string]int32{
		"UNKNOWN":      0,
		"DISPLAY_TEXT": 1,
	}
)

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

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

func (ButtonsResponseMessage_ButtonsResponseMessageType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[16].Descriptor()
}

func (ButtonsResponseMessage_ButtonsResponseMessageType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[16]
}

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

// Deprecated: Do not use.
func (x *ButtonsResponseMessage_ButtonsResponseMessageType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ButtonsResponseMessage_ButtonsResponseMessageType(num)
	return nil
}

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

type WebFeatures_WebFeaturesFlag int32

const (
	WebFeatures_NOT_STARTED   WebFeatures_WebFeaturesFlag = 0
	WebFeatures_FORCE_UPGRADE WebFeatures_WebFeaturesFlag = 1
	WebFeatures_DEVELOPMENT   WebFeatures_WebFeaturesFlag = 2
	WebFeatures_PRODUCTION    WebFeatures_WebFeaturesFlag = 3
)

// Enum value maps for WebFeatures_WebFeaturesFlag.
var (
	WebFeatures_WebFeaturesFlag_name = map[int32]string{
		0: "NOT_STARTED",
		1: "FORCE_UPGRADE",
		2: "DEVELOPMENT",
		3: "PRODUCTION",
	}
	WebFeatures_WebFeaturesFlag_value = map[string]int32{
		"NOT_STARTED":   0,
		"FORCE_UPGRADE": 1,
		"DEVELOPMENT":   2,
		"PRODUCTION":    3,
	}
)

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

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

func (WebFeatures_WebFeaturesFlag) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[17].Descriptor()
}

func (WebFeatures_WebFeaturesFlag) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[17]
}

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

// Deprecated: Do not use.
func (x *WebFeatures_WebFeaturesFlag) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = WebFeatures_WebFeaturesFlag(num)
	return nil
}

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

type PaymentInfo_PaymentInfoCurrency int32

const (
	PaymentInfo_UNKNOWN_CURRENCY PaymentInfo_PaymentInfoCurrency = 0
	PaymentInfo_INR              PaymentInfo_PaymentInfoCurrency = 1
)

// Enum value maps for PaymentInfo_PaymentInfoCurrency.
var (
	PaymentInfo_PaymentInfoCurrency_name = map[int32]string{
		0: "UNKNOWN_CURRENCY",
		1: "INR",
	}
	PaymentInfo_PaymentInfoCurrency_value = map[string]int32{
		"UNKNOWN_CURRENCY": 0,
		"INR":              1,
	}
)

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

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

func (PaymentInfo_PaymentInfoCurrency) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[18].Descriptor()
}

func (PaymentInfo_PaymentInfoCurrency) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[18]
}

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

// Deprecated: Do not use.
func (x *PaymentInfo_PaymentInfoCurrency) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = PaymentInfo_PaymentInfoCurrency(num)
	return nil
}

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

type PaymentInfo_PaymentInfoStatus int32

const (
	PaymentInfo_UNKNOWN_STATUS     PaymentInfo_PaymentInfoStatus = 0
	PaymentInfo_PROCESSING         PaymentInfo_PaymentInfoStatus = 1
	PaymentInfo_SENT               PaymentInfo_PaymentInfoStatus = 2
	PaymentInfo_NEED_TO_ACCEPT     PaymentInfo_PaymentInfoStatus = 3
	PaymentInfo_COMPLETE           PaymentInfo_PaymentInfoStatus = 4
	PaymentInfo_COULD_NOT_COMPLETE PaymentInfo_PaymentInfoStatus = 5
	PaymentInfo_REFUNDED           PaymentInfo_PaymentInfoStatus = 6
	PaymentInfo_EXPIRED            PaymentInfo_PaymentInfoStatus = 7
	PaymentInfo_REJECTED           PaymentInfo_PaymentInfoStatus = 8
	PaymentInfo_CANCELLED          PaymentInfo_PaymentInfoStatus = 9
	PaymentInfo_WAITING_FOR_PAYER  PaymentInfo_PaymentInfoStatus = 10
	PaymentInfo_WAITING            PaymentInfo_PaymentInfoStatus = 11
)

// Enum value maps for PaymentInfo_PaymentInfoStatus.
var (
	PaymentInfo_PaymentInfoStatus_name = map[int32]string{
		0:  "UNKNOWN_STATUS",
		1:  "PROCESSING",
		2:  "SENT",
		3:  "NEED_TO_ACCEPT",
		4:  "COMPLETE",
		5:  "COULD_NOT_COMPLETE",
		6:  "REFUNDED",
		7:  "EXPIRED",
		8:  "REJECTED",
		9:  "CANCELLED",
		10: "WAITING_FOR_PAYER",
		11: "WAITING",
	}
	PaymentInfo_PaymentInfoStatus_value = map[string]int32{
		"UNKNOWN_STATUS":     0,
		"PROCESSING":         1,
		"SENT":               2,
		"NEED_TO_ACCEPT":     3,
		"COMPLETE":           4,
		"COULD_NOT_COMPLETE": 5,
		"REFUNDED":           6,
		"EXPIRED":            7,
		"REJECTED":           8,
		"CANCELLED":          9,
		"WAITING_FOR_PAYER":  10,
		"WAITING":            11,
	}
)

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

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

func (PaymentInfo_PaymentInfoStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[19].Descriptor()
}

func (PaymentInfo_PaymentInfoStatus) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[19]
}

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

// Deprecated: Do not use.
func (x *PaymentInfo_PaymentInfoStatus) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = PaymentInfo_PaymentInfoStatus(num)
	return nil
}

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

type PaymentInfo_PaymentInfoTxnStatus int32

const (
	PaymentInfo_UNKNOWN                       PaymentInfo_PaymentInfoTxnStatus = 0
	PaymentInfo_PENDING_SETUP                 PaymentInfo_PaymentInfoTxnStatus = 1
	PaymentInfo_PENDING_RECEIVER_SETUP        PaymentInfo_PaymentInfoTxnStatus = 2
	PaymentInfo_INIT                          PaymentInfo_PaymentInfoTxnStatus = 3
	PaymentInfo_SUCCESS                       PaymentInfo_PaymentInfoTxnStatus = 4
	PaymentInfo_COMPLETED                     PaymentInfo_PaymentInfoTxnStatus = 5
	PaymentInfo_FAILED                        PaymentInfo_PaymentInfoTxnStatus = 6
	PaymentInfo_FAILED_RISK                   PaymentInfo_PaymentInfoTxnStatus = 7
	PaymentInfo_FAILED_PROCESSING             PaymentInfo_PaymentInfoTxnStatus = 8
	PaymentInfo_FAILED_RECEIVER_PROCESSING    PaymentInfo_PaymentInfoTxnStatus = 9
	PaymentInfo_FAILED_DA                     PaymentInfo_PaymentInfoTxnStatus = 10
	PaymentInfo_FAILED_DA_FINAL               PaymentInfo_PaymentInfoTxnStatus = 11
	PaymentInfo_REFUNDED_TXN                  PaymentInfo_PaymentInfoTxnStatus = 12
	PaymentInfo_REFUND_FAILED                 PaymentInfo_PaymentInfoTxnStatus = 13
	PaymentInfo_REFUND_FAILED_PROCESSING      PaymentInfo_PaymentInfoTxnStatus = 14
	PaymentInfo_REFUND_FAILED_DA              PaymentInfo_PaymentInfoTxnStatus = 15
	PaymentInfo_EXPIRED_TXN                   PaymentInfo_PaymentInfoTxnStatus = 16
	PaymentInfo_AUTH_CANCELED                 PaymentInfo_PaymentInfoTxnStatus = 17
	PaymentInfo_AUTH_CANCEL_FAILED_PROCESSING PaymentInfo_PaymentInfoTxnStatus = 18
	PaymentInfo_AUTH_CANCEL_FAILED            PaymentInfo_PaymentInfoTxnStatus = 19
	PaymentInfo_COLLECT_INIT                  PaymentInfo_PaymentInfoTxnStatus = 20
	PaymentInfo_COLLECT_SUCCESS               PaymentInfo_PaymentInfoTxnStatus = 21
	PaymentInfo_COLLECT_FAILED                PaymentInfo_PaymentInfoTxnStatus = 22
	PaymentInfo_COLLECT_FAILED_RISK           PaymentInfo_PaymentInfoTxnStatus = 23
	PaymentInfo_COLLECT_REJECTED              PaymentInfo_PaymentInfoTxnStatus = 24
	PaymentInfo_COLLECT_EXPIRED               PaymentInfo_PaymentInfoTxnStatus = 25
	PaymentInfo_COLLECT_CANCELED              PaymentInfo_PaymentInfoTxnStatus = 26
	PaymentInfo_COLLECT_CANCELLING            PaymentInfo_PaymentInfoTxnStatus = 27
)

// Enum value maps for PaymentInfo_PaymentInfoTxnStatus.
var (
	PaymentInfo_PaymentInfoTxnStatus_name = map[int32]string{
		0:  "UNKNOWN",
		1:  "PENDING_SETUP",
		2:  "PENDING_RECEIVER_SETUP",
		3:  "INIT",
		4:  "SUCCESS",
		5:  "COMPLETED",
		6:  "FAILED",
		7:  "FAILED_RISK",
		8:  "FAILED_PROCESSING",
		9:  "FAILED_RECEIVER_PROCESSING",
		10: "FAILED_DA",
		11: "FAILED_DA_FINAL",
		12: "REFUNDED_TXN",
		13: "REFUND_FAILED",
		14: "REFUND_FAILED_PROCESSING",
		15: "REFUND_FAILED_DA",
		16: "EXPIRED_TXN",
		17: "AUTH_CANCELED",
		18: "AUTH_CANCEL_FAILED_PROCESSING",
		19: "AUTH_CANCEL_FAILED",
		20: "COLLECT_INIT",
		21: "COLLECT_SUCCESS",
		22: "COLLECT_FAILED",
		23: "COLLECT_FAILED_RISK",
		24: "COLLECT_REJECTED",
		25: "COLLECT_EXPIRED",
		26: "COLLECT_CANCELED",
		27: "COLLECT_CANCELLING",
	}
	PaymentInfo_PaymentInfoTxnStatus_value = map[string]int32{
		"UNKNOWN":                       0,
		"PENDING_SETUP":                 1,
		"PENDING_RECEIVER_SETUP":        2,
		"INIT":                          3,
		"SUCCESS":                       4,
		"COMPLETED":                     5,
		"FAILED":                        6,
		"FAILED_RISK":                   7,
		"FAILED_PROCESSING":             8,
		"FAILED_RECEIVER_PROCESSING":    9,
		"FAILED_DA":                     10,
		"FAILED_DA_FINAL":               11,
		"REFUNDED_TXN":                  12,
		"REFUND_FAILED":                 13,
		"REFUND_FAILED_PROCESSING":      14,
		"REFUND_FAILED_DA":              15,
		"EXPIRED_TXN":                   16,
		"AUTH_CANCELED":                 17,
		"AUTH_CANCEL_FAILED_PROCESSING": 18,
		"AUTH_CANCEL_FAILED":            19,
		"COLLECT_INIT":                  20,
		"COLLECT_SUCCESS":               21,
		"COLLECT_FAILED":                22,
		"COLLECT_FAILED_RISK":           23,
		"COLLECT_REJECTED":              24,
		"COLLECT_EXPIRED":               25,
		"COLLECT_CANCELED":              26,
		"COLLECT_CANCELLING":            27,
	}
)

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

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

func (PaymentInfo_PaymentInfoTxnStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[20].Descriptor()
}

func (PaymentInfo_PaymentInfoTxnStatus) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[20]
}

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

// Deprecated: Do not use.
func (x *PaymentInfo_PaymentInfoTxnStatus) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = PaymentInfo_PaymentInfoTxnStatus(num)
	return nil
}

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

type WebMessageInfo_WebMessageInfoStatus int32

const (
	WebMessageInfo_ERROR        WebMessageInfo_WebMessageInfoStatus = 0
	WebMessageInfo_PENDING      WebMessageInfo_WebMessageInfoStatus = 1
	WebMessageInfo_SERVER_ACK   WebMessageInfo_WebMessageInfoStatus = 2
	WebMessageInfo_DELIVERY_ACK WebMessageInfo_WebMessageInfoStatus = 3
	WebMessageInfo_READ         WebMessageInfo_WebMessageInfoStatus = 4
	WebMessageInfo_PLAYED       WebMessageInfo_WebMessageInfoStatus = 5
)

// Enum value maps for WebMessageInfo_WebMessageInfoStatus.
var (
	WebMessageInfo_WebMessageInfoStatus_name = map[int32]string{
		0: "ERROR",
		1: "PENDING",
		2: "SERVER_ACK",
		3: "DELIVERY_ACK",
		4: "READ",
		5: "PLAYED",
	}
	WebMessageInfo_WebMessageInfoStatus_value = map[string]int32{
		"ERROR":        0,
		"PENDING":      1,
		"SERVER_ACK":   2,
		"DELIVERY_ACK": 3,
		"READ":         4,
		"PLAYED":       5,
	}
)

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

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

func (WebMessageInfo_WebMessageInfoStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[21].Descriptor()
}

func (WebMessageInfo_WebMessageInfoStatus) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[21]
}

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

// Deprecated: Do not use.
func (x *WebMessageInfo_WebMessageInfoStatus) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = WebMessageInfo_WebMessageInfoStatus(num)
	return nil
}

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

type WebMessageInfo_WebMessageInfoStubType int32

const (
	WebMessageInfo_UNKNOWN                                                  WebMessageInfo_WebMessageInfoStubType = 0
	WebMessageInfo_REVOKE                                                   WebMessageInfo_WebMessageInfoStubType = 1
	WebMessageInfo_CIPHERTEXT                                               WebMessageInfo_WebMessageInfoStubType = 2
	WebMessageInfo_FUTUREPROOF                                              WebMessageInfo_WebMessageInfoStubType = 3
	WebMessageInfo_NON_VERIFIED_TRANSITION                                  WebMessageInfo_WebMessageInfoStubType = 4
	WebMessageInfo_UNVERIFIED_TRANSITION                                    WebMessageInfo_WebMessageInfoStubType = 5
	WebMessageInfo_VERIFIED_TRANSITION                                      WebMessageInfo_WebMessageInfoStubType = 6
	WebMessageInfo_VERIFIED_LOW_UNKNOWN                                     WebMessageInfo_WebMessageInfoStubType = 7
	WebMessageInfo_VERIFIED_HIGH                                            WebMessageInfo_WebMessageInfoStubType = 8
	WebMessageInfo_VERIFIED_INITIAL_UNKNOWN                                 WebMessageInfo_WebMessageInfoStubType = 9
	WebMessageInfo_VERIFIED_INITIAL_LOW                                     WebMessageInfo_WebMessageInfoStubType = 10
	WebMessageInfo_VERIFIED_INITIAL_HIGH                                    WebMessageInfo_WebMessageInfoStubType = 11
	WebMessageInfo_VERIFIED_TRANSITION_ANY_TO_NONE                          WebMessageInfo_WebMessageInfoStubType = 12
	WebMessageInfo_VERIFIED_TRANSITION_ANY_TO_HIGH                          WebMessageInfo_WebMessageInfoStubType = 13
	WebMessageInfo_VERIFIED_TRANSITION_HIGH_TO_LOW                          WebMessageInfo_WebMessageInfoStubType = 14
	WebMessageInfo_VERIFIED_TRANSITION_HIGH_TO_UNKNOWN                      WebMessageInfo_WebMessageInfoStubType = 15
	WebMessageInfo_VERIFIED_TRANSITION_UNKNOWN_TO_LOW                       WebMessageInfo_WebMessageInfoStubType = 16
	WebMessageInfo_VERIFIED_TRANSITION_LOW_TO_UNKNOWN                       WebMessageInfo_WebMessageInfoStubType = 17
	WebMessageInfo_VERIFIED_TRANSITION_NONE_TO_LOW                          WebMessageInfo_WebMessageInfoStubType = 18
	WebMessageInfo_VERIFIED_TRANSITION_NONE_TO_UNKNOWN                      WebMessageInfo_WebMessageInfoStubType = 19
	WebMessageInfo_GROUP_CREATE                                             WebMessageInfo_WebMessageInfoStubType = 20
	WebMessageInfo_GROUP_CHANGE_SUBJECT                                     WebMessageInfo_WebMessageInfoStubType = 21
	WebMessageInfo_GROUP_CHANGE_ICON                                        WebMessageInfo_WebMessageInfoStubType = 22
	WebMessageInfo_GROUP_CHANGE_INVITE_LINK                                 WebMessageInfo_WebMessageInfoStubType = 23
	WebMessageInfo_GROUP_CHANGE_DESCRIPTION                                 WebMessageInfo_WebMessageInfoStubType = 24
	WebMessageInfo_GROUP_CHANGE_RESTRICT                                    WebMessageInfo_WebMessageInfoStubType = 25
	WebMessageInfo_GROUP_CHANGE_ANNOUNCE                                    WebMessageInfo_WebMessageInfoStubType = 26
	WebMessageInfo_GROUP_PARTICIPANT_ADD                                    WebMessageInfo_WebMessageInfoStubType = 27
	WebMessageInfo_GROUP_PARTICIPANT_REMOVE                                 WebMessageInfo_WebMessageInfoStubType = 28
	WebMessageInfo_GROUP_PARTICIPANT_PROMOTE                                WebMessageInfo_WebMessageInfoStubType = 29
	WebMessageInfo_GROUP_PARTICIPANT_DEMOTE                                 WebMessageInfo_WebMessageInfoStubType = 30
	WebMessageInfo_GROUP_PARTICIPANT_INVITE                                 WebMessageInfo_WebMessageInfoStubType = 31
	WebMessageInfo_GROUP_PARTICIPANT_LEAVE                                  WebMessageInfo_WebMessageInfoStubType = 32
	WebMessageInfo_GROUP_PARTICIPANT_CHANGE_NUMBER                          WebMessageInfo_WebMessageInfoStubType = 33
	WebMessageInfo_BROADCAST_CREATE                                         WebMessageInfo_WebMessageInfoStubType = 34
	WebMessageInfo_BROADCAST_ADD                                            WebMessageInfo_WebMessageInfoStubType = 35
	WebMessageInfo_BROADCAST_REMOVE                                         WebMessageInfo_WebMessageInfoStubType = 36
	WebMessageInfo_GENERIC_NOTIFICATION                                     WebMessageInfo_WebMessageInfoStubType = 37
	WebMessageInfo_E2E_IDENTITY_CHANGED                                     WebMessageInfo_WebMessageInfoStubType = 38
	WebMessageInfo_E2E_ENCRYPTED                                            WebMessageInfo_WebMessageInfoStubType = 39
	WebMessageInfo_CALL_MISSED_VOICE                                        WebMessageInfo_WebMessageInfoStubType = 40
	WebMessageInfo_CALL_MISSED_VIDEO                                        WebMessageInfo_WebMessageInfoStubType = 41
	WebMessageInfo_INDIVIDUAL_CHANGE_NUMBER                                 WebMessageInfo_WebMessageInfoStubType = 42
	WebMessageInfo_GROUP_DELETE                                             WebMessageInfo_WebMessageInfoStubType = 43
	WebMessageInfo_GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE                       WebMessageInfo_WebMessageInfoStubType = 44
	WebMessageInfo_CALL_MISSED_GROUP_VOICE                                  WebMessageInfo_WebMessageInfoStubType = 45
	WebMessageInfo_CALL_MISSED_GROUP_VIDEO                                  WebMessageInfo_WebMessageInfoStubType = 46
	WebMessageInfo_PAYMENT_CIPHERTEXT                                       WebMessageInfo_WebMessageInfoStubType = 47
	WebMessageInfo_PAYMENT_FUTUREPROOF                                      WebMessageInfo_WebMessageInfoStubType = 48
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED                 WebMessageInfo_WebMessageInfoStubType = 49
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED               WebMessageInfo_WebMessageInfoStubType = 50
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED          WebMessageInfo_WebMessageInfoStubType = 51
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP        WebMessageInfo_WebMessageInfoStubType = 52
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP WebMessageInfo_WebMessageInfoStubType = 53
	WebMessageInfo_PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER                    WebMessageInfo_WebMessageInfoStubType = 54
	WebMessageInfo_PAYMENT_ACTION_SEND_PAYMENT_REMINDER                     WebMessageInfo_WebMessageInfoStubType = 55
	WebMessageInfo_PAYMENT_ACTION_SEND_PAYMENT_INVITATION                   WebMessageInfo_WebMessageInfoStubType = 56
	WebMessageInfo_PAYMENT_ACTION_REQUEST_DECLINED                          WebMessageInfo_WebMessageInfoStubType = 57
	WebMessageInfo_PAYMENT_ACTION_REQUEST_EXPIRED                           WebMessageInfo_WebMessageInfoStubType = 58
	WebMessageInfo_PAYMENT_ACTION_REQUEST_CANCELLED                         WebMessageInfo_WebMessageInfoStubType = 59
	WebMessageInfo_BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM                    WebMessageInfo_WebMessageInfoStubType = 60
	WebMessageInfo_BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP                    WebMessageInfo_WebMessageInfoStubType = 61
	WebMessageInfo_BIZ_INTRO_TOP                                            WebMessageInfo_WebMessageInfoStubType = 62
	WebMessageInfo_BIZ_INTRO_BOTTOM                                         WebMessageInfo_WebMessageInfoStubType = 63
	WebMessageInfo_BIZ_NAME_CHANGE                                          WebMessageInfo_WebMessageInfoStubType = 64
	WebMessageInfo_BIZ_MOVE_TO_CONSUMER_APP                                 WebMessageInfo_WebMessageInfoStubType = 65
	WebMessageInfo_BIZ_TWO_TIER_MIGRATION_TOP                               WebMessageInfo_WebMessageInfoStubType = 66
	WebMessageInfo_BIZ_TWO_TIER_MIGRATION_BOTTOM                            WebMessageInfo_WebMessageInfoStubType = 67
	WebMessageInfo_OVERSIZED                                                WebMessageInfo_WebMessageInfoStubType = 68
	WebMessageInfo_GROUP_CHANGE_NO_FREQUENTLY_FORWARDED                     WebMessageInfo_WebMessageInfoStubType = 69
	WebMessageInfo_GROUP_V4_ADD_INVITE_SENT                                 WebMessageInfo_WebMessageInfoStubType = 70
	WebMessageInfo_GROUP_PARTICIPANT_ADD_REQUEST_JOIN                       WebMessageInfo_WebMessageInfoStubType = 71
	WebMessageInfo_CHANGE_EPHEMERAL_SETTING                                 WebMessageInfo_WebMessageInfoStubType = 72
	WebMessageInfo_E2E_DEVICE_CHANGED                                       WebMessageInfo_WebMessageInfoStubType = 73
	WebMessageInfo_VIEWED_ONCE                                              WebMessageInfo_WebMessageInfoStubType = 74
	WebMessageInfo_E2E_ENCRYPTED_NOW                                        WebMessageInfo_WebMessageInfoStubType = 75
	WebMessageInfo_BLUE_MSG_BSP_FB_TO_BSP_PREMISE                           WebMessageInfo_WebMessageInfoStubType = 76
	WebMessageInfo_BLUE_MSG_BSP_FB_TO_SELF_FB                               WebMessageInfo_WebMessageInfoStubType = 77
	WebMessageInfo_BLUE_MSG_BSP_FB_TO_SELF_PREMISE                          WebMessageInfo_WebMessageInfoStubType = 78
	WebMessageInfo_BLUE_MSG_BSP_FB_UNVERIFIED                               WebMessageInfo_WebMessageInfoStubType = 79
	WebMessageInfo_BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED      WebMessageInfo_WebMessageInfoStubType = 80
	WebMessageInfo_BLUE_MSG_BSP_FB_VERIFIED                                 WebMessageInfo_WebMessageInfoStubType = 81
	WebMessageInfo_BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED      WebMessageInfo_WebMessageInfoStubType = 82
	WebMessageInfo_BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE                     WebMessageInfo_WebMessageInfoStubType = 83
	WebMessageInfo_BLUE_MSG_BSP_PREMISE_UNVERIFIED                          WebMessageInfo_WebMessageInfoStubType = 84
	WebMessageInfo_BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED WebMessageInfo_WebMessageInfoStubType = 85
	WebMessageInfo_BLUE_MSG_BSP_PREMISE_VERIFIED                            WebMessageInfo_WebMessageInfoStubType = 86
	WebMessageInfo_BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED WebMessageInfo_WebMessageInfoStubType = 87
	WebMessageInfo_BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED                   WebMessageInfo_WebMessageInfoStubType = 88
	WebMessageInfo_BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED              WebMessageInfo_WebMessageInfoStubType = 89
	WebMessageInfo_BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED                  WebMessageInfo_WebMessageInfoStubType = 90
	WebMessageInfo_BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED             WebMessageInfo_WebMessageInfoStubType = 91
	WebMessageInfo_BLUE_MSG_SELF_FB_TO_BSP_PREMISE                          WebMessageInfo_WebMessageInfoStubType = 92
	WebMessageInfo_BLUE_MSG_SELF_FB_TO_SELF_PREMISE                         WebMessageInfo_WebMessageInfoStubType = 93
	WebMessageInfo_BLUE_MSG_SELF_FB_UNVERIFIED                              WebMessageInfo_WebMessageInfoStubType = 94
	WebMessageInfo_BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED     WebMessageInfo_WebMessageInfoStubType = 95
	WebMessageInfo_BLUE_MSG_SELF_FB_VERIFIED                                WebMessageInfo_WebMessageInfoStubType = 96
	WebMessageInfo_BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED     WebMessageInfo_WebMessageInfoStubType = 97
	WebMessageInfo_BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE                     WebMessageInfo_WebMessageInfoStubType = 98
	WebMessageInfo_BLUE_MSG_SELF_PREMISE_UNVERIFIED                         WebMessageInfo_WebMessageInfoStubType = 99
	WebMessageInfo_BLUE_MSG_SELF_PREMISE_VERIFIED                           WebMessageInfo_WebMessageInfoStubType = 100
	WebMessageInfo_BLUE_MSG_TO_BSP_FB                                       WebMessageInfo_WebMessageInfoStubType = 101
	WebMessageInfo_BLUE_MSG_TO_CONSUMER                                     WebMessageInfo_WebMessageInfoStubType = 102
	WebMessageInfo_BLUE_MSG_TO_SELF_FB                                      WebMessageInfo_WebMessageInfoStubType = 103
	WebMessageInfo_BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED                   WebMessageInfo_WebMessageInfoStubType = 104
	WebMessageInfo_BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED              WebMessageInfo_WebMessageInfoStubType = 105
	WebMessageInfo_BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED                  WebMessageInfo_WebMessageInfoStubType = 106
	WebMessageInfo_BLUE_MSG_UNVERIFIED_TO_VERIFIED                          WebMessageInfo_WebMessageInfoStubType = 107
	WebMessageInfo_BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED                   WebMessageInfo_WebMessageInfoStubType = 108
	WebMessageInfo_BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED              WebMessageInfo_WebMessageInfoStubType = 109
	WebMessageInfo_BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED                  WebMessageInfo_WebMessageInfoStubType = 110
	WebMessageInfo_BLUE_MSG_VERIFIED_TO_UNVERIFIED                          WebMessageInfo_WebMessageInfoStubType = 111
	WebMessageInfo_BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED       WebMessageInfo_WebMessageInfoStubType = 112
	WebMessageInfo_BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED           WebMessageInfo_WebMessageInfoStubType = 113
	WebMessageInfo_BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED       WebMessageInfo_WebMessageInfoStubType = 114
	WebMessageInfo_BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED           WebMessageInfo_WebMessageInfoStubType = 115
	WebMessageInfo_BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED      WebMessageInfo_WebMessageInfoStubType = 116
	WebMessageInfo_BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED      WebMessageInfo_WebMessageInfoStubType = 117
	WebMessageInfo_E2E_IDENTITY_UNAVAILABLE                                 WebMessageInfo_WebMessageInfoStubType = 118
)

// Enum value maps for WebMessageInfo_WebMessageInfoStubType.
var (
	WebMessageInfo_WebMessageInfoStubType_name = map[int32]string{
		0:   "UNKNOWN",
		1:   "REVOKE",
		2:   "CIPHERTEXT",
		3:   "FUTUREPROOF",
		4:   "NON_VERIFIED_TRANSITION",
		5:   "UNVERIFIED_TRANSITION",
		6:   "VERIFIED_TRANSITION",
		7:   "VERIFIED_LOW_UNKNOWN",
		8:   "VERIFIED_HIGH",
		9:   "VERIFIED_INITIAL_UNKNOWN",
		10:  "VERIFIED_INITIAL_LOW",
		11:  "VERIFIED_INITIAL_HIGH",
		12:  "VERIFIED_TRANSITION_ANY_TO_NONE",
		13:  "VERIFIED_TRANSITION_ANY_TO_HIGH",
		14:  "VERIFIED_TRANSITION_HIGH_TO_LOW",
		15:  "VERIFIED_TRANSITION_HIGH_TO_UNKNOWN",
		16:  "VERIFIED_TRANSITION_UNKNOWN_TO_LOW",
		17:  "VERIFIED_TRANSITION_LOW_TO_UNKNOWN",
		18:  "VERIFIED_TRANSITION_NONE_TO_LOW",
		19:  "VERIFIED_TRANSITION_NONE_TO_UNKNOWN",
		20:  "GROUP_CREATE",
		21:  "GROUP_CHANGE_SUBJECT",
		22:  "GROUP_CHANGE_ICON",
		23:  "GROUP_CHANGE_INVITE_LINK",
		24:  "GROUP_CHANGE_DESCRIPTION",
		25:  "GROUP_CHANGE_RESTRICT",
		26:  "GROUP_CHANGE_ANNOUNCE",
		27:  "GROUP_PARTICIPANT_ADD",
		28:  "GROUP_PARTICIPANT_REMOVE",
		29:  "GROUP_PARTICIPANT_PROMOTE",
		30:  "GROUP_PARTICIPANT_DEMOTE",
		31:  "GROUP_PARTICIPANT_INVITE",
		32:  "GROUP_PARTICIPANT_LEAVE",
		33:  "GROUP_PARTICIPANT_CHANGE_NUMBER",
		34:  "BROADCAST_CREATE",
		35:  "BROADCAST_ADD",
		36:  "BROADCAST_REMOVE",
		37:  "GENERIC_NOTIFICATION",
		38:  "E2E_IDENTITY_CHANGED",
		39:  "E2E_ENCRYPTED",
		40:  "CALL_MISSED_VOICE",
		41:  "CALL_MISSED_VIDEO",
		42:  "INDIVIDUAL_CHANGE_NUMBER",
		43:  "GROUP_DELETE",
		44:  "GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE",
		45:  "CALL_MISSED_GROUP_VOICE",
		46:  "CALL_MISSED_GROUP_VIDEO",
		47:  "PAYMENT_CIPHERTEXT",
		48:  "PAYMENT_FUTUREPROOF",
		49:  "PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED",
		50:  "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED",
		51:  "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED",
		52:  "PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP",
		53:  "PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP",
		54:  "PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER",
		55:  "PAYMENT_ACTION_SEND_PAYMENT_REMINDER",
		56:  "PAYMENT_ACTION_SEND_PAYMENT_INVITATION",
		57:  "PAYMENT_ACTION_REQUEST_DECLINED",
		58:  "PAYMENT_ACTION_REQUEST_EXPIRED",
		59:  "PAYMENT_ACTION_REQUEST_CANCELLED",
		60:  "BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM",
		61:  "BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP",
		62:  "BIZ_INTRO_TOP",
		63:  "BIZ_INTRO_BOTTOM",
		64:  "BIZ_NAME_CHANGE",
		65:  "BIZ_MOVE_TO_CONSUMER_APP",
		66:  "BIZ_TWO_TIER_MIGRATION_TOP",
		67:  "BIZ_TWO_TIER_MIGRATION_BOTTOM",
		68:  "OVERSIZED",
		69:  "GROUP_CHANGE_NO_FREQUENTLY_FORWARDED",
		70:  "GROUP_V4_ADD_INVITE_SENT",
		71:  "GROUP_PARTICIPANT_ADD_REQUEST_JOIN",
		72:  "CHANGE_EPHEMERAL_SETTING",
		73:  "E2E_DEVICE_CHANGED",
		74:  "VIEWED_ONCE",
		75:  "E2E_ENCRYPTED_NOW",
		76:  "BLUE_MSG_BSP_FB_TO_BSP_PREMISE",
		77:  "BLUE_MSG_BSP_FB_TO_SELF_FB",
		78:  "BLUE_MSG_BSP_FB_TO_SELF_PREMISE",
		79:  "BLUE_MSG_BSP_FB_UNVERIFIED",
		80:  "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED",
		81:  "BLUE_MSG_BSP_FB_VERIFIED",
		82:  "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED",
		83:  "BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE",
		84:  "BLUE_MSG_BSP_PREMISE_UNVERIFIED",
		85:  "BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED",
		86:  "BLUE_MSG_BSP_PREMISE_VERIFIED",
		87:  "BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED",
		88:  "BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED",
		89:  "BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED",
		90:  "BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED",
		91:  "BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED",
		92:  "BLUE_MSG_SELF_FB_TO_BSP_PREMISE",
		93:  "BLUE_MSG_SELF_FB_TO_SELF_PREMISE",
		94:  "BLUE_MSG_SELF_FB_UNVERIFIED",
		95:  "BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED",
		96:  "BLUE_MSG_SELF_FB_VERIFIED",
		97:  "BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED",
		98:  "BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE",
		99:  "BLUE_MSG_SELF_PREMISE_UNVERIFIED",
		100: "BLUE_MSG_SELF_PREMISE_VERIFIED",
		101: "BLUE_MSG_TO_BSP_FB",
		102: "BLUE_MSG_TO_CONSUMER",
		103: "BLUE_MSG_TO_SELF_FB",
		104: "BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED",
		105: "BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED",
		106: "BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED",
		107: "BLUE_MSG_UNVERIFIED_TO_VERIFIED",
		108: "BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED",
		109: "BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED",
		110: "BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED",
		111: "BLUE_MSG_VERIFIED_TO_UNVERIFIED",
		112: "BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED",
		113: "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED",
		114: "BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED",
		115: "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED",
		116: "BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED",
		117: "BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED",
		118: "E2E_IDENTITY_UNAVAILABLE",
	}
	WebMessageInfo_WebMessageInfoStubType_value = map[string]int32{
		"UNKNOWN":                                                  0,
		"REVOKE":                                                   1,
		"CIPHERTEXT":                                               2,
		"FUTUREPROOF":                                              3,
		"NON_VERIFIED_TRANSITION":                                  4,
		"UNVERIFIED_TRANSITION":                                    5,
		"VERIFIED_TRANSITION":                                      6,
		"VERIFIED_LOW_UNKNOWN":                                     7,
		"VERIFIED_HIGH":                                            8,
		"VERIFIED_INITIAL_UNKNOWN":                                 9,
		"VERIFIED_INITIAL_LOW":                                     10,
		"VERIFIED_INITIAL_HIGH":                                    11,
		"VERIFIED_TRANSITION_ANY_TO_NONE":                          12,
		"VERIFIED_TRANSITION_ANY_TO_HIGH":                          13,
		"VERIFIED_TRANSITION_HIGH_TO_LOW":                          14,
		"VERIFIED_TRANSITION_HIGH_TO_UNKNOWN":                      15,
		"VERIFIED_TRANSITION_UNKNOWN_TO_LOW":                       16,
		"VERIFIED_TRANSITION_LOW_TO_UNKNOWN":                       17,
		"VERIFIED_TRANSITION_NONE_TO_LOW":                          18,
		"VERIFIED_TRANSITION_NONE_TO_UNKNOWN":                      19,
		"GROUP_CREATE":                                             20,
		"GROUP_CHANGE_SUBJECT":                                     21,
		"GROUP_CHANGE_ICON":                                        22,
		"GROUP_CHANGE_INVITE_LINK":                                 23,
		"GROUP_CHANGE_DESCRIPTION":                                 24,
		"GROUP_CHANGE_RESTRICT":                                    25,
		"GROUP_CHANGE_ANNOUNCE":                                    26,
		"GROUP_PARTICIPANT_ADD":                                    27,
		"GROUP_PARTICIPANT_REMOVE":                                 28,
		"GROUP_PARTICIPANT_PROMOTE":                                29,
		"GROUP_PARTICIPANT_DEMOTE":                                 30,
		"GROUP_PARTICIPANT_INVITE":                                 31,
		"GROUP_PARTICIPANT_LEAVE":                                  32,
		"GROUP_PARTICIPANT_CHANGE_NUMBER":                          33,
		"BROADCAST_CREATE":                                         34,
		"BROADCAST_ADD":                                            35,
		"BROADCAST_REMOVE":                                         36,
		"GENERIC_NOTIFICATION":                                     37,
		"E2E_IDENTITY_CHANGED":                                     38,
		"E2E_ENCRYPTED":                                            39,
		"CALL_MISSED_VOICE":                                        40,
		"CALL_MISSED_VIDEO":                                        41,
		"INDIVIDUAL_CHANGE_NUMBER":                                 42,
		"GROUP_DELETE":                                             43,
		"GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE":                       44,
		"CALL_MISSED_GROUP_VOICE":                                  45,
		"CALL_MISSED_GROUP_VIDEO":                                  46,
		"PAYMENT_CIPHERTEXT":                                       47,
		"PAYMENT_FUTUREPROOF":                                      48,
		"PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED":                 49,
		"PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED":               50,
		"PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED":          51,
		"PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP":        52,
		"PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP": 53,
		"PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER":                    54,
		"PAYMENT_ACTION_SEND_PAYMENT_REMINDER":                     55,
		"PAYMENT_ACTION_SEND_PAYMENT_INVITATION":                   56,
		"PAYMENT_ACTION_REQUEST_DECLINED":                          57,
		"PAYMENT_ACTION_REQUEST_EXPIRED":                           58,
		"PAYMENT_ACTION_REQUEST_CANCELLED":                         59,
		"BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM":                    60,
		"BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP":                    61,
		"BIZ_INTRO_TOP":                                            62,
		"BIZ_INTRO_BOTTOM":                                         63,
		"BIZ_NAME_CHANGE":                                          64,
		"BIZ_MOVE_TO_CONSUMER_APP":                                 65,
		"BIZ_TWO_TIER_MIGRATION_TOP":                               66,
		"BIZ_TWO_TIER_MIGRATION_BOTTOM":                            67,
		"OVERSIZED":                                                68,
		"GROUP_CHANGE_NO_FREQUENTLY_FORWARDED":                     69,
		"GROUP_V4_ADD_INVITE_SENT":                                 70,
		"GROUP_PARTICIPANT_ADD_REQUEST_JOIN":                       71,
		"CHANGE_EPHEMERAL_SETTING":                                 72,
		"E2E_DEVICE_CHANGED":                                       73,
		"VIEWED_ONCE":                                              74,
		"E2E_ENCRYPTED_NOW":                                        75,
		"BLUE_MSG_BSP_FB_TO_BSP_PREMISE":                           76,
		"BLUE_MSG_BSP_FB_TO_SELF_FB":                               77,
		"BLUE_MSG_BSP_FB_TO_SELF_PREMISE":                          78,
		"BLUE_MSG_BSP_FB_UNVERIFIED":                               79,
		"BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED":      80,
		"BLUE_MSG_BSP_FB_VERIFIED":                                 81,
		"BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED":      82,
		"BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE":                     83,
		"BLUE_MSG_BSP_PREMISE_UNVERIFIED":                          84,
		"BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED": 85,
		"BLUE_MSG_BSP_PREMISE_VERIFIED":                            86,
		"BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED": 87,
		"BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED":                   88,
		"BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED":              89,
		"BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED":                  90,
		"BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED":             91,
		"BLUE_MSG_SELF_FB_TO_BSP_PREMISE":                          92,
		"BLUE_MSG_SELF_FB_TO_SELF_PREMISE":                         93,
		"BLUE_MSG_SELF_FB_UNVERIFIED":                              94,
		"BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED":     95,
		"BLUE_MSG_SELF_FB_VERIFIED":                                96,
		"BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED":     97,
		"BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE":                     98,
		"BLUE_MSG_SELF_PREMISE_UNVERIFIED":                         99,
		"BLUE_MSG_SELF_PREMISE_VERIFIED":                           100,
		"BLUE_MSG_TO_BSP_FB":                                       101,
		"BLUE_MSG_TO_CONSUMER":                                     102,
		"BLUE_MSG_TO_SELF_FB":                                      103,
		"BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED":                   104,
		"BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED":              105,
		"BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED":                  106,
		"BLUE_MSG_UNVERIFIED_TO_VERIFIED":                          107,
		"BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED":                   108,
		"BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED":              109,
		"BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED":                  110,
		"BLUE_MSG_VERIFIED_TO_UNVERIFIED":                          111,
		"BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED":       112,
		"BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED":           113,
		"BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED":       114,
		"BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED":           115,
		"BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED":      116,
		"BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED":      117,
		"E2E_IDENTITY_UNAVAILABLE":                                 118,
	}
)

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

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

func (WebMessageInfo_WebMessageInfoStubType) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[22].Descriptor()
}

func (WebMessageInfo_WebMessageInfoStubType) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[22]
}

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

// Deprecated: Do not use.
func (x *WebMessageInfo_WebMessageInfoStubType) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = WebMessageInfo_WebMessageInfoStubType(num)
	return nil
}

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

type WebMessageInfo_WebMessageInfoBizPrivacyStatus int32

const (
	WebMessageInfo_E2EE       WebMessageInfo_WebMessageInfoBizPrivacyStatus = 0
	WebMessageInfo_FB         WebMessageInfo_WebMessageInfoBizPrivacyStatus = 2
	WebMessageInfo_BSP        WebMessageInfo_WebMessageInfoBizPrivacyStatus = 1
	WebMessageInfo_BSP_AND_FB WebMessageInfo_WebMessageInfoBizPrivacyStatus = 3
)

// Enum value maps for WebMessageInfo_WebMessageInfoBizPrivacyStatus.
var (
	WebMessageInfo_WebMessageInfoBizPrivacyStatus_name = map[int32]string{
		0: "E2EE",
		2: "FB",
		1: "BSP",
		3: "BSP_AND_FB",
	}
	WebMessageInfo_WebMessageInfoBizPrivacyStatus_value = map[string]int32{
		"E2EE":       0,
		"FB":         2,
		"BSP":        1,
		"BSP_AND_FB": 3,
	}
)

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

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

func (WebMessageInfo_WebMessageInfoBizPrivacyStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_def_proto_enumTypes[23].Descriptor()
}

func (WebMessageInfo_WebMessageInfoBizPrivacyStatus) Type() protoreflect.EnumType {
	return &file_def_proto_enumTypes[23]
}

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

// Deprecated: Do not use.
func (x *WebMessageInfo_WebMessageInfoBizPrivacyStatus) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = WebMessageInfo_WebMessageInfoBizPrivacyStatus(num)
	return nil
}

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

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

	Value        *int64  `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
	Offset       *uint32 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"`
	CurrencyCode *string `protobuf:"bytes,3,opt,name=currencyCode" json:"currencyCode,omitempty"`
}

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

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

func (*PaymentMoney) ProtoMessage() {}

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

func (x *PaymentMoney) GetValue() int64 {
	if x != nil && x.Value != nil {
		return *x.Value
	}
	return 0
}

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

func (x *PaymentMoney) GetCurrencyCode() string {
	if x != nil && x.CurrencyCode != nil {
		return *x.CurrencyCode
	}
	return ""
}

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

	DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	Id          *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
}

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

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

func (*HydratedQuickReplyButton) ProtoMessage() {}

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

func (x *HydratedQuickReplyButton) GetDisplayText() string {
	if x != nil && x.DisplayText != nil {
		return *x.DisplayText
	}
	return ""
}

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

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

	DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	Url         *string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
}

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

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

func (*HydratedURLButton) ProtoMessage() {}

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

func (x *HydratedURLButton) GetDisplayText() string {
	if x != nil && x.DisplayText != nil {
		return *x.DisplayText
	}
	return ""
}

func (x *HydratedURLButton) GetUrl() string {
	if x != nil && x.Url != nil {
		return *x.Url
	}
	return ""
}

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

	DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	PhoneNumber *string `protobuf:"bytes,2,opt,name=phoneNumber" json:"phoneNumber,omitempty"`
}

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

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

func (*HydratedCallButton) ProtoMessage() {}

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

func (x *HydratedCallButton) GetDisplayText() string {
	if x != nil && x.DisplayText != nil {
		return *x.DisplayText
	}
	return ""
}

func (x *HydratedCallButton) GetPhoneNumber() string {
	if x != nil && x.PhoneNumber != nil {
		return *x.PhoneNumber
	}
	return ""
}

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

	Index *uint32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
	// Types that are assignable to HydratedButton:
	//	*HydratedTemplateButton_QuickReplyButton
	//	*HydratedTemplateButton_UrlButton
	//	*HydratedTemplateButton_CallButton
	HydratedButton isHydratedTemplateButton_HydratedButton `protobuf_oneof:"hydratedButton"`
}

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

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

func (*HydratedTemplateButton) ProtoMessage() {}

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

func (x *HydratedTemplateButton) GetIndex() uint32 {
	if x != nil && x.Index != nil {
		return *x.Index
	}
	return 0
}

func (m *HydratedTemplateButton) GetHydratedButton() isHydratedTemplateButton_HydratedButton {
	if m != nil {
		return m.HydratedButton
	}
	return nil
}

func (x *HydratedTemplateButton) GetQuickReplyButton() *HydratedQuickReplyButton {
	if x, ok := x.GetHydratedButton().(*HydratedTemplateButton_QuickReplyButton); ok {
		return x.QuickReplyButton
	}
	return nil
}

func (x *HydratedTemplateButton) GetUrlButton() *HydratedURLButton {
	if x, ok := x.GetHydratedButton().(*HydratedTemplateButton_UrlButton); ok {
		return x.UrlButton
	}
	return nil
}

func (x *HydratedTemplateButton) GetCallButton() *HydratedCallButton {
	if x, ok := x.GetHydratedButton().(*HydratedTemplateButton_CallButton); ok {
		return x.CallButton
	}
	return nil
}

type isHydratedTemplateButton_HydratedButton interface {
	isHydratedTemplateButton_HydratedButton()
}

type HydratedTemplateButton_QuickReplyButton struct {
	QuickReplyButton *HydratedQuickReplyButton `protobuf:"bytes,1,opt,name=quickReplyButton,oneof"`
}

type HydratedTemplateButton_UrlButton struct {
	UrlButton *HydratedURLButton `protobuf:"bytes,2,opt,name=urlButton,oneof"`
}

type HydratedTemplateButton_CallButton struct {
	CallButton *HydratedCallButton `protobuf:"bytes,3,opt,name=callButton,oneof"`
}

func (*HydratedTemplateButton_QuickReplyButton) isHydratedTemplateButton_HydratedButton() {}

func (*HydratedTemplateButton_UrlButton) isHydratedTemplateButton_HydratedButton() {}

func (*HydratedTemplateButton_CallButton) isHydratedTemplateButton_HydratedButton() {}

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

	DisplayText *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	Id          *string                  `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
}

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

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

func (*QuickReplyButton) ProtoMessage() {}

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

func (x *QuickReplyButton) GetDisplayText() *HighlyStructuredMessage {
	if x != nil {
		return x.DisplayText
	}
	return nil
}

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

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

	DisplayText *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	Url         *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
}

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

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

func (*URLButton) ProtoMessage() {}

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

func (x *URLButton) GetDisplayText() *HighlyStructuredMessage {
	if x != nil {
		return x.DisplayText
	}
	return nil
}

func (x *URLButton) GetUrl() *HighlyStructuredMessage {
	if x != nil {
		return x.Url
	}
	return nil
}

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

	DisplayText *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	PhoneNumber *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=phoneNumber" json:"phoneNumber,omitempty"`
}

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

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

func (*CallButton) ProtoMessage() {}

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

func (x *CallButton) GetDisplayText() *HighlyStructuredMessage {
	if x != nil {
		return x.DisplayText
	}
	return nil
}

func (x *CallButton) GetPhoneNumber() *HighlyStructuredMessage {
	if x != nil {
		return x.PhoneNumber
	}
	return nil
}

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

	Index *uint32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
	// Types that are assignable to Button:
	//	*TemplateButton_QuickReplyButton
	//	*TemplateButton_UrlButton
	//	*TemplateButton_CallButton
	Button isTemplateButton_Button `protobuf_oneof:"button"`
}

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

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

func (*TemplateButton) ProtoMessage() {}

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

func (x *TemplateButton) GetIndex() uint32 {
	if x != nil && x.Index != nil {
		return *x.Index
	}
	return 0
}

func (m *TemplateButton) GetButton() isTemplateButton_Button {
	if m != nil {
		return m.Button
	}
	return nil
}

func (x *TemplateButton) GetQuickReplyButton() *QuickReplyButton {
	if x, ok := x.GetButton().(*TemplateButton_QuickReplyButton); ok {
		return x.QuickReplyButton
	}
	return nil
}

func (x *TemplateButton) GetUrlButton() *URLButton {
	if x, ok := x.GetButton().(*TemplateButton_UrlButton); ok {
		return x.UrlButton
	}
	return nil
}

func (x *TemplateButton) GetCallButton() *CallButton {
	if x, ok := x.GetButton().(*TemplateButton_CallButton); ok {
		return x.CallButton
	}
	return nil
}

type isTemplateButton_Button interface {
	isTemplateButton_Button()
}

type TemplateButton_QuickReplyButton struct {
	QuickReplyButton *QuickReplyButton `protobuf:"bytes,1,opt,name=quickReplyButton,oneof"`
}

type TemplateButton_UrlButton struct {
	UrlButton *URLButton `protobuf:"bytes,2,opt,name=urlButton,oneof"`
}

type TemplateButton_CallButton struct {
	CallButton *CallButton `protobuf:"bytes,3,opt,name=callButton,oneof"`
}

func (*TemplateButton_QuickReplyButton) isTemplateButton_Button() {}

func (*TemplateButton_UrlButton) isTemplateButton_Button() {}

func (*TemplateButton_CallButton) isTemplateButton_Button() {}

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

	DegreesLatitude  *float64 `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"`
	DegreesLongitude *float64 `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"`
	Name             *string  `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
}

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

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

func (*Location) ProtoMessage() {}

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

func (x *Location) GetDegreesLatitude() float64 {
	if x != nil && x.DegreesLatitude != nil {
		return *x.DegreesLatitude
	}
	return 0
}

func (x *Location) GetDegreesLongitude() float64 {
	if x != nil && x.DegreesLongitude != nil {
		return *x.DegreesLongitude
	}
	return 0
}

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

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

	XDeprecated *int32   `protobuf:"varint,1,opt,name=xDeprecated" json:"xDeprecated,omitempty"`
	YDeprecated *int32   `protobuf:"varint,2,opt,name=yDeprecated" json:"yDeprecated,omitempty"`
	X           *float64 `protobuf:"fixed64,3,opt,name=x" json:"x,omitempty"`
	Y           *float64 `protobuf:"fixed64,4,opt,name=y" json:"y,omitempty"`
}

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

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

func (*Point) ProtoMessage() {}

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

func (x *Point) GetXDeprecated() int32 {
	if x != nil && x.XDeprecated != nil {
		return *x.XDeprecated
	}
	return 0
}

func (x *Point) GetYDeprecated() int32 {
	if x != nil && x.YDeprecated != nil {
		return *x.YDeprecated
	}
	return 0
}

func (x *Point) GetX() float64 {
	if x != nil && x.X != nil {
		return *x.X
	}
	return 0
}

func (x *Point) GetY() float64 {
	if x != nil && x.Y != nil {
		return *x.Y
	}
	return 0
}

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

	PolygonVertices []*Point `protobuf:"bytes,1,rep,name=polygonVertices" json:"polygonVertices,omitempty"`
	// Types that are assignable to Action:
	//	*InteractiveAnnotation_Location
	Action isInteractiveAnnotation_Action `protobuf_oneof:"action"`
}

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

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

func (*InteractiveAnnotation) ProtoMessage() {}

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

func (x *InteractiveAnnotation) GetPolygonVertices() []*Point {
	if x != nil {
		return x.PolygonVertices
	}
	return nil
}

func (m *InteractiveAnnotation) GetAction() isInteractiveAnnotation_Action {
	if m != nil {
		return m.Action
	}
	return nil
}

func (x *InteractiveAnnotation) GetLocation() *Location {
	if x, ok := x.GetAction().(*InteractiveAnnotation_Location); ok {
		return x.Location
	}
	return nil
}

type isInteractiveAnnotation_Action interface {
	isInteractiveAnnotation_Action()
}

type InteractiveAnnotation_Location struct {
	Location *Location `protobuf:"bytes,2,opt,name=location,oneof"`
}

func (*InteractiveAnnotation_Location) isInteractiveAnnotation_Action() {}

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

	SenderKeyHash      []byte  `protobuf:"bytes,1,opt,name=senderKeyHash" json:"senderKeyHash,omitempty"`
	SenderTimestamp    *uint64 `protobuf:"varint,2,opt,name=senderTimestamp" json:"senderTimestamp,omitempty"`
	RecipientKeyHash   []byte  `protobuf:"bytes,8,opt,name=recipientKeyHash" json:"recipientKeyHash,omitempty"`
	RecipientTimestamp *uint64 `protobuf:"varint,9,opt,name=recipientTimestamp" json:"recipientTimestamp,omitempty"`
}

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

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

func (*DeviceListMetadata) ProtoMessage() {}

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

func (x *DeviceListMetadata) GetSenderKeyHash() []byte {
	if x != nil {
		return x.SenderKeyHash
	}
	return nil
}

func (x *DeviceListMetadata) GetSenderTimestamp() uint64 {
	if x != nil && x.SenderTimestamp != nil {
		return *x.SenderTimestamp
	}
	return 0
}

func (x *DeviceListMetadata) GetRecipientKeyHash() []byte {
	if x != nil {
		return x.RecipientKeyHash
	}
	return nil
}

func (x *DeviceListMetadata) GetRecipientTimestamp() uint64 {
	if x != nil && x.RecipientTimestamp != nil {
		return *x.RecipientTimestamp
	}
	return 0
}

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

	DeviceListMetadata *DeviceListMetadata `protobuf:"bytes,1,opt,name=deviceListMetadata" json:"deviceListMetadata,omitempty"`
}

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

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

func (*MessageContextInfo) ProtoMessage() {}

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

func (x *MessageContextInfo) GetDeviceListMetadata() *DeviceListMetadata {
	if x != nil {
		return x.DeviceListMetadata
	}
	return nil
}

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

	AdvertiserName *string                           `protobuf:"bytes,1,opt,name=advertiserName" json:"advertiserName,omitempty"`
	MediaType      *AdReplyInfo_AdReplyInfoMediaType `protobuf:"varint,2,opt,name=mediaType,enum=proto.AdReplyInfo_AdReplyInfoMediaType" json:"mediaType,omitempty"`
	JpegThumbnail  []byte                            `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	Caption        *string                           `protobuf:"bytes,17,opt,name=caption" json:"caption,omitempty"`
}

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

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

func (*AdReplyInfo) ProtoMessage() {}

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

func (x *AdReplyInfo) GetAdvertiserName() string {
	if x != nil && x.AdvertiserName != nil {
		return *x.AdvertiserName
	}
	return ""
}

func (x *AdReplyInfo) GetMediaType() AdReplyInfo_AdReplyInfoMediaType {
	if x != nil && x.MediaType != nil {
		return *x.MediaType
	}
	return AdReplyInfo_NONE
}

func (x *AdReplyInfo) GetJpegThumbnail() []byte {
	if x != nil {
		return x.JpegThumbnail
	}
	return nil
}

func (x *AdReplyInfo) GetCaption() string {
	if x != nil && x.Caption != nil {
		return *x.Caption
	}
	return ""
}

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

	Title        *string                                           `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
	Body         *string                                           `protobuf:"bytes,2,opt,name=body" json:"body,omitempty"`
	MediaType    *ExternalAdReplyInfo_ExternalAdReplyInfoMediaType `protobuf:"varint,3,opt,name=mediaType,enum=proto.ExternalAdReplyInfo_ExternalAdReplyInfoMediaType" json:"mediaType,omitempty"`
	ThumbnailUrl *string                                           `protobuf:"bytes,4,opt,name=thumbnailUrl" json:"thumbnailUrl,omitempty"`
	MediaUrl     *string                                           `protobuf:"bytes,5,opt,name=mediaUrl" json:"mediaUrl,omitempty"`
	Thumbnail    []byte                                            `protobuf:"bytes,6,opt,name=thumbnail" json:"thumbnail,omitempty"`
	SourceType   *string                                           `protobuf:"bytes,7,opt,name=sourceType" json:"sourceType,omitempty"`
	SourceId     *string                                           `protobuf:"bytes,8,opt,name=sourceId" json:"sourceId,omitempty"`
	SourceUrl    *string                                           `protobuf:"bytes,9,opt,name=sourceUrl" json:"sourceUrl,omitempty"`
}

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

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

func (*ExternalAdReplyInfo) ProtoMessage() {}

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

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

func (x *ExternalAdReplyInfo) GetBody() string {
	if x != nil && x.Body != nil {
		return *x.Body
	}
	return ""
}

func (x *ExternalAdReplyInfo) GetMediaType() ExternalAdReplyInfo_ExternalAdReplyInfoMediaType {
	if x != nil && x.MediaType != nil {
		return *x.MediaType
	}
	return ExternalAdReplyInfo_NONE
}

func (x *ExternalAdReplyInfo) GetThumbnailUrl() string {
	if x != nil && x.ThumbnailUrl != nil {
		return *x.ThumbnailUrl
	}
	return ""
}

func (x *ExternalAdReplyInfo) GetMediaUrl() string {
	if x != nil && x.MediaUrl != nil {
		return *x.MediaUrl
	}
	return ""
}

func (x *ExternalAdReplyInfo) GetThumbnail() []byte {
	if x != nil {
		return x.Thumbnail
	}
	return nil
}

func (x *ExternalAdReplyInfo) GetSourceType() string {
	if x != nil && x.SourceType != nil {
		return *x.SourceType
	}
	return ""
}

func (x *ExternalAdReplyInfo) GetSourceId() string {
	if x != nil && x.SourceId != nil {
		return *x.SourceId
	}
	return ""
}

func (x *ExternalAdReplyInfo) GetSourceUrl() string {
	if x != nil && x.SourceUrl != nil {
		return *x.SourceUrl
	}
	return ""
}

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

	StanzaId                  *string              `protobuf:"bytes,1,opt,name=stanzaId" json:"stanzaId,omitempty"`
	Participant               *string              `protobuf:"bytes,2,opt,name=participant" json:"participant,omitempty"`
	QuotedMessage             *Message             `protobuf:"bytes,3,opt,name=quotedMessage" json:"quotedMessage,omitempty"`
	RemoteJid                 *string              `protobuf:"bytes,4,opt,name=remoteJid" json:"remoteJid,omitempty"`
	MentionedJid              []string             `protobuf:"bytes,15,rep,name=mentionedJid" json:"mentionedJid,omitempty"`
	ConversionSource          *string              `protobuf:"bytes,18,opt,name=conversionSource" json:"conversionSource,omitempty"`
	ConversionData            []byte               `protobuf:"bytes,19,opt,name=conversionData" json:"conversionData,omitempty"`
	ConversionDelaySeconds    *uint32              `protobuf:"varint,20,opt,name=conversionDelaySeconds" json:"conversionDelaySeconds,omitempty"`
	ForwardingScore           *uint32              `protobuf:"varint,21,opt,name=forwardingScore" json:"forwardingScore,omitempty"`
	IsForwarded               *bool                `protobuf:"varint,22,opt,name=isForwarded" json:"isForwarded,omitempty"`
	QuotedAd                  *AdReplyInfo         `protobuf:"bytes,23,opt,name=quotedAd" json:"quotedAd,omitempty"`
	PlaceholderKey            *MessageKey          `protobuf:"bytes,24,opt,name=placeholderKey" json:"placeholderKey,omitempty"`
	Expiration                *uint32              `protobuf:"varint,25,opt,name=expiration" json:"expiration,omitempty"`
	EphemeralSettingTimestamp *int64               `protobuf:"varint,26,opt,name=ephemeralSettingTimestamp" json:"ephemeralSettingTimestamp,omitempty"`
	EphemeralSharedSecret     []byte               `protobuf:"bytes,27,opt,name=ephemeralSharedSecret" json:"ephemeralSharedSecret,omitempty"`
	ExternalAdReply           *ExternalAdReplyInfo `protobuf:"bytes,28,opt,name=externalAdReply" json:"externalAdReply,omitempty"`
}

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

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

func (*ContextInfo) ProtoMessage() {}

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

func (x *ContextInfo) GetStanzaId() string {
	if x != nil && x.StanzaId != nil {
		return *x.StanzaId
	}
	return ""
}

func (x *ContextInfo) GetParticipant() string {
	if x != nil && x.Participant != nil {
		return *x.Participant
	}
	return ""
}

func (x *ContextInfo) GetQuotedMessage() *Message {
	if x != nil {
		return x.QuotedMessage
	}
	return nil
}

func (x *ContextInfo) GetRemoteJid() string {
	if x != nil && x.RemoteJid != nil {
		return *x.RemoteJid
	}
	return ""
}

func (x *ContextInfo) GetMentionedJid() []string {
	if x != nil {
		return x.MentionedJid
	}
	return nil
}

func (x *ContextInfo) GetConversionSource() string {
	if x != nil && x.ConversionSource != nil {
		return *x.ConversionSource
	}
	return ""
}

func (x *ContextInfo) GetConversionData() []byte {
	if x != nil {
		return x.ConversionData
	}
	return nil
}

func (x *ContextInfo) GetConversionDelaySeconds() uint32 {
	if x != nil && x.ConversionDelaySeconds != nil {
		return *x.ConversionDelaySeconds
	}
	return 0
}

func (x *ContextInfo) GetForwardingScore() uint32 {
	if x != nil && x.ForwardingScore != nil {
		return *x.ForwardingScore
	}
	return 0
}

func (x *ContextInfo) GetIsForwarded() bool {
	if x != nil && x.IsForwarded != nil {
		return *x.IsForwarded
	}
	return false
}

func (x *ContextInfo) GetQuotedAd() *AdReplyInfo {
	if x != nil {
		return x.QuotedAd
	}
	return nil
}

func (x *ContextInfo) GetPlaceholderKey() *MessageKey {
	if x != nil {
		return x.PlaceholderKey
	}
	return nil
}

func (x *ContextInfo) GetExpiration() uint32 {
	if x != nil && x.Expiration != nil {
		return *x.Expiration
	}
	return 0
}

func (x *ContextInfo) GetEphemeralSettingTimestamp() int64 {
	if x != nil && x.EphemeralSettingTimestamp != nil {
		return *x.EphemeralSettingTimestamp
	}
	return 0
}

func (x *ContextInfo) GetEphemeralSharedSecret() []byte {
	if x != nil {
		return x.EphemeralSharedSecret
	}
	return nil
}

func (x *ContextInfo) GetExternalAdReply() *ExternalAdReplyInfo {
	if x != nil {
		return x.ExternalAdReply
	}
	return nil
}

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

	GroupId                             *string `protobuf:"bytes,1,opt,name=groupId" json:"groupId,omitempty"`
	AxolotlSenderKeyDistributionMessage []byte  `protobuf:"bytes,2,opt,name=axolotlSenderKeyDistributionMessage" json:"axolotlSenderKeyDistributionMessage,omitempty"`
}

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

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

func (*SenderKeyDistributionMessage) ProtoMessage() {}

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

func (x *SenderKeyDistributionMessage) GetGroupId() string {
	if x != nil && x.GroupId != nil {
		return *x.GroupId
	}
	return ""
}

func (x *SenderKeyDistributionMessage) GetAxolotlSenderKeyDistributionMessage() []byte {
	if x != nil {
		return x.AxolotlSenderKeyDistributionMessage
	}
	return nil
}

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

	Url                     *string                  `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	Mimetype                *string                  `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"`
	Caption                 *string                  `protobuf:"bytes,3,opt,name=caption" json:"caption,omitempty"`
	FileSha256              []byte                   `protobuf:"bytes,4,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength              *uint64                  `protobuf:"varint,5,opt,name=fileLength" json:"fileLength,omitempty"`
	Height                  *uint32                  `protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
	Width                   *uint32                  `protobuf:"varint,7,opt,name=width" json:"width,omitempty"`
	MediaKey                []byte                   `protobuf:"bytes,8,opt,name=mediaKey" json:"mediaKey,omitempty"`
	FileEncSha256           []byte                   `protobuf:"bytes,9,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	InteractiveAnnotations  []*InteractiveAnnotation `protobuf:"bytes,10,rep,name=interactiveAnnotations" json:"interactiveAnnotations,omitempty"`
	DirectPath              *string                  `protobuf:"bytes,11,opt,name=directPath" json:"directPath,omitempty"`
	MediaKeyTimestamp       *int64                   `protobuf:"varint,12,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	JpegThumbnail           []byte                   `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo             *ContextInfo             `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	FirstScanSidecar        []byte                   `protobuf:"bytes,18,opt,name=firstScanSidecar" json:"firstScanSidecar,omitempty"`
	FirstScanLength         *uint32                  `protobuf:"varint,19,opt,name=firstScanLength" json:"firstScanLength,omitempty"`
	ExperimentGroupId       *uint32                  `protobuf:"varint,20,opt,name=experimentGroupId" json:"experimentGroupId,omitempty"`
	ScansSidecar            []byte                   `protobuf:"bytes,21,opt,name=scansSidecar" json:"scansSidecar,omitempty"`
	ScanLengths             []uint32                 `protobuf:"varint,22,rep,name=scanLengths" json:"scanLengths,omitempty"`
	MidQualityFileSha256    []byte                   `protobuf:"bytes,23,opt,name=midQualityFileSha256" json:"midQualityFileSha256,omitempty"`
	MidQualityFileEncSha256 []byte                   `protobuf:"bytes,24,opt,name=midQualityFileEncSha256" json:"midQualityFileEncSha256,omitempty"`
	ViewOnce                *bool                    `protobuf:"varint,25,opt,name=viewOnce" json:"viewOnce,omitempty"`
	ThumbnailDirectPath     *string                  `protobuf:"bytes,26,opt,name=thumbnailDirectPath" json:"thumbnailDirectPath,omitempty"`
	ThumbnailSha256         []byte                   `protobuf:"bytes,27,opt,name=thumbnailSha256" json:"thumbnailSha256,omitempty"`
	ThumbnailEncSha256      []byte                   `protobuf:"bytes,28,opt,name=thumbnailEncSha256" json:"thumbnailEncSha256,omitempty"`
}

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

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

func (*ImageMessage) ProtoMessage() {}

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

func (x *ImageMessage) GetUrl() string {
	if x != nil && x.Url != nil {
		return *x.Url
	}
	return ""
}

func (x *ImageMessage) GetMimetype() string {
	if x != nil && x.Mimetype != nil {
		return *x.Mimetype
	}
	return ""
}

func (x *ImageMessage) GetCaption() string {
	if x != nil && x.Caption != nil {
		return *x.Caption
	}
	return ""
}

func (x *ImageMessage) GetFileSha256() []byte {
	if x != nil {
		return x.FileSha256
	}
	return nil
}

func (x *ImageMessage) GetFileLength() uint64 {
	if x != nil && x.FileLength != nil {
		return *x.FileLength
	}
	return 0
}

func (x *ImageMessage) GetHeight() uint32 {
	if x != nil && x.Height != nil {
		return *x.Height
	}
	return 0
}

func (x *ImageMessage) GetWidth() uint32 {
	if x != nil && x.Width != nil {
		return *x.Width
	}
	return 0
}

func (x *ImageMessage) GetMediaKey() []byte {
	if x != nil {
		return x.MediaKey
	}
	return nil
}

func (x *ImageMessage) GetFileEncSha256() []byte {
	if x != nil {
		return x.FileEncSha256
	}
	return nil
}

func (x *ImageMessage) GetInteractiveAnnotations() []*InteractiveAnnotation {
	if x != nil {
		return x.InteractiveAnnotations
	}
	return nil
}

func (x *ImageMessage) GetDirectPath() string {
	if x != nil && x.DirectPath != nil {
		return *x.DirectPath
	}
	return ""
}

func (x *ImageMessage) GetMediaKeyTimestamp() int64 {
	if x != nil && x.MediaKeyTimestamp != nil {
		return *x.MediaKeyTimestamp
	}
	return 0
}

func (x *ImageMessage) GetJpegThumbnail() []byte {
	if x != nil {
		return x.JpegThumbnail
	}
	return nil
}

func (x *ImageMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *ImageMessage) GetFirstScanSidecar() []byte {
	if x != nil {
		return x.FirstScanSidecar
	}
	return nil
}

func (x *ImageMessage) GetFirstScanLength() uint32 {
	if x != nil && x.FirstScanLength != nil {
		return *x.FirstScanLength
	}
	return 0
}

func (x *ImageMessage) GetExperimentGroupId() uint32 {
	if x != nil && x.ExperimentGroupId != nil {
		return *x.ExperimentGroupId
	}
	return 0
}

func (x *ImageMessage) GetScansSidecar() []byte {
	if x != nil {
		return x.ScansSidecar
	}
	return nil
}

func (x *ImageMessage) GetScanLengths() []uint32 {
	if x != nil {
		return x.ScanLengths
	}
	return nil
}

func (x *ImageMessage) GetMidQualityFileSha256() []byte {
	if x != nil {
		return x.MidQualityFileSha256
	}
	return nil
}

func (x *ImageMessage) GetMidQualityFileEncSha256() []byte {
	if x != nil {
		return x.MidQualityFileEncSha256
	}
	return nil
}

func (x *ImageMessage) GetViewOnce() bool {
	if x != nil && x.ViewOnce != nil {
		return *x.ViewOnce
	}
	return false
}

func (x *ImageMessage) GetThumbnailDirectPath() string {
	if x != nil && x.ThumbnailDirectPath != nil {
		return *x.ThumbnailDirectPath
	}
	return ""
}

func (x *ImageMessage) GetThumbnailSha256() []byte {
	if x != nil {
		return x.ThumbnailSha256
	}
	return nil
}

func (x *ImageMessage) GetThumbnailEncSha256() []byte {
	if x != nil {
		return x.ThumbnailEncSha256
	}
	return nil
}

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

	Note                        *string                                      `protobuf:"bytes,1,opt,name=note" json:"note,omitempty"`
	Token                       *string                                      `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"`
	AttachmentType              *InvoiceMessage_InvoiceMessageAttachmentType `protobuf:"varint,3,opt,name=attachmentType,enum=proto.InvoiceMessage_InvoiceMessageAttachmentType" json:"attachmentType,omitempty"`
	AttachmentMimetype          *string                                      `protobuf:"bytes,4,opt,name=attachmentMimetype" json:"attachmentMimetype,omitempty"`
	AttachmentMediaKey          []byte                                       `protobuf:"bytes,5,opt,name=attachmentMediaKey" json:"attachmentMediaKey,omitempty"`
	AttachmentMediaKeyTimestamp *int64                                       `protobuf:"varint,6,opt,name=attachmentMediaKeyTimestamp" json:"attachmentMediaKeyTimestamp,omitempty"`
	AttachmentFileSha256        []byte                                       `protobuf:"bytes,7,opt,name=attachmentFileSha256" json:"attachmentFileSha256,omitempty"`
	AttachmentFileEncSha256     []byte                                       `protobuf:"bytes,8,opt,name=attachmentFileEncSha256" json:"attachmentFileEncSha256,omitempty"`
	AttachmentDirectPath        *string                                      `protobuf:"bytes,9,opt,name=attachmentDirectPath" json:"attachmentDirectPath,omitempty"`
	AttachmentJpegThumbnail     []byte                                       `protobuf:"bytes,10,opt,name=attachmentJpegThumbnail" json:"attachmentJpegThumbnail,omitempty"`
}

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

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

func (*InvoiceMessage) ProtoMessage() {}

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

func (x *InvoiceMessage) GetNote() string {
	if x != nil && x.Note != nil {
		return *x.Note
	}
	return ""
}

func (x *InvoiceMessage) GetToken() string {
	if x != nil && x.Token != nil {
		return *x.Token
	}
	return ""
}

func (x *InvoiceMessage) GetAttachmentType() InvoiceMessage_InvoiceMessageAttachmentType {
	if x != nil && x.AttachmentType != nil {
		return *x.AttachmentType
	}
	return InvoiceMessage_IMAGE
}

func (x *InvoiceMessage) GetAttachmentMimetype() string {
	if x != nil && x.AttachmentMimetype != nil {
		return *x.AttachmentMimetype
	}
	return ""
}

func (x *InvoiceMessage) GetAttachmentMediaKey() []byte {
	if x != nil {
		return x.AttachmentMediaKey
	}
	return nil
}

func (x *InvoiceMessage) GetAttachmentMediaKeyTimestamp() int64 {
	if x != nil && x.AttachmentMediaKeyTimestamp != nil {
		return *x.AttachmentMediaKeyTimestamp
	}
	return 0
}

func (x *InvoiceMessage) GetAttachmentFileSha256() []byte {
	if x != nil {
		return x.AttachmentFileSha256
	}
	return nil
}

func (x *InvoiceMessage) GetAttachmentFileEncSha256() []byte {
	if x != nil {
		return x.AttachmentFileEncSha256
	}
	return nil
}

func (x *InvoiceMessage) GetAttachmentDirectPath() string {
	if x != nil && x.AttachmentDirectPath != nil {
		return *x.AttachmentDirectPath
	}
	return ""
}

func (x *InvoiceMessage) GetAttachmentJpegThumbnail() []byte {
	if x != nil {
		return x.AttachmentJpegThumbnail
	}
	return nil
}

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

	DisplayName *string      `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"`
	Vcard       *string      `protobuf:"bytes,16,opt,name=vcard" json:"vcard,omitempty"`
	ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
}

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

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

func (*ContactMessage) ProtoMessage() {}

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

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

func (x *ContactMessage) GetVcard() string {
	if x != nil && x.Vcard != nil {
		return *x.Vcard
	}
	return ""
}

func (x *ContactMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

	DegreesLatitude                   *float64     `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"`
	DegreesLongitude                  *float64     `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"`
	Name                              *string      `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
	Address                           *string      `protobuf:"bytes,4,opt,name=address" json:"address,omitempty"`
	Url                               *string      `protobuf:"bytes,5,opt,name=url" json:"url,omitempty"`
	IsLive                            *bool        `protobuf:"varint,6,opt,name=isLive" json:"isLive,omitempty"`
	AccuracyInMeters                  *uint32      `protobuf:"varint,7,opt,name=accuracyInMeters" json:"accuracyInMeters,omitempty"`
	SpeedInMps                        *float32     `protobuf:"fixed32,8,opt,name=speedInMps" json:"speedInMps,omitempty"`
	DegreesClockwiseFromMagneticNorth *uint32      `protobuf:"varint,9,opt,name=degreesClockwiseFromMagneticNorth" json:"degreesClockwiseFromMagneticNorth,omitempty"`
	Comment                           *string      `protobuf:"bytes,11,opt,name=comment" json:"comment,omitempty"`
	JpegThumbnail                     []byte       `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo                       *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
}

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

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

func (*LocationMessage) ProtoMessage() {}

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

func (x *LocationMessage) GetDegreesLatitude() float64 {
	if x != nil && x.DegreesLatitude != nil {
		return *x.DegreesLatitude
	}
	return 0
}

func (x *LocationMessage) GetDegreesLongitude() float64 {
	if x != nil && x.DegreesLongitude != nil {
		return *x.DegreesLongitude
	}
	return 0
}

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

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

func (x *LocationMessage) GetUrl() string {
	if x != nil && x.Url != nil {
		return *x.Url
	}
	return ""
}

func (x *LocationMessage) GetIsLive() bool {
	if x != nil && x.IsLive != nil {
		return *x.IsLive
	}
	return false
}

func (x *LocationMessage) GetAccuracyInMeters() uint32 {
	if x != nil && x.AccuracyInMeters != nil {
		return *x.AccuracyInMeters
	}
	return 0
}

func (x *LocationMessage) GetSpeedInMps() float32 {
	if x != nil && x.SpeedInMps != nil {
		return *x.SpeedInMps
	}
	return 0
}

func (x *LocationMessage) GetDegreesClockwiseFromMagneticNorth() uint32 {
	if x != nil && x.DegreesClockwiseFromMagneticNorth != nil {
		return *x.DegreesClockwiseFromMagneticNorth
	}
	return 0
}

func (x *LocationMessage) GetComment() string {
	if x != nil && x.Comment != nil {
		return *x.Comment
	}
	return ""
}

func (x *LocationMessage) GetJpegThumbnail() []byte {
	if x != nil {
		return x.JpegThumbnail
	}
	return nil
}

func (x *LocationMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

	Text            *string                                             `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"`
	MatchedText     *string                                             `protobuf:"bytes,2,opt,name=matchedText" json:"matchedText,omitempty"`
	CanonicalUrl    *string                                             `protobuf:"bytes,4,opt,name=canonicalUrl" json:"canonicalUrl,omitempty"`
	Description     *string                                             `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"`
	Title           *string                                             `protobuf:"bytes,6,opt,name=title" json:"title,omitempty"`
	TextArgb        *uint32                                             `protobuf:"fixed32,7,opt,name=textArgb" json:"textArgb,omitempty"`
	BackgroundArgb  *uint32                                             `protobuf:"fixed32,8,opt,name=backgroundArgb" json:"backgroundArgb,omitempty"`
	Font            *ExtendedTextMessage_ExtendedTextMessageFontType    `protobuf:"varint,9,opt,name=font,enum=proto.ExtendedTextMessage_ExtendedTextMessageFontType" json:"font,omitempty"`
	PreviewType     *ExtendedTextMessage_ExtendedTextMessagePreviewType `protobuf:"varint,10,opt,name=previewType,enum=proto.ExtendedTextMessage_ExtendedTextMessagePreviewType" json:"previewType,omitempty"`
	JpegThumbnail   []byte                                              `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo     *ContextInfo                                        `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	DoNotPlayInline *bool                                               `protobuf:"varint,18,opt,name=doNotPlayInline" json:"doNotPlayInline,omitempty"`
}

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

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

func (*ExtendedTextMessage) ProtoMessage() {}

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

func (x *ExtendedTextMessage) GetText() string {
	if x != nil && x.Text != nil {
		return *x.Text
	}
	return ""
}

func (x *ExtendedTextMessage) GetMatchedText() string {
	if x != nil && x.MatchedText != nil {
		return *x.MatchedText
	}
	return ""
}

func (x *ExtendedTextMessage) GetCanonicalUrl() string {
	if x != nil && x.CanonicalUrl != nil {
		return *x.CanonicalUrl
	}
	return ""
}

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

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

func (x *ExtendedTextMessage) GetTextArgb() uint32 {
	if x != nil && x.TextArgb != nil {
		return *x.TextArgb
	}
	return 0
}

func (x *ExtendedTextMessage) GetBackgroundArgb() uint32 {
	if x != nil && x.BackgroundArgb != nil {
		return *x.BackgroundArgb
	}
	return 0
}

func (x *ExtendedTextMessage) GetFont() ExtendedTextMessage_ExtendedTextMessageFontType {
	if x != nil && x.Font != nil {
		return *x.Font
	}
	return ExtendedTextMessage_SANS_SERIF
}

func (x *ExtendedTextMessage) GetPreviewType() ExtendedTextMessage_ExtendedTextMessagePreviewType {
	if x != nil && x.PreviewType != nil {
		return *x.PreviewType
	}
	return ExtendedTextMessage_NONE
}

func (x *ExtendedTextMessage) GetJpegThumbnail() []byte {
	if x != nil {
		return x.JpegThumbnail
	}
	return nil
}

func (x *ExtendedTextMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *ExtendedTextMessage) GetDoNotPlayInline() bool {
	if x != nil && x.DoNotPlayInline != nil {
		return *x.DoNotPlayInline
	}
	return false
}

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

	Url                 *string      `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	Mimetype            *string      `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"`
	Title               *string      `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"`
	FileSha256          []byte       `protobuf:"bytes,4,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength          *uint64      `protobuf:"varint,5,opt,name=fileLength" json:"fileLength,omitempty"`
	PageCount           *uint32      `protobuf:"varint,6,opt,name=pageCount" json:"pageCount,omitempty"`
	MediaKey            []byte       `protobuf:"bytes,7,opt,name=mediaKey" json:"mediaKey,omitempty"`
	FileName            *string      `protobuf:"bytes,8,opt,name=fileName" json:"fileName,omitempty"`
	FileEncSha256       []byte       `protobuf:"bytes,9,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	DirectPath          *string      `protobuf:"bytes,10,opt,name=directPath" json:"directPath,omitempty"`
	MediaKeyTimestamp   *int64       `protobuf:"varint,11,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	ContactVcard        *bool        `protobuf:"varint,12,opt,name=contactVcard" json:"contactVcard,omitempty"`
	ThumbnailDirectPath *string      `protobuf:"bytes,13,opt,name=thumbnailDirectPath" json:"thumbnailDirectPath,omitempty"`
	ThumbnailSha256     []byte       `protobuf:"bytes,14,opt,name=thumbnailSha256" json:"thumbnailSha256,omitempty"`
	ThumbnailEncSha256  []byte       `protobuf:"bytes,15,opt,name=thumbnailEncSha256" json:"thumbnailEncSha256,omitempty"`
	JpegThumbnail       []byte       `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo         *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	ThumbnailHeight     *uint32      `protobuf:"varint,18,opt,name=thumbnailHeight" json:"thumbnailHeight,omitempty"`
	ThumbnailWidth      *uint32      `protobuf:"varint,19,opt,name=thumbnailWidth" json:"thumbnailWidth,omitempty"`
}

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

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

func (*DocumentMessage) ProtoMessage() {}

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

func (x *DocumentMessage) GetUrl() string {
	if x != nil && x.Url != nil {
		return *x.Url
	}
	return ""
}

func (x *DocumentMessage) GetMimetype() string {
	if x != nil && x.Mimetype != nil {
		return *x.Mimetype
	}
	return ""
}

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

func (x *DocumentMessage) GetFileSha256() []byte {
	if x != nil {
		return x.FileSha256
	}
	return nil
}

func (x *DocumentMessage) GetFileLength() uint64 {
	if x != nil && x.FileLength != nil {
		return *x.FileLength
	}
	return 0
}

func (x *DocumentMessage) GetPageCount() uint32 {
	if x != nil && x.PageCount != nil {
		return *x.PageCount
	}
	return 0
}

func (x *DocumentMessage) GetMediaKey() []byte {
	if x != nil {
		return x.MediaKey
	}
	return nil
}

func (x *DocumentMessage) GetFileName() string {
	if x != nil && x.FileName != nil {
		return *x.FileName
	}
	return ""
}

func (x *DocumentMessage) GetFileEncSha256() []byte {
	if x != nil {
		return x.FileEncSha256
	}
	return nil
}

func (x *DocumentMessage) GetDirectPath() string {
	if x != nil && x.DirectPath != nil {
		return *x.DirectPath
	}
	return ""
}

func (x *DocumentMessage) GetMediaKeyTimestamp() int64 {
	if x != nil && x.MediaKeyTimestamp != nil {
		return *x.MediaKeyTimestamp
	}
	return 0
}

func (x *DocumentMessage) GetContactVcard() bool {
	if x != nil && x.ContactVcard != nil {
		return *x.ContactVcard
	}
	return false
}

func (x *DocumentMessage) GetThumbnailDirectPath() string {
	if x != nil && x.ThumbnailDirectPath != nil {
		return *x.ThumbnailDirectPath
	}
	return ""
}

func (x *DocumentMessage) GetThumbnailSha256() []byte {
	if x != nil {
		return x.ThumbnailSha256
	}
	return nil
}

func (x *DocumentMessage) GetThumbnailEncSha256() []byte {
	if x != nil {
		return x.ThumbnailEncSha256
	}
	return nil
}

func (x *DocumentMessage) GetJpegThumbnail() []byte {
	if x != nil {
		return x.JpegThumbnail
	}
	return nil
}

func (x *DocumentMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *DocumentMessage) GetThumbnailHeight() uint32 {
	if x != nil && x.ThumbnailHeight != nil {
		return *x.ThumbnailHeight
	}
	return 0
}

func (x *DocumentMessage) GetThumbnailWidth() uint32 {
	if x != nil && x.ThumbnailWidth != nil {
		return *x.ThumbnailWidth
	}
	return 0
}

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

	Url               *string      `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	Mimetype          *string      `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"`
	FileSha256        []byte       `protobuf:"bytes,3,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength        *uint64      `protobuf:"varint,4,opt,name=fileLength" json:"fileLength,omitempty"`
	Seconds           *uint32      `protobuf:"varint,5,opt,name=seconds" json:"seconds,omitempty"`
	Ptt               *bool        `protobuf:"varint,6,opt,name=ptt" json:"ptt,omitempty"`
	MediaKey          []byte       `protobuf:"bytes,7,opt,name=mediaKey" json:"mediaKey,omitempty"`
	FileEncSha256     []byte       `protobuf:"bytes,8,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	DirectPath        *string      `protobuf:"bytes,9,opt,name=directPath" json:"directPath,omitempty"`
	MediaKeyTimestamp *int64       `protobuf:"varint,10,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	ContextInfo       *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	StreamingSidecar  []byte       `protobuf:"bytes,18,opt,name=streamingSidecar" json:"streamingSidecar,omitempty"`
}

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

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

func (*AudioMessage) ProtoMessage() {}

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

func (x *AudioMessage) GetUrl() string {
	if x != nil && x.Url != nil {
		return *x.Url
	}
	return ""
}

func (x *AudioMessage) GetMimetype() string {
	if x != nil && x.Mimetype != nil {
		return *x.Mimetype
	}
	return ""
}

func (x *AudioMessage) GetFileSha256() []byte {
	if x != nil {
		return x.FileSha256
	}
	return nil
}

func (x *AudioMessage) GetFileLength() uint64 {
	if x != nil && x.FileLength != nil {
		return *x.FileLength
	}
	return 0
}

func (x *AudioMessage) GetSeconds() uint32 {
	if x != nil && x.Seconds != nil {
		return *x.Seconds
	}
	return 0
}

func (x *AudioMessage) GetPtt() bool {
	if x != nil && x.Ptt != nil {
		return *x.Ptt
	}
	return false
}

func (x *AudioMessage) GetMediaKey() []byte {
	if x != nil {
		return x.MediaKey
	}
	return nil
}

func (x *AudioMessage) GetFileEncSha256() []byte {
	if x != nil {
		return x.FileEncSha256
	}
	return nil
}

func (x *AudioMessage) GetDirectPath() string {
	if x != nil && x.DirectPath != nil {
		return *x.DirectPath
	}
	return ""
}

func (x *AudioMessage) GetMediaKeyTimestamp() int64 {
	if x != nil && x.MediaKeyTimestamp != nil {
		return *x.MediaKeyTimestamp
	}
	return 0
}

func (x *AudioMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *AudioMessage) GetStreamingSidecar() []byte {
	if x != nil {
		return x.StreamingSidecar
	}
	return nil
}

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

	Url                    *string                               `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	Mimetype               *string                               `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"`
	FileSha256             []byte                                `protobuf:"bytes,3,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength             *uint64                               `protobuf:"varint,4,opt,name=fileLength" json:"fileLength,omitempty"`
	Seconds                *uint32                               `protobuf:"varint,5,opt,name=seconds" json:"seconds,omitempty"`
	MediaKey               []byte                                `protobuf:"bytes,6,opt,name=mediaKey" json:"mediaKey,omitempty"`
	Caption                *string                               `protobuf:"bytes,7,opt,name=caption" json:"caption,omitempty"`
	GifPlayback            *bool                                 `protobuf:"varint,8,opt,name=gifPlayback" json:"gifPlayback,omitempty"`
	Height                 *uint32                               `protobuf:"varint,9,opt,name=height" json:"height,omitempty"`
	Width                  *uint32                               `protobuf:"varint,10,opt,name=width" json:"width,omitempty"`
	FileEncSha256          []byte                                `protobuf:"bytes,11,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	InteractiveAnnotations []*InteractiveAnnotation              `protobuf:"bytes,12,rep,name=interactiveAnnotations" json:"interactiveAnnotations,omitempty"`
	DirectPath             *string                               `protobuf:"bytes,13,opt,name=directPath" json:"directPath,omitempty"`
	MediaKeyTimestamp      *int64                                `protobuf:"varint,14,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	JpegThumbnail          []byte                                `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo            *ContextInfo                          `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	StreamingSidecar       []byte                                `protobuf:"bytes,18,opt,name=streamingSidecar" json:"streamingSidecar,omitempty"`
	GifAttribution         *VideoMessage_VideoMessageAttribution `protobuf:"varint,19,opt,name=gifAttribution,enum=proto.VideoMessage_VideoMessageAttribution" json:"gifAttribution,omitempty"`
	ViewOnce               *bool                                 `protobuf:"varint,20,opt,name=viewOnce" json:"viewOnce,omitempty"`
	ThumbnailDirectPath    *string                               `protobuf:"bytes,21,opt,name=thumbnailDirectPath" json:"thumbnailDirectPath,omitempty"`
	ThumbnailSha256        []byte                                `protobuf:"bytes,22,opt,name=thumbnailSha256" json:"thumbnailSha256,omitempty"`
	ThumbnailEncSha256     []byte                                `protobuf:"bytes,23,opt,name=thumbnailEncSha256" json:"thumbnailEncSha256,omitempty"`
}

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

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

func (*VideoMessage) ProtoMessage() {}

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

func (x *VideoMessage) GetUrl() string {
	if x != nil && x.Url != nil {
		return *x.Url
	}
	return ""
}

func (x *VideoMessage) GetMimetype() string {
	if x != nil && x.Mimetype != nil {
		return *x.Mimetype
	}
	return ""
}

func (x *VideoMessage) GetFileSha256() []byte {
	if x != nil {
		return x.FileSha256
	}
	return nil
}

func (x *VideoMessage) GetFileLength() uint64 {
	if x != nil && x.FileLength != nil {
		return *x.FileLength
	}
	return 0
}

func (x *VideoMessage) GetSeconds() uint32 {
	if x != nil && x.Seconds != nil {
		return *x.Seconds
	}
	return 0
}

func (x *VideoMessage) GetMediaKey() []byte {
	if x != nil {
		return x.MediaKey
	}
	return nil
}

func (x *VideoMessage) GetCaption() string {
	if x != nil && x.Caption != nil {
		return *x.Caption
	}
	return ""
}

func (x *VideoMessage) GetGifPlayback() bool {
	if x != nil && x.GifPlayback != nil {
		return *x.GifPlayback
	}
	return false
}

func (x *VideoMessage) GetHeight() uint32 {
	if x != nil && x.Height != nil {
		return *x.Height
	}
	return 0
}

func (x *VideoMessage) GetWidth() uint32 {
	if x != nil && x.Width != nil {
		return *x.Width
	}
	return 0
}

func (x *VideoMessage) GetFileEncSha256() []byte {
	if x != nil {
		return x.FileEncSha256
	}
	return nil
}

func (x *VideoMessage) GetInteractiveAnnotations() []*InteractiveAnnotation {
	if x != nil {
		return x.InteractiveAnnotations
	}
	return nil
}

func (x *VideoMessage) GetDirectPath() string {
	if x != nil && x.DirectPath != nil {
		return *x.DirectPath
	}
	return ""
}

func (x *VideoMessage) GetMediaKeyTimestamp() int64 {
	if x != nil && x.MediaKeyTimestamp != nil {
		return *x.MediaKeyTimestamp
	}
	return 0
}

func (x *VideoMessage) GetJpegThumbnail() []byte {
	if x != nil {
		return x.JpegThumbnail
	}
	return nil
}

func (x *VideoMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *VideoMessage) GetStreamingSidecar() []byte {
	if x != nil {
		return x.StreamingSidecar
	}
	return nil
}

func (x *VideoMessage) GetGifAttribution() VideoMessage_VideoMessageAttribution {
	if x != nil && x.GifAttribution != nil {
		return *x.GifAttribution
	}
	return VideoMessage_NONE
}

func (x *VideoMessage) GetViewOnce() bool {
	if x != nil && x.ViewOnce != nil {
		return *x.ViewOnce
	}
	return false
}

func (x *VideoMessage) GetThumbnailDirectPath() string {
	if x != nil && x.ThumbnailDirectPath != nil {
		return *x.ThumbnailDirectPath
	}
	return ""
}

func (x *VideoMessage) GetThumbnailSha256() []byte {
	if x != nil {
		return x.ThumbnailSha256
	}
	return nil
}

func (x *VideoMessage) GetThumbnailEncSha256() []byte {
	if x != nil {
		return x.ThumbnailEncSha256
	}
	return nil
}

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

	CallKey []byte `protobuf:"bytes,1,opt,name=callKey" json:"callKey,omitempty"`
}

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

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

func (*Call) ProtoMessage() {}

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

func (x *Call) GetCallKey() []byte {
	if x != nil {
		return x.CallKey
	}
	return nil
}

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

	DisplayName *string `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"`
	Id          *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
}

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

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

func (*Chat) ProtoMessage() {}

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

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

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

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

	Key                                    *MessageKey                             `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Type                                   *ProtocolMessage_ProtocolMessageType    `protobuf:"varint,2,opt,name=type,enum=proto.ProtocolMessage_ProtocolMessageType" json:"type,omitempty"`
	EphemeralExpiration                    *uint32                                 `protobuf:"varint,4,opt,name=ephemeralExpiration" json:"ephemeralExpiration,omitempty"`
	EphemeralSettingTimestamp              *int64                                  `protobuf:"varint,5,opt,name=ephemeralSettingTimestamp" json:"ephemeralSettingTimestamp,omitempty"`
	HistorySyncNotification                *HistorySyncNotification                `protobuf:"bytes,6,opt,name=historySyncNotification" json:"historySyncNotification,omitempty"`
	AppStateSyncKeyShare                   *AppStateSyncKeyShare                   `protobuf:"bytes,7,opt,name=appStateSyncKeyShare" json:"appStateSyncKeyShare,omitempty"`
	AppStateSyncKeyRequest                 *AppStateSyncKeyRequest                 `protobuf:"bytes,8,opt,name=appStateSyncKeyRequest" json:"appStateSyncKeyRequest,omitempty"`
	InitialSecurityNotificationSettingSync *InitialSecurityNotificationSettingSync `protobuf:"bytes,9,opt,name=initialSecurityNotificationSettingSync" json:"initialSecurityNotificationSettingSync,omitempty"`
	AppStateFatalExceptionNotification     *AppStateFatalExceptionNotification     `protobuf:"bytes,10,opt,name=appStateFatalExceptionNotification" json:"appStateFatalExceptionNotification,omitempty"`
}

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

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

func (*ProtocolMessage) ProtoMessage() {}

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

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

func (x *ProtocolMessage) GetKey() *MessageKey {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *ProtocolMessage) GetType() ProtocolMessage_ProtocolMessageType {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return ProtocolMessage_REVOKE
}

func (x *ProtocolMessage) GetEphemeralExpiration() uint32 {
	if x != nil && x.EphemeralExpiration != nil {
		return *x.EphemeralExpiration
	}
	return 0
}

func (x *ProtocolMessage) GetEphemeralSettingTimestamp() int64 {
	if x != nil && x.EphemeralSettingTimestamp != nil {
		return *x.EphemeralSettingTimestamp
	}
	return 0
}

func (x *ProtocolMessage) GetHistorySyncNotification() *HistorySyncNotification {
	if x != nil {
		return x.HistorySyncNotification
	}
	return nil
}

func (x *ProtocolMessage) GetAppStateSyncKeyShare() *AppStateSyncKeyShare {
	if x != nil {
		return x.AppStateSyncKeyShare
	}
	return nil
}

func (x *ProtocolMessage) GetAppStateSyncKeyRequest() *AppStateSyncKeyRequest {
	if x != nil {
		return x.AppStateSyncKeyRequest
	}
	return nil
}

func (x *ProtocolMessage) GetInitialSecurityNotificationSettingSync() *InitialSecurityNotificationSettingSync {
	if x != nil {
		return x.InitialSecurityNotificationSettingSync
	}
	return nil
}

func (x *ProtocolMessage) GetAppStateFatalExceptionNotification() *AppStateFatalExceptionNotification {
	if x != nil {
		return x.AppStateFatalExceptionNotification
	}
	return nil
}

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

	FileSha256        []byte                                                          `protobuf:"bytes,1,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength        *uint64                                                         `protobuf:"varint,2,opt,name=fileLength" json:"fileLength,omitempty"`
	MediaKey          []byte                                                          `protobuf:"bytes,3,opt,name=mediaKey" json:"mediaKey,omitempty"`
	FileEncSha256     []byte                                                          `protobuf:"bytes,4,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	DirectPath        *string                                                         `protobuf:"bytes,5,opt,name=directPath" json:"directPath,omitempty"`
	SyncType          *HistorySyncNotification_HistorySyncNotificationHistorySyncType `protobuf:"varint,6,opt,name=syncType,enum=proto.HistorySyncNotification_HistorySyncNotificationHistorySyncType" json:"syncType,omitempty"`
	ChunkOrder        *uint32                                                         `protobuf:"varint,7,opt,name=chunkOrder" json:"chunkOrder,omitempty"`
	OriginalMessageId *string                                                         `protobuf:"bytes,8,opt,name=originalMessageId" json:"originalMessageId,omitempty"`
}

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

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

func (*HistorySyncNotification) ProtoMessage() {}

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

// Deprecated: Use HistorySyncNotification.ProtoReflect.Descriptor instead.
func (*HistorySyncNotification) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{29}
}

func (x *HistorySyncNotification) GetFileSha256() []byte {
	if x != nil {
		return x.FileSha256
	}
	return nil
}

func (x *HistorySyncNotification) GetFileLength() uint64 {
	if x != nil && x.FileLength != nil {
		return *x.FileLength
	}
	return 0
}

func (x *HistorySyncNotification) GetMediaKey() []byte {
	if x != nil {
		return x.MediaKey
	}
	return nil
}

func (x *HistorySyncNotification) GetFileEncSha256() []byte {
	if x != nil {
		return x.FileEncSha256
	}
	return nil
}

func (x *HistorySyncNotification) GetDirectPath() string {
	if x != nil && x.DirectPath != nil {
		return *x.DirectPath
	}
	return ""
}

func (x *HistorySyncNotification) GetSyncType() HistorySyncNotification_HistorySyncNotificationHistorySyncType {
	if x != nil && x.SyncType != nil {
		return *x.SyncType
	}
	return HistorySyncNotification_INITIAL_BOOTSTRAP
}

func (x *HistorySyncNotification) GetChunkOrder() uint32 {
	if x != nil && x.ChunkOrder != nil {
		return *x.ChunkOrder
	}
	return 0
}

func (x *HistorySyncNotification) GetOriginalMessageId() string {
	if x != nil && x.OriginalMessageId != nil {
		return *x.OriginalMessageId
	}
	return ""
}

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

	KeyId   *AppStateSyncKeyId   `protobuf:"bytes,1,opt,name=keyId" json:"keyId,omitempty"`
	KeyData *AppStateSyncKeyData `protobuf:"bytes,2,opt,name=keyData" json:"keyData,omitempty"`
}

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

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

func (*AppStateSyncKey) ProtoMessage() {}

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

// Deprecated: Use AppStateSyncKey.ProtoReflect.Descriptor instead.
func (*AppStateSyncKey) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{30}
}

func (x *AppStateSyncKey) GetKeyId() *AppStateSyncKeyId {
	if x != nil {
		return x.KeyId
	}
	return nil
}

func (x *AppStateSyncKey) GetKeyData() *AppStateSyncKeyData {
	if x != nil {
		return x.KeyData
	}
	return nil
}

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

	KeyId []byte `protobuf:"bytes,1,opt,name=keyId" json:"keyId,omitempty"`
}

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

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

func (*AppStateSyncKeyId) ProtoMessage() {}

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

// Deprecated: Use AppStateSyncKeyId.ProtoReflect.Descriptor instead.
func (*AppStateSyncKeyId) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{31}
}

func (x *AppStateSyncKeyId) GetKeyId() []byte {
	if x != nil {
		return x.KeyId
	}
	return nil
}

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

	RawId         *uint32  `protobuf:"varint,1,opt,name=rawId" json:"rawId,omitempty"`
	CurrentIndex  *uint32  `protobuf:"varint,2,opt,name=currentIndex" json:"currentIndex,omitempty"`
	DeviceIndexes []uint32 `protobuf:"varint,3,rep,packed,name=deviceIndexes" json:"deviceIndexes,omitempty"`
}

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

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

func (*AppStateSyncKeyFingerprint) ProtoMessage() {}

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

// Deprecated: Use AppStateSyncKeyFingerprint.ProtoReflect.Descriptor instead.
func (*AppStateSyncKeyFingerprint) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{32}
}

func (x *AppStateSyncKeyFingerprint) GetRawId() uint32 {
	if x != nil && x.RawId != nil {
		return *x.RawId
	}
	return 0
}

func (x *AppStateSyncKeyFingerprint) GetCurrentIndex() uint32 {
	if x != nil && x.CurrentIndex != nil {
		return *x.CurrentIndex
	}
	return 0
}

func (x *AppStateSyncKeyFingerprint) GetDeviceIndexes() []uint32 {
	if x != nil {
		return x.DeviceIndexes
	}
	return nil
}

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

	KeyData     []byte                      `protobuf:"bytes,1,opt,name=keyData" json:"keyData,omitempty"`
	Fingerprint *AppStateSyncKeyFingerprint `protobuf:"bytes,2,opt,name=fingerprint" json:"fingerprint,omitempty"`
	Timestamp   *int64                      `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
}

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

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

func (*AppStateSyncKeyData) ProtoMessage() {}

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

// Deprecated: Use AppStateSyncKeyData.ProtoReflect.Descriptor instead.
func (*AppStateSyncKeyData) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{33}
}

func (x *AppStateSyncKeyData) GetKeyData() []byte {
	if x != nil {
		return x.KeyData
	}
	return nil
}

func (x *AppStateSyncKeyData) GetFingerprint() *AppStateSyncKeyFingerprint {
	if x != nil {
		return x.Fingerprint
	}
	return nil
}

func (x *AppStateSyncKeyData) GetTimestamp() int64 {
	if x != nil && x.Timestamp != nil {
		return *x.Timestamp
	}
	return 0
}

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

	Keys []*AppStateSyncKey `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"`
}

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

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

func (*AppStateSyncKeyShare) ProtoMessage() {}

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

// Deprecated: Use AppStateSyncKeyShare.ProtoReflect.Descriptor instead.
func (*AppStateSyncKeyShare) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{34}
}

func (x *AppStateSyncKeyShare) GetKeys() []*AppStateSyncKey {
	if x != nil {
		return x.Keys
	}
	return nil
}

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

	KeyIds []*AppStateSyncKeyId `protobuf:"bytes,1,rep,name=keyIds" json:"keyIds,omitempty"`
}

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

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

func (*AppStateSyncKeyRequest) ProtoMessage() {}

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

// Deprecated: Use AppStateSyncKeyRequest.ProtoReflect.Descriptor instead.
func (*AppStateSyncKeyRequest) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{35}
}

func (x *AppStateSyncKeyRequest) GetKeyIds() []*AppStateSyncKeyId {
	if x != nil {
		return x.KeyIds
	}
	return nil
}

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

	CollectionNames []string `protobuf:"bytes,1,rep,name=collectionNames" json:"collectionNames,omitempty"`
	Timestamp       *int64   `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
}

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

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

func (*AppStateFatalExceptionNotification) ProtoMessage() {}

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

// Deprecated: Use AppStateFatalExceptionNotification.ProtoReflect.Descriptor instead.
func (*AppStateFatalExceptionNotification) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{36}
}

func (x *AppStateFatalExceptionNotification) GetCollectionNames() []string {
	if x != nil {
		return x.CollectionNames
	}
	return nil
}

func (x *AppStateFatalExceptionNotification) GetTimestamp() int64 {
	if x != nil && x.Timestamp != nil {
		return *x.Timestamp
	}
	return 0
}

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

	SecurityNotificationEnabled *bool `protobuf:"varint,1,opt,name=securityNotificationEnabled" json:"securityNotificationEnabled,omitempty"`
}

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

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

func (*InitialSecurityNotificationSettingSync) ProtoMessage() {}

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

// Deprecated: Use InitialSecurityNotificationSettingSync.ProtoReflect.Descriptor instead.
func (*InitialSecurityNotificationSettingSync) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{37}
}

func (x *InitialSecurityNotificationSettingSync) GetSecurityNotificationEnabled() bool {
	if x != nil && x.SecurityNotificationEnabled != nil {
		return *x.SecurityNotificationEnabled
	}
	return false
}

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

	DisplayName *string           `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"`
	Contacts    []*ContactMessage `protobuf:"bytes,2,rep,name=contacts" json:"contacts,omitempty"`
	ContextInfo *ContextInfo      `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
}

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

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

func (*ContactsArrayMessage) ProtoMessage() {}

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

// Deprecated: Use ContactsArrayMessage.ProtoReflect.Descriptor instead.
func (*ContactsArrayMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{38}
}

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

func (x *ContactsArrayMessage) GetContacts() []*ContactMessage {
	if x != nil {
		return x.Contacts
	}
	return nil
}

func (x *ContactsArrayMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

	CurrencyCode *string `protobuf:"bytes,1,opt,name=currencyCode" json:"currencyCode,omitempty"`
	Amount1000   *int64  `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"`
}

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

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

func (*HSMCurrency) ProtoMessage() {}

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

// Deprecated: Use HSMCurrency.ProtoReflect.Descriptor instead.
func (*HSMCurrency) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{39}
}

func (x *HSMCurrency) GetCurrencyCode() string {
	if x != nil && x.CurrencyCode != nil {
		return *x.CurrencyCode
	}
	return ""
}

func (x *HSMCurrency) GetAmount1000() int64 {
	if x != nil && x.Amount1000 != nil {
		return *x.Amount1000
	}
	return 0
}

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

	DayOfWeek  *HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType `protobuf:"varint,1,opt,name=dayOfWeek,enum=proto.HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType" json:"dayOfWeek,omitempty"`
	Year       *uint32                                                 `protobuf:"varint,2,opt,name=year" json:"year,omitempty"`
	Month      *uint32                                                 `protobuf:"varint,3,opt,name=month" json:"month,omitempty"`
	DayOfMonth *uint32                                                 `protobuf:"varint,4,opt,name=dayOfMonth" json:"dayOfMonth,omitempty"`
	Hour       *uint32                                                 `protobuf:"varint,5,opt,name=hour" json:"hour,omitempty"`
	Minute     *uint32                                                 `protobuf:"varint,6,opt,name=minute" json:"minute,omitempty"`
	Calendar   *HSMDateTimeComponent_HSMDateTimeComponentCalendarType  `protobuf:"varint,7,opt,name=calendar,enum=proto.HSMDateTimeComponent_HSMDateTimeComponentCalendarType" json:"calendar,omitempty"`
}

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

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

func (*HSMDateTimeComponent) ProtoMessage() {}

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

// Deprecated: Use HSMDateTimeComponent.ProtoReflect.Descriptor instead.
func (*HSMDateTimeComponent) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{40}
}

func (x *HSMDateTimeComponent) GetDayOfWeek() HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType {
	if x != nil && x.DayOfWeek != nil {
		return *x.DayOfWeek
	}
	return HSMDateTimeComponent_MONDAY
}

func (x *HSMDateTimeComponent) GetYear() uint32 {
	if x != nil && x.Year != nil {
		return *x.Year
	}
	return 0
}

func (x *HSMDateTimeComponent) GetMonth() uint32 {
	if x != nil && x.Month != nil {
		return *x.Month
	}
	return 0
}

func (x *HSMDateTimeComponent) GetDayOfMonth() uint32 {
	if x != nil && x.DayOfMonth != nil {
		return *x.DayOfMonth
	}
	return 0
}

func (x *HSMDateTimeComponent) GetHour() uint32 {
	if x != nil && x.Hour != nil {
		return *x.Hour
	}
	return 0
}

func (x *HSMDateTimeComponent) GetMinute() uint32 {
	if x != nil && x.Minute != nil {
		return *x.Minute
	}
	return 0
}

func (x *HSMDateTimeComponent) GetCalendar() HSMDateTimeComponent_HSMDateTimeComponentCalendarType {
	if x != nil && x.Calendar != nil {
		return *x.Calendar
	}
	return HSMDateTimeComponent_GREGORIAN
}

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

	Timestamp *int64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
}

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

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

func (*HSMDateTimeUnixEpoch) ProtoMessage() {}

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

// Deprecated: Use HSMDateTimeUnixEpoch.ProtoReflect.Descriptor instead.
func (*HSMDateTimeUnixEpoch) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{41}
}

func (x *HSMDateTimeUnixEpoch) GetTimestamp() int64 {
	if x != nil && x.Timestamp != nil {
		return *x.Timestamp
	}
	return 0
}

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

	// Types that are assignable to DatetimeOneof:
	//	*HSMDateTime_Component
	//	*HSMDateTime_UnixEpoch
	DatetimeOneof isHSMDateTime_DatetimeOneof `protobuf_oneof:"datetimeOneof"`
}

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

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

func (*HSMDateTime) ProtoMessage() {}

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

// Deprecated: Use HSMDateTime.ProtoReflect.Descriptor instead.
func (*HSMDateTime) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{42}
}

func (m *HSMDateTime) GetDatetimeOneof() isHSMDateTime_DatetimeOneof {
	if m != nil {
		return m.DatetimeOneof
	}
	return nil
}

func (x *HSMDateTime) GetComponent() *HSMDateTimeComponent {
	if x, ok := x.GetDatetimeOneof().(*HSMDateTime_Component); ok {
		return x.Component
	}
	return nil
}

func (x *HSMDateTime) GetUnixEpoch() *HSMDateTimeUnixEpoch {
	if x, ok := x.GetDatetimeOneof().(*HSMDateTime_UnixEpoch); ok {
		return x.UnixEpoch
	}
	return nil
}

type isHSMDateTime_DatetimeOneof interface {
	isHSMDateTime_DatetimeOneof()
}

type HSMDateTime_Component struct {
	Component *HSMDateTimeComponent `protobuf:"bytes,1,opt,name=component,oneof"`
}

type HSMDateTime_UnixEpoch struct {
	UnixEpoch *HSMDateTimeUnixEpoch `protobuf:"bytes,2,opt,name=unixEpoch,oneof"`
}

func (*HSMDateTime_Component) isHSMDateTime_DatetimeOneof() {}

func (*HSMDateTime_UnixEpoch) isHSMDateTime_DatetimeOneof() {}

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

	Default *string `protobuf:"bytes,1,opt,name=default" json:"default,omitempty"`
	// Types that are assignable to ParamOneof:
	//	*HSMLocalizableParameter_Currency
	//	*HSMLocalizableParameter_DateTime
	ParamOneof isHSMLocalizableParameter_ParamOneof `protobuf_oneof:"paramOneof"`
}

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

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

func (*HSMLocalizableParameter) ProtoMessage() {}

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

// Deprecated: Use HSMLocalizableParameter.ProtoReflect.Descriptor instead.
func (*HSMLocalizableParameter) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{43}
}

func (x *HSMLocalizableParameter) GetDefault() string {
	if x != nil && x.Default != nil {
		return *x.Default
	}
	return ""
}

func (m *HSMLocalizableParameter) GetParamOneof() isHSMLocalizableParameter_ParamOneof {
	if m != nil {
		return m.ParamOneof
	}
	return nil
}

func (x *HSMLocalizableParameter) GetCurrency() *HSMCurrency {
	if x, ok := x.GetParamOneof().(*HSMLocalizableParameter_Currency); ok {
		return x.Currency
	}
	return nil
}

func (x *HSMLocalizableParameter) GetDateTime() *HSMDateTime {
	if x, ok := x.GetParamOneof().(*HSMLocalizableParameter_DateTime); ok {
		return x.DateTime
	}
	return nil
}

type isHSMLocalizableParameter_ParamOneof interface {
	isHSMLocalizableParameter_ParamOneof()
}

type HSMLocalizableParameter_Currency struct {
	Currency *HSMCurrency `protobuf:"bytes,2,opt,name=currency,oneof"`
}

type HSMLocalizableParameter_DateTime struct {
	DateTime *HSMDateTime `protobuf:"bytes,3,opt,name=dateTime,oneof"`
}

func (*HSMLocalizableParameter_Currency) isHSMLocalizableParameter_ParamOneof() {}

func (*HSMLocalizableParameter_DateTime) isHSMLocalizableParameter_ParamOneof() {}

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

	Namespace         *string                    `protobuf:"bytes,1,opt,name=namespace" json:"namespace,omitempty"`
	ElementName       *string                    `protobuf:"bytes,2,opt,name=elementName" json:"elementName,omitempty"`
	Params            []string                   `protobuf:"bytes,3,rep,name=params" json:"params,omitempty"`
	FallbackLg        *string                    `protobuf:"bytes,4,opt,name=fallbackLg" json:"fallbackLg,omitempty"`
	FallbackLc        *string                    `protobuf:"bytes,5,opt,name=fallbackLc" json:"fallbackLc,omitempty"`
	LocalizableParams []*HSMLocalizableParameter `protobuf:"bytes,6,rep,name=localizableParams" json:"localizableParams,omitempty"`
	DeterministicLg   *string                    `protobuf:"bytes,7,opt,name=deterministicLg" json:"deterministicLg,omitempty"`
	DeterministicLc   *string                    `protobuf:"bytes,8,opt,name=deterministicLc" json:"deterministicLc,omitempty"`
	HydratedHsm       *TemplateMessage           `protobuf:"bytes,9,opt,name=hydratedHsm" json:"hydratedHsm,omitempty"`
}

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

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

func (*HighlyStructuredMessage) ProtoMessage() {}

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

// Deprecated: Use HighlyStructuredMessage.ProtoReflect.Descriptor instead.
func (*HighlyStructuredMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{44}
}

func (x *HighlyStructuredMessage) GetNamespace() string {
	if x != nil && x.Namespace != nil {
		return *x.Namespace
	}
	return ""
}

func (x *HighlyStructuredMessage) GetElementName() string {
	if x != nil && x.ElementName != nil {
		return *x.ElementName
	}
	return ""
}

func (x *HighlyStructuredMessage) GetParams() []string {
	if x != nil {
		return x.Params
	}
	return nil
}

func (x *HighlyStructuredMessage) GetFallbackLg() string {
	if x != nil && x.FallbackLg != nil {
		return *x.FallbackLg
	}
	return ""
}

func (x *HighlyStructuredMessage) GetFallbackLc() string {
	if x != nil && x.FallbackLc != nil {
		return *x.FallbackLc
	}
	return ""
}

func (x *HighlyStructuredMessage) GetLocalizableParams() []*HSMLocalizableParameter {
	if x != nil {
		return x.LocalizableParams
	}
	return nil
}

func (x *HighlyStructuredMessage) GetDeterministicLg() string {
	if x != nil && x.DeterministicLg != nil {
		return *x.DeterministicLg
	}
	return ""
}

func (x *HighlyStructuredMessage) GetDeterministicLc() string {
	if x != nil && x.DeterministicLc != nil {
		return *x.DeterministicLc
	}
	return ""
}

func (x *HighlyStructuredMessage) GetHydratedHsm() *TemplateMessage {
	if x != nil {
		return x.HydratedHsm
	}
	return nil
}

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

	NoteMessage       *Message    `protobuf:"bytes,2,opt,name=noteMessage" json:"noteMessage,omitempty"`
	RequestMessageKey *MessageKey `protobuf:"bytes,3,opt,name=requestMessageKey" json:"requestMessageKey,omitempty"`
}

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

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

func (*SendPaymentMessage) ProtoMessage() {}

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

// Deprecated: Use SendPaymentMessage.ProtoReflect.Descriptor instead.
func (*SendPaymentMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{45}
}

func (x *SendPaymentMessage) GetNoteMessage() *Message {
	if x != nil {
		return x.NoteMessage
	}
	return nil
}

func (x *SendPaymentMessage) GetRequestMessageKey() *MessageKey {
	if x != nil {
		return x.RequestMessageKey
	}
	return nil
}

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

	NoteMessage         *Message      `protobuf:"bytes,4,opt,name=noteMessage" json:"noteMessage,omitempty"`
	CurrencyCodeIso4217 *string       `protobuf:"bytes,1,opt,name=currencyCodeIso4217" json:"currencyCodeIso4217,omitempty"`
	Amount1000          *uint64       `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"`
	RequestFrom         *string       `protobuf:"bytes,3,opt,name=requestFrom" json:"requestFrom,omitempty"`
	ExpiryTimestamp     *int64        `protobuf:"varint,5,opt,name=expiryTimestamp" json:"expiryTimestamp,omitempty"`
	Amount              *PaymentMoney `protobuf:"bytes,6,opt,name=amount" json:"amount,omitempty"`
}

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

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

func (*RequestPaymentMessage) ProtoMessage() {}

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

// Deprecated: Use RequestPaymentMessage.ProtoReflect.Descriptor instead.
func (*RequestPaymentMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{46}
}

func (x *RequestPaymentMessage) GetNoteMessage() *Message {
	if x != nil {
		return x.NoteMessage
	}
	return nil
}

func (x *RequestPaymentMessage) GetCurrencyCodeIso4217() string {
	if x != nil && x.CurrencyCodeIso4217 != nil {
		return *x.CurrencyCodeIso4217
	}
	return ""
}

func (x *RequestPaymentMessage) GetAmount1000() uint64 {
	if x != nil && x.Amount1000 != nil {
		return *x.Amount1000
	}
	return 0
}

func (x *RequestPaymentMessage) GetRequestFrom() string {
	if x != nil && x.RequestFrom != nil {
		return *x.RequestFrom
	}
	return ""
}

func (x *RequestPaymentMessage) GetExpiryTimestamp() int64 {
	if x != nil && x.ExpiryTimestamp != nil {
		return *x.ExpiryTimestamp
	}
	return 0
}

func (x *RequestPaymentMessage) GetAmount() *PaymentMoney {
	if x != nil {
		return x.Amount
	}
	return nil
}

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

	Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
}

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

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

func (*DeclinePaymentRequestMessage) ProtoMessage() {}

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

// Deprecated: Use DeclinePaymentRequestMessage.ProtoReflect.Descriptor instead.
func (*DeclinePaymentRequestMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{47}
}

func (x *DeclinePaymentRequestMessage) GetKey() *MessageKey {
	if x != nil {
		return x.Key
	}
	return nil
}

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

	Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
}

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

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

func (*CancelPaymentRequestMessage) ProtoMessage() {}

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

// Deprecated: Use CancelPaymentRequestMessage.ProtoReflect.Descriptor instead.
func (*CancelPaymentRequestMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{48}
}

func (x *CancelPaymentRequestMessage) GetKey() *MessageKey {
	if x != nil {
		return x.Key
	}
	return nil
}

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

	DegreesLatitude                   *float64     `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"`
	DegreesLongitude                  *float64     `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"`
	AccuracyInMeters                  *uint32      `protobuf:"varint,3,opt,name=accuracyInMeters" json:"accuracyInMeters,omitempty"`
	SpeedInMps                        *float32     `protobuf:"fixed32,4,opt,name=speedInMps" json:"speedInMps,omitempty"`
	DegreesClockwiseFromMagneticNorth *uint32      `protobuf:"varint,5,opt,name=degreesClockwiseFromMagneticNorth" json:"degreesClockwiseFromMagneticNorth,omitempty"`
	Caption                           *string      `protobuf:"bytes,6,opt,name=caption" json:"caption,omitempty"`
	SequenceNumber                    *int64       `protobuf:"varint,7,opt,name=sequenceNumber" json:"sequenceNumber,omitempty"`
	TimeOffset                        *uint32      `protobuf:"varint,8,opt,name=timeOffset" json:"timeOffset,omitempty"`
	JpegThumbnail                     []byte       `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo                       *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
}

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

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

func (*LiveLocationMessage) ProtoMessage() {}

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

// Deprecated: Use LiveLocationMessage.ProtoReflect.Descriptor instead.
func (*LiveLocationMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{49}
}

func (x *LiveLocationMessage) GetDegreesLatitude() float64 {
	if x != nil && x.DegreesLatitude != nil {
		return *x.DegreesLatitude
	}
	return 0
}

func (x *LiveLocationMessage) GetDegreesLongitude() float64 {
	if x != nil && x.DegreesLongitude != nil {
		return *x.DegreesLongitude
	}
	return 0
}

func (x *LiveLocationMessage) GetAccuracyInMeters() uint32 {
	if x != nil && x.AccuracyInMeters != nil {
		return *x.AccuracyInMeters
	}
	return 0
}

func (x *LiveLocationMessage) GetSpeedInMps() float32 {
	if x != nil && x.SpeedInMps != nil {
		return *x.SpeedInMps
	}
	return 0
}

func (x *LiveLocationMessage) GetDegreesClockwiseFromMagneticNorth() uint32 {
	if x != nil && x.DegreesClockwiseFromMagneticNorth != nil {
		return *x.DegreesClockwiseFromMagneticNorth
	}
	return 0
}

func (x *LiveLocationMessage) GetCaption() string {
	if x != nil && x.Caption != nil {
		return *x.Caption
	}
	return ""
}

func (x *LiveLocationMessage) GetSequenceNumber() int64 {
	if x != nil && x.SequenceNumber != nil {
		return *x.SequenceNumber
	}
	return 0
}

func (x *LiveLocationMessage) GetTimeOffset() uint32 {
	if x != nil && x.TimeOffset != nil {
		return *x.TimeOffset
	}
	return 0
}

func (x *LiveLocationMessage) GetJpegThumbnail() []byte {
	if x != nil {
		return x.JpegThumbnail
	}
	return nil
}

func (x *LiveLocationMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

	Url               *string      `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	FileSha256        []byte       `protobuf:"bytes,2,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileEncSha256     []byte       `protobuf:"bytes,3,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	MediaKey          []byte       `protobuf:"bytes,4,opt,name=mediaKey" json:"mediaKey,omitempty"`
	Mimetype          *string      `protobuf:"bytes,5,opt,name=mimetype" json:"mimetype,omitempty"`
	Height            *uint32      `protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
	Width             *uint32      `protobuf:"varint,7,opt,name=width" json:"width,omitempty"`
	DirectPath        *string      `protobuf:"bytes,8,opt,name=directPath" json:"directPath,omitempty"`
	FileLength        *uint64      `protobuf:"varint,9,opt,name=fileLength" json:"fileLength,omitempty"`
	MediaKeyTimestamp *int64       `protobuf:"varint,10,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	FirstFrameLength  *uint32      `protobuf:"varint,11,opt,name=firstFrameLength" json:"firstFrameLength,omitempty"`
	FirstFrameSidecar []byte       `protobuf:"bytes,12,opt,name=firstFrameSidecar" json:"firstFrameSidecar,omitempty"`
	IsAnimated        *bool        `protobuf:"varint,13,opt,name=isAnimated" json:"isAnimated,omitempty"`
	PngThumbnail      []byte       `protobuf:"bytes,16,opt,name=pngThumbnail" json:"pngThumbnail,omitempty"`
	ContextInfo       *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
}

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

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

func (*StickerMessage) ProtoMessage() {}

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

// Deprecated: Use StickerMessage.ProtoReflect.Descriptor instead.
func (*StickerMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{50}
}

func (x *StickerMessage) GetUrl() string {
	if x != nil && x.Url != nil {
		return *x.Url
	}
	return ""
}

func (x *StickerMessage) GetFileSha256() []byte {
	if x != nil {
		return x.FileSha256
	}
	return nil
}

func (x *StickerMessage) GetFileEncSha256() []byte {
	if x != nil {
		return x.FileEncSha256
	}
	return nil
}

func (x *StickerMessage) GetMediaKey() []byte {
	if x != nil {
		return x.MediaKey
	}
	return nil
}

func (x *StickerMessage) GetMimetype() string {
	if x != nil && x.Mimetype != nil {
		return *x.Mimetype
	}
	return ""
}

func (x *StickerMessage) GetHeight() uint32 {
	if x != nil && x.Height != nil {
		return *x.Height
	}
	return 0
}

func (x *StickerMessage) GetWidth() uint32 {
	if x != nil && x.Width != nil {
		return *x.Width
	}
	return 0
}

func (x *StickerMessage) GetDirectPath() string {
	if x != nil && x.DirectPath != nil {
		return *x.DirectPath
	}
	return ""
}

func (x *StickerMessage) GetFileLength() uint64 {
	if x != nil && x.FileLength != nil {
		return *x.FileLength
	}
	return 0
}

func (x *StickerMessage) GetMediaKeyTimestamp() int64 {
	if x != nil && x.MediaKeyTimestamp != nil {
		return *x.MediaKeyTimestamp
	}
	return 0
}

func (x *StickerMessage) GetFirstFrameLength() uint32 {
	if x != nil && x.FirstFrameLength != nil {
		return *x.FirstFrameLength
	}
	return 0
}

func (x *StickerMessage) GetFirstFrameSidecar() []byte {
	if x != nil {
		return x.FirstFrameSidecar
	}
	return nil
}

func (x *StickerMessage) GetIsAnimated() bool {
	if x != nil && x.IsAnimated != nil {
		return *x.IsAnimated
	}
	return false
}

func (x *StickerMessage) GetPngThumbnail() []byte {
	if x != nil {
		return x.PngThumbnail
	}
	return nil
}

func (x *StickerMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

	Content *HighlyStructuredMessage `protobuf:"bytes,6,opt,name=content" json:"content,omitempty"`
	Footer  *HighlyStructuredMessage `protobuf:"bytes,7,opt,name=footer" json:"footer,omitempty"`
	Buttons []*TemplateButton        `protobuf:"bytes,8,rep,name=buttons" json:"buttons,omitempty"`
	// Types that are assignable to Title:
	//	*FourRowTemplate_DocumentMessage
	//	*FourRowTemplate_HighlyStructuredMessage
	//	*FourRowTemplate_ImageMessage
	//	*FourRowTemplate_VideoMessage
	//	*FourRowTemplate_LocationMessage
	Title isFourRowTemplate_Title `protobuf_oneof:"title"`
}

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

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

func (*FourRowTemplate) ProtoMessage() {}

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

// Deprecated: Use FourRowTemplate.ProtoReflect.Descriptor instead.
func (*FourRowTemplate) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{51}
}

func (x *FourRowTemplate) GetContent() *HighlyStructuredMessage {
	if x != nil {
		return x.Content
	}
	return nil
}

func (x *FourRowTemplate) GetFooter() *HighlyStructuredMessage {
	if x != nil {
		return x.Footer
	}
	return nil
}

func (x *FourRowTemplate) GetButtons() []*TemplateButton {
	if x != nil {
		return x.Buttons
	}
	return nil
}

func (m *FourRowTemplate) GetTitle() isFourRowTemplate_Title {
	if m != nil {
		return m.Title
	}
	return nil
}

func (x *FourRowTemplate) GetDocumentMessage() *DocumentMessage {
	if x, ok := x.GetTitle().(*FourRowTemplate_DocumentMessage); ok {
		return x.DocumentMessage
	}
	return nil
}

func (x *FourRowTemplate) GetHighlyStructuredMessage() *HighlyStructuredMessage {
	if x, ok := x.GetTitle().(*FourRowTemplate_HighlyStructuredMessage); ok {
		return x.HighlyStructuredMessage
	}
	return nil
}

func (x *FourRowTemplate) GetImageMessage() *ImageMessage {
	if x, ok := x.GetTitle().(*FourRowTemplate_ImageMessage); ok {
		return x.ImageMessage
	}
	return nil
}

func (x *FourRowTemplate) GetVideoMessage() *VideoMessage {
	if x, ok := x.GetTitle().(*FourRowTemplate_VideoMessage); ok {
		return x.VideoMessage
	}
	return nil
}

func (x *FourRowTemplate) GetLocationMessage() *LocationMessage {
	if x, ok := x.GetTitle().(*FourRowTemplate_LocationMessage); ok {
		return x.LocationMessage
	}
	return nil
}

type isFourRowTemplate_Title interface {
	isFourRowTemplate_Title()
}

type FourRowTemplate_DocumentMessage struct {
	DocumentMessage *DocumentMessage `protobuf:"bytes,1,opt,name=documentMessage,oneof"`
}

type FourRowTemplate_HighlyStructuredMessage struct {
	HighlyStructuredMessage *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=highlyStructuredMessage,oneof"`
}

type FourRowTemplate_ImageMessage struct {
	ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage,oneof"`
}

type FourRowTemplate_VideoMessage struct {
	VideoMessage *VideoMessage `protobuf:"bytes,4,opt,name=videoMessage,oneof"`
}

type FourRowTemplate_LocationMessage struct {
	LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage,oneof"`
}

func (*FourRowTemplate_DocumentMessage) isFourRowTemplate_Title() {}

func (*FourRowTemplate_HighlyStructuredMessage) isFourRowTemplate_Title() {}

func (*FourRowTemplate_ImageMessage) isFourRowTemplate_Title() {}

func (*FourRowTemplate_VideoMessage) isFourRowTemplate_Title() {}

func (*FourRowTemplate_LocationMessage) isFourRowTemplate_Title() {}

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

	HydratedContentText *string                   `protobuf:"bytes,6,opt,name=hydratedContentText" json:"hydratedContentText,omitempty"`
	HydratedFooterText  *string                   `protobuf:"bytes,7,opt,name=hydratedFooterText" json:"hydratedFooterText,omitempty"`
	HydratedButtons     []*HydratedTemplateButton `protobuf:"bytes,8,rep,name=hydratedButtons" json:"hydratedButtons,omitempty"`
	TemplateId          *string                   `protobuf:"bytes,9,opt,name=templateId" json:"templateId,omitempty"`
	// Types that are assignable to Title:
	//	*HydratedFourRowTemplate_DocumentMessage
	//	*HydratedFourRowTemplate_HydratedTitleText
	//	*HydratedFourRowTemplate_ImageMessage
	//	*HydratedFourRowTemplate_VideoMessage
	//	*HydratedFourRowTemplate_LocationMessage
	Title isHydratedFourRowTemplate_Title `protobuf_oneof:"title"`
}

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

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

func (*HydratedFourRowTemplate) ProtoMessage() {}

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

// Deprecated: Use HydratedFourRowTemplate.ProtoReflect.Descriptor instead.
func (*HydratedFourRowTemplate) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{52}
}

func (x *HydratedFourRowTemplate) GetHydratedContentText() string {
	if x != nil && x.HydratedContentText != nil {
		return *x.HydratedContentText
	}
	return ""
}

func (x *HydratedFourRowTemplate) GetHydratedFooterText() string {
	if x != nil && x.HydratedFooterText != nil {
		return *x.HydratedFooterText
	}
	return ""
}

func (x *HydratedFourRowTemplate) GetHydratedButtons() []*HydratedTemplateButton {
	if x != nil {
		return x.HydratedButtons
	}
	return nil
}

func (x *HydratedFourRowTemplate) GetTemplateId() string {
	if x != nil && x.TemplateId != nil {
		return *x.TemplateId
	}
	return ""
}

func (m *HydratedFourRowTemplate) GetTitle() isHydratedFourRowTemplate_Title {
	if m != nil {
		return m.Title
	}
	return nil
}

func (x *HydratedFourRowTemplate) GetDocumentMessage() *DocumentMessage {
	if x, ok := x.GetTitle().(*HydratedFourRowTemplate_DocumentMessage); ok {
		return x.DocumentMessage
	}
	return nil
}

func (x *HydratedFourRowTemplate) GetHydratedTitleText() string {
	if x, ok := x.GetTitle().(*HydratedFourRowTemplate_HydratedTitleText); ok {
		return x.HydratedTitleText
	}
	return ""
}

func (x *HydratedFourRowTemplate) GetImageMessage() *ImageMessage {
	if x, ok := x.GetTitle().(*HydratedFourRowTemplate_ImageMessage); ok {
		return x.ImageMessage
	}
	return nil
}

func (x *HydratedFourRowTemplate) GetVideoMessage() *VideoMessage {
	if x, ok := x.GetTitle().(*HydratedFourRowTemplate_VideoMessage); ok {
		return x.VideoMessage
	}
	return nil
}

func (x *HydratedFourRowTemplate) GetLocationMessage() *LocationMessage {
	if x, ok := x.GetTitle().(*HydratedFourRowTemplate_LocationMessage); ok {
		return x.LocationMessage
	}
	return nil
}

type isHydratedFourRowTemplate_Title interface {
	isHydratedFourRowTemplate_Title()
}

type HydratedFourRowTemplate_DocumentMessage struct {
	DocumentMessage *DocumentMessage `protobuf:"bytes,1,opt,name=documentMessage,oneof"`
}

type HydratedFourRowTemplate_HydratedTitleText struct {
	HydratedTitleText string `protobuf:"bytes,2,opt,name=hydratedTitleText,oneof"`
}

type HydratedFourRowTemplate_ImageMessage struct {
	ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage,oneof"`
}

type HydratedFourRowTemplate_VideoMessage struct {
	VideoMessage *VideoMessage `protobuf:"bytes,4,opt,name=videoMessage,oneof"`
}

type HydratedFourRowTemplate_LocationMessage struct {
	LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage,oneof"`
}

func (*HydratedFourRowTemplate_DocumentMessage) isHydratedFourRowTemplate_Title() {}

func (*HydratedFourRowTemplate_HydratedTitleText) isHydratedFourRowTemplate_Title() {}

func (*HydratedFourRowTemplate_ImageMessage) isHydratedFourRowTemplate_Title() {}

func (*HydratedFourRowTemplate_VideoMessage) isHydratedFourRowTemplate_Title() {}

func (*HydratedFourRowTemplate_LocationMessage) isHydratedFourRowTemplate_Title() {}

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

	ContextInfo      *ContextInfo             `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"`
	HydratedTemplate *HydratedFourRowTemplate `protobuf:"bytes,4,opt,name=hydratedTemplate" json:"hydratedTemplate,omitempty"`
	// Types that are assignable to Format:
	//	*TemplateMessage_FourRowTemplate
	//	*TemplateMessage_HydratedFourRowTemplate
	Format isTemplateMessage_Format `protobuf_oneof:"format"`
}

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

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

func (*TemplateMessage) ProtoMessage() {}

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

// Deprecated: Use TemplateMessage.ProtoReflect.Descriptor instead.
func (*TemplateMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{53}
}

func (x *TemplateMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *TemplateMessage) GetHydratedTemplate() *HydratedFourRowTemplate {
	if x != nil {
		return x.HydratedTemplate
	}
	return nil
}

func (m *TemplateMessage) GetFormat() isTemplateMessage_Format {
	if m != nil {
		return m.Format
	}
	return nil
}

func (x *TemplateMessage) GetFourRowTemplate() *FourRowTemplate {
	if x, ok := x.GetFormat().(*TemplateMessage_FourRowTemplate); ok {
		return x.FourRowTemplate
	}
	return nil
}

func (x *TemplateMessage) GetHydratedFourRowTemplate() *HydratedFourRowTemplate {
	if x, ok := x.GetFormat().(*TemplateMessage_HydratedFourRowTemplate); ok {
		return x.HydratedFourRowTemplate
	}
	return nil
}

type isTemplateMessage_Format interface {
	isTemplateMessage_Format()
}

type TemplateMessage_FourRowTemplate struct {
	FourRowTemplate *FourRowTemplate `protobuf:"bytes,1,opt,name=fourRowTemplate,oneof"`
}

type TemplateMessage_HydratedFourRowTemplate struct {
	HydratedFourRowTemplate *HydratedFourRowTemplate `protobuf:"bytes,2,opt,name=hydratedFourRowTemplate,oneof"`
}

func (*TemplateMessage_FourRowTemplate) isTemplateMessage_Format() {}

func (*TemplateMessage_HydratedFourRowTemplate) isTemplateMessage_Format() {}

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

	SelectedId          *string      `protobuf:"bytes,1,opt,name=selectedId" json:"selectedId,omitempty"`
	SelectedDisplayText *string      `protobuf:"bytes,2,opt,name=selectedDisplayText" json:"selectedDisplayText,omitempty"`
	ContextInfo         *ContextInfo `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"`
	SelectedIndex       *uint32      `protobuf:"varint,4,opt,name=selectedIndex" json:"selectedIndex,omitempty"`
}

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

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

func (*TemplateButtonReplyMessage) ProtoMessage() {}

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

// Deprecated: Use TemplateButtonReplyMessage.ProtoReflect.Descriptor instead.
func (*TemplateButtonReplyMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{54}
}

func (x *TemplateButtonReplyMessage) GetSelectedId() string {
	if x != nil && x.SelectedId != nil {
		return *x.SelectedId
	}
	return ""
}

func (x *TemplateButtonReplyMessage) GetSelectedDisplayText() string {
	if x != nil && x.SelectedDisplayText != nil {
		return *x.SelectedDisplayText
	}
	return ""
}

func (x *TemplateButtonReplyMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *TemplateButtonReplyMessage) GetSelectedIndex() uint32 {
	if x != nil && x.SelectedIndex != nil {
		return *x.SelectedIndex
	}
	return 0
}

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

	CatalogImage *ImageMessage `protobuf:"bytes,1,opt,name=catalogImage" json:"catalogImage,omitempty"`
	Title        *string       `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"`
	Description  *string       `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
}

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

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

func (*CatalogSnapshot) ProtoMessage() {}

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

// Deprecated: Use CatalogSnapshot.ProtoReflect.Descriptor instead.
func (*CatalogSnapshot) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{55}
}

func (x *CatalogSnapshot) GetCatalogImage() *ImageMessage {
	if x != nil {
		return x.CatalogImage
	}
	return nil
}

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

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

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

	ProductImage      *ImageMessage `protobuf:"bytes,1,opt,name=productImage" json:"productImage,omitempty"`
	ProductId         *string       `protobuf:"bytes,2,opt,name=productId" json:"productId,omitempty"`
	Title             *string       `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"`
	Description       *string       `protobuf:"bytes,4,opt,name=description" json:"description,omitempty"`
	CurrencyCode      *string       `protobuf:"bytes,5,opt,name=currencyCode" json:"currencyCode,omitempty"`
	PriceAmount1000   *int64        `protobuf:"varint,6,opt,name=priceAmount1000" json:"priceAmount1000,omitempty"`
	RetailerId        *string       `protobuf:"bytes,7,opt,name=retailerId" json:"retailerId,omitempty"`
	Url               *string       `protobuf:"bytes,8,opt,name=url" json:"url,omitempty"`
	ProductImageCount *uint32       `protobuf:"varint,9,opt,name=productImageCount" json:"productImageCount,omitempty"`
	FirstImageId      *string       `protobuf:"bytes,11,opt,name=firstImageId" json:"firstImageId,omitempty"`
}

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

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

func (*ProductSnapshot) ProtoMessage() {}

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

// Deprecated: Use ProductSnapshot.ProtoReflect.Descriptor instead.
func (*ProductSnapshot) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{56}
}

func (x *ProductSnapshot) GetProductImage() *ImageMessage {
	if x != nil {
		return x.ProductImage
	}
	return nil
}

func (x *ProductSnapshot) GetProductId() string {
	if x != nil && x.ProductId != nil {
		return *x.ProductId
	}
	return ""
}

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

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

func (x *ProductSnapshot) GetCurrencyCode() string {
	if x != nil && x.CurrencyCode != nil {
		return *x.CurrencyCode
	}
	return ""
}

func (x *ProductSnapshot) GetPriceAmount1000() int64 {
	if x != nil && x.PriceAmount1000 != nil {
		return *x.PriceAmount1000
	}
	return 0
}

func (x *ProductSnapshot) GetRetailerId() string {
	if x != nil && x.RetailerId != nil {
		return *x.RetailerId
	}
	return ""
}

func (x *ProductSnapshot) GetUrl() string {
	if x != nil && x.Url != nil {
		return *x.Url
	}
	return ""
}

func (x *ProductSnapshot) GetProductImageCount() uint32 {
	if x != nil && x.ProductImageCount != nil {
		return *x.ProductImageCount
	}
	return 0
}

func (x *ProductSnapshot) GetFirstImageId() string {
	if x != nil && x.FirstImageId != nil {
		return *x.FirstImageId
	}
	return ""
}

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

	Product          *ProductSnapshot `protobuf:"bytes,1,opt,name=product" json:"product,omitempty"`
	BusinessOwnerJid *string          `protobuf:"bytes,2,opt,name=businessOwnerJid" json:"businessOwnerJid,omitempty"`
	Catalog          *CatalogSnapshot `protobuf:"bytes,4,opt,name=catalog" json:"catalog,omitempty"`
	ContextInfo      *ContextInfo     `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
}

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

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

func (*ProductMessage) ProtoMessage() {}

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

// Deprecated: Use ProductMessage.ProtoReflect.Descriptor instead.
func (*ProductMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{57}
}

func (x *ProductMessage) GetProduct() *ProductSnapshot {
	if x != nil {
		return x.Product
	}
	return nil
}

func (x *ProductMessage) GetBusinessOwnerJid() string {
	if x != nil && x.BusinessOwnerJid != nil {
		return *x.BusinessOwnerJid
	}
	return ""
}

func (x *ProductMessage) GetCatalog() *CatalogSnapshot {
	if x != nil {
		return x.Catalog
	}
	return nil
}

func (x *ProductMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

	OrderId           *string                                `protobuf:"bytes,1,opt,name=orderId" json:"orderId,omitempty"`
	Thumbnail         []byte                                 `protobuf:"bytes,2,opt,name=thumbnail" json:"thumbnail,omitempty"`
	ItemCount         *int32                                 `protobuf:"varint,3,opt,name=itemCount" json:"itemCount,omitempty"`
	Status            *OrderMessage_OrderMessageOrderStatus  `protobuf:"varint,4,opt,name=status,enum=proto.OrderMessage_OrderMessageOrderStatus" json:"status,omitempty"`
	Surface           *OrderMessage_OrderMessageOrderSurface `protobuf:"varint,5,opt,name=surface,enum=proto.OrderMessage_OrderMessageOrderSurface" json:"surface,omitempty"`
	Message           *string                                `protobuf:"bytes,6,opt,name=message" json:"message,omitempty"`
	OrderTitle        *string                                `protobuf:"bytes,7,opt,name=orderTitle" json:"orderTitle,omitempty"`
	SellerJid         *string                                `protobuf:"bytes,8,opt,name=sellerJid" json:"sellerJid,omitempty"`
	Token             *string                                `protobuf:"bytes,9,opt,name=token" json:"token,omitempty"`
	TotalAmount1000   *int64                                 `protobuf:"varint,10,opt,name=totalAmount1000" json:"totalAmount1000,omitempty"`
	TotalCurrencyCode *string                                `protobuf:"bytes,11,opt,name=totalCurrencyCode" json:"totalCurrencyCode,omitempty"`
	ContextInfo       *ContextInfo                           `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
}

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

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

func (*OrderMessage) ProtoMessage() {}

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

// Deprecated: Use OrderMessage.ProtoReflect.Descriptor instead.
func (*OrderMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{58}
}

func (x *OrderMessage) GetOrderId() string {
	if x != nil && x.OrderId != nil {
		return *x.OrderId
	}
	return ""
}

func (x *OrderMessage) GetThumbnail() []byte {
	if x != nil {
		return x.Thumbnail
	}
	return nil
}

func (x *OrderMessage) GetItemCount() int32 {
	if x != nil && x.ItemCount != nil {
		return *x.ItemCount
	}
	return 0
}

func (x *OrderMessage) GetStatus() OrderMessage_OrderMessageOrderStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return OrderMessage_INQUIRY
}

func (x *OrderMessage) GetSurface() OrderMessage_OrderMessageOrderSurface {
	if x != nil && x.Surface != nil {
		return *x.Surface
	}
	return OrderMessage_CATALOG
}

func (x *OrderMessage) GetMessage() string {
	if x != nil && x.Message != nil {
		return *x.Message
	}
	return ""
}

func (x *OrderMessage) GetOrderTitle() string {
	if x != nil && x.OrderTitle != nil {
		return *x.OrderTitle
	}
	return ""
}

func (x *OrderMessage) GetSellerJid() string {
	if x != nil && x.SellerJid != nil {
		return *x.SellerJid
	}
	return ""
}

func (x *OrderMessage) GetToken() string {
	if x != nil && x.Token != nil {
		return *x.Token
	}
	return ""
}

func (x *OrderMessage) GetTotalAmount1000() int64 {
	if x != nil && x.TotalAmount1000 != nil {
		return *x.TotalAmount1000
	}
	return 0
}

func (x *OrderMessage) GetTotalCurrencyCode() string {
	if x != nil && x.TotalCurrencyCode != nil {
		return *x.TotalCurrencyCode
	}
	return ""
}

func (x *OrderMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

	Title       *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
	Description *string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
	RowId       *string `protobuf:"bytes,3,opt,name=rowId" json:"rowId,omitempty"`
}

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

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

func (*Row) ProtoMessage() {}

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

// Deprecated: Use Row.ProtoReflect.Descriptor instead.
func (*Row) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{59}
}

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

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

func (x *Row) GetRowId() string {
	if x != nil && x.RowId != nil {
		return *x.RowId
	}
	return ""
}

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

	Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
	Rows  []*Row  `protobuf:"bytes,2,rep,name=rows" json:"rows,omitempty"`
}

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

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

func (*Section) ProtoMessage() {}

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

// Deprecated: Use Section.ProtoReflect.Descriptor instead.
func (*Section) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{60}
}

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

func (x *Section) GetRows() []*Row {
	if x != nil {
		return x.Rows
	}
	return nil
}

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

	Title       *string                          `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
	Description *string                          `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
	ButtonText  *string                          `protobuf:"bytes,3,opt,name=buttonText" json:"buttonText,omitempty"`
	ListType    *ListMessage_ListMessageListType `protobuf:"varint,4,opt,name=listType,enum=proto.ListMessage_ListMessageListType" json:"listType,omitempty"`
	Sections    []*Section                       `protobuf:"bytes,5,rep,name=sections" json:"sections,omitempty"`
}

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

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

func (*ListMessage) ProtoMessage() {}

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

// Deprecated: Use ListMessage.ProtoReflect.Descriptor instead.
func (*ListMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{61}
}

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

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

func (x *ListMessage) GetButtonText() string {
	if x != nil && x.ButtonText != nil {
		return *x.ButtonText
	}
	return ""
}

func (x *ListMessage) GetListType() ListMessage_ListMessageListType {
	if x != nil && x.ListType != nil {
		return *x.ListType
	}
	return ListMessage_UNKNOWN
}

func (x *ListMessage) GetSections() []*Section {
	if x != nil {
		return x.Sections
	}
	return nil
}

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

	SelectedRowId *string `protobuf:"bytes,1,opt,name=selectedRowId" json:"selectedRowId,omitempty"`
}

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

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

func (*SingleSelectReply) ProtoMessage() {}

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

// Deprecated: Use SingleSelectReply.ProtoReflect.Descriptor instead.
func (*SingleSelectReply) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{62}
}

func (x *SingleSelectReply) GetSelectedRowId() string {
	if x != nil && x.SelectedRowId != nil {
		return *x.SelectedRowId
	}
	return ""
}

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

	Title             *string                                          `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
	ListType          *ListResponseMessage_ListResponseMessageListType `protobuf:"varint,2,opt,name=listType,enum=proto.ListResponseMessage_ListResponseMessageListType" json:"listType,omitempty"`
	SingleSelectReply *SingleSelectReply                               `protobuf:"bytes,3,opt,name=singleSelectReply" json:"singleSelectReply,omitempty"`
	ContextInfo       *ContextInfo                                     `protobuf:"bytes,4,opt,name=contextInfo" json:"contextInfo,omitempty"`
	Description       *string                                          `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"`
}

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

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

func (*ListResponseMessage) ProtoMessage() {}

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

// Deprecated: Use ListResponseMessage.ProtoReflect.Descriptor instead.
func (*ListResponseMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{63}
}

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

func (x *ListResponseMessage) GetListType() ListResponseMessage_ListResponseMessageListType {
	if x != nil && x.ListType != nil {
		return *x.ListType
	}
	return ListResponseMessage_UNKNOWN
}

func (x *ListResponseMessage) GetSingleSelectReply() *SingleSelectReply {
	if x != nil {
		return x.SingleSelectReply
	}
	return nil
}

func (x *ListResponseMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

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

	GroupJid         *string      `protobuf:"bytes,1,opt,name=groupJid" json:"groupJid,omitempty"`
	InviteCode       *string      `protobuf:"bytes,2,opt,name=inviteCode" json:"inviteCode,omitempty"`
	InviteExpiration *int64       `protobuf:"varint,3,opt,name=inviteExpiration" json:"inviteExpiration,omitempty"`
	GroupName        *string      `protobuf:"bytes,4,opt,name=groupName" json:"groupName,omitempty"`
	JpegThumbnail    []byte       `protobuf:"bytes,5,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	Caption          *string      `protobuf:"bytes,6,opt,name=caption" json:"caption,omitempty"`
	ContextInfo      *ContextInfo `protobuf:"bytes,7,opt,name=contextInfo" json:"contextInfo,omitempty"`
}

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

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

func (*GroupInviteMessage) ProtoMessage() {}

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

// Deprecated: Use GroupInviteMessage.ProtoReflect.Descriptor instead.
func (*GroupInviteMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{64}
}

func (x *GroupInviteMessage) GetGroupJid() string {
	if x != nil && x.GroupJid != nil {
		return *x.GroupJid
	}
	return ""
}

func (x *GroupInviteMessage) GetInviteCode() string {
	if x != nil && x.InviteCode != nil {
		return *x.InviteCode
	}
	return ""
}

func (x *GroupInviteMessage) GetInviteExpiration() int64 {
	if x != nil && x.InviteExpiration != nil {
		return *x.InviteExpiration
	}
	return 0
}

func (x *GroupInviteMessage) GetGroupName() string {
	if x != nil && x.GroupName != nil {
		return *x.GroupName
	}
	return ""
}

func (x *GroupInviteMessage) GetJpegThumbnail() []byte {
	if x != nil {
		return x.JpegThumbnail
	}
	return nil
}

func (x *GroupInviteMessage) GetCaption() string {
	if x != nil && x.Caption != nil {
		return *x.Caption
	}
	return ""
}

func (x *GroupInviteMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

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

	ChatJid                   *string `protobuf:"bytes,1,opt,name=chatJid" json:"chatJid,omitempty"`
	EphemeralExpiration       *uint32 `protobuf:"varint,2,opt,name=ephemeralExpiration" json:"ephemeralExpiration,omitempty"`
	EphemeralSettingTimestamp *int64  `protobuf:"varint,3,opt,name=ephemeralSettingTimestamp" json:"ephemeralSettingTimestamp,omitempty"`
}

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

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

func (*EphemeralSetting) ProtoMessage() {}

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

// Deprecated: Use EphemeralSetting.ProtoReflect.Descriptor instead.
func (*EphemeralSetting) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{65}
}

func (x *EphemeralSetting) GetChatJid() string {
	if x != nil && x.ChatJid != nil {
		return *x.ChatJid
	}
	return ""
}

func (x *EphemeralSetting) GetEphemeralExpiration() uint32 {
	if x != nil && x.EphemeralExpiration != nil {
		return *x.EphemeralExpiration
	}
	return 0
}

func (x *EphemeralSetting) GetEphemeralSettingTimestamp() int64 {
	if x != nil && x.EphemeralSettingTimestamp != nil {
		return *x.EphemeralSettingTimestamp
	}
	return 0
}

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

	DestinationJid             *string             `protobuf:"bytes,1,opt,name=destinationJid" json:"destinationJid,omitempty"`
	Message                    *Message            `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	Phash                      *string             `protobuf:"bytes,3,opt,name=phash" json:"phash,omitempty"`
	BroadcastEphemeralSettings []*EphemeralSetting `protobuf:"bytes,4,rep,name=broadcastEphemeralSettings" json:"broadcastEphemeralSettings,omitempty"`
}

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

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

func (*DeviceSentMessage) ProtoMessage() {}

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

// Deprecated: Use DeviceSentMessage.ProtoReflect.Descriptor instead.
func (*DeviceSentMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{66}
}

func (x *DeviceSentMessage) GetDestinationJid() string {
	if x != nil && x.DestinationJid != nil {
		return *x.DestinationJid
	}
	return ""
}

func (x *DeviceSentMessage) GetMessage() *Message {
	if x != nil {
		return x.Message
	}
	return nil
}

func (x *DeviceSentMessage) GetPhash() string {
	if x != nil && x.Phash != nil {
		return *x.Phash
	}
	return ""
}

func (x *DeviceSentMessage) GetBroadcastEphemeralSettings() []*EphemeralSetting {
	if x != nil {
		return x.BroadcastEphemeralSettings
	}
	return nil
}

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

	Message *Message `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
}

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

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

func (*FutureProofMessage) ProtoMessage() {}

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

// Deprecated: Use FutureProofMessage.ProtoReflect.Descriptor instead.
func (*FutureProofMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{67}
}

func (x *FutureProofMessage) GetMessage() *Message {
	if x != nil {
		return x.Message
	}
	return nil
}

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

	DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
}

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

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

func (*ButtonText) ProtoMessage() {}

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

// Deprecated: Use ButtonText.ProtoReflect.Descriptor instead.
func (*ButtonText) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{68}
}

func (x *ButtonText) GetDisplayText() string {
	if x != nil && x.DisplayText != nil {
		return *x.DisplayText
	}
	return ""
}

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

	ButtonId   *string            `protobuf:"bytes,1,opt,name=buttonId" json:"buttonId,omitempty"`
	ButtonText *ButtonText        `protobuf:"bytes,2,opt,name=buttonText" json:"buttonText,omitempty"`
	Type       *Button_ButtonType `protobuf:"varint,3,opt,name=type,enum=proto.Button_ButtonType" json:"type,omitempty"`
}

func (x *Button) Reset() {
	*x = Button{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Button) ProtoMessage() {}

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

// Deprecated: Use Button.ProtoReflect.Descriptor instead.
func (*Button) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{69}
}

func (x *Button) GetButtonId() string {
	if x != nil && x.ButtonId != nil {
		return *x.ButtonId
	}
	return ""
}

func (x *Button) GetButtonText() *ButtonText {
	if x != nil {
		return x.ButtonText
	}
	return nil
}

func (x *Button) GetType() Button_ButtonType {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return Button_UNKNOWN
}

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

	ContentText *string                                  `protobuf:"bytes,6,opt,name=contentText" json:"contentText,omitempty"`
	FooterText  *string                                  `protobuf:"bytes,7,opt,name=footerText" json:"footerText,omitempty"`
	ContextInfo *ContextInfo                             `protobuf:"bytes,8,opt,name=contextInfo" json:"contextInfo,omitempty"`
	Buttons     []*Button                                `protobuf:"bytes,9,rep,name=buttons" json:"buttons,omitempty"`
	HeaderType  *ButtonsMessage_ButtonsMessageHeaderType `protobuf:"varint,10,opt,name=headerType,enum=proto.ButtonsMessage_ButtonsMessageHeaderType" json:"headerType,omitempty"`
	// Types that are assignable to Header:
	//	*ButtonsMessage_Text
	//	*ButtonsMessage_DocumentMessage
	//	*ButtonsMessage_ImageMessage
	//	*ButtonsMessage_VideoMessage
	//	*ButtonsMessage_LocationMessage
	Header isButtonsMessage_Header `protobuf_oneof:"header"`
}

func (x *ButtonsMessage) Reset() {
	*x = ButtonsMessage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ButtonsMessage) ProtoMessage() {}

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

// Deprecated: Use ButtonsMessage.ProtoReflect.Descriptor instead.
func (*ButtonsMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{70}
}

func (x *ButtonsMessage) GetContentText() string {
	if x != nil && x.ContentText != nil {
		return *x.ContentText
	}
	return ""
}

func (x *ButtonsMessage) GetFooterText() string {
	if x != nil && x.FooterText != nil {
		return *x.FooterText
	}
	return ""
}

func (x *ButtonsMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *ButtonsMessage) GetButtons() []*Button {
	if x != nil {
		return x.Buttons
	}
	return nil
}

func (x *ButtonsMessage) GetHeaderType() ButtonsMessage_ButtonsMessageHeaderType {
	if x != nil && x.HeaderType != nil {
		return *x.HeaderType
	}
	return ButtonsMessage_UNKNOWN
}

func (m *ButtonsMessage) GetHeader() isButtonsMessage_Header {
	if m != nil {
		return m.Header
	}
	return nil
}

func (x *ButtonsMessage) GetText() string {
	if x, ok := x.GetHeader().(*ButtonsMessage_Text); ok {
		return x.Text
	}
	return ""
}

func (x *ButtonsMessage) GetDocumentMessage() *DocumentMessage {
	if x, ok := x.GetHeader().(*ButtonsMessage_DocumentMessage); ok {
		return x.DocumentMessage
	}
	return nil
}

func (x *ButtonsMessage) GetImageMessage() *ImageMessage {
	if x, ok := x.GetHeader().(*ButtonsMessage_ImageMessage); ok {
		return x.ImageMessage
	}
	return nil
}

func (x *ButtonsMessage) GetVideoMessage() *VideoMessage {
	if x, ok := x.GetHeader().(*ButtonsMessage_VideoMessage); ok {
		return x.VideoMessage
	}
	return nil
}

func (x *ButtonsMessage) GetLocationMessage() *LocationMessage {
	if x, ok := x.GetHeader().(*ButtonsMessage_LocationMessage); ok {
		return x.LocationMessage
	}
	return nil
}

type isButtonsMessage_Header interface {
	isButtonsMessage_Header()
}

type ButtonsMessage_Text struct {
	Text string `protobuf:"bytes,1,opt,name=text,oneof"`
}

type ButtonsMessage_DocumentMessage struct {
	DocumentMessage *DocumentMessage `protobuf:"bytes,2,opt,name=documentMessage,oneof"`
}

type ButtonsMessage_ImageMessage struct {
	ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage,oneof"`
}

type ButtonsMessage_VideoMessage struct {
	VideoMessage *VideoMessage `protobuf:"bytes,4,opt,name=videoMessage,oneof"`
}

type ButtonsMessage_LocationMessage struct {
	LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage,oneof"`
}

func (*ButtonsMessage_Text) isButtonsMessage_Header() {}

func (*ButtonsMessage_DocumentMessage) isButtonsMessage_Header() {}

func (*ButtonsMessage_ImageMessage) isButtonsMessage_Header() {}

func (*ButtonsMessage_VideoMessage) isButtonsMessage_Header() {}

func (*ButtonsMessage_LocationMessage) isButtonsMessage_Header() {}

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

	SelectedButtonId *string                                            `protobuf:"bytes,1,opt,name=selectedButtonId" json:"selectedButtonId,omitempty"`
	ContextInfo      *ContextInfo                                       `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"`
	Type             *ButtonsResponseMessage_ButtonsResponseMessageType `protobuf:"varint,4,opt,name=type,enum=proto.ButtonsResponseMessage_ButtonsResponseMessageType" json:"type,omitempty"`
	// Types that are assignable to Response:
	//	*ButtonsResponseMessage_SelectedDisplayText
	Response isButtonsResponseMessage_Response `protobuf_oneof:"response"`
}

func (x *ButtonsResponseMessage) Reset() {
	*x = ButtonsResponseMessage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ButtonsResponseMessage) ProtoMessage() {}

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

// Deprecated: Use ButtonsResponseMessage.ProtoReflect.Descriptor instead.
func (*ButtonsResponseMessage) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{71}
}

func (x *ButtonsResponseMessage) GetSelectedButtonId() string {
	if x != nil && x.SelectedButtonId != nil {
		return *x.SelectedButtonId
	}
	return ""
}

func (x *ButtonsResponseMessage) GetContextInfo() *ContextInfo {
	if x != nil {
		return x.ContextInfo
	}
	return nil
}

func (x *ButtonsResponseMessage) GetType() ButtonsResponseMessage_ButtonsResponseMessageType {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return ButtonsResponseMessage_UNKNOWN
}

func (m *ButtonsResponseMessage) GetResponse() isButtonsResponseMessage_Response {
	if m != nil {
		return m.Response
	}
	return nil
}

func (x *ButtonsResponseMessage) GetSelectedDisplayText() string {
	if x, ok := x.GetResponse().(*ButtonsResponseMessage_SelectedDisplayText); ok {
		return x.SelectedDisplayText
	}
	return ""
}

type isButtonsResponseMessage_Response interface {
	isButtonsResponseMessage_Response()
}

type ButtonsResponseMessage_SelectedDisplayText struct {
	SelectedDisplayText string `protobuf:"bytes,2,opt,name=selectedDisplayText,oneof"`
}

func (*ButtonsResponseMessage_SelectedDisplayText) isButtonsResponseMessage_Response() {}

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

	Conversation                               *string                       `protobuf:"bytes,1,opt,name=conversation" json:"conversation,omitempty"`
	SenderKeyDistributionMessage               *SenderKeyDistributionMessage `protobuf:"bytes,2,opt,name=senderKeyDistributionMessage" json:"senderKeyDistributionMessage,omitempty"`
	ImageMessage                               *ImageMessage                 `protobuf:"bytes,3,opt,name=imageMessage" json:"imageMessage,omitempty"`
	ContactMessage                             *ContactMessage               `protobuf:"bytes,4,opt,name=contactMessage" json:"contactMessage,omitempty"`
	LocationMessage                            *LocationMessage              `protobuf:"bytes,5,opt,name=locationMessage" json:"locationMessage,omitempty"`
	ExtendedTextMessage                        *ExtendedTextMessage          `protobuf:"bytes,6,opt,name=extendedTextMessage" json:"extendedTextMessage,omitempty"`
	DocumentMessage                            *DocumentMessage              `protobuf:"bytes,7,opt,name=documentMessage" json:"documentMessage,omitempty"`
	AudioMessage                               *AudioMessage                 `protobuf:"bytes,8,opt,name=audioMessage" json:"audioMessage,omitempty"`
	VideoMessage                               *VideoMessage                 `protobuf:"bytes,9,opt,name=videoMessage" json:"videoMessage,omitempty"`
	Call                                       *Call                         `protobuf:"bytes,10,opt,name=call" json:"call,omitempty"`
	Chat                                       *Chat                         `protobuf:"bytes,11,opt,name=chat" json:"chat,omitempty"`
	ProtocolMessage                            *ProtocolMessage              `protobuf:"bytes,12,opt,name=protocolMessage" json:"protocolMessage,omitempty"`
	ContactsArrayMessage                       *ContactsArrayMessage         `protobuf:"bytes,13,opt,name=contactsArrayMessage" json:"contactsArrayMessage,omitempty"`
	HighlyStructuredMessage                    *HighlyStructuredMessage      `protobuf:"bytes,14,opt,name=highlyStructuredMessage" json:"highlyStructuredMessage,omitempty"`
	FastRatchetKeySenderKeyDistributionMessage *SenderKeyDistributionMessage `protobuf:"bytes,15,opt,name=fastRatchetKeySenderKeyDistributionMessage" json:"fastRatchetKeySenderKeyDistributionMessage,omitempty"`
	SendPaymentMessage                         *SendPaymentMessage           `protobuf:"bytes,16,opt,name=sendPaymentMessage" json:"sendPaymentMessage,omitempty"`
	LiveLocationMessage                        *LiveLocationMessage          `protobuf:"bytes,18,opt,name=liveLocationMessage" json:"liveLocationMessage,omitempty"`
	RequestPaymentMessage                      *RequestPaymentMessage        `protobuf:"bytes,22,opt,name=requestPaymentMessage" json:"requestPaymentMessage,omitempty"`
	DeclinePaymentRequestMessage               *DeclinePaymentRequestMessage `protobuf:"bytes,23,opt,name=declinePaymentRequestMessage" json:"declinePaymentRequestMessage,omitempty"`
	CancelPaymentRequestMessage                *CancelPaymentRequestMessage  `protobuf:"bytes,24,opt,name=cancelPaymentRequestMessage" json:"cancelPaymentRequestMessage,omitempty"`
	TemplateMessage                            *TemplateMessage              `protobuf:"bytes,25,opt,name=templateMessage" json:"templateMessage,omitempty"`
	StickerMessage                             *StickerMessage               `protobuf:"bytes,26,opt,name=stickerMessage" json:"stickerMessage,omitempty"`
	GroupInviteMessage                         *GroupInviteMessage           `protobuf:"bytes,28,opt,name=groupInviteMessage" json:"groupInviteMessage,omitempty"`
	TemplateButtonReplyMessage                 *TemplateButtonReplyMessage   `protobuf:"bytes,29,opt,name=templateButtonReplyMessage" json:"templateButtonReplyMessage,omitempty"`
	ProductMessage                             *ProductMessage               `protobuf:"bytes,30,opt,name=productMessage" json:"productMessage,omitempty"`
	DeviceSentMessage                          *DeviceSentMessage            `protobuf:"bytes,31,opt,name=deviceSentMessage" json:"deviceSentMessage,omitempty"`
	MessageContextInfo                         *MessageContextInfo           `protobuf:"bytes,35,opt,name=messageContextInfo" json:"messageContextInfo,omitempty"`
	ListMessage                                *ListMessage                  `protobuf:"bytes,36,opt,name=listMessage" json:"listMessage,omitempty"`
	ViewOnceMessage                            *FutureProofMessage           `protobuf:"bytes,37,opt,name=viewOnceMessage" json:"viewOnceMessage,omitempty"`
	OrderMessage                               *OrderMessage                 `protobuf:"bytes,38,opt,name=orderMessage" json:"orderMessage,omitempty"`
	ListResponseMessage                        *ListResponseMessage          `protobuf:"bytes,39,opt,name=listResponseMessage" json:"listResponseMessage,omitempty"`
	EphemeralMessage                           *FutureProofMessage           `protobuf:"bytes,40,opt,name=ephemeralMessage" json:"ephemeralMessage,omitempty"`
	InvoiceMessage                             *InvoiceMessage               `protobuf:"bytes,41,opt,name=invoiceMessage" json:"invoiceMessage,omitempty"`
	ButtonsMessage                             *ButtonsMessage               `protobuf:"bytes,42,opt,name=buttonsMessage" json:"buttonsMessage,omitempty"`
	ButtonsResponseMessage                     *ButtonsResponseMessage       `protobuf:"bytes,43,opt,name=buttonsResponseMessage" json:"buttonsResponseMessage,omitempty"`
}

func (x *Message) Reset() {
	*x = Message{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Message) ProtoMessage() {}

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

// Deprecated: Use Message.ProtoReflect.Descriptor instead.
func (*Message) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{72}
}

func (x *Message) GetConversation() string {
	if x != nil && x.Conversation != nil {
		return *x.Conversation
	}
	return ""
}

func (x *Message) GetSenderKeyDistributionMessage() *SenderKeyDistributionMessage {
	if x != nil {
		return x.SenderKeyDistributionMessage
	}
	return nil
}

func (x *Message) GetImageMessage() *ImageMessage {
	if x != nil {
		return x.ImageMessage
	}
	return nil
}

func (x *Message) GetContactMessage() *ContactMessage {
	if x != nil {
		return x.ContactMessage
	}
	return nil
}

func (x *Message) GetLocationMessage() *LocationMessage {
	if x != nil {
		return x.LocationMessage
	}
	return nil
}

func (x *Message) GetExtendedTextMessage() *ExtendedTextMessage {
	if x != nil {
		return x.ExtendedTextMessage
	}
	return nil
}

func (x *Message) GetDocumentMessage() *DocumentMessage {
	if x != nil {
		return x.DocumentMessage
	}
	return nil
}

func (x *Message) GetAudioMessage() *AudioMessage {
	if x != nil {
		return x.AudioMessage
	}
	return nil
}

func (x *Message) GetVideoMessage() *VideoMessage {
	if x != nil {
		return x.VideoMessage
	}
	return nil
}

func (x *Message) GetCall() *Call {
	if x != nil {
		return x.Call
	}
	return nil
}

func (x *Message) GetChat() *Chat {
	if x != nil {
		return x.Chat
	}
	return nil
}

func (x *Message) GetProtocolMessage() *ProtocolMessage {
	if x != nil {
		return x.ProtocolMessage
	}
	return nil
}

func (x *Message) GetContactsArrayMessage() *ContactsArrayMessage {
	if x != nil {
		return x.ContactsArrayMessage
	}
	return nil
}

func (x *Message) GetHighlyStructuredMessage() *HighlyStructuredMessage {
	if x != nil {
		return x.HighlyStructuredMessage
	}
	return nil
}

func (x *Message) GetFastRatchetKeySenderKeyDistributionMessage() *SenderKeyDistributionMessage {
	if x != nil {
		return x.FastRatchetKeySenderKeyDistributionMessage
	}
	return nil
}

func (x *Message) GetSendPaymentMessage() *SendPaymentMessage {
	if x != nil {
		return x.SendPaymentMessage
	}
	return nil
}

func (x *Message) GetLiveLocationMessage() *LiveLocationMessage {
	if x != nil {
		return x.LiveLocationMessage
	}
	return nil
}

func (x *Message) GetRequestPaymentMessage() *RequestPaymentMessage {
	if x != nil {
		return x.RequestPaymentMessage
	}
	return nil
}

func (x *Message) GetDeclinePaymentRequestMessage() *DeclinePaymentRequestMessage {
	if x != nil {
		return x.DeclinePaymentRequestMessage
	}
	return nil
}

func (x *Message) GetCancelPaymentRequestMessage() *CancelPaymentRequestMessage {
	if x != nil {
		return x.CancelPaymentRequestMessage
	}
	return nil
}

func (x *Message) GetTemplateMessage() *TemplateMessage {
	if x != nil {
		return x.TemplateMessage
	}
	return nil
}

func (x *Message) GetStickerMessage() *StickerMessage {
	if x != nil {
		return x.StickerMessage
	}
	return nil
}

func (x *Message) GetGroupInviteMessage() *GroupInviteMessage {
	if x != nil {
		return x.GroupInviteMessage
	}
	return nil
}

func (x *Message) GetTemplateButtonReplyMessage() *TemplateButtonReplyMessage {
	if x != nil {
		return x.TemplateButtonReplyMessage
	}
	return nil
}

func (x *Message) GetProductMessage() *ProductMessage {
	if x != nil {
		return x.ProductMessage
	}
	return nil
}

func (x *Message) GetDeviceSentMessage() *DeviceSentMessage {
	if x != nil {
		return x.DeviceSentMessage
	}
	return nil
}

func (x *Message) GetMessageContextInfo() *MessageContextInfo {
	if x != nil {
		return x.MessageContextInfo
	}
	return nil
}

func (x *Message) GetListMessage() *ListMessage {
	if x != nil {
		return x.ListMessage
	}
	return nil
}

func (x *Message) GetViewOnceMessage() *FutureProofMessage {
	if x != nil {
		return x.ViewOnceMessage
	}
	return nil
}

func (x *Message) GetOrderMessage() *OrderMessage {
	if x != nil {
		return x.OrderMessage
	}
	return nil
}

func (x *Message) GetListResponseMessage() *ListResponseMessage {
	if x != nil {
		return x.ListResponseMessage
	}
	return nil
}

func (x *Message) GetEphemeralMessage() *FutureProofMessage {
	if x != nil {
		return x.EphemeralMessage
	}
	return nil
}

func (x *Message) GetInvoiceMessage() *InvoiceMessage {
	if x != nil {
		return x.InvoiceMessage
	}
	return nil
}

func (x *Message) GetButtonsMessage() *ButtonsMessage {
	if x != nil {
		return x.ButtonsMessage
	}
	return nil
}

func (x *Message) GetButtonsResponseMessage() *ButtonsResponseMessage {
	if x != nil {
		return x.ButtonsResponseMessage
	}
	return nil
}

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

	RemoteJid   *string `protobuf:"bytes,1,opt,name=remoteJid" json:"remoteJid,omitempty"`
	FromMe      *bool   `protobuf:"varint,2,opt,name=fromMe" json:"fromMe,omitempty"`
	Id          *string `protobuf:"bytes,3,opt,name=id" json:"id,omitempty"`
	Participant *string `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"`
}

func (x *MessageKey) Reset() {
	*x = MessageKey{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*MessageKey) ProtoMessage() {}

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

// Deprecated: Use MessageKey.ProtoReflect.Descriptor instead.
func (*MessageKey) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{73}
}

func (x *MessageKey) GetRemoteJid() string {
	if x != nil && x.RemoteJid != nil {
		return *x.RemoteJid
	}
	return ""
}

func (x *MessageKey) GetFromMe() bool {
	if x != nil && x.FromMe != nil {
		return *x.FromMe
	}
	return false
}

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

func (x *MessageKey) GetParticipant() string {
	if x != nil && x.Participant != nil {
		return *x.Participant
	}
	return ""
}

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

	LabelsDisplay                *WebFeatures_WebFeaturesFlag `protobuf:"varint,1,opt,name=labelsDisplay,enum=proto.WebFeatures_WebFeaturesFlag" json:"labelsDisplay,omitempty"`
	VoipIndividualOutgoing       *WebFeatures_WebFeaturesFlag `protobuf:"varint,2,opt,name=voipIndividualOutgoing,enum=proto.WebFeatures_WebFeaturesFlag" json:"voipIndividualOutgoing,omitempty"`
	GroupsV3                     *WebFeatures_WebFeaturesFlag `protobuf:"varint,3,opt,name=groupsV3,enum=proto.WebFeatures_WebFeaturesFlag" json:"groupsV3,omitempty"`
	GroupsV3Create               *WebFeatures_WebFeaturesFlag `protobuf:"varint,4,opt,name=groupsV3Create,enum=proto.WebFeatures_WebFeaturesFlag" json:"groupsV3Create,omitempty"`
	ChangeNumberV2               *WebFeatures_WebFeaturesFlag `protobuf:"varint,5,opt,name=changeNumberV2,enum=proto.WebFeatures_WebFeaturesFlag" json:"changeNumberV2,omitempty"`
	QueryStatusV3Thumbnail       *WebFeatures_WebFeaturesFlag `protobuf:"varint,6,opt,name=queryStatusV3Thumbnail,enum=proto.WebFeatures_WebFeaturesFlag" json:"queryStatusV3Thumbnail,omitempty"`
	LiveLocations                *WebFeatures_WebFeaturesFlag `protobuf:"varint,7,opt,name=liveLocations,enum=proto.WebFeatures_WebFeaturesFlag" json:"liveLocations,omitempty"`
	QueryVname                   *WebFeatures_WebFeaturesFlag `protobuf:"varint,8,opt,name=queryVname,enum=proto.WebFeatures_WebFeaturesFlag" json:"queryVname,omitempty"`
	VoipIndividualIncoming       *WebFeatures_WebFeaturesFlag `protobuf:"varint,9,opt,name=voipIndividualIncoming,enum=proto.WebFeatures_WebFeaturesFlag" json:"voipIndividualIncoming,omitempty"`
	QuickRepliesQuery            *WebFeatures_WebFeaturesFlag `protobuf:"varint,10,opt,name=quickRepliesQuery,enum=proto.WebFeatures_WebFeaturesFlag" json:"quickRepliesQuery,omitempty"`
	Payments                     *WebFeatures_WebFeaturesFlag `protobuf:"varint,11,opt,name=payments,enum=proto.WebFeatures_WebFeaturesFlag" json:"payments,omitempty"`
	StickerPackQuery             *WebFeatures_WebFeaturesFlag `protobuf:"varint,12,opt,name=stickerPackQuery,enum=proto.WebFeatures_WebFeaturesFlag" json:"stickerPackQuery,omitempty"`
	LiveLocationsFinal           *WebFeatures_WebFeaturesFlag `protobuf:"varint,13,opt,name=liveLocationsFinal,enum=proto.WebFeatures_WebFeaturesFlag" json:"liveLocationsFinal,omitempty"`
	LabelsEdit                   *WebFeatures_WebFeaturesFlag `protobuf:"varint,14,opt,name=labelsEdit,enum=proto.WebFeatures_WebFeaturesFlag" json:"labelsEdit,omitempty"`
	MediaUpload                  *WebFeatures_WebFeaturesFlag `protobuf:"varint,15,opt,name=mediaUpload,enum=proto.WebFeatures_WebFeaturesFlag" json:"mediaUpload,omitempty"`
	MediaUploadRichQuickReplies  *WebFeatures_WebFeaturesFlag `protobuf:"varint,18,opt,name=mediaUploadRichQuickReplies,enum=proto.WebFeatures_WebFeaturesFlag" json:"mediaUploadRichQuickReplies,omitempty"`
	VnameV2                      *WebFeatures_WebFeaturesFlag `protobuf:"varint,19,opt,name=vnameV2,enum=proto.WebFeatures_WebFeaturesFlag" json:"vnameV2,omitempty"`
	VideoPlaybackUrl             *WebFeatures_WebFeaturesFlag `protobuf:"varint,20,opt,name=videoPlaybackUrl,enum=proto.WebFeatures_WebFeaturesFlag" json:"videoPlaybackUrl,omitempty"`
	StatusRanking                *WebFeatures_WebFeaturesFlag `protobuf:"varint,21,opt,name=statusRanking,enum=proto.WebFeatures_WebFeaturesFlag" json:"statusRanking,omitempty"`
	VoipIndividualVideo          *WebFeatures_WebFeaturesFlag `protobuf:"varint,22,opt,name=voipIndividualVideo,enum=proto.WebFeatures_WebFeaturesFlag" json:"voipIndividualVideo,omitempty"`
	ThirdPartyStickers           *WebFeatures_WebFeaturesFlag `protobuf:"varint,23,opt,name=thirdPartyStickers,enum=proto.WebFeatures_WebFeaturesFlag" json:"thirdPartyStickers,omitempty"`
	FrequentlyForwardedSetting   *WebFeatures_WebFeaturesFlag `protobuf:"varint,24,opt,name=frequentlyForwardedSetting,enum=proto.WebFeatures_WebFeaturesFlag" json:"frequentlyForwardedSetting,omitempty"`
	GroupsV4JoinPermission       *WebFeatures_WebFeaturesFlag `protobuf:"varint,25,opt,name=groupsV4JoinPermission,enum=proto.WebFeatures_WebFeaturesFlag" json:"groupsV4JoinPermission,omitempty"`
	RecentStickers               *WebFeatures_WebFeaturesFlag `protobuf:"varint,26,opt,name=recentStickers,enum=proto.WebFeatures_WebFeaturesFlag" json:"recentStickers,omitempty"`
	Catalog                      *WebFeatures_WebFeaturesFlag `protobuf:"varint,27,opt,name=catalog,enum=proto.WebFeatures_WebFeaturesFlag" json:"catalog,omitempty"`
	StarredStickers              *WebFeatures_WebFeaturesFlag `protobuf:"varint,28,opt,name=starredStickers,enum=proto.WebFeatures_WebFeaturesFlag" json:"starredStickers,omitempty"`
	VoipGroupCall                *WebFeatures_WebFeaturesFlag `protobuf:"varint,29,opt,name=voipGroupCall,enum=proto.WebFeatures_WebFeaturesFlag" json:"voipGroupCall,omitempty"`
	TemplateMessage              *WebFeatures_WebFeaturesFlag `protobuf:"varint,30,opt,name=templateMessage,enum=proto.WebFeatures_WebFeaturesFlag" json:"templateMessage,omitempty"`
	TemplateMessageInteractivity *WebFeatures_WebFeaturesFlag `protobuf:"varint,31,opt,name=templateMessageInteractivity,enum=proto.WebFeatures_WebFeaturesFlag" json:"templateMessageInteractivity,omitempty"`
	EphemeralMessages            *WebFeatures_WebFeaturesFlag `protobuf:"varint,32,opt,name=ephemeralMessages,enum=proto.WebFeatures_WebFeaturesFlag" json:"ephemeralMessages,omitempty"`
	E2ENotificationSync          *WebFeatures_WebFeaturesFlag `protobuf:"varint,33,opt,name=e2ENotificationSync,enum=proto.WebFeatures_WebFeaturesFlag" json:"e2ENotificationSync,omitempty"`
	RecentStickersV2             *WebFeatures_WebFeaturesFlag `protobuf:"varint,34,opt,name=recentStickersV2,enum=proto.WebFeatures_WebFeaturesFlag" json:"recentStickersV2,omitempty"`
	SyncdRelease1                *WebFeatures_WebFeaturesFlag `protobuf:"varint,35,opt,name=syncdRelease1,enum=proto.WebFeatures_WebFeaturesFlag" json:"syncdRelease1,omitempty"`
	RecentStickersV3             *WebFeatures_WebFeaturesFlag `protobuf:"varint,36,opt,name=recentStickersV3,enum=proto.WebFeatures_WebFeaturesFlag" json:"recentStickersV3,omitempty"`
	UserNotice                   *WebFeatures_WebFeaturesFlag `protobuf:"varint,37,opt,name=userNotice,enum=proto.WebFeatures_WebFeaturesFlag" json:"userNotice,omitempty"`
	SyncdRelease11               *WebFeatures_WebFeaturesFlag `protobuf:"varint,38,opt,name=syncdRelease11,enum=proto.WebFeatures_WebFeaturesFlag" json:"syncdRelease11,omitempty"`
	Support                      *WebFeatures_WebFeaturesFlag `protobuf:"varint,39,opt,name=support,enum=proto.WebFeatures_WebFeaturesFlag" json:"support,omitempty"`
	GroupUiiCleanup              *WebFeatures_WebFeaturesFlag `protobuf:"varint,40,opt,name=groupUiiCleanup,enum=proto.WebFeatures_WebFeaturesFlag" json:"groupUiiCleanup,omitempty"`
	GroupDogfoodingInternalOnly  *WebFeatures_WebFeaturesFlag `protobuf:"varint,41,opt,name=groupDogfoodingInternalOnly,enum=proto.WebFeatures_WebFeaturesFlag" json:"groupDogfoodingInternalOnly,omitempty"`
	SettingsSync                 *WebFeatures_WebFeaturesFlag `protobuf:"varint,42,opt,name=settingsSync,enum=proto.WebFeatures_WebFeaturesFlag" json:"settingsSync,omitempty"`
}

func (x *WebFeatures) Reset() {
	*x = WebFeatures{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WebFeatures) ProtoMessage() {}

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

// Deprecated: Use WebFeatures.ProtoReflect.Descriptor instead.
func (*WebFeatures) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{74}
}

func (x *WebFeatures) GetLabelsDisplay() WebFeatures_WebFeaturesFlag {
	if x != nil && x.LabelsDisplay != nil {
		return *x.LabelsDisplay
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetVoipIndividualOutgoing() WebFeatures_WebFeaturesFlag {
	if x != nil && x.VoipIndividualOutgoing != nil {
		return *x.VoipIndividualOutgoing
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetGroupsV3() WebFeatures_WebFeaturesFlag {
	if x != nil && x.GroupsV3 != nil {
		return *x.GroupsV3
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetGroupsV3Create() WebFeatures_WebFeaturesFlag {
	if x != nil && x.GroupsV3Create != nil {
		return *x.GroupsV3Create
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetChangeNumberV2() WebFeatures_WebFeaturesFlag {
	if x != nil && x.ChangeNumberV2 != nil {
		return *x.ChangeNumberV2
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetQueryStatusV3Thumbnail() WebFeatures_WebFeaturesFlag {
	if x != nil && x.QueryStatusV3Thumbnail != nil {
		return *x.QueryStatusV3Thumbnail
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetLiveLocations() WebFeatures_WebFeaturesFlag {
	if x != nil && x.LiveLocations != nil {
		return *x.LiveLocations
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetQueryVname() WebFeatures_WebFeaturesFlag {
	if x != nil && x.QueryVname != nil {
		return *x.QueryVname
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetVoipIndividualIncoming() WebFeatures_WebFeaturesFlag {
	if x != nil && x.VoipIndividualIncoming != nil {
		return *x.VoipIndividualIncoming
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetQuickRepliesQuery() WebFeatures_WebFeaturesFlag {
	if x != nil && x.QuickRepliesQuery != nil {
		return *x.QuickRepliesQuery
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetPayments() WebFeatures_WebFeaturesFlag {
	if x != nil && x.Payments != nil {
		return *x.Payments
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetStickerPackQuery() WebFeatures_WebFeaturesFlag {
	if x != nil && x.StickerPackQuery != nil {
		return *x.StickerPackQuery
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetLiveLocationsFinal() WebFeatures_WebFeaturesFlag {
	if x != nil && x.LiveLocationsFinal != nil {
		return *x.LiveLocationsFinal
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetLabelsEdit() WebFeatures_WebFeaturesFlag {
	if x != nil && x.LabelsEdit != nil {
		return *x.LabelsEdit
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetMediaUpload() WebFeatures_WebFeaturesFlag {
	if x != nil && x.MediaUpload != nil {
		return *x.MediaUpload
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetMediaUploadRichQuickReplies() WebFeatures_WebFeaturesFlag {
	if x != nil && x.MediaUploadRichQuickReplies != nil {
		return *x.MediaUploadRichQuickReplies
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetVnameV2() WebFeatures_WebFeaturesFlag {
	if x != nil && x.VnameV2 != nil {
		return *x.VnameV2
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetVideoPlaybackUrl() WebFeatures_WebFeaturesFlag {
	if x != nil && x.VideoPlaybackUrl != nil {
		return *x.VideoPlaybackUrl
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetStatusRanking() WebFeatures_WebFeaturesFlag {
	if x != nil && x.StatusRanking != nil {
		return *x.StatusRanking
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetVoipIndividualVideo() WebFeatures_WebFeaturesFlag {
	if x != nil && x.VoipIndividualVideo != nil {
		return *x.VoipIndividualVideo
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetThirdPartyStickers() WebFeatures_WebFeaturesFlag {
	if x != nil && x.ThirdPartyStickers != nil {
		return *x.ThirdPartyStickers
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetFrequentlyForwardedSetting() WebFeatures_WebFeaturesFlag {
	if x != nil && x.FrequentlyForwardedSetting != nil {
		return *x.FrequentlyForwardedSetting
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetGroupsV4JoinPermission() WebFeatures_WebFeaturesFlag {
	if x != nil && x.GroupsV4JoinPermission != nil {
		return *x.GroupsV4JoinPermission
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetRecentStickers() WebFeatures_WebFeaturesFlag {
	if x != nil && x.RecentStickers != nil {
		return *x.RecentStickers
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetCatalog() WebFeatures_WebFeaturesFlag {
	if x != nil && x.Catalog != nil {
		return *x.Catalog
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetStarredStickers() WebFeatures_WebFeaturesFlag {
	if x != nil && x.StarredStickers != nil {
		return *x.StarredStickers
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetVoipGroupCall() WebFeatures_WebFeaturesFlag {
	if x != nil && x.VoipGroupCall != nil {
		return *x.VoipGroupCall
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetTemplateMessage() WebFeatures_WebFeaturesFlag {
	if x != nil && x.TemplateMessage != nil {
		return *x.TemplateMessage
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetTemplateMessageInteractivity() WebFeatures_WebFeaturesFlag {
	if x != nil && x.TemplateMessageInteractivity != nil {
		return *x.TemplateMessageInteractivity
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetEphemeralMessages() WebFeatures_WebFeaturesFlag {
	if x != nil && x.EphemeralMessages != nil {
		return *x.EphemeralMessages
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetE2ENotificationSync() WebFeatures_WebFeaturesFlag {
	if x != nil && x.E2ENotificationSync != nil {
		return *x.E2ENotificationSync
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetRecentStickersV2() WebFeatures_WebFeaturesFlag {
	if x != nil && x.RecentStickersV2 != nil {
		return *x.RecentStickersV2
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetSyncdRelease1() WebFeatures_WebFeaturesFlag {
	if x != nil && x.SyncdRelease1 != nil {
		return *x.SyncdRelease1
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetRecentStickersV3() WebFeatures_WebFeaturesFlag {
	if x != nil && x.RecentStickersV3 != nil {
		return *x.RecentStickersV3
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetUserNotice() WebFeatures_WebFeaturesFlag {
	if x != nil && x.UserNotice != nil {
		return *x.UserNotice
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetSyncdRelease11() WebFeatures_WebFeaturesFlag {
	if x != nil && x.SyncdRelease11 != nil {
		return *x.SyncdRelease11
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetSupport() WebFeatures_WebFeaturesFlag {
	if x != nil && x.Support != nil {
		return *x.Support
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetGroupUiiCleanup() WebFeatures_WebFeaturesFlag {
	if x != nil && x.GroupUiiCleanup != nil {
		return *x.GroupUiiCleanup
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetGroupDogfoodingInternalOnly() WebFeatures_WebFeaturesFlag {
	if x != nil && x.GroupDogfoodingInternalOnly != nil {
		return *x.GroupDogfoodingInternalOnly
	}
	return WebFeatures_NOT_STARTED
}

func (x *WebFeatures) GetSettingsSync() WebFeatures_WebFeaturesFlag {
	if x != nil && x.SettingsSync != nil {
		return *x.SettingsSync
	}
	return WebFeatures_NOT_STARTED
}

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

	Key              *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Message          *Message    `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	MessageTimestamp *uint64     `protobuf:"varint,3,opt,name=messageTimestamp" json:"messageTimestamp,omitempty"`
	Participant      *string     `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"`
}

func (x *NotificationMessageInfo) Reset() {
	*x = NotificationMessageInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*NotificationMessageInfo) ProtoMessage() {}

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

// Deprecated: Use NotificationMessageInfo.ProtoReflect.Descriptor instead.
func (*NotificationMessageInfo) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{75}
}

func (x *NotificationMessageInfo) GetKey() *MessageKey {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *NotificationMessageInfo) GetMessage() *Message {
	if x != nil {
		return x.Message
	}
	return nil
}

func (x *NotificationMessageInfo) GetMessageTimestamp() uint64 {
	if x != nil && x.MessageTimestamp != nil {
		return *x.MessageTimestamp
	}
	return 0
}

func (x *NotificationMessageInfo) GetParticipant() string {
	if x != nil && x.Participant != nil {
		return *x.Participant
	}
	return ""
}

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

	Timestamp          *uint64           `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
	UnreadChats        *uint32           `protobuf:"varint,3,opt,name=unreadChats" json:"unreadChats,omitempty"`
	NotifyMessageCount *uint32           `protobuf:"varint,4,opt,name=notifyMessageCount" json:"notifyMessageCount,omitempty"`
	NotifyMessages     []*WebMessageInfo `protobuf:"bytes,5,rep,name=notifyMessages" json:"notifyMessages,omitempty"`
}

func (x *WebNotificationsInfo) Reset() {
	*x = WebNotificationsInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WebNotificationsInfo) ProtoMessage() {}

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

// Deprecated: Use WebNotificationsInfo.ProtoReflect.Descriptor instead.
func (*WebNotificationsInfo) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{76}
}

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

func (x *WebNotificationsInfo) GetUnreadChats() uint32 {
	if x != nil && x.UnreadChats != nil {
		return *x.UnreadChats
	}
	return 0
}

func (x *WebNotificationsInfo) GetNotifyMessageCount() uint32 {
	if x != nil && x.NotifyMessageCount != nil {
		return *x.NotifyMessageCount
	}
	return 0
}

func (x *WebNotificationsInfo) GetNotifyMessages() []*WebMessageInfo {
	if x != nil {
		return x.NotifyMessages
	}
	return nil
}

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

	CurrencyDeprecated   *PaymentInfo_PaymentInfoCurrency  `protobuf:"varint,1,opt,name=currencyDeprecated,enum=proto.PaymentInfo_PaymentInfoCurrency" json:"currencyDeprecated,omitempty"`
	Amount1000           *uint64                           `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"`
	ReceiverJid          *string                           `protobuf:"bytes,3,opt,name=receiverJid" json:"receiverJid,omitempty"`
	Status               *PaymentInfo_PaymentInfoStatus    `protobuf:"varint,4,opt,name=status,enum=proto.PaymentInfo_PaymentInfoStatus" json:"status,omitempty"`
	TransactionTimestamp *uint64                           `protobuf:"varint,5,opt,name=transactionTimestamp" json:"transactionTimestamp,omitempty"`
	RequestMessageKey    *MessageKey                       `protobuf:"bytes,6,opt,name=requestMessageKey" json:"requestMessageKey,omitempty"`
	ExpiryTimestamp      *uint64                           `protobuf:"varint,7,opt,name=expiryTimestamp" json:"expiryTimestamp,omitempty"`
	Futureproofed        *bool                             `protobuf:"varint,8,opt,name=futureproofed" json:"futureproofed,omitempty"`
	Currency             *string                           `protobuf:"bytes,9,opt,name=currency" json:"currency,omitempty"`
	TxnStatus            *PaymentInfo_PaymentInfoTxnStatus `protobuf:"varint,10,opt,name=txnStatus,enum=proto.PaymentInfo_PaymentInfoTxnStatus" json:"txnStatus,omitempty"`
	UseNoviFiatFormat    *bool                             `protobuf:"varint,11,opt,name=useNoviFiatFormat" json:"useNoviFiatFormat,omitempty"`
	PrimaryAmount        *PaymentMoney                     `protobuf:"bytes,12,opt,name=primaryAmount" json:"primaryAmount,omitempty"`
	ExchangeAmount       *PaymentMoney                     `protobuf:"bytes,13,opt,name=exchangeAmount" json:"exchangeAmount,omitempty"`
}

func (x *PaymentInfo) Reset() {
	*x = PaymentInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PaymentInfo) ProtoMessage() {}

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

// Deprecated: Use PaymentInfo.ProtoReflect.Descriptor instead.
func (*PaymentInfo) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{77}
}

func (x *PaymentInfo) GetCurrencyDeprecated() PaymentInfo_PaymentInfoCurrency {
	if x != nil && x.CurrencyDeprecated != nil {
		return *x.CurrencyDeprecated
	}
	return PaymentInfo_UNKNOWN_CURRENCY
}

func (x *PaymentInfo) GetAmount1000() uint64 {
	if x != nil && x.Amount1000 != nil {
		return *x.Amount1000
	}
	return 0
}

func (x *PaymentInfo) GetReceiverJid() string {
	if x != nil && x.ReceiverJid != nil {
		return *x.ReceiverJid
	}
	return ""
}

func (x *PaymentInfo) GetStatus() PaymentInfo_PaymentInfoStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return PaymentInfo_UNKNOWN_STATUS
}

func (x *PaymentInfo) GetTransactionTimestamp() uint64 {
	if x != nil && x.TransactionTimestamp != nil {
		return *x.TransactionTimestamp
	}
	return 0
}

func (x *PaymentInfo) GetRequestMessageKey() *MessageKey {
	if x != nil {
		return x.RequestMessageKey
	}
	return nil
}

func (x *PaymentInfo) GetExpiryTimestamp() uint64 {
	if x != nil && x.ExpiryTimestamp != nil {
		return *x.ExpiryTimestamp
	}
	return 0
}

func (x *PaymentInfo) GetFutureproofed() bool {
	if x != nil && x.Futureproofed != nil {
		return *x.Futureproofed
	}
	return false
}

func (x *PaymentInfo) GetCurrency() string {
	if x != nil && x.Currency != nil {
		return *x.Currency
	}
	return ""
}

func (x *PaymentInfo) GetTxnStatus() PaymentInfo_PaymentInfoTxnStatus {
	if x != nil && x.TxnStatus != nil {
		return *x.TxnStatus
	}
	return PaymentInfo_UNKNOWN
}

func (x *PaymentInfo) GetUseNoviFiatFormat() bool {
	if x != nil && x.UseNoviFiatFormat != nil {
		return *x.UseNoviFiatFormat
	}
	return false
}

func (x *PaymentInfo) GetPrimaryAmount() *PaymentMoney {
	if x != nil {
		return x.PrimaryAmount
	}
	return nil
}

func (x *PaymentInfo) GetExchangeAmount() *PaymentMoney {
	if x != nil {
		return x.ExchangeAmount
	}
	return nil
}

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

	Key                     *MessageKey                                    `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
	Message                 *Message                                       `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	MessageTimestamp        *uint64                                        `protobuf:"varint,3,opt,name=messageTimestamp" json:"messageTimestamp,omitempty"`
	Status                  *WebMessageInfo_WebMessageInfoStatus           `protobuf:"varint,4,opt,name=status,enum=proto.WebMessageInfo_WebMessageInfoStatus" json:"status,omitempty"`
	Participant             *string                                        `protobuf:"bytes,5,opt,name=participant" json:"participant,omitempty"`
	Ignore                  *bool                                          `protobuf:"varint,16,opt,name=ignore" json:"ignore,omitempty"`
	Starred                 *bool                                          `protobuf:"varint,17,opt,name=starred" json:"starred,omitempty"`
	Broadcast               *bool                                          `protobuf:"varint,18,opt,name=broadcast" json:"broadcast,omitempty"`
	PushName                *string                                        `protobuf:"bytes,19,opt,name=pushName" json:"pushName,omitempty"`
	MediaCiphertextSha256   []byte                                         `protobuf:"bytes,20,opt,name=mediaCiphertextSha256" json:"mediaCiphertextSha256,omitempty"`
	Multicast               *bool                                          `protobuf:"varint,21,opt,name=multicast" json:"multicast,omitempty"`
	UrlText                 *bool                                          `protobuf:"varint,22,opt,name=urlText" json:"urlText,omitempty"`
	UrlNumber               *bool                                          `protobuf:"varint,23,opt,name=urlNumber" json:"urlNumber,omitempty"`
	MessageStubType         *WebMessageInfo_WebMessageInfoStubType         `protobuf:"varint,24,opt,name=messageStubType,enum=proto.WebMessageInfo_WebMessageInfoStubType" json:"messageStubType,omitempty"`
	ClearMedia              *bool                                          `protobuf:"varint,25,opt,name=clearMedia" json:"clearMedia,omitempty"`
	MessageStubParameters   []string                                       `protobuf:"bytes,26,rep,name=messageStubParameters" json:"messageStubParameters,omitempty"`
	Duration                *uint32                                        `protobuf:"varint,27,opt,name=duration" json:"duration,omitempty"`
	Labels                  []string                                       `protobuf:"bytes,28,rep,name=labels" json:"labels,omitempty"`
	PaymentInfo             *PaymentInfo                                   `protobuf:"bytes,29,opt,name=paymentInfo" json:"paymentInfo,omitempty"`
	FinalLiveLocation       *LiveLocationMessage                           `protobuf:"bytes,30,opt,name=finalLiveLocation" json:"finalLiveLocation,omitempty"`
	QuotedPaymentInfo       *PaymentInfo                                   `protobuf:"bytes,31,opt,name=quotedPaymentInfo" json:"quotedPaymentInfo,omitempty"`
	EphemeralStartTimestamp *uint64                                        `protobuf:"varint,32,opt,name=ephemeralStartTimestamp" json:"ephemeralStartTimestamp,omitempty"`
	EphemeralDuration       *uint32                                        `protobuf:"varint,33,opt,name=ephemeralDuration" json:"ephemeralDuration,omitempty"`
	EphemeralOffToOn        *bool                                          `protobuf:"varint,34,opt,name=ephemeralOffToOn" json:"ephemeralOffToOn,omitempty"`
	EphemeralOutOfSync      *bool                                          `protobuf:"varint,35,opt,name=ephemeralOutOfSync" json:"ephemeralOutOfSync,omitempty"`
	BizPrivacyStatus        *WebMessageInfo_WebMessageInfoBizPrivacyStatus `protobuf:"varint,36,opt,name=bizPrivacyStatus,enum=proto.WebMessageInfo_WebMessageInfoBizPrivacyStatus" json:"bizPrivacyStatus,omitempty"`
	VerifiedBizName         *string                                        `protobuf:"bytes,37,opt,name=verifiedBizName" json:"verifiedBizName,omitempty"`
}

func (x *WebMessageInfo) Reset() {
	*x = WebMessageInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_def_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WebMessageInfo) ProtoMessage() {}

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

// Deprecated: Use WebMessageInfo.ProtoReflect.Descriptor instead.
func (*WebMessageInfo) Descriptor() ([]byte, []int) {
	return file_def_proto_rawDescGZIP(), []int{78}
}

func (x *WebMessageInfo) GetKey() *MessageKey {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *WebMessageInfo) GetMessage() *Message {
	if x != nil {
		return x.Message
	}
	return nil
}

func (x *WebMessageInfo) GetMessageTimestamp() uint64 {
	if x != nil && x.MessageTimestamp != nil {
		return *x.MessageTimestamp
	}
	return 0
}

func (x *WebMessageInfo) GetStatus() WebMessageInfo_WebMessageInfoStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return WebMessageInfo_ERROR
}

func (x *WebMessageInfo) GetParticipant() string {
	if x != nil && x.Participant != nil {
		return *x.Participant
	}
	return ""
}

func (x *WebMessageInfo) GetIgnore() bool {
	if x != nil && x.Ignore != nil {
		return *x.Ignore
	}
	return false
}

func (x *WebMessageInfo) GetStarred() bool {
	if x != nil && x.Starred != nil {
		return *x.Starred
	}
	return false
}

func (x *WebMessageInfo) GetBroadcast() bool {
	if x != nil && x.Broadcast != nil {
		return *x.Broadcast
	}
	return false
}

func (x *WebMessageInfo) GetPushName() string {
	if x != nil && x.PushName != nil {
		return *x.PushName
	}
	return ""
}

func (x *WebMessageInfo) GetMediaCiphertextSha256() []byte {
	if x != nil {
		return x.MediaCiphertextSha256
	}
	return nil
}

func (x *WebMessageInfo) GetMulticast() bool {
	if x != nil && x.Multicast != nil {
		return *x.Multicast
	}
	return false
}

func (x *WebMessageInfo) GetUrlText() bool {
	if x != nil && x.UrlText != nil {
		return *x.UrlText
	}
	return false
}

func (x *WebMessageInfo) GetUrlNumber() bool {
	if x != nil && x.UrlNumber != nil {
		return *x.UrlNumber
	}
	return false
}

func (x *WebMessageInfo) GetMessageStubType() WebMessageInfo_WebMessageInfoStubType {
	if x != nil && x.MessageStubType != nil {
		return *x.MessageStubType
	}
	return WebMessageInfo_UNKNOWN
}

func (x *WebMessageInfo) GetClearMedia() bool {
	if x != nil && x.ClearMedia != nil {
		return *x.ClearMedia
	}
	return false
}

func (x *WebMessageInfo) GetMessageStubParameters() []string {
	if x != nil {
		return x.MessageStubParameters
	}
	return nil
}

func (x *WebMessageInfo) GetDuration() uint32 {
	if x != nil && x.Duration != nil {
		return *x.Duration
	}
	return 0
}

func (x *WebMessageInfo) GetLabels() []string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *WebMessageInfo) GetPaymentInfo() *PaymentInfo {
	if x != nil {
		return x.PaymentInfo
	}
	return nil
}

func (x *WebMessageInfo) GetFinalLiveLocation() *LiveLocationMessage {
	if x != nil {
		return x.FinalLiveLocation
	}
	return nil
}

func (x *WebMessageInfo) GetQuotedPaymentInfo() *PaymentInfo {
	if x != nil {
		return x.QuotedPaymentInfo
	}
	return nil
}

func (x *WebMessageInfo) GetEphemeralStartTimestamp() uint64 {
	if x != nil && x.EphemeralStartTimestamp != nil {
		return *x.EphemeralStartTimestamp
	}
	return 0
}

func (x *WebMessageInfo) GetEphemeralDuration() uint32 {
	if x != nil && x.EphemeralDuration != nil {
		return *x.EphemeralDuration
	}
	return 0
}

func (x *WebMessageInfo) GetEphemeralOffToOn() bool {
	if x != nil && x.EphemeralOffToOn != nil {
		return *x.EphemeralOffToOn
	}
	return false
}

func (x *WebMessageInfo) GetEphemeralOutOfSync() bool {
	if x != nil && x.EphemeralOutOfSync != nil {
		return *x.EphemeralOutOfSync
	}
	return false
}

func (x *WebMessageInfo) GetBizPrivacyStatus() WebMessageInfo_WebMessageInfoBizPrivacyStatus {
	if x != nil && x.BizPrivacyStatus != nil {
		return *x.BizPrivacyStatus
	}
	return WebMessageInfo_E2EE
}

func (x *WebMessageInfo) GetVerifiedBizName() string {
	if x != nil && x.VerifiedBizName != nil {
		return *x.VerifiedBizName
	}
	return ""
}

var File_def_proto protoreflect.FileDescriptor

var file_def_proto_rawDesc = []byte{
	0x0a, 0x09, 0x64, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x22, 0x60, 0x0a, 0x0c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e,
	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
	0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
	0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79,
	0x43, 0x6f, 0x64, 0x65, 0x22, 0x4c, 0x0a, 0x18, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64,
	0x51, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e,
	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65,
	0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
	0x69, 0x64, 0x22, 0x47, 0x0a, 0x11, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x55, 0x52,
	0x4c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c,
	0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69,
	0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x58, 0x0a, 0x12, 0x48,
	0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f,
	0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54,
	0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x86, 0x02, 0x0a, 0x16, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74,
	0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e,
	0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4d, 0x0a, 0x10, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52,
	0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65,
	0x64, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f,
	0x6e, 0x48, 0x00, 0x52, 0x10, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42,
	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x75, 0x72, 0x6c, 0x42, 0x75, 0x74, 0x74,
	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x42, 0x75, 0x74, 0x74,
	0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x75, 0x72, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12,
	0x3b, 0x0a, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72,
	0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x48, 0x00,
	0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e,
	0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x64,
	0x0a, 0x10, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74,
	0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
	0x54, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x02, 0x69, 0x64, 0x22, 0x7f, 0x0a, 0x09, 0x55, 0x52, 0x4c, 0x42, 0x75, 0x74, 0x74, 0x6f,
	0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
	0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54,
	0x65, 0x78, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x90, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x75,
	0x74, 0x74, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54,
	0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72,
	0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c,
	0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x70, 0x68, 0x6f,
	0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xde, 0x01, 0x0a, 0x0e, 0x54, 0x65, 0x6d,
	0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69,
	0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65,
	0x78, 0x12, 0x45, 0x0a, 0x10, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42,
	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75,
	0x74, 0x74, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70,
	0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x75, 0x72, 0x6c, 0x42,
	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x52, 0x4c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x48, 0x00, 0x52,
	0x09, 0x75, 0x72, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x61,
	0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f,
	0x6e, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x42,
	0x08, 0x0a, 0x06, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x74, 0x0a, 0x08, 0x4c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73,
	0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f,
	0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12,
	0x2a, 0x0a, 0x10, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74,
	0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x64, 0x65, 0x67, 0x72, 0x65,
	0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
	0x67, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x78, 0x44, 0x65, 0x70,
	0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x78,
	0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x79, 0x44,
	0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x0b, 0x79, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x0c, 0x0a, 0x01,
	0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x22, 0x88, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x74,
	0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0f, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x56, 0x65, 0x72,
	0x74, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0f, 0x70, 0x6f, 0x6c, 0x79, 0x67,
	0x6f, 0x6e, 0x56, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x6c, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69,
	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65,
	0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68,
	0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x65,
	0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65,
	0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x4b,
	0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69,
	0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x12, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5f, 0x0a, 0x12, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x12,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x52, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf4, 0x01, 0x0a, 0x0b, 0x41, 0x64, 0x52, 0x65,
	0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72,
	0x74, 0x69, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x45, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x52, 0x65, 0x70,
	0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e,
	0x66, 0x6f, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x65, 0x64,
	0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68,
	0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a,
	0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07,
	0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
	0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x14, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c,
	0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08,
	0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47,
	0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x22, 0x8e,
	0x03, 0x0a, 0x13, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70,
	0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79,
	0x12, 0x55, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
	0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49,
	0x6e, 0x66, 0x6f, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x65,
	0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x68, 0x75, 0x6d, 0x62,
	0x6e, 0x61, 0x69, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74,
	0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
	0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
	0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62,
	0x6e, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d,
	0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x22,
	0x3e, 0x0a, 0x1c, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70,
	0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41,
	0x47, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x22,
	0xe0, 0x05, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
	0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70,
	0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x34, 0x0a,
	0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x69, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x69,
	0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x4a, 0x69,
	0x64, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
	0x65, 0x64, 0x4a, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44,
	0x61, 0x74, 0x61, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x16, 0x63, 0x6f, 0x6e,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f,
	0x6e, 0x64, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
	0x73, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53,
	0x63, 0x6f, 0x72, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x77,
	0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69,
	0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0b, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x2e, 0x0a,
	0x08, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x41, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x08, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x41, 0x64, 0x12, 0x39, 0x0a,
	0x0e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x18,
	0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68,
	0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78,
	0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x19, 0x65, 0x70, 0x68, 0x65,
	0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x65, 0x70, 0x68,
	0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x15, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65,
	0x72, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18,
	0x1b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c,
	0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x44, 0x0a, 0x0f,
	0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18,
	0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78,
	0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70,
	0x6c, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79,
	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x50, 0x0a,
	0x23, 0x61, 0x78, 0x6f, 0x6c, 0x6f, 0x74, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65,
	0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x23, 0x61, 0x78, 0x6f, 0x6c,
	0x6f, 0x74, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
	0xe6, 0x07, 0x0a, 0x0c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
	0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65,
	0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69,
	0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65,
	0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69,
	0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67,
	0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,
	0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b,
	0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b,
	0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61,
	0x32, 0x35, 0x36, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45,
	0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x54, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x65,
	0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f,
	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74,
	0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e,
	0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c,
	0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61,
	0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x24, 0x0a, 0x0d,
	0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61,
	0x69, 0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66,
	0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73,
	0x74, 0x53, 0x63, 0x61, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x12, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x53, 0x69, 0x64,
	0x65, 0x63, 0x61, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x63, 0x61,
	0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66,
	0x69, 0x72, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2c,
	0x0a, 0x11, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75,
	0x70, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x78, 0x70, 0x65, 0x72,
	0x69, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c,
	0x73, 0x63, 0x61, 0x6e, 0x73, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x15, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x0c, 0x73, 0x63, 0x61, 0x6e, 0x73, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72,
	0x12, 0x20, 0x0a, 0x0b, 0x73, 0x63, 0x61, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x18,
	0x16, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x63, 0x61, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74,
	0x68, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x69, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79,
	0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x14, 0x6d, 0x69, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x65,
	0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x38, 0x0a, 0x17, 0x6d, 0x69, 0x64, 0x51, 0x75, 0x61,
	0x6c, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35,
	0x36, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x6d, 0x69, 0x64, 0x51, 0x75, 0x61, 0x6c,
	0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36,
	0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x18, 0x19, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x13,
	0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50,
	0x61, 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62,
	0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28,
	0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35,
	0x36, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61,
	0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x68, 0x75, 0x6d,
	0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x1c,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45,
	0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0xc8, 0x04, 0x0a, 0x0e, 0x49, 0x6e, 0x76,
	0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x12,
	0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5a, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d,
	0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d,
	0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61,
	0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70,
	0x65, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d,
	0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x61,
	0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65,
	0x79, 0x12, 0x40, 0x0a, 0x1b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d,
	0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65,
	0x6e, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e,
	0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c,
	0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x38, 0x0a, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63,
	0x68, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32,
	0x35, 0x36, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68,
	0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35,
	0x36, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x44,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d,
	0x65, 0x6e, 0x74, 0x4a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65,
	0x6e, 0x74, 0x4a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x22,
	0x32, 0x0a, 0x1c, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x44,
	0x46, 0x10, 0x01, 0x22, 0x7e, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70,
	0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x63, 0x61, 0x72, 0x64,
	0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x63, 0x61, 0x72, 0x64, 0x12, 0x34, 0x0a,
	0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x22, 0xcf, 0x03, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65,
	0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64,
	0x65, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67,
	0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x64, 0x65, 0x67,
	0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75,
	0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a,
	0x06, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
	0x73, 0x4c, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63,
	0x79, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x10, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72,
	0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x70, 0x73, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x70,
	0x73, 0x12, 0x4c, 0x0a, 0x21, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x43, 0x6c, 0x6f, 0x63,
	0x6b, 0x77, 0x69, 0x73, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69,
	0x63, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x21, 0x64, 0x65,
	0x67, 0x72, 0x65, 0x65, 0x73, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x69, 0x73, 0x65, 0x46, 0x72,
	0x6f, 0x6d, 0x4d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x12,
	0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65,
	0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12,
	0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xdd, 0x05, 0x0a, 0x13, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64,
	0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78,
	0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x54,
	0x65, 0x78, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c,
	0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e,
	0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74,
	0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x67, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x07, 0x52, 0x08, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x67, 0x62, 0x12, 0x26, 0x0a, 0x0e, 0x62,
	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x72, 0x67, 0x62, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x07, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41,
	0x72, 0x67, 0x62, 0x12, 0x4a, 0x0a, 0x04, 0x66, 0x6f, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64,
	0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x78,
	0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x46, 0x6f, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x66, 0x6f, 0x6e, 0x74, 0x12,
	0x5b, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74,
	0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x52,
	0x0b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d,
	0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61,
	0x69, 0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66,
	0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x6f, 0x4e, 0x6f,
	0x74, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0f, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x6c, 0x69,
	0x6e, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54,
	0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x46,
	0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x45, 0x52, 0x49, 0x46, 0x10, 0x01, 0x12, 0x13, 0x0a,
	0x0f, 0x4e, 0x4f, 0x52, 0x49, 0x43, 0x41, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52,
	0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x52, 0x59, 0x4e, 0x44, 0x41, 0x4e, 0x5f, 0x57, 0x52,
	0x49, 0x54, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x45, 0x42, 0x41, 0x53, 0x4e, 0x45,
	0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c,
	0x4f, 0x53, 0x57, 0x41, 0x4c, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x56, 0x59, 0x10, 0x05, 0x22, 0x35,
	0x0a, 0x1e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49,
	0x44, 0x45, 0x4f, 0x10, 0x01, 0x22, 0xbd, 0x05, 0x0a, 0x0f, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
	0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
	0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a,
	0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a,
	0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, 0x0a,
	0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
	0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d,
	0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68,
	0x61, 0x32, 0x35, 0x36, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65,
	0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72,
	0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64,
	0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61,
	0x63, 0x74, 0x56, 0x63, 0x61, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x56, 0x63, 0x61, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x74,
	0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61,
	0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e,
	0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a,
	0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69,
	0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x68, 0x75, 0x6d, 0x62,
	0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x0f, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x12, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e,
	0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54,
	0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d,
	0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a,
	0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c,
	0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x68,
	0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x26, 0x0a,
	0x0e, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18,
	0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c,
	0x57, 0x69, 0x64, 0x74, 0x68, 0x22, 0x9a, 0x03, 0x0a, 0x0c, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65,
	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65,
	0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32,
	0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68,
	0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67,
	0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65,
	0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x10,
	0x0a, 0x03, 0x70, 0x74, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x70, 0x74, 0x74,
	0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d,
	0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32,
	0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61,
	0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d,
	0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18,
	0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
	0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65, 0x63,
	0x61, 0x72, 0x22, 0xa6, 0x07, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70,
	0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35,
	0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74,
	0x68, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
	0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d,
	0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x69, 0x66, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x67, 0x69, 0x66, 0x50, 0x6c, 0x61, 0x79, 0x62,
	0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77,
	0x69, 0x64, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74,
	0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32,
	0x35, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e,
	0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x54, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72,
	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69,
	0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a,
	0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a,
	0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b,
	0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x6a,
	0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69,
	0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61,
	0x6d, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65,
	0x63, 0x61, 0x72, 0x12, 0x53, 0x0a, 0x0e, 0x67, 0x69, 0x66, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x74, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x67, 0x69, 0x66, 0x41, 0x74, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x65, 0x77,
	0x4f, 0x6e, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77,
	0x4f, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69,
	0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e,
	0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36,
	0x12, 0x2e, 0x0a, 0x12, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63,
	0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x74, 0x68,
	0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36,
	0x22, 0x39, 0x0a, 0x17, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e,
	0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x49, 0x50, 0x48, 0x59, 0x10, 0x01,
	0x12, 0x09, 0x0a, 0x05, 0x54, 0x45, 0x4e, 0x4f, 0x52, 0x10, 0x02, 0x22, 0x20, 0x0a, 0x04, 0x43,
	0x61, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x4b, 0x65, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x4b, 0x65, 0x79, 0x22, 0x38, 0x0a,
	0x04, 0x43, 0x68, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70,
	0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x9d, 0x08, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x12, 0x30, 0x0a, 0x13, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x78, 0x70,
	0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x65,
	0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x19, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53,
	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c,
	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x12, 0x58, 0x0a, 0x17, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e,
	0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
	0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x17, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f,
	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x14, 0x61, 0x70,
	0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61,
	0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79,
	0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x14, 0x61, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53,
	0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x55, 0x0a, 0x16, 0x61,
	0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63,
	0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x16, 0x61, 0x70, 0x70, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x85, 0x01, 0x0a, 0x26, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65,
	0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x69, 0x74,
	0x69, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79,
	0x6e, 0x63, 0x52, 0x26, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72,
	0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x79, 0x0a, 0x22, 0x61, 0x70,
	0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x63, 0x65, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
	0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x63, 0x65,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x22, 0x61, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x61, 0x74, 0x61, 0x6c,
	0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x02, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a,
	0x06, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x50, 0x48,
	0x45, 0x4d, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03,
	0x12, 0x1b, 0x0a, 0x17, 0x45, 0x50, 0x48, 0x45, 0x4d, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x59,
	0x4e, 0x43, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x04, 0x12, 0x1d, 0x0a,
	0x19, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4e, 0x4f,
	0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18,
	0x41, 0x50, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b,
	0x45, 0x59, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x50,
	0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x45, 0x59,
	0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x53,
	0x47, 0x5f, 0x46, 0x41, 0x4e, 0x4f, 0x55, 0x54, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x46, 0x49, 0x4c,
	0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x08, 0x12, 0x2e, 0x0a, 0x2a, 0x49,
	0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f,
	0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54,
	0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x09, 0x12, 0x2a, 0x0a, 0x26, 0x41,
	0x50, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x5f, 0x45,
	0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43,
	0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x22, 0xe9, 0x03, 0x0a, 0x17, 0x48, 0x69, 0x73, 0x74,
	0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35,
	0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61,
	0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74,
	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e,
	0x67, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12,
	0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53,
	0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50,
	0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x61, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53,
	0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
	0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08,
	0x73, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e,
	0x6b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x68,
	0x75, 0x6e, 0x6b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x6f, 0x72, 0x69, 0x67,
	0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x7b, 0x0a, 0x26, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
	0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x42, 0x4f, 0x4f, 0x54,
	0x53, 0x54, 0x52, 0x41, 0x50, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x49, 0x54, 0x49,
	0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, 0x33, 0x10, 0x01, 0x12, 0x08,
	0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x43, 0x45,
	0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x41, 0x4d,
	0x45, 0x10, 0x04, 0x22, 0x77, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53,
	0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70,
	0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52,
	0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74,
	0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x44,
	0x61, 0x74, 0x61, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x29, 0x0a, 0x11,
	0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x49,
	0x64, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x1a, 0x41, 0x70, 0x70, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6e, 0x67, 0x65,
	0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x77, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x61, 0x77, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c,
	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78,
	0x12, 0x28, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65,
	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x13, 0x41,
	0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x44, 0x61,
	0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x0b,
	0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70,
	0x72, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e,
	0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22,
	0x42, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b,
	0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70,
	0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b,
	0x65, 0x79, 0x73, 0x22, 0x4a, 0x0a, 0x16, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53,
	0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a,
	0x06, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79,
	0x6e, 0x63, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22,
	0x6c, 0x0a, 0x22, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x61, 0x74, 0x61, 0x6c,
	0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f,
	0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12,
	0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x6a, 0x0a,
	0x26, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79,
	0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74,
	0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x40, 0x0a, 0x1b, 0x73, 0x65, 0x63, 0x75, 0x72,
	0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x73, 0x65,
	0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x14, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x51, 0x0a,
	0x0b, 0x48, 0x53, 0x4d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x22, 0x0a, 0x0c,
	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30,
	0x22, 0x88, 0x04, 0x0a, 0x14, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x09, 0x64, 0x61, 0x79,
	0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74,
	0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x44, 0x61,
	0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x64, 0x61, 0x79,
	0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f,
	0x6e, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68,
	0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x4d, 0x6f, 0x6e, 0x74, 0x68,
	0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
	0x68, 0x6f, 0x75, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x08,
	0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69,
	0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x53, 0x4d, 0x44,
	0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
	0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61,
	0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x22, 0x7f, 0x0a, 0x21, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74,
	0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x44, 0x61,
	0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4d,
	0x4f, 0x4e, 0x44, 0x41, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x55, 0x45, 0x53, 0x44,
	0x41, 0x59, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x45, 0x44, 0x4e, 0x45, 0x53, 0x44, 0x41,
	0x59, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x48, 0x55, 0x52, 0x53, 0x44, 0x41, 0x59, 0x10,
	0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x52, 0x49, 0x44, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0c, 0x0a,
	0x08, 0x53, 0x41, 0x54, 0x55, 0x52, 0x44, 0x41, 0x59, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x53,
	0x55, 0x4e, 0x44, 0x41, 0x59, 0x10, 0x07, 0x22, 0x42, 0x0a, 0x20, 0x48, 0x53, 0x4d, 0x44, 0x61,
	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43,
	0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x47,
	0x52, 0x45, 0x47, 0x4f, 0x52, 0x49, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4f,
	0x4c, 0x41, 0x52, 0x5f, 0x48, 0x49, 0x4a, 0x52, 0x49, 0x10, 0x02, 0x22, 0x34, 0x0a, 0x14, 0x48,
	0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x45, 0x70,
	0x6f, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x22, 0x98, 0x01, 0x0a, 0x0b, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
	0x65, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x53, 0x4d,
	0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
	0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x3b,
	0x0a, 0x09, 0x75, 0x6e, 0x69, 0x78, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74,
	0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x48, 0x00,
	0x52, 0x09, 0x75, 0x6e, 0x69, 0x78, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x64,
	0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x22, 0xa5, 0x01, 0x0a,
	0x17, 0x48, 0x53, 0x4d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50,
	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61,
	0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75,
	0x6c, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x53, 0x4d,
	0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x00, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72,
	0x65, 0x6e, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
	0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x61,
	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4f,
	0x6e, 0x65, 0x6f, 0x66, 0x22, 0x8d, 0x03, 0x0a, 0x17, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20,
	0x0a, 0x0b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x6c, 0x6c,
	0x62, 0x61, 0x63, 0x6b, 0x4c, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61,
	0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x6c, 0x6c,
	0x62, 0x61, 0x63, 0x6b, 0x4c, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61,
	0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x63, 0x12, 0x4c, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61,
	0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x53, 0x4d, 0x4c,
	0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
	0x74, 0x65, 0x72, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65,
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d,
	0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4c, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4c, 0x67,
	0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69,
	0x63, 0x4c, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x74, 0x65, 0x72,
	0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4c, 0x63, 0x12, 0x38, 0x0a, 0x0b, 0x68, 0x79,
	0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x48, 0x73, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65,
	0x64, 0x48, 0x73, 0x6d, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79,
	0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x6e,
	0x6f, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a,
	0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b,
	0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x11, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x94,
	0x02, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e,
	0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6e,
	0x6f, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x75,
	0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x6f, 0x34, 0x32, 0x31,
	0x37, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
	0x79, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x6f, 0x34, 0x32, 0x31, 0x37, 0x12, 0x1e, 0x0a, 0x0a,
	0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x12, 0x20, 0x0a, 0x0b,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x28,
	0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2b, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75,
	0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x06, 0x61,
	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x1c, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65,
	0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x42, 0x0a, 0x1b, 0x43, 0x61,
	0x6e, 0x63, 0x65, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xc3,
	0x03, 0x0a, 0x13, 0x4c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65,
	0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65,
	0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69,
	0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x64, 0x65, 0x67, 0x72,
	0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10,
	0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79,
	0x49, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65,
	0x64, 0x49, 0x6e, 0x4d, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x73, 0x70,
	0x65, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x70, 0x73, 0x12, 0x4c, 0x0a, 0x21, 0x64, 0x65, 0x67, 0x72,
	0x65, 0x65, 0x73, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x69, 0x73, 0x65, 0x46, 0x72, 0x6f, 0x6d,
	0x4d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x21, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x43, 0x6c, 0x6f, 0x63,
	0x6b, 0x77, 0x69, 0x73, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69,
	0x63, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e,
	0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65,
	0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69,
	0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67,
	0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x34,
	0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x22, 0x90, 0x04, 0x0a, 0x0e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c,
	0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66,
	0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c,
	0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12,
	0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
	0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
	0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
	0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
	0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
	0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50,
	0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e,
	0x67, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c,
	0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65,
	0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d,
	0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x66,
	0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12,
	0x2c, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x64,
	0x65, 0x63, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73,
	0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x12, 0x1e, 0x0a,
	0x0a, 0x69, 0x73, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x12, 0x22, 0x0a,
	0x0c, 0x70, 0x6e, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0c, 0x70, 0x6e, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69,
	0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x97, 0x04, 0x0a, 0x0f, 0x46, 0x6f, 0x75, 0x72,
	0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x63,
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63,
	0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69,
	0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x06, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x0a,
	0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42,
	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x42,
	0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
	0x00, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x5a, 0x0a, 0x17, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75,
	0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68,
	0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x17, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39,
	0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6d, 0x61,
	0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x76, 0x69, 0x64,
	0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
	0x65, 0x22, 0x9b, 0x04, 0x0a, 0x17, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f,
	0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a,
	0x13, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
	0x54, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x68, 0x79, 0x64, 0x72,
	0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12,
	0x2e, 0x0a, 0x12, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6f, 0x74, 0x65,
	0x72, 0x54, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x68, 0x79, 0x64,
	0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x12,
	0x47, 0x0a, 0x0f, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f,
	0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
	0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x0f, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65,
	0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70,
	0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65,
	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x63,
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x11,
	0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x54, 0x65, 0x78,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x68, 0x79, 0x64, 0x72, 0x61,
	0x74, 0x65, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x0c,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22,
	0xbd, 0x02, 0x0a, 0x0f, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e,
	0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x10, 0x68, 0x79, 0x64,
	0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72,
	0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c,
	0x61, 0x74, 0x65, 0x52, 0x10, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d,
	0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x66, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77,
	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65,
	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x6f, 0x75, 0x72, 0x52, 0x6f,
	0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x17, 0x68, 0x79, 0x64,
	0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70,
	0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x75, 0x72, 0x52,
	0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x17, 0x68, 0x79,
	0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d,
	0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22,
	0xca, 0x01, 0x0a, 0x1a, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74,
	0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e,
	0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x64, 0x12, 0x30,
	0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
	0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x6c,
	0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74,
	0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
	0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73,
	0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x82, 0x01, 0x0a,
	0x0f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
	0x12, 0x37, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x61, 0x74,
	0x61, 0x6c, 0x6f, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74,
	0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12,
	0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x22, 0xf2, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6e, 0x61,
	0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c,
	0x0a, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
	0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
	0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79,
	0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72,
	0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x63,
	0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30,
	0x30, 0x30, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x49, 0x64,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x11, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0xd6, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75,
	0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x70, 0x72, 0x6f,
	0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
	0x6f, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x62,
	0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4f,
	0x77, 0x6e, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c,
	0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
	0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22,
	0xbe, 0x04, 0x0a, 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68,
	0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74,
	0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65,
	0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x73,
	0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x07, 0x73, 0x75, 0x72, 0x66,
	0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a,
	0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1c, 0x0a,
	0x09, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65,
	0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
	0x31, 0x30, 0x30, 0x30, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x12, 0x2c, 0x0a, 0x11, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22,
	0x26, 0x0a, 0x17, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e,
	0x51, 0x55, 0x49, 0x52, 0x59, 0x10, 0x01, 0x22, 0x27, 0x0a, 0x18, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x72, 0x66,
	0x61, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0x01,
	0x22, 0x53, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a,
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x14, 0x0a, 0x05, 0x72, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x72, 0x6f, 0x77, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x77,
	0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x8c, 0x02, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b,
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e,
	0x0a, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x42,
	0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x35,
	0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
	0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x4c,
	0x45, 0x43, 0x54, 0x10, 0x01, 0x22, 0x39, 0x0a, 0x11, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53,
	0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65,
	0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x49, 0x64,
	0x22, 0xde, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x52,
	0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x6c, 0x65,
	0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x6c, 0x65,
	0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53,
	0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x22, 0x3d, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11,
	0x0a, 0x0d, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10,
	0x01, 0x22, 0x90, 0x02, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74,
	0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x4a, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f,
	0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65,
	0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x45, 0x78,
	0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10,
	0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24,
	0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62,
	0x6e, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34,
	0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x10, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72,
	0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61,
	0x74, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x74,
	0x4a, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c,
	0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x13, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x19, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72,
	0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65,
	0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x22, 0xd4, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65,
	0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x73,
	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x69,
	0x64, 0x12, 0x28, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70,
	0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73,
	0x68, 0x12, 0x57, 0x0a, 0x1a, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x45, 0x70,
	0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x70,
	0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x1a,
	0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72,
	0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3e, 0x0a, 0x12, 0x46, 0x75,
	0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x12, 0x28, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2e, 0x0a, 0x0a, 0x42, 0x75,
	0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70,
	0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x06, 0x42,
	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x49,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x49,
	0x64, 0x12, 0x31, 0x0a, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75,
	0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,
	0x54, 0x65, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f,
	0x6e, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x22, 0x27, 0x0a, 0x0a, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a,
	0x08, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x01, 0x22, 0x8f, 0x05, 0x0a, 0x0e,
	0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20,
	0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74,
	0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74,
	0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65,
	0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,
	0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12,
	0x4e, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74,
	0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f,
	0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54,
	0x79, 0x70, 0x65, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
	0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x69, 0x6d, 0x61,
	0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
	0x00, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
	0x42, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x00, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x22, 0x6e, 0x0a, 0x18, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
	0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10,
	0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12,
	0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49,
	0x44, 0x45, 0x4f, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f,
	0x4e, 0x10, 0x06, 0x42, 0x08, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xc5, 0x02,
	0x0a, 0x16, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x65,
	0x63, 0x74, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74,
	0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65,
	0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65,
	0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x22, 0x3b, 0x0a, 0x1a,
	0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x50, 0x4c,
	0x41, 0x59, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe2, 0x13, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x1c, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b,
	0x65, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73,
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x52, 0x1c, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72,
	0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37,
	0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61,
	0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65,
	0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78,
	0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69,
	0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x12, 0x37, 0x0a, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x76, 0x69,
	0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x63, 0x61,
	0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x1f, 0x0a, 0x04, 0x63,
	0x68, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x40, 0x0a, 0x0f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f,
	0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x41, 0x72, 0x72,
	0x61, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61,
	0x63, 0x74, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
	0x58, 0x0a, 0x17, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75,
	0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x52, 0x17, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72,
	0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x2a, 0x66, 0x61,
	0x73, 0x74, 0x52, 0x61, 0x74, 0x63, 0x68, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x6e, 0x64,
	0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
	0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79,
	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x52, 0x2a, 0x66, 0x61, 0x73, 0x74, 0x52, 0x61, 0x74, 0x63, 0x68, 0x65, 0x74,
	0x4b, 0x65, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
	0x49, 0x0a, 0x12, 0x73, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x12, 0x73, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d,
	0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x13, 0x6c, 0x69,
	0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x4c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x52, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x1c,
	0x64, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x17, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x69,
	0x6e, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1c, 0x64, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65,
	0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x1b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50,
	0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1b,
	0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x74,
	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x19,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d,
	0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x74, 0x65,
	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a,
	0x0e, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
	0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74,
	0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x73, 0x74,
	0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x49, 0x0a, 0x12,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x52, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x1a, 0x74, 0x65, 0x6d, 0x70, 0x6c,
	0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74,
	0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1a,
	0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x65,
	0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x70, 0x72,
	0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
	0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75,
	0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1f,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x11,
	0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x12, 0x49, 0x0a, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74,
	0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e,
	0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x0b,
	0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x12, 0x4c, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x45,
	0x0a, 0x10, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x52, 0x10, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x52, 0x0e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x16, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x2b, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74,
	0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x52, 0x16, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x74, 0x0a, 0x0a, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f,
	0x74, 0x65, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6d,
	0x6f, 0x74, 0x65, 0x4a, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20,
	0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
	0x22, 0xc5, 0x19, 0x0a, 0x0b, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
	0x12, 0x48, 0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x6c, 0x61, 0x62,
	0x65, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x5a, 0x0a, 0x16, 0x76, 0x6f,
	0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x67,
	0x6f, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57,
	0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x16,
	0x76, 0x6f, 0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x4f, 0x75,
	0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
	0x56, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62,
	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x08, 0x67, 0x72,
	0x6f, 0x75, 0x70, 0x73, 0x56, 0x33, 0x12, 0x4a, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
	0x56, 0x33, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c,
	0x61, 0x67, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x56, 0x33, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x12, 0x4a, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x56, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57,
	0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e,
	0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x32, 0x12, 0x5a,
	0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x33, 0x54,
	0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c,
	0x61, 0x67, 0x52, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56,
	0x33, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x48, 0x0a, 0x0d, 0x6c, 0x69,
	0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61,
	0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
	0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x6c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62,
	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0a, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x56, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x16, 0x76, 0x6f, 0x69, 0x70,
	0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69,
	0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62,
	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x16, 0x76, 0x6f,
	0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f,
	0x6d, 0x69, 0x6e, 0x67, 0x12, 0x50, 0x0a, 0x11, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70,
	0x6c, 0x69, 0x65, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46,
	0x6c, 0x61, 0x67, 0x52, 0x11, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65,
	0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e,
	0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62,
	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x08, 0x70, 0x61,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4e, 0x0a, 0x10, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65,
	0x72, 0x50, 0x61, 0x63, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
	0x46, 0x6c, 0x61, 0x67, 0x52, 0x10, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x63,
	0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x12, 0x6c, 0x69, 0x76, 0x65, 0x4c, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x12, 0x6c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x0a, 0x6c, 0x61,
	0x62, 0x65, 0x6c, 0x73, 0x45, 0x64, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c,
	0x61, 0x67, 0x52, 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x64, 0x69, 0x74, 0x12, 0x44,
	0x0a, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0f, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x64, 0x0a, 0x1b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x52, 0x69, 0x63, 0x68, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c,
	0x69, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65,
	0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x1b, 0x6d,
	0x65, 0x64, 0x69, 0x61, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x69, 0x63, 0x68, 0x51, 0x75,
	0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x76, 0x6e,
	0x61, 0x6d, 0x65, 0x56, 0x32, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e,
	0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52,
	0x07, 0x76, 0x6e, 0x61, 0x6d, 0x65, 0x56, 0x32, 0x12, 0x4e, 0x0a, 0x10, 0x76, 0x69, 0x64, 0x65,
	0x6f, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x72, 0x6c, 0x18, 0x14, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x10, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x6c, 0x61,
	0x79, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x48, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46,
	0x6c, 0x61, 0x67, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x69,
	0x6e, 0x67, 0x12, 0x54, 0x0a, 0x13, 0x76, 0x6f, 0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69,
	0x64, 0x75, 0x61, 0x6c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46,
	0x6c, 0x61, 0x67, 0x52, 0x13, 0x76, 0x6f, 0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64,
	0x75, 0x61, 0x6c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x52, 0x0a, 0x12, 0x74, 0x68, 0x69, 0x72,
	0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x17,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62,
	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x12, 0x74, 0x68, 0x69, 0x72, 0x64, 0x50,
	0x61, 0x72, 0x74, 0x79, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x62, 0x0a, 0x1a,
	0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72,
	0x64, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
	0x46, 0x6c, 0x61, 0x67, 0x52, 0x1a, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79,
	0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
	0x12, 0x5a, 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x56, 0x34, 0x4a, 0x6f, 0x69, 0x6e,
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
	0x46, 0x6c, 0x61, 0x67, 0x52, 0x16, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x56, 0x34, 0x4a, 0x6f,
	0x69, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0e,
	0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x1a,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62,
	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74,
	0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61,
	0x6c, 0x6f, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65,
	0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x63,
	0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65,
	0x64, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46,
	0x6c, 0x61, 0x67, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x53, 0x74, 0x69, 0x63,
	0x6b, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x0d, 0x76, 0x6f, 0x69, 0x70, 0x47, 0x72, 0x6f, 0x75,
	0x70, 0x43, 0x61, 0x6c, 0x6c, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e,
	0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52,
	0x0d, 0x76, 0x6f, 0x69, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x4c,
	0x0a, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0f, 0x74, 0x65, 0x6d,
	0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x66, 0x0a, 0x1c,
	0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49,
	0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x1f, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x1c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69,
	0x76, 0x69, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x11, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61,
	0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46,
	0x6c, 0x61, 0x67, 0x52, 0x11, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x13, 0x65, 0x32, 0x45, 0x4e, 0x6f, 0x74,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x21, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x13, 0x65, 0x32, 0x45, 0x4e, 0x6f, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x4e, 0x0a, 0x10,
	0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x56, 0x32,
	0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57,
	0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65,
	0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0d,
	0x73, 0x79, 0x6e, 0x63, 0x64, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x31, 0x18, 0x23, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x64, 0x52, 0x65,
	0x6c, 0x65, 0x61, 0x73, 0x65, 0x31, 0x12, 0x4e, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74,
	0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x56, 0x33, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
	0x46, 0x6c, 0x61, 0x67, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63,
	0x6b, 0x65, 0x72, 0x73, 0x56, 0x33, 0x12, 0x42, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f,
	0x74, 0x69, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57,
	0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0a,
	0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0e, 0x73, 0x79,
	0x6e, 0x63, 0x64, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x31, 0x31, 0x18, 0x26, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x64, 0x52, 0x65, 0x6c,
	0x65, 0x61, 0x73, 0x65, 0x31, 0x31, 0x12, 0x3c, 0x0a, 0x07, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
	0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x73, 0x75, 0x70,
	0x70, 0x6f, 0x72, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x69, 0x69,
	0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
	0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61,
	0x67, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x69, 0x69, 0x43, 0x6c, 0x65, 0x61, 0x6e,
	0x75, 0x70, 0x12, 0x64, 0x0a, 0x1b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x6f, 0x67, 0x66, 0x6f,
	0x6f, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x6c,
	0x79, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x1b, 0x67, 0x72, 0x6f,
	0x75, 0x70, 0x44, 0x6f, 0x67, 0x66, 0x6f, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x46, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74,
	0x69, 0x6e, 0x67, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46, 0x6c,
	0x61, 0x67, 0x52, 0x0c, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x79, 0x6e, 0x63,
	0x22, 0x56, 0x0a, 0x0f, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x46,
	0x6c, 0x61, 0x67, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54,
	0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x50,
	0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x56, 0x45, 0x4c,
	0x4f, 0x50, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x44,
	0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0xb6, 0x01, 0x0a, 0x17, 0x4e, 0x6f, 0x74,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x07, 0x6d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
	0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
	0x74, 0x22, 0xc5, 0x01, 0x0a, 0x14, 0x57, 0x65, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65,
	0x61, 0x64, 0x43, 0x68, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75,
	0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x6f,
	0x74, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0e, 0x6e, 0x6f,
	0x74, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66,
	0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x9b, 0x0c, 0x0a, 0x0b, 0x50, 0x61,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x56, 0x0a, 0x12, 0x63, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x63, 0x79, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x12, 0x63,
	0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65,
	0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30,
	0x30, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72,
	0x4a, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d,
	0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3f, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x4b, 0x65, 0x79, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x12, 0x24, 0x0a, 0x0d, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x65,
	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x70,
	0x72, 0x6f, 0x6f, 0x66, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
	0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
	0x63, 0x79, 0x12, 0x45, 0x0a, 0x09, 0x74, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09,
	0x74, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x75, 0x73, 0x65,
	0x4e, 0x6f, 0x76, 0x69, 0x46, 0x69, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x4e, 0x6f, 0x76, 0x69, 0x46, 0x69, 0x61,
	0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x39, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61,
	0x72, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f,
	0x6e, 0x65, 0x79, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x6d, 0x6f, 0x75,
	0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52,
	0x0e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22,
	0x34, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x75,
	0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
	0x4e, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03,
	0x49, 0x4e, 0x52, 0x10, 0x01, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x55,
	0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12,
	0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12,
	0x08, 0x0a, 0x04, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x45, 0x45,
	0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x12, 0x0c, 0x0a,
	0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43,
	0x4f, 0x55, 0x4c, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54,
	0x45, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x45, 0x44, 0x10,
	0x06, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0c,
	0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09,
	0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x57,
	0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x50, 0x41, 0x59, 0x45, 0x52,
	0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x22,
	0xd5, 0x04, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54,
	0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e,
	0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47,
	0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x45, 0x4e, 0x44,
	0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x54,
	0x55, 0x50, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x03, 0x12, 0x0b,
	0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43,
	0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41,
	0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44,
	0x5f, 0x52, 0x49, 0x53, 0x4b, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x49, 0x4c, 0x45,
	0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x1e,
	0x0a, 0x1a, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45,
	0x52, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0d,
	0x0a, 0x09, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x10, 0x0a, 0x12, 0x13, 0x0a,
	0x0f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c,
	0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x54,
	0x58, 0x4e, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x5f, 0x46,
	0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x46, 0x55, 0x4e,
	0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53,
	0x49, 0x4e, 0x47, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x5f,
	0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x10, 0x0f, 0x12, 0x0f, 0x0a, 0x0b, 0x45,
	0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x54, 0x58, 0x4e, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d,
	0x41, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x11, 0x12,
	0x21, 0x0a, 0x1d, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x5f, 0x46,
	0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47,
	0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45,
	0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x13, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f,
	0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x14, 0x12, 0x13, 0x0a, 0x0f,
	0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10,
	0x15, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49,
	0x4c, 0x45, 0x44, 0x10, 0x16, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54,
	0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x49, 0x53, 0x4b, 0x10, 0x17, 0x12, 0x14,
	0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54,
	0x45, 0x44, 0x10, 0x18, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f,
	0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x19, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4c,
	0x4c, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x1a, 0x12,
	0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45,
	0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x1b, 0x22, 0x81, 0x2c, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x03, 0x6b, 0x65,
	0x79, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
	0x28, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65,
	0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x57, 0x65, 0x62,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69,
	0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x67, 0x6e,
	0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x18, 0x11,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x12, 0x1c, 0x0a,
	0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x6d, 0x65, 0x64, 0x69, 0x61,
	0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36,
	0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x69, 0x70,
	0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1c, 0x0a,
	0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x75,
	0x72, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x72,
	0x6c, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x72, 0x6c, 0x4e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x72, 0x6c, 0x4e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74,
	0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49,
	0x6e, 0x66, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e,
	0x66, 0x6f, 0x53, 0x74, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x53, 0x74, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
	0x6c, 0x65, 0x61, 0x72, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0a, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x34, 0x0a, 0x15, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x75, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
	0x74, 0x65, 0x72, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x53, 0x74, 0x75, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c,
	0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b,
	0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x11, 0x66,
	0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c,
	0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x11, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x50,
	0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6d,
	0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x17, 0x65, 0x70, 0x68, 0x65, 0x6d,
	0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x18, 0x20, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65,
	0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x44, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x70,
	0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x2a, 0x0a, 0x10, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x54,
	0x6f, 0x4f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x70, 0x68, 0x65, 0x6d,
	0x65, 0x72, 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x54, 0x6f, 0x4f, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x65,
	0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x53, 0x79, 0x6e,
	0x63, 0x18, 0x23, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72,
	0x61, 0x6c, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x60, 0x0a, 0x10, 0x62,
	0x69, 0x7a, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
	0x24, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65,
	0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x57, 0x65, 0x62,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x69, 0x7a, 0x50, 0x72,
	0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x62, 0x69, 0x7a,
	0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a,
	0x0f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x69, 0x7a, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
	0x42, 0x69, 0x7a, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x14, 0x57, 0x65, 0x62, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45,
	0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x52, 0x56, 0x45,
	0x52, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4c, 0x49, 0x56,
	0x45, 0x52, 0x59, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41,
	0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x44, 0x10, 0x05, 0x22,
	0xec, 0x20, 0x0a, 0x16, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e,
	0x66, 0x6f, 0x53, 0x74, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x56, 0x4f, 0x4b,
	0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x54, 0x45, 0x58,
	0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x50, 0x52, 0x4f,
	0x4f, 0x46, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x4f, 0x4e, 0x5f, 0x56, 0x45, 0x52, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10,
	0x04, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f,
	0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13,
	0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54,
	0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45,
	0x44, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x12,
	0x11, 0x0a, 0x0d, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x48, 0x49, 0x47, 0x48,
	0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x49,
	0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x09,
	0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x49,
	0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x45,
	0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x48,
	0x49, 0x47, 0x48, 0x10, 0x0b, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45,
	0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x59,
	0x5f, 0x54, 0x4f, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x0c, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x45,
	0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x41, 0x4e, 0x59, 0x5f, 0x54, 0x4f, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x0d, 0x12,
	0x23, 0x0a, 0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e,
	0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x4c,
	0x4f, 0x57, 0x10, 0x0e, 0x12, 0x27, 0x0a, 0x23, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48,
	0x5f, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x0f, 0x12, 0x26, 0x0a,
	0x22, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49,
	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x54, 0x4f, 0x5f,
	0x4c, 0x4f, 0x57, 0x10, 0x10, 0x12, 0x26, 0x0a, 0x22, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45,
	0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x57,
	0x5f, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x11, 0x12, 0x23, 0x0a,
	0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49,
	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x57,
	0x10, 0x12, 0x12, 0x27, 0x0a, 0x23, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54,
	0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x54,
	0x4f, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x13, 0x12, 0x10, 0x0a, 0x0c, 0x47,
	0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x14, 0x12, 0x18, 0x0a,
	0x14, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x55,
	0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x15, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50,
	0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x49, 0x43, 0x4f, 0x4e, 0x10, 0x16, 0x12, 0x1c,
	0x0a, 0x18, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x49,
	0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x17, 0x12, 0x1c, 0x0a, 0x18,
	0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x53,
	0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x18, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52,
	0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52,
	0x49, 0x43, 0x54, 0x10, 0x19, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43,
	0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x10, 0x1a,
	0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43,
	0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x1b, 0x12, 0x1c, 0x0a, 0x18, 0x47,
	0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54,
	0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x1c, 0x12, 0x1d, 0x0a, 0x19, 0x47, 0x52, 0x4f,
	0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x50,
	0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x1d, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x52, 0x4f, 0x55,
	0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x44, 0x45,
	0x4d, 0x4f, 0x54, 0x45, 0x10, 0x1e, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f,
	0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49,
	0x54, 0x45, 0x10, 0x1f, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41,
	0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10,
	0x20, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49,
	0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4e, 0x55,
	0x4d, 0x42, 0x45, 0x52, 0x10, 0x21, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43,
	0x41, 0x53, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x22, 0x12, 0x11, 0x0a, 0x0d,
	0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x23, 0x12,
	0x14, 0x0a, 0x10, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x4d,
	0x4f, 0x56, 0x45, 0x10, 0x24, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43,
	0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x25, 0x12,
	0x18, 0x0a, 0x14, 0x45, 0x32, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f,
	0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x26, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x32, 0x45,
	0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0x27, 0x12, 0x15, 0x0a, 0x11,
	0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x45, 0x44, 0x5f, 0x56, 0x4f, 0x49, 0x43,
	0x45, 0x10, 0x28, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x49, 0x53, 0x53,
	0x45, 0x44, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x29, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e,
	0x44, 0x49, 0x56, 0x49, 0x44, 0x55, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f,
	0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x2a, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x4f, 0x55,
	0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x2b, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x52,
	0x4f, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44,
	0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x43, 0x45,
	0x10, 0x2c, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x45,
	0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x2d, 0x12,
	0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x45, 0x44, 0x5f, 0x47,
	0x52, 0x4f, 0x55, 0x50, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x2e, 0x12, 0x16, 0x0a, 0x12,
	0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x54, 0x45,
	0x58, 0x54, 0x10, 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
	0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x30, 0x12, 0x2c, 0x0a,
	0x28, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43,
	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41,
	0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x31, 0x12, 0x2e, 0x0a, 0x2a, 0x50,
	0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49,
	0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45,
	0x5f, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x32, 0x12, 0x33, 0x0a, 0x2f, 0x50,
	0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49,
	0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45,
	0x5f, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x33,
	0x12, 0x35, 0x0a, 0x31, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e,
	0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52,
	0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f,
	0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x34, 0x12, 0x3c, 0x0a, 0x38, 0x50, 0x41, 0x59, 0x4d, 0x45,
	0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53,
	0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x53,
	0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x46, 0x54, 0x45, 0x52, 0x5f, 0x48, 0x49, 0x43,
	0x43, 0x55, 0x50, 0x10, 0x35, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54,
	0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f,
	0x53, 0x45, 0x54, 0x55, 0x50, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x36,
	0x12, 0x28, 0x0a, 0x24, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49,
	0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
	0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x37, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x41,
	0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x4e,
	0x44, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x41,
	0x54, 0x49, 0x4f, 0x4e, 0x10, 0x38, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e,
	0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54,
	0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x39, 0x12, 0x22, 0x0a, 0x1e, 0x50,
	0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45,
	0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x3a, 0x12,
	0x24, 0x0a, 0x20, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c,
	0x4c, 0x45, 0x44, 0x10, 0x3b, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x49, 0x5a, 0x5f, 0x56, 0x45, 0x52,
	0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e,
	0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x10, 0x3c,
	0x12, 0x29, 0x0a, 0x25, 0x42, 0x49, 0x5a, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x54, 0x54,
	0x4f, 0x4d, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x3d, 0x12, 0x11, 0x0a, 0x0d, 0x42,
	0x49, 0x5a, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x4f, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x3e, 0x12, 0x14,
	0x0a, 0x10, 0x42, 0x49, 0x5a, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x4f, 0x5f, 0x42, 0x4f, 0x54, 0x54,
	0x4f, 0x4d, 0x10, 0x3f, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x49, 0x5a, 0x5f, 0x4e, 0x41, 0x4d, 0x45,
	0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x40, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x49, 0x5a,
	0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45,
	0x52, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x41, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x49, 0x5a, 0x5f, 0x54,
	0x57, 0x4f, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x42, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x49, 0x5a, 0x5f, 0x54,
	0x57, 0x4f, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x10, 0x43, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x56,
	0x45, 0x52, 0x53, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x44, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x52, 0x4f,
	0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x52, 0x45,
	0x51, 0x55, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x45,
	0x44, 0x10, 0x45, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x56, 0x34, 0x5f,
	0x41, 0x44, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10,
	0x46, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49,
	0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45,
	0x53, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x47, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41,
	0x4e, 0x47, 0x45, 0x5f, 0x45, 0x50, 0x48, 0x45, 0x4d, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x45,
	0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x48, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x32, 0x45, 0x5f, 0x44,
	0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x49, 0x12,
	0x0f, 0x0a, 0x0b, 0x56, 0x49, 0x45, 0x57, 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x4a,
	0x12, 0x15, 0x0a, 0x11, 0x45, 0x32, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45,
	0x44, 0x5f, 0x4e, 0x4f, 0x57, 0x10, 0x4b, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x4c, 0x55, 0x45, 0x5f,
	0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53,
	0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x4c, 0x12, 0x1e, 0x0a, 0x1a, 0x42,
	0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x54,
	0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x10, 0x4d, 0x12, 0x23, 0x0a, 0x1f, 0x42,
	0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x54,
	0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x4e,
	0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50,
	0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x4f,
	0x12, 0x37, 0x0a, 0x33, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50,
	0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54,
	0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56,
	0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x50, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4c, 0x55,
	0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52,
	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x51, 0x12, 0x37, 0x0a, 0x33, 0x42, 0x4c, 0x55, 0x45, 0x5f,
	0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46,
	0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d,
	0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x52,
	0x12, 0x28, 0x0a, 0x24, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50,
	0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46,
	0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x53, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x4c,
	0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49,
	0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x54, 0x12,
	0x3c, 0x0a, 0x38, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f,
	0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49,
	0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49,
	0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x55, 0x12, 0x21, 0x0a,
	0x1d, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52,
	0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x56,
	0x12, 0x3c, 0x0a, 0x38, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50,
	0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45,
	0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53,
	0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x57, 0x12, 0x2a,
	0x0a, 0x26, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55,
	0x4d, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e,
	0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x58, 0x12, 0x2f, 0x0a, 0x2b, 0x42, 0x4c,
	0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f,
	0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55,
	0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x59, 0x12, 0x2b, 0x0a, 0x27, 0x42,
	0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52,
	0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45,
	0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x5a, 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x4c, 0x55, 0x45,
	0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x4f,
	0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e,
	0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x5b, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x4c,
	0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x54,
	0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x5c, 0x12,
	0x24, 0x0a, 0x20, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46,
	0x5f, 0x46, 0x42, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d,
	0x49, 0x53, 0x45, 0x10, 0x5d, 0x12, 0x1f, 0x0a, 0x1b, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53,
	0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x10, 0x5e, 0x12, 0x38, 0x0a, 0x34, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d,
	0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52,
	0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52,
	0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x5f,
	0x12, 0x1d, 0x0a, 0x19, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c,
	0x46, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x60, 0x12,
	0x38, 0x0a, 0x34, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46,
	0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f,
	0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56,
	0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x61, 0x12, 0x28, 0x0a, 0x24, 0x42, 0x4c, 0x55,
	0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49,
	0x53, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53,
	0x45, 0x10, 0x62, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f,
	0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56,
	0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x63, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x4c, 0x55,
	0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49,
	0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x64, 0x12, 0x16, 0x0a,
	0x12, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50,
	0x5f, 0x46, 0x42, 0x10, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53,
	0x47, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x10, 0x66, 0x12,
	0x17, 0x0a, 0x13, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x54, 0x4f, 0x5f, 0x53,
	0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x10, 0x67, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x4c, 0x55, 0x45,
	0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f,
	0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49,
	0x45, 0x44, 0x10, 0x68, 0x12, 0x2f, 0x0a, 0x2b, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47,
	0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42,
	0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46,
	0x49, 0x45, 0x44, 0x10, 0x69, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53,
	0x47, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f,
	0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x6a, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x55,
	0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x56, 0x45, 0x52,
	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x6b, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x4c, 0x55, 0x45, 0x5f,
	0x4d, 0x53, 0x47, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f,
	0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45,
	0x44, 0x10, 0x6c, 0x12, 0x2f, 0x0a, 0x2b, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f,
	0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f,
	0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49,
	0x45, 0x44, 0x10, 0x6d, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47,
	0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c,
	0x46, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
	0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x56, 0x45,
	0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x10, 0x6f, 0x12, 0x36, 0x0a, 0x32, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d,
	0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d,
	0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x70, 0x12, 0x32,
	0x0a, 0x2e, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46,
	0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f,
	0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x71, 0x12, 0x36, 0x0a, 0x32, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42,
	0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54,
	0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e,
	0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x72, 0x12, 0x32, 0x0a, 0x2e, 0x42, 0x4c,
	0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45,
	0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46,
	0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x73, 0x12, 0x37,
	0x0a, 0x33, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f,
	0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f,
	0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52,
	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x74, 0x12, 0x37, 0x0a, 0x33, 0x42, 0x4c, 0x55, 0x45, 0x5f,
	0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d,
	0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x75,
	0x12, 0x1c, 0x0a, 0x18, 0x45, 0x32, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59,
	0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x76, 0x22, 0x4b,
	0x0a, 0x1e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
	0x42, 0x69, 0x7a, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x12, 0x08, 0x0a, 0x04, 0x45, 0x32, 0x45, 0x45, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x46, 0x42,
	0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x53, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x42,
	0x53, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x42, 0x10, 0x03,
}

var (
	file_def_proto_rawDescOnce sync.Once
	file_def_proto_rawDescData = file_def_proto_rawDesc
)

func file_def_proto_rawDescGZIP() []byte {
	file_def_proto_rawDescOnce.Do(func() {
		file_def_proto_rawDescData = protoimpl.X.CompressGZIP(file_def_proto_rawDescData)
	})
	return file_def_proto_rawDescData
}

var file_def_proto_enumTypes = make([]protoimpl.EnumInfo, 24)
var file_def_proto_msgTypes = make([]protoimpl.MessageInfo, 79)
var file_def_proto_goTypes = []interface{}{
	(AdReplyInfo_AdReplyInfoMediaType)(0),                               // 0: proto.AdReplyInfo.AdReplyInfoMediaType
	(ExternalAdReplyInfo_ExternalAdReplyInfoMediaType)(0),               // 1: proto.ExternalAdReplyInfo.ExternalAdReplyInfoMediaType
	(InvoiceMessage_InvoiceMessageAttachmentType)(0),                    // 2: proto.InvoiceMessage.InvoiceMessageAttachmentType
	(ExtendedTextMessage_ExtendedTextMessageFontType)(0),                // 3: proto.ExtendedTextMessage.ExtendedTextMessageFontType
	(ExtendedTextMessage_ExtendedTextMessagePreviewType)(0),             // 4: proto.ExtendedTextMessage.ExtendedTextMessagePreviewType
	(VideoMessage_VideoMessageAttribution)(0),                           // 5: proto.VideoMessage.VideoMessageAttribution
	(ProtocolMessage_ProtocolMessageType)(0),                            // 6: proto.ProtocolMessage.ProtocolMessageType
	(HistorySyncNotification_HistorySyncNotificationHistorySyncType)(0), // 7: proto.HistorySyncNotification.HistorySyncNotificationHistorySyncType
	(HSMDateTimeComponent_HSMDateTimeComponentDayOfWeekType)(0),         // 8: proto.HSMDateTimeComponent.HSMDateTimeComponentDayOfWeekType
	(HSMDateTimeComponent_HSMDateTimeComponentCalendarType)(0),          // 9: proto.HSMDateTimeComponent.HSMDateTimeComponentCalendarType
	(OrderMessage_OrderMessageOrderStatus)(0),                           // 10: proto.OrderMessage.OrderMessageOrderStatus
	(OrderMessage_OrderMessageOrderSurface)(0),                          // 11: proto.OrderMessage.OrderMessageOrderSurface
	(ListMessage_ListMessageListType)(0),                                // 12: proto.ListMessage.ListMessageListType
	(ListResponseMessage_ListResponseMessageListType)(0),                // 13: proto.ListResponseMessage.ListResponseMessageListType
	(Button_ButtonType)(0),                                              // 14: proto.Button.ButtonType
	(ButtonsMessage_ButtonsMessageHeaderType)(0),                        // 15: proto.ButtonsMessage.ButtonsMessageHeaderType
	(ButtonsResponseMessage_ButtonsResponseMessageType)(0),              // 16: proto.ButtonsResponseMessage.ButtonsResponseMessageType
	(WebFeatures_WebFeaturesFlag)(0),                                    // 17: proto.WebFeatures.WebFeaturesFlag
	(PaymentInfo_PaymentInfoCurrency)(0),                                // 18: proto.PaymentInfo.PaymentInfoCurrency
	(PaymentInfo_PaymentInfoStatus)(0),                                  // 19: proto.PaymentInfo.PaymentInfoStatus
	(PaymentInfo_PaymentInfoTxnStatus)(0),                               // 20: proto.PaymentInfo.PaymentInfoTxnStatus
	(WebMessageInfo_WebMessageInfoStatus)(0),                            // 21: proto.WebMessageInfo.WebMessageInfoStatus
	(WebMessageInfo_WebMessageInfoStubType)(0),                          // 22: proto.WebMessageInfo.WebMessageInfoStubType
	(WebMessageInfo_WebMessageInfoBizPrivacyStatus)(0),                  // 23: proto.WebMessageInfo.WebMessageInfoBizPrivacyStatus
	(*PaymentMoney)(nil),                                                // 24: proto.PaymentMoney
	(*HydratedQuickReplyButton)(nil),                                    // 25: proto.HydratedQuickReplyButton
	(*HydratedURLButton)(nil),                                           // 26: proto.HydratedURLButton
	(*HydratedCallButton)(nil),                                          // 27: proto.HydratedCallButton
	(*HydratedTemplateButton)(nil),                                      // 28: proto.HydratedTemplateButton
	(*QuickReplyButton)(nil),                                            // 29: proto.QuickReplyButton
	(*URLButton)(nil),                                                   // 30: proto.URLButton
	(*CallButton)(nil),                                                  // 31: proto.CallButton
	(*TemplateButton)(nil),                                              // 32: proto.TemplateButton
	(*Location)(nil),                                                    // 33: proto.Location
	(*Point)(nil),                                                       // 34: proto.Point
	(*InteractiveAnnotation)(nil),                                       // 35: proto.InteractiveAnnotation
	(*DeviceListMetadata)(nil),                                          // 36: proto.DeviceListMetadata
	(*MessageContextInfo)(nil),                                          // 37: proto.MessageContextInfo
	(*AdReplyInfo)(nil),                                                 // 38: proto.AdReplyInfo
	(*ExternalAdReplyInfo)(nil),                                         // 39: proto.ExternalAdReplyInfo
	(*ContextInfo)(nil),                                                 // 40: proto.ContextInfo
	(*SenderKeyDistributionMessage)(nil),                                // 41: proto.SenderKeyDistributionMessage
	(*ImageMessage)(nil),                                                // 42: proto.ImageMessage
	(*InvoiceMessage)(nil),                                              // 43: proto.InvoiceMessage
	(*ContactMessage)(nil),                                              // 44: proto.ContactMessage
	(*LocationMessage)(nil),                                             // 45: proto.LocationMessage
	(*ExtendedTextMessage)(nil),                                         // 46: proto.ExtendedTextMessage
	(*DocumentMessage)(nil),                                             // 47: proto.DocumentMessage
	(*AudioMessage)(nil),                                                // 48: proto.AudioMessage
	(*VideoMessage)(nil),                                                // 49: proto.VideoMessage
	(*Call)(nil),                                                        // 50: proto.Call
	(*Chat)(nil),                                                        // 51: proto.Chat
	(*ProtocolMessage)(nil),                                             // 52: proto.ProtocolMessage
	(*HistorySyncNotification)(nil),                                     // 53: proto.HistorySyncNotification
	(*AppStateSyncKey)(nil),                                             // 54: proto.AppStateSyncKey
	(*AppStateSyncKeyId)(nil),                                           // 55: proto.AppStateSyncKeyId
	(*AppStateSyncKeyFingerprint)(nil),                                  // 56: proto.AppStateSyncKeyFingerprint
	(*AppStateSyncKeyData)(nil),                                         // 57: proto.AppStateSyncKeyData
	(*AppStateSyncKeyShare)(nil),                                        // 58: proto.AppStateSyncKeyShare
	(*AppStateSyncKeyRequest)(nil),                                      // 59: proto.AppStateSyncKeyRequest
	(*AppStateFatalExceptionNotification)(nil),                          // 60: proto.AppStateFatalExceptionNotification
	(*InitialSecurityNotificationSettingSync)(nil),                      // 61: proto.InitialSecurityNotificationSettingSync
	(*ContactsArrayMessage)(nil),                                        // 62: proto.ContactsArrayMessage
	(*HSMCurrency)(nil),                                                 // 63: proto.HSMCurrency
	(*HSMDateTimeComponent)(nil),                                        // 64: proto.HSMDateTimeComponent
	(*HSMDateTimeUnixEpoch)(nil),                                        // 65: proto.HSMDateTimeUnixEpoch
	(*HSMDateTime)(nil),                                                 // 66: proto.HSMDateTime
	(*HSMLocalizableParameter)(nil),                                     // 67: proto.HSMLocalizableParameter
	(*HighlyStructuredMessage)(nil),                                     // 68: proto.HighlyStructuredMessage
	(*SendPaymentMessage)(nil),                                          // 69: proto.SendPaymentMessage
	(*RequestPaymentMessage)(nil),                                       // 70: proto.RequestPaymentMessage
	(*DeclinePaymentRequestMessage)(nil),                                // 71: proto.DeclinePaymentRequestMessage
	(*CancelPaymentRequestMessage)(nil),                                 // 72: proto.CancelPaymentRequestMessage
	(*LiveLocationMessage)(nil),                                         // 73: proto.LiveLocationMessage
	(*StickerMessage)(nil),                                              // 74: proto.StickerMessage
	(*FourRowTemplate)(nil),                                             // 75: proto.FourRowTemplate
	(*HydratedFourRowTemplate)(nil),                                     // 76: proto.HydratedFourRowTemplate
	(*TemplateMessage)(nil),                                             // 77: proto.TemplateMessage
	(*TemplateButtonReplyMessage)(nil),                                  // 78: proto.TemplateButtonReplyMessage
	(*CatalogSnapshot)(nil),                                             // 79: proto.CatalogSnapshot
	(*ProductSnapshot)(nil),                                             // 80: proto.ProductSnapshot
	(*ProductMessage)(nil),                                              // 81: proto.ProductMessage
	(*OrderMessage)(nil),                                                // 82: proto.OrderMessage
	(*Row)(nil),                                                         // 83: proto.Row
	(*Section)(nil),                                                     // 84: proto.Section
	(*ListMessage)(nil),                                                 // 85: proto.ListMessage
	(*SingleSelectReply)(nil),                                           // 86: proto.SingleSelectReply
	(*ListResponseMessage)(nil),                                         // 87: proto.ListResponseMessage
	(*GroupInviteMessage)(nil),                                          // 88: proto.GroupInviteMessage
	(*EphemeralSetting)(nil),                                            // 89: proto.EphemeralSetting
	(*DeviceSentMessage)(nil),                                           // 90: proto.DeviceSentMessage
	(*FutureProofMessage)(nil),                                          // 91: proto.FutureProofMessage
	(*ButtonText)(nil),                                                  // 92: proto.ButtonText
	(*Button)(nil),                                                      // 93: proto.Button
	(*ButtonsMessage)(nil),                                              // 94: proto.ButtonsMessage
	(*ButtonsResponseMessage)(nil),                                      // 95: proto.ButtonsResponseMessage
	(*Message)(nil),                                                     // 96: proto.Message
	(*MessageKey)(nil),                                                  // 97: proto.MessageKey
	(*WebFeatures)(nil),                                                 // 98: proto.WebFeatures
	(*NotificationMessageInfo)(nil),                                     // 99: proto.NotificationMessageInfo
	(*WebNotificationsInfo)(nil),                                        // 100: proto.WebNotificationsInfo
	(*PaymentInfo)(nil),                                                 // 101: proto.PaymentInfo
	(*WebMessageInfo)(nil),                                              // 102: proto.WebMessageInfo
}
var file_def_proto_depIdxs = []int32{
	25,  // 0: proto.HydratedTemplateButton.quickReplyButton:type_name -> proto.HydratedQuickReplyButton
	26,  // 1: proto.HydratedTemplateButton.urlButton:type_name -> proto.HydratedURLButton
	27,  // 2: proto.HydratedTemplateButton.callButton:type_name -> proto.HydratedCallButton
	68,  // 3: proto.QuickReplyButton.displayText:type_name -> proto.HighlyStructuredMessage
	68,  // 4: proto.URLButton.displayText:type_name -> proto.HighlyStructuredMessage
	68,  // 5: proto.URLButton.url:type_name -> proto.HighlyStructuredMessage
	68,  // 6: proto.CallButton.displayText:type_name -> proto.HighlyStructuredMessage
	68,  // 7: proto.CallButton.phoneNumber:type_name -> proto.HighlyStructuredMessage
	29,  // 8: proto.TemplateButton.quickReplyButton:type_name -> proto.QuickReplyButton
	30,  // 9: proto.TemplateButton.urlButton:type_name -> proto.URLButton
	31,  // 10: proto.TemplateButton.callButton:type_name -> proto.CallButton
	34,  // 11: proto.InteractiveAnnotation.polygonVertices:type_name -> proto.Point
	33,  // 12: proto.InteractiveAnnotation.location:type_name -> proto.Location
	36,  // 13: proto.MessageContextInfo.deviceListMetadata:type_name -> proto.DeviceListMetadata
	0,   // 14: proto.AdReplyInfo.mediaType:type_name -> proto.AdReplyInfo.AdReplyInfoMediaType
	1,   // 15: proto.ExternalAdReplyInfo.mediaType:type_name -> proto.ExternalAdReplyInfo.ExternalAdReplyInfoMediaType
	96,  // 16: proto.ContextInfo.quotedMessage:type_name -> proto.Message
	38,  // 17: proto.ContextInfo.quotedAd:type_name -> proto.AdReplyInfo
	97,  // 18: proto.ContextInfo.placeholderKey:type_name -> proto.MessageKey
	39,  // 19: proto.ContextInfo.externalAdReply:type_name -> proto.ExternalAdReplyInfo
	35,  // 20: proto.ImageMessage.interactiveAnnotations:type_name -> proto.InteractiveAnnotation
	40,  // 21: proto.ImageMessage.contextInfo:type_name -> proto.ContextInfo
	2,   // 22: proto.InvoiceMessage.attachmentType:type_name -> proto.InvoiceMessage.InvoiceMessageAttachmentType
	40,  // 23: proto.ContactMessage.contextInfo:type_name -> proto.ContextInfo
	40,  // 24: proto.LocationMessage.contextInfo:type_name -> proto.ContextInfo
	3,   // 25: proto.ExtendedTextMessage.font:type_name -> proto.ExtendedTextMessage.ExtendedTextMessageFontType
	4,   // 26: proto.ExtendedTextMessage.previewType:type_name -> proto.ExtendedTextMessage.ExtendedTextMessagePreviewType
	40,  // 27: proto.ExtendedTextMessage.contextInfo:type_name -> proto.ContextInfo
	40,  // 28: proto.DocumentMessage.contextInfo:type_name -> proto.ContextInfo
	40,  // 29: proto.AudioMessage.contextInfo:type_name -> proto.ContextInfo
	35,  // 30: proto.VideoMessage.interactiveAnnotations:type_name -> proto.InteractiveAnnotation
	40,  // 31: proto.VideoMessage.contextInfo:type_name -> proto.ContextInfo
	5,   // 32: proto.VideoMessage.gifAttribution:type_name -> proto.VideoMessage.VideoMessageAttribution
	97,  // 33: proto.ProtocolMessage.key:type_name -> proto.MessageKey
	6,   // 34: proto.ProtocolMessage.type:type_name -> proto.ProtocolMessage.ProtocolMessageType
	53,  // 35: proto.ProtocolMessage.historySyncNotification:type_name -> proto.HistorySyncNotification
	58,  // 36: proto.ProtocolMessage.appStateSyncKeyShare:type_name -> proto.AppStateSyncKeyShare
	59,  // 37: proto.ProtocolMessage.appStateSyncKeyRequest:type_name -> proto.AppStateSyncKeyRequest
	61,  // 38: proto.ProtocolMessage.initialSecurityNotificationSettingSync:type_name -> proto.InitialSecurityNotificationSettingSync
	60,  // 39: proto.ProtocolMessage.appStateFatalExceptionNotification:type_name -> proto.AppStateFatalExceptionNotification
	7,   // 40: proto.HistorySyncNotification.syncType:type_name -> proto.HistorySyncNotification.HistorySyncNotificationHistorySyncType
	55,  // 41: proto.AppStateSyncKey.keyId:type_name -> proto.AppStateSyncKeyId
	57,  // 42: proto.AppStateSyncKey.keyData:type_name -> proto.AppStateSyncKeyData
	56,  // 43: proto.AppStateSyncKeyData.fingerprint:type_name -> proto.AppStateSyncKeyFingerprint
	54,  // 44: proto.AppStateSyncKeyShare.keys:type_name -> proto.AppStateSyncKey
	55,  // 45: proto.AppStateSyncKeyRequest.keyIds:type_name -> proto.AppStateSyncKeyId
	44,  // 46: proto.ContactsArrayMessage.contacts:type_name -> proto.ContactMessage
	40,  // 47: proto.ContactsArrayMessage.contextInfo:type_name -> proto.ContextInfo
	8,   // 48: proto.HSMDateTimeComponent.dayOfWeek:type_name -> proto.HSMDateTimeComponent.HSMDateTimeComponentDayOfWeekType
	9,   // 49: proto.HSMDateTimeComponent.calendar:type_name -> proto.HSMDateTimeComponent.HSMDateTimeComponentCalendarType
	64,  // 50: proto.HSMDateTime.component:type_name -> proto.HSMDateTimeComponent
	65,  // 51: proto.HSMDateTime.unixEpoch:type_name -> proto.HSMDateTimeUnixEpoch
	63,  // 52: proto.HSMLocalizableParameter.currency:type_name -> proto.HSMCurrency
	66,  // 53: proto.HSMLocalizableParameter.dateTime:type_name -> proto.HSMDateTime
	67,  // 54: proto.HighlyStructuredMessage.localizableParams:type_name -> proto.HSMLocalizableParameter
	77,  // 55: proto.HighlyStructuredMessage.hydratedHsm:type_name -> proto.TemplateMessage
	96,  // 56: proto.SendPaymentMessage.noteMessage:type_name -> proto.Message
	97,  // 57: proto.SendPaymentMessage.requestMessageKey:type_name -> proto.MessageKey
	96,  // 58: proto.RequestPaymentMessage.noteMessage:type_name -> proto.Message
	24,  // 59: proto.RequestPaymentMessage.amount:type_name -> proto.PaymentMoney
	97,  // 60: proto.DeclinePaymentRequestMessage.key:type_name -> proto.MessageKey
	97,  // 61: proto.CancelPaymentRequestMessage.key:type_name -> proto.MessageKey
	40,  // 62: proto.LiveLocationMessage.contextInfo:type_name -> proto.ContextInfo
	40,  // 63: proto.StickerMessage.contextInfo:type_name -> proto.ContextInfo
	68,  // 64: proto.FourRowTemplate.content:type_name -> proto.HighlyStructuredMessage
	68,  // 65: proto.FourRowTemplate.footer:type_name -> proto.HighlyStructuredMessage
	32,  // 66: proto.FourRowTemplate.buttons:type_name -> proto.TemplateButton
	47,  // 67: proto.FourRowTemplate.documentMessage:type_name -> proto.DocumentMessage
	68,  // 68: proto.FourRowTemplate.highlyStructuredMessage:type_name -> proto.HighlyStructuredMessage
	42,  // 69: proto.FourRowTemplate.imageMessage:type_name -> proto.ImageMessage
	49,  // 70: proto.FourRowTemplate.videoMessage:type_name -> proto.VideoMessage
	45,  // 71: proto.FourRowTemplate.locationMessage:type_name -> proto.LocationMessage
	28,  // 72: proto.HydratedFourRowTemplate.hydratedButtons:type_name -> proto.HydratedTemplateButton
	47,  // 73: proto.HydratedFourRowTemplate.documentMessage:type_name -> proto.DocumentMessage
	42,  // 74: proto.HydratedFourRowTemplate.imageMessage:type_name -> proto.ImageMessage
	49,  // 75: proto.HydratedFourRowTemplate.videoMessage:type_name -> proto.VideoMessage
	45,  // 76: proto.HydratedFourRowTemplate.locationMessage:type_name -> proto.LocationMessage
	40,  // 77: proto.TemplateMessage.contextInfo:type_name -> proto.ContextInfo
	76,  // 78: proto.TemplateMessage.hydratedTemplate:type_name -> proto.HydratedFourRowTemplate
	75,  // 79: proto.TemplateMessage.fourRowTemplate:type_name -> proto.FourRowTemplate
	76,  // 80: proto.TemplateMessage.hydratedFourRowTemplate:type_name -> proto.HydratedFourRowTemplate
	40,  // 81: proto.TemplateButtonReplyMessage.contextInfo:type_name -> proto.ContextInfo
	42,  // 82: proto.CatalogSnapshot.catalogImage:type_name -> proto.ImageMessage
	42,  // 83: proto.ProductSnapshot.productImage:type_name -> proto.ImageMessage
	80,  // 84: proto.ProductMessage.product:type_name -> proto.ProductSnapshot
	79,  // 85: proto.ProductMessage.catalog:type_name -> proto.CatalogSnapshot
	40,  // 86: proto.ProductMessage.contextInfo:type_name -> proto.ContextInfo
	10,  // 87: proto.OrderMessage.status:type_name -> proto.OrderMessage.OrderMessageOrderStatus
	11,  // 88: proto.OrderMessage.surface:type_name -> proto.OrderMessage.OrderMessageOrderSurface
	40,  // 89: proto.OrderMessage.contextInfo:type_name -> proto.ContextInfo
	83,  // 90: proto.Section.rows:type_name -> proto.Row
	12,  // 91: proto.ListMessage.listType:type_name -> proto.ListMessage.ListMessageListType
	84,  // 92: proto.ListMessage.sections:type_name -> proto.Section
	13,  // 93: proto.ListResponseMessage.listType:type_name -> proto.ListResponseMessage.ListResponseMessageListType
	86,  // 94: proto.ListResponseMessage.singleSelectReply:type_name -> proto.SingleSelectReply
	40,  // 95: proto.ListResponseMessage.contextInfo:type_name -> proto.ContextInfo
	40,  // 96: proto.GroupInviteMessage.contextInfo:type_name -> proto.ContextInfo
	96,  // 97: proto.DeviceSentMessage.message:type_name -> proto.Message
	89,  // 98: proto.DeviceSentMessage.broadcastEphemeralSettings:type_name -> proto.EphemeralSetting
	96,  // 99: proto.FutureProofMessage.message:type_name -> proto.Message
	92,  // 100: proto.Button.buttonText:type_name -> proto.ButtonText
	14,  // 101: proto.Button.type:type_name -> proto.Button.ButtonType
	40,  // 102: proto.ButtonsMessage.contextInfo:type_name -> proto.ContextInfo
	93,  // 103: proto.ButtonsMessage.buttons:type_name -> proto.Button
	15,  // 104: proto.ButtonsMessage.headerType:type_name -> proto.ButtonsMessage.ButtonsMessageHeaderType
	47,  // 105: proto.ButtonsMessage.documentMessage:type_name -> proto.DocumentMessage
	42,  // 106: proto.ButtonsMessage.imageMessage:type_name -> proto.ImageMessage
	49,  // 107: proto.ButtonsMessage.videoMessage:type_name -> proto.VideoMessage
	45,  // 108: proto.ButtonsMessage.locationMessage:type_name -> proto.LocationMessage
	40,  // 109: proto.ButtonsResponseMessage.contextInfo:type_name -> proto.ContextInfo
	16,  // 110: proto.ButtonsResponseMessage.type:type_name -> proto.ButtonsResponseMessage.ButtonsResponseMessageType
	41,  // 111: proto.Message.senderKeyDistributionMessage:type_name -> proto.SenderKeyDistributionMessage
	42,  // 112: proto.Message.imageMessage:type_name -> proto.ImageMessage
	44,  // 113: proto.Message.contactMessage:type_name -> proto.ContactMessage
	45,  // 114: proto.Message.locationMessage:type_name -> proto.LocationMessage
	46,  // 115: proto.Message.extendedTextMessage:type_name -> proto.ExtendedTextMessage
	47,  // 116: proto.Message.documentMessage:type_name -> proto.DocumentMessage
	48,  // 117: proto.Message.audioMessage:type_name -> proto.AudioMessage
	49,  // 118: proto.Message.videoMessage:type_name -> proto.VideoMessage
	50,  // 119: proto.Message.call:type_name -> proto.Call
	51,  // 120: proto.Message.chat:type_name -> proto.Chat
	52,  // 121: proto.Message.protocolMessage:type_name -> proto.ProtocolMessage
	62,  // 122: proto.Message.contactsArrayMessage:type_name -> proto.ContactsArrayMessage
	68,  // 123: proto.Message.highlyStructuredMessage:type_name -> proto.HighlyStructuredMessage
	41,  // 124: proto.Message.fastRatchetKeySenderKeyDistributionMessage:type_name -> proto.SenderKeyDistributionMessage
	69,  // 125: proto.Message.sendPaymentMessage:type_name -> proto.SendPaymentMessage
	73,  // 126: proto.Message.liveLocationMessage:type_name -> proto.LiveLocationMessage
	70,  // 127: proto.Message.requestPaymentMessage:type_name -> proto.RequestPaymentMessage
	71,  // 128: proto.Message.declinePaymentRequestMessage:type_name -> proto.DeclinePaymentRequestMessage
	72,  // 129: proto.Message.cancelPaymentRequestMessage:type_name -> proto.CancelPaymentRequestMessage
	77,  // 130: proto.Message.templateMessage:type_name -> proto.TemplateMessage
	74,  // 131: proto.Message.stickerMessage:type_name -> proto.StickerMessage
	88,  // 132: proto.Message.groupInviteMessage:type_name -> proto.GroupInviteMessage
	78,  // 133: proto.Message.templateButtonReplyMessage:type_name -> proto.TemplateButtonReplyMessage
	81,  // 134: proto.Message.productMessage:type_name -> proto.ProductMessage
	90,  // 135: proto.Message.deviceSentMessage:type_name -> proto.DeviceSentMessage
	37,  // 136: proto.Message.messageContextInfo:type_name -> proto.MessageContextInfo
	85,  // 137: proto.Message.listMessage:type_name -> proto.ListMessage
	91,  // 138: proto.Message.viewOnceMessage:type_name -> proto.FutureProofMessage
	82,  // 139: proto.Message.orderMessage:type_name -> proto.OrderMessage
	87,  // 140: proto.Message.listResponseMessage:type_name -> proto.ListResponseMessage
	91,  // 141: proto.Message.ephemeralMessage:type_name -> proto.FutureProofMessage
	43,  // 142: proto.Message.invoiceMessage:type_name -> proto.InvoiceMessage
	94,  // 143: proto.Message.buttonsMessage:type_name -> proto.ButtonsMessage
	95,  // 144: proto.Message.buttonsResponseMessage:type_name -> proto.ButtonsResponseMessage
	17,  // 145: proto.WebFeatures.labelsDisplay:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 146: proto.WebFeatures.voipIndividualOutgoing:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 147: proto.WebFeatures.groupsV3:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 148: proto.WebFeatures.groupsV3Create:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 149: proto.WebFeatures.changeNumberV2:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 150: proto.WebFeatures.queryStatusV3Thumbnail:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 151: proto.WebFeatures.liveLocations:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 152: proto.WebFeatures.queryVname:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 153: proto.WebFeatures.voipIndividualIncoming:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 154: proto.WebFeatures.quickRepliesQuery:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 155: proto.WebFeatures.payments:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 156: proto.WebFeatures.stickerPackQuery:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 157: proto.WebFeatures.liveLocationsFinal:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 158: proto.WebFeatures.labelsEdit:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 159: proto.WebFeatures.mediaUpload:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 160: proto.WebFeatures.mediaUploadRichQuickReplies:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 161: proto.WebFeatures.vnameV2:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 162: proto.WebFeatures.videoPlaybackUrl:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 163: proto.WebFeatures.statusRanking:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 164: proto.WebFeatures.voipIndividualVideo:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 165: proto.WebFeatures.thirdPartyStickers:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 166: proto.WebFeatures.frequentlyForwardedSetting:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 167: proto.WebFeatures.groupsV4JoinPermission:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 168: proto.WebFeatures.recentStickers:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 169: proto.WebFeatures.catalog:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 170: proto.WebFeatures.starredStickers:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 171: proto.WebFeatures.voipGroupCall:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 172: proto.WebFeatures.templateMessage:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 173: proto.WebFeatures.templateMessageInteractivity:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 174: proto.WebFeatures.ephemeralMessages:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 175: proto.WebFeatures.e2ENotificationSync:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 176: proto.WebFeatures.recentStickersV2:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 177: proto.WebFeatures.syncdRelease1:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 178: proto.WebFeatures.recentStickersV3:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 179: proto.WebFeatures.userNotice:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 180: proto.WebFeatures.syncdRelease11:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 181: proto.WebFeatures.support:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 182: proto.WebFeatures.groupUiiCleanup:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 183: proto.WebFeatures.groupDogfoodingInternalOnly:type_name -> proto.WebFeatures.WebFeaturesFlag
	17,  // 184: proto.WebFeatures.settingsSync:type_name -> proto.WebFeatures.WebFeaturesFlag
	97,  // 185: proto.NotificationMessageInfo.key:type_name -> proto.MessageKey
	96,  // 186: proto.NotificationMessageInfo.message:type_name -> proto.Message
	102, // 187: proto.WebNotificationsInfo.notifyMessages:type_name -> proto.WebMessageInfo
	18,  // 188: proto.PaymentInfo.currencyDeprecated:type_name -> proto.PaymentInfo.PaymentInfoCurrency
	19,  // 189: proto.PaymentInfo.status:type_name -> proto.PaymentInfo.PaymentInfoStatus
	97,  // 190: proto.PaymentInfo.requestMessageKey:type_name -> proto.MessageKey
	20,  // 191: proto.PaymentInfo.txnStatus:type_name -> proto.PaymentInfo.PaymentInfoTxnStatus
	24,  // 192: proto.PaymentInfo.primaryAmount:type_name -> proto.PaymentMoney
	24,  // 193: proto.PaymentInfo.exchangeAmount:type_name -> proto.PaymentMoney
	97,  // 194: proto.WebMessageInfo.key:type_name -> proto.MessageKey
	96,  // 195: proto.WebMessageInfo.message:type_name -> proto.Message
	21,  // 196: proto.WebMessageInfo.status:type_name -> proto.WebMessageInfo.WebMessageInfoStatus
	22,  // 197: proto.WebMessageInfo.messageStubType:type_name -> proto.WebMessageInfo.WebMessageInfoStubType
	101, // 198: proto.WebMessageInfo.paymentInfo:type_name -> proto.PaymentInfo
	73,  // 199: proto.WebMessageInfo.finalLiveLocation:type_name -> proto.LiveLocationMessage
	101, // 200: proto.WebMessageInfo.quotedPaymentInfo:type_name -> proto.PaymentInfo
	23,  // 201: proto.WebMessageInfo.bizPrivacyStatus:type_name -> proto.WebMessageInfo.WebMessageInfoBizPrivacyStatus
	202, // [202:202] is the sub-list for method output_type
	202, // [202:202] is the sub-list for method input_type
	202, // [202:202] is the sub-list for extension type_name
	202, // [202:202] is the sub-list for extension extendee
	0,   // [0:202] is the sub-list for field type_name
}

func init() { file_def_proto_init() }
func file_def_proto_init() {
	if File_def_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_def_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PaymentMoney); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HydratedQuickReplyButton); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HydratedURLButton); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HydratedCallButton); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HydratedTemplateButton); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*QuickReplyButton); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*URLButton); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallButton); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TemplateButton); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Location); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Point); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InteractiveAnnotation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeviceListMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MessageContextInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AdReplyInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExternalAdReplyInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ContextInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SenderKeyDistributionMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ImageMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InvoiceMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ContactMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LocationMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExtendedTextMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DocumentMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AudioMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VideoMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Call); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Chat); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProtocolMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HistorySyncNotification); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppStateSyncKey); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppStateSyncKeyId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppStateSyncKeyFingerprint); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppStateSyncKeyData); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppStateSyncKeyShare); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppStateSyncKeyRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppStateFatalExceptionNotification); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InitialSecurityNotificationSettingSync); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ContactsArrayMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HSMCurrency); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HSMDateTimeComponent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HSMDateTimeUnixEpoch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HSMDateTime); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HSMLocalizableParameter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HighlyStructuredMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SendPaymentMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RequestPaymentMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeclinePaymentRequestMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelPaymentRequestMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LiveLocationMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StickerMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FourRowTemplate); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HydratedFourRowTemplate); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TemplateMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TemplateButtonReplyMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CatalogSnapshot); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProductSnapshot); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProductMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OrderMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Row); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Section); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SingleSelectReply); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListResponseMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GroupInviteMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EphemeralSetting); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeviceSentMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FutureProofMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ButtonText); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Button); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ButtonsMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ButtonsResponseMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Message); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MessageKey); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WebFeatures); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NotificationMessageInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WebNotificationsInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PaymentInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_def_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WebMessageInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_def_proto_msgTypes[4].OneofWrappers = []interface{}{
		(*HydratedTemplateButton_QuickReplyButton)(nil),
		(*HydratedTemplateButton_UrlButton)(nil),
		(*HydratedTemplateButton_CallButton)(nil),
	}
	file_def_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*TemplateButton_QuickReplyButton)(nil),
		(*TemplateButton_UrlButton)(nil),
		(*TemplateButton_CallButton)(nil),
	}
	file_def_proto_msgTypes[11].OneofWrappers = []interface{}{
		(*InteractiveAnnotation_Location)(nil),
	}
	file_def_proto_msgTypes[42].OneofWrappers = []interface{}{
		(*HSMDateTime_Component)(nil),
		(*HSMDateTime_UnixEpoch)(nil),
	}
	file_def_proto_msgTypes[43].OneofWrappers = []interface{}{
		(*HSMLocalizableParameter_Currency)(nil),
		(*HSMLocalizableParameter_DateTime)(nil),
	}
	file_def_proto_msgTypes[51].OneofWrappers = []interface{}{
		(*FourRowTemplate_DocumentMessage)(nil),
		(*FourRowTemplate_HighlyStructuredMessage)(nil),
		(*FourRowTemplate_ImageMessage)(nil),
		(*FourRowTemplate_VideoMessage)(nil),
		(*FourRowTemplate_LocationMessage)(nil),
	}
	file_def_proto_msgTypes[52].OneofWrappers = []interface{}{
		(*HydratedFourRowTemplate_DocumentMessage)(nil),
		(*HydratedFourRowTemplate_HydratedTitleText)(nil),
		(*HydratedFourRowTemplate_ImageMessage)(nil),
		(*HydratedFourRowTemplate_VideoMessage)(nil),
		(*HydratedFourRowTemplate_LocationMessage)(nil),
	}
	file_def_proto_msgTypes[53].OneofWrappers = []interface{}{
		(*TemplateMessage_FourRowTemplate)(nil),
		(*TemplateMessage_HydratedFourRowTemplate)(nil),
	}
	file_def_proto_msgTypes[70].OneofWrappers = []interface{}{
		(*ButtonsMessage_Text)(nil),
		(*ButtonsMessage_DocumentMessage)(nil),
		(*ButtonsMessage_ImageMessage)(nil),
		(*ButtonsMessage_VideoMessage)(nil),
		(*ButtonsMessage_LocationMessage)(nil),
	}
	file_def_proto_msgTypes[71].OneofWrappers = []interface{}{
		(*ButtonsResponseMessage_SelectedDisplayText)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_def_proto_rawDesc,
			NumEnums:      24,
			NumMessages:   79,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_def_proto_goTypes,
		DependencyIndexes: file_def_proto_depIdxs,
		EnumInfos:         file_def_proto_enumTypes,
		MessageInfos:      file_def_proto_msgTypes,
	}.Build()
	File_def_proto = out.File
	file_def_proto_rawDesc = nil
	file_def_proto_goTypes = nil
	file_def_proto_depIdxs = nil
}