1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 11:07:40 +08:00
MiraiGo/client/pb/msg/msg.pb.go
2020-07-13 17:50:02 +08:00

5769 lines
189 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.11.4
// source: msg.proto
package msg
import (
proto "github.com/golang/protobuf/proto"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type SyncFlag int32
const (
SyncFlag_START SyncFlag = 0
SyncFlag_CONTINUME SyncFlag = 1
SyncFlag_STOP SyncFlag = 2
)
// Enum value maps for SyncFlag.
var (
SyncFlag_name = map[int32]string{
0: "START",
1: "CONTINUME",
2: "STOP",
}
SyncFlag_value = map[string]int32{
"START": 0,
"CONTINUME": 1,
"STOP": 2,
}
)
func (x SyncFlag) Enum() *SyncFlag {
p := new(SyncFlag)
*p = x
return p
}
func (x SyncFlag) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SyncFlag) Descriptor() protoreflect.EnumDescriptor {
return file_msg_proto_enumTypes[0].Descriptor()
}
func (SyncFlag) Type() protoreflect.EnumType {
return &file_msg_proto_enumTypes[0]
}
func (x SyncFlag) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SyncFlag.Descriptor instead.
func (SyncFlag) EnumDescriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{0}
}
type GetMessageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SyncFlag SyncFlag `protobuf:"varint,1,opt,name=syncFlag,proto3,enum=SyncFlag" json:"syncFlag,omitempty"`
SyncCookie []byte `protobuf:"bytes,2,opt,name=syncCookie,proto3" json:"syncCookie,omitempty"`
RambleFlag int32 `protobuf:"varint,3,opt,name=rambleFlag,proto3" json:"rambleFlag,omitempty"`
LatestRambleNumber int32 `protobuf:"varint,4,opt,name=latestRambleNumber,proto3" json:"latestRambleNumber,omitempty"`
OtherRambleNumber int32 `protobuf:"varint,5,opt,name=otherRambleNumber,proto3" json:"otherRambleNumber,omitempty"`
OnlineSyncFlag int32 `protobuf:"varint,6,opt,name=onlineSyncFlag,proto3" json:"onlineSyncFlag,omitempty"`
ContextFlag int32 `protobuf:"varint,7,opt,name=contextFlag,proto3" json:"contextFlag,omitempty"`
WhisperSessionId int32 `protobuf:"varint,8,opt,name=whisperSessionId,proto3" json:"whisperSessionId,omitempty"`
MsgReqType int32 `protobuf:"varint,9,opt,name=msgReqType,proto3" json:"msgReqType,omitempty"`
PubaccountCookie []byte `protobuf:"bytes,10,opt,name=pubaccountCookie,proto3" json:"pubaccountCookie,omitempty"`
MsgCtrlBuf []byte `protobuf:"bytes,11,opt,name=msgCtrlBuf,proto3" json:"msgCtrlBuf,omitempty"`
ServerBuf []byte `protobuf:"bytes,12,opt,name=serverBuf,proto3" json:"serverBuf,omitempty"`
}
func (x *GetMessageRequest) Reset() {
*x = GetMessageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMessageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMessageRequest) ProtoMessage() {}
func (x *GetMessageRequest) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetMessageRequest.ProtoReflect.Descriptor instead.
func (*GetMessageRequest) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{0}
}
func (x *GetMessageRequest) GetSyncFlag() SyncFlag {
if x != nil {
return x.SyncFlag
}
return SyncFlag_START
}
func (x *GetMessageRequest) GetSyncCookie() []byte {
if x != nil {
return x.SyncCookie
}
return nil
}
func (x *GetMessageRequest) GetRambleFlag() int32 {
if x != nil {
return x.RambleFlag
}
return 0
}
func (x *GetMessageRequest) GetLatestRambleNumber() int32 {
if x != nil {
return x.LatestRambleNumber
}
return 0
}
func (x *GetMessageRequest) GetOtherRambleNumber() int32 {
if x != nil {
return x.OtherRambleNumber
}
return 0
}
func (x *GetMessageRequest) GetOnlineSyncFlag() int32 {
if x != nil {
return x.OnlineSyncFlag
}
return 0
}
func (x *GetMessageRequest) GetContextFlag() int32 {
if x != nil {
return x.ContextFlag
}
return 0
}
func (x *GetMessageRequest) GetWhisperSessionId() int32 {
if x != nil {
return x.WhisperSessionId
}
return 0
}
func (x *GetMessageRequest) GetMsgReqType() int32 {
if x != nil {
return x.MsgReqType
}
return 0
}
func (x *GetMessageRequest) GetPubaccountCookie() []byte {
if x != nil {
return x.PubaccountCookie
}
return nil
}
func (x *GetMessageRequest) GetMsgCtrlBuf() []byte {
if x != nil {
return x.MsgCtrlBuf
}
return nil
}
func (x *GetMessageRequest) GetServerBuf() []byte {
if x != nil {
return x.ServerBuf
}
return nil
}
type SendMessageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoutingHead *RoutingHead `protobuf:"bytes,1,opt,name=routingHead,proto3" json:"routingHead,omitempty"`
ContentHead *ContentHead `protobuf:"bytes,2,opt,name=contentHead,proto3" json:"contentHead,omitempty"`
MsgBody *MessageBody `protobuf:"bytes,3,opt,name=msgBody,proto3" json:"msgBody,omitempty"`
MsgSeq int32 `protobuf:"varint,4,opt,name=msgSeq,proto3" json:"msgSeq,omitempty"`
MsgRand int32 `protobuf:"varint,5,opt,name=msgRand,proto3" json:"msgRand,omitempty"`
SyncCookie []byte `protobuf:"bytes,6,opt,name=syncCookie,proto3" json:"syncCookie,omitempty"`
//MsgComm.AppShareInfo? appShare = 7;
MsgVia int32 `protobuf:"varint,8,opt,name=msgVia,proto3" json:"msgVia,omitempty"`
DataStatist int32 `protobuf:"varint,9,opt,name=dataStatist,proto3" json:"dataStatist,omitempty"`
//MultiMsgAssist? multiMsgAssist = 10;
//PbInputNotifyInfo? inputNotifyInfo = 11;
MsgCtrl *MsgCtrl `protobuf:"bytes,12,opt,name=msgCtrl,proto3" json:"msgCtrl,omitempty"`
//ImReceipt.ReceiptReq? receiptReq = 13;
MultiSendSeq int32 `protobuf:"varint,14,opt,name=multiSendSeq,proto3" json:"multiSendSeq,omitempty"`
}
func (x *SendMessageRequest) Reset() {
*x = SendMessageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SendMessageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendMessageRequest) ProtoMessage() {}
func (x *SendMessageRequest) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SendMessageRequest.ProtoReflect.Descriptor instead.
func (*SendMessageRequest) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{1}
}
func (x *SendMessageRequest) GetRoutingHead() *RoutingHead {
if x != nil {
return x.RoutingHead
}
return nil
}
func (x *SendMessageRequest) GetContentHead() *ContentHead {
if x != nil {
return x.ContentHead
}
return nil
}
func (x *SendMessageRequest) GetMsgBody() *MessageBody {
if x != nil {
return x.MsgBody
}
return nil
}
func (x *SendMessageRequest) GetMsgSeq() int32 {
if x != nil {
return x.MsgSeq
}
return 0
}
func (x *SendMessageRequest) GetMsgRand() int32 {
if x != nil {
return x.MsgRand
}
return 0
}
func (x *SendMessageRequest) GetSyncCookie() []byte {
if x != nil {
return x.SyncCookie
}
return nil
}
func (x *SendMessageRequest) GetMsgVia() int32 {
if x != nil {
return x.MsgVia
}
return 0
}
func (x *SendMessageRequest) GetDataStatist() int32 {
if x != nil {
return x.DataStatist
}
return 0
}
func (x *SendMessageRequest) GetMsgCtrl() *MsgCtrl {
if x != nil {
return x.MsgCtrl
}
return nil
}
func (x *SendMessageRequest) GetMultiSendSeq() int32 {
if x != nil {
return x.MultiSendSeq
}
return 0
}
type RoutingHead struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
C2C *C2C `protobuf:"bytes,1,opt,name=c2c,proto3" json:"c2c,omitempty"`
Grp *Grp `protobuf:"bytes,2,opt,name=grp,proto3" json:"grp,omitempty"`
GrpTmp *GrpTmp `protobuf:"bytes,3,opt,name=grpTmp,proto3" json:"grpTmp,omitempty"`
}
func (x *RoutingHead) Reset() {
*x = RoutingHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoutingHead) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoutingHead) ProtoMessage() {}
func (x *RoutingHead) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoutingHead.ProtoReflect.Descriptor instead.
func (*RoutingHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{2}
}
func (x *RoutingHead) GetC2C() *C2C {
if x != nil {
return x.C2C
}
return nil
}
func (x *RoutingHead) GetGrp() *Grp {
if x != nil {
return x.Grp
}
return nil
}
func (x *RoutingHead) GetGrpTmp() *GrpTmp {
if x != nil {
return x.GrpTmp
}
return nil
}
type C2C struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ToUin int64 `protobuf:"varint,1,opt,name=toUin,proto3" json:"toUin,omitempty"`
}
func (x *C2C) Reset() {
*x = C2C{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *C2C) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*C2C) ProtoMessage() {}
func (x *C2C) ProtoReflect() protoreflect.Message {
mi := &file_msg_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 C2C.ProtoReflect.Descriptor instead.
func (*C2C) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{3}
}
func (x *C2C) GetToUin() int64 {
if x != nil {
return x.ToUin
}
return 0
}
type Grp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupCode int64 `protobuf:"varint,1,opt,name=groupCode,proto3" json:"groupCode,omitempty"`
}
func (x *Grp) Reset() {
*x = Grp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Grp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Grp) ProtoMessage() {}
func (x *Grp) ProtoReflect() protoreflect.Message {
mi := &file_msg_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 Grp.ProtoReflect.Descriptor instead.
func (*Grp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{4}
}
func (x *Grp) GetGroupCode() int64 {
if x != nil {
return x.GroupCode
}
return 0
}
type GrpTmp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupUin int64 `protobuf:"varint,1,opt,name=groupUin,proto3" json:"groupUin,omitempty"`
ToUin int64 `protobuf:"varint,2,opt,name=toUin,proto3" json:"toUin,omitempty"`
}
func (x *GrpTmp) Reset() {
*x = GrpTmp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GrpTmp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GrpTmp) ProtoMessage() {}
func (x *GrpTmp) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GrpTmp.ProtoReflect.Descriptor instead.
func (*GrpTmp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{5}
}
func (x *GrpTmp) GetGroupUin() int64 {
if x != nil {
return x.GroupUin
}
return 0
}
func (x *GrpTmp) GetToUin() int64 {
if x != nil {
return x.ToUin
}
return 0
}
type MsgCtrl struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgFlag int32 `protobuf:"varint,1,opt,name=msgFlag,proto3" json:"msgFlag,omitempty"`
}
func (x *MsgCtrl) Reset() {
*x = MsgCtrl{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgCtrl) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgCtrl) ProtoMessage() {}
func (x *MsgCtrl) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MsgCtrl.ProtoReflect.Descriptor instead.
func (*MsgCtrl) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{6}
}
func (x *MsgCtrl) GetMsgFlag() int32 {
if x != nil {
return x.MsgFlag
}
return 0
}
type GetMessageResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result int32 `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
ErrorMessage string `protobuf:"bytes,2,opt,name=errorMessage,proto3" json:"errorMessage,omitempty"`
SyncCookie []byte `protobuf:"bytes,3,opt,name=syncCookie,proto3" json:"syncCookie,omitempty"`
SyncFlag SyncFlag `protobuf:"varint,4,opt,name=syncFlag,proto3,enum=SyncFlag" json:"syncFlag,omitempty"`
UinPairMsgs []*UinPairMessage `protobuf:"bytes,5,rep,name=uinPairMsgs,proto3" json:"uinPairMsgs,omitempty"`
BindUin int64 `protobuf:"varint,6,opt,name=bindUin,proto3" json:"bindUin,omitempty"`
MsgRspType int32 `protobuf:"varint,7,opt,name=msgRspType,proto3" json:"msgRspType,omitempty"`
PubAccountCookie []byte `protobuf:"bytes,8,opt,name=pubAccountCookie,proto3" json:"pubAccountCookie,omitempty"`
IsPartialSync bool `protobuf:"varint,9,opt,name=isPartialSync,proto3" json:"isPartialSync,omitempty"`
MsgCtrlBuf []byte `protobuf:"bytes,10,opt,name=msgCtrlBuf,proto3" json:"msgCtrlBuf,omitempty"`
}
func (x *GetMessageResponse) Reset() {
*x = GetMessageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMessageResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMessageResponse) ProtoMessage() {}
func (x *GetMessageResponse) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetMessageResponse.ProtoReflect.Descriptor instead.
func (*GetMessageResponse) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{7}
}
func (x *GetMessageResponse) GetResult() int32 {
if x != nil {
return x.Result
}
return 0
}
func (x *GetMessageResponse) GetErrorMessage() string {
if x != nil {
return x.ErrorMessage
}
return ""
}
func (x *GetMessageResponse) GetSyncCookie() []byte {
if x != nil {
return x.SyncCookie
}
return nil
}
func (x *GetMessageResponse) GetSyncFlag() SyncFlag {
if x != nil {
return x.SyncFlag
}
return SyncFlag_START
}
func (x *GetMessageResponse) GetUinPairMsgs() []*UinPairMessage {
if x != nil {
return x.UinPairMsgs
}
return nil
}
func (x *GetMessageResponse) GetBindUin() int64 {
if x != nil {
return x.BindUin
}
return 0
}
func (x *GetMessageResponse) GetMsgRspType() int32 {
if x != nil {
return x.MsgRspType
}
return 0
}
func (x *GetMessageResponse) GetPubAccountCookie() []byte {
if x != nil {
return x.PubAccountCookie
}
return nil
}
func (x *GetMessageResponse) GetIsPartialSync() bool {
if x != nil {
return x.IsPartialSync
}
return false
}
func (x *GetMessageResponse) GetMsgCtrlBuf() []byte {
if x != nil {
return x.MsgCtrlBuf
}
return nil
}
type PushMessagePacket struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Message *Message `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
Svrip int32 `protobuf:"varint,2,opt,name=svrip,proto3" json:"svrip,omitempty"`
PushToken []byte `protobuf:"bytes,3,opt,name=pushToken,proto3" json:"pushToken,omitempty"`
PingFLag int32 `protobuf:"varint,4,opt,name=pingFLag,proto3" json:"pingFLag,omitempty"`
GeneralFlag int32 `protobuf:"varint,9,opt,name=generalFlag,proto3" json:"generalFlag,omitempty"`
}
func (x *PushMessagePacket) Reset() {
*x = PushMessagePacket{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PushMessagePacket) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PushMessagePacket) ProtoMessage() {}
func (x *PushMessagePacket) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PushMessagePacket.ProtoReflect.Descriptor instead.
func (*PushMessagePacket) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{8}
}
func (x *PushMessagePacket) GetMessage() *Message {
if x != nil {
return x.Message
}
return nil
}
func (x *PushMessagePacket) GetSvrip() int32 {
if x != nil {
return x.Svrip
}
return 0
}
func (x *PushMessagePacket) GetPushToken() []byte {
if x != nil {
return x.PushToken
}
return nil
}
func (x *PushMessagePacket) GetPingFLag() int32 {
if x != nil {
return x.PingFLag
}
return 0
}
func (x *PushMessagePacket) GetGeneralFlag() int32 {
if x != nil {
return x.GeneralFlag
}
return 0
}
type UinPairMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LastReadTime int32 `protobuf:"varint,1,opt,name=lastReadTime,proto3" json:"lastReadTime,omitempty"`
PeerUin int64 `protobuf:"varint,2,opt,name=peerUin,proto3" json:"peerUin,omitempty"`
MsgCompleted int32 `protobuf:"varint,3,opt,name=msgCompleted,proto3" json:"msgCompleted,omitempty"`
Messages []*Message `protobuf:"bytes,4,rep,name=messages,proto3" json:"messages,omitempty"`
}
func (x *UinPairMessage) Reset() {
*x = UinPairMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UinPairMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UinPairMessage) ProtoMessage() {}
func (x *UinPairMessage) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UinPairMessage.ProtoReflect.Descriptor instead.
func (*UinPairMessage) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{9}
}
func (x *UinPairMessage) GetLastReadTime() int32 {
if x != nil {
return x.LastReadTime
}
return 0
}
func (x *UinPairMessage) GetPeerUin() int64 {
if x != nil {
return x.PeerUin
}
return 0
}
func (x *UinPairMessage) GetMsgCompleted() int32 {
if x != nil {
return x.MsgCompleted
}
return 0
}
func (x *UinPairMessage) GetMessages() []*Message {
if x != nil {
return x.Messages
}
return nil
}
type Message struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Head *MessageHead `protobuf:"bytes,1,opt,name=head,proto3" json:"head,omitempty"`
Body *MessageBody `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
}
func (x *Message) Reset() {
*x = Message{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Message) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Message) ProtoMessage() {}
func (x *Message) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Message.ProtoReflect.Descriptor instead.
func (*Message) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{10}
}
func (x *Message) GetHead() *MessageHead {
if x != nil {
return x.Head
}
return nil
}
func (x *Message) GetBody() *MessageBody {
if x != nil {
return x.Body
}
return nil
}
type MessageBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RichText *RichText `protobuf:"bytes,1,opt,name=richText,proto3" json:"richText,omitempty"`
MsgContent []byte `protobuf:"bytes,2,opt,name=msgContent,proto3" json:"msgContent,omitempty"`
MsgEncryptContent []byte `protobuf:"bytes,3,opt,name=msgEncryptContent,proto3" json:"msgEncryptContent,omitempty"`
}
func (x *MessageBody) Reset() {
*x = MessageBody{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageBody) ProtoMessage() {}
func (x *MessageBody) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageBody.ProtoReflect.Descriptor instead.
func (*MessageBody) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{11}
}
func (x *MessageBody) GetRichText() *RichText {
if x != nil {
return x.RichText
}
return nil
}
func (x *MessageBody) GetMsgContent() []byte {
if x != nil {
return x.MsgContent
}
return nil
}
func (x *MessageBody) GetMsgEncryptContent() []byte {
if x != nil {
return x.MsgEncryptContent
}
return nil
}
type RichText struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Attr *Attr `protobuf:"bytes,1,opt,name=attr,proto3" json:"attr,omitempty"`
Elems []*Elem `protobuf:"bytes,2,rep,name=elems,proto3" json:"elems,omitempty"`
NotOnlineFile *NotOnlineFile `protobuf:"bytes,3,opt,name=notOnlineFile,proto3" json:"notOnlineFile,omitempty"`
Ptt *Ptt `protobuf:"bytes,4,opt,name=ptt,proto3" json:"ptt,omitempty"`
}
func (x *RichText) Reset() {
*x = RichText{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RichText) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RichText) ProtoMessage() {}
func (x *RichText) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RichText.ProtoReflect.Descriptor instead.
func (*RichText) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{12}
}
func (x *RichText) GetAttr() *Attr {
if x != nil {
return x.Attr
}
return nil
}
func (x *RichText) GetElems() []*Elem {
if x != nil {
return x.Elems
}
return nil
}
func (x *RichText) GetNotOnlineFile() *NotOnlineFile {
if x != nil {
return x.NotOnlineFile
}
return nil
}
func (x *RichText) GetPtt() *Ptt {
if x != nil {
return x.Ptt
}
return nil
}
type Elem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Text *Text `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
Face *Face `protobuf:"bytes,2,opt,name=face,proto3" json:"face,omitempty"`
OnlineImage *OnlineImage `protobuf:"bytes,3,opt,name=onlineImage,proto3" json:"onlineImage,omitempty"`
NotOnlineImage *NotOnlineImage `protobuf:"bytes,4,opt,name=notOnlineImage,proto3" json:"notOnlineImage,omitempty"`
//TransElem transElemInfo = 5;
//MarketFace marketFace = 6;
//ElemFlags elemFlags = 7;
CustomFace *CustomFace `protobuf:"bytes,8,opt,name=customFace,proto3" json:"customFace,omitempty"`
//ElemFlags2 elemFlags2 = 9;
//FunFace funFace = 10;
//SecretFileMsg secretFile = 11;
//RichMsg richMsg = 12;
GroupFile *GroupFile `protobuf:"bytes,13,opt,name=groupFile,proto3" json:"groupFile,omitempty"`
//PubGroup pubGroup = 14;
//MarketTrans marketTrans = 15;
ExtraInfo *ExtraInfo `protobuf:"bytes,16,opt,name=extraInfo,proto3" json:"extraInfo,omitempty"`
//ShakeWindow? shakeWindow = 17;
//PubAccount? pubAccount = 18;
VideoFile *VideoFile `protobuf:"bytes,19,opt,name=videoFile,proto3" json:"videoFile,omitempty"`
//TipsInfo? tipsInfo = 20;
AnonGroupMsg *AnonymousGroupMessage `protobuf:"bytes,21,opt,name=anonGroupMsg,proto3" json:"anonGroupMsg,omitempty"`
//QQLiveOld? qqLiveOld = 22;
//LifeOnlineAccount? lifeOnline = 23;
//QQWalletMsg? qqwalletMsg = 24;
//CrmElem? crmElem = 25;
//ConferenceTipsInfo? conferenceTipsInfo = 26;
//RedBagInfo? redbagInfo = 27;
//LowVersionTips? lowVersionTips = 28;
//bytes bankcodeCtrlInfo = 29;
//NearByMessageType? nearByMsg = 30;
CustomElem *CustomElem `protobuf:"bytes,31,opt,name=customElem,proto3" json:"customElem,omitempty"`
//LocationInfo? locationInfo = 32;
//PubAccInfo? pubAccInfo = 33;
//SmallEmoji? smallEmoji = 34;
//FSJMessageElem? fsjMsgElem = 35;
//ArkAppElem? arkApp = 36;
//GeneralFlags? generalFlags = 37;
//CustomFace? hcFlashPic = 38;
//DeliverGiftMsg? deliverGiftMsg = 39;
//BitAppMsg? bitappMsg = 40;
//OpenQQData? openQqData = 41;
//ApolloActMsg? apolloMsg = 42;
//GroupPubAccountInfo? groupPubAccInfo = 43;
//BlessingMessage? blessMsg = 44;
SrcMsg *SourceMsg `protobuf:"bytes,45,opt,name=srcMsg,proto3" json:"srcMsg,omitempty"`
}
func (x *Elem) Reset() {
*x = Elem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Elem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Elem) ProtoMessage() {}
func (x *Elem) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Elem.ProtoReflect.Descriptor instead.
func (*Elem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{13}
}
func (x *Elem) GetText() *Text {
if x != nil {
return x.Text
}
return nil
}
func (x *Elem) GetFace() *Face {
if x != nil {
return x.Face
}
return nil
}
func (x *Elem) GetOnlineImage() *OnlineImage {
if x != nil {
return x.OnlineImage
}
return nil
}
func (x *Elem) GetNotOnlineImage() *NotOnlineImage {
if x != nil {
return x.NotOnlineImage
}
return nil
}
func (x *Elem) GetCustomFace() *CustomFace {
if x != nil {
return x.CustomFace
}
return nil
}
func (x *Elem) GetGroupFile() *GroupFile {
if x != nil {
return x.GroupFile
}
return nil
}
func (x *Elem) GetExtraInfo() *ExtraInfo {
if x != nil {
return x.ExtraInfo
}
return nil
}
func (x *Elem) GetVideoFile() *VideoFile {
if x != nil {
return x.VideoFile
}
return nil
}
func (x *Elem) GetAnonGroupMsg() *AnonymousGroupMessage {
if x != nil {
return x.AnonGroupMsg
}
return nil
}
func (x *Elem) GetCustomElem() *CustomElem {
if x != nil {
return x.CustomElem
}
return nil
}
func (x *Elem) GetSrcMsg() *SourceMsg {
if x != nil {
return x.SrcMsg
}
return nil
}
type CustomElem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Desc []byte `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
EnumType int32 `protobuf:"varint,3,opt,name=enumType,proto3" json:"enumType,omitempty"`
Ext []byte `protobuf:"bytes,4,opt,name=ext,proto3" json:"ext,omitempty"`
Sound []byte `protobuf:"bytes,5,opt,name=sound,proto3" json:"sound,omitempty"`
}
func (x *CustomElem) Reset() {
*x = CustomElem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CustomElem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CustomElem) ProtoMessage() {}
func (x *CustomElem) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CustomElem.ProtoReflect.Descriptor instead.
func (*CustomElem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{14}
}
func (x *CustomElem) GetDesc() []byte {
if x != nil {
return x.Desc
}
return nil
}
func (x *CustomElem) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
func (x *CustomElem) GetEnumType() int32 {
if x != nil {
return x.EnumType
}
return 0
}
func (x *CustomElem) GetExt() []byte {
if x != nil {
return x.Ext
}
return nil
}
func (x *CustomElem) GetSound() []byte {
if x != nil {
return x.Sound
}
return nil
}
type Text struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Str string `protobuf:"bytes,1,opt,name=str,proto3" json:"str,omitempty"`
Link string `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"`
Attr6Buf []byte `protobuf:"bytes,3,opt,name=attr6Buf,proto3" json:"attr6Buf,omitempty"`
Attr7Buf []byte `protobuf:"bytes,4,opt,name=attr7Buf,proto3" json:"attr7Buf,omitempty"`
Buf []byte `protobuf:"bytes,11,opt,name=buf,proto3" json:"buf,omitempty"`
PbReserve []byte `protobuf:"bytes,12,opt,name=pbReserve,proto3" json:"pbReserve,omitempty"`
}
func (x *Text) Reset() {
*x = Text{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Text) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Text) ProtoMessage() {}
func (x *Text) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Text.ProtoReflect.Descriptor instead.
func (*Text) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{15}
}
func (x *Text) GetStr() string {
if x != nil {
return x.Str
}
return ""
}
func (x *Text) GetLink() string {
if x != nil {
return x.Link
}
return ""
}
func (x *Text) GetAttr6Buf() []byte {
if x != nil {
return x.Attr6Buf
}
return nil
}
func (x *Text) GetAttr7Buf() []byte {
if x != nil {
return x.Attr7Buf
}
return nil
}
func (x *Text) GetBuf() []byte {
if x != nil {
return x.Buf
}
return nil
}
func (x *Text) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type Attr struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CodePage int32 `protobuf:"varint,1,opt,name=codePage,proto3" json:"codePage,omitempty"`
Time int32 `protobuf:"varint,2,opt,name=time,proto3" json:"time,omitempty"`
Random int32 `protobuf:"varint,3,opt,name=random,proto3" json:"random,omitempty"`
Color int32 `protobuf:"varint,4,opt,name=color,proto3" json:"color,omitempty"`
Size int32 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
Effect int32 `protobuf:"varint,6,opt,name=effect,proto3" json:"effect,omitempty"`
CharSet int32 `protobuf:"varint,7,opt,name=charSet,proto3" json:"charSet,omitempty"`
PitchAndFamily int32 `protobuf:"varint,8,opt,name=pitchAndFamily,proto3" json:"pitchAndFamily,omitempty"`
FontName string `protobuf:"bytes,9,opt,name=fontName,proto3" json:"fontName,omitempty"`
ReserveData []byte `protobuf:"bytes,10,opt,name=reserveData,proto3" json:"reserveData,omitempty"`
}
func (x *Attr) Reset() {
*x = Attr{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Attr) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Attr) ProtoMessage() {}
func (x *Attr) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Attr.ProtoReflect.Descriptor instead.
func (*Attr) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{16}
}
func (x *Attr) GetCodePage() int32 {
if x != nil {
return x.CodePage
}
return 0
}
func (x *Attr) GetTime() int32 {
if x != nil {
return x.Time
}
return 0
}
func (x *Attr) GetRandom() int32 {
if x != nil {
return x.Random
}
return 0
}
func (x *Attr) GetColor() int32 {
if x != nil {
return x.Color
}
return 0
}
func (x *Attr) GetSize() int32 {
if x != nil {
return x.Size
}
return 0
}
func (x *Attr) GetEffect() int32 {
if x != nil {
return x.Effect
}
return 0
}
func (x *Attr) GetCharSet() int32 {
if x != nil {
return x.CharSet
}
return 0
}
func (x *Attr) GetPitchAndFamily() int32 {
if x != nil {
return x.PitchAndFamily
}
return 0
}
func (x *Attr) GetFontName() string {
if x != nil {
return x.FontName
}
return ""
}
func (x *Attr) GetReserveData() []byte {
if x != nil {
return x.ReserveData
}
return nil
}
type Ptt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FileType int32 `protobuf:"varint,1,opt,name=fileType,proto3" json:"fileType,omitempty"`
SrcUin int64 `protobuf:"varint,2,opt,name=srcUin,proto3" json:"srcUin,omitempty"`
FileUuid []byte `protobuf:"bytes,3,opt,name=fileUuid,proto3" json:"fileUuid,omitempty"`
FileMd5 []byte `protobuf:"bytes,4,opt,name=fileMd5,proto3" json:"fileMd5,omitempty"`
FileName []byte `protobuf:"bytes,5,opt,name=fileName,proto3" json:"fileName,omitempty"`
FileSize int32 `protobuf:"varint,6,opt,name=fileSize,proto3" json:"fileSize,omitempty"`
Reserve []byte `protobuf:"bytes,7,opt,name=reserve,proto3" json:"reserve,omitempty"`
FileId int32 `protobuf:"varint,8,opt,name=fileId,proto3" json:"fileId,omitempty"`
ServerIp int32 `protobuf:"varint,9,opt,name=serverIp,proto3" json:"serverIp,omitempty"`
ServerPort int32 `protobuf:"varint,10,opt,name=serverPort,proto3" json:"serverPort,omitempty"`
BoolValid bool `protobuf:"varint,11,opt,name=boolValid,proto3" json:"boolValid,omitempty"`
Signature []byte `protobuf:"bytes,12,opt,name=signature,proto3" json:"signature,omitempty"`
Shortcut []byte `protobuf:"bytes,13,opt,name=shortcut,proto3" json:"shortcut,omitempty"`
FileKey []byte `protobuf:"bytes,14,opt,name=fileKey,proto3" json:"fileKey,omitempty"`
MagicPttIndex int32 `protobuf:"varint,15,opt,name=magicPttIndex,proto3" json:"magicPttIndex,omitempty"`
VoiceSwitch int32 `protobuf:"varint,16,opt,name=voiceSwitch,proto3" json:"voiceSwitch,omitempty"`
PttUrl []byte `protobuf:"bytes,17,opt,name=pttUrl,proto3" json:"pttUrl,omitempty"`
GroupFileKey []byte `protobuf:"bytes,18,opt,name=groupFileKey,proto3" json:"groupFileKey,omitempty"`
Time int32 `protobuf:"varint,19,opt,name=time,proto3" json:"time,omitempty"`
DownPara []byte `protobuf:"bytes,20,opt,name=downPara,proto3" json:"downPara,omitempty"`
Format int32 `protobuf:"varint,29,opt,name=format,proto3" json:"format,omitempty"`
PbReserve []byte `protobuf:"bytes,30,opt,name=pbReserve,proto3" json:"pbReserve,omitempty"`
BytesPttUrls [][]byte `protobuf:"bytes,31,rep,name=bytesPttUrls,proto3" json:"bytesPttUrls,omitempty"`
DownloadFlag int32 `protobuf:"varint,32,opt,name=downloadFlag,proto3" json:"downloadFlag,omitempty"`
}
func (x *Ptt) Reset() {
*x = Ptt{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Ptt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Ptt) ProtoMessage() {}
func (x *Ptt) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Ptt.ProtoReflect.Descriptor instead.
func (*Ptt) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{17}
}
func (x *Ptt) GetFileType() int32 {
if x != nil {
return x.FileType
}
return 0
}
func (x *Ptt) GetSrcUin() int64 {
if x != nil {
return x.SrcUin
}
return 0
}
func (x *Ptt) GetFileUuid() []byte {
if x != nil {
return x.FileUuid
}
return nil
}
func (x *Ptt) GetFileMd5() []byte {
if x != nil {
return x.FileMd5
}
return nil
}
func (x *Ptt) GetFileName() []byte {
if x != nil {
return x.FileName
}
return nil
}
func (x *Ptt) GetFileSize() int32 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *Ptt) GetReserve() []byte {
if x != nil {
return x.Reserve
}
return nil
}
func (x *Ptt) GetFileId() int32 {
if x != nil {
return x.FileId
}
return 0
}
func (x *Ptt) GetServerIp() int32 {
if x != nil {
return x.ServerIp
}
return 0
}
func (x *Ptt) GetServerPort() int32 {
if x != nil {
return x.ServerPort
}
return 0
}
func (x *Ptt) GetBoolValid() bool {
if x != nil {
return x.BoolValid
}
return false
}
func (x *Ptt) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
func (x *Ptt) GetShortcut() []byte {
if x != nil {
return x.Shortcut
}
return nil
}
func (x *Ptt) GetFileKey() []byte {
if x != nil {
return x.FileKey
}
return nil
}
func (x *Ptt) GetMagicPttIndex() int32 {
if x != nil {
return x.MagicPttIndex
}
return 0
}
func (x *Ptt) GetVoiceSwitch() int32 {
if x != nil {
return x.VoiceSwitch
}
return 0
}
func (x *Ptt) GetPttUrl() []byte {
if x != nil {
return x.PttUrl
}
return nil
}
func (x *Ptt) GetGroupFileKey() []byte {
if x != nil {
return x.GroupFileKey
}
return nil
}
func (x *Ptt) GetTime() int32 {
if x != nil {
return x.Time
}
return 0
}
func (x *Ptt) GetDownPara() []byte {
if x != nil {
return x.DownPara
}
return nil
}
func (x *Ptt) GetFormat() int32 {
if x != nil {
return x.Format
}
return 0
}
func (x *Ptt) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
func (x *Ptt) GetBytesPttUrls() [][]byte {
if x != nil {
return x.BytesPttUrls
}
return nil
}
func (x *Ptt) GetDownloadFlag() int32 {
if x != nil {
return x.DownloadFlag
}
return 0
}
type OnlineImage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guid []byte `protobuf:"bytes,1,opt,name=guid,proto3" json:"guid,omitempty"`
FilePath []byte `protobuf:"bytes,2,opt,name=filePath,proto3" json:"filePath,omitempty"`
OldVerSendFile []byte `protobuf:"bytes,3,opt,name=oldVerSendFile,proto3" json:"oldVerSendFile,omitempty"`
}
func (x *OnlineImage) Reset() {
*x = OnlineImage{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OnlineImage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OnlineImage) ProtoMessage() {}
func (x *OnlineImage) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OnlineImage.ProtoReflect.Descriptor instead.
func (*OnlineImage) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{18}
}
func (x *OnlineImage) GetGuid() []byte {
if x != nil {
return x.Guid
}
return nil
}
func (x *OnlineImage) GetFilePath() []byte {
if x != nil {
return x.FilePath
}
return nil
}
func (x *OnlineImage) GetOldVerSendFile() []byte {
if x != nil {
return x.OldVerSendFile
}
return nil
}
type NotOnlineImage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FilePath string `protobuf:"bytes,1,opt,name=filePath,proto3" json:"filePath,omitempty"`
FileLen int32 `protobuf:"varint,2,opt,name=fileLen,proto3" json:"fileLen,omitempty"`
DownloadPath string `protobuf:"bytes,3,opt,name=downloadPath,proto3" json:"downloadPath,omitempty"`
OldVerSendFile []byte `protobuf:"bytes,4,opt,name=oldVerSendFile,proto3" json:"oldVerSendFile,omitempty"`
ImgType int32 `protobuf:"varint,5,opt,name=imgType,proto3" json:"imgType,omitempty"`
PreviewsImage []byte `protobuf:"bytes,6,opt,name=previewsImage,proto3" json:"previewsImage,omitempty"`
PicMd5 []byte `protobuf:"bytes,7,opt,name=picMd5,proto3" json:"picMd5,omitempty"`
PicHeight int32 `protobuf:"varint,8,opt,name=picHeight,proto3" json:"picHeight,omitempty"`
PicWidth int32 `protobuf:"varint,9,opt,name=picWidth,proto3" json:"picWidth,omitempty"`
ResId string `protobuf:"bytes,10,opt,name=resId,proto3" json:"resId,omitempty"`
Flag []byte `protobuf:"bytes,11,opt,name=flag,proto3" json:"flag,omitempty"`
ThumbUrl string `protobuf:"bytes,12,opt,name=thumbUrl,proto3" json:"thumbUrl,omitempty"`
Original int32 `protobuf:"varint,13,opt,name=original,proto3" json:"original,omitempty"`
BigUrl string `protobuf:"bytes,14,opt,name=bigUrl,proto3" json:"bigUrl,omitempty"`
OrigUrl string `protobuf:"bytes,15,opt,name=origUrl,proto3" json:"origUrl,omitempty"`
BizType int32 `protobuf:"varint,16,opt,name=bizType,proto3" json:"bizType,omitempty"`
Result int32 `protobuf:"varint,17,opt,name=result,proto3" json:"result,omitempty"`
Index int32 `protobuf:"varint,18,opt,name=index,proto3" json:"index,omitempty"`
OpFaceBuf []byte `protobuf:"bytes,19,opt,name=opFaceBuf,proto3" json:"opFaceBuf,omitempty"`
OldPicMd5 bool `protobuf:"varint,20,opt,name=oldPicMd5,proto3" json:"oldPicMd5,omitempty"`
ThumbWidth int32 `protobuf:"varint,21,opt,name=thumbWidth,proto3" json:"thumbWidth,omitempty"`
ThumbHeight int32 `protobuf:"varint,22,opt,name=thumbHeight,proto3" json:"thumbHeight,omitempty"`
FileId int32 `protobuf:"varint,23,opt,name=fileId,proto3" json:"fileId,omitempty"`
ShowLen int32 `protobuf:"varint,24,opt,name=showLen,proto3" json:"showLen,omitempty"`
DownloadLen int32 `protobuf:"varint,25,opt,name=downloadLen,proto3" json:"downloadLen,omitempty"`
PbReserve []byte `protobuf:"bytes,29,opt,name=pbReserve,proto3" json:"pbReserve,omitempty"`
}
func (x *NotOnlineImage) Reset() {
*x = NotOnlineImage{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotOnlineImage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotOnlineImage) ProtoMessage() {}
func (x *NotOnlineImage) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotOnlineImage.ProtoReflect.Descriptor instead.
func (*NotOnlineImage) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{19}
}
func (x *NotOnlineImage) GetFilePath() string {
if x != nil {
return x.FilePath
}
return ""
}
func (x *NotOnlineImage) GetFileLen() int32 {
if x != nil {
return x.FileLen
}
return 0
}
func (x *NotOnlineImage) GetDownloadPath() string {
if x != nil {
return x.DownloadPath
}
return ""
}
func (x *NotOnlineImage) GetOldVerSendFile() []byte {
if x != nil {
return x.OldVerSendFile
}
return nil
}
func (x *NotOnlineImage) GetImgType() int32 {
if x != nil {
return x.ImgType
}
return 0
}
func (x *NotOnlineImage) GetPreviewsImage() []byte {
if x != nil {
return x.PreviewsImage
}
return nil
}
func (x *NotOnlineImage) GetPicMd5() []byte {
if x != nil {
return x.PicMd5
}
return nil
}
func (x *NotOnlineImage) GetPicHeight() int32 {
if x != nil {
return x.PicHeight
}
return 0
}
func (x *NotOnlineImage) GetPicWidth() int32 {
if x != nil {
return x.PicWidth
}
return 0
}
func (x *NotOnlineImage) GetResId() string {
if x != nil {
return x.ResId
}
return ""
}
func (x *NotOnlineImage) GetFlag() []byte {
if x != nil {
return x.Flag
}
return nil
}
func (x *NotOnlineImage) GetThumbUrl() string {
if x != nil {
return x.ThumbUrl
}
return ""
}
func (x *NotOnlineImage) GetOriginal() int32 {
if x != nil {
return x.Original
}
return 0
}
func (x *NotOnlineImage) GetBigUrl() string {
if x != nil {
return x.BigUrl
}
return ""
}
func (x *NotOnlineImage) GetOrigUrl() string {
if x != nil {
return x.OrigUrl
}
return ""
}
func (x *NotOnlineImage) GetBizType() int32 {
if x != nil {
return x.BizType
}
return 0
}
func (x *NotOnlineImage) GetResult() int32 {
if x != nil {
return x.Result
}
return 0
}
func (x *NotOnlineImage) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *NotOnlineImage) GetOpFaceBuf() []byte {
if x != nil {
return x.OpFaceBuf
}
return nil
}
func (x *NotOnlineImage) GetOldPicMd5() bool {
if x != nil {
return x.OldPicMd5
}
return false
}
func (x *NotOnlineImage) GetThumbWidth() int32 {
if x != nil {
return x.ThumbWidth
}
return 0
}
func (x *NotOnlineImage) GetThumbHeight() int32 {
if x != nil {
return x.ThumbHeight
}
return 0
}
func (x *NotOnlineImage) GetFileId() int32 {
if x != nil {
return x.FileId
}
return 0
}
func (x *NotOnlineImage) GetShowLen() int32 {
if x != nil {
return x.ShowLen
}
return 0
}
func (x *NotOnlineImage) GetDownloadLen() int32 {
if x != nil {
return x.DownloadLen
}
return 0
}
func (x *NotOnlineImage) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type NotOnlineFile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FileType int32 `protobuf:"varint,1,opt,name=fileType,proto3" json:"fileType,omitempty"`
Sig []byte `protobuf:"bytes,2,opt,name=sig,proto3" json:"sig,omitempty"`
FileUuid []byte `protobuf:"bytes,3,opt,name=fileUuid,proto3" json:"fileUuid,omitempty"`
FileMd5 []byte `protobuf:"bytes,4,opt,name=fileMd5,proto3" json:"fileMd5,omitempty"`
FileName []byte `protobuf:"bytes,5,opt,name=fileName,proto3" json:"fileName,omitempty"`
FileSize int64 `protobuf:"varint,6,opt,name=fileSize,proto3" json:"fileSize,omitempty"`
Note []byte `protobuf:"bytes,7,opt,name=note,proto3" json:"note,omitempty"`
Reserved int32 `protobuf:"varint,8,opt,name=reserved,proto3" json:"reserved,omitempty"`
Subcmd int32 `protobuf:"varint,9,opt,name=subcmd,proto3" json:"subcmd,omitempty"`
MicroCloud int32 `protobuf:"varint,10,opt,name=microCloud,proto3" json:"microCloud,omitempty"`
BytesFileUrls [][]byte `protobuf:"bytes,11,rep,name=bytesFileUrls,proto3" json:"bytesFileUrls,omitempty"`
DownloadFlag int32 `protobuf:"varint,12,opt,name=downloadFlag,proto3" json:"downloadFlag,omitempty"`
DangerEvel int32 `protobuf:"varint,50,opt,name=dangerEvel,proto3" json:"dangerEvel,omitempty"`
LifeTime int32 `protobuf:"varint,51,opt,name=lifeTime,proto3" json:"lifeTime,omitempty"`
UploadTime int32 `protobuf:"varint,52,opt,name=uploadTime,proto3" json:"uploadTime,omitempty"`
AbsFileType int32 `protobuf:"varint,53,opt,name=absFileType,proto3" json:"absFileType,omitempty"`
ClientType int32 `protobuf:"varint,54,opt,name=clientType,proto3" json:"clientType,omitempty"`
ExpireTime int32 `protobuf:"varint,55,opt,name=expireTime,proto3" json:"expireTime,omitempty"`
PbReserve []byte `protobuf:"bytes,56,opt,name=pbReserve,proto3" json:"pbReserve,omitempty"`
}
func (x *NotOnlineFile) Reset() {
*x = NotOnlineFile{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotOnlineFile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotOnlineFile) ProtoMessage() {}
func (x *NotOnlineFile) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotOnlineFile.ProtoReflect.Descriptor instead.
func (*NotOnlineFile) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{20}
}
func (x *NotOnlineFile) GetFileType() int32 {
if x != nil {
return x.FileType
}
return 0
}
func (x *NotOnlineFile) GetSig() []byte {
if x != nil {
return x.Sig
}
return nil
}
func (x *NotOnlineFile) GetFileUuid() []byte {
if x != nil {
return x.FileUuid
}
return nil
}
func (x *NotOnlineFile) GetFileMd5() []byte {
if x != nil {
return x.FileMd5
}
return nil
}
func (x *NotOnlineFile) GetFileName() []byte {
if x != nil {
return x.FileName
}
return nil
}
func (x *NotOnlineFile) GetFileSize() int64 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *NotOnlineFile) GetNote() []byte {
if x != nil {
return x.Note
}
return nil
}
func (x *NotOnlineFile) GetReserved() int32 {
if x != nil {
return x.Reserved
}
return 0
}
func (x *NotOnlineFile) GetSubcmd() int32 {
if x != nil {
return x.Subcmd
}
return 0
}
func (x *NotOnlineFile) GetMicroCloud() int32 {
if x != nil {
return x.MicroCloud
}
return 0
}
func (x *NotOnlineFile) GetBytesFileUrls() [][]byte {
if x != nil {
return x.BytesFileUrls
}
return nil
}
func (x *NotOnlineFile) GetDownloadFlag() int32 {
if x != nil {
return x.DownloadFlag
}
return 0
}
func (x *NotOnlineFile) GetDangerEvel() int32 {
if x != nil {
return x.DangerEvel
}
return 0
}
func (x *NotOnlineFile) GetLifeTime() int32 {
if x != nil {
return x.LifeTime
}
return 0
}
func (x *NotOnlineFile) GetUploadTime() int32 {
if x != nil {
return x.UploadTime
}
return 0
}
func (x *NotOnlineFile) GetAbsFileType() int32 {
if x != nil {
return x.AbsFileType
}
return 0
}
func (x *NotOnlineFile) GetClientType() int32 {
if x != nil {
return x.ClientType
}
return 0
}
func (x *NotOnlineFile) GetExpireTime() int32 {
if x != nil {
return x.ExpireTime
}
return 0
}
func (x *NotOnlineFile) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type ExtraInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Nick []byte `protobuf:"bytes,1,opt,name=nick,proto3" json:"nick,omitempty"`
GroupCard []byte `protobuf:"bytes,2,opt,name=groupCard,proto3" json:"groupCard,omitempty"`
Level int32 `protobuf:"varint,3,opt,name=level,proto3" json:"level,omitempty"`
Flags int32 `protobuf:"varint,4,opt,name=flags,proto3" json:"flags,omitempty"`
GroupMask int32 `protobuf:"varint,5,opt,name=groupMask,proto3" json:"groupMask,omitempty"`
MsgTailId int32 `protobuf:"varint,6,opt,name=msgTailId,proto3" json:"msgTailId,omitempty"`
SenderTitle []byte `protobuf:"bytes,7,opt,name=senderTitle,proto3" json:"senderTitle,omitempty"`
ApnsTips []byte `protobuf:"bytes,8,opt,name=apnsTips,proto3" json:"apnsTips,omitempty"`
Uin int64 `protobuf:"varint,9,opt,name=uin,proto3" json:"uin,omitempty"`
MsgStateFlag int32 `protobuf:"varint,10,opt,name=msgStateFlag,proto3" json:"msgStateFlag,omitempty"`
ApnsSoundType int32 `protobuf:"varint,11,opt,name=apnsSoundType,proto3" json:"apnsSoundType,omitempty"`
NewGroupFlag int32 `protobuf:"varint,12,opt,name=newGroupFlag,proto3" json:"newGroupFlag,omitempty"`
}
func (x *ExtraInfo) Reset() {
*x = ExtraInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExtraInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExtraInfo) ProtoMessage() {}
func (x *ExtraInfo) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExtraInfo.ProtoReflect.Descriptor instead.
func (*ExtraInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{21}
}
func (x *ExtraInfo) GetNick() []byte {
if x != nil {
return x.Nick
}
return nil
}
func (x *ExtraInfo) GetGroupCard() []byte {
if x != nil {
return x.GroupCard
}
return nil
}
func (x *ExtraInfo) GetLevel() int32 {
if x != nil {
return x.Level
}
return 0
}
func (x *ExtraInfo) GetFlags() int32 {
if x != nil {
return x.Flags
}
return 0
}
func (x *ExtraInfo) GetGroupMask() int32 {
if x != nil {
return x.GroupMask
}
return 0
}
func (x *ExtraInfo) GetMsgTailId() int32 {
if x != nil {
return x.MsgTailId
}
return 0
}
func (x *ExtraInfo) GetSenderTitle() []byte {
if x != nil {
return x.SenderTitle
}
return nil
}
func (x *ExtraInfo) GetApnsTips() []byte {
if x != nil {
return x.ApnsTips
}
return nil
}
func (x *ExtraInfo) GetUin() int64 {
if x != nil {
return x.Uin
}
return 0
}
func (x *ExtraInfo) GetMsgStateFlag() int32 {
if x != nil {
return x.MsgStateFlag
}
return 0
}
func (x *ExtraInfo) GetApnsSoundType() int32 {
if x != nil {
return x.ApnsSoundType
}
return 0
}
func (x *ExtraInfo) GetNewGroupFlag() int32 {
if x != nil {
return x.NewGroupFlag
}
return 0
}
type GroupFile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Filename []byte `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
FileSize int64 `protobuf:"varint,2,opt,name=fileSize,proto3" json:"fileSize,omitempty"`
FileId []byte `protobuf:"bytes,3,opt,name=fileId,proto3" json:"fileId,omitempty"`
BatchId []byte `protobuf:"bytes,4,opt,name=batchId,proto3" json:"batchId,omitempty"`
FileKey []byte `protobuf:"bytes,5,opt,name=fileKey,proto3" json:"fileKey,omitempty"`
Mark []byte `protobuf:"bytes,6,opt,name=mark,proto3" json:"mark,omitempty"`
Sequence int64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"`
BatchItemId []byte `protobuf:"bytes,8,opt,name=batchItemId,proto3" json:"batchItemId,omitempty"`
FeedMsgTime int32 `protobuf:"varint,9,opt,name=feedMsgTime,proto3" json:"feedMsgTime,omitempty"`
PbReserve []byte `protobuf:"bytes,10,opt,name=pbReserve,proto3" json:"pbReserve,omitempty"`
}
func (x *GroupFile) Reset() {
*x = GroupFile{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupFile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupFile) ProtoMessage() {}
func (x *GroupFile) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GroupFile.ProtoReflect.Descriptor instead.
func (*GroupFile) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{22}
}
func (x *GroupFile) GetFilename() []byte {
if x != nil {
return x.Filename
}
return nil
}
func (x *GroupFile) GetFileSize() int64 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *GroupFile) GetFileId() []byte {
if x != nil {
return x.FileId
}
return nil
}
func (x *GroupFile) GetBatchId() []byte {
if x != nil {
return x.BatchId
}
return nil
}
func (x *GroupFile) GetFileKey() []byte {
if x != nil {
return x.FileKey
}
return nil
}
func (x *GroupFile) GetMark() []byte {
if x != nil {
return x.Mark
}
return nil
}
func (x *GroupFile) GetSequence() int64 {
if x != nil {
return x.Sequence
}
return 0
}
func (x *GroupFile) GetBatchItemId() []byte {
if x != nil {
return x.BatchItemId
}
return nil
}
func (x *GroupFile) GetFeedMsgTime() int32 {
if x != nil {
return x.FeedMsgTime
}
return 0
}
func (x *GroupFile) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type AnonymousGroupMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Flags int32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
AnonId []byte `protobuf:"bytes,2,opt,name=anonId,proto3" json:"anonId,omitempty"`
AnonNick []byte `protobuf:"bytes,3,opt,name=anonNick,proto3" json:"anonNick,omitempty"`
HeadPortrait int32 `protobuf:"varint,4,opt,name=headPortrait,proto3" json:"headPortrait,omitempty"`
ExpireTime int32 `protobuf:"varint,5,opt,name=expireTime,proto3" json:"expireTime,omitempty"`
BubbleId int32 `protobuf:"varint,6,opt,name=bubbleId,proto3" json:"bubbleId,omitempty"`
RankColor []byte `protobuf:"bytes,7,opt,name=rankColor,proto3" json:"rankColor,omitempty"`
}
func (x *AnonymousGroupMessage) Reset() {
*x = AnonymousGroupMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnonymousGroupMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnonymousGroupMessage) ProtoMessage() {}
func (x *AnonymousGroupMessage) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnonymousGroupMessage.ProtoReflect.Descriptor instead.
func (*AnonymousGroupMessage) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{23}
}
func (x *AnonymousGroupMessage) GetFlags() int32 {
if x != nil {
return x.Flags
}
return 0
}
func (x *AnonymousGroupMessage) GetAnonId() []byte {
if x != nil {
return x.AnonId
}
return nil
}
func (x *AnonymousGroupMessage) GetAnonNick() []byte {
if x != nil {
return x.AnonNick
}
return nil
}
func (x *AnonymousGroupMessage) GetHeadPortrait() int32 {
if x != nil {
return x.HeadPortrait
}
return 0
}
func (x *AnonymousGroupMessage) GetExpireTime() int32 {
if x != nil {
return x.ExpireTime
}
return 0
}
func (x *AnonymousGroupMessage) GetBubbleId() int32 {
if x != nil {
return x.BubbleId
}
return 0
}
func (x *AnonymousGroupMessage) GetRankColor() []byte {
if x != nil {
return x.RankColor
}
return nil
}
type VideoFile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FileUuid []byte `protobuf:"bytes,1,opt,name=fileUuid,proto3" json:"fileUuid,omitempty"`
FileMd5 []byte `protobuf:"bytes,2,opt,name=fileMd5,proto3" json:"fileMd5,omitempty"`
FileName []byte `protobuf:"bytes,3,opt,name=fileName,proto3" json:"fileName,omitempty"`
FileFormat int32 `protobuf:"varint,4,opt,name=fileFormat,proto3" json:"fileFormat,omitempty"`
FileTime int32 `protobuf:"varint,5,opt,name=fileTime,proto3" json:"fileTime,omitempty"`
FileSize int32 `protobuf:"varint,6,opt,name=fileSize,proto3" json:"fileSize,omitempty"`
ThumbWidth int32 `protobuf:"varint,7,opt,name=thumbWidth,proto3" json:"thumbWidth,omitempty"`
ThumbHeight int32 `protobuf:"varint,8,opt,name=thumbHeight,proto3" json:"thumbHeight,omitempty"`
ThumbFileMd5 []byte `protobuf:"bytes,9,opt,name=thumbFileMd5,proto3" json:"thumbFileMd5,omitempty"`
Source []byte `protobuf:"bytes,10,opt,name=source,proto3" json:"source,omitempty"`
ThumbFileSize int32 `protobuf:"varint,11,opt,name=thumbFileSize,proto3" json:"thumbFileSize,omitempty"`
BusiType int32 `protobuf:"varint,12,opt,name=busiType,proto3" json:"busiType,omitempty"`
FromChatType int32 `protobuf:"varint,13,opt,name=fromChatType,proto3" json:"fromChatType,omitempty"`
ToChatType int32 `protobuf:"varint,14,opt,name=toChatType,proto3" json:"toChatType,omitempty"`
BoolSupportProgressive bool `protobuf:"varint,15,opt,name=boolSupportProgressive,proto3" json:"boolSupportProgressive,omitempty"`
FileWidth int32 `protobuf:"varint,16,opt,name=fileWidth,proto3" json:"fileWidth,omitempty"`
FileHeight int32 `protobuf:"varint,17,opt,name=fileHeight,proto3" json:"fileHeight,omitempty"`
SubBusiType int32 `protobuf:"varint,18,opt,name=subBusiType,proto3" json:"subBusiType,omitempty"`
VideoAttr int32 `protobuf:"varint,19,opt,name=videoAttr,proto3" json:"videoAttr,omitempty"`
BytesThumbFileUrls [][]byte `protobuf:"bytes,20,rep,name=bytesThumbFileUrls,proto3" json:"bytesThumbFileUrls,omitempty"`
BytesVideoFileUrls [][]byte `protobuf:"bytes,21,rep,name=bytesVideoFileUrls,proto3" json:"bytesVideoFileUrls,omitempty"`
ThumbDownloadFlag int32 `protobuf:"varint,22,opt,name=thumbDownloadFlag,proto3" json:"thumbDownloadFlag,omitempty"`
VideoDownloadFlag int32 `protobuf:"varint,23,opt,name=videoDownloadFlag,proto3" json:"videoDownloadFlag,omitempty"`
PbReserve []byte `protobuf:"bytes,24,opt,name=pbReserve,proto3" json:"pbReserve,omitempty"`
}
func (x *VideoFile) Reset() {
*x = VideoFile{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VideoFile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VideoFile) ProtoMessage() {}
func (x *VideoFile) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use VideoFile.ProtoReflect.Descriptor instead.
func (*VideoFile) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{24}
}
func (x *VideoFile) GetFileUuid() []byte {
if x != nil {
return x.FileUuid
}
return nil
}
func (x *VideoFile) GetFileMd5() []byte {
if x != nil {
return x.FileMd5
}
return nil
}
func (x *VideoFile) GetFileName() []byte {
if x != nil {
return x.FileName
}
return nil
}
func (x *VideoFile) GetFileFormat() int32 {
if x != nil {
return x.FileFormat
}
return 0
}
func (x *VideoFile) GetFileTime() int32 {
if x != nil {
return x.FileTime
}
return 0
}
func (x *VideoFile) GetFileSize() int32 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *VideoFile) GetThumbWidth() int32 {
if x != nil {
return x.ThumbWidth
}
return 0
}
func (x *VideoFile) GetThumbHeight() int32 {
if x != nil {
return x.ThumbHeight
}
return 0
}
func (x *VideoFile) GetThumbFileMd5() []byte {
if x != nil {
return x.ThumbFileMd5
}
return nil
}
func (x *VideoFile) GetSource() []byte {
if x != nil {
return x.Source
}
return nil
}
func (x *VideoFile) GetThumbFileSize() int32 {
if x != nil {
return x.ThumbFileSize
}
return 0
}
func (x *VideoFile) GetBusiType() int32 {
if x != nil {
return x.BusiType
}
return 0
}
func (x *VideoFile) GetFromChatType() int32 {
if x != nil {
return x.FromChatType
}
return 0
}
func (x *VideoFile) GetToChatType() int32 {
if x != nil {
return x.ToChatType
}
return 0
}
func (x *VideoFile) GetBoolSupportProgressive() bool {
if x != nil {
return x.BoolSupportProgressive
}
return false
}
func (x *VideoFile) GetFileWidth() int32 {
if x != nil {
return x.FileWidth
}
return 0
}
func (x *VideoFile) GetFileHeight() int32 {
if x != nil {
return x.FileHeight
}
return 0
}
func (x *VideoFile) GetSubBusiType() int32 {
if x != nil {
return x.SubBusiType
}
return 0
}
func (x *VideoFile) GetVideoAttr() int32 {
if x != nil {
return x.VideoAttr
}
return 0
}
func (x *VideoFile) GetBytesThumbFileUrls() [][]byte {
if x != nil {
return x.BytesThumbFileUrls
}
return nil
}
func (x *VideoFile) GetBytesVideoFileUrls() [][]byte {
if x != nil {
return x.BytesVideoFileUrls
}
return nil
}
func (x *VideoFile) GetThumbDownloadFlag() int32 {
if x != nil {
return x.ThumbDownloadFlag
}
return 0
}
func (x *VideoFile) GetVideoDownloadFlag() int32 {
if x != nil {
return x.VideoDownloadFlag
}
return 0
}
func (x *VideoFile) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type SourceMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OrigSeqs []int32 `protobuf:"varint,1,rep,packed,name=origSeqs,proto3" json:"origSeqs,omitempty"`
SenderUin int64 `protobuf:"varint,2,opt,name=senderUin,proto3" json:"senderUin,omitempty"`
Time int32 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"`
Flag int32 `protobuf:"varint,4,opt,name=flag,proto3" json:"flag,omitempty"`
Elems []*Elem `protobuf:"bytes,5,rep,name=elems,proto3" json:"elems,omitempty"`
Type int32 `protobuf:"varint,6,opt,name=type,proto3" json:"type,omitempty"`
RichMsg []byte `protobuf:"bytes,7,opt,name=richMsg,proto3" json:"richMsg,omitempty"`
PbReserve []byte `protobuf:"bytes,8,opt,name=pbReserve,proto3" json:"pbReserve,omitempty"`
SrcMsg []byte `protobuf:"bytes,9,opt,name=srcMsg,proto3" json:"srcMsg,omitempty"`
ToUin int64 `protobuf:"varint,10,opt,name=toUin,proto3" json:"toUin,omitempty"`
TroopName []byte `protobuf:"bytes,11,opt,name=troopName,proto3" json:"troopName,omitempty"`
}
func (x *SourceMsg) Reset() {
*x = SourceMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SourceMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SourceMsg) ProtoMessage() {}
func (x *SourceMsg) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SourceMsg.ProtoReflect.Descriptor instead.
func (*SourceMsg) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{25}
}
func (x *SourceMsg) GetOrigSeqs() []int32 {
if x != nil {
return x.OrigSeqs
}
return nil
}
func (x *SourceMsg) GetSenderUin() int64 {
if x != nil {
return x.SenderUin
}
return 0
}
func (x *SourceMsg) GetTime() int32 {
if x != nil {
return x.Time
}
return 0
}
func (x *SourceMsg) GetFlag() int32 {
if x != nil {
return x.Flag
}
return 0
}
func (x *SourceMsg) GetElems() []*Elem {
if x != nil {
return x.Elems
}
return nil
}
func (x *SourceMsg) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *SourceMsg) GetRichMsg() []byte {
if x != nil {
return x.RichMsg
}
return nil
}
func (x *SourceMsg) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
func (x *SourceMsg) GetSrcMsg() []byte {
if x != nil {
return x.SrcMsg
}
return nil
}
func (x *SourceMsg) GetToUin() int64 {
if x != nil {
return x.ToUin
}
return 0
}
func (x *SourceMsg) GetTroopName() []byte {
if x != nil {
return x.TroopName
}
return nil
}
type Face struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
Old []byte `protobuf:"bytes,2,opt,name=old,proto3" json:"old,omitempty"`
Buf []byte `protobuf:"bytes,11,opt,name=buf,proto3" json:"buf,omitempty"`
}
func (x *Face) Reset() {
*x = Face{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Face) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Face) ProtoMessage() {}
func (x *Face) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Face.ProtoReflect.Descriptor instead.
func (*Face) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{26}
}
func (x *Face) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *Face) GetOld() []byte {
if x != nil {
return x.Old
}
return nil
}
func (x *Face) GetBuf() []byte {
if x != nil {
return x.Buf
}
return nil
}
type CustomFace struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guid []byte `protobuf:"bytes,1,opt,name=guid,proto3" json:"guid,omitempty"`
FilePath string `protobuf:"bytes,2,opt,name=filePath,proto3" json:"filePath,omitempty"`
Shortcut string `protobuf:"bytes,3,opt,name=shortcut,proto3" json:"shortcut,omitempty"`
Buffer []byte `protobuf:"bytes,4,opt,name=buffer,proto3" json:"buffer,omitempty"`
Flag []byte `protobuf:"bytes,5,opt,name=flag,proto3" json:"flag,omitempty"`
OldData []byte `protobuf:"bytes,6,opt,name=oldData,proto3" json:"oldData,omitempty"`
FileId int32 `protobuf:"varint,7,opt,name=fileId,proto3" json:"fileId,omitempty"`
ServerIp int32 `protobuf:"varint,8,opt,name=serverIp,proto3" json:"serverIp,omitempty"`
ServerPort int32 `protobuf:"varint,9,opt,name=serverPort,proto3" json:"serverPort,omitempty"`
FileType int32 `protobuf:"varint,10,opt,name=fileType,proto3" json:"fileType,omitempty"`
Signature []byte `protobuf:"bytes,11,opt,name=signature,proto3" json:"signature,omitempty"`
Useful int32 `protobuf:"varint,12,opt,name=useful,proto3" json:"useful,omitempty"`
Md5 []byte `protobuf:"bytes,13,opt,name=md5,proto3" json:"md5,omitempty"`
ThumbUrl string `protobuf:"bytes,14,opt,name=thumbUrl,proto3" json:"thumbUrl,omitempty"`
BigUrl string `protobuf:"bytes,15,opt,name=bigUrl,proto3" json:"bigUrl,omitempty"`
OrigUrl string `protobuf:"bytes,16,opt,name=origUrl,proto3" json:"origUrl,omitempty"`
BizType int32 `protobuf:"varint,17,opt,name=bizType,proto3" json:"bizType,omitempty"`
RepeatIndex int32 `protobuf:"varint,18,opt,name=repeatIndex,proto3" json:"repeatIndex,omitempty"`
RepeatImage int32 `protobuf:"varint,19,opt,name=repeatImage,proto3" json:"repeatImage,omitempty"`
ImageType int32 `protobuf:"varint,20,opt,name=imageType,proto3" json:"imageType,omitempty"`
Index int32 `protobuf:"varint,21,opt,name=index,proto3" json:"index,omitempty"`
Width int32 `protobuf:"varint,22,opt,name=width,proto3" json:"width,omitempty"`
Height int32 `protobuf:"varint,23,opt,name=height,proto3" json:"height,omitempty"`
Source int32 `protobuf:"varint,24,opt,name=source,proto3" json:"source,omitempty"`
Size int32 `protobuf:"varint,25,opt,name=size,proto3" json:"size,omitempty"`
Origin int32 `protobuf:"varint,26,opt,name=origin,proto3" json:"origin,omitempty"`
ThumbWidth int32 `protobuf:"varint,27,opt,name=thumbWidth,proto3" json:"thumbWidth,omitempty"`
ThumbHeight int32 `protobuf:"varint,28,opt,name=thumbHeight,proto3" json:"thumbHeight,omitempty"`
ShowLen int32 `protobuf:"varint,29,opt,name=showLen,proto3" json:"showLen,omitempty"`
DownloadLen int32 `protobuf:"varint,30,opt,name=downloadLen,proto3" json:"downloadLen,omitempty"`
X400Url string `protobuf:"bytes,31,opt,name=_400Url,json=400Url,proto3" json:"_400Url,omitempty"`
X400Width int32 `protobuf:"varint,32,opt,name=_400Width,json=400Width,proto3" json:"_400Width,omitempty"`
X400Height int32 `protobuf:"varint,33,opt,name=_400Height,json=400Height,proto3" json:"_400Height,omitempty"`
PbReserve []byte `protobuf:"bytes,34,opt,name=pbReserve,proto3" json:"pbReserve,omitempty"`
}
func (x *CustomFace) Reset() {
*x = CustomFace{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CustomFace) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CustomFace) ProtoMessage() {}
func (x *CustomFace) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CustomFace.ProtoReflect.Descriptor instead.
func (*CustomFace) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{27}
}
func (x *CustomFace) GetGuid() []byte {
if x != nil {
return x.Guid
}
return nil
}
func (x *CustomFace) GetFilePath() string {
if x != nil {
return x.FilePath
}
return ""
}
func (x *CustomFace) GetShortcut() string {
if x != nil {
return x.Shortcut
}
return ""
}
func (x *CustomFace) GetBuffer() []byte {
if x != nil {
return x.Buffer
}
return nil
}
func (x *CustomFace) GetFlag() []byte {
if x != nil {
return x.Flag
}
return nil
}
func (x *CustomFace) GetOldData() []byte {
if x != nil {
return x.OldData
}
return nil
}
func (x *CustomFace) GetFileId() int32 {
if x != nil {
return x.FileId
}
return 0
}
func (x *CustomFace) GetServerIp() int32 {
if x != nil {
return x.ServerIp
}
return 0
}
func (x *CustomFace) GetServerPort() int32 {
if x != nil {
return x.ServerPort
}
return 0
}
func (x *CustomFace) GetFileType() int32 {
if x != nil {
return x.FileType
}
return 0
}
func (x *CustomFace) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
func (x *CustomFace) GetUseful() int32 {
if x != nil {
return x.Useful
}
return 0
}
func (x *CustomFace) GetMd5() []byte {
if x != nil {
return x.Md5
}
return nil
}
func (x *CustomFace) GetThumbUrl() string {
if x != nil {
return x.ThumbUrl
}
return ""
}
func (x *CustomFace) GetBigUrl() string {
if x != nil {
return x.BigUrl
}
return ""
}
func (x *CustomFace) GetOrigUrl() string {
if x != nil {
return x.OrigUrl
}
return ""
}
func (x *CustomFace) GetBizType() int32 {
if x != nil {
return x.BizType
}
return 0
}
func (x *CustomFace) GetRepeatIndex() int32 {
if x != nil {
return x.RepeatIndex
}
return 0
}
func (x *CustomFace) GetRepeatImage() int32 {
if x != nil {
return x.RepeatImage
}
return 0
}
func (x *CustomFace) GetImageType() int32 {
if x != nil {
return x.ImageType
}
return 0
}
func (x *CustomFace) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *CustomFace) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *CustomFace) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *CustomFace) GetSource() int32 {
if x != nil {
return x.Source
}
return 0
}
func (x *CustomFace) GetSize() int32 {
if x != nil {
return x.Size
}
return 0
}
func (x *CustomFace) GetOrigin() int32 {
if x != nil {
return x.Origin
}
return 0
}
func (x *CustomFace) GetThumbWidth() int32 {
if x != nil {
return x.ThumbWidth
}
return 0
}
func (x *CustomFace) GetThumbHeight() int32 {
if x != nil {
return x.ThumbHeight
}
return 0
}
func (x *CustomFace) GetShowLen() int32 {
if x != nil {
return x.ShowLen
}
return 0
}
func (x *CustomFace) GetDownloadLen() int32 {
if x != nil {
return x.DownloadLen
}
return 0
}
func (x *CustomFace) GetX400Url() string {
if x != nil {
return x.X400Url
}
return ""
}
func (x *CustomFace) GetX400Width() int32 {
if x != nil {
return x.X400Width
}
return 0
}
func (x *CustomFace) GetX400Height() int32 {
if x != nil {
return x.X400Height
}
return 0
}
func (x *CustomFace) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type ContentHead struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PkgNum int32 `protobuf:"varint,1,opt,name=pkgNum,proto3" json:"pkgNum,omitempty"`
PkgIndex int32 `protobuf:"varint,2,opt,name=pkgIndex,proto3" json:"pkgIndex,omitempty"`
DivSeq int32 `protobuf:"varint,3,opt,name=divSeq,proto3" json:"divSeq,omitempty"`
AutoReply int32 `protobuf:"varint,4,opt,name=autoReply,proto3" json:"autoReply,omitempty"`
}
func (x *ContentHead) Reset() {
*x = ContentHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ContentHead) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ContentHead) ProtoMessage() {}
func (x *ContentHead) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContentHead.ProtoReflect.Descriptor instead.
func (*ContentHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{28}
}
func (x *ContentHead) GetPkgNum() int32 {
if x != nil {
return x.PkgNum
}
return 0
}
func (x *ContentHead) GetPkgIndex() int32 {
if x != nil {
return x.PkgIndex
}
return 0
}
func (x *ContentHead) GetDivSeq() int32 {
if x != nil {
return x.DivSeq
}
return 0
}
func (x *ContentHead) GetAutoReply() int32 {
if x != nil {
return x.AutoReply
}
return 0
}
type MessageHead struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUin int64 `protobuf:"varint,1,opt,name=fromUin,proto3" json:"fromUin,omitempty"`
ToUin int64 `protobuf:"varint,2,opt,name=toUin,proto3" json:"toUin,omitempty"`
MsgType int32 `protobuf:"varint,3,opt,name=msgType,proto3" json:"msgType,omitempty"`
C2CCmd int32 `protobuf:"varint,4,opt,name=c2cCmd,proto3" json:"c2cCmd,omitempty"`
MsgSeq int32 `protobuf:"varint,5,opt,name=msgSeq,proto3" json:"msgSeq,omitempty"`
MsgTime int32 `protobuf:"varint,6,opt,name=msgTime,proto3" json:"msgTime,omitempty"`
MsgUid int64 `protobuf:"varint,7,opt,name=msgUid,proto3" json:"msgUid,omitempty"`
C2CTmpMsgHead *C2CTempMessageHead `protobuf:"bytes,8,opt,name=c2cTmpMsgHead,proto3" json:"c2cTmpMsgHead,omitempty"`
GroupInfo *GroupInfo `protobuf:"bytes,9,opt,name=groupInfo,proto3" json:"groupInfo,omitempty"`
FromAppid int32 `protobuf:"varint,10,opt,name=fromAppid,proto3" json:"fromAppid,omitempty"`
FromInstid int32 `protobuf:"varint,11,opt,name=fromInstid,proto3" json:"fromInstid,omitempty"`
UserActive int32 `protobuf:"varint,12,opt,name=userActive,proto3" json:"userActive,omitempty"`
DiscussInfo *DiscussInfo `protobuf:"bytes,13,opt,name=discussInfo,proto3" json:"discussInfo,omitempty"`
FromNick string `protobuf:"bytes,14,opt,name=fromNick,proto3" json:"fromNick,omitempty"`
AuthUin int64 `protobuf:"varint,15,opt,name=authUin,proto3" json:"authUin,omitempty"`
AuthNick string `protobuf:"bytes,16,opt,name=authNick,proto3" json:"authNick,omitempty"`
MsgFlag int32 `protobuf:"varint,17,opt,name=msgFlag,proto3" json:"msgFlag,omitempty"`
AuthRemark string `protobuf:"bytes,18,opt,name=authRemark,proto3" json:"authRemark,omitempty"`
GroupName string `protobuf:"bytes,19,opt,name=groupName,proto3" json:"groupName,omitempty"`
MutiltransHead *MutilTransHead `protobuf:"bytes,20,opt,name=mutiltransHead,proto3" json:"mutiltransHead,omitempty"`
MsgInstCtrl *InstCtrl `protobuf:"bytes,21,opt,name=msgInstCtrl,proto3" json:"msgInstCtrl,omitempty"`
PublicAccountGroupSendFlag int32 `protobuf:"varint,22,opt,name=publicAccountGroupSendFlag,proto3" json:"publicAccountGroupSendFlag,omitempty"`
WseqInC2CMsghead int32 `protobuf:"varint,23,opt,name=wseqInC2cMsghead,proto3" json:"wseqInC2cMsghead,omitempty"`
Cpid int64 `protobuf:"varint,24,opt,name=cpid,proto3" json:"cpid,omitempty"`
ExtGroupKeyInfo *ExtGroupKeyInfo `protobuf:"bytes,25,opt,name=extGroupKeyInfo,proto3" json:"extGroupKeyInfo,omitempty"`
MultiCompatibleText string `protobuf:"bytes,26,opt,name=multiCompatibleText,proto3" json:"multiCompatibleText,omitempty"`
AuthSex int32 `protobuf:"varint,27,opt,name=authSex,proto3" json:"authSex,omitempty"`
IsSrcMsg bool `protobuf:"varint,28,opt,name=isSrcMsg,proto3" json:"isSrcMsg,omitempty"`
}
func (x *MessageHead) Reset() {
*x = MessageHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageHead) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageHead) ProtoMessage() {}
func (x *MessageHead) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageHead.ProtoReflect.Descriptor instead.
func (*MessageHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{29}
}
func (x *MessageHead) GetFromUin() int64 {
if x != nil {
return x.FromUin
}
return 0
}
func (x *MessageHead) GetToUin() int64 {
if x != nil {
return x.ToUin
}
return 0
}
func (x *MessageHead) GetMsgType() int32 {
if x != nil {
return x.MsgType
}
return 0
}
func (x *MessageHead) GetC2CCmd() int32 {
if x != nil {
return x.C2CCmd
}
return 0
}
func (x *MessageHead) GetMsgSeq() int32 {
if x != nil {
return x.MsgSeq
}
return 0
}
func (x *MessageHead) GetMsgTime() int32 {
if x != nil {
return x.MsgTime
}
return 0
}
func (x *MessageHead) GetMsgUid() int64 {
if x != nil {
return x.MsgUid
}
return 0
}
func (x *MessageHead) GetC2CTmpMsgHead() *C2CTempMessageHead {
if x != nil {
return x.C2CTmpMsgHead
}
return nil
}
func (x *MessageHead) GetGroupInfo() *GroupInfo {
if x != nil {
return x.GroupInfo
}
return nil
}
func (x *MessageHead) GetFromAppid() int32 {
if x != nil {
return x.FromAppid
}
return 0
}
func (x *MessageHead) GetFromInstid() int32 {
if x != nil {
return x.FromInstid
}
return 0
}
func (x *MessageHead) GetUserActive() int32 {
if x != nil {
return x.UserActive
}
return 0
}
func (x *MessageHead) GetDiscussInfo() *DiscussInfo {
if x != nil {
return x.DiscussInfo
}
return nil
}
func (x *MessageHead) GetFromNick() string {
if x != nil {
return x.FromNick
}
return ""
}
func (x *MessageHead) GetAuthUin() int64 {
if x != nil {
return x.AuthUin
}
return 0
}
func (x *MessageHead) GetAuthNick() string {
if x != nil {
return x.AuthNick
}
return ""
}
func (x *MessageHead) GetMsgFlag() int32 {
if x != nil {
return x.MsgFlag
}
return 0
}
func (x *MessageHead) GetAuthRemark() string {
if x != nil {
return x.AuthRemark
}
return ""
}
func (x *MessageHead) GetGroupName() string {
if x != nil {
return x.GroupName
}
return ""
}
func (x *MessageHead) GetMutiltransHead() *MutilTransHead {
if x != nil {
return x.MutiltransHead
}
return nil
}
func (x *MessageHead) GetMsgInstCtrl() *InstCtrl {
if x != nil {
return x.MsgInstCtrl
}
return nil
}
func (x *MessageHead) GetPublicAccountGroupSendFlag() int32 {
if x != nil {
return x.PublicAccountGroupSendFlag
}
return 0
}
func (x *MessageHead) GetWseqInC2CMsghead() int32 {
if x != nil {
return x.WseqInC2CMsghead
}
return 0
}
func (x *MessageHead) GetCpid() int64 {
if x != nil {
return x.Cpid
}
return 0
}
func (x *MessageHead) GetExtGroupKeyInfo() *ExtGroupKeyInfo {
if x != nil {
return x.ExtGroupKeyInfo
}
return nil
}
func (x *MessageHead) GetMultiCompatibleText() string {
if x != nil {
return x.MultiCompatibleText
}
return ""
}
func (x *MessageHead) GetAuthSex() int32 {
if x != nil {
return x.AuthSex
}
return 0
}
func (x *MessageHead) GetIsSrcMsg() bool {
if x != nil {
return x.IsSrcMsg
}
return false
}
type GroupInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupCode int64 `protobuf:"varint,1,opt,name=groupCode,proto3" json:"groupCode,omitempty"`
GroupType int32 `protobuf:"varint,2,opt,name=groupType,proto3" json:"groupType,omitempty"`
GroupInfoSeq int64 `protobuf:"varint,3,opt,name=groupInfoSeq,proto3" json:"groupInfoSeq,omitempty"`
GroupCard string `protobuf:"bytes,4,opt,name=groupCard,proto3" json:"groupCard,omitempty"`
GroupRank []byte `protobuf:"bytes,5,opt,name=groupRank,proto3" json:"groupRank,omitempty"`
GroupLevel int32 `protobuf:"varint,6,opt,name=groupLevel,proto3" json:"groupLevel,omitempty"`
GroupCardType int32 `protobuf:"varint,7,opt,name=groupCardType,proto3" json:"groupCardType,omitempty"`
GroupName []byte `protobuf:"bytes,8,opt,name=groupName,proto3" json:"groupName,omitempty"`
}
func (x *GroupInfo) Reset() {
*x = GroupInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupInfo) ProtoMessage() {}
func (x *GroupInfo) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GroupInfo.ProtoReflect.Descriptor instead.
func (*GroupInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{30}
}
func (x *GroupInfo) GetGroupCode() int64 {
if x != nil {
return x.GroupCode
}
return 0
}
func (x *GroupInfo) GetGroupType() int32 {
if x != nil {
return x.GroupType
}
return 0
}
func (x *GroupInfo) GetGroupInfoSeq() int64 {
if x != nil {
return x.GroupInfoSeq
}
return 0
}
func (x *GroupInfo) GetGroupCard() string {
if x != nil {
return x.GroupCard
}
return ""
}
func (x *GroupInfo) GetGroupRank() []byte {
if x != nil {
return x.GroupRank
}
return nil
}
func (x *GroupInfo) GetGroupLevel() int32 {
if x != nil {
return x.GroupLevel
}
return 0
}
func (x *GroupInfo) GetGroupCardType() int32 {
if x != nil {
return x.GroupCardType
}
return 0
}
func (x *GroupInfo) GetGroupName() []byte {
if x != nil {
return x.GroupName
}
return nil
}
type DiscussInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DiscussUin int64 `protobuf:"varint,1,opt,name=discussUin,proto3" json:"discussUin,omitempty"`
DiscussType int32 `protobuf:"varint,2,opt,name=discussType,proto3" json:"discussType,omitempty"`
DiscussInfoSeq int64 `protobuf:"varint,3,opt,name=discussInfoSeq,proto3" json:"discussInfoSeq,omitempty"`
DiscussRemark []byte `protobuf:"bytes,4,opt,name=discussRemark,proto3" json:"discussRemark,omitempty"`
DiscussName []byte `protobuf:"bytes,5,opt,name=discussName,proto3" json:"discussName,omitempty"`
}
func (x *DiscussInfo) Reset() {
*x = DiscussInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DiscussInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiscussInfo) ProtoMessage() {}
func (x *DiscussInfo) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiscussInfo.ProtoReflect.Descriptor instead.
func (*DiscussInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{31}
}
func (x *DiscussInfo) GetDiscussUin() int64 {
if x != nil {
return x.DiscussUin
}
return 0
}
func (x *DiscussInfo) GetDiscussType() int32 {
if x != nil {
return x.DiscussType
}
return 0
}
func (x *DiscussInfo) GetDiscussInfoSeq() int64 {
if x != nil {
return x.DiscussInfoSeq
}
return 0
}
func (x *DiscussInfo) GetDiscussRemark() []byte {
if x != nil {
return x.DiscussRemark
}
return nil
}
func (x *DiscussInfo) GetDiscussName() []byte {
if x != nil {
return x.DiscussName
}
return nil
}
type MutilTransHead struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
MsgId int32 `protobuf:"varint,2,opt,name=msgId,proto3" json:"msgId,omitempty"`
}
func (x *MutilTransHead) Reset() {
*x = MutilTransHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MutilTransHead) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MutilTransHead) ProtoMessage() {}
func (x *MutilTransHead) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MutilTransHead.ProtoReflect.Descriptor instead.
func (*MutilTransHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{32}
}
func (x *MutilTransHead) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *MutilTransHead) GetMsgId() int32 {
if x != nil {
return x.MsgId
}
return 0
}
type C2CTempMessageHead struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
C2CType int32 `protobuf:"varint,1,opt,name=c2cType,proto3" json:"c2cType,omitempty"`
ServiceType int32 `protobuf:"varint,2,opt,name=serviceType,proto3" json:"serviceType,omitempty"`
GroupUin int64 `protobuf:"varint,3,opt,name=groupUin,proto3" json:"groupUin,omitempty"`
GroupCode int64 `protobuf:"varint,4,opt,name=groupCode,proto3" json:"groupCode,omitempty"`
Sig []byte `protobuf:"bytes,5,opt,name=sig,proto3" json:"sig,omitempty"`
SigType int32 `protobuf:"varint,6,opt,name=sigType,proto3" json:"sigType,omitempty"`
FromPhone string `protobuf:"bytes,7,opt,name=fromPhone,proto3" json:"fromPhone,omitempty"`
ToPhone string `protobuf:"bytes,8,opt,name=toPhone,proto3" json:"toPhone,omitempty"`
LockDisplay int32 `protobuf:"varint,9,opt,name=lockDisplay,proto3" json:"lockDisplay,omitempty"`
DirectionFlag int32 `protobuf:"varint,10,opt,name=directionFlag,proto3" json:"directionFlag,omitempty"`
Reserved []byte `protobuf:"bytes,11,opt,name=reserved,proto3" json:"reserved,omitempty"`
}
func (x *C2CTempMessageHead) Reset() {
*x = C2CTempMessageHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *C2CTempMessageHead) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*C2CTempMessageHead) ProtoMessage() {}
func (x *C2CTempMessageHead) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use C2CTempMessageHead.ProtoReflect.Descriptor instead.
func (*C2CTempMessageHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{33}
}
func (x *C2CTempMessageHead) GetC2CType() int32 {
if x != nil {
return x.C2CType
}
return 0
}
func (x *C2CTempMessageHead) GetServiceType() int32 {
if x != nil {
return x.ServiceType
}
return 0
}
func (x *C2CTempMessageHead) GetGroupUin() int64 {
if x != nil {
return x.GroupUin
}
return 0
}
func (x *C2CTempMessageHead) GetGroupCode() int64 {
if x != nil {
return x.GroupCode
}
return 0
}
func (x *C2CTempMessageHead) GetSig() []byte {
if x != nil {
return x.Sig
}
return nil
}
func (x *C2CTempMessageHead) GetSigType() int32 {
if x != nil {
return x.SigType
}
return 0
}
func (x *C2CTempMessageHead) GetFromPhone() string {
if x != nil {
return x.FromPhone
}
return ""
}
func (x *C2CTempMessageHead) GetToPhone() string {
if x != nil {
return x.ToPhone
}
return ""
}
func (x *C2CTempMessageHead) GetLockDisplay() int32 {
if x != nil {
return x.LockDisplay
}
return 0
}
func (x *C2CTempMessageHead) GetDirectionFlag() int32 {
if x != nil {
return x.DirectionFlag
}
return 0
}
func (x *C2CTempMessageHead) GetReserved() []byte {
if x != nil {
return x.Reserved
}
return nil
}
type InstCtrl struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgSendToInst []*InstInfo `protobuf:"bytes,1,rep,name=msgSendToInst,proto3" json:"msgSendToInst,omitempty"`
MsgExcludeInst []*InstInfo `protobuf:"bytes,2,rep,name=msgExcludeInst,proto3" json:"msgExcludeInst,omitempty"`
MsgFromInst *InstInfo `protobuf:"bytes,3,opt,name=msgFromInst,proto3" json:"msgFromInst,omitempty"`
}
func (x *InstCtrl) Reset() {
*x = InstCtrl{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstCtrl) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstCtrl) ProtoMessage() {}
func (x *InstCtrl) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstCtrl.ProtoReflect.Descriptor instead.
func (*InstCtrl) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{34}
}
func (x *InstCtrl) GetMsgSendToInst() []*InstInfo {
if x != nil {
return x.MsgSendToInst
}
return nil
}
func (x *InstCtrl) GetMsgExcludeInst() []*InstInfo {
if x != nil {
return x.MsgExcludeInst
}
return nil
}
func (x *InstCtrl) GetMsgFromInst() *InstInfo {
if x != nil {
return x.MsgFromInst
}
return nil
}
type InstInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Apppid int32 `protobuf:"varint,1,opt,name=apppid,proto3" json:"apppid,omitempty"`
Instid int32 `protobuf:"varint,2,opt,name=instid,proto3" json:"instid,omitempty"`
Platform int32 `protobuf:"varint,3,opt,name=platform,proto3" json:"platform,omitempty"`
EnumDeviceType int32 `protobuf:"varint,10,opt,name=enumDeviceType,proto3" json:"enumDeviceType,omitempty"`
}
func (x *InstInfo) Reset() {
*x = InstInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstInfo) ProtoMessage() {}
func (x *InstInfo) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstInfo.ProtoReflect.Descriptor instead.
func (*InstInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{35}
}
func (x *InstInfo) GetApppid() int32 {
if x != nil {
return x.Apppid
}
return 0
}
func (x *InstInfo) GetInstid() int32 {
if x != nil {
return x.Instid
}
return 0
}
func (x *InstInfo) GetPlatform() int32 {
if x != nil {
return x.Platform
}
return 0
}
func (x *InstInfo) GetEnumDeviceType() int32 {
if x != nil {
return x.EnumDeviceType
}
return 0
}
type ExtGroupKeyInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CurMaxSeq int32 `protobuf:"varint,1,opt,name=curMaxSeq,proto3" json:"curMaxSeq,omitempty"`
CurTime int64 `protobuf:"varint,2,opt,name=curTime,proto3" json:"curTime,omitempty"`
}
func (x *ExtGroupKeyInfo) Reset() {
*x = ExtGroupKeyInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExtGroupKeyInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExtGroupKeyInfo) ProtoMessage() {}
func (x *ExtGroupKeyInfo) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExtGroupKeyInfo.ProtoReflect.Descriptor instead.
func (*ExtGroupKeyInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{36}
}
func (x *ExtGroupKeyInfo) GetCurMaxSeq() int32 {
if x != nil {
return x.CurMaxSeq
}
return 0
}
func (x *ExtGroupKeyInfo) GetCurTime() int64 {
if x != nil {
return x.CurTime
}
return 0
}
type SyncCookie struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Time1 int64 `protobuf:"varint,1,opt,name=time1,proto3" json:"time1,omitempty"`
Time int64 `protobuf:"varint,2,opt,name=time,proto3" json:"time,omitempty"`
Ran1 int64 `protobuf:"varint,3,opt,name=ran1,proto3" json:"ran1,omitempty"`
Ran2 int64 `protobuf:"varint,4,opt,name=ran2,proto3" json:"ran2,omitempty"`
Const1 int64 `protobuf:"varint,5,opt,name=const1,proto3" json:"const1,omitempty"`
Const2 int64 `protobuf:"varint,11,opt,name=const2,proto3" json:"const2,omitempty"`
Const3 int64 `protobuf:"varint,12,opt,name=const3,proto3" json:"const3,omitempty"`
LastSyncTime int64 `protobuf:"varint,13,opt,name=lastSyncTime,proto3" json:"lastSyncTime,omitempty"`
Const4 int64 `protobuf:"varint,14,opt,name=const4,proto3" json:"const4,omitempty"`
}
func (x *SyncCookie) Reset() {
*x = SyncCookie{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SyncCookie) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SyncCookie) ProtoMessage() {}
func (x *SyncCookie) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncCookie.ProtoReflect.Descriptor instead.
func (*SyncCookie) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{37}
}
func (x *SyncCookie) GetTime1() int64 {
if x != nil {
return x.Time1
}
return 0
}
func (x *SyncCookie) GetTime() int64 {
if x != nil {
return x.Time
}
return 0
}
func (x *SyncCookie) GetRan1() int64 {
if x != nil {
return x.Ran1
}
return 0
}
func (x *SyncCookie) GetRan2() int64 {
if x != nil {
return x.Ran2
}
return 0
}
func (x *SyncCookie) GetConst1() int64 {
if x != nil {
return x.Const1
}
return 0
}
func (x *SyncCookie) GetConst2() int64 {
if x != nil {
return x.Const2
}
return 0
}
func (x *SyncCookie) GetConst3() int64 {
if x != nil {
return x.Const3
}
return 0
}
func (x *SyncCookie) GetLastSyncTime() int64 {
if x != nil {
return x.LastSyncTime
}
return 0
}
func (x *SyncCookie) GetConst4() int64 {
if x != nil {
return x.Const4
}
return 0
}
type TransMsgInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUin int64 `protobuf:"varint,1,opt,name=fromUin,proto3" json:"fromUin,omitempty"`
ToUin int64 `protobuf:"varint,2,opt,name=toUin,proto3" json:"toUin,omitempty"`
MsgType int32 `protobuf:"varint,3,opt,name=msgType,proto3" json:"msgType,omitempty"`
MsgSubtype int32 `protobuf:"varint,4,opt,name=msgSubtype,proto3" json:"msgSubtype,omitempty"`
MsgSeq int32 `protobuf:"varint,5,opt,name=msgSeq,proto3" json:"msgSeq,omitempty"`
MsgUid int64 `protobuf:"varint,6,opt,name=msgUid,proto3" json:"msgUid,omitempty"`
MsgTime int32 `protobuf:"varint,7,opt,name=msgTime,proto3" json:"msgTime,omitempty"`
RealMsgTime int32 `protobuf:"varint,8,opt,name=realMsgTime,proto3" json:"realMsgTime,omitempty"`
NickName string `protobuf:"bytes,9,opt,name=nickName,proto3" json:"nickName,omitempty"`
MsgData []byte `protobuf:"bytes,10,opt,name=msgData,proto3" json:"msgData,omitempty"`
SvrIp int32 `protobuf:"varint,11,opt,name=svrIp,proto3" json:"svrIp,omitempty"`
ExtGroupKeyInfo *ExtGroupKeyInfo `protobuf:"bytes,12,opt,name=extGroupKeyInfo,proto3" json:"extGroupKeyInfo,omitempty"`
GeneralFlag int32 `protobuf:"varint,17,opt,name=generalFlag,proto3" json:"generalFlag,omitempty"`
}
func (x *TransMsgInfo) Reset() {
*x = TransMsgInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransMsgInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransMsgInfo) ProtoMessage() {}
func (x *TransMsgInfo) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransMsgInfo.ProtoReflect.Descriptor instead.
func (*TransMsgInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{38}
}
func (x *TransMsgInfo) GetFromUin() int64 {
if x != nil {
return x.FromUin
}
return 0
}
func (x *TransMsgInfo) GetToUin() int64 {
if x != nil {
return x.ToUin
}
return 0
}
func (x *TransMsgInfo) GetMsgType() int32 {
if x != nil {
return x.MsgType
}
return 0
}
func (x *TransMsgInfo) GetMsgSubtype() int32 {
if x != nil {
return x.MsgSubtype
}
return 0
}
func (x *TransMsgInfo) GetMsgSeq() int32 {
if x != nil {
return x.MsgSeq
}
return 0
}
func (x *TransMsgInfo) GetMsgUid() int64 {
if x != nil {
return x.MsgUid
}
return 0
}
func (x *TransMsgInfo) GetMsgTime() int32 {
if x != nil {
return x.MsgTime
}
return 0
}
func (x *TransMsgInfo) GetRealMsgTime() int32 {
if x != nil {
return x.RealMsgTime
}
return 0
}
func (x *TransMsgInfo) GetNickName() string {
if x != nil {
return x.NickName
}
return ""
}
func (x *TransMsgInfo) GetMsgData() []byte {
if x != nil {
return x.MsgData
}
return nil
}
func (x *TransMsgInfo) GetSvrIp() int32 {
if x != nil {
return x.SvrIp
}
return 0
}
func (x *TransMsgInfo) GetExtGroupKeyInfo() *ExtGroupKeyInfo {
if x != nil {
return x.ExtGroupKeyInfo
}
return nil
}
func (x *TransMsgInfo) GetGeneralFlag() int32 {
if x != nil {
return x.GeneralFlag
}
return 0
}
var File_msg_proto protoreflect.FileDescriptor
var file_msg_proto_rawDesc = []byte{
0x0a, 0x09, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x03, 0x0a, 0x11,
0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x25, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x08,
0x73, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x79, 0x6e, 0x63,
0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x79,
0x6e, 0x63, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x61, 0x6d, 0x62,
0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61,
0x6d, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65,
0x73, 0x74, 0x52, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6d, 0x62,
0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x6f, 0x74, 0x68, 0x65,
0x72, 0x52, 0x61, 0x6d, 0x62, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x11, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x52, 0x61, 0x6d, 0x62, 0x6c, 0x65,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
0x53, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x20,
0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x6c, 0x61, 0x67,
0x12, 0x2a, 0x0a, 0x10, 0x77, 0x68, 0x69, 0x73, 0x70, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x77, 0x68, 0x69, 0x73,
0x70, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
0x6d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10,
0x70, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x70, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x43,
0x74, 0x72, 0x6c, 0x42, 0x75, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6d, 0x73,
0x67, 0x43, 0x74, 0x72, 0x6c, 0x42, 0x75, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x42, 0x75, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x22, 0xf0, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a,
0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64,
0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x12, 0x2e, 0x0a,
0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64,
0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x12, 0x26, 0x0a,
0x07, 0x6d, 0x73, 0x67, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x07, 0x6d, 0x73,
0x67, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a,
0x07, 0x6d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x6d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x43,
0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x79, 0x6e,
0x63, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x56, 0x69,
0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x56, 0x69, 0x61, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x18, 0x09,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
0x74, 0x12, 0x22, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x43, 0x74, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x08, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x07, 0x6d, 0x73,
0x67, 0x43, 0x74, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65,
0x6e, 0x64, 0x53, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x75, 0x6c,
0x74, 0x69, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x22, 0x5e, 0x0a, 0x0b, 0x52, 0x6f, 0x75,
0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x12, 0x16, 0x0a, 0x03, 0x63, 0x32, 0x63, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x43, 0x32, 0x43, 0x52, 0x03, 0x63, 0x32, 0x63,
0x12, 0x16, 0x0a, 0x03, 0x67, 0x72, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x04, 0x2e,
0x47, 0x72, 0x70, 0x52, 0x03, 0x67, 0x72, 0x70, 0x12, 0x1f, 0x0a, 0x06, 0x67, 0x72, 0x70, 0x54,
0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x47, 0x72, 0x70, 0x54, 0x6d,
0x70, 0x52, 0x06, 0x67, 0x72, 0x70, 0x54, 0x6d, 0x70, 0x22, 0x1b, 0x0a, 0x03, 0x43, 0x32, 0x43,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x22, 0x23, 0x0a, 0x03, 0x47, 0x72, 0x70, 0x12, 0x1c, 0x0a,
0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x0a, 0x06, 0x47,
0x72, 0x70, 0x54, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x69,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x69,
0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x22, 0x23, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x43, 0x74,
0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x22, 0xf6, 0x02, 0x0a,
0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x1e, 0x0a, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12,
0x25, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x09, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x08, 0x73, 0x79,
0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x31, 0x0a, 0x0b, 0x75, 0x69, 0x6e, 0x50, 0x61, 0x69,
0x72, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x55, 0x69,
0x6e, 0x50, 0x61, 0x69, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x75, 0x69,
0x6e, 0x50, 0x61, 0x69, 0x72, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x6e,
0x64, 0x55, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x69, 0x6e, 0x64,
0x55, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x54, 0x79, 0x70,
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x54,
0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x70,
0x75, 0x62, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12,
0x24, 0x0a, 0x0d, 0x69, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x79, 0x6e, 0x63,
0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61,
0x6c, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x43, 0x74, 0x72, 0x6c,
0x42, 0x75, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6d, 0x73, 0x67, 0x43, 0x74,
0x72, 0x6c, 0x42, 0x75, 0x66, 0x22, 0xa9, 0x01, 0x0a, 0x11, 0x50, 0x75, 0x73, 0x68, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x07, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x73, 0x76, 0x72, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x73, 0x76, 0x72, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x73, 0x68, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x73, 0x68, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x4c, 0x61, 0x67, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x4c, 0x61, 0x67, 0x12,
0x20, 0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x09,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61,
0x67, 0x22, 0x98, 0x01, 0x0a, 0x0e, 0x55, 0x69, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74,
0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72,
0x55, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x55,
0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x73, 0x67, 0x43, 0x6f, 0x6d,
0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x07,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x65, 0x61, 0x64, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x04, 0x62, 0x6f, 0x64,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x82, 0x01, 0x0a, 0x0b,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x25, 0x0a, 0x08, 0x72,
0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e,
0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x52, 0x08, 0x72, 0x69, 0x63, 0x68, 0x54, 0x65,
0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x73, 0x67, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x6d,
0x73, 0x67, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x22, 0x90, 0x01, 0x0a, 0x08, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x12, 0x19, 0x0a,
0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x41, 0x74,
0x74, 0x72, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x1b, 0x0a, 0x05, 0x65, 0x6c, 0x65, 0x6d,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x45, 0x6c, 0x65, 0x6d, 0x52, 0x05,
0x65, 0x6c, 0x65, 0x6d, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69,
0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x4e,
0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0d, 0x6e, 0x6f,
0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x03, 0x70,
0x74, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x50, 0x74, 0x74, 0x52, 0x03,
0x70, 0x74, 0x74, 0x22, 0xdd, 0x03, 0x0a, 0x04, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x19, 0x0a, 0x04,
0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x54, 0x65, 0x78,
0x74, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x19, 0x0a, 0x04, 0x66, 0x61, 0x63, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x52, 0x04, 0x66, 0x61,
0x63, 0x65, 0x12, 0x2e, 0x0a, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61,
0x67, 0x65, 0x12, 0x37, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x4e, 0x6f, 0x74,
0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x6e, 0x6f, 0x74,
0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x0a, 0x63,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0b, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x63, 0x75,
0x73, 0x74, 0x6f, 0x6d, 0x46, 0x61, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69,
0x6c, 0x65, 0x12, 0x28, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x18,
0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x09,
0x76, 0x69, 0x64, 0x65, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0a, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x09, 0x76, 0x69, 0x64,
0x65, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x6e, 0x6f, 0x6e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x41,
0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x61, 0x6e, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d,
0x73, 0x67, 0x12, 0x2b, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x45, 0x6c, 0x65, 0x6d,
0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x45,
0x6c, 0x65, 0x6d, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x45, 0x6c, 0x65, 0x6d, 0x12,
0x22, 0x0a, 0x06, 0x73, 0x72, 0x63, 0x4d, 0x73, 0x67, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0a, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x06, 0x73, 0x72, 0x63,
0x4d, 0x73, 0x67, 0x22, 0x78, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x45, 0x6c, 0x65,
0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x75,
0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x75,
0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x03, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x94, 0x01,
0x0a, 0x04, 0x54, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08,
0x61, 0x74, 0x74, 0x72, 0x36, 0x42, 0x75, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08,
0x61, 0x74, 0x74, 0x72, 0x36, 0x42, 0x75, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x72,
0x37, 0x42, 0x75, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72,
0x37, 0x42, 0x75, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x03, 0x62, 0x75, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65,
0x72, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73,
0x65, 0x72, 0x76, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x04, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1a, 0x0a,
0x08, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a,
0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72,
0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73,
0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x53,
0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x53, 0x65,
0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x69, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x46, 0x61, 0x6d,
0x69, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x69, 0x74, 0x63, 0x68,
0x41, 0x6e, 0x64, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x6f, 0x6e,
0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6f, 0x6e,
0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
0x44, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65,
0x72, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x05, 0x0a, 0x03, 0x50, 0x74, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x72, 0x63, 0x55, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x72, 0x63,
0x55, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x35, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x35, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x69, 0x6c,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66,
0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x69, 0x6c,
0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x18,
0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x12,
0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12,
0x1c, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x08, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x1c, 0x0a,
0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73,
0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73,
0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4b,
0x65, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65,
0x79, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x50, 0x74, 0x74, 0x49, 0x6e, 0x64,
0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x50,
0x74, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x6f, 0x69, 0x63, 0x65,
0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x76, 0x6f,
0x69, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x74, 0x74,
0x55, 0x72, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x74, 0x74, 0x55, 0x72,
0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x4b, 0x65,
0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69,
0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20,
0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x6f, 0x77,
0x6e, 0x50, 0x61, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x64, 0x6f, 0x77,
0x6e, 0x50, 0x61, 0x72, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18,
0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1c, 0x0a,
0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x62,
0x79, 0x74, 0x65, 0x73, 0x50, 0x74, 0x74, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28,
0x0c, 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x74, 0x74, 0x55, 0x72, 0x6c, 0x73, 0x12,
0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x18,
0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x46,
0x6c, 0x61, 0x67, 0x22, 0x65, 0x0a, 0x0b, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61,
0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61,
0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61,
0x74, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64,
0x46, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x56,
0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x22, 0xf0, 0x05, 0x0a, 0x0e, 0x4e,
0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c,
0x65, 0x4c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65,
0x4c, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
0x6f, 0x61, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x56, 0x65,
0x72, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x0e, 0x6f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x69, 0x6d, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72, 0x65,
0x76, 0x69, 0x65, 0x77, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x70, 0x69, 0x63, 0x4d, 0x64, 0x35, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x06, 0x70, 0x69, 0x63, 0x4d, 0x64, 0x35, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x69, 0x63, 0x48, 0x65,
0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x69, 0x63, 0x48,
0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x63, 0x57, 0x69, 0x64, 0x74,
0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x69, 0x63, 0x57, 0x69, 0x64, 0x74,
0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x72, 0x65, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x74,
0x68, 0x75, 0x6d, 0x62, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
0x68, 0x75, 0x6d, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69,
0x6e, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69,
0x6e, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6f,
0x72, 0x69, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72,
0x69, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x7a, 0x54, 0x79, 0x70, 0x65,
0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x62, 0x69, 0x7a, 0x54, 0x79, 0x70, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a,
0x09, 0x6f, 0x70, 0x46, 0x61, 0x63, 0x65, 0x42, 0x75, 0x66, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x09, 0x6f, 0x70, 0x46, 0x61, 0x63, 0x65, 0x42, 0x75, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x6f,
0x6c, 0x64, 0x50, 0x69, 0x63, 0x4d, 0x64, 0x35, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
0x6f, 0x6c, 0x64, 0x50, 0x69, 0x63, 0x4d, 0x64, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x68, 0x75,
0x6d, 0x62, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74,
0x68, 0x75, 0x6d, 0x62, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x68, 0x75,
0x6d, 0x62, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x74, 0x68, 0x75, 0x6d, 0x62, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66,
0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x69, 0x6c,
0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x65, 0x6e, 0x18, 0x18,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x65, 0x6e, 0x12, 0x20, 0x0a,
0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x65, 0x6e, 0x18, 0x19, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x65, 0x6e, 0x12,
0x1c, 0x0a, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x1d, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0xb9, 0x04,
0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73,
0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x12, 0x1a, 0x0a,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c,
0x65, 0x4d, 0x64, 0x35, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65,
0x4d, 0x64, 0x35, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x6f, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x75, 0x62, 0x63, 0x6d, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x75, 0x62,
0x63, 0x6d, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x6c, 0x6f, 0x75,
0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x6c,
0x6f, 0x75, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x69, 0x6c, 0x65,
0x55, 0x72, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x62, 0x79, 0x74, 0x65,
0x73, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a,
0x0a, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a,
0x08, 0x6c, 0x69, 0x66, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x6c, 0x69, 0x66, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x6c,
0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75,
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x62, 0x73,
0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x61, 0x62, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65,
0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70,
0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0xe3, 0x02, 0x0a, 0x09, 0x45, 0x78,
0x74, 0x72, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x6b, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x69, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x43, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76,
0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12,
0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61,
0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d,
0x61, 0x73, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x73, 0x67, 0x54, 0x61, 0x69, 0x6c, 0x49, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x73, 0x67, 0x54, 0x61, 0x69, 0x6c, 0x49,
0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69,
0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x6e, 0x73, 0x54, 0x69, 0x70, 0x73, 0x18,
0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x70, 0x6e, 0x73, 0x54, 0x69, 0x70, 0x73, 0x12,
0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69,
0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61,
0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74,
0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x70, 0x6e, 0x73, 0x53, 0x6f, 0x75,
0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x70,
0x6e, 0x73, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6e,
0x65, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x22,
0xa1, 0x02, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c,
0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c,
0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4b,
0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65,
0x79, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x74, 0x65,
0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x4d, 0x73,
0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72,
0x76, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65,
0x72, 0x76, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x15, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75,
0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a,
0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c,
0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6e, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x6e, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61,
0x6e, 0x6f, 0x6e, 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61,
0x6e, 0x6f, 0x6e, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x50,
0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x68,
0x65, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65,
0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62,
0x75, 0x62, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62,
0x75, 0x62, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x43,
0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b,
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0xc9, 0x06, 0x0a, 0x09, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x46,
0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x35, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x35, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x69, 0x6c,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x46,
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a,
0x0a, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x20, 0x0a,
0x0b, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0b, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
0x22, 0x0a, 0x0c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x35, 0x18,
0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x46, 0x69, 0x6c, 0x65,
0x4d, 0x64, 0x35, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x74,
0x68, 0x75, 0x6d, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0d, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a,
0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x74, 0x54, 0x79, 0x70,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x74, 0x54, 0x79, 0x70,
0x65, 0x12, 0x36, 0x0a, 0x16, 0x62, 0x6f, 0x6f, 0x6c, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74,
0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x08, 0x52, 0x16, 0x62, 0x6f, 0x6f, 0x6c, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72,
0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x6c,
0x65, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x69,
0x6c, 0x65, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x48,
0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x6c,
0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x42, 0x75,
0x73, 0x69, 0x54, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x75,
0x62, 0x42, 0x75, 0x73, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x69, 0x64,
0x65, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x76, 0x69,
0x64, 0x65, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x79, 0x74, 0x65, 0x73,
0x54, 0x68, 0x75, 0x6d, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x14, 0x20,
0x03, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x46,
0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x79, 0x74, 0x65, 0x73,
0x56, 0x69, 0x64, 0x65, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x15, 0x20,
0x03, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x46,
0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x68, 0x75, 0x6d, 0x62,
0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x16, 0x20, 0x01,
0x28, 0x05, 0x52, 0x11, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
0x64, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2c, 0x0a, 0x11, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05,
0x52, 0x11, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x46,
0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76,
0x65, 0x22, 0xa2, 0x02, 0x0a, 0x09, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x73, 0x67, 0x12,
0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x53, 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x05, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x53, 0x65, 0x71, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73,
0x65, 0x6e, 0x64, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x6c, 0x61,
0x67, 0x12, 0x1b, 0x0a, 0x05, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x05, 0x2e, 0x45, 0x6c, 0x65, 0x6d, 0x52, 0x05, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x12, 0x12,
0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79,
0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x69, 0x63, 0x68, 0x4d, 0x73, 0x67, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x69, 0x63, 0x68, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09,
0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x72,
0x63, 0x4d, 0x73, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x72, 0x63, 0x4d,
0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x03, 0x52, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x6f, 0x6f,
0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x72, 0x6f,
0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x40, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69,
0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x03, 0x6f, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x66, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x03, 0x62, 0x75, 0x66, 0x22, 0x99, 0x07, 0x0a, 0x0a, 0x43, 0x75, 0x73,
0x74, 0x6f, 0x6d, 0x46, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66,
0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x72, 0x74,
0x63, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x72, 0x74,
0x63, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x66,
0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12,
0x18, 0x0a, 0x07, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x07, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c,
0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49,
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x18, 0x08, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x12, 0x1e, 0x0a,
0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67,
0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69,
0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x66, 0x75,
0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x12,
0x10, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x64,
0x35, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a,
0x06, 0x62, 0x69, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62,
0x69, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x55, 0x72, 0x6c,
0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x55, 0x72, 0x6c, 0x12,
0x18, 0x0a, 0x07, 0x62, 0x69, 0x7a, 0x54, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x62, 0x69, 0x7a, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x72,
0x65, 0x70, 0x65, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0b, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a,
0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18,
0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f,
0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x72, 0x69,
0x67, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x57, 0x69, 0x64, 0x74,
0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x57, 0x69,
0x64, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x48, 0x65, 0x69, 0x67,
0x68, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x48,
0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x65, 0x6e,
0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x65, 0x6e, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x65, 0x6e, 0x18, 0x1e,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x65,
0x6e, 0x12, 0x17, 0x0a, 0x07, 0x5f, 0x34, 0x30, 0x30, 0x55, 0x72, 0x6c, 0x18, 0x1f, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x34, 0x30, 0x30, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x5f, 0x34,
0x30, 0x30, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x34,
0x30, 0x30, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x5f, 0x34, 0x30, 0x30, 0x48,
0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x34, 0x30, 0x30,
0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65,
0x72, 0x76, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73,
0x65, 0x72, 0x76, 0x65, 0x22, 0x77, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48,
0x65, 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6b, 0x67, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6b, 0x67, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70,
0x6b, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
0x6b, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x76, 0x53, 0x65,
0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x69, 0x76, 0x53, 0x65, 0x71, 0x12,
0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0xe0, 0x07,
0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x12, 0x18, 0x0a,
0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x32, 0x63, 0x43, 0x6d,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x32, 0x63, 0x43, 0x6d, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x55, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x55, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0d, 0x63, 0x32, 0x63,
0x54, 0x6d, 0x70, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x13, 0x2e, 0x43, 0x32, 0x43, 0x54, 0x65, 0x6d, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x0d, 0x63, 0x32, 0x63, 0x54, 0x6d, 0x70, 0x4d, 0x73, 0x67,
0x48, 0x65, 0x61, 0x64, 0x12, 0x28, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66,
0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c,
0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
0x66, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2e, 0x0a, 0x0b,
0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x0b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08,
0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68,
0x55, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55,
0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x10,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x18,
0x0a, 0x07, 0x6d, 0x73, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x6d, 0x73, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68,
0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75,
0x74, 0x68, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0e, 0x6d, 0x75, 0x74, 0x69, 0x6c, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x48, 0x65, 0x61, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
0x2e, 0x4d, 0x75, 0x74, 0x69, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x48, 0x65, 0x61, 0x64, 0x52,
0x0e, 0x6d, 0x75, 0x74, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x48, 0x65, 0x61, 0x64, 0x12,
0x2b, 0x0a, 0x0b, 0x6d, 0x73, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x43, 0x74, 0x72, 0x6c, 0x18, 0x15,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x43, 0x74, 0x72, 0x6c, 0x52,
0x0b, 0x6d, 0x73, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x43, 0x74, 0x72, 0x6c, 0x12, 0x3e, 0x0a, 0x1a,
0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05,
0x52, 0x1a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10,
0x77, 0x73, 0x65, 0x71, 0x49, 0x6e, 0x43, 0x32, 0x63, 0x4d, 0x73, 0x67, 0x68, 0x65, 0x61, 0x64,
0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x77, 0x73, 0x65, 0x71, 0x49, 0x6e, 0x43, 0x32,
0x63, 0x4d, 0x73, 0x67, 0x68, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x70, 0x69, 0x64,
0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x70, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0f,
0x65, 0x78, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x18,
0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x45, 0x78, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74,
0x69, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, 0x18,
0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6f, 0x6d, 0x70,
0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75,
0x74, 0x68, 0x53, 0x65, 0x78, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x75, 0x74,
0x68, 0x53, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, 0x72, 0x63, 0x4d, 0x73, 0x67,
0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x72, 0x63, 0x4d, 0x73, 0x67,
0x22, 0x8b, 0x02, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c,
0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x71, 0x12, 0x1c,
0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xbf,
0x01, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e,
0x0a, 0x0a, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x55, 0x69, 0x6e, 0x12, 0x20,
0x0a, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65,
0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53,
0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73,
0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63,
0x75, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x20,
0x0a, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65,
0x22, 0x3e, 0x0a, 0x0e, 0x4d, 0x75, 0x74, 0x69, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x48, 0x65,
0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x73,
0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x73, 0x67, 0x49, 0x64,
0x22, 0xd2, 0x02, 0x0a, 0x12, 0x43, 0x32, 0x43, 0x54, 0x65, 0x6d, 0x70, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x32, 0x63, 0x54, 0x79,
0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x32, 0x63, 0x54, 0x79, 0x70,
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54,
0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x69, 0x6e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x69, 0x6e, 0x12,
0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a,
0x03, 0x73, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x12,
0x18, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x73, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x6f,
0x6d, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x72,
0x6f, 0x6d, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x50, 0x68, 0x6f,
0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x50, 0x68, 0x6f, 0x6e,
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x69, 0x73, 0x70,
0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x46, 0x6c, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73,
0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x73,
0x65, 0x72, 0x76, 0x65, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x43, 0x74,
0x72, 0x6c, 0x12, 0x2f, 0x0a, 0x0d, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x49,
0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x49, 0x6e, 0x73, 0x74,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x49,
0x6e, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0e, 0x6d, 0x73, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x49, 0x6e, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x49, 0x6e,
0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6d, 0x73, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0b, 0x6d, 0x73, 0x67, 0x46, 0x72, 0x6f,
0x6d, 0x49, 0x6e, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x49, 0x6e,
0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x46, 0x72, 0x6f, 0x6d, 0x49,
0x6e, 0x73, 0x74, 0x22, 0x7e, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x16, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x61, 0x70, 0x70, 0x70, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x73, 0x74, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x6e, 0x73, 0x74, 0x69, 0x64, 0x12,
0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x65,
0x6e, 0x75, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54,
0x79, 0x70, 0x65, 0x22, 0x49, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b,
0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x4d, 0x61, 0x78,
0x53, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x75, 0x72, 0x4d, 0x61,
0x78, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xe2,
0x01, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x69, 0x6d, 0x65, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x69,
0x6d, 0x65, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x31, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x72,
0x61, 0x6e, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x32, 0x12,
0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74,
0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x32, 0x12,
0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x33, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52,
0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x33, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53,
0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c,
0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63,
0x6f, 0x6e, 0x73, 0x74, 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e,
0x73, 0x74, 0x34, 0x22, 0x8e, 0x03, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x4d, 0x73, 0x67,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x12, 0x14,
0x0a, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74,
0x6f, 0x55, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e,
0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x6d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x55, 0x69, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x55, 0x69, 0x64, 0x12, 0x18,
0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x6c,
0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72,
0x65, 0x61, 0x6c, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69,
0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69,
0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74,
0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61,
0x12, 0x14, 0x0a, 0x05, 0x73, 0x76, 0x72, 0x49, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x73, 0x76, 0x72, 0x49, 0x70, 0x12, 0x3a, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x45, 0x78, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61,
0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
0x46, 0x6c, 0x61, 0x67, 0x2a, 0x2e, 0x0a, 0x08, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67,
0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43,
0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54,
0x4f, 0x50, 0x10, 0x02, 0x42, 0x07, 0x5a, 0x05, 0x2e, 0x3b, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_msg_proto_rawDescOnce sync.Once
file_msg_proto_rawDescData = file_msg_proto_rawDesc
)
func file_msg_proto_rawDescGZIP() []byte {
file_msg_proto_rawDescOnce.Do(func() {
file_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_msg_proto_rawDescData)
})
return file_msg_proto_rawDescData
}
var file_msg_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_msg_proto_goTypes = []interface{}{
(SyncFlag)(0), // 0: SyncFlag
(*GetMessageRequest)(nil), // 1: GetMessageRequest
(*SendMessageRequest)(nil), // 2: SendMessageRequest
(*RoutingHead)(nil), // 3: RoutingHead
(*C2C)(nil), // 4: C2C
(*Grp)(nil), // 5: Grp
(*GrpTmp)(nil), // 6: GrpTmp
(*MsgCtrl)(nil), // 7: MsgCtrl
(*GetMessageResponse)(nil), // 8: GetMessageResponse
(*PushMessagePacket)(nil), // 9: PushMessagePacket
(*UinPairMessage)(nil), // 10: UinPairMessage
(*Message)(nil), // 11: Message
(*MessageBody)(nil), // 12: MessageBody
(*RichText)(nil), // 13: RichText
(*Elem)(nil), // 14: Elem
(*CustomElem)(nil), // 15: CustomElem
(*Text)(nil), // 16: Text
(*Attr)(nil), // 17: Attr
(*Ptt)(nil), // 18: Ptt
(*OnlineImage)(nil), // 19: OnlineImage
(*NotOnlineImage)(nil), // 20: NotOnlineImage
(*NotOnlineFile)(nil), // 21: NotOnlineFile
(*ExtraInfo)(nil), // 22: ExtraInfo
(*GroupFile)(nil), // 23: GroupFile
(*AnonymousGroupMessage)(nil), // 24: AnonymousGroupMessage
(*VideoFile)(nil), // 25: VideoFile
(*SourceMsg)(nil), // 26: SourceMsg
(*Face)(nil), // 27: Face
(*CustomFace)(nil), // 28: CustomFace
(*ContentHead)(nil), // 29: ContentHead
(*MessageHead)(nil), // 30: MessageHead
(*GroupInfo)(nil), // 31: GroupInfo
(*DiscussInfo)(nil), // 32: DiscussInfo
(*MutilTransHead)(nil), // 33: MutilTransHead
(*C2CTempMessageHead)(nil), // 34: C2CTempMessageHead
(*InstCtrl)(nil), // 35: InstCtrl
(*InstInfo)(nil), // 36: InstInfo
(*ExtGroupKeyInfo)(nil), // 37: ExtGroupKeyInfo
(*SyncCookie)(nil), // 38: SyncCookie
(*TransMsgInfo)(nil), // 39: TransMsgInfo
}
var file_msg_proto_depIdxs = []int32{
0, // 0: GetMessageRequest.syncFlag:type_name -> SyncFlag
3, // 1: SendMessageRequest.routingHead:type_name -> RoutingHead
29, // 2: SendMessageRequest.contentHead:type_name -> ContentHead
12, // 3: SendMessageRequest.msgBody:type_name -> MessageBody
7, // 4: SendMessageRequest.msgCtrl:type_name -> MsgCtrl
4, // 5: RoutingHead.c2c:type_name -> C2C
5, // 6: RoutingHead.grp:type_name -> Grp
6, // 7: RoutingHead.grpTmp:type_name -> GrpTmp
0, // 8: GetMessageResponse.syncFlag:type_name -> SyncFlag
10, // 9: GetMessageResponse.uinPairMsgs:type_name -> UinPairMessage
11, // 10: PushMessagePacket.message:type_name -> Message
11, // 11: UinPairMessage.messages:type_name -> Message
30, // 12: Message.head:type_name -> MessageHead
12, // 13: Message.body:type_name -> MessageBody
13, // 14: MessageBody.richText:type_name -> RichText
17, // 15: RichText.attr:type_name -> Attr
14, // 16: RichText.elems:type_name -> Elem
21, // 17: RichText.notOnlineFile:type_name -> NotOnlineFile
18, // 18: RichText.ptt:type_name -> Ptt
16, // 19: Elem.text:type_name -> Text
27, // 20: Elem.face:type_name -> Face
19, // 21: Elem.onlineImage:type_name -> OnlineImage
20, // 22: Elem.notOnlineImage:type_name -> NotOnlineImage
28, // 23: Elem.customFace:type_name -> CustomFace
23, // 24: Elem.groupFile:type_name -> GroupFile
22, // 25: Elem.extraInfo:type_name -> ExtraInfo
25, // 26: Elem.videoFile:type_name -> VideoFile
24, // 27: Elem.anonGroupMsg:type_name -> AnonymousGroupMessage
15, // 28: Elem.customElem:type_name -> CustomElem
26, // 29: Elem.srcMsg:type_name -> SourceMsg
14, // 30: SourceMsg.elems:type_name -> Elem
34, // 31: MessageHead.c2cTmpMsgHead:type_name -> C2CTempMessageHead
31, // 32: MessageHead.groupInfo:type_name -> GroupInfo
32, // 33: MessageHead.discussInfo:type_name -> DiscussInfo
33, // 34: MessageHead.mutiltransHead:type_name -> MutilTransHead
35, // 35: MessageHead.msgInstCtrl:type_name -> InstCtrl
37, // 36: MessageHead.extGroupKeyInfo:type_name -> ExtGroupKeyInfo
36, // 37: InstCtrl.msgSendToInst:type_name -> InstInfo
36, // 38: InstCtrl.msgExcludeInst:type_name -> InstInfo
36, // 39: InstCtrl.msgFromInst:type_name -> InstInfo
37, // 40: TransMsgInfo.extGroupKeyInfo:type_name -> ExtGroupKeyInfo
41, // [41:41] is the sub-list for method output_type
41, // [41:41] is the sub-list for method input_type
41, // [41:41] is the sub-list for extension type_name
41, // [41:41] is the sub-list for extension extendee
0, // [0:41] is the sub-list for field type_name
}
func init() { file_msg_proto_init() }
func file_msg_proto_init() {
if File_msg_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMessageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SendMessageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RoutingHead); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*C2C); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Grp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GrpTmp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MsgCtrl); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMessageResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PushMessagePacket); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UinPairMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Message); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageBody); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RichText); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Elem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CustomElem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Text); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Attr); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Ptt); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OnlineImage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotOnlineImage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotOnlineFile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtraInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupFile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnonymousGroupMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VideoFile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SourceMsg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Face); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CustomFace); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ContentHead); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageHead); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DiscussInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MutilTransHead); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*C2CTempMessageHead); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstCtrl); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtGroupKeyInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncCookie); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransMsgInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_msg_proto_rawDesc,
NumEnums: 1,
NumMessages: 39,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_msg_proto_goTypes,
DependencyIndexes: file_msg_proto_depIdxs,
EnumInfos: file_msg_proto_enumTypes,
MessageInfos: file_msg_proto_msgTypes,
}.Build()
File_msg_proto = out.File
file_msg_proto_rawDesc = nil
file_msg_proto_goTypes = nil
file_msg_proto_depIdxs = nil
}