1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00
MiraiGo/client/pb/msg/msg.pb.go
2021-06-11 06:24:29 +00:00

9184 lines
303 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.17.1
// source: msg.proto
package msg
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type 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: Do not use.
func (x *SyncFlag) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = SyncFlag(num)
return nil
}
// 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,enum=SyncFlag" json:"syncFlag,omitempty"`
SyncCookie []byte `protobuf:"bytes,2,opt,name=syncCookie" json:"syncCookie,omitempty"`
RambleFlag *int32 `protobuf:"varint,3,opt,name=rambleFlag" json:"rambleFlag,omitempty"`
LatestRambleNumber *int32 `protobuf:"varint,4,opt,name=latestRambleNumber" json:"latestRambleNumber,omitempty"`
OtherRambleNumber *int32 `protobuf:"varint,5,opt,name=otherRambleNumber" json:"otherRambleNumber,omitempty"`
OnlineSyncFlag *int32 `protobuf:"varint,6,opt,name=onlineSyncFlag" json:"onlineSyncFlag,omitempty"`
ContextFlag *int32 `protobuf:"varint,7,opt,name=contextFlag" json:"contextFlag,omitempty"`
WhisperSessionId *int32 `protobuf:"varint,8,opt,name=whisperSessionId" json:"whisperSessionId,omitempty"`
MsgReqType *int32 `protobuf:"varint,9,opt,name=msgReqType" json:"msgReqType,omitempty"`
PubaccountCookie []byte `protobuf:"bytes,10,opt,name=pubaccountCookie" json:"pubaccountCookie,omitempty"`
MsgCtrlBuf []byte `protobuf:"bytes,11,opt,name=msgCtrlBuf" json:"msgCtrlBuf,omitempty"`
ServerBuf []byte `protobuf:"bytes,12,opt,name=serverBuf" 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 && x.SyncFlag != 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 && x.RambleFlag != nil {
return *x.RambleFlag
}
return 0
}
func (x *GetMessageRequest) GetLatestRambleNumber() int32 {
if x != nil && x.LatestRambleNumber != nil {
return *x.LatestRambleNumber
}
return 0
}
func (x *GetMessageRequest) GetOtherRambleNumber() int32 {
if x != nil && x.OtherRambleNumber != nil {
return *x.OtherRambleNumber
}
return 0
}
func (x *GetMessageRequest) GetOnlineSyncFlag() int32 {
if x != nil && x.OnlineSyncFlag != nil {
return *x.OnlineSyncFlag
}
return 0
}
func (x *GetMessageRequest) GetContextFlag() int32 {
if x != nil && x.ContextFlag != nil {
return *x.ContextFlag
}
return 0
}
func (x *GetMessageRequest) GetWhisperSessionId() int32 {
if x != nil && x.WhisperSessionId != nil {
return *x.WhisperSessionId
}
return 0
}
func (x *GetMessageRequest) GetMsgReqType() int32 {
if x != nil && x.MsgReqType != 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" json:"routingHead,omitempty"`
ContentHead *ContentHead `protobuf:"bytes,2,opt,name=contentHead" json:"contentHead,omitempty"`
MsgBody *MessageBody `protobuf:"bytes,3,opt,name=msgBody" json:"msgBody,omitempty"`
MsgSeq *int32 `protobuf:"varint,4,opt,name=msgSeq" json:"msgSeq,omitempty"`
MsgRand *int32 `protobuf:"varint,5,opt,name=msgRand" json:"msgRand,omitempty"`
SyncCookie []byte `protobuf:"bytes,6,opt,name=syncCookie" json:"syncCookie,omitempty"`
//MsgComm.AppShareInfo? appShare = 7;
MsgVia *int32 `protobuf:"varint,8,opt,name=msgVia" json:"msgVia,omitempty"`
DataStatist *int32 `protobuf:"varint,9,opt,name=dataStatist" json:"dataStatist,omitempty"`
//MultiMsgAssist? multiMsgAssist = 10;
//PbInputNotifyInfo? inputNotifyInfo = 11;
MsgCtrl *MsgCtrl `protobuf:"bytes,12,opt,name=msgCtrl" json:"msgCtrl,omitempty"`
//ImReceipt.ReceiptReq? receiptReq = 13;
MultiSendSeq *int32 `protobuf:"varint,14,opt,name=multiSendSeq" 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 && x.MsgSeq != nil {
return *x.MsgSeq
}
return 0
}
func (x *SendMessageRequest) GetMsgRand() int32 {
if x != nil && x.MsgRand != 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 && x.MsgVia != nil {
return *x.MsgVia
}
return 0
}
func (x *SendMessageRequest) GetDataStatist() int32 {
if x != nil && x.DataStatist != 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 && x.MultiSendSeq != nil {
return *x.MultiSendSeq
}
return 0
}
type SendMessageResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result *int32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"`
ErrMsg *string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
}
func (x *SendMessageResponse) Reset() {
*x = SendMessageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SendMessageResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendMessageResponse) ProtoMessage() {}
func (x *SendMessageResponse) 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 SendMessageResponse.ProtoReflect.Descriptor instead.
func (*SendMessageResponse) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{2}
}
func (x *SendMessageResponse) GetResult() int32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *SendMessageResponse) GetErrMsg() string {
if x != nil && x.ErrMsg != nil {
return *x.ErrMsg
}
return ""
}
type MsgWithDrawReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
C2CWithDraw []*C2CMsgWithDrawReq `protobuf:"bytes,1,rep,name=c2cWithDraw" json:"c2cWithDraw,omitempty"`
GroupWithDraw []*GroupMsgWithDrawReq `protobuf:"bytes,2,rep,name=groupWithDraw" json:"groupWithDraw,omitempty"`
}
func (x *MsgWithDrawReq) Reset() {
*x = MsgWithDrawReq{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgWithDrawReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgWithDrawReq) ProtoMessage() {}
func (x *MsgWithDrawReq) 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 MsgWithDrawReq.ProtoReflect.Descriptor instead.
func (*MsgWithDrawReq) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{3}
}
func (x *MsgWithDrawReq) GetC2CWithDraw() []*C2CMsgWithDrawReq {
if x != nil {
return x.C2CWithDraw
}
return nil
}
func (x *MsgWithDrawReq) GetGroupWithDraw() []*GroupMsgWithDrawReq {
if x != nil {
return x.GroupWithDraw
}
return nil
}
type C2CMsgWithDrawReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgInfo []*C2CMsgInfo `protobuf:"bytes,1,rep,name=msgInfo" json:"msgInfo,omitempty"`
LongMessageFlag *int32 `protobuf:"varint,2,opt,name=longMessageFlag" json:"longMessageFlag,omitempty"`
Reserved []byte `protobuf:"bytes,3,opt,name=reserved" json:"reserved,omitempty"`
SubCmd *int32 `protobuf:"varint,4,opt,name=subCmd" json:"subCmd,omitempty"`
}
func (x *C2CMsgWithDrawReq) Reset() {
*x = C2CMsgWithDrawReq{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *C2CMsgWithDrawReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*C2CMsgWithDrawReq) ProtoMessage() {}
func (x *C2CMsgWithDrawReq) 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 C2CMsgWithDrawReq.ProtoReflect.Descriptor instead.
func (*C2CMsgWithDrawReq) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{4}
}
func (x *C2CMsgWithDrawReq) GetMsgInfo() []*C2CMsgInfo {
if x != nil {
return x.MsgInfo
}
return nil
}
func (x *C2CMsgWithDrawReq) GetLongMessageFlag() int32 {
if x != nil && x.LongMessageFlag != nil {
return *x.LongMessageFlag
}
return 0
}
func (x *C2CMsgWithDrawReq) GetReserved() []byte {
if x != nil {
return x.Reserved
}
return nil
}
func (x *C2CMsgWithDrawReq) GetSubCmd() int32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
type GroupMsgWithDrawReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SubCmd *int32 `protobuf:"varint,1,opt,name=subCmd" json:"subCmd,omitempty"`
GroupType *int32 `protobuf:"varint,2,opt,name=groupType" json:"groupType,omitempty"`
GroupCode *int64 `protobuf:"varint,3,opt,name=groupCode" json:"groupCode,omitempty"`
MsgList []*GroupMsgInfo `protobuf:"bytes,4,rep,name=msgList" json:"msgList,omitempty"`
UserDef []byte `protobuf:"bytes,5,opt,name=userDef" json:"userDef,omitempty"`
}
func (x *GroupMsgWithDrawReq) Reset() {
*x = GroupMsgWithDrawReq{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMsgWithDrawReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMsgWithDrawReq) ProtoMessage() {}
func (x *GroupMsgWithDrawReq) 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 GroupMsgWithDrawReq.ProtoReflect.Descriptor instead.
func (*GroupMsgWithDrawReq) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{5}
}
func (x *GroupMsgWithDrawReq) GetSubCmd() int32 {
if x != nil && x.SubCmd != nil {
return *x.SubCmd
}
return 0
}
func (x *GroupMsgWithDrawReq) GetGroupType() int32 {
if x != nil && x.GroupType != nil {
return *x.GroupType
}
return 0
}
func (x *GroupMsgWithDrawReq) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GroupMsgWithDrawReq) GetMsgList() []*GroupMsgInfo {
if x != nil {
return x.MsgList
}
return nil
}
func (x *GroupMsgWithDrawReq) GetUserDef() []byte {
if x != nil {
return x.UserDef
}
return nil
}
type MsgWithDrawResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
C2CWithDraw []*C2CMsgWithDrawResp `protobuf:"bytes,1,rep,name=c2cWithDraw" json:"c2cWithDraw,omitempty"`
GroupWithDraw []*GroupMsgWithDrawResp `protobuf:"bytes,2,rep,name=groupWithDraw" json:"groupWithDraw,omitempty"`
}
func (x *MsgWithDrawResp) Reset() {
*x = MsgWithDrawResp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgWithDrawResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgWithDrawResp) ProtoMessage() {}
func (x *MsgWithDrawResp) 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 MsgWithDrawResp.ProtoReflect.Descriptor instead.
func (*MsgWithDrawResp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{6}
}
func (x *MsgWithDrawResp) GetC2CWithDraw() []*C2CMsgWithDrawResp {
if x != nil {
return x.C2CWithDraw
}
return nil
}
func (x *MsgWithDrawResp) GetGroupWithDraw() []*GroupMsgWithDrawResp {
if x != nil {
return x.GroupWithDraw
}
return nil
}
type C2CMsgWithDrawResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result *int32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"`
ErrMsg *string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
}
func (x *C2CMsgWithDrawResp) Reset() {
*x = C2CMsgWithDrawResp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *C2CMsgWithDrawResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*C2CMsgWithDrawResp) ProtoMessage() {}
func (x *C2CMsgWithDrawResp) 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 C2CMsgWithDrawResp.ProtoReflect.Descriptor instead.
func (*C2CMsgWithDrawResp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{7}
}
func (x *C2CMsgWithDrawResp) GetResult() int32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *C2CMsgWithDrawResp) GetErrMsg() string {
if x != nil && x.ErrMsg != nil {
return *x.ErrMsg
}
return ""
}
type GroupMsgWithDrawResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result *int32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"`
ErrMsg *string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
}
func (x *GroupMsgWithDrawResp) Reset() {
*x = GroupMsgWithDrawResp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMsgWithDrawResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMsgWithDrawResp) ProtoMessage() {}
func (x *GroupMsgWithDrawResp) 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 GroupMsgWithDrawResp.ProtoReflect.Descriptor instead.
func (*GroupMsgWithDrawResp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{8}
}
func (x *GroupMsgWithDrawResp) GetResult() int32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *GroupMsgWithDrawResp) GetErrMsg() string {
if x != nil && x.ErrMsg != nil {
return *x.ErrMsg
}
return ""
}
type GroupMsgInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgSeq *int32 `protobuf:"varint,1,opt,name=msgSeq" json:"msgSeq,omitempty"`
MsgRandom *int32 `protobuf:"varint,2,opt,name=msgRandom" json:"msgRandom,omitempty"`
MsgType *int32 `protobuf:"varint,3,opt,name=msgType" json:"msgType,omitempty"`
}
func (x *GroupMsgInfo) Reset() {
*x = GroupMsgInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMsgInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMsgInfo) ProtoMessage() {}
func (x *GroupMsgInfo) 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 GroupMsgInfo.ProtoReflect.Descriptor instead.
func (*GroupMsgInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{9}
}
func (x *GroupMsgInfo) GetMsgSeq() int32 {
if x != nil && x.MsgSeq != nil {
return *x.MsgSeq
}
return 0
}
func (x *GroupMsgInfo) GetMsgRandom() int32 {
if x != nil && x.MsgRandom != nil {
return *x.MsgRandom
}
return 0
}
func (x *GroupMsgInfo) GetMsgType() int32 {
if x != nil && x.MsgType != nil {
return *x.MsgType
}
return 0
}
type C2CMsgInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUin *int64 `protobuf:"varint,1,opt,name=fromUin" json:"fromUin,omitempty"`
ToUin *int64 `protobuf:"varint,2,opt,name=toUin" json:"toUin,omitempty"`
MsgSeq *int32 `protobuf:"varint,3,opt,name=msgSeq" json:"msgSeq,omitempty"`
MsgUid *int64 `protobuf:"varint,4,opt,name=msgUid" json:"msgUid,omitempty"`
MsgTime *int64 `protobuf:"varint,5,opt,name=msgTime" json:"msgTime,omitempty"`
MsgRandom *int32 `protobuf:"varint,6,opt,name=msgRandom" json:"msgRandom,omitempty"`
PkgNum *int32 `protobuf:"varint,7,opt,name=pkgNum" json:"pkgNum,omitempty"`
PkgIndex *int32 `protobuf:"varint,8,opt,name=pkgIndex" json:"pkgIndex,omitempty"`
DivSeq *int32 `protobuf:"varint,9,opt,name=divSeq" json:"divSeq,omitempty"`
MsgType *int32 `protobuf:"varint,10,opt,name=msgType" json:"msgType,omitempty"`
RoutingHead *RoutingHead `protobuf:"bytes,20,opt,name=routingHead" json:"routingHead,omitempty"`
}
func (x *C2CMsgInfo) Reset() {
*x = C2CMsgInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *C2CMsgInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*C2CMsgInfo) ProtoMessage() {}
func (x *C2CMsgInfo) 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 C2CMsgInfo.ProtoReflect.Descriptor instead.
func (*C2CMsgInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{10}
}
func (x *C2CMsgInfo) GetFromUin() int64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *C2CMsgInfo) GetToUin() int64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *C2CMsgInfo) GetMsgSeq() int32 {
if x != nil && x.MsgSeq != nil {
return *x.MsgSeq
}
return 0
}
func (x *C2CMsgInfo) GetMsgUid() int64 {
if x != nil && x.MsgUid != nil {
return *x.MsgUid
}
return 0
}
func (x *C2CMsgInfo) GetMsgTime() int64 {
if x != nil && x.MsgTime != nil {
return *x.MsgTime
}
return 0
}
func (x *C2CMsgInfo) GetMsgRandom() int32 {
if x != nil && x.MsgRandom != nil {
return *x.MsgRandom
}
return 0
}
func (x *C2CMsgInfo) GetPkgNum() int32 {
if x != nil && x.PkgNum != nil {
return *x.PkgNum
}
return 0
}
func (x *C2CMsgInfo) GetPkgIndex() int32 {
if x != nil && x.PkgIndex != nil {
return *x.PkgIndex
}
return 0
}
func (x *C2CMsgInfo) GetDivSeq() int32 {
if x != nil && x.DivSeq != nil {
return *x.DivSeq
}
return 0
}
func (x *C2CMsgInfo) GetMsgType() int32 {
if x != nil && x.MsgType != nil {
return *x.MsgType
}
return 0
}
func (x *C2CMsgInfo) GetRoutingHead() *RoutingHead {
if x != nil {
return x.RoutingHead
}
return nil
}
type RoutingHead struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
C2C *C2C `protobuf:"bytes,1,opt,name=c2c" json:"c2c,omitempty"`
Grp *Grp `protobuf:"bytes,2,opt,name=grp" json:"grp,omitempty"`
GrpTmp *GrpTmp `protobuf:"bytes,3,opt,name=grpTmp" json:"grpTmp,omitempty"`
WpaTmp *WPATmp `protobuf:"bytes,6,opt,name=wpaTmp" json:"wpaTmp,omitempty"`
}
func (x *RoutingHead) Reset() {
*x = RoutingHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[11]
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[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 RoutingHead.ProtoReflect.Descriptor instead.
func (*RoutingHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{11}
}
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
}
func (x *RoutingHead) GetWpaTmp() *WPATmp {
if x != nil {
return x.WpaTmp
}
return nil
}
type WPATmp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ToUin *uint64 `protobuf:"varint,1,opt,name=toUin" json:"toUin,omitempty"`
Sig []byte `protobuf:"bytes,2,opt,name=sig" json:"sig,omitempty"`
}
func (x *WPATmp) Reset() {
*x = WPATmp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WPATmp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WPATmp) ProtoMessage() {}
func (x *WPATmp) 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 WPATmp.ProtoReflect.Descriptor instead.
func (*WPATmp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{12}
}
func (x *WPATmp) GetToUin() uint64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *WPATmp) GetSig() []byte {
if x != nil {
return x.Sig
}
return nil
}
type C2C struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ToUin *int64 `protobuf:"varint,1,opt,name=toUin" json:"toUin,omitempty"`
}
func (x *C2C) Reset() {
*x = C2C{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[13]
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[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 C2C.ProtoReflect.Descriptor instead.
func (*C2C) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{13}
}
func (x *C2C) GetToUin() int64 {
if x != nil && x.ToUin != 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" json:"groupCode,omitempty"`
}
func (x *Grp) Reset() {
*x = Grp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[14]
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[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 Grp.ProtoReflect.Descriptor instead.
func (*Grp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{14}
}
func (x *Grp) GetGroupCode() int64 {
if x != nil && x.GroupCode != 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" json:"groupUin,omitempty"`
ToUin *int64 `protobuf:"varint,2,opt,name=toUin" json:"toUin,omitempty"`
}
func (x *GrpTmp) Reset() {
*x = GrpTmp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[15]
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[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 GrpTmp.ProtoReflect.Descriptor instead.
func (*GrpTmp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{15}
}
func (x *GrpTmp) GetGroupUin() int64 {
if x != nil && x.GroupUin != nil {
return *x.GroupUin
}
return 0
}
func (x *GrpTmp) GetToUin() int64 {
if x != nil && x.ToUin != 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" json:"msgFlag,omitempty"`
}
func (x *MsgCtrl) Reset() {
*x = MsgCtrl{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[16]
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[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 MsgCtrl.ProtoReflect.Descriptor instead.
func (*MsgCtrl) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{16}
}
func (x *MsgCtrl) GetMsgFlag() int32 {
if x != nil && x.MsgFlag != 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" json:"result,omitempty"`
ErrorMessage *string `protobuf:"bytes,2,opt,name=errorMessage" json:"errorMessage,omitempty"`
SyncCookie []byte `protobuf:"bytes,3,opt,name=syncCookie" json:"syncCookie,omitempty"`
SyncFlag *SyncFlag `protobuf:"varint,4,opt,name=syncFlag,enum=SyncFlag" json:"syncFlag,omitempty"`
UinPairMsgs []*UinPairMessage `protobuf:"bytes,5,rep,name=uinPairMsgs" json:"uinPairMsgs,omitempty"`
BindUin *int64 `protobuf:"varint,6,opt,name=bindUin" json:"bindUin,omitempty"`
MsgRspType *int32 `protobuf:"varint,7,opt,name=msgRspType" json:"msgRspType,omitempty"`
PubAccountCookie []byte `protobuf:"bytes,8,opt,name=pubAccountCookie" json:"pubAccountCookie,omitempty"`
IsPartialSync *bool `protobuf:"varint,9,opt,name=isPartialSync" json:"isPartialSync,omitempty"`
MsgCtrlBuf []byte `protobuf:"bytes,10,opt,name=msgCtrlBuf" json:"msgCtrlBuf,omitempty"`
}
func (x *GetMessageResponse) Reset() {
*x = GetMessageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[17]
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[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 GetMessageResponse.ProtoReflect.Descriptor instead.
func (*GetMessageResponse) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{17}
}
func (x *GetMessageResponse) GetResult() int32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *GetMessageResponse) GetErrorMessage() string {
if x != nil && x.ErrorMessage != 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 && x.SyncFlag != 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 && x.BindUin != nil {
return *x.BindUin
}
return 0
}
func (x *GetMessageResponse) GetMsgRspType() int32 {
if x != nil && x.MsgRspType != 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 && x.IsPartialSync != 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" json:"message,omitempty"`
Svrip *int32 `protobuf:"varint,2,opt,name=svrip" json:"svrip,omitempty"`
PushToken []byte `protobuf:"bytes,3,opt,name=pushToken" json:"pushToken,omitempty"`
PingFLag *int32 `protobuf:"varint,4,opt,name=pingFLag" json:"pingFLag,omitempty"`
GeneralFlag *int32 `protobuf:"varint,9,opt,name=generalFlag" json:"generalFlag,omitempty"`
}
func (x *PushMessagePacket) Reset() {
*x = PushMessagePacket{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[18]
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[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 PushMessagePacket.ProtoReflect.Descriptor instead.
func (*PushMessagePacket) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{18}
}
func (x *PushMessagePacket) GetMessage() *Message {
if x != nil {
return x.Message
}
return nil
}
func (x *PushMessagePacket) GetSvrip() int32 {
if x != nil && x.Svrip != 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 && x.PingFLag != nil {
return *x.PingFLag
}
return 0
}
func (x *PushMessagePacket) GetGeneralFlag() int32 {
if x != nil && x.GeneralFlag != 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" json:"lastReadTime,omitempty"`
PeerUin *int64 `protobuf:"varint,2,opt,name=peerUin" json:"peerUin,omitempty"`
MsgCompleted *int32 `protobuf:"varint,3,opt,name=msgCompleted" json:"msgCompleted,omitempty"`
Messages []*Message `protobuf:"bytes,4,rep,name=messages" json:"messages,omitempty"`
}
func (x *UinPairMessage) Reset() {
*x = UinPairMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[19]
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[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 UinPairMessage.ProtoReflect.Descriptor instead.
func (*UinPairMessage) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{19}
}
func (x *UinPairMessage) GetLastReadTime() int32 {
if x != nil && x.LastReadTime != nil {
return *x.LastReadTime
}
return 0
}
func (x *UinPairMessage) GetPeerUin() int64 {
if x != nil && x.PeerUin != nil {
return *x.PeerUin
}
return 0
}
func (x *UinPairMessage) GetMsgCompleted() int32 {
if x != nil && x.MsgCompleted != 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" json:"head,omitempty"`
Content *ContentHead `protobuf:"bytes,2,opt,name=content" json:"content,omitempty"`
Body *MessageBody `protobuf:"bytes,3,opt,name=body" json:"body,omitempty"`
}
func (x *Message) Reset() {
*x = Message{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[20]
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[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 Message.ProtoReflect.Descriptor instead.
func (*Message) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{20}
}
func (x *Message) GetHead() *MessageHead {
if x != nil {
return x.Head
}
return nil
}
func (x *Message) GetContent() *ContentHead {
if x != nil {
return x.Content
}
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" json:"richText,omitempty"`
MsgContent []byte `protobuf:"bytes,2,opt,name=msgContent" json:"msgContent,omitempty"`
MsgEncryptContent []byte `protobuf:"bytes,3,opt,name=msgEncryptContent" json:"msgEncryptContent,omitempty"`
}
func (x *MessageBody) Reset() {
*x = MessageBody{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[21]
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[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 MessageBody.ProtoReflect.Descriptor instead.
func (*MessageBody) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{21}
}
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" json:"attr,omitempty"`
Elems []*Elem `protobuf:"bytes,2,rep,name=elems" json:"elems,omitempty"`
NotOnlineFile *NotOnlineFile `protobuf:"bytes,3,opt,name=notOnlineFile" json:"notOnlineFile,omitempty"`
Ptt *Ptt `protobuf:"bytes,4,opt,name=ptt" json:"ptt,omitempty"`
}
func (x *RichText) Reset() {
*x = RichText{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[22]
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[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 RichText.ProtoReflect.Descriptor instead.
func (*RichText) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{22}
}
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" json:"text,omitempty"`
Face *Face `protobuf:"bytes,2,opt,name=face" json:"face,omitempty"`
OnlineImage *OnlineImage `protobuf:"bytes,3,opt,name=onlineImage" json:"onlineImage,omitempty"`
NotOnlineImage *NotOnlineImage `protobuf:"bytes,4,opt,name=notOnlineImage" json:"notOnlineImage,omitempty"`
TransElemInfo *TransElem `protobuf:"bytes,5,opt,name=transElemInfo" json:"transElemInfo,omitempty"`
//MarketFace marketFace = 6;
//ElemFlags elemFlags = 7;
CustomFace *CustomFace `protobuf:"bytes,8,opt,name=customFace" json:"customFace,omitempty"`
//ElemFlags2 elemFlags2 = 9;
//FunFace funFace = 10;
//SecretFileMsg secretFile = 11;
RichMsg *RichMsg `protobuf:"bytes,12,opt,name=richMsg" json:"richMsg,omitempty"`
GroupFile *GroupFile `protobuf:"bytes,13,opt,name=groupFile" json:"groupFile,omitempty"`
//PubGroup pubGroup = 14;
//MarketTrans marketTrans = 15;
ExtraInfo *ExtraInfo `protobuf:"bytes,16,opt,name=extraInfo" json:"extraInfo,omitempty"`
//ShakeWindow? shakeWindow = 17;
//PubAccount? pubAccount = 18;
VideoFile *VideoFile `protobuf:"bytes,19,opt,name=videoFile" json:"videoFile,omitempty"`
//TipsInfo? tipsInfo = 20;
AnonGroupMsg *AnonymousGroupMessage `protobuf:"bytes,21,opt,name=anonGroupMsg" json:"anonGroupMsg,omitempty"`
//QQLiveOld? qqLiveOld = 22;
//LifeOnlineAccount? lifeOnline = 23;
QQWalletMsg *QQWalletMsg `protobuf:"bytes,24,opt,name=QQWalletMsg" json:"QQWalletMsg,omitempty"`
//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" json:"customElem,omitempty"`
//LocationInfo? locationInfo = 32;
//PubAccInfo? pubAccInfo = 33;
//SmallEmoji? smallEmoji = 34;
//FSJMessageElem? fsjMsgElem = 35;
//ArkAppElem? arkApp = 36;
GeneralFlags *GeneralFlags `protobuf:"bytes,37,opt,name=generalFlags" json:"generalFlags,omitempty"`
//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" json:"srcMsg,omitempty"`
//LolaMsg? lolaMsg = 46;
//GroupBusinessMsg? groupBusinessMsg = 47;
//WorkflowNotifyMsg? msgWorkflowNotify = 48;
//PatsElem? patElem = 49;
//GroupPostElem? groupPostElem = 50;
LightApp *LightAppElem `protobuf:"bytes,51,opt,name=lightApp" json:"lightApp,omitempty"`
//EIMInfo? eimInfo = 52;
CommonElem *CommonElem `protobuf:"bytes,53,opt,name=commonElem" json:"commonElem,omitempty"`
}
func (x *Elem) Reset() {
*x = Elem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[23]
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[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 Elem.ProtoReflect.Descriptor instead.
func (*Elem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{23}
}
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) GetTransElemInfo() *TransElem {
if x != nil {
return x.TransElemInfo
}
return nil
}
func (x *Elem) GetCustomFace() *CustomFace {
if x != nil {
return x.CustomFace
}
return nil
}
func (x *Elem) GetRichMsg() *RichMsg {
if x != nil {
return x.RichMsg
}
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) GetQQWalletMsg() *QQWalletMsg {
if x != nil {
return x.QQWalletMsg
}
return nil
}
func (x *Elem) GetCustomElem() *CustomElem {
if x != nil {
return x.CustomElem
}
return nil
}
func (x *Elem) GetGeneralFlags() *GeneralFlags {
if x != nil {
return x.GeneralFlags
}
return nil
}
func (x *Elem) GetSrcMsg() *SourceMsg {
if x != nil {
return x.SrcMsg
}
return nil
}
func (x *Elem) GetLightApp() *LightAppElem {
if x != nil {
return x.LightApp
}
return nil
}
func (x *Elem) GetCommonElem() *CommonElem {
if x != nil {
return x.CommonElem
}
return nil
}
type CommonElem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServiceType *int32 `protobuf:"varint,1,opt,name=serviceType" json:"serviceType,omitempty"`
PbElem []byte `protobuf:"bytes,2,opt,name=pbElem" json:"pbElem,omitempty"`
BusinessType *int32 `protobuf:"varint,3,opt,name=businessType" json:"businessType,omitempty"`
}
func (x *CommonElem) Reset() {
*x = CommonElem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommonElem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommonElem) ProtoMessage() {}
func (x *CommonElem) 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 CommonElem.ProtoReflect.Descriptor instead.
func (*CommonElem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{24}
}
func (x *CommonElem) GetServiceType() int32 {
if x != nil && x.ServiceType != nil {
return *x.ServiceType
}
return 0
}
func (x *CommonElem) GetPbElem() []byte {
if x != nil {
return x.PbElem
}
return nil
}
func (x *CommonElem) GetBusinessType() int32 {
if x != nil && x.BusinessType != nil {
return *x.BusinessType
}
return 0
}
type QQWalletMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AioBody *QQWalletAioBody `protobuf:"bytes,1,opt,name=aioBody" json:"aioBody,omitempty"`
}
func (x *QQWalletMsg) Reset() {
*x = QQWalletMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QQWalletMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QQWalletMsg) ProtoMessage() {}
func (x *QQWalletMsg) 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 QQWalletMsg.ProtoReflect.Descriptor instead.
func (*QQWalletMsg) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{25}
}
func (x *QQWalletMsg) GetAioBody() *QQWalletAioBody {
if x != nil {
return x.AioBody
}
return nil
}
type QQWalletAioBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SendUin *uint64 `protobuf:"varint,1,opt,name=sendUin" json:"sendUin,omitempty"`
Sender *QQWalletAioElem `protobuf:"bytes,2,opt,name=sender" json:"sender,omitempty"`
Receiver *QQWalletAioElem `protobuf:"bytes,3,opt,name=receiver" json:"receiver,omitempty"`
ChannelId *int32 `protobuf:"zigzag32,4,opt,name=ChannelId" json:"ChannelId,omitempty"`
TemplateId *int32 `protobuf:"zigzag32,5,opt,name=templateId" json:"templateId,omitempty"`
Resend *uint32 `protobuf:"varint,6,opt,name=resend" json:"resend,omitempty"`
MsgPriority *uint32 `protobuf:"varint,7,opt,name=msgPriority" json:"msgPriority,omitempty"`
RedType *int32 `protobuf:"zigzag32,8,opt,name=redType" json:"redType,omitempty"`
BillNo []byte `protobuf:"bytes,9,opt,name=billNo" json:"billNo,omitempty"`
AuthKey []byte `protobuf:"bytes,10,opt,name=authKey" json:"authKey,omitempty"`
SessionType *int32 `protobuf:"zigzag32,11,opt,name=sessionType" json:"sessionType,omitempty"`
MsgType *int32 `protobuf:"zigzag32,12,opt,name=msgType" json:"msgType,omitempty"`
EnvelOpeId *int32 `protobuf:"zigzag32,13,opt,name=envelOpeId" json:"envelOpeId,omitempty"`
Name []byte `protobuf:"bytes,14,opt,name=name" json:"name,omitempty"`
ConfType *int32 `protobuf:"zigzag32,15,opt,name=confType" json:"confType,omitempty"`
MsgFrom *int32 `protobuf:"zigzag32,16,opt,name=msgFrom" json:"msgFrom,omitempty"`
PcBody []byte `protobuf:"bytes,17,opt,name=pcBody" json:"pcBody,omitempty"`
Index []byte `protobuf:"bytes,18,opt,name=index" json:"index,omitempty"`
RedChannel *uint32 `protobuf:"varint,19,opt,name=redChannel" json:"redChannel,omitempty"`
GrapUin []uint64 `protobuf:"varint,20,rep,name=grapUin" json:"grapUin,omitempty"`
PbReserve []byte `protobuf:"bytes,21,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *QQWalletAioBody) Reset() {
*x = QQWalletAioBody{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QQWalletAioBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QQWalletAioBody) ProtoMessage() {}
func (x *QQWalletAioBody) 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 QQWalletAioBody.ProtoReflect.Descriptor instead.
func (*QQWalletAioBody) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{26}
}
func (x *QQWalletAioBody) GetSendUin() uint64 {
if x != nil && x.SendUin != nil {
return *x.SendUin
}
return 0
}
func (x *QQWalletAioBody) GetSender() *QQWalletAioElem {
if x != nil {
return x.Sender
}
return nil
}
func (x *QQWalletAioBody) GetReceiver() *QQWalletAioElem {
if x != nil {
return x.Receiver
}
return nil
}
func (x *QQWalletAioBody) GetChannelId() int32 {
if x != nil && x.ChannelId != nil {
return *x.ChannelId
}
return 0
}
func (x *QQWalletAioBody) GetTemplateId() int32 {
if x != nil && x.TemplateId != nil {
return *x.TemplateId
}
return 0
}
func (x *QQWalletAioBody) GetResend() uint32 {
if x != nil && x.Resend != nil {
return *x.Resend
}
return 0
}
func (x *QQWalletAioBody) GetMsgPriority() uint32 {
if x != nil && x.MsgPriority != nil {
return *x.MsgPriority
}
return 0
}
func (x *QQWalletAioBody) GetRedType() int32 {
if x != nil && x.RedType != nil {
return *x.RedType
}
return 0
}
func (x *QQWalletAioBody) GetBillNo() []byte {
if x != nil {
return x.BillNo
}
return nil
}
func (x *QQWalletAioBody) GetAuthKey() []byte {
if x != nil {
return x.AuthKey
}
return nil
}
func (x *QQWalletAioBody) GetSessionType() int32 {
if x != nil && x.SessionType != nil {
return *x.SessionType
}
return 0
}
func (x *QQWalletAioBody) GetMsgType() int32 {
if x != nil && x.MsgType != nil {
return *x.MsgType
}
return 0
}
func (x *QQWalletAioBody) GetEnvelOpeId() int32 {
if x != nil && x.EnvelOpeId != nil {
return *x.EnvelOpeId
}
return 0
}
func (x *QQWalletAioBody) GetName() []byte {
if x != nil {
return x.Name
}
return nil
}
func (x *QQWalletAioBody) GetConfType() int32 {
if x != nil && x.ConfType != nil {
return *x.ConfType
}
return 0
}
func (x *QQWalletAioBody) GetMsgFrom() int32 {
if x != nil && x.MsgFrom != nil {
return *x.MsgFrom
}
return 0
}
func (x *QQWalletAioBody) GetPcBody() []byte {
if x != nil {
return x.PcBody
}
return nil
}
func (x *QQWalletAioBody) GetIndex() []byte {
if x != nil {
return x.Index
}
return nil
}
func (x *QQWalletAioBody) GetRedChannel() uint32 {
if x != nil && x.RedChannel != nil {
return *x.RedChannel
}
return 0
}
func (x *QQWalletAioBody) GetGrapUin() []uint64 {
if x != nil {
return x.GrapUin
}
return nil
}
func (x *QQWalletAioBody) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type QQWalletAioElem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Background *uint32 `protobuf:"varint,1,opt,name=background" json:"background,omitempty"`
Icon *uint32 `protobuf:"varint,2,opt,name=icon" json:"icon,omitempty"`
Title *string `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"`
Subtitle *string `protobuf:"bytes,4,opt,name=subtitle" json:"subtitle,omitempty"`
Content *string `protobuf:"bytes,5,opt,name=content" json:"content,omitempty"`
LinkUrl []byte `protobuf:"bytes,6,opt,name=linkUrl" json:"linkUrl,omitempty"`
BlackStripe []byte `protobuf:"bytes,7,opt,name=blackStripe" json:"blackStripe,omitempty"`
Notice []byte `protobuf:"bytes,8,opt,name=notice" json:"notice,omitempty"`
TitleColor *uint32 `protobuf:"varint,9,opt,name=titleColor" json:"titleColor,omitempty"`
SubtitleColor *uint32 `protobuf:"varint,10,opt,name=subtitleColor" json:"subtitleColor,omitempty"`
ActionsPriority []byte `protobuf:"bytes,11,opt,name=actionsPriority" json:"actionsPriority,omitempty"`
JumpUrl []byte `protobuf:"bytes,12,opt,name=jumpUrl" json:"jumpUrl,omitempty"`
NativeIos []byte `protobuf:"bytes,13,opt,name=nativeIos" json:"nativeIos,omitempty"`
NativeAndroid []byte `protobuf:"bytes,14,opt,name=nativeAndroid" json:"nativeAndroid,omitempty"`
IconUrl []byte `protobuf:"bytes,15,opt,name=iconUrl" json:"iconUrl,omitempty"`
ContentColor *uint32 `protobuf:"varint,16,opt,name=contentColor" json:"contentColor,omitempty"`
ContentBgColor *uint32 `protobuf:"varint,17,opt,name=contentBgColor" json:"contentBgColor,omitempty"`
AioImageLeft []byte `protobuf:"bytes,18,opt,name=aioImageLeft" json:"aioImageLeft,omitempty"`
AioImageRight []byte `protobuf:"bytes,19,opt,name=aioImageRight" json:"aioImageRight,omitempty"`
CftImage []byte `protobuf:"bytes,20,opt,name=cftImage" json:"cftImage,omitempty"`
PbReserve []byte `protobuf:"bytes,21,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *QQWalletAioElem) Reset() {
*x = QQWalletAioElem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QQWalletAioElem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QQWalletAioElem) ProtoMessage() {}
func (x *QQWalletAioElem) 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 QQWalletAioElem.ProtoReflect.Descriptor instead.
func (*QQWalletAioElem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{27}
}
func (x *QQWalletAioElem) GetBackground() uint32 {
if x != nil && x.Background != nil {
return *x.Background
}
return 0
}
func (x *QQWalletAioElem) GetIcon() uint32 {
if x != nil && x.Icon != nil {
return *x.Icon
}
return 0
}
func (x *QQWalletAioElem) GetTitle() string {
if x != nil && x.Title != nil {
return *x.Title
}
return ""
}
func (x *QQWalletAioElem) GetSubtitle() string {
if x != nil && x.Subtitle != nil {
return *x.Subtitle
}
return ""
}
func (x *QQWalletAioElem) GetContent() string {
if x != nil && x.Content != nil {
return *x.Content
}
return ""
}
func (x *QQWalletAioElem) GetLinkUrl() []byte {
if x != nil {
return x.LinkUrl
}
return nil
}
func (x *QQWalletAioElem) GetBlackStripe() []byte {
if x != nil {
return x.BlackStripe
}
return nil
}
func (x *QQWalletAioElem) GetNotice() []byte {
if x != nil {
return x.Notice
}
return nil
}
func (x *QQWalletAioElem) GetTitleColor() uint32 {
if x != nil && x.TitleColor != nil {
return *x.TitleColor
}
return 0
}
func (x *QQWalletAioElem) GetSubtitleColor() uint32 {
if x != nil && x.SubtitleColor != nil {
return *x.SubtitleColor
}
return 0
}
func (x *QQWalletAioElem) GetActionsPriority() []byte {
if x != nil {
return x.ActionsPriority
}
return nil
}
func (x *QQWalletAioElem) GetJumpUrl() []byte {
if x != nil {
return x.JumpUrl
}
return nil
}
func (x *QQWalletAioElem) GetNativeIos() []byte {
if x != nil {
return x.NativeIos
}
return nil
}
func (x *QQWalletAioElem) GetNativeAndroid() []byte {
if x != nil {
return x.NativeAndroid
}
return nil
}
func (x *QQWalletAioElem) GetIconUrl() []byte {
if x != nil {
return x.IconUrl
}
return nil
}
func (x *QQWalletAioElem) GetContentColor() uint32 {
if x != nil && x.ContentColor != nil {
return *x.ContentColor
}
return 0
}
func (x *QQWalletAioElem) GetContentBgColor() uint32 {
if x != nil && x.ContentBgColor != nil {
return *x.ContentBgColor
}
return 0
}
func (x *QQWalletAioElem) GetAioImageLeft() []byte {
if x != nil {
return x.AioImageLeft
}
return nil
}
func (x *QQWalletAioElem) GetAioImageRight() []byte {
if x != nil {
return x.AioImageRight
}
return nil
}
func (x *QQWalletAioElem) GetCftImage() []byte {
if x != nil {
return x.CftImage
}
return nil
}
func (x *QQWalletAioElem) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type RichMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Template1 []byte `protobuf:"bytes,1,opt,name=template1" json:"template1,omitempty"`
ServiceId *int32 `protobuf:"varint,2,opt,name=serviceId" json:"serviceId,omitempty"`
MsgResId []byte `protobuf:"bytes,3,opt,name=msgResId" json:"msgResId,omitempty"`
Rand *int32 `protobuf:"varint,4,opt,name=rand" json:"rand,omitempty"`
Seq *int32 `protobuf:"varint,5,opt,name=seq" json:"seq,omitempty"`
}
func (x *RichMsg) Reset() {
*x = RichMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RichMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RichMsg) ProtoMessage() {}
func (x *RichMsg) 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 RichMsg.ProtoReflect.Descriptor instead.
func (*RichMsg) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{28}
}
func (x *RichMsg) GetTemplate1() []byte {
if x != nil {
return x.Template1
}
return nil
}
func (x *RichMsg) GetServiceId() int32 {
if x != nil && x.ServiceId != nil {
return *x.ServiceId
}
return 0
}
func (x *RichMsg) GetMsgResId() []byte {
if x != nil {
return x.MsgResId
}
return nil
}
func (x *RichMsg) GetRand() int32 {
if x != nil && x.Rand != nil {
return *x.Rand
}
return 0
}
func (x *RichMsg) GetSeq() int32 {
if x != nil && x.Seq != nil {
return *x.Seq
}
return 0
}
type CustomElem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Desc []byte `protobuf:"bytes,1,opt,name=desc" json:"desc,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"`
EnumType *int32 `protobuf:"varint,3,opt,name=enumType" json:"enumType,omitempty"`
Ext []byte `protobuf:"bytes,4,opt,name=ext" json:"ext,omitempty"`
Sound []byte `protobuf:"bytes,5,opt,name=sound" json:"sound,omitempty"`
}
func (x *CustomElem) Reset() {
*x = CustomElem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[29]
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[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 CustomElem.ProtoReflect.Descriptor instead.
func (*CustomElem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{29}
}
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 && x.EnumType != 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" json:"str,omitempty"`
Link *string `protobuf:"bytes,2,opt,name=link" json:"link,omitempty"`
Attr6Buf []byte `protobuf:"bytes,3,opt,name=attr6Buf" json:"attr6Buf,omitempty"`
Attr7Buf []byte `protobuf:"bytes,4,opt,name=attr7Buf" json:"attr7Buf,omitempty"`
Buf []byte `protobuf:"bytes,11,opt,name=buf" json:"buf,omitempty"`
PbReserve []byte `protobuf:"bytes,12,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *Text) Reset() {
*x = Text{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[30]
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[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 Text.ProtoReflect.Descriptor instead.
func (*Text) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{30}
}
func (x *Text) GetStr() string {
if x != nil && x.Str != nil {
return *x.Str
}
return ""
}
func (x *Text) GetLink() string {
if x != nil && x.Link != 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" json:"codePage,omitempty"`
Time *int32 `protobuf:"varint,2,opt,name=time" json:"time,omitempty"`
Random *int32 `protobuf:"varint,3,opt,name=random" json:"random,omitempty"`
Color *int32 `protobuf:"varint,4,opt,name=color" json:"color,omitempty"`
Size *int32 `protobuf:"varint,5,opt,name=size" json:"size,omitempty"`
Effect *int32 `protobuf:"varint,6,opt,name=effect" json:"effect,omitempty"`
CharSet *int32 `protobuf:"varint,7,opt,name=charSet" json:"charSet,omitempty"`
PitchAndFamily *int32 `protobuf:"varint,8,opt,name=pitchAndFamily" json:"pitchAndFamily,omitempty"`
FontName *string `protobuf:"bytes,9,opt,name=fontName" json:"fontName,omitempty"`
ReserveData []byte `protobuf:"bytes,10,opt,name=reserveData" json:"reserveData,omitempty"`
}
func (x *Attr) Reset() {
*x = Attr{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[31]
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[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 Attr.ProtoReflect.Descriptor instead.
func (*Attr) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{31}
}
func (x *Attr) GetCodePage() int32 {
if x != nil && x.CodePage != nil {
return *x.CodePage
}
return 0
}
func (x *Attr) GetTime() int32 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *Attr) GetRandom() int32 {
if x != nil && x.Random != nil {
return *x.Random
}
return 0
}
func (x *Attr) GetColor() int32 {
if x != nil && x.Color != nil {
return *x.Color
}
return 0
}
func (x *Attr) GetSize() int32 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
func (x *Attr) GetEffect() int32 {
if x != nil && x.Effect != nil {
return *x.Effect
}
return 0
}
func (x *Attr) GetCharSet() int32 {
if x != nil && x.CharSet != nil {
return *x.CharSet
}
return 0
}
func (x *Attr) GetPitchAndFamily() int32 {
if x != nil && x.PitchAndFamily != nil {
return *x.PitchAndFamily
}
return 0
}
func (x *Attr) GetFontName() string {
if x != nil && x.FontName != 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" json:"fileType,omitempty"`
SrcUin *int64 `protobuf:"varint,2,opt,name=srcUin" json:"srcUin,omitempty"`
FileUuid []byte `protobuf:"bytes,3,opt,name=fileUuid" json:"fileUuid,omitempty"`
FileMd5 []byte `protobuf:"bytes,4,opt,name=fileMd5" json:"fileMd5,omitempty"`
FileName *string `protobuf:"bytes,5,opt,name=fileName" json:"fileName,omitempty"`
FileSize *int32 `protobuf:"varint,6,opt,name=fileSize" json:"fileSize,omitempty"`
Reserve []byte `protobuf:"bytes,7,opt,name=reserve" json:"reserve,omitempty"`
FileId *int32 `protobuf:"varint,8,opt,name=fileId" json:"fileId,omitempty"`
ServerIp *int32 `protobuf:"varint,9,opt,name=serverIp" json:"serverIp,omitempty"`
ServerPort *int32 `protobuf:"varint,10,opt,name=serverPort" json:"serverPort,omitempty"`
BoolValid *bool `protobuf:"varint,11,opt,name=boolValid" json:"boolValid,omitempty"`
Signature []byte `protobuf:"bytes,12,opt,name=signature" json:"signature,omitempty"`
Shortcut []byte `protobuf:"bytes,13,opt,name=shortcut" json:"shortcut,omitempty"`
FileKey []byte `protobuf:"bytes,14,opt,name=fileKey" json:"fileKey,omitempty"`
MagicPttIndex *int32 `protobuf:"varint,15,opt,name=magicPttIndex" json:"magicPttIndex,omitempty"`
VoiceSwitch *int32 `protobuf:"varint,16,opt,name=voiceSwitch" json:"voiceSwitch,omitempty"`
PttUrl []byte `protobuf:"bytes,17,opt,name=pttUrl" json:"pttUrl,omitempty"`
GroupFileKey []byte `protobuf:"bytes,18,opt,name=groupFileKey" json:"groupFileKey,omitempty"`
Time *int32 `protobuf:"varint,19,opt,name=time" json:"time,omitempty"`
DownPara []byte `protobuf:"bytes,20,opt,name=downPara" json:"downPara,omitempty"`
Format *int32 `protobuf:"varint,29,opt,name=format" json:"format,omitempty"`
PbReserve []byte `protobuf:"bytes,30,opt,name=pbReserve" json:"pbReserve,omitempty"`
BytesPttUrls [][]byte `protobuf:"bytes,31,rep,name=bytesPttUrls" json:"bytesPttUrls,omitempty"`
DownloadFlag *int32 `protobuf:"varint,32,opt,name=downloadFlag" json:"downloadFlag,omitempty"`
}
func (x *Ptt) Reset() {
*x = Ptt{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[32]
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[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 Ptt.ProtoReflect.Descriptor instead.
func (*Ptt) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{32}
}
func (x *Ptt) GetFileType() int32 {
if x != nil && x.FileType != nil {
return *x.FileType
}
return 0
}
func (x *Ptt) GetSrcUin() int64 {
if x != nil && x.SrcUin != 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() string {
if x != nil && x.FileName != nil {
return *x.FileName
}
return ""
}
func (x *Ptt) GetFileSize() int32 {
if x != nil && x.FileSize != 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 && x.FileId != nil {
return *x.FileId
}
return 0
}
func (x *Ptt) GetServerIp() int32 {
if x != nil && x.ServerIp != nil {
return *x.ServerIp
}
return 0
}
func (x *Ptt) GetServerPort() int32 {
if x != nil && x.ServerPort != nil {
return *x.ServerPort
}
return 0
}
func (x *Ptt) GetBoolValid() bool {
if x != nil && x.BoolValid != 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 && x.MagicPttIndex != nil {
return *x.MagicPttIndex
}
return 0
}
func (x *Ptt) GetVoiceSwitch() int32 {
if x != nil && x.VoiceSwitch != 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 && x.Time != 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 && x.Format != 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 && x.DownloadFlag != 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" json:"guid,omitempty"`
FilePath []byte `protobuf:"bytes,2,opt,name=filePath" json:"filePath,omitempty"`
OldVerSendFile []byte `protobuf:"bytes,3,opt,name=oldVerSendFile" json:"oldVerSendFile,omitempty"`
}
func (x *OnlineImage) Reset() {
*x = OnlineImage{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[33]
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[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 OnlineImage.ProtoReflect.Descriptor instead.
func (*OnlineImage) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{33}
}
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" json:"filePath,omitempty"`
FileLen *int32 `protobuf:"varint,2,opt,name=fileLen" json:"fileLen,omitempty"`
DownloadPath *string `protobuf:"bytes,3,opt,name=downloadPath" json:"downloadPath,omitempty"`
OldVerSendFile []byte `protobuf:"bytes,4,opt,name=oldVerSendFile" json:"oldVerSendFile,omitempty"`
ImgType *int32 `protobuf:"varint,5,opt,name=imgType" json:"imgType,omitempty"`
PreviewsImage []byte `protobuf:"bytes,6,opt,name=previewsImage" json:"previewsImage,omitempty"`
PicMd5 []byte `protobuf:"bytes,7,opt,name=picMd5" json:"picMd5,omitempty"`
PicHeight *int32 `protobuf:"varint,8,opt,name=picHeight" json:"picHeight,omitempty"`
PicWidth *int32 `protobuf:"varint,9,opt,name=picWidth" json:"picWidth,omitempty"`
ResId *string `protobuf:"bytes,10,opt,name=resId" json:"resId,omitempty"`
Flag []byte `protobuf:"bytes,11,opt,name=flag" json:"flag,omitempty"`
ThumbUrl *string `protobuf:"bytes,12,opt,name=thumbUrl" json:"thumbUrl,omitempty"`
Original *int32 `protobuf:"varint,13,opt,name=original" json:"original,omitempty"`
BigUrl *string `protobuf:"bytes,14,opt,name=bigUrl" json:"bigUrl,omitempty"`
OrigUrl *string `protobuf:"bytes,15,opt,name=origUrl" json:"origUrl,omitempty"`
BizType *int32 `protobuf:"varint,16,opt,name=bizType" json:"bizType,omitempty"`
Result *int32 `protobuf:"varint,17,opt,name=result" json:"result,omitempty"`
Index *int32 `protobuf:"varint,18,opt,name=index" json:"index,omitempty"`
OpFaceBuf []byte `protobuf:"bytes,19,opt,name=opFaceBuf" json:"opFaceBuf,omitempty"`
OldPicMd5 *bool `protobuf:"varint,20,opt,name=oldPicMd5" json:"oldPicMd5,omitempty"`
ThumbWidth *int32 `protobuf:"varint,21,opt,name=thumbWidth" json:"thumbWidth,omitempty"`
ThumbHeight *int32 `protobuf:"varint,22,opt,name=thumbHeight" json:"thumbHeight,omitempty"`
FileId *int32 `protobuf:"varint,23,opt,name=fileId" json:"fileId,omitempty"`
ShowLen *int32 `protobuf:"varint,24,opt,name=showLen" json:"showLen,omitempty"`
DownloadLen *int32 `protobuf:"varint,25,opt,name=downloadLen" json:"downloadLen,omitempty"`
PbReserve []byte `protobuf:"bytes,29,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *NotOnlineImage) Reset() {
*x = NotOnlineImage{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[34]
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[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 NotOnlineImage.ProtoReflect.Descriptor instead.
func (*NotOnlineImage) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{34}
}
func (x *NotOnlineImage) GetFilePath() string {
if x != nil && x.FilePath != nil {
return *x.FilePath
}
return ""
}
func (x *NotOnlineImage) GetFileLen() int32 {
if x != nil && x.FileLen != nil {
return *x.FileLen
}
return 0
}
func (x *NotOnlineImage) GetDownloadPath() string {
if x != nil && x.DownloadPath != 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 && x.ImgType != 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 && x.PicHeight != nil {
return *x.PicHeight
}
return 0
}
func (x *NotOnlineImage) GetPicWidth() int32 {
if x != nil && x.PicWidth != nil {
return *x.PicWidth
}
return 0
}
func (x *NotOnlineImage) GetResId() string {
if x != nil && x.ResId != 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 && x.ThumbUrl != nil {
return *x.ThumbUrl
}
return ""
}
func (x *NotOnlineImage) GetOriginal() int32 {
if x != nil && x.Original != nil {
return *x.Original
}
return 0
}
func (x *NotOnlineImage) GetBigUrl() string {
if x != nil && x.BigUrl != nil {
return *x.BigUrl
}
return ""
}
func (x *NotOnlineImage) GetOrigUrl() string {
if x != nil && x.OrigUrl != nil {
return *x.OrigUrl
}
return ""
}
func (x *NotOnlineImage) GetBizType() int32 {
if x != nil && x.BizType != nil {
return *x.BizType
}
return 0
}
func (x *NotOnlineImage) GetResult() int32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *NotOnlineImage) GetIndex() int32 {
if x != nil && x.Index != 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 && x.OldPicMd5 != nil {
return *x.OldPicMd5
}
return false
}
func (x *NotOnlineImage) GetThumbWidth() int32 {
if x != nil && x.ThumbWidth != nil {
return *x.ThumbWidth
}
return 0
}
func (x *NotOnlineImage) GetThumbHeight() int32 {
if x != nil && x.ThumbHeight != nil {
return *x.ThumbHeight
}
return 0
}
func (x *NotOnlineImage) GetFileId() int32 {
if x != nil && x.FileId != nil {
return *x.FileId
}
return 0
}
func (x *NotOnlineImage) GetShowLen() int32 {
if x != nil && x.ShowLen != nil {
return *x.ShowLen
}
return 0
}
func (x *NotOnlineImage) GetDownloadLen() int32 {
if x != nil && x.DownloadLen != 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" json:"fileType,omitempty"`
Sig []byte `protobuf:"bytes,2,opt,name=sig" json:"sig,omitempty"`
FileUuid []byte `protobuf:"bytes,3,opt,name=fileUuid" json:"fileUuid,omitempty"`
FileMd5 []byte `protobuf:"bytes,4,opt,name=fileMd5" json:"fileMd5,omitempty"`
FileName []byte `protobuf:"bytes,5,opt,name=fileName" json:"fileName,omitempty"`
FileSize *int64 `protobuf:"varint,6,opt,name=fileSize" json:"fileSize,omitempty"`
Note []byte `protobuf:"bytes,7,opt,name=note" json:"note,omitempty"`
Reserved *int32 `protobuf:"varint,8,opt,name=reserved" json:"reserved,omitempty"`
Subcmd *int32 `protobuf:"varint,9,opt,name=subcmd" json:"subcmd,omitempty"`
MicroCloud *int32 `protobuf:"varint,10,opt,name=microCloud" json:"microCloud,omitempty"`
BytesFileUrls [][]byte `protobuf:"bytes,11,rep,name=bytesFileUrls" json:"bytesFileUrls,omitempty"`
DownloadFlag *int32 `protobuf:"varint,12,opt,name=downloadFlag" json:"downloadFlag,omitempty"`
DangerEvel *int32 `protobuf:"varint,50,opt,name=dangerEvel" json:"dangerEvel,omitempty"`
LifeTime *int32 `protobuf:"varint,51,opt,name=lifeTime" json:"lifeTime,omitempty"`
UploadTime *int32 `protobuf:"varint,52,opt,name=uploadTime" json:"uploadTime,omitempty"`
AbsFileType *int32 `protobuf:"varint,53,opt,name=absFileType" json:"absFileType,omitempty"`
ClientType *int32 `protobuf:"varint,54,opt,name=clientType" json:"clientType,omitempty"`
ExpireTime *int32 `protobuf:"varint,55,opt,name=expireTime" json:"expireTime,omitempty"`
PbReserve []byte `protobuf:"bytes,56,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *NotOnlineFile) Reset() {
*x = NotOnlineFile{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[35]
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[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 NotOnlineFile.ProtoReflect.Descriptor instead.
func (*NotOnlineFile) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{35}
}
func (x *NotOnlineFile) GetFileType() int32 {
if x != nil && x.FileType != 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 && x.FileSize != 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 && x.Reserved != nil {
return *x.Reserved
}
return 0
}
func (x *NotOnlineFile) GetSubcmd() int32 {
if x != nil && x.Subcmd != nil {
return *x.Subcmd
}
return 0
}
func (x *NotOnlineFile) GetMicroCloud() int32 {
if x != nil && x.MicroCloud != 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 && x.DownloadFlag != nil {
return *x.DownloadFlag
}
return 0
}
func (x *NotOnlineFile) GetDangerEvel() int32 {
if x != nil && x.DangerEvel != nil {
return *x.DangerEvel
}
return 0
}
func (x *NotOnlineFile) GetLifeTime() int32 {
if x != nil && x.LifeTime != nil {
return *x.LifeTime
}
return 0
}
func (x *NotOnlineFile) GetUploadTime() int32 {
if x != nil && x.UploadTime != nil {
return *x.UploadTime
}
return 0
}
func (x *NotOnlineFile) GetAbsFileType() int32 {
if x != nil && x.AbsFileType != nil {
return *x.AbsFileType
}
return 0
}
func (x *NotOnlineFile) GetClientType() int32 {
if x != nil && x.ClientType != nil {
return *x.ClientType
}
return 0
}
func (x *NotOnlineFile) GetExpireTime() int32 {
if x != nil && x.ExpireTime != nil {
return *x.ExpireTime
}
return 0
}
func (x *NotOnlineFile) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type TransElem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ElemType *int32 `protobuf:"varint,1,opt,name=elemType" json:"elemType,omitempty"`
ElemValue []byte `protobuf:"bytes,2,opt,name=elemValue" json:"elemValue,omitempty"`
}
func (x *TransElem) Reset() {
*x = TransElem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransElem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransElem) ProtoMessage() {}
func (x *TransElem) 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 TransElem.ProtoReflect.Descriptor instead.
func (*TransElem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{36}
}
func (x *TransElem) GetElemType() int32 {
if x != nil && x.ElemType != nil {
return *x.ElemType
}
return 0
}
func (x *TransElem) GetElemValue() []byte {
if x != nil {
return x.ElemValue
}
return nil
}
type ExtraInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Nick []byte `protobuf:"bytes,1,opt,name=nick" json:"nick,omitempty"`
GroupCard []byte `protobuf:"bytes,2,opt,name=groupCard" json:"groupCard,omitempty"`
Level *int32 `protobuf:"varint,3,opt,name=level" json:"level,omitempty"`
Flags *int32 `protobuf:"varint,4,opt,name=flags" json:"flags,omitempty"`
GroupMask *int32 `protobuf:"varint,5,opt,name=groupMask" json:"groupMask,omitempty"`
MsgTailId *int32 `protobuf:"varint,6,opt,name=msgTailId" json:"msgTailId,omitempty"`
SenderTitle []byte `protobuf:"bytes,7,opt,name=senderTitle" json:"senderTitle,omitempty"`
ApnsTips []byte `protobuf:"bytes,8,opt,name=apnsTips" json:"apnsTips,omitempty"`
Uin *int64 `protobuf:"varint,9,opt,name=uin" json:"uin,omitempty"`
MsgStateFlag *int32 `protobuf:"varint,10,opt,name=msgStateFlag" json:"msgStateFlag,omitempty"`
ApnsSoundType *int32 `protobuf:"varint,11,opt,name=apnsSoundType" json:"apnsSoundType,omitempty"`
NewGroupFlag *int32 `protobuf:"varint,12,opt,name=newGroupFlag" json:"newGroupFlag,omitempty"`
}
func (x *ExtraInfo) Reset() {
*x = ExtraInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[37]
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[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 ExtraInfo.ProtoReflect.Descriptor instead.
func (*ExtraInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{37}
}
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 && x.Level != nil {
return *x.Level
}
return 0
}
func (x *ExtraInfo) GetFlags() int32 {
if x != nil && x.Flags != nil {
return *x.Flags
}
return 0
}
func (x *ExtraInfo) GetGroupMask() int32 {
if x != nil && x.GroupMask != nil {
return *x.GroupMask
}
return 0
}
func (x *ExtraInfo) GetMsgTailId() int32 {
if x != nil && x.MsgTailId != 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 && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *ExtraInfo) GetMsgStateFlag() int32 {
if x != nil && x.MsgStateFlag != nil {
return *x.MsgStateFlag
}
return 0
}
func (x *ExtraInfo) GetApnsSoundType() int32 {
if x != nil && x.ApnsSoundType != nil {
return *x.ApnsSoundType
}
return 0
}
func (x *ExtraInfo) GetNewGroupFlag() int32 {
if x != nil && x.NewGroupFlag != 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" json:"filename,omitempty"`
FileSize *int64 `protobuf:"varint,2,opt,name=fileSize" json:"fileSize,omitempty"`
FileId []byte `protobuf:"bytes,3,opt,name=fileId" json:"fileId,omitempty"`
BatchId []byte `protobuf:"bytes,4,opt,name=batchId" json:"batchId,omitempty"`
FileKey []byte `protobuf:"bytes,5,opt,name=fileKey" json:"fileKey,omitempty"`
Mark []byte `protobuf:"bytes,6,opt,name=mark" json:"mark,omitempty"`
Sequence *int64 `protobuf:"varint,7,opt,name=sequence" json:"sequence,omitempty"`
BatchItemId []byte `protobuf:"bytes,8,opt,name=batchItemId" json:"batchItemId,omitempty"`
FeedMsgTime *int32 `protobuf:"varint,9,opt,name=feedMsgTime" json:"feedMsgTime,omitempty"`
PbReserve []byte `protobuf:"bytes,10,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *GroupFile) Reset() {
*x = GroupFile{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[38]
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[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 GroupFile.ProtoReflect.Descriptor instead.
func (*GroupFile) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{38}
}
func (x *GroupFile) GetFilename() []byte {
if x != nil {
return x.Filename
}
return nil
}
func (x *GroupFile) GetFileSize() int64 {
if x != nil && x.FileSize != 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 && x.Sequence != 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 && x.FeedMsgTime != 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" json:"flags,omitempty"`
AnonId []byte `protobuf:"bytes,2,opt,name=anonId" json:"anonId,omitempty"`
AnonNick []byte `protobuf:"bytes,3,opt,name=anonNick" json:"anonNick,omitempty"`
HeadPortrait *int32 `protobuf:"varint,4,opt,name=headPortrait" json:"headPortrait,omitempty"`
ExpireTime *int32 `protobuf:"varint,5,opt,name=expireTime" json:"expireTime,omitempty"`
BubbleId *int32 `protobuf:"varint,6,opt,name=bubbleId" json:"bubbleId,omitempty"`
RankColor []byte `protobuf:"bytes,7,opt,name=rankColor" json:"rankColor,omitempty"`
}
func (x *AnonymousGroupMessage) Reset() {
*x = AnonymousGroupMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[39]
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[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnonymousGroupMessage.ProtoReflect.Descriptor instead.
func (*AnonymousGroupMessage) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{39}
}
func (x *AnonymousGroupMessage) GetFlags() int32 {
if x != nil && x.Flags != 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 && x.HeadPortrait != nil {
return *x.HeadPortrait
}
return 0
}
func (x *AnonymousGroupMessage) GetExpireTime() int32 {
if x != nil && x.ExpireTime != nil {
return *x.ExpireTime
}
return 0
}
func (x *AnonymousGroupMessage) GetBubbleId() int32 {
if x != nil && x.BubbleId != 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" json:"fileUuid,omitempty"`
FileMd5 []byte `protobuf:"bytes,2,opt,name=fileMd5" json:"fileMd5,omitempty"`
FileName []byte `protobuf:"bytes,3,opt,name=fileName" json:"fileName,omitempty"`
FileFormat *int32 `protobuf:"varint,4,opt,name=fileFormat" json:"fileFormat,omitempty"`
FileTime *int32 `protobuf:"varint,5,opt,name=fileTime" json:"fileTime,omitempty"`
FileSize *int32 `protobuf:"varint,6,opt,name=fileSize" json:"fileSize,omitempty"`
ThumbWidth *int32 `protobuf:"varint,7,opt,name=thumbWidth" json:"thumbWidth,omitempty"`
ThumbHeight *int32 `protobuf:"varint,8,opt,name=thumbHeight" json:"thumbHeight,omitempty"`
ThumbFileMd5 []byte `protobuf:"bytes,9,opt,name=thumbFileMd5" json:"thumbFileMd5,omitempty"`
Source []byte `protobuf:"bytes,10,opt,name=source" json:"source,omitempty"`
ThumbFileSize *int32 `protobuf:"varint,11,opt,name=thumbFileSize" json:"thumbFileSize,omitempty"`
BusiType *int32 `protobuf:"varint,12,opt,name=busiType" json:"busiType,omitempty"`
FromChatType *int32 `protobuf:"varint,13,opt,name=fromChatType" json:"fromChatType,omitempty"`
ToChatType *int32 `protobuf:"varint,14,opt,name=toChatType" json:"toChatType,omitempty"`
BoolSupportProgressive *bool `protobuf:"varint,15,opt,name=boolSupportProgressive" json:"boolSupportProgressive,omitempty"`
FileWidth *int32 `protobuf:"varint,16,opt,name=fileWidth" json:"fileWidth,omitempty"`
FileHeight *int32 `protobuf:"varint,17,opt,name=fileHeight" json:"fileHeight,omitempty"`
SubBusiType *int32 `protobuf:"varint,18,opt,name=subBusiType" json:"subBusiType,omitempty"`
VideoAttr *int32 `protobuf:"varint,19,opt,name=videoAttr" json:"videoAttr,omitempty"`
BytesThumbFileUrls [][]byte `protobuf:"bytes,20,rep,name=bytesThumbFileUrls" json:"bytesThumbFileUrls,omitempty"`
BytesVideoFileUrls [][]byte `protobuf:"bytes,21,rep,name=bytesVideoFileUrls" json:"bytesVideoFileUrls,omitempty"`
ThumbDownloadFlag *int32 `protobuf:"varint,22,opt,name=thumbDownloadFlag" json:"thumbDownloadFlag,omitempty"`
VideoDownloadFlag *int32 `protobuf:"varint,23,opt,name=videoDownloadFlag" json:"videoDownloadFlag,omitempty"`
PbReserve []byte `protobuf:"bytes,24,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *VideoFile) Reset() {
*x = VideoFile{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[40]
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[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use VideoFile.ProtoReflect.Descriptor instead.
func (*VideoFile) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{40}
}
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 && x.FileFormat != nil {
return *x.FileFormat
}
return 0
}
func (x *VideoFile) GetFileTime() int32 {
if x != nil && x.FileTime != nil {
return *x.FileTime
}
return 0
}
func (x *VideoFile) GetFileSize() int32 {
if x != nil && x.FileSize != nil {
return *x.FileSize
}
return 0
}
func (x *VideoFile) GetThumbWidth() int32 {
if x != nil && x.ThumbWidth != nil {
return *x.ThumbWidth
}
return 0
}
func (x *VideoFile) GetThumbHeight() int32 {
if x != nil && x.ThumbHeight != 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 && x.ThumbFileSize != nil {
return *x.ThumbFileSize
}
return 0
}
func (x *VideoFile) GetBusiType() int32 {
if x != nil && x.BusiType != nil {
return *x.BusiType
}
return 0
}
func (x *VideoFile) GetFromChatType() int32 {
if x != nil && x.FromChatType != nil {
return *x.FromChatType
}
return 0
}
func (x *VideoFile) GetToChatType() int32 {
if x != nil && x.ToChatType != nil {
return *x.ToChatType
}
return 0
}
func (x *VideoFile) GetBoolSupportProgressive() bool {
if x != nil && x.BoolSupportProgressive != nil {
return *x.BoolSupportProgressive
}
return false
}
func (x *VideoFile) GetFileWidth() int32 {
if x != nil && x.FileWidth != nil {
return *x.FileWidth
}
return 0
}
func (x *VideoFile) GetFileHeight() int32 {
if x != nil && x.FileHeight != nil {
return *x.FileHeight
}
return 0
}
func (x *VideoFile) GetSubBusiType() int32 {
if x != nil && x.SubBusiType != nil {
return *x.SubBusiType
}
return 0
}
func (x *VideoFile) GetVideoAttr() int32 {
if x != nil && x.VideoAttr != 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 && x.ThumbDownloadFlag != nil {
return *x.ThumbDownloadFlag
}
return 0
}
func (x *VideoFile) GetVideoDownloadFlag() int32 {
if x != nil && x.VideoDownloadFlag != 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,name=origSeqs" json:"origSeqs,omitempty"`
SenderUin *int64 `protobuf:"varint,2,opt,name=senderUin" json:"senderUin,omitempty"`
Time *int32 `protobuf:"varint,3,opt,name=time" json:"time,omitempty"`
Flag *int32 `protobuf:"varint,4,opt,name=flag" json:"flag,omitempty"`
Elems []*Elem `protobuf:"bytes,5,rep,name=elems" json:"elems,omitempty"`
Type *int32 `protobuf:"varint,6,opt,name=type" json:"type,omitempty"`
RichMsg []byte `protobuf:"bytes,7,opt,name=richMsg" json:"richMsg,omitempty"`
PbReserve []byte `protobuf:"bytes,8,opt,name=pbReserve" json:"pbReserve,omitempty"`
SrcMsg []byte `protobuf:"bytes,9,opt,name=srcMsg" json:"srcMsg,omitempty"`
ToUin *int64 `protobuf:"varint,10,opt,name=toUin" json:"toUin,omitempty"`
TroopName []byte `protobuf:"bytes,11,opt,name=troopName" json:"troopName,omitempty"`
}
func (x *SourceMsg) Reset() {
*x = SourceMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[41]
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[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SourceMsg.ProtoReflect.Descriptor instead.
func (*SourceMsg) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{41}
}
func (x *SourceMsg) GetOrigSeqs() []int32 {
if x != nil {
return x.OrigSeqs
}
return nil
}
func (x *SourceMsg) GetSenderUin() int64 {
if x != nil && x.SenderUin != nil {
return *x.SenderUin
}
return 0
}
func (x *SourceMsg) GetTime() int32 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *SourceMsg) GetFlag() int32 {
if x != nil && x.Flag != 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 && x.Type != 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 && x.ToUin != 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" json:"index,omitempty"`
Old []byte `protobuf:"bytes,2,opt,name=old" json:"old,omitempty"`
Buf []byte `protobuf:"bytes,11,opt,name=buf" json:"buf,omitempty"`
}
func (x *Face) Reset() {
*x = Face{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[42]
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[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Face.ProtoReflect.Descriptor instead.
func (*Face) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{42}
}
func (x *Face) GetIndex() int32 {
if x != nil && x.Index != 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 LightAppElem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
MsgResid []byte `protobuf:"bytes,2,opt,name=msgResid" json:"msgResid,omitempty"`
}
func (x *LightAppElem) Reset() {
*x = LightAppElem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LightAppElem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LightAppElem) ProtoMessage() {}
func (x *LightAppElem) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[43]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LightAppElem.ProtoReflect.Descriptor instead.
func (*LightAppElem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{43}
}
func (x *LightAppElem) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
func (x *LightAppElem) GetMsgResid() []byte {
if x != nil {
return x.MsgResid
}
return nil
}
type CustomFace struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guid []byte `protobuf:"bytes,1,opt,name=guid" json:"guid,omitempty"`
FilePath *string `protobuf:"bytes,2,opt,name=filePath" json:"filePath,omitempty"`
Shortcut *string `protobuf:"bytes,3,opt,name=shortcut" json:"shortcut,omitempty"`
Buffer []byte `protobuf:"bytes,4,opt,name=buffer" json:"buffer,omitempty"`
Flag []byte `protobuf:"bytes,5,opt,name=flag" json:"flag,omitempty"`
OldData []byte `protobuf:"bytes,6,opt,name=oldData" json:"oldData,omitempty"`
FileId *int32 `protobuf:"varint,7,opt,name=fileId" json:"fileId,omitempty"`
ServerIp *int32 `protobuf:"varint,8,opt,name=serverIp" json:"serverIp,omitempty"`
ServerPort *int32 `protobuf:"varint,9,opt,name=serverPort" json:"serverPort,omitempty"`
FileType *int32 `protobuf:"varint,10,opt,name=fileType" json:"fileType,omitempty"`
Signature []byte `protobuf:"bytes,11,opt,name=signature" json:"signature,omitempty"`
Useful *int32 `protobuf:"varint,12,opt,name=useful" json:"useful,omitempty"`
Md5 []byte `protobuf:"bytes,13,opt,name=md5" json:"md5,omitempty"`
ThumbUrl *string `protobuf:"bytes,14,opt,name=thumbUrl" json:"thumbUrl,omitempty"`
BigUrl *string `protobuf:"bytes,15,opt,name=bigUrl" json:"bigUrl,omitempty"`
OrigUrl *string `protobuf:"bytes,16,opt,name=origUrl" json:"origUrl,omitempty"`
BizType *int32 `protobuf:"varint,17,opt,name=bizType" json:"bizType,omitempty"`
RepeatIndex *int32 `protobuf:"varint,18,opt,name=repeatIndex" json:"repeatIndex,omitempty"`
RepeatImage *int32 `protobuf:"varint,19,opt,name=repeatImage" json:"repeatImage,omitempty"`
ImageType *int32 `protobuf:"varint,20,opt,name=imageType" json:"imageType,omitempty"`
Index *int32 `protobuf:"varint,21,opt,name=index" json:"index,omitempty"`
Width *int32 `protobuf:"varint,22,opt,name=width" json:"width,omitempty"`
Height *int32 `protobuf:"varint,23,opt,name=height" json:"height,omitempty"`
Source *int32 `protobuf:"varint,24,opt,name=source" json:"source,omitempty"`
Size *int32 `protobuf:"varint,25,opt,name=size" json:"size,omitempty"`
Origin *int32 `protobuf:"varint,26,opt,name=origin" json:"origin,omitempty"`
ThumbWidth *int32 `protobuf:"varint,27,opt,name=thumbWidth" json:"thumbWidth,omitempty"`
ThumbHeight *int32 `protobuf:"varint,28,opt,name=thumbHeight" json:"thumbHeight,omitempty"`
ShowLen *int32 `protobuf:"varint,29,opt,name=showLen" json:"showLen,omitempty"`
DownloadLen *int32 `protobuf:"varint,30,opt,name=downloadLen" json:"downloadLen,omitempty"`
X400Url *string `protobuf:"bytes,31,opt,name=_400Url,json=400Url" json:"_400Url,omitempty"`
X400Width *int32 `protobuf:"varint,32,opt,name=_400Width,json=400Width" json:"_400Width,omitempty"`
X400Height *int32 `protobuf:"varint,33,opt,name=_400Height,json=400Height" json:"_400Height,omitempty"`
PbReserve []byte `protobuf:"bytes,34,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *CustomFace) Reset() {
*x = CustomFace{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[44]
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[44]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CustomFace.ProtoReflect.Descriptor instead.
func (*CustomFace) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{44}
}
func (x *CustomFace) GetGuid() []byte {
if x != nil {
return x.Guid
}
return nil
}
func (x *CustomFace) GetFilePath() string {
if x != nil && x.FilePath != nil {
return *x.FilePath
}
return ""
}
func (x *CustomFace) GetShortcut() string {
if x != nil && x.Shortcut != 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 && x.FileId != nil {
return *x.FileId
}
return 0
}
func (x *CustomFace) GetServerIp() int32 {
if x != nil && x.ServerIp != nil {
return *x.ServerIp
}
return 0
}
func (x *CustomFace) GetServerPort() int32 {
if x != nil && x.ServerPort != nil {
return *x.ServerPort
}
return 0
}
func (x *CustomFace) GetFileType() int32 {
if x != nil && x.FileType != 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 && x.Useful != 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 && x.ThumbUrl != nil {
return *x.ThumbUrl
}
return ""
}
func (x *CustomFace) GetBigUrl() string {
if x != nil && x.BigUrl != nil {
return *x.BigUrl
}
return ""
}
func (x *CustomFace) GetOrigUrl() string {
if x != nil && x.OrigUrl != nil {
return *x.OrigUrl
}
return ""
}
func (x *CustomFace) GetBizType() int32 {
if x != nil && x.BizType != nil {
return *x.BizType
}
return 0
}
func (x *CustomFace) GetRepeatIndex() int32 {
if x != nil && x.RepeatIndex != nil {
return *x.RepeatIndex
}
return 0
}
func (x *CustomFace) GetRepeatImage() int32 {
if x != nil && x.RepeatImage != nil {
return *x.RepeatImage
}
return 0
}
func (x *CustomFace) GetImageType() int32 {
if x != nil && x.ImageType != nil {
return *x.ImageType
}
return 0
}
func (x *CustomFace) GetIndex() int32 {
if x != nil && x.Index != nil {
return *x.Index
}
return 0
}
func (x *CustomFace) GetWidth() int32 {
if x != nil && x.Width != nil {
return *x.Width
}
return 0
}
func (x *CustomFace) GetHeight() int32 {
if x != nil && x.Height != nil {
return *x.Height
}
return 0
}
func (x *CustomFace) GetSource() int32 {
if x != nil && x.Source != nil {
return *x.Source
}
return 0
}
func (x *CustomFace) GetSize() int32 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
func (x *CustomFace) GetOrigin() int32 {
if x != nil && x.Origin != nil {
return *x.Origin
}
return 0
}
func (x *CustomFace) GetThumbWidth() int32 {
if x != nil && x.ThumbWidth != nil {
return *x.ThumbWidth
}
return 0
}
func (x *CustomFace) GetThumbHeight() int32 {
if x != nil && x.ThumbHeight != nil {
return *x.ThumbHeight
}
return 0
}
func (x *CustomFace) GetShowLen() int32 {
if x != nil && x.ShowLen != nil {
return *x.ShowLen
}
return 0
}
func (x *CustomFace) GetDownloadLen() int32 {
if x != nil && x.DownloadLen != nil {
return *x.DownloadLen
}
return 0
}
func (x *CustomFace) GetX400Url() string {
if x != nil && x.X400Url != nil {
return *x.X400Url
}
return ""
}
func (x *CustomFace) GetX400Width() int32 {
if x != nil && x.X400Width != nil {
return *x.X400Width
}
return 0
}
func (x *CustomFace) GetX400Height() int32 {
if x != nil && x.X400Height != 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" json:"pkgNum,omitempty"`
PkgIndex *int32 `protobuf:"varint,2,opt,name=pkgIndex" json:"pkgIndex,omitempty"`
DivSeq *int32 `protobuf:"varint,3,opt,name=divSeq" json:"divSeq,omitempty"`
AutoReply *int32 `protobuf:"varint,4,opt,name=autoReply" json:"autoReply,omitempty"`
}
func (x *ContentHead) Reset() {
*x = ContentHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[45]
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[45]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContentHead.ProtoReflect.Descriptor instead.
func (*ContentHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{45}
}
func (x *ContentHead) GetPkgNum() int32 {
if x != nil && x.PkgNum != nil {
return *x.PkgNum
}
return 0
}
func (x *ContentHead) GetPkgIndex() int32 {
if x != nil && x.PkgIndex != nil {
return *x.PkgIndex
}
return 0
}
func (x *ContentHead) GetDivSeq() int32 {
if x != nil && x.DivSeq != nil {
return *x.DivSeq
}
return 0
}
func (x *ContentHead) GetAutoReply() int32 {
if x != nil && x.AutoReply != 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" json:"fromUin,omitempty"`
ToUin *int64 `protobuf:"varint,2,opt,name=toUin" json:"toUin,omitempty"`
MsgType *int32 `protobuf:"varint,3,opt,name=msgType" json:"msgType,omitempty"`
C2CCmd *int32 `protobuf:"varint,4,opt,name=c2cCmd" json:"c2cCmd,omitempty"`
MsgSeq *int32 `protobuf:"varint,5,opt,name=msgSeq" json:"msgSeq,omitempty"`
MsgTime *int32 `protobuf:"varint,6,opt,name=msgTime" json:"msgTime,omitempty"`
MsgUid *int64 `protobuf:"varint,7,opt,name=msgUid" json:"msgUid,omitempty"`
C2CTmpMsgHead *C2CTempMessageHead `protobuf:"bytes,8,opt,name=c2cTmpMsgHead" json:"c2cTmpMsgHead,omitempty"`
GroupInfo *GroupInfo `protobuf:"bytes,9,opt,name=groupInfo" json:"groupInfo,omitempty"`
FromAppid *int32 `protobuf:"varint,10,opt,name=fromAppid" json:"fromAppid,omitempty"`
FromInstid *int32 `protobuf:"varint,11,opt,name=fromInstid" json:"fromInstid,omitempty"`
UserActive *int32 `protobuf:"varint,12,opt,name=userActive" json:"userActive,omitempty"`
DiscussInfo *DiscussInfo `protobuf:"bytes,13,opt,name=discussInfo" json:"discussInfo,omitempty"`
FromNick *string `protobuf:"bytes,14,opt,name=fromNick" json:"fromNick,omitempty"`
AuthUin *int64 `protobuf:"varint,15,opt,name=authUin" json:"authUin,omitempty"`
AuthNick *string `protobuf:"bytes,16,opt,name=authNick" json:"authNick,omitempty"`
MsgFlag *int32 `protobuf:"varint,17,opt,name=msgFlag" json:"msgFlag,omitempty"`
AuthRemark *string `protobuf:"bytes,18,opt,name=authRemark" json:"authRemark,omitempty"`
GroupName *string `protobuf:"bytes,19,opt,name=groupName" json:"groupName,omitempty"`
MutiltransHead *MutilTransHead `protobuf:"bytes,20,opt,name=mutiltransHead" json:"mutiltransHead,omitempty"`
MsgInstCtrl *InstCtrl `protobuf:"bytes,21,opt,name=msgInstCtrl" json:"msgInstCtrl,omitempty"`
PublicAccountGroupSendFlag *int32 `protobuf:"varint,22,opt,name=publicAccountGroupSendFlag" json:"publicAccountGroupSendFlag,omitempty"`
WseqInC2CMsghead *int32 `protobuf:"varint,23,opt,name=wseqInC2cMsghead" json:"wseqInC2cMsghead,omitempty"`
Cpid *int64 `protobuf:"varint,24,opt,name=cpid" json:"cpid,omitempty"`
ExtGroupKeyInfo *ExtGroupKeyInfo `protobuf:"bytes,25,opt,name=extGroupKeyInfo" json:"extGroupKeyInfo,omitempty"`
MultiCompatibleText *string `protobuf:"bytes,26,opt,name=multiCompatibleText" json:"multiCompatibleText,omitempty"`
AuthSex *int32 `protobuf:"varint,27,opt,name=authSex" json:"authSex,omitempty"`
IsSrcMsg *bool `protobuf:"varint,28,opt,name=isSrcMsg" json:"isSrcMsg,omitempty"`
}
func (x *MessageHead) Reset() {
*x = MessageHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[46]
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[46]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageHead.ProtoReflect.Descriptor instead.
func (*MessageHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{46}
}
func (x *MessageHead) GetFromUin() int64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *MessageHead) GetToUin() int64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *MessageHead) GetMsgType() int32 {
if x != nil && x.MsgType != nil {
return *x.MsgType
}
return 0
}
func (x *MessageHead) GetC2CCmd() int32 {
if x != nil && x.C2CCmd != nil {
return *x.C2CCmd
}
return 0
}
func (x *MessageHead) GetMsgSeq() int32 {
if x != nil && x.MsgSeq != nil {
return *x.MsgSeq
}
return 0
}
func (x *MessageHead) GetMsgTime() int32 {
if x != nil && x.MsgTime != nil {
return *x.MsgTime
}
return 0
}
func (x *MessageHead) GetMsgUid() int64 {
if x != nil && x.MsgUid != 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 && x.FromAppid != nil {
return *x.FromAppid
}
return 0
}
func (x *MessageHead) GetFromInstid() int32 {
if x != nil && x.FromInstid != nil {
return *x.FromInstid
}
return 0
}
func (x *MessageHead) GetUserActive() int32 {
if x != nil && x.UserActive != 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 && x.FromNick != nil {
return *x.FromNick
}
return ""
}
func (x *MessageHead) GetAuthUin() int64 {
if x != nil && x.AuthUin != nil {
return *x.AuthUin
}
return 0
}
func (x *MessageHead) GetAuthNick() string {
if x != nil && x.AuthNick != nil {
return *x.AuthNick
}
return ""
}
func (x *MessageHead) GetMsgFlag() int32 {
if x != nil && x.MsgFlag != nil {
return *x.MsgFlag
}
return 0
}
func (x *MessageHead) GetAuthRemark() string {
if x != nil && x.AuthRemark != nil {
return *x.AuthRemark
}
return ""
}
func (x *MessageHead) GetGroupName() string {
if x != nil && x.GroupName != 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 && x.PublicAccountGroupSendFlag != nil {
return *x.PublicAccountGroupSendFlag
}
return 0
}
func (x *MessageHead) GetWseqInC2CMsghead() int32 {
if x != nil && x.WseqInC2CMsghead != nil {
return *x.WseqInC2CMsghead
}
return 0
}
func (x *MessageHead) GetCpid() int64 {
if x != nil && x.Cpid != 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 && x.MultiCompatibleText != nil {
return *x.MultiCompatibleText
}
return ""
}
func (x *MessageHead) GetAuthSex() int32 {
if x != nil && x.AuthSex != nil {
return *x.AuthSex
}
return 0
}
func (x *MessageHead) GetIsSrcMsg() bool {
if x != nil && x.IsSrcMsg != 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" json:"groupCode,omitempty"`
GroupType *int32 `protobuf:"varint,2,opt,name=groupType" json:"groupType,omitempty"`
GroupInfoSeq *int64 `protobuf:"varint,3,opt,name=groupInfoSeq" json:"groupInfoSeq,omitempty"`
GroupCard *string `protobuf:"bytes,4,opt,name=groupCard" json:"groupCard,omitempty"`
GroupRank []byte `protobuf:"bytes,5,opt,name=groupRank" json:"groupRank,omitempty"`
GroupLevel *int32 `protobuf:"varint,6,opt,name=groupLevel" json:"groupLevel,omitempty"`
GroupCardType *int32 `protobuf:"varint,7,opt,name=groupCardType" json:"groupCardType,omitempty"`
GroupName []byte `protobuf:"bytes,8,opt,name=groupName" json:"groupName,omitempty"`
}
func (x *GroupInfo) Reset() {
*x = GroupInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[47]
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[47]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GroupInfo.ProtoReflect.Descriptor instead.
func (*GroupInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{47}
}
func (x *GroupInfo) GetGroupCode() int64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GroupInfo) GetGroupType() int32 {
if x != nil && x.GroupType != nil {
return *x.GroupType
}
return 0
}
func (x *GroupInfo) GetGroupInfoSeq() int64 {
if x != nil && x.GroupInfoSeq != nil {
return *x.GroupInfoSeq
}
return 0
}
func (x *GroupInfo) GetGroupCard() string {
if x != nil && x.GroupCard != 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 && x.GroupLevel != nil {
return *x.GroupLevel
}
return 0
}
func (x *GroupInfo) GetGroupCardType() int32 {
if x != nil && x.GroupCardType != 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" json:"discussUin,omitempty"`
DiscussType *int32 `protobuf:"varint,2,opt,name=discussType" json:"discussType,omitempty"`
DiscussInfoSeq *int64 `protobuf:"varint,3,opt,name=discussInfoSeq" json:"discussInfoSeq,omitempty"`
DiscussRemark []byte `protobuf:"bytes,4,opt,name=discussRemark" json:"discussRemark,omitempty"`
DiscussName []byte `protobuf:"bytes,5,opt,name=discussName" json:"discussName,omitempty"`
}
func (x *DiscussInfo) Reset() {
*x = DiscussInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[48]
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[48]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiscussInfo.ProtoReflect.Descriptor instead.
func (*DiscussInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{48}
}
func (x *DiscussInfo) GetDiscussUin() int64 {
if x != nil && x.DiscussUin != nil {
return *x.DiscussUin
}
return 0
}
func (x *DiscussInfo) GetDiscussType() int32 {
if x != nil && x.DiscussType != nil {
return *x.DiscussType
}
return 0
}
func (x *DiscussInfo) GetDiscussInfoSeq() int64 {
if x != nil && x.DiscussInfoSeq != 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" json:"status,omitempty"`
MsgId *int32 `protobuf:"varint,2,opt,name=msgId" json:"msgId,omitempty"`
}
func (x *MutilTransHead) Reset() {
*x = MutilTransHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[49]
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[49]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MutilTransHead.ProtoReflect.Descriptor instead.
func (*MutilTransHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{49}
}
func (x *MutilTransHead) GetStatus() int32 {
if x != nil && x.Status != nil {
return *x.Status
}
return 0
}
func (x *MutilTransHead) GetMsgId() int32 {
if x != nil && x.MsgId != 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" json:"c2cType,omitempty"`
ServiceType *int32 `protobuf:"varint,2,opt,name=serviceType" json:"serviceType,omitempty"`
GroupUin *int64 `protobuf:"varint,3,opt,name=groupUin" json:"groupUin,omitempty"`
GroupCode *int64 `protobuf:"varint,4,opt,name=groupCode" json:"groupCode,omitempty"`
Sig []byte `protobuf:"bytes,5,opt,name=sig" json:"sig,omitempty"`
SigType *int32 `protobuf:"varint,6,opt,name=sigType" json:"sigType,omitempty"`
FromPhone *string `protobuf:"bytes,7,opt,name=fromPhone" json:"fromPhone,omitempty"`
ToPhone *string `protobuf:"bytes,8,opt,name=toPhone" json:"toPhone,omitempty"`
LockDisplay *int32 `protobuf:"varint,9,opt,name=lockDisplay" json:"lockDisplay,omitempty"`
DirectionFlag *int32 `protobuf:"varint,10,opt,name=directionFlag" json:"directionFlag,omitempty"`
Reserved []byte `protobuf:"bytes,11,opt,name=reserved" json:"reserved,omitempty"`
}
func (x *C2CTempMessageHead) Reset() {
*x = C2CTempMessageHead{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[50]
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[50]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use C2CTempMessageHead.ProtoReflect.Descriptor instead.
func (*C2CTempMessageHead) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{50}
}
func (x *C2CTempMessageHead) GetC2CType() int32 {
if x != nil && x.C2CType != nil {
return *x.C2CType
}
return 0
}
func (x *C2CTempMessageHead) GetServiceType() int32 {
if x != nil && x.ServiceType != nil {
return *x.ServiceType
}
return 0
}
func (x *C2CTempMessageHead) GetGroupUin() int64 {
if x != nil && x.GroupUin != nil {
return *x.GroupUin
}
return 0
}
func (x *C2CTempMessageHead) GetGroupCode() int64 {
if x != nil && x.GroupCode != 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 && x.SigType != nil {
return *x.SigType
}
return 0
}
func (x *C2CTempMessageHead) GetFromPhone() string {
if x != nil && x.FromPhone != nil {
return *x.FromPhone
}
return ""
}
func (x *C2CTempMessageHead) GetToPhone() string {
if x != nil && x.ToPhone != nil {
return *x.ToPhone
}
return ""
}
func (x *C2CTempMessageHead) GetLockDisplay() int32 {
if x != nil && x.LockDisplay != nil {
return *x.LockDisplay
}
return 0
}
func (x *C2CTempMessageHead) GetDirectionFlag() int32 {
if x != nil && x.DirectionFlag != 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" json:"msgSendToInst,omitempty"`
MsgExcludeInst []*InstInfo `protobuf:"bytes,2,rep,name=msgExcludeInst" json:"msgExcludeInst,omitempty"`
MsgFromInst *InstInfo `protobuf:"bytes,3,opt,name=msgFromInst" json:"msgFromInst,omitempty"`
}
func (x *InstCtrl) Reset() {
*x = InstCtrl{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[51]
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[51]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstCtrl.ProtoReflect.Descriptor instead.
func (*InstCtrl) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{51}
}
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" json:"apppid,omitempty"`
Instid *int32 `protobuf:"varint,2,opt,name=instid" json:"instid,omitempty"`
Platform *int32 `protobuf:"varint,3,opt,name=platform" json:"platform,omitempty"`
EnumDeviceType *int32 `protobuf:"varint,10,opt,name=enumDeviceType" json:"enumDeviceType,omitempty"`
}
func (x *InstInfo) Reset() {
*x = InstInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[52]
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[52]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstInfo.ProtoReflect.Descriptor instead.
func (*InstInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{52}
}
func (x *InstInfo) GetApppid() int32 {
if x != nil && x.Apppid != nil {
return *x.Apppid
}
return 0
}
func (x *InstInfo) GetInstid() int32 {
if x != nil && x.Instid != nil {
return *x.Instid
}
return 0
}
func (x *InstInfo) GetPlatform() int32 {
if x != nil && x.Platform != nil {
return *x.Platform
}
return 0
}
func (x *InstInfo) GetEnumDeviceType() int32 {
if x != nil && x.EnumDeviceType != 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" json:"curMaxSeq,omitempty"`
CurTime *int64 `protobuf:"varint,2,opt,name=curTime" json:"curTime,omitempty"`
}
func (x *ExtGroupKeyInfo) Reset() {
*x = ExtGroupKeyInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[53]
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[53]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExtGroupKeyInfo.ProtoReflect.Descriptor instead.
func (*ExtGroupKeyInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{53}
}
func (x *ExtGroupKeyInfo) GetCurMaxSeq() int32 {
if x != nil && x.CurMaxSeq != nil {
return *x.CurMaxSeq
}
return 0
}
func (x *ExtGroupKeyInfo) GetCurTime() int64 {
if x != nil && x.CurTime != 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" json:"time1,omitempty"`
Time *int64 `protobuf:"varint,2,opt,name=time" json:"time,omitempty"`
Ran1 *int64 `protobuf:"varint,3,opt,name=ran1" json:"ran1,omitempty"`
Ran2 *int64 `protobuf:"varint,4,opt,name=ran2" json:"ran2,omitempty"`
Const1 *int64 `protobuf:"varint,5,opt,name=const1" json:"const1,omitempty"`
Const2 *int64 `protobuf:"varint,11,opt,name=const2" json:"const2,omitempty"`
Const3 *int64 `protobuf:"varint,12,opt,name=const3" json:"const3,omitempty"`
LastSyncTime *int64 `protobuf:"varint,13,opt,name=lastSyncTime" json:"lastSyncTime,omitempty"`
Const4 *int64 `protobuf:"varint,14,opt,name=const4" json:"const4,omitempty"`
}
func (x *SyncCookie) Reset() {
*x = SyncCookie{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[54]
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[54]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SyncCookie.ProtoReflect.Descriptor instead.
func (*SyncCookie) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{54}
}
func (x *SyncCookie) GetTime1() int64 {
if x != nil && x.Time1 != nil {
return *x.Time1
}
return 0
}
func (x *SyncCookie) GetTime() int64 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *SyncCookie) GetRan1() int64 {
if x != nil && x.Ran1 != nil {
return *x.Ran1
}
return 0
}
func (x *SyncCookie) GetRan2() int64 {
if x != nil && x.Ran2 != nil {
return *x.Ran2
}
return 0
}
func (x *SyncCookie) GetConst1() int64 {
if x != nil && x.Const1 != nil {
return *x.Const1
}
return 0
}
func (x *SyncCookie) GetConst2() int64 {
if x != nil && x.Const2 != nil {
return *x.Const2
}
return 0
}
func (x *SyncCookie) GetConst3() int64 {
if x != nil && x.Const3 != nil {
return *x.Const3
}
return 0
}
func (x *SyncCookie) GetLastSyncTime() int64 {
if x != nil && x.LastSyncTime != nil {
return *x.LastSyncTime
}
return 0
}
func (x *SyncCookie) GetConst4() int64 {
if x != nil && x.Const4 != 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" json:"fromUin,omitempty"`
ToUin *int64 `protobuf:"varint,2,opt,name=toUin" json:"toUin,omitempty"`
MsgType *int32 `protobuf:"varint,3,opt,name=msgType" json:"msgType,omitempty"`
MsgSubtype *int32 `protobuf:"varint,4,opt,name=msgSubtype" json:"msgSubtype,omitempty"`
MsgSeq *int32 `protobuf:"varint,5,opt,name=msgSeq" json:"msgSeq,omitempty"`
MsgUid *int64 `protobuf:"varint,6,opt,name=msgUid" json:"msgUid,omitempty"`
MsgTime *int32 `protobuf:"varint,7,opt,name=msgTime" json:"msgTime,omitempty"`
RealMsgTime *int32 `protobuf:"varint,8,opt,name=realMsgTime" json:"realMsgTime,omitempty"`
NickName *string `protobuf:"bytes,9,opt,name=nickName" json:"nickName,omitempty"`
MsgData []byte `protobuf:"bytes,10,opt,name=msgData" json:"msgData,omitempty"`
SvrIp *int32 `protobuf:"varint,11,opt,name=svrIp" json:"svrIp,omitempty"`
ExtGroupKeyInfo *ExtGroupKeyInfo `protobuf:"bytes,12,opt,name=extGroupKeyInfo" json:"extGroupKeyInfo,omitempty"`
GeneralFlag *int32 `protobuf:"varint,17,opt,name=generalFlag" json:"generalFlag,omitempty"`
}
func (x *TransMsgInfo) Reset() {
*x = TransMsgInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[55]
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[55]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransMsgInfo.ProtoReflect.Descriptor instead.
func (*TransMsgInfo) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{55}
}
func (x *TransMsgInfo) GetFromUin() int64 {
if x != nil && x.FromUin != nil {
return *x.FromUin
}
return 0
}
func (x *TransMsgInfo) GetToUin() int64 {
if x != nil && x.ToUin != nil {
return *x.ToUin
}
return 0
}
func (x *TransMsgInfo) GetMsgType() int32 {
if x != nil && x.MsgType != nil {
return *x.MsgType
}
return 0
}
func (x *TransMsgInfo) GetMsgSubtype() int32 {
if x != nil && x.MsgSubtype != nil {
return *x.MsgSubtype
}
return 0
}
func (x *TransMsgInfo) GetMsgSeq() int32 {
if x != nil && x.MsgSeq != nil {
return *x.MsgSeq
}
return 0
}
func (x *TransMsgInfo) GetMsgUid() int64 {
if x != nil && x.MsgUid != nil {
return *x.MsgUid
}
return 0
}
func (x *TransMsgInfo) GetMsgTime() int32 {
if x != nil && x.MsgTime != nil {
return *x.MsgTime
}
return 0
}
func (x *TransMsgInfo) GetRealMsgTime() int32 {
if x != nil && x.RealMsgTime != nil {
return *x.RealMsgTime
}
return 0
}
func (x *TransMsgInfo) GetNickName() string {
if x != nil && x.NickName != 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 && x.SvrIp != 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 && x.GeneralFlag != nil {
return *x.GeneralFlag
}
return 0
}
type GeneralFlags struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BubbleDiyTextId *int32 `protobuf:"varint,1,opt,name=bubbleDiyTextId" json:"bubbleDiyTextId,omitempty"`
GroupFlagNew *int32 `protobuf:"varint,2,opt,name=groupFlagNew" json:"groupFlagNew,omitempty"`
Uin *int64 `protobuf:"varint,3,opt,name=uin" json:"uin,omitempty"`
RpId []byte `protobuf:"bytes,4,opt,name=rpId" json:"rpId,omitempty"`
PrpFold *int32 `protobuf:"varint,5,opt,name=prpFold" json:"prpFold,omitempty"`
LongTextFlag *int32 `protobuf:"varint,6,opt,name=longTextFlag" json:"longTextFlag,omitempty"`
LongTextResid *string `protobuf:"bytes,7,opt,name=longTextResid" json:"longTextResid,omitempty"`
GroupType *int32 `protobuf:"varint,8,opt,name=groupType" json:"groupType,omitempty"`
ToUinFlag *int32 `protobuf:"varint,9,opt,name=toUinFlag" json:"toUinFlag,omitempty"`
GlamourLevel *int32 `protobuf:"varint,10,opt,name=glamourLevel" json:"glamourLevel,omitempty"`
MemberLevel *int32 `protobuf:"varint,11,opt,name=memberLevel" json:"memberLevel,omitempty"`
GroupRankSeq *int64 `protobuf:"varint,12,opt,name=groupRankSeq" json:"groupRankSeq,omitempty"`
OlympicTorch *int32 `protobuf:"varint,13,opt,name=olympicTorch" json:"olympicTorch,omitempty"`
BabyqGuideMsgCookie []byte `protobuf:"bytes,14,opt,name=babyqGuideMsgCookie" json:"babyqGuideMsgCookie,omitempty"`
Uin32ExpertFlag *int32 `protobuf:"varint,15,opt,name=uin32ExpertFlag" json:"uin32ExpertFlag,omitempty"`
BubbleSubId *int32 `protobuf:"varint,16,opt,name=bubbleSubId" json:"bubbleSubId,omitempty"`
PendantId *int64 `protobuf:"varint,17,opt,name=pendantId" json:"pendantId,omitempty"`
RpIndex []byte `protobuf:"bytes,18,opt,name=rpIndex" json:"rpIndex,omitempty"`
PbReserve []byte `protobuf:"bytes,19,opt,name=pbReserve" json:"pbReserve,omitempty"`
}
func (x *GeneralFlags) Reset() {
*x = GeneralFlags{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GeneralFlags) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GeneralFlags) ProtoMessage() {}
func (x *GeneralFlags) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[56]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GeneralFlags.ProtoReflect.Descriptor instead.
func (*GeneralFlags) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{56}
}
func (x *GeneralFlags) GetBubbleDiyTextId() int32 {
if x != nil && x.BubbleDiyTextId != nil {
return *x.BubbleDiyTextId
}
return 0
}
func (x *GeneralFlags) GetGroupFlagNew() int32 {
if x != nil && x.GroupFlagNew != nil {
return *x.GroupFlagNew
}
return 0
}
func (x *GeneralFlags) GetUin() int64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *GeneralFlags) GetRpId() []byte {
if x != nil {
return x.RpId
}
return nil
}
func (x *GeneralFlags) GetPrpFold() int32 {
if x != nil && x.PrpFold != nil {
return *x.PrpFold
}
return 0
}
func (x *GeneralFlags) GetLongTextFlag() int32 {
if x != nil && x.LongTextFlag != nil {
return *x.LongTextFlag
}
return 0
}
func (x *GeneralFlags) GetLongTextResid() string {
if x != nil && x.LongTextResid != nil {
return *x.LongTextResid
}
return ""
}
func (x *GeneralFlags) GetGroupType() int32 {
if x != nil && x.GroupType != nil {
return *x.GroupType
}
return 0
}
func (x *GeneralFlags) GetToUinFlag() int32 {
if x != nil && x.ToUinFlag != nil {
return *x.ToUinFlag
}
return 0
}
func (x *GeneralFlags) GetGlamourLevel() int32 {
if x != nil && x.GlamourLevel != nil {
return *x.GlamourLevel
}
return 0
}
func (x *GeneralFlags) GetMemberLevel() int32 {
if x != nil && x.MemberLevel != nil {
return *x.MemberLevel
}
return 0
}
func (x *GeneralFlags) GetGroupRankSeq() int64 {
if x != nil && x.GroupRankSeq != nil {
return *x.GroupRankSeq
}
return 0
}
func (x *GeneralFlags) GetOlympicTorch() int32 {
if x != nil && x.OlympicTorch != nil {
return *x.OlympicTorch
}
return 0
}
func (x *GeneralFlags) GetBabyqGuideMsgCookie() []byte {
if x != nil {
return x.BabyqGuideMsgCookie
}
return nil
}
func (x *GeneralFlags) GetUin32ExpertFlag() int32 {
if x != nil && x.Uin32ExpertFlag != nil {
return *x.Uin32ExpertFlag
}
return 0
}
func (x *GeneralFlags) GetBubbleSubId() int32 {
if x != nil && x.BubbleSubId != nil {
return *x.BubbleSubId
}
return 0
}
func (x *GeneralFlags) GetPendantId() int64 {
if x != nil && x.PendantId != nil {
return *x.PendantId
}
return 0
}
func (x *GeneralFlags) GetRpIndex() []byte {
if x != nil {
return x.RpIndex
}
return nil
}
func (x *GeneralFlags) GetPbReserve() []byte {
if x != nil {
return x.PbReserve
}
return nil
}
type PbMultiMsgItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FileName *string `protobuf:"bytes,1,opt,name=fileName" json:"fileName,omitempty"`
Buffer *PbMultiMsgNew `protobuf:"bytes,2,opt,name=buffer" json:"buffer,omitempty"`
}
func (x *PbMultiMsgItem) Reset() {
*x = PbMultiMsgItem{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PbMultiMsgItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PbMultiMsgItem) ProtoMessage() {}
func (x *PbMultiMsgItem) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[57]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PbMultiMsgItem.ProtoReflect.Descriptor instead.
func (*PbMultiMsgItem) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{57}
}
func (x *PbMultiMsgItem) GetFileName() string {
if x != nil && x.FileName != nil {
return *x.FileName
}
return ""
}
func (x *PbMultiMsgItem) GetBuffer() *PbMultiMsgNew {
if x != nil {
return x.Buffer
}
return nil
}
type PbMultiMsgNew struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Msg []*Message `protobuf:"bytes,1,rep,name=msg" json:"msg,omitempty"`
}
func (x *PbMultiMsgNew) Reset() {
*x = PbMultiMsgNew{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PbMultiMsgNew) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PbMultiMsgNew) ProtoMessage() {}
func (x *PbMultiMsgNew) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[58]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PbMultiMsgNew.ProtoReflect.Descriptor instead.
func (*PbMultiMsgNew) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{58}
}
func (x *PbMultiMsgNew) GetMsg() []*Message {
if x != nil {
return x.Msg
}
return nil
}
type PbMultiMsgTransmit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Msg []*Message `protobuf:"bytes,1,rep,name=msg" json:"msg,omitempty"`
PbItemList []*PbMultiMsgItem `protobuf:"bytes,2,rep,name=pbItemList" json:"pbItemList,omitempty"`
}
func (x *PbMultiMsgTransmit) Reset() {
*x = PbMultiMsgTransmit{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PbMultiMsgTransmit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PbMultiMsgTransmit) ProtoMessage() {}
func (x *PbMultiMsgTransmit) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[59]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PbMultiMsgTransmit.ProtoReflect.Descriptor instead.
func (*PbMultiMsgTransmit) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{59}
}
func (x *PbMultiMsgTransmit) GetMsg() []*Message {
if x != nil {
return x.Msg
}
return nil
}
func (x *PbMultiMsgTransmit) GetPbItemList() []*PbMultiMsgItem {
if x != nil {
return x.PbItemList
}
return nil
}
type MsgElemInfoServtype3 struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FlashTroopPic *CustomFace `protobuf:"bytes,1,opt,name=flash_troop_pic,json=flashTroopPic" json:"flash_troop_pic,omitempty"`
FlashC2CPic *NotOnlineImage `protobuf:"bytes,2,opt,name=flash_c2c_pic,json=flashC2cPic" json:"flash_c2c_pic,omitempty"`
}
func (x *MsgElemInfoServtype3) Reset() {
*x = MsgElemInfoServtype3{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgElemInfoServtype3) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgElemInfoServtype3) ProtoMessage() {}
func (x *MsgElemInfoServtype3) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[60]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MsgElemInfoServtype3.ProtoReflect.Descriptor instead.
func (*MsgElemInfoServtype3) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{60}
}
func (x *MsgElemInfoServtype3) GetFlashTroopPic() *CustomFace {
if x != nil {
return x.FlashTroopPic
}
return nil
}
func (x *MsgElemInfoServtype3) GetFlashC2CPic() *NotOnlineImage {
if x != nil {
return x.FlashC2CPic
}
return nil
}
type MsgElemInfoServtype33 struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Index *uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
Text []byte `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"`
Compat []byte `protobuf:"bytes,3,opt,name=compat" json:"compat,omitempty"`
Buf []byte `protobuf:"bytes,4,opt,name=buf" json:"buf,omitempty"`
}
func (x *MsgElemInfoServtype33) Reset() {
*x = MsgElemInfoServtype33{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgElemInfoServtype33) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgElemInfoServtype33) ProtoMessage() {}
func (x *MsgElemInfoServtype33) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[61]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MsgElemInfoServtype33.ProtoReflect.Descriptor instead.
func (*MsgElemInfoServtype33) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{61}
}
func (x *MsgElemInfoServtype33) GetIndex() uint32 {
if x != nil && x.Index != nil {
return *x.Index
}
return 0
}
func (x *MsgElemInfoServtype33) GetText() []byte {
if x != nil {
return x.Text
}
return nil
}
func (x *MsgElemInfoServtype33) GetCompat() []byte {
if x != nil {
return x.Compat
}
return nil
}
func (x *MsgElemInfoServtype33) GetBuf() []byte {
if x != nil {
return x.Buf
}
return nil
}
type SubMsgType0X4Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NotOnlineFile *NotOnlineFile `protobuf:"bytes,1,opt,name=notOnlineFile" json:"notOnlineFile,omitempty"`
MsgTime *uint32 `protobuf:"varint,2,opt,name=msgTime" json:"msgTime,omitempty"`
OnlineFileForPolyToOffline *uint32 `protobuf:"varint,3,opt,name=onlineFileForPolyToOffline" json:"onlineFileForPolyToOffline,omitempty"` // fileImageInfo
}
func (x *SubMsgType0X4Body) Reset() {
*x = SubMsgType0X4Body{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubMsgType0X4Body) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubMsgType0X4Body) ProtoMessage() {}
func (x *SubMsgType0X4Body) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[62]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubMsgType0X4Body.ProtoReflect.Descriptor instead.
func (*SubMsgType0X4Body) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{62}
}
func (x *SubMsgType0X4Body) GetNotOnlineFile() *NotOnlineFile {
if x != nil {
return x.NotOnlineFile
}
return nil
}
func (x *SubMsgType0X4Body) GetMsgTime() uint32 {
if x != nil && x.MsgTime != nil {
return *x.MsgTime
}
return 0
}
func (x *SubMsgType0X4Body) GetOnlineFileForPolyToOffline() uint32 {
if x != nil && x.OnlineFileForPolyToOffline != nil {
return *x.OnlineFileForPolyToOffline
}
return 0
}
type ResvAttr struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ImageShow *AnimationImageShow `protobuf:"bytes,7,opt,name=image_show,json=imageShow" json:"image_show,omitempty"`
}
func (x *ResvAttr) Reset() {
*x = ResvAttr{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResvAttr) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResvAttr) ProtoMessage() {}
func (x *ResvAttr) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[63]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResvAttr.ProtoReflect.Descriptor instead.
func (*ResvAttr) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{63}
}
func (x *ResvAttr) GetImageShow() *AnimationImageShow {
if x != nil {
return x.ImageShow
}
return nil
}
type AnimationImageShow struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EffectId *int32 `protobuf:"varint,1,opt,name=effect_id,json=effectId" json:"effect_id,omitempty"`
AnimationParam []byte `protobuf:"bytes,2,opt,name=animation_param,json=animationParam" json:"animation_param,omitempty"`
}
func (x *AnimationImageShow) Reset() {
*x = AnimationImageShow{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnimationImageShow) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnimationImageShow) ProtoMessage() {}
func (x *AnimationImageShow) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[64]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnimationImageShow.ProtoReflect.Descriptor instead.
func (*AnimationImageShow) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{64}
}
func (x *AnimationImageShow) GetEffectId() int32 {
if x != nil && x.EffectId != nil {
return *x.EffectId
}
return 0
}
func (x *AnimationImageShow) GetAnimationParam() []byte {
if x != nil {
return x.AnimationParam
}
return nil
}
type UinTypeUserDef struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUinType *int32 `protobuf:"varint,1,opt,name=fromUinType" json:"fromUinType,omitempty"`
FromGroupCode *int64 `protobuf:"varint,2,opt,name=fromGroupCode" json:"fromGroupCode,omitempty"`
FileUuid *string `protobuf:"bytes,3,opt,name=fileUuid" json:"fileUuid,omitempty"`
}
func (x *UinTypeUserDef) Reset() {
*x = UinTypeUserDef{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UinTypeUserDef) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UinTypeUserDef) ProtoMessage() {}
func (x *UinTypeUserDef) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[65]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UinTypeUserDef.ProtoReflect.Descriptor instead.
func (*UinTypeUserDef) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{65}
}
func (x *UinTypeUserDef) GetFromUinType() int32 {
if x != nil && x.FromUinType != nil {
return *x.FromUinType
}
return 0
}
func (x *UinTypeUserDef) GetFromGroupCode() int64 {
if x != nil && x.FromGroupCode != nil {
return *x.FromGroupCode
}
return 0
}
func (x *UinTypeUserDef) GetFileUuid() string {
if x != nil && x.FileUuid != nil {
return *x.FileUuid
}
return ""
}
type GetGroupMsgReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupCode *uint64 `protobuf:"varint,1,opt,name=groupCode" json:"groupCode,omitempty"`
BeginSeq *uint64 `protobuf:"varint,2,opt,name=beginSeq" json:"beginSeq,omitempty"`
EndSeq *uint64 `protobuf:"varint,3,opt,name=endSeq" json:"endSeq,omitempty"`
Filter *uint32 `protobuf:"varint,4,opt,name=filter" json:"filter,omitempty"`
MemberSeq *uint64 `protobuf:"varint,5,opt,name=memberSeq" json:"memberSeq,omitempty"`
PublicGroup *bool `protobuf:"varint,6,opt,name=publicGroup" json:"publicGroup,omitempty"`
ShieldFlag *uint32 `protobuf:"varint,7,opt,name=shieldFlag" json:"shieldFlag,omitempty"`
SaveTrafficFlag *uint32 `protobuf:"varint,8,opt,name=saveTrafficFlag" json:"saveTrafficFlag,omitempty"`
}
func (x *GetGroupMsgReq) Reset() {
*x = GetGroupMsgReq{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetGroupMsgReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetGroupMsgReq) ProtoMessage() {}
func (x *GetGroupMsgReq) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[66]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetGroupMsgReq.ProtoReflect.Descriptor instead.
func (*GetGroupMsgReq) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{66}
}
func (x *GetGroupMsgReq) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GetGroupMsgReq) GetBeginSeq() uint64 {
if x != nil && x.BeginSeq != nil {
return *x.BeginSeq
}
return 0
}
func (x *GetGroupMsgReq) GetEndSeq() uint64 {
if x != nil && x.EndSeq != nil {
return *x.EndSeq
}
return 0
}
func (x *GetGroupMsgReq) GetFilter() uint32 {
if x != nil && x.Filter != nil {
return *x.Filter
}
return 0
}
func (x *GetGroupMsgReq) GetMemberSeq() uint64 {
if x != nil && x.MemberSeq != nil {
return *x.MemberSeq
}
return 0
}
func (x *GetGroupMsgReq) GetPublicGroup() bool {
if x != nil && x.PublicGroup != nil {
return *x.PublicGroup
}
return false
}
func (x *GetGroupMsgReq) GetShieldFlag() uint32 {
if x != nil && x.ShieldFlag != nil {
return *x.ShieldFlag
}
return 0
}
func (x *GetGroupMsgReq) GetSaveTrafficFlag() uint32 {
if x != nil && x.SaveTrafficFlag != nil {
return *x.SaveTrafficFlag
}
return 0
}
type GetGroupMsgResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result *uint32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"`
Errmsg *string `protobuf:"bytes,2,opt,name=errmsg" json:"errmsg,omitempty"`
GroupCode *uint64 `protobuf:"varint,3,opt,name=groupCode" json:"groupCode,omitempty"`
ReturnBeginSeq *uint64 `protobuf:"varint,4,opt,name=returnBeginSeq" json:"returnBeginSeq,omitempty"`
ReturnEndSeq *uint64 `protobuf:"varint,5,opt,name=returnEndSeq" json:"returnEndSeq,omitempty"`
Msg []*Message `protobuf:"bytes,6,rep,name=msg" json:"msg,omitempty"`
}
func (x *GetGroupMsgResp) Reset() {
*x = GetGroupMsgResp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetGroupMsgResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetGroupMsgResp) ProtoMessage() {}
func (x *GetGroupMsgResp) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[67]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetGroupMsgResp.ProtoReflect.Descriptor instead.
func (*GetGroupMsgResp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{67}
}
func (x *GetGroupMsgResp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *GetGroupMsgResp) GetErrmsg() string {
if x != nil && x.Errmsg != nil {
return *x.Errmsg
}
return ""
}
func (x *GetGroupMsgResp) GetGroupCode() uint64 {
if x != nil && x.GroupCode != nil {
return *x.GroupCode
}
return 0
}
func (x *GetGroupMsgResp) GetReturnBeginSeq() uint64 {
if x != nil && x.ReturnBeginSeq != nil {
return *x.ReturnBeginSeq
}
return 0
}
func (x *GetGroupMsgResp) GetReturnEndSeq() uint64 {
if x != nil && x.ReturnEndSeq != nil {
return *x.ReturnEndSeq
}
return 0
}
func (x *GetGroupMsgResp) GetMsg() []*Message {
if x != nil {
return x.Msg
}
return nil
}
type PbGetOneDayRoamMsgReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PeerUin *uint64 `protobuf:"varint,1,opt,name=peerUin" json:"peerUin,omitempty"`
LastMsgTime *uint64 `protobuf:"varint,2,opt,name=lastMsgTime" json:"lastMsgTime,omitempty"`
Random *uint64 `protobuf:"varint,3,opt,name=random" json:"random,omitempty"`
ReadCnt *uint32 `protobuf:"varint,4,opt,name=readCnt" json:"readCnt,omitempty"`
}
func (x *PbGetOneDayRoamMsgReq) Reset() {
*x = PbGetOneDayRoamMsgReq{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PbGetOneDayRoamMsgReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PbGetOneDayRoamMsgReq) ProtoMessage() {}
func (x *PbGetOneDayRoamMsgReq) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[68]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PbGetOneDayRoamMsgReq.ProtoReflect.Descriptor instead.
func (*PbGetOneDayRoamMsgReq) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{68}
}
func (x *PbGetOneDayRoamMsgReq) GetPeerUin() uint64 {
if x != nil && x.PeerUin != nil {
return *x.PeerUin
}
return 0
}
func (x *PbGetOneDayRoamMsgReq) GetLastMsgTime() uint64 {
if x != nil && x.LastMsgTime != nil {
return *x.LastMsgTime
}
return 0
}
func (x *PbGetOneDayRoamMsgReq) GetRandom() uint64 {
if x != nil && x.Random != nil {
return *x.Random
}
return 0
}
func (x *PbGetOneDayRoamMsgReq) GetReadCnt() uint32 {
if x != nil && x.ReadCnt != nil {
return *x.ReadCnt
}
return 0
}
type PbGetOneDayRoamMsgResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Result *uint32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"`
ErrMsg *string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
PeerUin *uint64 `protobuf:"varint,3,opt,name=peerUin" json:"peerUin,omitempty"`
LastMsgTime *uint64 `protobuf:"varint,4,opt,name=lastMsgTime" json:"lastMsgTime,omitempty"`
Random *uint64 `protobuf:"varint,5,opt,name=random" json:"random,omitempty"`
Msg []*Message `protobuf:"bytes,6,rep,name=msg" json:"msg,omitempty"`
IsComplete *uint32 `protobuf:"varint,7,opt,name=isComplete" json:"isComplete,omitempty"`
}
func (x *PbGetOneDayRoamMsgResp) Reset() {
*x = PbGetOneDayRoamMsgResp{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PbGetOneDayRoamMsgResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PbGetOneDayRoamMsgResp) ProtoMessage() {}
func (x *PbGetOneDayRoamMsgResp) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[69]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PbGetOneDayRoamMsgResp.ProtoReflect.Descriptor instead.
func (*PbGetOneDayRoamMsgResp) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{69}
}
func (x *PbGetOneDayRoamMsgResp) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
func (x *PbGetOneDayRoamMsgResp) GetErrMsg() string {
if x != nil && x.ErrMsg != nil {
return *x.ErrMsg
}
return ""
}
func (x *PbGetOneDayRoamMsgResp) GetPeerUin() uint64 {
if x != nil && x.PeerUin != nil {
return *x.PeerUin
}
return 0
}
func (x *PbGetOneDayRoamMsgResp) GetLastMsgTime() uint64 {
if x != nil && x.LastMsgTime != nil {
return *x.LastMsgTime
}
return 0
}
func (x *PbGetOneDayRoamMsgResp) GetRandom() uint64 {
if x != nil && x.Random != nil {
return *x.Random
}
return 0
}
func (x *PbGetOneDayRoamMsgResp) GetMsg() []*Message {
if x != nil {
return x.Msg
}
return nil
}
func (x *PbGetOneDayRoamMsgResp) GetIsComplete() uint32 {
if x != nil && x.IsComplete != nil {
return *x.IsComplete
}
return 0
}
type PbPushMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Msg *Message `protobuf:"bytes,1,opt,name=msg" json:"msg,omitempty"`
Svrip *int32 `protobuf:"varint,2,opt,name=svrip" json:"svrip,omitempty"`
PushToken []byte `protobuf:"bytes,3,opt,name=pushToken" json:"pushToken,omitempty"`
PingFlag *uint32 `protobuf:"varint,4,opt,name=pingFlag" json:"pingFlag,omitempty"`
GeneralFlag *uint32 `protobuf:"varint,9,opt,name=generalFlag" json:"generalFlag,omitempty"`
BindUin *uint64 `protobuf:"varint,10,opt,name=bindUin" json:"bindUin,omitempty"`
}
func (x *PbPushMsg) Reset() {
*x = PbPushMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_msg_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PbPushMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PbPushMsg) ProtoMessage() {}
func (x *PbPushMsg) ProtoReflect() protoreflect.Message {
mi := &file_msg_proto_msgTypes[70]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PbPushMsg.ProtoReflect.Descriptor instead.
func (*PbPushMsg) Descriptor() ([]byte, []int) {
return file_msg_proto_rawDescGZIP(), []int{70}
}
func (x *PbPushMsg) GetMsg() *Message {
if x != nil {
return x.Msg
}
return nil
}
func (x *PbPushMsg) GetSvrip() int32 {
if x != nil && x.Svrip != nil {
return *x.Svrip
}
return 0
}
func (x *PbPushMsg) GetPushToken() []byte {
if x != nil {
return x.PushToken
}
return nil
}
func (x *PbPushMsg) GetPingFlag() uint32 {
if x != nil && x.PingFlag != nil {
return *x.PingFlag
}
return 0
}
func (x *PbPushMsg) GetGeneralFlag() uint32 {
if x != nil && x.GeneralFlag != nil {
return *x.GeneralFlag
}
return 0
}
func (x *PbPushMsg) GetBindUin() uint64 {
if x != nil && x.BindUin != nil {
return *x.BindUin
}
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, 0x45, 0x0a, 0x13, 0x53, 0x65, 0x6e,
0x64, 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, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d,
0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67,
0x22, 0x82, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77,
0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x32, 0x63, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72,
0x61, 0x77, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x32, 0x43, 0x4d, 0x73,
0x67, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x52, 0x0b, 0x63, 0x32,
0x63, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x12, 0x3a, 0x0a, 0x0d, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x44,
0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74,
0x68, 0x44, 0x72, 0x61, 0x77, 0x22, 0x98, 0x01, 0x0a, 0x11, 0x43, 0x32, 0x43, 0x4d, 0x73, 0x67,
0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x07, 0x6d,
0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43,
0x32, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6c, 0x6f, 0x6e,
0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08,
0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08,
0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x43,
0x6d, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x75, 0x62, 0x43, 0x6d, 0x64,
0x22, 0xac, 0x01, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74,
0x68, 0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x43,
0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x75, 0x62, 0x43, 0x6d, 0x64,
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, 0x1c,
0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x07,
0x6d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x73,
0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x22,
0x85, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x52,
0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x32, 0x63, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72,
0x61, 0x77, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x32, 0x43, 0x4d, 0x73,
0x67, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0b, 0x63,
0x32, 0x63, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x12, 0x3b, 0x0a, 0x0d, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68,
0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x57,
0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x32, 0x43, 0x4d, 0x73,
0x67, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, 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, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x46, 0x0a,
0x14, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x44, 0x72, 0x61,
0x77, 0x52, 0x65, 0x73, 0x70, 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, 0x16, 0x0a,
0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x5e, 0x0a, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73,
0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x1c, 0x0a,
0x09, 0x6d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x6d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 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, 0x22, 0xba, 0x02, 0x0a, 0x0a, 0x43, 0x32, 0x43, 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, 0x16, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06,
0x6d, 0x73, 0x67, 0x55, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x73,
0x67, 0x55, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x6d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x6d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x6b, 0x67, 0x4e, 0x75, 0x6d, 0x18, 0x07, 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, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x64, 0x69, 0x76, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54,
0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79,
0x70, 0x65, 0x12, 0x2e, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61,
0x64, 0x18, 0x14, 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, 0x22, 0x7f, 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, 0x12, 0x1f, 0x0a, 0x06, 0x77, 0x70, 0x61, 0x54, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x07, 0x2e, 0x57, 0x50, 0x41, 0x54, 0x6d, 0x70, 0x52, 0x06, 0x77, 0x70, 0x61,
0x54, 0x6d, 0x70, 0x22, 0x30, 0x0a, 0x06, 0x57, 0x50, 0x41, 0x54, 0x6d, 0x70, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f,
0x55, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x03, 0x73, 0x69, 0x67, 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, 0x75, 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, 0x26, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x48, 0x65, 0x61, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 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, 0xee, 0x05, 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,
0x30, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x45, 0x6c,
0x65, 0x6d, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x49, 0x6e, 0x66,
0x6f, 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, 0x22,
0x0a, 0x07, 0x72, 0x69, 0x63, 0x68, 0x4d, 0x73, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x08, 0x2e, 0x52, 0x69, 0x63, 0x68, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x72, 0x69, 0x63, 0x68, 0x4d,
0x73, 0x67, 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, 0x2e, 0x0a, 0x0b,
0x51, 0x51, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0c, 0x2e, 0x51, 0x51, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52,
0x0b, 0x51, 0x51, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 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, 0x31, 0x0a, 0x0c, 0x67, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0d, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x0c,
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 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,
0x12, 0x29, 0x0a, 0x08, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x18, 0x33, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x45, 0x6c, 0x65,
0x6d, 0x52, 0x08, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x12, 0x2b, 0x0a, 0x0a, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0b, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x52, 0x0a, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x22, 0x6a, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x62, 0x45, 0x6c,
0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x62, 0x45, 0x6c, 0x65, 0x6d,
0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73,
0x54, 0x79, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x0b, 0x51, 0x51, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74,
0x4d, 0x73, 0x67, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x69, 0x6f, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x51, 0x51, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41,
0x69, 0x6f, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x07, 0x61, 0x69, 0x6f, 0x42, 0x6f, 0x64, 0x79, 0x22,
0xf3, 0x04, 0x0a, 0x0f, 0x51, 0x51, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x69, 0x6f, 0x42,
0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x55, 0x69, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x55, 0x69, 0x6e, 0x12, 0x28, 0x0a,
0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x51, 0x51, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x69, 0x6f, 0x45, 0x6c, 0x65, 0x6d, 0x52,
0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69,
0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x51, 0x51, 0x57, 0x61,
0x6c, 0x6c, 0x65, 0x74, 0x41, 0x69, 0x6f, 0x45, 0x6c, 0x65, 0x6d, 0x52, 0x08, 0x72, 0x65, 0x63,
0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49,
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d,
0x73, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x0b, 0x6d, 0x73, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a,
0x07, 0x72, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07,
0x72, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x6c, 0x6c, 0x4e,
0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x62, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x12,
0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b,
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d,
0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6d, 0x73,
0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x4f, 0x70,
0x65, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x65, 0x6e, 0x76, 0x65, 0x6c,
0x4f, 0x70, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e,
0x66, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x63, 0x6f, 0x6e,
0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x46, 0x72, 0x6f, 0x6d,
0x18, 0x10, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x46, 0x72, 0x6f, 0x6d, 0x12,
0x16, 0x0a, 0x06, 0x70, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x06, 0x70, 0x63, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1e, 0x0a,
0x0a, 0x72, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a,
0x07, 0x67, 0x72, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07,
0x67, 0x72, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73,
0x65, 0x72, 0x76, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x62, 0x52, 0x65,
0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0x9d, 0x05, 0x0a, 0x0f, 0x51, 0x51, 0x57, 0x61, 0x6c, 0x6c,
0x65, 0x74, 0x41, 0x69, 0x6f, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x61, 0x63,
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62,
0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69,
0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x6e,
0x6b, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x6b,
0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x69,
0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x53,
0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x18,
0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a,
0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x24, 0x0a,
0x0d, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f,
0x6c, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72,
0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a,
0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x74, 0x69, 0x76,
0x65, 0x49, 0x6f, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6e, 0x61, 0x74, 0x69,
0x76, 0x65, 0x49, 0x6f, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41,
0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6e, 0x61,
0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69,
0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x63,
0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x42, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x67, 0x43, 0x6f, 0x6c, 0x6f,
0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x69, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x65, 0x66,
0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x61, 0x69, 0x6f, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x69, 0x6f, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x52, 0x69, 0x67, 0x68, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x61, 0x69,
0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x66, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63,
0x66, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73,
0x65, 0x72, 0x76, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x62, 0x52, 0x65,
0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x07, 0x52, 0x69, 0x63, 0x68, 0x4d, 0x73,
0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x31, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x31, 0x12,
0x1c, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a,
0x08, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x08, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a,
0x03, 0x73, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x71, 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, 0x09, 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, 0x45, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x45, 0x6c,
0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x75, 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, 0x3e, 0x0a, 0x0c, 0x4c,
0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64,
0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12,
0x1a, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x08, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x69, 0x64, 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, 0x22, 0x84, 0x05, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65,
0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x75, 0x62, 0x62,
0x6c, 0x65, 0x44, 0x69, 0x79, 0x54, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0f, 0x62, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x79, 0x54, 0x65, 0x78, 0x74,
0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x4e,
0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46,
0x6c, 0x61, 0x67, 0x4e, 0x65, 0x77, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x70, 0x49, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x72, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
0x70, 0x72, 0x70, 0x46, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70,
0x72, 0x70, 0x46, 0x6f, 0x6c, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x65,
0x78, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x6f,
0x6e, 0x67, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f,
0x6e, 0x67, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x69, 0x64,
0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c,
0x67, 0x6c, 0x61, 0x6d, 0x6f, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0c, 0x67, 0x6c, 0x61, 0x6d, 0x6f, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x53,
0x65, 0x71, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x61, 0x6e, 0x6b, 0x53, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x6c, 0x79, 0x6d, 0x70, 0x69,
0x63, 0x54, 0x6f, 0x72, 0x63, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x6c,
0x79, 0x6d, 0x70, 0x69, 0x63, 0x54, 0x6f, 0x72, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x13, 0x62, 0x61,
0x62, 0x79, 0x71, 0x47, 0x75, 0x69, 0x64, 0x65, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6f, 0x6b, 0x69,
0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x62, 0x61, 0x62, 0x79, 0x71, 0x47, 0x75,
0x69, 0x64, 0x65, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x28, 0x0a, 0x0f,
0x75, 0x69, 0x6e, 0x33, 0x32, 0x45, 0x78, 0x70, 0x65, 0x72, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x33, 0x32, 0x45, 0x78, 0x70, 0x65,
0x72, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x75, 0x62, 0x62, 0x6c, 0x65,
0x53, 0x75, 0x62, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x75, 0x62,
0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x6e, 0x64,
0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x6e,
0x64, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x70, 0x49, 0x6e, 0x64, 0x65,
0x78, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x12, 0x1c, 0x0a, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x13, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x62, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0x54,
0x0a, 0x0e, 0x50, 0x62, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d,
0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06,
0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x50,
0x62, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x73, 0x67, 0x4e, 0x65, 0x77, 0x52, 0x06, 0x62, 0x75,
0x66, 0x66, 0x65, 0x72, 0x22, 0x2b, 0x0a, 0x0d, 0x50, 0x62, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4d,
0x73, 0x67, 0x4e, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x08, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x03, 0x6d, 0x73,
0x67, 0x22, 0x61, 0x0a, 0x12, 0x50, 0x62, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x73, 0x67, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x03,
0x6d, 0x73, 0x67, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x62, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x50, 0x62, 0x4d, 0x75, 0x6c, 0x74,
0x69, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x70, 0x62, 0x49, 0x74, 0x65, 0x6d,
0x4c, 0x69, 0x73, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d,
0x49, 0x6e, 0x66, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x74, 0x79, 0x70, 0x65, 0x33, 0x12, 0x33,
0x0a, 0x0f, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x72, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x69,
0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
0x46, 0x61, 0x63, 0x65, 0x52, 0x0d, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x54, 0x72, 0x6f, 0x6f, 0x70,
0x50, 0x69, 0x63, 0x12, 0x33, 0x0a, 0x0d, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x32, 0x63,
0x5f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x4e, 0x6f, 0x74,
0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x66, 0x6c, 0x61,
0x73, 0x68, 0x43, 0x32, 0x63, 0x50, 0x69, 0x63, 0x22, 0x6c, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x45,
0x6c, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x74, 0x79, 0x70, 0x65,
0x33, 0x33, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06,
0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f,
0x6d, 0x70, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x03, 0x62, 0x75, 0x66, 0x22, 0xa3, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x4d, 0x73,
0x67, 0x54, 0x79, 0x70, 0x65, 0x30, 0x78, 0x34, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x34, 0x0a, 0x0d,
0x6e, 0x6f, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x01, 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, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1a,
0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x6c,
0x79, 0x54, 0x6f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x1a, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x50,
0x6f, 0x6c, 0x79, 0x54, 0x6f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x3e, 0x0a, 0x08,
0x52, 0x65, 0x73, 0x76, 0x41, 0x74, 0x74, 0x72, 0x12, 0x32, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x41,
0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f,
0x77, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x5a, 0x0a, 0x12,
0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68,
0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12,
0x27, 0x0a, 0x0f, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x74, 0x0a, 0x0e, 0x55, 0x69, 0x6e, 0x54,
0x79, 0x70, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72,
0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d,
0x66, 0x72, 0x6f, 0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f,
0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x22, 0x84,
0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x52, 0x65,
0x71, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28,
0x04, 0x52, 0x08, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x65,
0x6e, 0x64, 0x53, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x65, 0x6e, 0x64,
0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62,
0x6c, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x73,
0x68, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x0a, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x73,
0x61, 0x76, 0x65, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x08,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x61, 0x76, 0x65, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
0x63, 0x46, 0x6c, 0x61, 0x67, 0x22, 0xc7, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x12,
0x22, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x45, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x18,
0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x45, 0x6e, 0x64,
0x53, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x08, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22,
0x85, 0x01, 0x0a, 0x15, 0x50, 0x62, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x52,
0x6f, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x65,
0x72, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72,
0x55, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x73,
0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18,
0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x18, 0x0a,
0x07, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
0x72, 0x65, 0x61, 0x64, 0x43, 0x6e, 0x74, 0x22, 0xd8, 0x01, 0x0a, 0x16, 0x50, 0x62, 0x47, 0x65,
0x74, 0x4f, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x52, 0x6f, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65,
0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72,
0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d,
0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b,
0x6c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x04, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06,
0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x06, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x03, 0x6d,
0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
0x74, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x09, 0x50, 0x62, 0x50, 0x75, 0x73, 0x68, 0x4d, 0x73, 0x67,
0x12, 0x1a, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x03, 0x6d, 0x73, 0x67, 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, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x20, 0x0a, 0x0b,
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x18,
0x0a, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x55, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52,
0x07, 0x62, 0x69, 0x6e, 0x64, 0x55, 0x69, 0x6e, 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, 0x08, 0x5a, 0x06, 0x2e, 0x2f, 0x3b, 0x6d,
0x73, 0x67,
}
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, 71)
var file_msg_proto_goTypes = []interface{}{
(SyncFlag)(0), // 0: SyncFlag
(*GetMessageRequest)(nil), // 1: GetMessageRequest
(*SendMessageRequest)(nil), // 2: SendMessageRequest
(*SendMessageResponse)(nil), // 3: SendMessageResponse
(*MsgWithDrawReq)(nil), // 4: MsgWithDrawReq
(*C2CMsgWithDrawReq)(nil), // 5: C2CMsgWithDrawReq
(*GroupMsgWithDrawReq)(nil), // 6: GroupMsgWithDrawReq
(*MsgWithDrawResp)(nil), // 7: MsgWithDrawResp
(*C2CMsgWithDrawResp)(nil), // 8: C2CMsgWithDrawResp
(*GroupMsgWithDrawResp)(nil), // 9: GroupMsgWithDrawResp
(*GroupMsgInfo)(nil), // 10: GroupMsgInfo
(*C2CMsgInfo)(nil), // 11: C2CMsgInfo
(*RoutingHead)(nil), // 12: RoutingHead
(*WPATmp)(nil), // 13: WPATmp
(*C2C)(nil), // 14: C2C
(*Grp)(nil), // 15: Grp
(*GrpTmp)(nil), // 16: GrpTmp
(*MsgCtrl)(nil), // 17: MsgCtrl
(*GetMessageResponse)(nil), // 18: GetMessageResponse
(*PushMessagePacket)(nil), // 19: PushMessagePacket
(*UinPairMessage)(nil), // 20: UinPairMessage
(*Message)(nil), // 21: Message
(*MessageBody)(nil), // 22: MessageBody
(*RichText)(nil), // 23: RichText
(*Elem)(nil), // 24: Elem
(*CommonElem)(nil), // 25: CommonElem
(*QQWalletMsg)(nil), // 26: QQWalletMsg
(*QQWalletAioBody)(nil), // 27: QQWalletAioBody
(*QQWalletAioElem)(nil), // 28: QQWalletAioElem
(*RichMsg)(nil), // 29: RichMsg
(*CustomElem)(nil), // 30: CustomElem
(*Text)(nil), // 31: Text
(*Attr)(nil), // 32: Attr
(*Ptt)(nil), // 33: Ptt
(*OnlineImage)(nil), // 34: OnlineImage
(*NotOnlineImage)(nil), // 35: NotOnlineImage
(*NotOnlineFile)(nil), // 36: NotOnlineFile
(*TransElem)(nil), // 37: TransElem
(*ExtraInfo)(nil), // 38: ExtraInfo
(*GroupFile)(nil), // 39: GroupFile
(*AnonymousGroupMessage)(nil), // 40: AnonymousGroupMessage
(*VideoFile)(nil), // 41: VideoFile
(*SourceMsg)(nil), // 42: SourceMsg
(*Face)(nil), // 43: Face
(*LightAppElem)(nil), // 44: LightAppElem
(*CustomFace)(nil), // 45: CustomFace
(*ContentHead)(nil), // 46: ContentHead
(*MessageHead)(nil), // 47: MessageHead
(*GroupInfo)(nil), // 48: GroupInfo
(*DiscussInfo)(nil), // 49: DiscussInfo
(*MutilTransHead)(nil), // 50: MutilTransHead
(*C2CTempMessageHead)(nil), // 51: C2CTempMessageHead
(*InstCtrl)(nil), // 52: InstCtrl
(*InstInfo)(nil), // 53: InstInfo
(*ExtGroupKeyInfo)(nil), // 54: ExtGroupKeyInfo
(*SyncCookie)(nil), // 55: SyncCookie
(*TransMsgInfo)(nil), // 56: TransMsgInfo
(*GeneralFlags)(nil), // 57: GeneralFlags
(*PbMultiMsgItem)(nil), // 58: PbMultiMsgItem
(*PbMultiMsgNew)(nil), // 59: PbMultiMsgNew
(*PbMultiMsgTransmit)(nil), // 60: PbMultiMsgTransmit
(*MsgElemInfoServtype3)(nil), // 61: MsgElemInfo_servtype3
(*MsgElemInfoServtype33)(nil), // 62: MsgElemInfo_servtype33
(*SubMsgType0X4Body)(nil), // 63: SubMsgType0x4Body
(*ResvAttr)(nil), // 64: ResvAttr
(*AnimationImageShow)(nil), // 65: AnimationImageShow
(*UinTypeUserDef)(nil), // 66: UinTypeUserDef
(*GetGroupMsgReq)(nil), // 67: GetGroupMsgReq
(*GetGroupMsgResp)(nil), // 68: GetGroupMsgResp
(*PbGetOneDayRoamMsgReq)(nil), // 69: PbGetOneDayRoamMsgReq
(*PbGetOneDayRoamMsgResp)(nil), // 70: PbGetOneDayRoamMsgResp
(*PbPushMsg)(nil), // 71: PbPushMsg
}
var file_msg_proto_depIdxs = []int32{
0, // 0: GetMessageRequest.syncFlag:type_name -> SyncFlag
12, // 1: SendMessageRequest.routingHead:type_name -> RoutingHead
46, // 2: SendMessageRequest.contentHead:type_name -> ContentHead
22, // 3: SendMessageRequest.msgBody:type_name -> MessageBody
17, // 4: SendMessageRequest.msgCtrl:type_name -> MsgCtrl
5, // 5: MsgWithDrawReq.c2cWithDraw:type_name -> C2CMsgWithDrawReq
6, // 6: MsgWithDrawReq.groupWithDraw:type_name -> GroupMsgWithDrawReq
11, // 7: C2CMsgWithDrawReq.msgInfo:type_name -> C2CMsgInfo
10, // 8: GroupMsgWithDrawReq.msgList:type_name -> GroupMsgInfo
8, // 9: MsgWithDrawResp.c2cWithDraw:type_name -> C2CMsgWithDrawResp
9, // 10: MsgWithDrawResp.groupWithDraw:type_name -> GroupMsgWithDrawResp
12, // 11: C2CMsgInfo.routingHead:type_name -> RoutingHead
14, // 12: RoutingHead.c2c:type_name -> C2C
15, // 13: RoutingHead.grp:type_name -> Grp
16, // 14: RoutingHead.grpTmp:type_name -> GrpTmp
13, // 15: RoutingHead.wpaTmp:type_name -> WPATmp
0, // 16: GetMessageResponse.syncFlag:type_name -> SyncFlag
20, // 17: GetMessageResponse.uinPairMsgs:type_name -> UinPairMessage
21, // 18: PushMessagePacket.message:type_name -> Message
21, // 19: UinPairMessage.messages:type_name -> Message
47, // 20: Message.head:type_name -> MessageHead
46, // 21: Message.content:type_name -> ContentHead
22, // 22: Message.body:type_name -> MessageBody
23, // 23: MessageBody.richText:type_name -> RichText
32, // 24: RichText.attr:type_name -> Attr
24, // 25: RichText.elems:type_name -> Elem
36, // 26: RichText.notOnlineFile:type_name -> NotOnlineFile
33, // 27: RichText.ptt:type_name -> Ptt
31, // 28: Elem.text:type_name -> Text
43, // 29: Elem.face:type_name -> Face
34, // 30: Elem.onlineImage:type_name -> OnlineImage
35, // 31: Elem.notOnlineImage:type_name -> NotOnlineImage
37, // 32: Elem.transElemInfo:type_name -> TransElem
45, // 33: Elem.customFace:type_name -> CustomFace
29, // 34: Elem.richMsg:type_name -> RichMsg
39, // 35: Elem.groupFile:type_name -> GroupFile
38, // 36: Elem.extraInfo:type_name -> ExtraInfo
41, // 37: Elem.videoFile:type_name -> VideoFile
40, // 38: Elem.anonGroupMsg:type_name -> AnonymousGroupMessage
26, // 39: Elem.QQWalletMsg:type_name -> QQWalletMsg
30, // 40: Elem.customElem:type_name -> CustomElem
57, // 41: Elem.generalFlags:type_name -> GeneralFlags
42, // 42: Elem.srcMsg:type_name -> SourceMsg
44, // 43: Elem.lightApp:type_name -> LightAppElem
25, // 44: Elem.commonElem:type_name -> CommonElem
27, // 45: QQWalletMsg.aioBody:type_name -> QQWalletAioBody
28, // 46: QQWalletAioBody.sender:type_name -> QQWalletAioElem
28, // 47: QQWalletAioBody.receiver:type_name -> QQWalletAioElem
24, // 48: SourceMsg.elems:type_name -> Elem
51, // 49: MessageHead.c2cTmpMsgHead:type_name -> C2CTempMessageHead
48, // 50: MessageHead.groupInfo:type_name -> GroupInfo
49, // 51: MessageHead.discussInfo:type_name -> DiscussInfo
50, // 52: MessageHead.mutiltransHead:type_name -> MutilTransHead
52, // 53: MessageHead.msgInstCtrl:type_name -> InstCtrl
54, // 54: MessageHead.extGroupKeyInfo:type_name -> ExtGroupKeyInfo
53, // 55: InstCtrl.msgSendToInst:type_name -> InstInfo
53, // 56: InstCtrl.msgExcludeInst:type_name -> InstInfo
53, // 57: InstCtrl.msgFromInst:type_name -> InstInfo
54, // 58: TransMsgInfo.extGroupKeyInfo:type_name -> ExtGroupKeyInfo
59, // 59: PbMultiMsgItem.buffer:type_name -> PbMultiMsgNew
21, // 60: PbMultiMsgNew.msg:type_name -> Message
21, // 61: PbMultiMsgTransmit.msg:type_name -> Message
58, // 62: PbMultiMsgTransmit.pbItemList:type_name -> PbMultiMsgItem
45, // 63: MsgElemInfo_servtype3.flash_troop_pic:type_name -> CustomFace
35, // 64: MsgElemInfo_servtype3.flash_c2c_pic:type_name -> NotOnlineImage
36, // 65: SubMsgType0x4Body.notOnlineFile:type_name -> NotOnlineFile
65, // 66: ResvAttr.image_show:type_name -> AnimationImageShow
21, // 67: GetGroupMsgResp.msg:type_name -> Message
21, // 68: PbGetOneDayRoamMsgResp.msg:type_name -> Message
21, // 69: PbPushMsg.msg:type_name -> Message
70, // [70:70] is the sub-list for method output_type
70, // [70:70] is the sub-list for method input_type
70, // [70:70] is the sub-list for extension type_name
70, // [70:70] is the sub-list for extension extendee
0, // [0:70] 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.(*SendMessageResponse); 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.(*MsgWithDrawReq); 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.(*C2CMsgWithDrawReq); 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.(*GroupMsgWithDrawReq); 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.(*MsgWithDrawResp); 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.(*C2CMsgWithDrawResp); 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.(*GroupMsgWithDrawResp); 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.(*GroupMsgInfo); 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.(*C2CMsgInfo); 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.(*RoutingHead); 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.(*WPATmp); 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.(*C2C); 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.(*Grp); 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.(*GrpTmp); 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.(*MsgCtrl); 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.(*GetMessageResponse); 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.(*PushMessagePacket); 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.(*UinPairMessage); 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.(*Message); 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.(*MessageBody); 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.(*RichText); 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.(*Elem); 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.(*CommonElem); 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.(*QQWalletMsg); 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.(*QQWalletAioBody); 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.(*QQWalletAioElem); 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.(*RichMsg); 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.(*CustomElem); 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.(*Text); 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.(*Attr); 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.(*Ptt); 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.(*OnlineImage); 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.(*NotOnlineImage); 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.(*NotOnlineFile); 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.(*TransElem); 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.(*ExtraInfo); 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.(*GroupFile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[39].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[40].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[41].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[42].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[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LightAppElem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[44].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[45].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[46].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[47].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[48].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[49].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[50].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[51].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[52].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[53].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[54].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[55].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
}
}
file_msg_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GeneralFlags); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PbMultiMsgItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PbMultiMsgNew); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PbMultiMsgTransmit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MsgElemInfoServtype3); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MsgElemInfoServtype33); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubMsgType0X4Body); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResvAttr); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnimationImageShow); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UinTypeUserDef); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetGroupMsgReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetGroupMsgResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PbGetOneDayRoamMsgReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PbGetOneDayRoamMsgResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_msg_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PbPushMsg); 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: 71,
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
}