diff --git a/libgm/binary/conversations.pb.go b/libgm/binary/conversations.pb.go index 5072378..17ea316 100644 --- a/libgm/binary/conversations.pb.go +++ b/libgm/binary/conversations.pb.go @@ -825,6 +825,108 @@ func (x *ConversationTypePayload) GetConversationID() string { return "" } +type TypingUpdatePayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data *SetTypingIn `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *TypingUpdatePayload) Reset() { + *x = TypingUpdatePayload{} + if protoimpl.UnsafeEnabled { + mi := &file_conversations_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TypingUpdatePayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TypingUpdatePayload) ProtoMessage() {} + +func (x *TypingUpdatePayload) ProtoReflect() protoreflect.Message { + mi := &file_conversations_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 TypingUpdatePayload.ProtoReflect.Descriptor instead. +func (*TypingUpdatePayload) Descriptor() ([]byte, []int) { + return file_conversations_proto_rawDescGZIP(), []int{3} +} + +func (x *TypingUpdatePayload) GetData() *SetTypingIn { + if x != nil { + return x.Data + } + return nil +} + +type SetTypingIn struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID,omitempty"` + Typing bool `protobuf:"varint,3,opt,name=typing,proto3" json:"typing,omitempty"` +} + +func (x *SetTypingIn) Reset() { + *x = SetTypingIn{} + if protoimpl.UnsafeEnabled { + mi := &file_conversations_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetTypingIn) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetTypingIn) ProtoMessage() {} + +func (x *SetTypingIn) ProtoReflect() protoreflect.Message { + mi := &file_conversations_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 SetTypingIn.ProtoReflect.Descriptor instead. +func (*SetTypingIn) Descriptor() ([]byte, []int) { + return file_conversations_proto_rawDescGZIP(), []int{4} +} + +func (x *SetTypingIn) GetConversationID() string { + if x != nil { + return x.ConversationID + } + return "" +} + +func (x *SetTypingIn) GetTyping() bool { + if x != nil { + return x.Typing + } + return false +} + type UpdateConversationPayload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -839,7 +941,7 @@ type UpdateConversationPayload struct { func (x *UpdateConversationPayload) Reset() { *x = UpdateConversationPayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[3] + mi := &file_conversations_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -852,7 +954,7 @@ func (x *UpdateConversationPayload) String() string { func (*UpdateConversationPayload) ProtoMessage() {} func (x *UpdateConversationPayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[3] + mi := &file_conversations_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -865,7 +967,7 @@ func (x *UpdateConversationPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateConversationPayload.ProtoReflect.Descriptor instead. func (*UpdateConversationPayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{3} + return file_conversations_proto_rawDescGZIP(), []int{5} } func (x *UpdateConversationPayload) GetData() *UpdateConversationData { @@ -907,7 +1009,7 @@ type ConversationAction5 struct { func (x *ConversationAction5) Reset() { *x = ConversationAction5{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[4] + mi := &file_conversations_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -920,7 +1022,7 @@ func (x *ConversationAction5) String() string { func (*ConversationAction5) ProtoMessage() {} func (x *ConversationAction5) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[4] + mi := &file_conversations_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -933,7 +1035,7 @@ func (x *ConversationAction5) ProtoReflect() protoreflect.Message { // Deprecated: Use ConversationAction5.ProtoReflect.Descriptor instead. func (*ConversationAction5) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{4} + return file_conversations_proto_rawDescGZIP(), []int{6} } func (x *ConversationAction5) GetField2() bool { @@ -959,7 +1061,7 @@ type UpdateConversationData struct { func (x *UpdateConversationData) Reset() { *x = UpdateConversationData{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[5] + mi := &file_conversations_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -972,7 +1074,7 @@ func (x *UpdateConversationData) String() string { func (*UpdateConversationData) ProtoMessage() {} func (x *UpdateConversationData) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[5] + mi := &file_conversations_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -985,7 +1087,7 @@ func (x *UpdateConversationData) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateConversationData.ProtoReflect.Descriptor instead. func (*UpdateConversationData) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{5} + return file_conversations_proto_rawDescGZIP(), []int{7} } func (x *UpdateConversationData) GetConversationID() string { @@ -1043,7 +1145,7 @@ type DeleteMessagePayload struct { func (x *DeleteMessagePayload) Reset() { *x = DeleteMessagePayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[6] + mi := &file_conversations_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1056,7 +1158,7 @@ func (x *DeleteMessagePayload) String() string { func (*DeleteMessagePayload) ProtoMessage() {} func (x *DeleteMessagePayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[6] + mi := &file_conversations_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1069,7 +1171,7 @@ func (x *DeleteMessagePayload) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMessagePayload.ProtoReflect.Descriptor instead. func (*DeleteMessagePayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{6} + return file_conversations_proto_rawDescGZIP(), []int{8} } func (x *DeleteMessagePayload) GetMessageID() string { @@ -1094,7 +1196,7 @@ type SendMessagePayload struct { func (x *SendMessagePayload) Reset() { *x = SendMessagePayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[7] + mi := &file_conversations_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1107,7 +1209,7 @@ func (x *SendMessagePayload) String() string { func (*SendMessagePayload) ProtoMessage() {} func (x *SendMessagePayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[7] + mi := &file_conversations_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1120,7 +1222,7 @@ func (x *SendMessagePayload) ProtoReflect() protoreflect.Message { // Deprecated: Use SendMessagePayload.ProtoReflect.Descriptor instead. func (*SendMessagePayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{7} + return file_conversations_proto_rawDescGZIP(), []int{9} } func (x *SendMessagePayload) GetConversationID() string { @@ -1169,7 +1271,7 @@ type ReplyPayload struct { func (x *ReplyPayload) Reset() { *x = ReplyPayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[8] + mi := &file_conversations_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1182,7 +1284,7 @@ func (x *ReplyPayload) String() string { func (*ReplyPayload) ProtoMessage() {} func (x *ReplyPayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[8] + mi := &file_conversations_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1195,7 +1297,7 @@ func (x *ReplyPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplyPayload.ProtoReflect.Descriptor instead. func (*ReplyPayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{8} + return file_conversations_proto_rawDescGZIP(), []int{10} } func (x *ReplyPayload) GetMessageID() string { @@ -1221,7 +1323,7 @@ type MessagePayload struct { func (x *MessagePayload) Reset() { *x = MessagePayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[9] + mi := &file_conversations_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1234,7 +1336,7 @@ func (x *MessagePayload) String() string { func (*MessagePayload) ProtoMessage() {} func (x *MessagePayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[9] + mi := &file_conversations_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1247,7 +1349,7 @@ func (x *MessagePayload) ProtoReflect() protoreflect.Message { // Deprecated: Use MessagePayload.ProtoReflect.Descriptor instead. func (*MessagePayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{9} + return file_conversations_proto_rawDescGZIP(), []int{11} } func (x *MessagePayload) GetTmpID() string { @@ -1303,7 +1405,7 @@ type MessagePayloadContent struct { func (x *MessagePayloadContent) Reset() { *x = MessagePayloadContent{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[10] + mi := &file_conversations_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1316,7 +1418,7 @@ func (x *MessagePayloadContent) String() string { func (*MessagePayloadContent) ProtoMessage() {} func (x *MessagePayloadContent) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[10] + mi := &file_conversations_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1329,7 +1431,7 @@ func (x *MessagePayloadContent) ProtoReflect() protoreflect.Message { // Deprecated: Use MessagePayloadContent.ProtoReflect.Descriptor instead. func (*MessagePayloadContent) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{10} + return file_conversations_proto_rawDescGZIP(), []int{12} } func (x *MessagePayloadContent) GetMessageContent() *MessageContent { @@ -1350,7 +1452,7 @@ type OpenConversationPayload struct { func (x *OpenConversationPayload) Reset() { *x = OpenConversationPayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[11] + mi := &file_conversations_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1363,7 +1465,7 @@ func (x *OpenConversationPayload) String() string { func (*OpenConversationPayload) ProtoMessage() {} func (x *OpenConversationPayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[11] + mi := &file_conversations_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1376,7 +1478,7 @@ func (x *OpenConversationPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use OpenConversationPayload.ProtoReflect.Descriptor instead. func (*OpenConversationPayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{11} + return file_conversations_proto_rawDescGZIP(), []int{13} } func (x *OpenConversationPayload) GetConversationID() string { @@ -1397,7 +1499,7 @@ type PrepareOpenConversationPayload struct { func (x *PrepareOpenConversationPayload) Reset() { *x = PrepareOpenConversationPayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[12] + mi := &file_conversations_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1410,7 +1512,7 @@ func (x *PrepareOpenConversationPayload) String() string { func (*PrepareOpenConversationPayload) ProtoMessage() {} func (x *PrepareOpenConversationPayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[12] + mi := &file_conversations_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1423,7 +1525,7 @@ func (x *PrepareOpenConversationPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareOpenConversationPayload.ProtoReflect.Descriptor instead. func (*PrepareOpenConversationPayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{12} + return file_conversations_proto_rawDescGZIP(), []int{14} } func (x *PrepareOpenConversationPayload) GetField2() int64 { @@ -1446,7 +1548,7 @@ type FetchConversationMessagesPayload struct { func (x *FetchConversationMessagesPayload) Reset() { *x = FetchConversationMessagesPayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[13] + mi := &file_conversations_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1459,7 +1561,7 @@ func (x *FetchConversationMessagesPayload) String() string { func (*FetchConversationMessagesPayload) ProtoMessage() {} func (x *FetchConversationMessagesPayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[13] + mi := &file_conversations_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1472,7 +1574,7 @@ func (x *FetchConversationMessagesPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use FetchConversationMessagesPayload.ProtoReflect.Descriptor instead. func (*FetchConversationMessagesPayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{13} + return file_conversations_proto_rawDescGZIP(), []int{15} } func (x *FetchConversationMessagesPayload) GetConversationID() string { @@ -1508,7 +1610,7 @@ type ListCoversationsPayload struct { func (x *ListCoversationsPayload) Reset() { *x = ListCoversationsPayload{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[14] + mi := &file_conversations_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1521,7 +1623,7 @@ func (x *ListCoversationsPayload) String() string { func (*ListCoversationsPayload) ProtoMessage() {} func (x *ListCoversationsPayload) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[14] + mi := &file_conversations_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1534,7 +1636,7 @@ func (x *ListCoversationsPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use ListCoversationsPayload.ProtoReflect.Descriptor instead. func (*ListCoversationsPayload) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{14} + return file_conversations_proto_rawDescGZIP(), []int{16} } func (x *ListCoversationsPayload) GetCount() int64 { @@ -1563,7 +1665,7 @@ type Cursor struct { func (x *Cursor) Reset() { *x = Cursor{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[15] + mi := &file_conversations_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1576,7 +1678,7 @@ func (x *Cursor) String() string { func (*Cursor) ProtoMessage() {} func (x *Cursor) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[15] + mi := &file_conversations_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1589,7 +1691,7 @@ func (x *Cursor) ProtoReflect() protoreflect.Message { // Deprecated: Use Cursor.ProtoReflect.Descriptor instead. func (*Cursor) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{15} + return file_conversations_proto_rawDescGZIP(), []int{17} } func (x *Cursor) GetSomeStr() string { @@ -1628,7 +1730,7 @@ type Message struct { func (x *Message) Reset() { *x = Message{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[16] + mi := &file_conversations_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1641,7 +1743,7 @@ func (x *Message) String() string { func (*Message) ProtoMessage() {} func (x *Message) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[16] + mi := &file_conversations_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1654,7 +1756,7 @@ func (x *Message) ProtoReflect() protoreflect.Message { // Deprecated: Use Message.ProtoReflect.Descriptor instead. func (*Message) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{16} + return file_conversations_proto_rawDescGZIP(), []int{18} } func (x *Message) GetMessageID() string { @@ -1754,7 +1856,7 @@ type ReplyMessage struct { func (x *ReplyMessage) Reset() { *x = ReplyMessage{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[17] + mi := &file_conversations_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1767,7 +1869,7 @@ func (x *ReplyMessage) String() string { func (*ReplyMessage) ProtoMessage() {} func (x *ReplyMessage) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[17] + mi := &file_conversations_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1780,7 +1882,7 @@ func (x *ReplyMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplyMessage.ProtoReflect.Descriptor instead. func (*ReplyMessage) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{17} + return file_conversations_proto_rawDescGZIP(), []int{19} } func (x *ReplyMessage) GetMessageID() string { @@ -1813,7 +1915,7 @@ type ReplyMessageData struct { func (x *ReplyMessageData) Reset() { *x = ReplyMessageData{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[18] + mi := &file_conversations_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1826,7 +1928,7 @@ func (x *ReplyMessageData) String() string { func (*ReplyMessageData) ProtoMessage() {} func (x *ReplyMessageData) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[18] + mi := &file_conversations_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1839,7 +1941,7 @@ func (x *ReplyMessageData) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplyMessageData.ProtoReflect.Descriptor instead. func (*ReplyMessageData) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{18} + return file_conversations_proto_rawDescGZIP(), []int{20} } type MessageInfo struct { @@ -1858,7 +1960,7 @@ type MessageInfo struct { func (x *MessageInfo) Reset() { *x = MessageInfo{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[19] + mi := &file_conversations_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1871,7 +1973,7 @@ func (x *MessageInfo) String() string { func (*MessageInfo) ProtoMessage() {} func (x *MessageInfo) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[19] + mi := &file_conversations_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1884,7 +1986,7 @@ func (x *MessageInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageInfo.ProtoReflect.Descriptor instead. func (*MessageInfo) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{19} + return file_conversations_proto_rawDescGZIP(), []int{21} } func (x *MessageInfo) GetActionMessageID() string { @@ -1950,7 +2052,7 @@ type MediaContent struct { func (x *MediaContent) Reset() { *x = MediaContent{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[20] + mi := &file_conversations_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1963,7 +2065,7 @@ func (x *MediaContent) String() string { func (*MediaContent) ProtoMessage() {} func (x *MediaContent) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[20] + mi := &file_conversations_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1976,7 +2078,7 @@ func (x *MediaContent) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaContent.ProtoReflect.Descriptor instead. func (*MediaContent) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{20} + return file_conversations_proto_rawDescGZIP(), []int{22} } func (x *MediaContent) GetFormat() MediaFormats { @@ -2054,7 +2156,7 @@ type Pixels struct { func (x *Pixels) Reset() { *x = Pixels{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[21] + mi := &file_conversations_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2067,7 +2169,7 @@ func (x *Pixels) String() string { func (*Pixels) ProtoMessage() {} func (x *Pixels) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[21] + mi := &file_conversations_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2080,7 +2182,7 @@ func (x *Pixels) ProtoReflect() protoreflect.Message { // Deprecated: Use Pixels.ProtoReflect.Descriptor instead. func (*Pixels) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{21} + return file_conversations_proto_rawDescGZIP(), []int{23} } func (x *Pixels) GetWidth() int64 { @@ -2108,7 +2210,7 @@ type MessageContent struct { func (x *MessageContent) Reset() { *x = MessageContent{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[22] + mi := &file_conversations_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2121,7 +2223,7 @@ func (x *MessageContent) String() string { func (*MessageContent) ProtoMessage() {} func (x *MessageContent) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[22] + mi := &file_conversations_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2134,7 +2236,7 @@ func (x *MessageContent) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageContent.ProtoReflect.Descriptor instead. func (*MessageContent) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{22} + return file_conversations_proto_rawDescGZIP(), []int{24} } func (x *MessageContent) GetContent() string { @@ -2155,7 +2257,7 @@ type MsgType struct { func (x *MsgType) Reset() { *x = MsgType{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[23] + mi := &file_conversations_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2168,7 +2270,7 @@ func (x *MsgType) String() string { func (*MsgType) ProtoMessage() {} func (x *MsgType) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[23] + mi := &file_conversations_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2181,7 +2283,7 @@ func (x *MsgType) ProtoReflect() protoreflect.Message { // Deprecated: Use MsgType.ProtoReflect.Descriptor instead. func (*MsgType) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{23} + return file_conversations_proto_rawDescGZIP(), []int{25} } func (x *MsgType) GetType() int64 { @@ -2206,7 +2308,7 @@ type MessageStatus struct { func (x *MessageStatus) Reset() { *x = MessageStatus{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[24] + mi := &file_conversations_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2219,7 +2321,7 @@ func (x *MessageStatus) String() string { func (*MessageStatus) ProtoMessage() {} func (x *MessageStatus) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[24] + mi := &file_conversations_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2232,7 +2334,7 @@ func (x *MessageStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageStatus.ProtoReflect.Descriptor instead. func (*MessageStatus) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{24} + return file_conversations_proto_rawDescGZIP(), []int{26} } func (x *MessageStatus) GetStatus() MessageStatusType { @@ -2281,7 +2383,7 @@ type Conversations struct { func (x *Conversations) Reset() { *x = Conversations{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[25] + mi := &file_conversations_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2294,7 +2396,7 @@ func (x *Conversations) String() string { func (*Conversations) ProtoMessage() {} func (x *Conversations) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[25] + mi := &file_conversations_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2307,7 +2409,7 @@ func (x *Conversations) ProtoReflect() protoreflect.Message { // Deprecated: Use Conversations.ProtoReflect.Descriptor instead. func (*Conversations) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{25} + return file_conversations_proto_rawDescGZIP(), []int{27} } func (x *Conversations) GetConversations() []*Conversation { @@ -2344,7 +2446,7 @@ type Conversation struct { func (x *Conversation) Reset() { *x = Conversation{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[26] + mi := &file_conversations_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2357,7 +2459,7 @@ func (x *Conversation) String() string { func (*Conversation) ProtoMessage() {} func (x *Conversation) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[26] + mi := &file_conversations_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2370,7 +2472,7 @@ func (x *Conversation) ProtoReflect() protoreflect.Message { // Deprecated: Use Conversation.ProtoReflect.Descriptor instead. func (*Conversation) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{26} + return file_conversations_proto_rawDescGZIP(), []int{28} } func (x *Conversation) GetConversationID() string { @@ -2507,7 +2609,7 @@ type Participant struct { func (x *Participant) Reset() { *x = Participant{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[27] + mi := &file_conversations_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2520,7 +2622,7 @@ func (x *Participant) String() string { func (*Participant) ProtoMessage() {} func (x *Participant) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[27] + mi := &file_conversations_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2533,7 +2635,7 @@ func (x *Participant) ProtoReflect() protoreflect.Message { // Deprecated: Use Participant.ProtoReflect.Descriptor instead. func (*Participant) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{27} + return file_conversations_proto_rawDescGZIP(), []int{29} } func (x *Participant) GetID() *SmallInfo { @@ -2633,7 +2735,7 @@ type SmallInfo struct { func (x *SmallInfo) Reset() { *x = SmallInfo{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[28] + mi := &file_conversations_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2646,7 +2748,7 @@ func (x *SmallInfo) String() string { func (*SmallInfo) ProtoMessage() {} func (x *SmallInfo) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[28] + mi := &file_conversations_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2659,7 +2761,7 @@ func (x *SmallInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SmallInfo.ProtoReflect.Descriptor instead. func (*SmallInfo) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{28} + return file_conversations_proto_rawDescGZIP(), []int{30} } func (x *SmallInfo) GetType() int64 { @@ -2697,7 +2799,7 @@ type LatestMessage struct { func (x *LatestMessage) Reset() { *x = LatestMessage{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[29] + mi := &file_conversations_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2710,7 +2812,7 @@ func (x *LatestMessage) String() string { func (*LatestMessage) ProtoMessage() {} func (x *LatestMessage) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[29] + mi := &file_conversations_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2723,7 +2825,7 @@ func (x *LatestMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use LatestMessage.ProtoReflect.Descriptor instead. func (*LatestMessage) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{29} + return file_conversations_proto_rawDescGZIP(), []int{31} } func (x *LatestMessage) GetDisplayContent() string { @@ -2766,7 +2868,7 @@ type LatestMessageStatus struct { func (x *LatestMessageStatus) Reset() { *x = LatestMessageStatus{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[30] + mi := &file_conversations_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2779,7 +2881,7 @@ func (x *LatestMessageStatus) String() string { func (*LatestMessageStatus) ProtoMessage() {} func (x *LatestMessageStatus) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[30] + mi := &file_conversations_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2792,7 +2894,7 @@ func (x *LatestMessageStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use LatestMessageStatus.ProtoReflect.Descriptor instead. func (*LatestMessageStatus) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{30} + return file_conversations_proto_rawDescGZIP(), []int{32} } func (x *LatestMessageStatus) GetStatus2() int64 { @@ -2820,7 +2922,7 @@ type Muted struct { func (x *Muted) Reset() { *x = Muted{} if protoimpl.UnsafeEnabled { - mi := &file_conversations_proto_msgTypes[31] + mi := &file_conversations_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2833,7 +2935,7 @@ func (x *Muted) String() string { func (*Muted) ProtoMessage() {} func (x *Muted) ProtoReflect() protoreflect.Message { - mi := &file_conversations_proto_msgTypes[31] + mi := &file_conversations_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2846,7 +2948,7 @@ func (x *Muted) ProtoReflect() protoreflect.Message { // Deprecated: Use Muted.ProtoReflect.Descriptor instead. func (*Muted) Descriptor() ([]byte, []int) { - return file_conversations_proto_rawDescGZIP(), []int{31} + return file_conversations_proto_rawDescGZIP(), []int{33} } func (x *Muted) GetIsMuted() int64 { @@ -2874,572 +2976,582 @@ var file_conversations_proto_rawDesc = []byte{ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xfd, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x3f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x3c, 0x0a, 0x07, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x35, 0x52, - 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x35, 0x22, 0x2d, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x35, 0x12, - 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x22, 0xc2, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x75, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x04, - 0x6d, 0x75, 0x74, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x34, 0x0a, 0x14, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x44, 0x22, 0xe6, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, 0x70, 0x49, - 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x12, 0x18, - 0x0a, 0x07, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, - 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2c, 0x0a, 0x0c, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x22, 0xae, 0x02, 0x0a, 0x0e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6d, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x70, - 0x49, 0x44, 0x12, 0x5a, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x26, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, 0x13, 0x54, 0x79, 0x70, 0x69, + 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, + 0x74, 0x54, 0x79, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x4d, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x54, 0x79, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x49, 0x44, 0x12, 0x3c, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x32, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x32, 0x22, 0x5e, 0x0a, 0x15, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x41, 0x0a, 0x17, 0x4f, 0x70, - 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x38, 0x0a, - 0x1e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x22, 0x8f, 0x01, 0x0a, 0x20, 0x46, 0x65, 0x74, 0x63, - 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x63, 0x75, - 0x72, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, - 0x72, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x47, 0x0a, 0x17, 0x4c, 0x69, 0x73, - 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x34, 0x22, 0x42, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, - 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, - 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x87, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, - 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x49, 0x44, 0x12, 0x3c, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, - 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x6f, 0x6d, - 0x65, 0x49, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x3f, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x12, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x69, 0x6e, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x74, 0x79, 0x70, 0x69, 0x6e, 0x67, 0x22, 0xfd, + 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x39, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x12, 0x3c, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x35, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x35, 0x22, 0x2d, + 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x35, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x22, 0xc2, 0x01, + 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, + 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, + 0x04, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x75, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x34, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x22, 0xe6, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x6e, + 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x4b, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x79, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x44, 0x12, 0x47, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x6d, 0x70, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x31, + 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x2c, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x22, + 0xae, 0x02, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x12, 0x5a, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, + 0x73, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, + 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x3c, 0x0a, 0x0b, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6d, 0x70, 0x49, + 0x44, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x49, 0x44, 0x32, + 0x22, 0x5e, 0x0a, 0x15, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x22, 0x41, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x44, 0x22, 0x38, 0x0a, 0x1e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4f, 0x70, + 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x22, 0x8f, 0x01, + 0x0a, 0x20, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2d, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, + 0x47, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x34, 0x22, 0x42, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x87, 0x04, 0x0a, + 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x3c, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, + 0x70, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x70, 0x49, 0x44, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x4b, 0x0a, + 0x10, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0xcb, + 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, + 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x12, 0x47, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, + 0x00, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x41, 0x0a, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc6, 0x02, 0x0a, + 0x0c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, + 0x64, 0x69, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2d, + 0x0a, 0x06, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, + 0x69, 0x78, 0x65, 0x6c, 0x73, 0x52, 0x06, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, + 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, + 0x0e, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x32, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x32, 0x22, 0x36, 0x0a, 0x06, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x2a, 0x0a, + 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x07, 0x4d, 0x73, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0c, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x06, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc6, 0x02, 0x0a, 0x0c, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x73, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x69, 0x78, 0x65, - 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x52, - 0x06, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, - 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, - 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0e, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x32, 0x22, - 0x36, 0x0a, 0x06, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, - 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x2a, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x75, 0x62, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x54, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x69, 0x72, 0x64, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x68, 0x69, 0x72, 0x64, + 0x43, 0x6f, 0x64, 0x65, 0x22, 0x52, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbb, 0x05, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x6c, 0x61, 0x73, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, + 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x43, 0x68, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x43, 0x68, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, + 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x48, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x48, 0x65, 0x78, + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x12, + 0x3e, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, + 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, + 0x2c, 0x0a, 0x11, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, + 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x69, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x68, 0x69, + 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x81, 0x03, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x02, 0x49, 0x44, + 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x48, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x48, 0x65, 0x78, 0x43, 0x6f, 0x6c, + 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x04, 0x69, 0x73, 0x4d, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x52, 0x05, 0x6d, 0x75, 0x74, + 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x62, 0x73, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x62, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x74, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x31, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x31, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x32, 0x22, 0x5d, 0x0a, 0x09, 0x53, 0x6d, + 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x22, 0xc7, 0x01, 0x0a, 0x0d, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, + 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x13, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0x69, 0x0a, 0x13, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x32, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x62, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x07, 0x73, 0x75, 0x62, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, - 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, - 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x65, 0x78, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x65, 0x78, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x69, 0x72, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x68, 0x69, 0x72, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x52, - 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x41, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0xbb, 0x05, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x42, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x61, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x61, - 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, - 0x6c, 0x66, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, - 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x43, 0x6f, 0x6e, 0x76, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, - 0x72, 0x48, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x48, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, - 0x28, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x44, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x12, 0x3e, 0x0a, 0x0c, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x15, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, - 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x10, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x69, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x68, 0x69, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x22, 0x81, 0x03, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x12, 0x28, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x6d, 0x61, - 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x48, 0x65, - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x76, - 0x61, 0x74, 0x61, 0x72, 0x48, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x69, 0x73, 0x4d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4d, 0x65, - 0x12, 0x2a, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x4d, 0x75, 0x74, 0x65, 0x64, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, - 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x62, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, - 0x62, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x31, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, - 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x6d, 0x65, - 0x49, 0x6e, 0x74, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x6f, 0x6d, 0x65, - 0x49, 0x6e, 0x74, 0x32, 0x22, 0x5d, 0x0a, 0x09, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x24, 0x0a, - 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x49, 0x44, 0x22, 0xc7, 0x01, 0x0a, 0x0d, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, - 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x69, 0x0a, - 0x13, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x12, 0x38, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, - 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x21, 0x0a, 0x05, 0x4d, 0x75, 0x74, 0x65, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x69, 0x73, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x2a, 0x43, 0x0a, 0x10, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, - 0x52, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x07, - 0x0a, 0x03, 0x53, 0x4d, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x43, 0x53, 0x10, 0x02, - 0x2a, 0xc2, 0x19, 0x0a, 0x11, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x55, - 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, - 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, - 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x55, 0x54, - 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x44, 0x10, - 0x0b, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x52, - 0x41, 0x46, 0x54, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, - 0x47, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x41, 0x46, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, - 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x55, 0x54, - 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x59, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4e, - 0x44, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, - 0x53, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x55, 0x54, - 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x57, - 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x10, 0x07, 0x12, 0x1b, - 0x0a, 0x17, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x08, 0x12, 0x24, 0x0a, 0x20, 0x4f, - 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x45, - 0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, - 0x09, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, - 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x55, 0x54, 0x47, - 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, - 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x0d, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x55, 0x54, 0x47, 0x4f, - 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, - 0x44, 0x5f, 0x59, 0x45, 0x54, 0x10, 0x0e, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x55, 0x54, 0x47, 0x4f, - 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, - 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x55, 0x54, 0x47, - 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x10, - 0x12, 0x26, 0x0a, 0x22, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, + 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x21, + 0x0a, 0x05, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x4d, 0x75, 0x74, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x69, 0x73, 0x4d, 0x75, 0x74, 0x65, + 0x64, 0x2a, 0x43, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x4d, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, + 0x03, 0x52, 0x43, 0x53, 0x10, 0x02, 0x2a, 0xc2, 0x19, 0x0a, 0x11, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4d, + 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x55, 0x54, 0x47, 0x4f, + 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x16, 0x0a, 0x12, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x50, + 0x4c, 0x41, 0x59, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x55, 0x54, 0x47, 0x4f, + 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x4f, + 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x41, 0x46, 0x54, + 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, + 0x18, 0x0a, 0x14, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x59, 0x45, 0x54, 0x5f, + 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x55, 0x54, + 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, + 0x16, 0x0a, 0x12, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x55, 0x54, 0x47, 0x4f, + 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x54, + 0x52, 0x59, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, + 0x08, 0x12, 0x24, 0x0a, 0x20, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x45, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x4e, + 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x55, 0x54, 0x47, 0x4f, + 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x1d, + 0x0a, 0x19, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x0d, 0x12, 0x1e, 0x0a, + 0x1a, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, + 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x59, 0x45, 0x54, 0x10, 0x0e, 0x12, 0x1f, 0x0a, + 0x1b, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x0f, 0x12, 0x16, + 0x0a, 0x12, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, + 0x55, 0x4c, 0x45, 0x44, 0x10, 0x10, 0x12, 0x26, 0x0a, 0x22, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, + 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, + 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x5f, 0x52, 0x43, 0x53, 0x10, 0x11, 0x12, 0x28, + 0x0a, 0x24, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x41, + 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x12, 0x12, 0x2d, 0x0a, 0x29, 0x4f, 0x55, 0x54, 0x47, + 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x43, 0x49, + 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, + 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x13, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x55, 0x54, 0x47, 0x4f, + 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x14, + 0x12, 0x2d, 0x0a, 0x29, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, - 0x53, 0x54, 0x5f, 0x52, 0x43, 0x53, 0x10, 0x11, 0x12, 0x28, 0x0a, 0x24, 0x4f, 0x55, 0x54, 0x47, - 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, - 0x45, 0x54, 0x52, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, - 0x10, 0x12, 0x12, 0x2d, 0x0a, 0x29, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, - 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, - 0x13, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x14, 0x12, 0x2d, 0x0a, 0x29, 0x4f, 0x55, - 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, - 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x43, - 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x15, 0x12, 0x3b, 0x0a, 0x37, 0x4f, 0x55, 0x54, - 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x43, - 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, - 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x52, - 0x45, 0x54, 0x52, 0x59, 0x10, 0x16, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, - 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x64, 0x12, 0x23, 0x0a, - 0x1f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x59, 0x45, 0x54, 0x5f, 0x54, 0x4f, - 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, - 0x10, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x52, - 0x45, 0x54, 0x52, 0x59, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x44, - 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x66, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x43, - 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x44, 0x4f, 0x57, - 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x67, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, - 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x49, 0x4e, 0x47, 0x5f, - 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x68, 0x12, - 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x55, 0x54, 0x4f, - 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x69, 0x12, 0x1c, - 0x0a, 0x18, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, - 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x6a, 0x12, 0x25, 0x0a, 0x21, - 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, - 0x5f, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0x6b, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, - 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0x6c, 0x12, 0x16, 0x0a, 0x12, 0x49, - 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x45, - 0x44, 0x10, 0x6d, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, - 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, - 0x44, 0x10, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, - 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x6f, 0x12, 0x2c, 0x0a, 0x28, 0x49, - 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, - 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x49, 0x4d, 0x5f, 0x48, 0x41, 0x53, 0x5f, - 0x4e, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x70, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x43, - 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, - 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x71, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x43, - 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x72, 0x12, 0x21, 0x0a, 0x1c, 0x54, 0x4f, - 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x10, 0xc8, 0x01, 0x12, 0x1f, 0x0a, - 0x1a, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, - 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0xc9, 0x01, 0x12, 0x18, - 0x0a, 0x13, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x46, - 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0xca, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x54, 0x4f, 0x4d, 0x42, - 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xcb, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x54, 0x4f, - 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x4d, 0x4d, 0x53, 0x5f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x24, 0x0a, 0x1f, - 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x4d, 0x53, 0x5f, 0x42, 0x52, - 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, - 0xcd, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, - 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x4d, 0x53, 0x5f, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xce, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x54, 0x4f, 0x4d, - 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4f, 0x4e, - 0x45, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xcf, 0x01, - 0x12, 0x22, 0x0a, 0x1d, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x57, - 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x4d, - 0x53, 0x10, 0xd0, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, - 0x45, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x52, 0x4f, 0x41, - 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x53, 0x4d, 0x53, 0x10, 0xd1, 0x01, 0x12, 0x21, 0x0a, 0x1c, - 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x5f, 0x4c, - 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x53, 0x10, 0xd2, 0x01, 0x12, - 0x22, 0x0a, 0x1d, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x47, 0x52, 0x4f, - 0x55, 0x50, 0x5f, 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, - 0x10, 0xd3, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, - 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x53, 0x4d, 0x53, 0x5f, 0x41, 0x50, - 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xd4, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x54, - 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, - 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x43, - 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xd5, 0x01, 0x12, 0x26, 0x0a, 0x21, - 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, - 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x45, 0x58, - 0x54, 0x10, 0xd6, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, - 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, - 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x43, 0x53, 0x10, 0xd7, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x54, - 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x4e, 0x43, 0x52, - 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x43, 0x53, 0x10, 0xd8, 0x01, 0x12, 0x23, 0x0a, 0x1e, - 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xd9, - 0x01, 0x12, 0x28, 0x0a, 0x23, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, 0x45, - 0x44, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xda, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x54, - 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x4e, 0x43, 0x52, - 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xdb, - 0x01, 0x12, 0x26, 0x0a, 0x21, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, - 0x45, 0x4c, 0x46, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x4d, - 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0xdc, 0x01, 0x12, 0x3c, 0x0a, 0x37, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, - 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, - 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x10, 0xdd, 0x01, 0x12, 0x3b, 0x0a, 0x36, 0x4d, 0x45, 0x53, 0x53, 0x41, - 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, - 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x4d, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, - 0x44, 0x10, 0xde, 0x01, 0x12, 0x3b, 0x0a, 0x36, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, - 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, 0xdf, - 0x01, 0x12, 0x45, 0x0a, 0x40, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, - 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x47, - 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, 0xe0, 0x01, 0x12, 0x40, 0x0a, 0x3b, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, - 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, - 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x10, 0xe1, 0x01, 0x12, 0x45, 0x0a, 0x40, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, - 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, - 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, - 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe2, - 0x01, 0x12, 0x3e, 0x0a, 0x39, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, - 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, - 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0xe3, - 0x01, 0x12, 0x37, 0x0a, 0x32, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, - 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x45, - 0x4c, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0xe4, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, - 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, - 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xe5, - 0x01, 0x12, 0x3f, 0x0a, 0x3a, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x45, - 0x4c, 0x46, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, - 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, - 0xe6, 0x01, 0x12, 0x46, 0x0a, 0x41, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, - 0x45, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, - 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0xe7, 0x01, 0x12, 0x40, 0x0a, 0x3b, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, - 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x47, 0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x43, 0x55, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x5f, - 0x54, 0x4f, 0x4f, 0x4c, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x10, 0xe8, 0x01, 0x12, 0x3f, 0x0a, 0x3a, - 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, - 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, - 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x52, - 0x43, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x32, 0x45, 0x45, 0x10, 0xe9, 0x01, 0x12, 0x3f, 0x0a, - 0x3a, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, + 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x15, 0x12, + 0x3b, 0x0a, 0x37, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x5f, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x49, 0x44, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, + 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x10, 0x16, 0x12, 0x15, 0x0a, 0x11, + 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, + 0x45, 0x10, 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, + 0x59, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x44, 0x4f, + 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x49, 0x4e, 0x43, 0x4f, + 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, + 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x66, 0x12, + 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x4e, 0x55, + 0x41, 0x4c, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x67, + 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x54, + 0x52, 0x59, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, + 0x4f, 0x41, 0x44, 0x10, 0x68, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, + 0x47, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, + 0x4e, 0x47, 0x10, 0x69, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, + 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x10, 0x6a, 0x12, 0x25, 0x0a, 0x21, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x45, + 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, + 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x6b, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x43, + 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, + 0x6c, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, + 0x53, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x44, 0x10, 0x6d, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x43, + 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x43, + 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x49, 0x4e, 0x43, + 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, + 0x6f, 0x12, 0x2c, 0x0a, 0x28, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, + 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x49, + 0x4d, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x70, 0x12, + 0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x71, 0x12, + 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x43, 0x52, + 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x72, + 0x12, 0x21, 0x0a, 0x1c, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, + 0x10, 0xc8, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, + 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x46, + 0x54, 0x10, 0xc9, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, + 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0xca, 0x01, 0x12, 0x20, + 0x0a, 0x1b, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x43, 0x53, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xcb, 0x01, + 0x12, 0x20, 0x0a, 0x1b, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x4d, 0x4d, + 0x53, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, + 0xcc, 0x01, 0x12, 0x24, 0x0a, 0x1f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, + 0x53, 0x4d, 0x53, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xcd, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x54, 0x4f, 0x4d, 0x42, + 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4f, 0x4e, 0x45, + 0x5f, 0x53, 0x4d, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xce, 0x01, 0x12, + 0x25, 0x0a, 0x20, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x4e, 0x45, + 0x5f, 0x4f, 0x4e, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x45, 0x44, 0x10, 0xcf, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, + 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x4d, 0x53, 0x10, 0xd0, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x54, 0x4f, + 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, + 0x4f, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x53, 0x4d, 0x53, 0x10, + 0xd1, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, + 0x53, 0x48, 0x4f, 0x57, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x45, + 0x57, 0x53, 0x10, 0xd2, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, + 0x4e, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x44, + 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0xd3, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x54, 0x4f, 0x4d, + 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, + 0x53, 0x4d, 0x53, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xd4, + 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, + 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, + 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, + 0xd5, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, - 0x45, 0x32, 0x45, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x43, 0x53, 0x10, 0xea, 0x01, 0x12, 0x3a, - 0x0a, 0x35, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, - 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, - 0x54, 0x4f, 0x5f, 0x45, 0x32, 0x45, 0x45, 0x10, 0xeb, 0x01, 0x12, 0x3a, 0x0a, 0x35, 0x4d, 0x45, + 0x54, 0x4f, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0xd6, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x54, 0x4f, + 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, + 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x43, 0x53, 0x10, 0xd7, + 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, + 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, + 0x4f, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x43, 0x53, 0x10, + 0xd8, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x47, 0x4c, + 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xd9, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x54, 0x4f, 0x4d, 0x42, 0x53, + 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, + 0x43, 0x4c, 0x45, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xda, + 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, + 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, + 0x4f, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x43, 0x53, 0x5f, + 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xdb, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x54, 0x4f, 0x4d, 0x42, 0x53, + 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, + 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0xdc, 0x01, 0x12, + 0x3c, 0x0a, 0x37, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, + 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0xdd, 0x01, 0x12, 0x3b, 0x0a, + 0x36, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x4d, 0x53, 0x5f, 0x4e, 0x4f, + 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x55, + 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, 0xde, 0x01, 0x12, 0x3b, 0x0a, 0x36, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, - 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, - 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x32, 0x45, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x54, - 0x45, 0x58, 0x54, 0x10, 0xec, 0x01, 0x12, 0x39, 0x0a, 0x34, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, - 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, - 0x43, 0x48, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x32, 0x45, 0x45, 0x10, 0xed, - 0x01, 0x12, 0x39, 0x0a, 0x34, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x32, - 0x45, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x43, 0x53, 0x10, 0xee, 0x01, 0x12, 0x31, 0x0a, 0x2c, + 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x47, 0x52, + 0x41, 0x44, 0x45, 0x44, 0x10, 0xdf, 0x01, 0x12, 0x45, 0x0a, 0x40, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, + 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x43, + 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, + 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, 0xe0, 0x01, 0x12, 0x40, + 0x0a, 0x3b, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, + 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x10, 0xe1, 0x01, + 0x12, 0x45, 0x0a, 0x40, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, + 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe2, 0x01, 0x12, 0x3e, 0x0a, 0x39, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, + 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, + 0x4c, 0x45, 0x46, 0x54, 0x10, 0xe3, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, + 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0xe4, 0x01, + 0x12, 0x35, 0x0a, 0x30, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e, 0x43, + 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x44, 0x10, 0xe5, 0x01, 0x12, 0x3f, 0x0a, 0x3a, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, + 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, + 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0xe6, 0x01, 0x12, 0x46, 0x0a, 0x41, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, + 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, + 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x45, 0x4e, + 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0xe7, 0x01, + 0x12, 0x40, 0x0a, 0x3b, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x47, + 0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x43, 0x55, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x52, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x10, + 0xe8, 0x01, 0x12, 0x3f, 0x0a, 0x3a, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, + 0x49, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x32, 0x45, 0x45, + 0x10, 0xe9, 0x01, 0x12, 0x3f, 0x0a, 0x3a, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, + 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x32, 0x45, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x43, + 0x53, 0x10, 0xea, 0x01, 0x12, 0x3a, 0x0a, 0x35, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, + 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, + 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x32, 0x45, 0x45, 0x10, 0xeb, 0x01, + 0x12, 0x3a, 0x0a, 0x35, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x32, 0x45, + 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0xec, 0x01, 0x12, 0x39, 0x0a, 0x34, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, - 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x41, 0x54, 0x45, 0x4c, 0x4c, 0x49, - 0x54, 0x45, 0x5f, 0x45, 0x44, 0x55, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xef, 0x01, 0x12, - 0x14, 0x0a, 0x0f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x44, 0x10, 0xac, 0x02, 0x2a, 0x50, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, - 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, - 0x0a, 0x07, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x2a, 0x63, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x55, 0x4e, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x08, 0x2a, 0x2e, 0x0a, 0x16, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x75, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x4d, 0x55, 0x54, 0x45, - 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x55, 0x54, 0x45, 0x10, 0x01, 0x2a, 0x79, 0x0a, 0x0f, - 0x43, 0x6f, 0x6e, 0x76, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, - 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x41, 0x52, 0x43, 0x48, 0x49, - 0x56, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, - 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, - 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xfb, 0x03, 0x0a, 0x0c, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4a, 0x50, 0x45, 0x47, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4a, 0x50, 0x47, 0x10, 0x02, 0x12, 0x0d, 0x0a, - 0x09, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, - 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x47, 0x49, 0x46, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x49, - 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x42, 0x4d, 0x50, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x49, - 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x58, 0x5f, 0x4d, 0x53, 0x5f, 0x42, 0x4d, 0x50, 0x10, 0x06, 0x12, - 0x15, 0x0a, 0x11, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, - 0x4d, 0x50, 0x34, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x33, - 0x47, 0x32, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x33, 0x47, - 0x50, 0x50, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x57, 0x45, - 0x42, 0x4d, 0x10, 0x0b, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4d, 0x4b, - 0x56, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, - 0x44, 0x49, 0x4f, 0x5f, 0x41, 0x41, 0x43, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, - 0x49, 0x4f, 0x5f, 0x41, 0x4d, 0x52, 0x10, 0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, - 0x4f, 0x5f, 0x4d, 0x50, 0x33, 0x10, 0x10, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x44, 0x49, 0x4f, - 0x5f, 0x4d, 0x50, 0x45, 0x47, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, - 0x5f, 0x4d, 0x50, 0x47, 0x10, 0x12, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, - 0x4d, 0x50, 0x34, 0x10, 0x13, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x4d, - 0x50, 0x34, 0x5f, 0x4c, 0x41, 0x54, 0x4d, 0x10, 0x14, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x44, - 0x49, 0x4f, 0x5f, 0x33, 0x47, 0x50, 0x50, 0x10, 0x15, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, - 0x49, 0x4f, 0x5f, 0x4f, 0x47, 0x47, 0x10, 0x16, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x55, 0x44, 0x49, - 0x4f, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x17, 0x12, - 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x56, 0x43, 0x41, 0x52, 0x44, 0x10, 0x18, 0x12, - 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x5f, 0x50, 0x44, 0x46, 0x10, 0x1c, 0x12, 0x0b, 0x0a, 0x07, - 0x41, 0x50, 0x50, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x1d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, - 0x5f, 0x48, 0x54, 0x4d, 0x4c, 0x10, 0x1e, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x44, 0x49, 0x4f, - 0x5f, 0x4f, 0x47, 0x47, 0x32, 0x10, 0x1f, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x5f, 0x53, - 0x4d, 0x49, 0x4c, 0x10, 0x20, 0x42, 0x0e, 0x5a, 0x0c, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x62, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x43, 0x53, 0x5f, 0x54, 0x4f, 0x5f, + 0x45, 0x32, 0x45, 0x45, 0x10, 0xed, 0x01, 0x12, 0x39, 0x0a, 0x34, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, + 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x57, 0x49, + 0x54, 0x43, 0x48, 0x5f, 0x45, 0x32, 0x45, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x43, 0x53, 0x10, + 0xee, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, + 0x41, 0x54, 0x45, 0x4c, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x45, 0x44, 0x55, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0xef, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xac, 0x02, 0x2a, 0x50, 0x0a, 0x12, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x41, 0x52, 0x43, 0x48, 0x49, + 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x10, + 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x2a, 0x63, 0x0a, + 0x18, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, + 0x02, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, + 0x10, 0x08, 0x2a, 0x2e, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x75, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, + 0x55, 0x4e, 0x4d, 0x55, 0x54, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x55, 0x54, 0x45, + 0x10, 0x01, 0x2a, 0x79, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, + 0x4e, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, + 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, + 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, + 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xfb, 0x03, + 0x0a, 0x0c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x12, 0x14, + 0x0a, 0x10, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4a, 0x50, + 0x45, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4a, 0x50, + 0x47, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4e, 0x47, + 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x47, 0x49, 0x46, 0x10, + 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x42, 0x4d, 0x50, 0x10, + 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x58, 0x5f, 0x4d, 0x53, 0x5f, + 0x42, 0x4d, 0x50, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, + 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x4d, 0x50, 0x34, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x56, + 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x33, 0x47, 0x32, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x49, + 0x44, 0x45, 0x4f, 0x5f, 0x33, 0x47, 0x50, 0x50, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x49, + 0x44, 0x45, 0x4f, 0x5f, 0x57, 0x45, 0x42, 0x4d, 0x10, 0x0b, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x49, + 0x44, 0x45, 0x4f, 0x5f, 0x4d, 0x4b, 0x56, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x49, 0x44, + 0x45, 0x4f, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x0d, + 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x41, 0x41, 0x43, 0x10, 0x0e, 0x12, + 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x41, 0x4d, 0x52, 0x10, 0x0f, 0x12, 0x0d, + 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x4d, 0x50, 0x33, 0x10, 0x10, 0x12, 0x0e, 0x0a, + 0x0a, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x4d, 0x50, 0x45, 0x47, 0x10, 0x11, 0x12, 0x0d, 0x0a, + 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x4d, 0x50, 0x47, 0x10, 0x12, 0x12, 0x0d, 0x0a, 0x09, + 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x4d, 0x50, 0x34, 0x10, 0x13, 0x12, 0x12, 0x0a, 0x0e, 0x41, + 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x4d, 0x50, 0x34, 0x5f, 0x4c, 0x41, 0x54, 0x4d, 0x10, 0x14, 0x12, + 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x33, 0x47, 0x50, 0x50, 0x10, 0x15, 0x12, + 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x4f, 0x47, 0x47, 0x10, 0x16, 0x12, 0x15, + 0x0a, 0x11, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x17, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x56, 0x43, + 0x41, 0x52, 0x44, 0x10, 0x18, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x5f, 0x50, 0x44, 0x46, + 0x10, 0x1c, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x1d, 0x12, + 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x5f, 0x48, 0x54, 0x4d, 0x4c, 0x10, 0x1e, 0x12, 0x0e, 0x0a, + 0x0a, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x4f, 0x47, 0x47, 0x32, 0x10, 0x1f, 0x12, 0x0c, 0x0a, + 0x08, 0x41, 0x50, 0x50, 0x5f, 0x53, 0x4d, 0x49, 0x4c, 0x10, 0x20, 0x42, 0x0e, 0x5a, 0x0c, 0x2e, + 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -3455,7 +3567,7 @@ func file_conversations_proto_rawDescGZIP() []byte { } var file_conversations_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_conversations_proto_msgTypes = make([]protoimpl.MessageInfo, 32) +var file_conversations_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_conversations_proto_goTypes = []interface{}{ (ConversationType)(0), // 0: conversations.ConversationType (MessageStatusType)(0), // 1: conversations.MessageStatusType @@ -3467,74 +3579,77 @@ var file_conversations_proto_goTypes = []interface{}{ (*GetParticipantThumbnailPayload)(nil), // 7: conversations.GetParticipantThumbnailPayload (*ResendMessagePayload)(nil), // 8: conversations.ResendMessagePayload (*ConversationTypePayload)(nil), // 9: conversations.ConversationTypePayload - (*UpdateConversationPayload)(nil), // 10: conversations.UpdateConversationPayload - (*ConversationAction5)(nil), // 11: conversations.ConversationAction5 - (*UpdateConversationData)(nil), // 12: conversations.UpdateConversationData - (*DeleteMessagePayload)(nil), // 13: conversations.DeleteMessagePayload - (*SendMessagePayload)(nil), // 14: conversations.SendMessagePayload - (*ReplyPayload)(nil), // 15: conversations.ReplyPayload - (*MessagePayload)(nil), // 16: conversations.MessagePayload - (*MessagePayloadContent)(nil), // 17: conversations.MessagePayloadContent - (*OpenConversationPayload)(nil), // 18: conversations.OpenConversationPayload - (*PrepareOpenConversationPayload)(nil), // 19: conversations.PrepareOpenConversationPayload - (*FetchConversationMessagesPayload)(nil), // 20: conversations.FetchConversationMessagesPayload - (*ListCoversationsPayload)(nil), // 21: conversations.ListCoversationsPayload - (*Cursor)(nil), // 22: conversations.Cursor - (*Message)(nil), // 23: conversations.Message - (*ReplyMessage)(nil), // 24: conversations.ReplyMessage - (*ReplyMessageData)(nil), // 25: conversations.ReplyMessageData - (*MessageInfo)(nil), // 26: conversations.MessageInfo - (*MediaContent)(nil), // 27: conversations.MediaContent - (*Pixels)(nil), // 28: conversations.Pixels - (*MessageContent)(nil), // 29: conversations.MessageContent - (*MsgType)(nil), // 30: conversations.MsgType - (*MessageStatus)(nil), // 31: conversations.MessageStatus - (*Conversations)(nil), // 32: conversations.Conversations - (*Conversation)(nil), // 33: conversations.Conversation - (*Participant)(nil), // 34: conversations.Participant - (*SmallInfo)(nil), // 35: conversations.SmallInfo - (*LatestMessage)(nil), // 36: conversations.LatestMessage - (*LatestMessageStatus)(nil), // 37: conversations.LatestMessageStatus - (*Muted)(nil), // 38: conversations.Muted - (*ReactionResponse)(nil), // 39: reactions.ReactionResponse + (*TypingUpdatePayload)(nil), // 10: conversations.TypingUpdatePayload + (*SetTypingIn)(nil), // 11: conversations.SetTypingIn + (*UpdateConversationPayload)(nil), // 12: conversations.UpdateConversationPayload + (*ConversationAction5)(nil), // 13: conversations.ConversationAction5 + (*UpdateConversationData)(nil), // 14: conversations.UpdateConversationData + (*DeleteMessagePayload)(nil), // 15: conversations.DeleteMessagePayload + (*SendMessagePayload)(nil), // 16: conversations.SendMessagePayload + (*ReplyPayload)(nil), // 17: conversations.ReplyPayload + (*MessagePayload)(nil), // 18: conversations.MessagePayload + (*MessagePayloadContent)(nil), // 19: conversations.MessagePayloadContent + (*OpenConversationPayload)(nil), // 20: conversations.OpenConversationPayload + (*PrepareOpenConversationPayload)(nil), // 21: conversations.PrepareOpenConversationPayload + (*FetchConversationMessagesPayload)(nil), // 22: conversations.FetchConversationMessagesPayload + (*ListCoversationsPayload)(nil), // 23: conversations.ListCoversationsPayload + (*Cursor)(nil), // 24: conversations.Cursor + (*Message)(nil), // 25: conversations.Message + (*ReplyMessage)(nil), // 26: conversations.ReplyMessage + (*ReplyMessageData)(nil), // 27: conversations.ReplyMessageData + (*MessageInfo)(nil), // 28: conversations.MessageInfo + (*MediaContent)(nil), // 29: conversations.MediaContent + (*Pixels)(nil), // 30: conversations.Pixels + (*MessageContent)(nil), // 31: conversations.MessageContent + (*MsgType)(nil), // 32: conversations.MsgType + (*MessageStatus)(nil), // 33: conversations.MessageStatus + (*Conversations)(nil), // 34: conversations.Conversations + (*Conversation)(nil), // 35: conversations.Conversation + (*Participant)(nil), // 36: conversations.Participant + (*SmallInfo)(nil), // 37: conversations.SmallInfo + (*LatestMessage)(nil), // 38: conversations.LatestMessage + (*LatestMessageStatus)(nil), // 39: conversations.LatestMessageStatus + (*Muted)(nil), // 40: conversations.Muted + (*ReactionResponse)(nil), // 41: reactions.ReactionResponse } var file_conversations_proto_depIdxs = []int32{ - 12, // 0: conversations.UpdateConversationPayload.data:type_name -> conversations.UpdateConversationData - 3, // 1: conversations.UpdateConversationPayload.action:type_name -> conversations.ConversationActionStatus - 11, // 2: conversations.UpdateConversationPayload.action5:type_name -> conversations.ConversationAction5 - 2, // 3: conversations.UpdateConversationData.status:type_name -> conversations.ConversationStatus - 4, // 4: conversations.UpdateConversationData.mute:type_name -> conversations.ConversationMuteStatus - 16, // 5: conversations.SendMessagePayload.messagePayload:type_name -> conversations.MessagePayload - 15, // 6: conversations.SendMessagePayload.reply:type_name -> conversations.ReplyPayload - 17, // 7: conversations.MessagePayload.messagePayloadContent:type_name -> conversations.MessagePayloadContent - 26, // 8: conversations.MessagePayload.messageInfo:type_name -> conversations.MessageInfo - 29, // 9: conversations.MessagePayloadContent.messageContent:type_name -> conversations.MessageContent - 22, // 10: conversations.FetchConversationMessagesPayload.cursor:type_name -> conversations.Cursor - 30, // 11: conversations.Message.msgType:type_name -> conversations.MsgType - 31, // 12: conversations.Message.messageStatus:type_name -> conversations.MessageStatus - 26, // 13: conversations.Message.messageInfo:type_name -> conversations.MessageInfo - 39, // 14: conversations.Message.reactions:type_name -> reactions.ReactionResponse - 24, // 15: conversations.Message.replyMessage:type_name -> conversations.ReplyMessage - 25, // 16: conversations.ReplyMessage.replyMessageData:type_name -> conversations.ReplyMessageData - 29, // 17: conversations.MessageInfo.messageContent:type_name -> conversations.MessageContent - 27, // 18: conversations.MessageInfo.mediaContent:type_name -> conversations.MediaContent - 6, // 19: conversations.MediaContent.format:type_name -> conversations.MediaFormats - 28, // 20: conversations.MediaContent.pixels:type_name -> conversations.Pixels - 1, // 21: conversations.MessageStatus.status:type_name -> conversations.MessageStatusType - 33, // 22: conversations.Conversations.conversations:type_name -> conversations.Conversation - 36, // 23: conversations.Conversation.latestMessage:type_name -> conversations.LatestMessage - 5, // 24: conversations.Conversation.status:type_name -> conversations.ConvUpdateTypes - 34, // 25: conversations.Conversation.participants:type_name -> conversations.Participant - 0, // 26: conversations.Conversation.type:type_name -> conversations.ConversationType - 35, // 27: conversations.Participant.ID:type_name -> conversations.SmallInfo - 38, // 28: conversations.Participant.muted:type_name -> conversations.Muted - 37, // 29: conversations.LatestMessage.latestMessageStatus:type_name -> conversations.LatestMessageStatus - 1, // 30: conversations.LatestMessageStatus.status:type_name -> conversations.MessageStatusType - 31, // [31:31] is the sub-list for method output_type - 31, // [31:31] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 11, // 0: conversations.TypingUpdatePayload.data:type_name -> conversations.SetTypingIn + 14, // 1: conversations.UpdateConversationPayload.data:type_name -> conversations.UpdateConversationData + 3, // 2: conversations.UpdateConversationPayload.action:type_name -> conversations.ConversationActionStatus + 13, // 3: conversations.UpdateConversationPayload.action5:type_name -> conversations.ConversationAction5 + 2, // 4: conversations.UpdateConversationData.status:type_name -> conversations.ConversationStatus + 4, // 5: conversations.UpdateConversationData.mute:type_name -> conversations.ConversationMuteStatus + 18, // 6: conversations.SendMessagePayload.messagePayload:type_name -> conversations.MessagePayload + 17, // 7: conversations.SendMessagePayload.reply:type_name -> conversations.ReplyPayload + 19, // 8: conversations.MessagePayload.messagePayloadContent:type_name -> conversations.MessagePayloadContent + 28, // 9: conversations.MessagePayload.messageInfo:type_name -> conversations.MessageInfo + 31, // 10: conversations.MessagePayloadContent.messageContent:type_name -> conversations.MessageContent + 24, // 11: conversations.FetchConversationMessagesPayload.cursor:type_name -> conversations.Cursor + 32, // 12: conversations.Message.msgType:type_name -> conversations.MsgType + 33, // 13: conversations.Message.messageStatus:type_name -> conversations.MessageStatus + 28, // 14: conversations.Message.messageInfo:type_name -> conversations.MessageInfo + 41, // 15: conversations.Message.reactions:type_name -> reactions.ReactionResponse + 26, // 16: conversations.Message.replyMessage:type_name -> conversations.ReplyMessage + 27, // 17: conversations.ReplyMessage.replyMessageData:type_name -> conversations.ReplyMessageData + 31, // 18: conversations.MessageInfo.messageContent:type_name -> conversations.MessageContent + 29, // 19: conversations.MessageInfo.mediaContent:type_name -> conversations.MediaContent + 6, // 20: conversations.MediaContent.format:type_name -> conversations.MediaFormats + 30, // 21: conversations.MediaContent.pixels:type_name -> conversations.Pixels + 1, // 22: conversations.MessageStatus.status:type_name -> conversations.MessageStatusType + 35, // 23: conversations.Conversations.conversations:type_name -> conversations.Conversation + 38, // 24: conversations.Conversation.latestMessage:type_name -> conversations.LatestMessage + 5, // 25: conversations.Conversation.status:type_name -> conversations.ConvUpdateTypes + 36, // 26: conversations.Conversation.participants:type_name -> conversations.Participant + 0, // 27: conversations.Conversation.type:type_name -> conversations.ConversationType + 37, // 28: conversations.Participant.ID:type_name -> conversations.SmallInfo + 40, // 29: conversations.Participant.muted:type_name -> conversations.Muted + 39, // 30: conversations.LatestMessage.latestMessageStatus:type_name -> conversations.LatestMessageStatus + 1, // 31: conversations.LatestMessageStatus.status:type_name -> conversations.MessageStatusType + 32, // [32:32] is the sub-list for method output_type + 32, // [32:32] is the sub-list for method input_type + 32, // [32:32] is the sub-list for extension type_name + 32, // [32:32] is the sub-list for extension extendee + 0, // [0:32] is the sub-list for field type_name } func init() { file_conversations_proto_init() } @@ -3581,7 +3696,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateConversationPayload); i { + switch v := v.(*TypingUpdatePayload); i { case 0: return &v.state case 1: @@ -3593,7 +3708,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConversationAction5); i { + switch v := v.(*SetTypingIn); i { case 0: return &v.state case 1: @@ -3605,7 +3720,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateConversationData); i { + switch v := v.(*UpdateConversationPayload); i { case 0: return &v.state case 1: @@ -3617,7 +3732,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMessagePayload); i { + switch v := v.(*ConversationAction5); i { case 0: return &v.state case 1: @@ -3629,7 +3744,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendMessagePayload); i { + switch v := v.(*UpdateConversationData); i { case 0: return &v.state case 1: @@ -3641,7 +3756,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplyPayload); i { + switch v := v.(*DeleteMessagePayload); i { case 0: return &v.state case 1: @@ -3653,7 +3768,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessagePayload); i { + switch v := v.(*SendMessagePayload); i { case 0: return &v.state case 1: @@ -3665,7 +3780,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessagePayloadContent); i { + switch v := v.(*ReplyPayload); i { case 0: return &v.state case 1: @@ -3677,7 +3792,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenConversationPayload); i { + switch v := v.(*MessagePayload); i { case 0: return &v.state case 1: @@ -3689,7 +3804,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrepareOpenConversationPayload); i { + switch v := v.(*MessagePayloadContent); i { case 0: return &v.state case 1: @@ -3701,7 +3816,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchConversationMessagesPayload); i { + switch v := v.(*OpenConversationPayload); i { case 0: return &v.state case 1: @@ -3713,7 +3828,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListCoversationsPayload); i { + switch v := v.(*PrepareOpenConversationPayload); i { case 0: return &v.state case 1: @@ -3725,7 +3840,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Cursor); i { + switch v := v.(*FetchConversationMessagesPayload); i { case 0: return &v.state case 1: @@ -3737,7 +3852,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Message); i { + switch v := v.(*ListCoversationsPayload); i { case 0: return &v.state case 1: @@ -3749,7 +3864,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplyMessage); i { + switch v := v.(*Cursor); i { case 0: return &v.state case 1: @@ -3761,7 +3876,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplyMessageData); i { + switch v := v.(*Message); i { case 0: return &v.state case 1: @@ -3773,7 +3888,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageInfo); i { + switch v := v.(*ReplyMessage); i { case 0: return &v.state case 1: @@ -3785,7 +3900,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaContent); i { + switch v := v.(*ReplyMessageData); i { case 0: return &v.state case 1: @@ -3797,7 +3912,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Pixels); i { + switch v := v.(*MessageInfo); i { case 0: return &v.state case 1: @@ -3809,7 +3924,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageContent); i { + switch v := v.(*MediaContent); i { case 0: return &v.state case 1: @@ -3821,7 +3936,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgType); i { + switch v := v.(*Pixels); i { case 0: return &v.state case 1: @@ -3833,7 +3948,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageStatus); i { + switch v := v.(*MessageContent); i { case 0: return &v.state case 1: @@ -3845,7 +3960,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Conversations); i { + switch v := v.(*MsgType); i { case 0: return &v.state case 1: @@ -3857,7 +3972,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Conversation); i { + switch v := v.(*MessageStatus); i { case 0: return &v.state case 1: @@ -3869,7 +3984,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Participant); i { + switch v := v.(*Conversations); i { case 0: return &v.state case 1: @@ -3881,7 +3996,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SmallInfo); i { + switch v := v.(*Conversation); i { case 0: return &v.state case 1: @@ -3893,7 +4008,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LatestMessage); i { + switch v := v.(*Participant); i { case 0: return &v.state case 1: @@ -3905,7 +4020,7 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LatestMessageStatus); i { + switch v := v.(*SmallInfo); i { case 0: return &v.state case 1: @@ -3917,6 +4032,30 @@ func file_conversations_proto_init() { } } file_conversations_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LatestMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_conversations_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LatestMessageStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_conversations_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Muted); i { case 0: return &v.state @@ -3929,11 +4068,11 @@ func file_conversations_proto_init() { } } } - file_conversations_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_conversations_proto_msgTypes[7].OneofWrappers = []interface{}{ (*UpdateConversationData_Status)(nil), (*UpdateConversationData_Mute)(nil), } - file_conversations_proto_msgTypes[19].OneofWrappers = []interface{}{ + file_conversations_proto_msgTypes[21].OneofWrappers = []interface{}{ (*MessageInfo_MessageContent)(nil), (*MessageInfo_MediaContent)(nil), } @@ -3943,7 +4082,7 @@ func file_conversations_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_conversations_proto_rawDesc, NumEnums: 7, - NumMessages: 32, + NumMessages: 34, NumExtensions: 0, NumServices: 0, }, diff --git a/libgm/binary/raw/conversations.proto b/libgm/binary/raw/conversations.proto index edf4f27..0381b0a 100644 --- a/libgm/binary/raw/conversations.proto +++ b/libgm/binary/raw/conversations.proto @@ -17,6 +17,15 @@ message ConversationTypePayload { string conversationID = 2; } +message TypingUpdatePayload { + SetTypingIn data = 2; +} + +message SetTypingIn { + string conversationID = 1; + bool typing = 3; +} + message UpdateConversationPayload { UpdateConversationData data = 1; ConversationActionStatus action = 2; diff --git a/libgm/conversations.go b/libgm/conversations.go index 8a52e56..20dc4e5 100644 --- a/libgm/conversations.go +++ b/libgm/conversations.go @@ -166,3 +166,19 @@ func (c *Conversations) Update(convBuilder *ConversationBuilder) (*binary.Update return res, nil } + +func (c *Conversations) SetTyping(convID string) error { + payload := &binary.TypingUpdatePayload{Data: &binary.SetTypingIn{ConversationID: convID, Typing: true}} + actionType := binary.ActionType_TYPING_UPDATES + + sentRequestId, sendErr := c.client.sessionHandler.completeSendMessage(actionType, true, payload) + if sendErr != nil { + return sendErr + } + + _, err := c.client.sessionHandler.WaitForResponse(sentRequestId, actionType) + if err != nil { + return err + } + return nil +} diff --git a/libgm/routes/conversations.go b/libgm/routes/conversations.go index 1173e7f..02adf15 100644 --- a/libgm/routes/conversations.go +++ b/libgm/routes/conversations.go @@ -46,3 +46,12 @@ var UPDATE_CONVERSATION = Route{ UseSessionID: false, UseTTL: true, } + +var TYPING_UPDATES = Route{ + Action: binary.ActionType_TYPING_UPDATES, + MessageType: binary.MessageType_BUGLE_MESSAGE, + BugleRoute: binary.BugleRoute_DataEvent, + ResponseStruct: nil, + UseSessionID: false, + UseTTL: true, +} diff --git a/libgm/routes/mapped.go b/libgm/routes/mapped.go index cea20fb..50a483c 100644 --- a/libgm/routes/mapped.go +++ b/libgm/routes/mapped.go @@ -27,5 +27,6 @@ var Routes = map[binary.ActionType]Route{ binary.ActionType_SEND_MESSAGE: SEND_MESSAGE, binary.ActionType_SEND_REACTION: SEND_REACTION, binary.ActionType_DELETE_MESSAGE: DELETE_MESSAGE, + binary.ActionType_TYPING_UPDATES: TYPING_UPDATES, binary.ActionType_GET_PARTICIPANTS_THUMBNAIL: GET_PARTICIPANT_THUMBNAIL, }