You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/pkg/proto/sdkws/sdkws.pb.go

8138 lines
294 KiB

2 years ago
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.29.1
// protoc v4.22.0
// source: sdkws/sdkws.proto
package sdkws
import (
wrapperspb "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type GroupInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification"`
Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"`
FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL"`
OwnerUserID string `protobuf:"bytes,6,opt,name=ownerUserID,proto3" json:"ownerUserID"`
CreateTime int64 `protobuf:"varint,7,opt,name=createTime,proto3" json:"createTime"`
MemberCount uint32 `protobuf:"varint,8,opt,name=memberCount,proto3" json:"memberCount"`
Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
Status int32 `protobuf:"varint,10,opt,name=status,proto3" json:"status"`
CreatorUserID string `protobuf:"bytes,11,opt,name=creatorUserID,proto3" json:"creatorUserID"`
GroupType int32 `protobuf:"varint,12,opt,name=groupType,proto3" json:"groupType"`
NeedVerification int32 `protobuf:"varint,13,opt,name=needVerification,proto3" json:"needVerification"`
LookMemberInfo int32 `protobuf:"varint,14,opt,name=lookMemberInfo,proto3" json:"lookMemberInfo"`
ApplyMemberFriend int32 `protobuf:"varint,15,opt,name=applyMemberFriend,proto3" json:"applyMemberFriend"`
NotificationUpdateTime int64 `protobuf:"varint,16,opt,name=notificationUpdateTime,proto3" json:"notificationUpdateTime"`
NotificationUserID string `protobuf:"bytes,17,opt,name=notificationUserID,proto3" json:"notificationUserID"`
}
func (x *GroupInfo) Reset() {
*x = GroupInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[0]
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_sdkws_sdkws_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 GroupInfo.ProtoReflect.Descriptor instead.
func (*GroupInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{0}
}
func (x *GroupInfo) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *GroupInfo) GetGroupName() string {
if x != nil {
return x.GroupName
}
return ""
}
func (x *GroupInfo) GetNotification() string {
if x != nil {
return x.Notification
}
return ""
}
func (x *GroupInfo) GetIntroduction() string {
if x != nil {
return x.Introduction
}
return ""
}
func (x *GroupInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *GroupInfo) GetOwnerUserID() string {
if x != nil {
return x.OwnerUserID
}
return ""
}
func (x *GroupInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *GroupInfo) GetMemberCount() uint32 {
if x != nil {
return x.MemberCount
}
return 0
}
func (x *GroupInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *GroupInfo) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *GroupInfo) GetCreatorUserID() string {
if x != nil {
return x.CreatorUserID
}
return ""
}
func (x *GroupInfo) GetGroupType() int32 {
if x != nil {
return x.GroupType
}
return 0
}
func (x *GroupInfo) GetNeedVerification() int32 {
if x != nil {
return x.NeedVerification
}
return 0
}
func (x *GroupInfo) GetLookMemberInfo() int32 {
if x != nil {
return x.LookMemberInfo
}
return 0
}
func (x *GroupInfo) GetApplyMemberFriend() int32 {
if x != nil {
return x.ApplyMemberFriend
}
return 0
}
func (x *GroupInfo) GetNotificationUpdateTime() int64 {
if x != nil {
return x.NotificationUpdateTime
}
return 0
}
func (x *GroupInfo) GetNotificationUserID() string {
if x != nil {
return x.NotificationUserID
}
return ""
}
type GroupInfoForSet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification"`
Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"`
FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL"`
Ex string `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
NeedVerification *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=needVerification,proto3" json:"needVerification"`
LookMemberInfo *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=lookMemberInfo,proto3" json:"lookMemberInfo"`
ApplyMemberFriend *wrapperspb.Int32Value `protobuf:"bytes,9,opt,name=applyMemberFriend,proto3" json:"applyMemberFriend"`
}
func (x *GroupInfoForSet) Reset() {
*x = GroupInfoForSet{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupInfoForSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupInfoForSet) ProtoMessage() {}
func (x *GroupInfoForSet) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupInfoForSet.ProtoReflect.Descriptor instead.
func (*GroupInfoForSet) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{1}
}
func (x *GroupInfoForSet) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *GroupInfoForSet) GetGroupName() string {
if x != nil {
return x.GroupName
}
return ""
}
func (x *GroupInfoForSet) GetNotification() string {
if x != nil {
return x.Notification
}
return ""
}
func (x *GroupInfoForSet) GetIntroduction() string {
if x != nil {
return x.Introduction
}
return ""
}
func (x *GroupInfoForSet) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *GroupInfoForSet) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *GroupInfoForSet) GetNeedVerification() *wrapperspb.Int32Value {
if x != nil {
return x.NeedVerification
}
return nil
}
func (x *GroupInfoForSet) GetLookMemberInfo() *wrapperspb.Int32Value {
if x != nil {
return x.LookMemberInfo
}
return nil
}
func (x *GroupInfoForSet) GetApplyMemberFriend() *wrapperspb.Int32Value {
if x != nil {
return x.ApplyMemberFriend
}
return nil
}
type GroupMemberFullInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel,proto3" json:"roleLevel"`
JoinTime int64 `protobuf:"varint,4,opt,name=joinTime,proto3" json:"joinTime"`
Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"`
FaceURL string `protobuf:"bytes,6,opt,name=faceURL,proto3" json:"faceURL"`
AppMangerLevel int32 `protobuf:"varint,7,opt,name=appMangerLevel,proto3" json:"appMangerLevel"` //if >0
JoinSource int32 `protobuf:"varint,8,opt,name=joinSource,proto3" json:"joinSource"`
OperatorUserID string `protobuf:"bytes,9,opt,name=operatorUserID,proto3" json:"operatorUserID"`
Ex string `protobuf:"bytes,10,opt,name=ex,proto3" json:"ex"`
MuteEndTime int64 `protobuf:"varint,11,opt,name=muteEndTime,proto3" json:"muteEndTime"`
InviterUserID string `protobuf:"bytes,12,opt,name=inviterUserID,proto3" json:"inviterUserID"`
}
func (x *GroupMemberFullInfo) Reset() {
*x = GroupMemberFullInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMemberFullInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMemberFullInfo) ProtoMessage() {}
func (x *GroupMemberFullInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupMemberFullInfo.ProtoReflect.Descriptor instead.
func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{2}
}
func (x *GroupMemberFullInfo) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *GroupMemberFullInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *GroupMemberFullInfo) GetRoleLevel() int32 {
if x != nil {
return x.RoleLevel
}
return 0
}
func (x *GroupMemberFullInfo) GetJoinTime() int64 {
if x != nil {
return x.JoinTime
}
return 0
}
func (x *GroupMemberFullInfo) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *GroupMemberFullInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *GroupMemberFullInfo) GetAppMangerLevel() int32 {
if x != nil {
return x.AppMangerLevel
}
return 0
}
func (x *GroupMemberFullInfo) GetJoinSource() int32 {
if x != nil {
return x.JoinSource
}
return 0
}
func (x *GroupMemberFullInfo) GetOperatorUserID() string {
if x != nil {
return x.OperatorUserID
}
return ""
}
func (x *GroupMemberFullInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *GroupMemberFullInfo) GetMuteEndTime() int64 {
if x != nil {
return x.MuteEndTime
}
return 0
}
func (x *GroupMemberFullInfo) GetInviterUserID() string {
if x != nil {
return x.InviterUserID
}
return ""
}
type PublicUserInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"`
FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL"`
Gender int32 `protobuf:"varint,4,opt,name=gender,proto3" json:"gender"`
Ex string `protobuf:"bytes,5,opt,name=ex,proto3" json:"ex"`
}
func (x *PublicUserInfo) Reset() {
*x = PublicUserInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicUserInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicUserInfo) ProtoMessage() {}
func (x *PublicUserInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 PublicUserInfo.ProtoReflect.Descriptor instead.
func (*PublicUserInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{3}
}
func (x *PublicUserInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *PublicUserInfo) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *PublicUserInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *PublicUserInfo) GetGender() int32 {
if x != nil {
return x.Gender
}
return 0
}
func (x *PublicUserInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type UserInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"`
FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL"`
Gender int32 `protobuf:"varint,4,opt,name=gender,proto3" json:"gender"`
PhoneNumber string `protobuf:"bytes,5,opt,name=phoneNumber,proto3" json:"phoneNumber"`
Birth uint32 `protobuf:"varint,6,opt,name=birth,proto3" json:"birth"`
Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email"`
Ex string `protobuf:"bytes,8,opt,name=ex,proto3" json:"ex"`
CreateTime int64 `protobuf:"varint,9,opt,name=createTime,proto3" json:"createTime"`
AppMangerLevel int32 `protobuf:"varint,10,opt,name=appMangerLevel,proto3" json:"appMangerLevel"`
GlobalRecvMsgOpt int32 `protobuf:"varint,11,opt,name=globalRecvMsgOpt,proto3" json:"globalRecvMsgOpt"`
Birthday int64 `protobuf:"varint,13,opt,name=birthday,proto3" json:"birthday"`
}
func (x *UserInfo) Reset() {
*x = UserInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserInfo) ProtoMessage() {}
func (x *UserInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 UserInfo.ProtoReflect.Descriptor instead.
func (*UserInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{4}
}
func (x *UserInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *UserInfo) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *UserInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *UserInfo) GetGender() int32 {
if x != nil {
return x.Gender
}
return 0
}
func (x *UserInfo) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
}
return ""
}
func (x *UserInfo) GetBirth() uint32 {
if x != nil {
return x.Birth
}
return 0
}
func (x *UserInfo) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *UserInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *UserInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *UserInfo) GetAppMangerLevel() int32 {
if x != nil {
return x.AppMangerLevel
}
return 0
}
func (x *UserInfo) GetGlobalRecvMsgOpt() int32 {
if x != nil {
return x.GlobalRecvMsgOpt
}
return 0
}
func (x *UserInfo) GetBirthday() int64 {
if x != nil {
return x.Birthday
}
return 0
}
type FriendInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
Remark string `protobuf:"bytes,2,opt,name=remark,proto3" json:"remark"`
CreateTime int64 `protobuf:"varint,3,opt,name=createTime,proto3" json:"createTime"`
FriendUser *UserInfo `protobuf:"bytes,4,opt,name=friendUser,proto3" json:"friendUser"`
AddSource int32 `protobuf:"varint,5,opt,name=addSource,proto3" json:"addSource"`
OperatorUserID string `protobuf:"bytes,6,opt,name=operatorUserID,proto3" json:"operatorUserID"`
Ex string `protobuf:"bytes,7,opt,name=ex,proto3" json:"ex"`
}
func (x *FriendInfo) Reset() {
*x = FriendInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendInfo) ProtoMessage() {}
func (x *FriendInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendInfo.ProtoReflect.Descriptor instead.
func (*FriendInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{5}
}
func (x *FriendInfo) GetOwnerUserID() string {
if x != nil {
return x.OwnerUserID
}
return ""
}
func (x *FriendInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *FriendInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *FriendInfo) GetFriendUser() *UserInfo {
if x != nil {
return x.FriendUser
}
return nil
}
func (x *FriendInfo) GetAddSource() int32 {
if x != nil {
return x.AddSource
}
return 0
}
func (x *FriendInfo) GetOperatorUserID() string {
if x != nil {
return x.OperatorUserID
}
return ""
}
func (x *FriendInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type BlackInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
CreateTime int64 `protobuf:"varint,2,opt,name=createTime,proto3" json:"createTime"`
BlackUserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=blackUserInfo,proto3" json:"blackUserInfo"`
AddSource int32 `protobuf:"varint,4,opt,name=addSource,proto3" json:"addSource"`
OperatorUserID string `protobuf:"bytes,5,opt,name=operatorUserID,proto3" json:"operatorUserID"`
Ex string `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
}
func (x *BlackInfo) Reset() {
*x = BlackInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlackInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlackInfo) ProtoMessage() {}
func (x *BlackInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 BlackInfo.ProtoReflect.Descriptor instead.
func (*BlackInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{6}
}
func (x *BlackInfo) GetOwnerUserID() string {
if x != nil {
return x.OwnerUserID
}
return ""
}
func (x *BlackInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *BlackInfo) GetBlackUserInfo() *PublicUserInfo {
if x != nil {
return x.BlackUserInfo
}
return nil
}
func (x *BlackInfo) GetAddSource() int32 {
if x != nil {
return x.AddSource
}
return 0
}
func (x *BlackInfo) GetOperatorUserID() string {
if x != nil {
return x.OperatorUserID
}
return ""
}
func (x *BlackInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type GroupRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserInfo *PublicUserInfo `protobuf:"bytes,1,opt,name=userInfo,proto3" json:"userInfo"`
GroupInfo *GroupInfo `protobuf:"bytes,2,opt,name=groupInfo,proto3" json:"groupInfo"`
HandleResult int32 `protobuf:"varint,3,opt,name=handleResult,proto3" json:"handleResult"`
ReqMsg string `protobuf:"bytes,4,opt,name=reqMsg,proto3" json:"reqMsg"`
HandleMsg string `protobuf:"bytes,5,opt,name=handleMsg,proto3" json:"handleMsg"`
ReqTime int64 `protobuf:"varint,6,opt,name=reqTime,proto3" json:"reqTime"`
HandleUserID string `protobuf:"bytes,7,opt,name=handleUserID,proto3" json:"handleUserID"`
HandleTime int64 `protobuf:"varint,8,opt,name=handleTime,proto3" json:"handleTime"`
Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
JoinSource int32 `protobuf:"varint,10,opt,name=joinSource,proto3" json:"joinSource"`
InviterUserID string `protobuf:"bytes,11,opt,name=inviterUserID,proto3" json:"inviterUserID"`
}
func (x *GroupRequest) Reset() {
*x = GroupRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupRequest) ProtoMessage() {}
func (x *GroupRequest) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupRequest.ProtoReflect.Descriptor instead.
func (*GroupRequest) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{7}
}
func (x *GroupRequest) GetUserInfo() *PublicUserInfo {
if x != nil {
return x.UserInfo
}
return nil
}
func (x *GroupRequest) GetGroupInfo() *GroupInfo {
if x != nil {
return x.GroupInfo
}
return nil
}
func (x *GroupRequest) GetHandleResult() int32 {
if x != nil {
return x.HandleResult
}
return 0
}
func (x *GroupRequest) GetReqMsg() string {
if x != nil {
return x.ReqMsg
}
return ""
}
func (x *GroupRequest) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
func (x *GroupRequest) GetReqTime() int64 {
if x != nil {
return x.ReqTime
}
return 0
}
func (x *GroupRequest) GetHandleUserID() string {
if x != nil {
return x.HandleUserID
}
return ""
}
func (x *GroupRequest) GetHandleTime() int64 {
if x != nil {
return x.HandleTime
}
return 0
}
func (x *GroupRequest) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *GroupRequest) GetJoinSource() int32 {
if x != nil {
return x.JoinSource
}
return 0
}
func (x *GroupRequest) GetInviterUserID() string {
if x != nil {
return x.InviterUserID
}
return ""
}
type FriendRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"`
FromNickname string `protobuf:"bytes,2,opt,name=fromNickname,proto3" json:"fromNickname"`
FromFaceURL string `protobuf:"bytes,3,opt,name=fromFaceURL,proto3" json:"fromFaceURL"`
FromGender int32 `protobuf:"varint,4,opt,name=fromGender,proto3" json:"fromGender"`
ToUserID string `protobuf:"bytes,5,opt,name=toUserID,proto3" json:"toUserID"`
ToNickname string `protobuf:"bytes,6,opt,name=toNickname,proto3" json:"toNickname"`
ToFaceURL string `protobuf:"bytes,7,opt,name=toFaceURL,proto3" json:"toFaceURL"`
ToGender int32 `protobuf:"varint,8,opt,name=toGender,proto3" json:"toGender"`
HandleResult int32 `protobuf:"varint,9,opt,name=handleResult,proto3" json:"handleResult"`
ReqMsg string `protobuf:"bytes,10,opt,name=reqMsg,proto3" json:"reqMsg"`
CreateTime int64 `protobuf:"varint,11,opt,name=createTime,proto3" json:"createTime"`
HandlerUserID string `protobuf:"bytes,12,opt,name=handlerUserID,proto3" json:"handlerUserID"`
HandleMsg string `protobuf:"bytes,13,opt,name=handleMsg,proto3" json:"handleMsg"`
HandleTime int64 `protobuf:"varint,14,opt,name=handleTime,proto3" json:"handleTime"`
Ex string `protobuf:"bytes,15,opt,name=ex,proto3" json:"ex"`
}
func (x *FriendRequest) Reset() {
*x = FriendRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendRequest) ProtoMessage() {}
func (x *FriendRequest) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendRequest.ProtoReflect.Descriptor instead.
func (*FriendRequest) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{8}
}
func (x *FriendRequest) GetFromUserID() string {
if x != nil {
return x.FromUserID
}
return ""
}
func (x *FriendRequest) GetFromNickname() string {
if x != nil {
return x.FromNickname
}
return ""
}
func (x *FriendRequest) GetFromFaceURL() string {
if x != nil {
return x.FromFaceURL
}
return ""
}
func (x *FriendRequest) GetFromGender() int32 {
if x != nil {
return x.FromGender
}
return 0
}
func (x *FriendRequest) GetToUserID() string {
if x != nil {
return x.ToUserID
}
return ""
}
func (x *FriendRequest) GetToNickname() string {
if x != nil {
return x.ToNickname
}
return ""
}
func (x *FriendRequest) GetToFaceURL() string {
if x != nil {
return x.ToFaceURL
}
return ""
}
func (x *FriendRequest) GetToGender() int32 {
if x != nil {
return x.ToGender
}
return 0
}
func (x *FriendRequest) GetHandleResult() int32 {
if x != nil {
return x.HandleResult
}
return 0
}
func (x *FriendRequest) GetReqMsg() string {
if x != nil {
return x.ReqMsg
}
return ""
}
func (x *FriendRequest) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *FriendRequest) GetHandlerUserID() string {
if x != nil {
return x.HandlerUserID
}
return ""
}
func (x *FriendRequest) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
func (x *FriendRequest) GetHandleTime() int64 {
if x != nil {
return x.HandleTime
}
return 0
}
func (x *FriendRequest) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
// /////////////////////////////////base end/////////////////////////////////////
type PullMessageBySeqsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
Seqs []int64 `protobuf:"varint,3,rep,packed,name=seqs,proto3" json:"seqs"`
GroupSeqs map[string]*Seqs `protobuf:"bytes,4,rep,name=groupSeqs,proto3" json:"groupSeqs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *PullMessageBySeqsReq) Reset() {
*x = PullMessageBySeqsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PullMessageBySeqsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PullMessageBySeqsReq) ProtoMessage() {}
func (x *PullMessageBySeqsReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 PullMessageBySeqsReq.ProtoReflect.Descriptor instead.
func (*PullMessageBySeqsReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{9}
}
func (x *PullMessageBySeqsReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *PullMessageBySeqsReq) GetSeqs() []int64 {
if x != nil {
return x.Seqs
}
return nil
}
func (x *PullMessageBySeqsReq) GetGroupSeqs() map[string]*Seqs {
if x != nil {
return x.GroupSeqs
}
return nil
}
type Seqs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Seqs []int64 `protobuf:"varint,1,rep,packed,name=seqs,proto3" json:"seqs"`
}
func (x *Seqs) Reset() {
*x = Seqs{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Seqs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Seqs) ProtoMessage() {}
func (x *Seqs) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 Seqs.ProtoReflect.Descriptor instead.
func (*Seqs) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{10}
}
func (x *Seqs) GetSeqs() []int64 {
if x != nil {
return x.Seqs
}
return nil
}
type MsgDataList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgDataList []*MsgData `protobuf:"bytes,1,rep,name=msgDataList,proto3" json:"msgDataList"`
}
func (x *MsgDataList) Reset() {
*x = MsgDataList{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgDataList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgDataList) ProtoMessage() {}
func (x *MsgDataList) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 MsgDataList.ProtoReflect.Descriptor instead.
func (*MsgDataList) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{11}
}
func (x *MsgDataList) GetMsgDataList() []*MsgData {
if x != nil {
return x.MsgDataList
}
return nil
}
type PullMessageBySeqsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*MsgData `protobuf:"bytes,1,rep,name=list,proto3" json:"list"`
GroupMsgDataList map[string]*MsgDataList `protobuf:"bytes,2,rep,name=groupMsgDataList,proto3" json:"groupMsgDataList" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *PullMessageBySeqsResp) Reset() {
*x = PullMessageBySeqsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PullMessageBySeqsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PullMessageBySeqsResp) ProtoMessage() {}
func (x *PullMessageBySeqsResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 PullMessageBySeqsResp.ProtoReflect.Descriptor instead.
func (*PullMessageBySeqsResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{12}
}
func (x *PullMessageBySeqsResp) GetList() []*MsgData {
if x != nil {
return x.List
}
return nil
}
func (x *PullMessageBySeqsResp) GetGroupMsgDataList() map[string]*MsgDataList {
if x != nil {
return x.GroupMsgDataList
}
return nil
}
type GetMaxAndMinSeqReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupIDs []string `protobuf:"bytes,1,rep,name=groupIDs,proto3" json:"groupIDs"`
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
}
func (x *GetMaxAndMinSeqReq) Reset() {
*x = GetMaxAndMinSeqReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMaxAndMinSeqReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (x *GetMaxAndMinSeqReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GetMaxAndMinSeqReq.ProtoReflect.Descriptor instead.
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{13}
}
func (x *GetMaxAndMinSeqReq) GetGroupIDs() []string {
if x != nil {
return x.GroupIDs
}
return nil
}
func (x *GetMaxAndMinSeqReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
type MaxAndMinSeq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MaxSeq int64 `protobuf:"varint,1,opt,name=maxSeq,proto3" json:"maxSeq"`
MinSeq int64 `protobuf:"varint,2,opt,name=minSeq,proto3" json:"minSeq"`
}
func (x *MaxAndMinSeq) Reset() {
*x = MaxAndMinSeq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MaxAndMinSeq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MaxAndMinSeq) ProtoMessage() {}
func (x *MaxAndMinSeq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 MaxAndMinSeq.ProtoReflect.Descriptor instead.
func (*MaxAndMinSeq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{14}
}
func (x *MaxAndMinSeq) GetMaxSeq() int64 {
if x != nil {
return x.MaxSeq
}
return 0
}
func (x *MaxAndMinSeq) GetMinSeq() int64 {
if x != nil {
return x.MinSeq
}
return 0
}
type GetMaxAndMinSeqResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MaxSeq int64 `protobuf:"varint,1,opt,name=maxSeq,proto3" json:"maxSeq"`
MinSeq int64 `protobuf:"varint,2,opt,name=minSeq,proto3" json:"minSeq"`
GroupMaxAndMinSeq map[string]*MaxAndMinSeq `protobuf:"bytes,5,rep,name=groupMaxAndMinSeq,proto3" json:"groupMaxAndMinSeq" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *GetMaxAndMinSeqResp) Reset() {
*x = GetMaxAndMinSeqResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMaxAndMinSeqResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (x *GetMaxAndMinSeqResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GetMaxAndMinSeqResp.ProtoReflect.Descriptor instead.
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{15}
}
func (x *GetMaxAndMinSeqResp) GetMaxSeq() int64 {
if x != nil {
return x.MaxSeq
}
return 0
}
func (x *GetMaxAndMinSeqResp) GetMinSeq() int64 {
if x != nil {
return x.MinSeq
}
return 0
}
func (x *GetMaxAndMinSeqResp) GetGroupMaxAndMinSeq() map[string]*MaxAndMinSeq {
if x != nil {
return x.GroupMaxAndMinSeq
}
return nil
}
type UserSendMsgResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID,proto3" json:"serverMsgID"`
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
SendTime int64 `protobuf:"varint,3,opt,name=sendTime,proto3" json:"sendTime"`
}
func (x *UserSendMsgResp) Reset() {
*x = UserSendMsgResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserSendMsgResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSendMsgResp) ProtoMessage() {}
func (x *UserSendMsgResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 UserSendMsgResp.ProtoReflect.Descriptor instead.
func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{16}
}
func (x *UserSendMsgResp) GetServerMsgID() string {
if x != nil {
return x.ServerMsgID
}
return ""
}
func (x *UserSendMsgResp) GetClientMsgID() string {
if x != nil {
return x.ClientMsgID
}
return ""
}
func (x *UserSendMsgResp) GetSendTime() int64 {
if x != nil {
return x.SendTime
}
return 0
}
type MsgData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SendID string `protobuf:"bytes,1,opt,name=sendID,proto3" json:"sendID"`
RecvID string `protobuf:"bytes,2,opt,name=recvID,proto3" json:"recvID"`
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
ClientMsgID string `protobuf:"bytes,4,opt,name=clientMsgID,proto3" json:"clientMsgID"`
ServerMsgID string `protobuf:"bytes,5,opt,name=serverMsgID,proto3" json:"serverMsgID"`
SenderPlatformID int32 `protobuf:"varint,6,opt,name=senderPlatformID,proto3" json:"senderPlatformID"`
SenderNickname string `protobuf:"bytes,7,opt,name=senderNickname,proto3" json:"senderNickname"`
SenderFaceURL string `protobuf:"bytes,8,opt,name=senderFaceURL,proto3" json:"senderFaceURL"`
SessionType int32 `protobuf:"varint,9,opt,name=sessionType,proto3" json:"sessionType"`
MsgFrom int32 `protobuf:"varint,10,opt,name=msgFrom,proto3" json:"msgFrom"`
ContentType int32 `protobuf:"varint,11,opt,name=contentType,proto3" json:"contentType"`
Content []byte `protobuf:"bytes,12,opt,name=content,proto3" json:"content"`
Seq int64 `protobuf:"varint,14,opt,name=seq,proto3" json:"seq"`
SendTime int64 `protobuf:"varint,15,opt,name=sendTime,proto3" json:"sendTime"`
CreateTime int64 `protobuf:"varint,16,opt,name=createTime,proto3" json:"createTime"`
Status int32 `protobuf:"varint,17,opt,name=status,proto3" json:"status"`
Options map[string]bool `protobuf:"bytes,18,rep,name=options,proto3" json:"options" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,19,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
AtUserIDList []string `protobuf:"bytes,20,rep,name=atUserIDList,proto3" json:"atUserIDList"`
MsgDataList []byte `protobuf:"bytes,21,opt,name=msgDataList,proto3" json:"msgDataList"`
AttachedInfo string `protobuf:"bytes,22,opt,name=attachedInfo,proto3" json:"attachedInfo"`
Ex string `protobuf:"bytes,23,opt,name=ex,proto3" json:"ex"`
}
func (x *MsgData) Reset() {
*x = MsgData{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgData) ProtoMessage() {}
func (x *MsgData) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 MsgData.ProtoReflect.Descriptor instead.
func (*MsgData) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{17}
}
func (x *MsgData) GetSendID() string {
if x != nil {
return x.SendID
}
return ""
}
func (x *MsgData) GetRecvID() string {
if x != nil {
return x.RecvID
}
return ""
}
func (x *MsgData) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *MsgData) GetClientMsgID() string {
if x != nil {
return x.ClientMsgID
}
return ""
}
func (x *MsgData) GetServerMsgID() string {
if x != nil {
return x.ServerMsgID
}
return ""
}
func (x *MsgData) GetSenderPlatformID() int32 {
if x != nil {
return x.SenderPlatformID
}
return 0
}
func (x *MsgData) GetSenderNickname() string {
if x != nil {
return x.SenderNickname
}
return ""
}
func (x *MsgData) GetSenderFaceURL() string {
if x != nil {
return x.SenderFaceURL
}
return ""
}
func (x *MsgData) GetSessionType() int32 {
if x != nil {
return x.SessionType
}
return 0
}
func (x *MsgData) GetMsgFrom() int32 {
if x != nil {
return x.MsgFrom
}
return 0
}
func (x *MsgData) GetContentType() int32 {
if x != nil {
return x.ContentType
}
return 0
}
func (x *MsgData) GetContent() []byte {
if x != nil {
return x.Content
}
return nil
}
func (x *MsgData) GetSeq() int64 {
if x != nil {
return x.Seq
}
return 0
}
func (x *MsgData) GetSendTime() int64 {
if x != nil {
return x.SendTime
}
return 0
}
func (x *MsgData) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *MsgData) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *MsgData) GetOptions() map[string]bool {
if x != nil {
return x.Options
}
return nil
}
func (x *MsgData) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *MsgData) GetAtUserIDList() []string {
if x != nil {
return x.AtUserIDList
}
return nil
}
func (x *MsgData) GetMsgDataList() []byte {
if x != nil {
return x.MsgDataList
}
return nil
}
func (x *MsgData) GetAttachedInfo() string {
if x != nil {
return x.AttachedInfo
}
return ""
}
func (x *MsgData) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type OfflinePushInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"`
Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc"`
Ex string `protobuf:"bytes,3,opt,name=ex,proto3" json:"ex"`
IOSPushSound string `protobuf:"bytes,4,opt,name=iOSPushSound,proto3" json:"iOSPushSound"`
IOSBadgeCount bool `protobuf:"varint,5,opt,name=iOSBadgeCount,proto3" json:"iOSBadgeCount"`
}
func (x *OfflinePushInfo) Reset() {
*x = OfflinePushInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OfflinePushInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OfflinePushInfo) ProtoMessage() {}
func (x *OfflinePushInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 OfflinePushInfo.ProtoReflect.Descriptor instead.
func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{18}
}
func (x *OfflinePushInfo) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *OfflinePushInfo) GetDesc() string {
if x != nil {
return x.Desc
}
return ""
}
func (x *OfflinePushInfo) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
func (x *OfflinePushInfo) GetIOSPushSound() string {
if x != nil {
return x.IOSPushSound
}
return ""
}
func (x *OfflinePushInfo) GetIOSBadgeCount() bool {
if x != nil {
return x.IOSBadgeCount
}
return false
}
type TipsComm struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Detail []byte `protobuf:"bytes,1,opt,name=detail,proto3" json:"detail"`
DefaultTips string `protobuf:"bytes,2,opt,name=defaultTips,proto3" json:"defaultTips"`
JsonDetail string `protobuf:"bytes,3,opt,name=jsonDetail,proto3" json:"jsonDetail"`
}
func (x *TipsComm) Reset() {
*x = TipsComm{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TipsComm) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TipsComm) ProtoMessage() {}
func (x *TipsComm) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 TipsComm.ProtoReflect.Descriptor instead.
func (*TipsComm) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{19}
}
func (x *TipsComm) GetDetail() []byte {
if x != nil {
return x.Detail
}
return nil
}
func (x *TipsComm) GetDefaultTips() string {
if x != nil {
return x.DefaultTips
}
return ""
}
func (x *TipsComm) GetJsonDetail() string {
if x != nil {
return x.JsonDetail
}
return ""
}
// OnGroupCreated()
type GroupCreatedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
MemberList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList"`
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
GroupOwnerUser *GroupMemberFullInfo `protobuf:"bytes,5,opt,name=groupOwnerUser,proto3" json:"groupOwnerUser"`
}
func (x *GroupCreatedTips) Reset() {
*x = GroupCreatedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupCreatedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupCreatedTips) ProtoMessage() {}
func (x *GroupCreatedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupCreatedTips.ProtoReflect.Descriptor instead.
func (*GroupCreatedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{20}
}
func (x *GroupCreatedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupCreatedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupCreatedTips) GetMemberList() []*GroupMemberFullInfo {
if x != nil {
return x.MemberList
}
return nil
}
func (x *GroupCreatedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *GroupCreatedTips) GetGroupOwnerUser() *GroupMemberFullInfo {
if x != nil {
return x.GroupOwnerUser
}
return nil
}
// OnGroupInfoSet()
type GroupInfoSetTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser,proto3" json:"opUser"` //who do this
MuteTime int64 `protobuf:"varint,2,opt,name=muteTime,proto3" json:"muteTime"`
Group *GroupInfo `protobuf:"bytes,3,opt,name=group,proto3" json:"group"`
}
func (x *GroupInfoSetTips) Reset() {
*x = GroupInfoSetTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupInfoSetTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupInfoSetTips) ProtoMessage() {}
func (x *GroupInfoSetTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupInfoSetTips.ProtoReflect.Descriptor instead.
func (*GroupInfoSetTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{21}
}
func (x *GroupInfoSetTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupInfoSetTips) GetMuteTime() int64 {
if x != nil {
return x.MuteTime
}
return 0
}
func (x *GroupInfoSetTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
// OnJoinGroupApplication()
type JoinGroupApplicationTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=applicant,proto3" json:"applicant"`
ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg,proto3" json:"reqMsg"`
}
func (x *JoinGroupApplicationTips) Reset() {
*x = JoinGroupApplicationTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *JoinGroupApplicationTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JoinGroupApplicationTips) ProtoMessage() {}
func (x *JoinGroupApplicationTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 JoinGroupApplicationTips.ProtoReflect.Descriptor instead.
func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{22}
}
func (x *JoinGroupApplicationTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *JoinGroupApplicationTips) GetApplicant() *PublicUserInfo {
if x != nil {
return x.Applicant
}
return nil
}
func (x *JoinGroupApplicationTips) GetReqMsg() string {
if x != nil {
return x.ReqMsg
}
return ""
}
// OnQuitGroup()
//
// Actively leave the group
type MemberQuitTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
QuitUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=quitUser,proto3" json:"quitUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *MemberQuitTips) Reset() {
*x = MemberQuitTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MemberQuitTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberQuitTips) ProtoMessage() {}
func (x *MemberQuitTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 MemberQuitTips.ProtoReflect.Descriptor instead.
func (*MemberQuitTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{23}
}
func (x *MemberQuitTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *MemberQuitTips) GetQuitUser() *GroupMemberFullInfo {
if x != nil {
return x.QuitUser
}
return nil
}
func (x *MemberQuitTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
// OnApplicationGroupAccepted()
type GroupApplicationAcceptedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs,proto3" json:"receiverAs"` // admin(==1) or applicant(==0)
}
func (x *GroupApplicationAcceptedTips) Reset() {
*x = GroupApplicationAcceptedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupApplicationAcceptedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupApplicationAcceptedTips) ProtoMessage() {}
func (x *GroupApplicationAcceptedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupApplicationAcceptedTips.ProtoReflect.Descriptor instead.
func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{24}
}
func (x *GroupApplicationAcceptedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupApplicationAcceptedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupApplicationAcceptedTips) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
func (x *GroupApplicationAcceptedTips) GetReceiverAs() int32 {
if x != nil {
return x.ReceiverAs
}
return 0
}
// OnApplicationGroupRejected()
type GroupApplicationRejectedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs,proto3" json:"receiverAs"` // admin(==1) or applicant(==0)
}
func (x *GroupApplicationRejectedTips) Reset() {
*x = GroupApplicationRejectedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupApplicationRejectedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupApplicationRejectedTips) ProtoMessage() {}
func (x *GroupApplicationRejectedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupApplicationRejectedTips.ProtoReflect.Descriptor instead.
func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{25}
}
func (x *GroupApplicationRejectedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupApplicationRejectedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupApplicationRejectedTips) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
func (x *GroupApplicationRejectedTips) GetReceiverAs() int32 {
if x != nil {
return x.ReceiverAs
}
return 0
}
// OnTransferGroupOwner()
type GroupOwnerTransferredTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
NewGroupOwner *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=newGroupOwner,proto3" json:"newGroupOwner"`
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *GroupOwnerTransferredTips) Reset() {
*x = GroupOwnerTransferredTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupOwnerTransferredTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupOwnerTransferredTips) ProtoMessage() {}
func (x *GroupOwnerTransferredTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupOwnerTransferredTips.ProtoReflect.Descriptor instead.
func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{26}
}
func (x *GroupOwnerTransferredTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupOwnerTransferredTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupOwnerTransferredTips) GetNewGroupOwner() *GroupMemberFullInfo {
if x != nil {
return x.NewGroupOwner
}
return nil
}
func (x *GroupOwnerTransferredTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
// OnMemberKicked()
type MemberKickedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
KickedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=kickedUserList,proto3" json:"kickedUserList"`
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *MemberKickedTips) Reset() {
*x = MemberKickedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MemberKickedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberKickedTips) ProtoMessage() {}
func (x *MemberKickedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 MemberKickedTips.ProtoReflect.Descriptor instead.
func (*MemberKickedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{27}
}
func (x *MemberKickedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *MemberKickedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *MemberKickedTips) GetKickedUserList() []*GroupMemberFullInfo {
if x != nil {
return x.KickedUserList
}
return nil
}
func (x *MemberKickedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
// OnMemberInvited()
type MemberInvitedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
InvitedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=invitedUserList,proto3" json:"invitedUserList"`
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *MemberInvitedTips) Reset() {
*x = MemberInvitedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MemberInvitedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberInvitedTips) ProtoMessage() {}
func (x *MemberInvitedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 MemberInvitedTips.ProtoReflect.Descriptor instead.
func (*MemberInvitedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{28}
}
func (x *MemberInvitedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *MemberInvitedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *MemberInvitedTips) GetInvitedUserList() []*GroupMemberFullInfo {
if x != nil {
return x.InvitedUserList
}
return nil
}
func (x *MemberInvitedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
// Actively join the group
type MemberEnterTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
EntrantUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=entrantUser,proto3" json:"entrantUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *MemberEnterTips) Reset() {
*x = MemberEnterTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MemberEnterTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberEnterTips) ProtoMessage() {}
func (x *MemberEnterTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 MemberEnterTips.ProtoReflect.Descriptor instead.
func (*MemberEnterTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{29}
}
func (x *MemberEnterTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *MemberEnterTips) GetEntrantUser() *GroupMemberFullInfo {
if x != nil {
return x.EntrantUser
}
return nil
}
func (x *MemberEnterTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
type GroupDismissedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *GroupDismissedTips) Reset() {
*x = GroupDismissedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupDismissedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupDismissedTips) ProtoMessage() {}
func (x *GroupDismissedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupDismissedTips.ProtoReflect.Descriptor instead.
func (*GroupDismissedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{30}
}
func (x *GroupDismissedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupDismissedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupDismissedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
type GroupMemberMutedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser,proto3" json:"mutedUser"`
MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds,proto3" json:"mutedSeconds"`
}
func (x *GroupMemberMutedTips) Reset() {
*x = GroupMemberMutedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMemberMutedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMemberMutedTips) ProtoMessage() {}
func (x *GroupMemberMutedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupMemberMutedTips.ProtoReflect.Descriptor instead.
func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{31}
}
func (x *GroupMemberMutedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupMemberMutedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupMemberMutedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *GroupMemberMutedTips) GetMutedUser() *GroupMemberFullInfo {
if x != nil {
return x.MutedUser
}
return nil
}
func (x *GroupMemberMutedTips) GetMutedSeconds() uint32 {
if x != nil {
return x.MutedSeconds
}
return 0
}
type GroupMemberCancelMutedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser,proto3" json:"mutedUser"`
}
func (x *GroupMemberCancelMutedTips) Reset() {
*x = GroupMemberCancelMutedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMemberCancelMutedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMemberCancelMutedTips) ProtoMessage() {}
func (x *GroupMemberCancelMutedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupMemberCancelMutedTips.ProtoReflect.Descriptor instead.
func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{32}
}
func (x *GroupMemberCancelMutedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupMemberCancelMutedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupMemberCancelMutedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *GroupMemberCancelMutedTips) GetMutedUser() *GroupMemberFullInfo {
if x != nil {
return x.MutedUser
}
return nil
}
type GroupMutedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *GroupMutedTips) Reset() {
*x = GroupMutedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMutedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMutedTips) ProtoMessage() {}
func (x *GroupMutedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupMutedTips.ProtoReflect.Descriptor instead.
func (*GroupMutedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{33}
}
func (x *GroupMutedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupMutedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupMutedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
type GroupCancelMutedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
}
func (x *GroupCancelMutedTips) Reset() {
*x = GroupCancelMutedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupCancelMutedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupCancelMutedTips) ProtoMessage() {}
func (x *GroupCancelMutedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupCancelMutedTips.ProtoReflect.Descriptor instead.
func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{34}
}
func (x *GroupCancelMutedTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupCancelMutedTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupCancelMutedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
type GroupMemberInfoSetTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
ChangedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=changedUser,proto3" json:"changedUser"`
}
func (x *GroupMemberInfoSetTips) Reset() {
*x = GroupMemberInfoSetTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupMemberInfoSetTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupMemberInfoSetTips) ProtoMessage() {}
func (x *GroupMemberInfoSetTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 GroupMemberInfoSetTips.ProtoReflect.Descriptor instead.
func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{35}
}
func (x *GroupMemberInfoSetTips) GetGroup() *GroupInfo {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupMemberInfoSetTips) GetOpUser() *GroupMemberFullInfo {
if x != nil {
return x.OpUser
}
return nil
}
func (x *GroupMemberInfoSetTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *GroupMemberInfoSetTips) GetChangedUser() *GroupMemberFullInfo {
if x != nil {
return x.ChangedUser
}
return nil
}
type FriendApplication struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AddTime int64 `protobuf:"varint,1,opt,name=addTime,proto3" json:"addTime"`
AddSource string `protobuf:"bytes,2,opt,name=addSource,proto3" json:"addSource"`
AddWording string `protobuf:"bytes,3,opt,name=addWording,proto3" json:"addWording"`
}
func (x *FriendApplication) Reset() {
*x = FriendApplication{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendApplication) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendApplication) ProtoMessage() {}
func (x *FriendApplication) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendApplication.ProtoReflect.Descriptor instead.
func (*FriendApplication) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{36}
}
func (x *FriendApplication) GetAddTime() int64 {
if x != nil {
return x.AddTime
}
return 0
}
func (x *FriendApplication) GetAddSource() string {
if x != nil {
return x.AddSource
}
return ""
}
func (x *FriendApplication) GetAddWording() string {
if x != nil {
return x.AddWording
}
return ""
}
type FromToUserID struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"`
ToUserID string `protobuf:"bytes,2,opt,name=toUserID,proto3" json:"toUserID"`
}
func (x *FromToUserID) Reset() {
*x = FromToUserID{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FromToUserID) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FromToUserID) ProtoMessage() {}
func (x *FromToUserID) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FromToUserID.ProtoReflect.Descriptor instead.
func (*FromToUserID) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{37}
}
func (x *FromToUserID) GetFromUserID() string {
if x != nil {
return x.FromUserID
}
return ""
}
func (x *FromToUserID) GetToUserID() string {
if x != nil {
return x.ToUserID
}
return ""
}
// FromUserID apply to add ToUserID
type FriendApplicationTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //from发起者 to接收者
}
func (x *FriendApplicationTips) Reset() {
*x = FriendApplicationTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendApplicationTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendApplicationTips) ProtoMessage() {}
func (x *FriendApplicationTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendApplicationTips.ProtoReflect.Descriptor instead.
func (*FriendApplicationTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{38}
}
func (x *FriendApplicationTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
// FromUserID accept or reject ToUserID
type FriendApplicationApprovedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //from同意者to请求发起者
HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg,proto3" json:"handleMsg"`
}
func (x *FriendApplicationApprovedTips) Reset() {
*x = FriendApplicationApprovedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendApplicationApprovedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendApplicationApprovedTips) ProtoMessage() {}
func (x *FriendApplicationApprovedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendApplicationApprovedTips.ProtoReflect.Descriptor instead.
func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{39}
}
func (x *FriendApplicationApprovedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
func (x *FriendApplicationApprovedTips) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
// FromUserID accept or reject ToUserID
type FriendApplicationRejectedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //from拒绝者to请求发起者
HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg,proto3" json:"handleMsg"`
}
func (x *FriendApplicationRejectedTips) Reset() {
*x = FriendApplicationRejectedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendApplicationRejectedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendApplicationRejectedTips) ProtoMessage() {}
func (x *FriendApplicationRejectedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendApplicationRejectedTips.ProtoReflect.Descriptor instead.
func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{40}
}
func (x *FriendApplicationRejectedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
func (x *FriendApplicationRejectedTips) GetHandleMsg() string {
if x != nil {
return x.HandleMsg
}
return ""
}
// FromUserID Added a friend ToUserID
type FriendAddedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Friend *FriendInfo `protobuf:"bytes,1,opt,name=friend,proto3" json:"friend"`
OperationTime int64 `protobuf:"varint,2,opt,name=operationTime,proto3" json:"operationTime"`
OpUser *PublicUserInfo `protobuf:"bytes,3,opt,name=opUser,proto3" json:"opUser"` //who do this
}
func (x *FriendAddedTips) Reset() {
*x = FriendAddedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendAddedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendAddedTips) ProtoMessage() {}
func (x *FriendAddedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendAddedTips.ProtoReflect.Descriptor instead.
func (*FriendAddedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{41}
}
func (x *FriendAddedTips) GetFriend() *FriendInfo {
if x != nil {
return x.Friend
}
return nil
}
func (x *FriendAddedTips) GetOperationTime() int64 {
if x != nil {
return x.OperationTime
}
return 0
}
func (x *FriendAddedTips) GetOpUser() *PublicUserInfo {
if x != nil {
return x.OpUser
}
return nil
}
// FromUserID deleted a friend ToUserID
type FriendDeletedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //fromowner tofriend
}
func (x *FriendDeletedTips) Reset() {
*x = FriendDeletedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendDeletedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendDeletedTips) ProtoMessage() {}
func (x *FriendDeletedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendDeletedTips.ProtoReflect.Descriptor instead.
func (*FriendDeletedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{42}
}
func (x *FriendDeletedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
type BlackAddedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //fromowner toblack
}
func (x *BlackAddedTips) Reset() {
*x = BlackAddedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlackAddedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlackAddedTips) ProtoMessage() {}
func (x *BlackAddedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 BlackAddedTips.ProtoReflect.Descriptor instead.
func (*BlackAddedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{43}
}
func (x *BlackAddedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
type BlackDeletedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //fromowner toblack
}
func (x *BlackDeletedTips) Reset() {
*x = BlackDeletedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlackDeletedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlackDeletedTips) ProtoMessage() {}
func (x *BlackDeletedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 BlackDeletedTips.ProtoReflect.Descriptor instead.
func (*BlackDeletedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{44}
}
func (x *BlackDeletedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
type FriendInfoChangedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //fromchanged tofriend
}
func (x *FriendInfoChangedTips) Reset() {
*x = FriendInfoChangedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FriendInfoChangedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FriendInfoChangedTips) ProtoMessage() {}
func (x *FriendInfoChangedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 FriendInfoChangedTips.ProtoReflect.Descriptor instead.
func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{45}
}
func (x *FriendInfoChangedTips) GetFromToUserID() *FromToUserID {
if x != nil {
return x.FromToUserID
}
return nil
}
// ////////////////////user/////////////////////
type UserInfoUpdatedTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
}
func (x *UserInfoUpdatedTips) Reset() {
*x = UserInfoUpdatedTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserInfoUpdatedTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserInfoUpdatedTips) ProtoMessage() {}
func (x *UserInfoUpdatedTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 UserInfoUpdatedTips.ProtoReflect.Descriptor instead.
func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{46}
}
func (x *UserInfoUpdatedTips) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
// ////////////////////conversation/////////////////////
type ConversationUpdateTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID"`
ConversationIDList []string `protobuf:"bytes,2,rep,name=conversationIDList,proto3" json:"conversationIDList"`
UpdateUnreadCountTime int64 `protobuf:"varint,3,opt,name=updateUnreadCountTime,proto3" json:"updateUnreadCountTime"`
}
func (x *ConversationUpdateTips) Reset() {
*x = ConversationUpdateTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConversationUpdateTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConversationUpdateTips) ProtoMessage() {}
func (x *ConversationUpdateTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 ConversationUpdateTips.ProtoReflect.Descriptor instead.
func (*ConversationUpdateTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{47}
}
func (x *ConversationUpdateTips) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *ConversationUpdateTips) GetConversationIDList() []string {
if x != nil {
return x.ConversationIDList
}
return nil
}
func (x *ConversationUpdateTips) GetUpdateUnreadCountTime() int64 {
if x != nil {
return x.UpdateUnreadCountTime
}
return 0
}
type ConversationSetPrivateTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RecvID string `protobuf:"bytes,1,opt,name=recvID,proto3" json:"recvID"`
SendID string `protobuf:"bytes,2,opt,name=sendID,proto3" json:"sendID"`
IsPrivate bool `protobuf:"varint,3,opt,name=isPrivate,proto3" json:"isPrivate"`
}
func (x *ConversationSetPrivateTips) Reset() {
*x = ConversationSetPrivateTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConversationSetPrivateTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConversationSetPrivateTips) ProtoMessage() {}
func (x *ConversationSetPrivateTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 ConversationSetPrivateTips.ProtoReflect.Descriptor instead.
func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{48}
}
func (x *ConversationSetPrivateTips) GetRecvID() string {
if x != nil {
return x.RecvID
}
return ""
}
func (x *ConversationSetPrivateTips) GetSendID() string {
if x != nil {
return x.SendID
}
return ""
}
func (x *ConversationSetPrivateTips) GetIsPrivate() bool {
if x != nil {
return x.IsPrivate
}
return false
}
// //////////////////message///////////////////////
type DeleteMessageTips struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
Seqs []int64 `protobuf:"varint,3,rep,packed,name=seqs,proto3" json:"seqs"`
}
func (x *DeleteMessageTips) Reset() {
*x = DeleteMessageTips{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteMessageTips) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteMessageTips) ProtoMessage() {}
func (x *DeleteMessageTips) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 DeleteMessageTips.ProtoReflect.Descriptor instead.
func (*DeleteMessageTips) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{49}
}
func (x *DeleteMessageTips) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *DeleteMessageTips) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *DeleteMessageTips) GetSeqs() []int64 {
if x != nil {
return x.Seqs
}
return nil
}
// /cms
type RequestPagination struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PageNumber int32 `protobuf:"varint,1,opt,name=pageNumber,proto3" json:"pageNumber"`
ShowNumber int32 `protobuf:"varint,2,opt,name=showNumber,proto3" json:"showNumber"`
}
func (x *RequestPagination) Reset() {
*x = RequestPagination{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestPagination) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestPagination) ProtoMessage() {}
func (x *RequestPagination) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 RequestPagination.ProtoReflect.Descriptor instead.
func (*RequestPagination) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{50}
}
func (x *RequestPagination) GetPageNumber() int32 {
if x != nil {
return x.PageNumber
}
return 0
}
func (x *RequestPagination) GetShowNumber() int32 {
if x != nil {
return x.ShowNumber
}
return 0
}
// /////////////////signal//////////////
type SignalReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Payload:
//
// *SignalReq_Invite
// *SignalReq_InviteInGroup
// *SignalReq_Cancel
// *SignalReq_Accept
// *SignalReq_HungUp
// *SignalReq_Reject
// *SignalReq_GetRoomByGroupID
// *SignalReq_OnRoomParticipantConnectedReq
// *SignalReq_OnRoomParticipantDisconnectedReq
// *SignalReq_GetTokenByRoomID
Payload isSignalReq_Payload `protobuf_oneof:"payload"`
}
func (x *SignalReq) Reset() {
*x = SignalReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalReq) ProtoMessage() {}
func (x *SignalReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalReq.ProtoReflect.Descriptor instead.
func (*SignalReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{51}
}
func (m *SignalReq) GetPayload() isSignalReq_Payload {
if m != nil {
return m.Payload
}
return nil
}
func (x *SignalReq) GetInvite() *SignalInviteReq {
if x, ok := x.GetPayload().(*SignalReq_Invite); ok {
return x.Invite
}
return nil
}
func (x *SignalReq) GetInviteInGroup() *SignalInviteInGroupReq {
if x, ok := x.GetPayload().(*SignalReq_InviteInGroup); ok {
return x.InviteInGroup
}
return nil
}
func (x *SignalReq) GetCancel() *SignalCancelReq {
if x, ok := x.GetPayload().(*SignalReq_Cancel); ok {
return x.Cancel
}
return nil
}
func (x *SignalReq) GetAccept() *SignalAcceptReq {
if x, ok := x.GetPayload().(*SignalReq_Accept); ok {
return x.Accept
}
return nil
}
func (x *SignalReq) GetHungUp() *SignalHungUpReq {
if x, ok := x.GetPayload().(*SignalReq_HungUp); ok {
return x.HungUp
}
return nil
}
func (x *SignalReq) GetReject() *SignalRejectReq {
if x, ok := x.GetPayload().(*SignalReq_Reject); ok {
return x.Reject
}
return nil
}
func (x *SignalReq) GetGetRoomByGroupID() *SignalGetRoomByGroupIDReq {
if x, ok := x.GetPayload().(*SignalReq_GetRoomByGroupID); ok {
return x.GetRoomByGroupID
}
return nil
}
func (x *SignalReq) GetOnRoomParticipantConnectedReq() *SignalOnRoomParticipantConnectedReq {
if x, ok := x.GetPayload().(*SignalReq_OnRoomParticipantConnectedReq); ok {
return x.OnRoomParticipantConnectedReq
}
return nil
}
func (x *SignalReq) GetOnRoomParticipantDisconnectedReq() *SignalOnRoomParticipantDisconnectedReq {
if x, ok := x.GetPayload().(*SignalReq_OnRoomParticipantDisconnectedReq); ok {
return x.OnRoomParticipantDisconnectedReq
}
return nil
}
func (x *SignalReq) GetGetTokenByRoomID() *SignalGetTokenByRoomIDReq {
if x, ok := x.GetPayload().(*SignalReq_GetTokenByRoomID); ok {
return x.GetTokenByRoomID
}
return nil
}
type isSignalReq_Payload interface {
isSignalReq_Payload()
}
type SignalReq_Invite struct {
Invite *SignalInviteReq `protobuf:"bytes,1,opt,name=invite,proto3,oneof"`
}
type SignalReq_InviteInGroup struct {
InviteInGroup *SignalInviteInGroupReq `protobuf:"bytes,2,opt,name=inviteInGroup,proto3,oneof"`
}
type SignalReq_Cancel struct {
Cancel *SignalCancelReq `protobuf:"bytes,3,opt,name=cancel,proto3,oneof"`
}
type SignalReq_Accept struct {
Accept *SignalAcceptReq `protobuf:"bytes,4,opt,name=accept,proto3,oneof"`
}
type SignalReq_HungUp struct {
HungUp *SignalHungUpReq `protobuf:"bytes,5,opt,name=hungUp,proto3,oneof"`
}
type SignalReq_Reject struct {
Reject *SignalRejectReq `protobuf:"bytes,6,opt,name=reject,proto3,oneof"`
}
type SignalReq_GetRoomByGroupID struct {
GetRoomByGroupID *SignalGetRoomByGroupIDReq `protobuf:"bytes,7,opt,name=getRoomByGroupID,proto3,oneof"`
}
type SignalReq_OnRoomParticipantConnectedReq struct {
OnRoomParticipantConnectedReq *SignalOnRoomParticipantConnectedReq `protobuf:"bytes,8,opt,name=onRoomParticipantConnectedReq,proto3,oneof"`
}
type SignalReq_OnRoomParticipantDisconnectedReq struct {
OnRoomParticipantDisconnectedReq *SignalOnRoomParticipantDisconnectedReq `protobuf:"bytes,9,opt,name=onRoomParticipantDisconnectedReq,proto3,oneof"`
}
type SignalReq_GetTokenByRoomID struct {
GetTokenByRoomID *SignalGetTokenByRoomIDReq `protobuf:"bytes,10,opt,name=getTokenByRoomID,proto3,oneof"`
}
func (*SignalReq_Invite) isSignalReq_Payload() {}
func (*SignalReq_InviteInGroup) isSignalReq_Payload() {}
func (*SignalReq_Cancel) isSignalReq_Payload() {}
func (*SignalReq_Accept) isSignalReq_Payload() {}
func (*SignalReq_HungUp) isSignalReq_Payload() {}
func (*SignalReq_Reject) isSignalReq_Payload() {}
func (*SignalReq_GetRoomByGroupID) isSignalReq_Payload() {}
func (*SignalReq_OnRoomParticipantConnectedReq) isSignalReq_Payload() {}
func (*SignalReq_OnRoomParticipantDisconnectedReq) isSignalReq_Payload() {}
func (*SignalReq_GetTokenByRoomID) isSignalReq_Payload() {}
type SignalResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Payload:
//
// *SignalResp_Invite
// *SignalResp_InviteInGroup
// *SignalResp_Cancel
// *SignalResp_Accept
// *SignalResp_HungUp
// *SignalResp_Reject
// *SignalResp_GetRoomByGroupID
// *SignalResp_GetTokenByRoomID
Payload isSignalResp_Payload `protobuf_oneof:"payload"`
}
func (x *SignalResp) Reset() {
*x = SignalResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalResp) ProtoMessage() {}
func (x *SignalResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalResp.ProtoReflect.Descriptor instead.
func (*SignalResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{52}
}
func (m *SignalResp) GetPayload() isSignalResp_Payload {
if m != nil {
return m.Payload
}
return nil
}
func (x *SignalResp) GetInvite() *SignalInviteReply {
if x, ok := x.GetPayload().(*SignalResp_Invite); ok {
return x.Invite
}
return nil
}
func (x *SignalResp) GetInviteInGroup() *SignalInviteInGroupReply {
if x, ok := x.GetPayload().(*SignalResp_InviteInGroup); ok {
return x.InviteInGroup
}
return nil
}
func (x *SignalResp) GetCancel() *SignalCancelReply {
if x, ok := x.GetPayload().(*SignalResp_Cancel); ok {
return x.Cancel
}
return nil
}
func (x *SignalResp) GetAccept() *SignalAcceptReply {
if x, ok := x.GetPayload().(*SignalResp_Accept); ok {
return x.Accept
}
return nil
}
func (x *SignalResp) GetHungUp() *SignalHungUpReply {
if x, ok := x.GetPayload().(*SignalResp_HungUp); ok {
return x.HungUp
}
return nil
}
func (x *SignalResp) GetReject() *SignalRejectReply {
if x, ok := x.GetPayload().(*SignalResp_Reject); ok {
return x.Reject
}
return nil
}
func (x *SignalResp) GetGetRoomByGroupID() *SignalGetRoomByGroupIDReply {
if x, ok := x.GetPayload().(*SignalResp_GetRoomByGroupID); ok {
return x.GetRoomByGroupID
}
return nil
}
func (x *SignalResp) GetGetTokenByRoomID() *SignalGetTokenByRoomIDReply {
if x, ok := x.GetPayload().(*SignalResp_GetTokenByRoomID); ok {
return x.GetTokenByRoomID
}
return nil
}
type isSignalResp_Payload interface {
isSignalResp_Payload()
}
type SignalResp_Invite struct {
Invite *SignalInviteReply `protobuf:"bytes,1,opt,name=invite,proto3,oneof"`
}
type SignalResp_InviteInGroup struct {
InviteInGroup *SignalInviteInGroupReply `protobuf:"bytes,2,opt,name=inviteInGroup,proto3,oneof"`
}
type SignalResp_Cancel struct {
Cancel *SignalCancelReply `protobuf:"bytes,3,opt,name=cancel,proto3,oneof"`
}
type SignalResp_Accept struct {
Accept *SignalAcceptReply `protobuf:"bytes,4,opt,name=accept,proto3,oneof"`
}
type SignalResp_HungUp struct {
HungUp *SignalHungUpReply `protobuf:"bytes,5,opt,name=hungUp,proto3,oneof"`
}
type SignalResp_Reject struct {
Reject *SignalRejectReply `protobuf:"bytes,6,opt,name=reject,proto3,oneof"`
}
type SignalResp_GetRoomByGroupID struct {
GetRoomByGroupID *SignalGetRoomByGroupIDReply `protobuf:"bytes,7,opt,name=getRoomByGroupID,proto3,oneof"`
}
type SignalResp_GetTokenByRoomID struct {
GetTokenByRoomID *SignalGetTokenByRoomIDReply `protobuf:"bytes,8,opt,name=getTokenByRoomID,proto3,oneof"`
}
func (*SignalResp_Invite) isSignalResp_Payload() {}
func (*SignalResp_InviteInGroup) isSignalResp_Payload() {}
func (*SignalResp_Cancel) isSignalResp_Payload() {}
func (*SignalResp_Accept) isSignalResp_Payload() {}
func (*SignalResp_HungUp) isSignalResp_Payload() {}
func (*SignalResp_Reject) isSignalResp_Payload() {}
func (*SignalResp_GetRoomByGroupID) isSignalResp_Payload() {}
func (*SignalResp_GetTokenByRoomID) isSignalResp_Payload() {}
type InvitationInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
InviterUserID string `protobuf:"bytes,1,opt,name=inviterUserID,proto3" json:"inviterUserID"`
InviteeUserIDList []string `protobuf:"bytes,2,rep,name=inviteeUserIDList,proto3" json:"inviteeUserIDList"`
CustomData string `protobuf:"bytes,3,opt,name=customData,proto3" json:"customData"`
GroupID string `protobuf:"bytes,4,opt,name=groupID,proto3" json:"groupID"`
RoomID string `protobuf:"bytes,5,opt,name=roomID,proto3" json:"roomID"`
Timeout int32 `protobuf:"varint,6,opt,name=timeout,proto3" json:"timeout"`
MediaType string `protobuf:"bytes,7,opt,name=mediaType,proto3" json:"mediaType"`
PlatformID int32 `protobuf:"varint,8,opt,name=platformID,proto3" json:"platformID"`
SessionType int32 `protobuf:"varint,9,opt,name=sessionType,proto3" json:"sessionType"`
InitiateTime int32 `protobuf:"varint,10,opt,name=initiateTime,proto3" json:"initiateTime"`
BusyLineUserIDList []string `protobuf:"bytes,11,rep,name=busyLineUserIDList,proto3" json:"busyLineUserIDList"`
}
func (x *InvitationInfo) Reset() {
*x = InvitationInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InvitationInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InvitationInfo) ProtoMessage() {}
func (x *InvitationInfo) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 InvitationInfo.ProtoReflect.Descriptor instead.
func (*InvitationInfo) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{53}
}
func (x *InvitationInfo) GetInviterUserID() string {
if x != nil {
return x.InviterUserID
}
return ""
}
func (x *InvitationInfo) GetInviteeUserIDList() []string {
if x != nil {
return x.InviteeUserIDList
}
return nil
}
func (x *InvitationInfo) GetCustomData() string {
if x != nil {
return x.CustomData
}
return ""
}
func (x *InvitationInfo) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *InvitationInfo) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *InvitationInfo) GetTimeout() int32 {
if x != nil {
return x.Timeout
}
return 0
}
func (x *InvitationInfo) GetMediaType() string {
if x != nil {
return x.MediaType
}
return ""
}
func (x *InvitationInfo) GetPlatformID() int32 {
if x != nil {
return x.PlatformID
}
return 0
}
func (x *InvitationInfo) GetSessionType() int32 {
if x != nil {
return x.SessionType
}
return 0
}
func (x *InvitationInfo) GetInitiateTime() int32 {
if x != nil {
return x.InitiateTime
}
return 0
}
func (x *InvitationInfo) GetBusyLineUserIDList() []string {
if x != nil {
return x.BusyLineUserIDList
}
return nil
}
type ParticipantMetaData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupInfo *GroupInfo `protobuf:"bytes,1,opt,name=groupInfo,proto3" json:"groupInfo"`
GroupMemberInfo *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=groupMemberInfo,proto3" json:"groupMemberInfo"`
UserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=userInfo,proto3" json:"userInfo"`
}
func (x *ParticipantMetaData) Reset() {
*x = ParticipantMetaData{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ParticipantMetaData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParticipantMetaData) ProtoMessage() {}
func (x *ParticipantMetaData) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 ParticipantMetaData.ProtoReflect.Descriptor instead.
func (*ParticipantMetaData) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{54}
}
func (x *ParticipantMetaData) GetGroupInfo() *GroupInfo {
if x != nil {
return x.GroupInfo
}
return nil
}
func (x *ParticipantMetaData) GetGroupMemberInfo() *GroupMemberFullInfo {
if x != nil {
return x.GroupMemberInfo
}
return nil
}
func (x *ParticipantMetaData) GetUserInfo() *PublicUserInfo {
if x != nil {
return x.UserInfo
}
return nil
}
type SignalInviteReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalInviteReq) Reset() {
*x = SignalInviteReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalInviteReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalInviteReq) ProtoMessage() {}
func (x *SignalInviteReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalInviteReq.ProtoReflect.Descriptor instead.
func (*SignalInviteReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{55}
}
func (x *SignalInviteReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalInviteReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalInviteReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalInviteReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalInviteReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
RoomID string `protobuf:"bytes,2,opt,name=roomID,proto3" json:"roomID"`
LiveURL string `protobuf:"bytes,3,opt,name=liveURL,proto3" json:"liveURL"`
BusyLineUserIDList []string `protobuf:"bytes,4,rep,name=busyLineUserIDList,proto3" json:"busyLineUserIDList"`
}
func (x *SignalInviteReply) Reset() {
*x = SignalInviteReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalInviteReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalInviteReply) ProtoMessage() {}
func (x *SignalInviteReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalInviteReply.ProtoReflect.Descriptor instead.
func (*SignalInviteReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{56}
}
func (x *SignalInviteReply) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SignalInviteReply) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *SignalInviteReply) GetLiveURL() string {
if x != nil {
return x.LiveURL
}
return ""
}
func (x *SignalInviteReply) GetBusyLineUserIDList() []string {
if x != nil {
return x.BusyLineUserIDList
}
return nil
}
type SignalInviteInGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalInviteInGroupReq) Reset() {
*x = SignalInviteInGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalInviteInGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalInviteInGroupReq) ProtoMessage() {}
func (x *SignalInviteInGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalInviteInGroupReq.ProtoReflect.Descriptor instead.
func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{57}
}
func (x *SignalInviteInGroupReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalInviteInGroupReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalInviteInGroupReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalInviteInGroupReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalInviteInGroupReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
RoomID string `protobuf:"bytes,2,opt,name=roomID,proto3" json:"roomID"`
LiveURL string `protobuf:"bytes,3,opt,name=liveURL,proto3" json:"liveURL"`
BusyLineUserIDList []string `protobuf:"bytes,4,rep,name=busyLineUserIDList,proto3" json:"busyLineUserIDList"`
}
func (x *SignalInviteInGroupReply) Reset() {
*x = SignalInviteInGroupReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalInviteInGroupReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalInviteInGroupReply) ProtoMessage() {}
func (x *SignalInviteInGroupReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalInviteInGroupReply.ProtoReflect.Descriptor instead.
func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{58}
}
func (x *SignalInviteInGroupReply) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SignalInviteInGroupReply) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *SignalInviteInGroupReply) GetLiveURL() string {
if x != nil {
return x.LiveURL
}
return ""
}
func (x *SignalInviteInGroupReply) GetBusyLineUserIDList() []string {
if x != nil {
return x.BusyLineUserIDList
}
return nil
}
type SignalCancelReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalCancelReq) Reset() {
*x = SignalCancelReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalCancelReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalCancelReq) ProtoMessage() {}
func (x *SignalCancelReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalCancelReq.ProtoReflect.Descriptor instead.
func (*SignalCancelReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{59}
}
func (x *SignalCancelReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalCancelReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalCancelReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalCancelReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalCancelReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SignalCancelReply) Reset() {
*x = SignalCancelReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalCancelReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalCancelReply) ProtoMessage() {}
func (x *SignalCancelReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalCancelReply.ProtoReflect.Descriptor instead.
func (*SignalCancelReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{60}
}
type SignalAcceptReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID,proto3" json:"opUserPlatformID"`
}
func (x *SignalAcceptReq) Reset() {
*x = SignalAcceptReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalAcceptReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalAcceptReq) ProtoMessage() {}
func (x *SignalAcceptReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalAcceptReq.ProtoReflect.Descriptor instead.
func (*SignalAcceptReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{61}
}
func (x *SignalAcceptReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalAcceptReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalAcceptReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalAcceptReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalAcceptReq) GetOpUserPlatformID() int32 {
if x != nil {
return x.OpUserPlatformID
}
return 0
}
type SignalAcceptReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
RoomID string `protobuf:"bytes,2,opt,name=roomID,proto3" json:"roomID"`
LiveURL string `protobuf:"bytes,3,opt,name=liveURL,proto3" json:"liveURL"`
}
func (x *SignalAcceptReply) Reset() {
*x = SignalAcceptReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalAcceptReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalAcceptReply) ProtoMessage() {}
func (x *SignalAcceptReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalAcceptReply.ProtoReflect.Descriptor instead.
func (*SignalAcceptReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{62}
}
func (x *SignalAcceptReply) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SignalAcceptReply) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *SignalAcceptReply) GetLiveURL() string {
if x != nil {
return x.LiveURL
}
return ""
}
type SignalHungUpReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
}
func (x *SignalHungUpReq) Reset() {
*x = SignalHungUpReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalHungUpReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalHungUpReq) ProtoMessage() {}
func (x *SignalHungUpReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalHungUpReq.ProtoReflect.Descriptor instead.
func (*SignalHungUpReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{63}
}
func (x *SignalHungUpReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalHungUpReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalHungUpReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
type SignalHungUpReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SignalHungUpReply) Reset() {
*x = SignalHungUpReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalHungUpReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalHungUpReply) ProtoMessage() {}
func (x *SignalHungUpReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalHungUpReply.ProtoReflect.Descriptor instead.
func (*SignalHungUpReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{64}
}
type SignalRejectReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
Invitation *InvitationInfo `protobuf:"bytes,2,opt,name=invitation,proto3" json:"invitation"`
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,3,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
Participant *ParticipantMetaData `protobuf:"bytes,4,opt,name=participant,proto3" json:"participant"`
OpUserPlatformID int32 `protobuf:"varint,5,opt,name=opUserPlatformID,proto3" json:"opUserPlatformID"`
}
func (x *SignalRejectReq) Reset() {
*x = SignalRejectReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalRejectReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalRejectReq) ProtoMessage() {}
func (x *SignalRejectReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalRejectReq.ProtoReflect.Descriptor instead.
func (*SignalRejectReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{65}
}
func (x *SignalRejectReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalRejectReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalRejectReq) GetOfflinePushInfo() *OfflinePushInfo {
if x != nil {
return x.OfflinePushInfo
}
return nil
}
func (x *SignalRejectReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalRejectReq) GetOpUserPlatformID() int32 {
if x != nil {
return x.OpUserPlatformID
}
return 0
}
type SignalRejectReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SignalRejectReply) Reset() {
*x = SignalRejectReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalRejectReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalRejectReply) ProtoMessage() {}
func (x *SignalRejectReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalRejectReply.ProtoReflect.Descriptor instead.
func (*SignalRejectReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{66}
}
type SignalGetRoomByGroupIDReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
GroupID string `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID"`
Participant *ParticipantMetaData `protobuf:"bytes,3,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalGetRoomByGroupIDReq) Reset() {
*x = SignalGetRoomByGroupIDReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalGetRoomByGroupIDReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalGetRoomByGroupIDReq) ProtoMessage() {}
func (x *SignalGetRoomByGroupIDReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalGetRoomByGroupIDReq.ProtoReflect.Descriptor instead.
func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{67}
}
func (x *SignalGetRoomByGroupIDReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalGetRoomByGroupIDReq) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *SignalGetRoomByGroupIDReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalGetRoomByGroupIDReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation,proto3" json:"invitation"`
Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant,proto3" json:"participant"`
RoomID string `protobuf:"bytes,3,opt,name=roomID,proto3" json:"roomID"`
}
func (x *SignalGetRoomByGroupIDReply) Reset() {
*x = SignalGetRoomByGroupIDReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalGetRoomByGroupIDReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalGetRoomByGroupIDReply) ProtoMessage() {}
func (x *SignalGetRoomByGroupIDReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalGetRoomByGroupIDReply.ProtoReflect.Descriptor instead.
func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{68}
}
func (x *SignalGetRoomByGroupIDReply) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalGetRoomByGroupIDReply) GetParticipant() []*ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalGetRoomByGroupIDReply) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
type SignalOnRoomParticipantConnectedReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation,proto3" json:"invitation"`
Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant,proto3" json:"participant"`
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
}
func (x *SignalOnRoomParticipantConnectedReq) Reset() {
*x = SignalOnRoomParticipantConnectedReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalOnRoomParticipantConnectedReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {}
func (x *SignalOnRoomParticipantConnectedReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalOnRoomParticipantConnectedReq.ProtoReflect.Descriptor instead.
func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{69}
}
func (x *SignalOnRoomParticipantConnectedReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalOnRoomParticipantConnectedReq) GetParticipant() []*ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalOnRoomParticipantConnectedReq) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
type SignalOnRoomParticipantDisconnectedReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Invitation *InvitationInfo `protobuf:"bytes,1,opt,name=invitation,proto3" json:"invitation"`
Participant []*ParticipantMetaData `protobuf:"bytes,2,rep,name=participant,proto3" json:"participant"`
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
}
func (x *SignalOnRoomParticipantDisconnectedReq) Reset() {
*x = SignalOnRoomParticipantDisconnectedReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalOnRoomParticipantDisconnectedReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {}
func (x *SignalOnRoomParticipantDisconnectedReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_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 SignalOnRoomParticipantDisconnectedReq.ProtoReflect.Descriptor instead.
func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{70}
}
func (x *SignalOnRoomParticipantDisconnectedReq) GetInvitation() *InvitationInfo {
if x != nil {
return x.Invitation
}
return nil
}
func (x *SignalOnRoomParticipantDisconnectedReq) GetParticipant() []*ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
func (x *SignalOnRoomParticipantDisconnectedReq) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
type SignalGetTokenByRoomIDReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoomID string `protobuf:"bytes,1,opt,name=roomID,proto3" json:"roomID"`
OpUserID string `protobuf:"bytes,2,opt,name=opUserID,proto3" json:"opUserID"`
Participant *ParticipantMetaData `protobuf:"bytes,3,opt,name=participant,proto3" json:"participant"`
}
func (x *SignalGetTokenByRoomIDReq) Reset() {
*x = SignalGetTokenByRoomIDReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalGetTokenByRoomIDReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalGetTokenByRoomIDReq) ProtoMessage() {}
func (x *SignalGetTokenByRoomIDReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[71]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SignalGetTokenByRoomIDReq.ProtoReflect.Descriptor instead.
func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{71}
}
func (x *SignalGetTokenByRoomIDReq) GetRoomID() string {
if x != nil {
return x.RoomID
}
return ""
}
func (x *SignalGetTokenByRoomIDReq) GetOpUserID() string {
if x != nil {
return x.OpUserID
}
return ""
}
func (x *SignalGetTokenByRoomIDReq) GetParticipant() *ParticipantMetaData {
if x != nil {
return x.Participant
}
return nil
}
type SignalGetTokenByRoomIDReply struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
LiveURL string `protobuf:"bytes,2,opt,name=liveURL,proto3" json:"liveURL"`
}
func (x *SignalGetTokenByRoomIDReply) Reset() {
*x = SignalGetTokenByRoomIDReply{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalGetTokenByRoomIDReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalGetTokenByRoomIDReply) ProtoMessage() {}
func (x *SignalGetTokenByRoomIDReply) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[72]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SignalGetTokenByRoomIDReply.ProtoReflect.Descriptor instead.
func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{72}
}
func (x *SignalGetTokenByRoomIDReply) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *SignalGetTokenByRoomIDReply) GetLiveURL() string {
if x != nil {
return x.LiveURL
}
return ""
}
type SetAppBackgroundStatusReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
IsBackground bool `protobuf:"varint,2,opt,name=isBackground,proto3" json:"isBackground"`
}
func (x *SetAppBackgroundStatusReq) Reset() {
*x = SetAppBackgroundStatusReq{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetAppBackgroundStatusReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetAppBackgroundStatusReq) ProtoMessage() {}
func (x *SetAppBackgroundStatusReq) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[73]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetAppBackgroundStatusReq.ProtoReflect.Descriptor instead.
func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{73}
}
func (x *SetAppBackgroundStatusReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *SetAppBackgroundStatusReq) GetIsBackground() bool {
if x != nil {
return x.IsBackground
}
return false
}
type SetAppBackgroundStatusResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SetAppBackgroundStatusResp) Reset() {
*x = SetAppBackgroundStatusResp{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetAppBackgroundStatusResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetAppBackgroundStatusResp) ProtoMessage() {}
func (x *SetAppBackgroundStatusResp) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[74]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetAppBackgroundStatusResp.ProtoReflect.Descriptor instead.
func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{74}
}
type ExtendMsgSet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourceID string `protobuf:"bytes,1,opt,name=sourceID,proto3" json:"sourceID"`
SessionType int32 `protobuf:"varint,2,opt,name=sessionType,proto3" json:"sessionType"`
ExtendMsgs map[string]*ExtendMsg `protobuf:"bytes,3,rep,name=extendMsgs,proto3" json:"extendMsgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
MaxMsgUpdateTime int64 `protobuf:"varint,4,opt,name=MaxMsgUpdateTime,proto3" json:"MaxMsgUpdateTime"`
ExtendMsgNum int32 `protobuf:"varint,5,opt,name=extendMsgNum,proto3" json:"extendMsgNum"`
CreateTime int64 `protobuf:"varint,6,opt,name=createTime,proto3" json:"createTime"`
}
func (x *ExtendMsgSet) Reset() {
*x = ExtendMsgSet{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExtendMsgSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExtendMsgSet) ProtoMessage() {}
func (x *ExtendMsgSet) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[75]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExtendMsgSet.ProtoReflect.Descriptor instead.
func (*ExtendMsgSet) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{75}
}
func (x *ExtendMsgSet) GetSourceID() string {
if x != nil {
return x.SourceID
}
return ""
}
func (x *ExtendMsgSet) GetSessionType() int32 {
if x != nil {
return x.SessionType
}
return 0
}
func (x *ExtendMsgSet) GetExtendMsgs() map[string]*ExtendMsg {
if x != nil {
return x.ExtendMsgs
}
return nil
}
func (x *ExtendMsgSet) GetMaxMsgUpdateTime() int64 {
if x != nil {
return x.MaxMsgUpdateTime
}
return 0
}
func (x *ExtendMsgSet) GetExtendMsgNum() int32 {
if x != nil {
return x.ExtendMsgNum
}
return 0
}
func (x *ExtendMsgSet) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
type ExtendMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReactionExtensionList map[string]*KeyValue `protobuf:"bytes,1,rep,name=reactionExtensionList,proto3" json:"reactionExtensionList" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
MsgFirstModifyTime int64 `protobuf:"varint,3,opt,name=msgFirstModifyTime,proto3" json:"msgFirstModifyTime"`
AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo,proto3" json:"attachedInfo"`
Ex string `protobuf:"bytes,5,opt,name=ex,proto3" json:"ex"`
}
func (x *ExtendMsg) Reset() {
*x = ExtendMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExtendMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExtendMsg) ProtoMessage() {}
func (x *ExtendMsg) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[76]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExtendMsg.ProtoReflect.Descriptor instead.
func (*ExtendMsg) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{76}
}
func (x *ExtendMsg) GetReactionExtensionList() map[string]*KeyValue {
if x != nil {
return x.ReactionExtensionList
}
return nil
}
func (x *ExtendMsg) GetClientMsgID() string {
if x != nil {
return x.ClientMsgID
}
return ""
}
func (x *ExtendMsg) GetMsgFirstModifyTime() int64 {
if x != nil {
return x.MsgFirstModifyTime
}
return 0
}
func (x *ExtendMsg) GetAttachedInfo() string {
if x != nil {
return x.AttachedInfo
}
return ""
}
func (x *ExtendMsg) GetEx() string {
if x != nil {
return x.Ex
}
return ""
}
type KeyValue struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TypeKey string `protobuf:"bytes,1,opt,name=typeKey,proto3" json:"typeKey"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value"`
LatestUpdateTime int64 `protobuf:"varint,3,opt,name=latestUpdateTime,proto3" json:"latestUpdateTime"`
}
func (x *KeyValue) Reset() {
*x = KeyValue{}
if protoimpl.UnsafeEnabled {
mi := &file_sdkws_sdkws_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KeyValue) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KeyValue) ProtoMessage() {}
func (x *KeyValue) ProtoReflect() protoreflect.Message {
mi := &file_sdkws_sdkws_proto_msgTypes[77]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use KeyValue.ProtoReflect.Descriptor instead.
func (*KeyValue) Descriptor() ([]byte, []int) {
return file_sdkws_sdkws_proto_rawDescGZIP(), []int{77}
}
func (x *KeyValue) GetTypeKey() string {
if x != nil {
return x.TypeKey
}
return ""
}
func (x *KeyValue) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *KeyValue) GetLatestUpdateTime() int64 {
if x != nil {
return x.LatestUpdateTime
}
return 0
}
var File_sdkws_sdkws_proto protoreflect.FileDescriptor
var file_sdkws_sdkws_proto_rawDesc = []byte{
0x0a, 0x11, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2f, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x1a, 0x1b, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
0x73, 0x70, 0x62, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x70, 0x62, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x04, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f,
0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22,
0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b,
0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20,
0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61,
0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c,
0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10,
0x6e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b,
0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x2c, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61, 0x70, 0x70,
0x6c, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x36,
0x0a, 0x16, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16,
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x11, 0x20, 0x01,
0x28, 0x09, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0xa6, 0x03, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x6e, 0x66, 0x6f, 0x46, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e,
0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61,
0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63,
0x65, 0x55, 0x52, 0x4c, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x65, 0x78, 0x12, 0x4d, 0x0a, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e,
0x6c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f,
0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x72, 0x69,
0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x70,
0x70, 0x6c, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22,
0xff, 0x02, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46,
0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x6f, 0x6c,
0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x6f,
0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x70, 0x70,
0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65,
0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x75, 0x74,
0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x6d, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69,
0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x22, 0x86, 0x01, 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08,
0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65,
0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55,
0x52, 0x4c, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x22, 0xde, 0x02, 0x0a, 0x08, 0x55,
0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12,
0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66,
0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61,
0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a,
0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
0x14, 0x0a, 0x05, 0x62, 0x69, 0x72, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
0x62, 0x69, 0x72, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x65,
0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61,
0x70, 0x70, 0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x4c, 0x65,
0x76, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63,
0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x67,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x22, 0xfa, 0x01, 0x0a, 0x0a,
0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06,
0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65,
0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x55, 0x73,
0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x55, 0x73,
0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x64, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72,
0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x22, 0xed, 0x01, 0x0a, 0x09, 0x42, 0x6c, 0x61,
0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55,
0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x77, 0x6e,
0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x62, 0x6c, 0x61, 0x63,
0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x64, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72,
0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x22, 0x99, 0x03, 0x0a, 0x0c, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x75, 0x73, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x09, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x68, 0x61,
0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,
0x71, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x71, 0x4d,
0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67,
0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
0x03, 0x52, 0x07, 0x72, 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x61,
0x6e, 0x64, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e,
0x0a, 0x0a, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0a, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x12, 0x1e,
0x0a, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24,
0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x22, 0xdb, 0x03, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69,
0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x72,
0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72,
0x6f, 0x6d, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1e, 0x0a, 0x0a,
0x66, 0x72, 0x6f, 0x6d, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08,
0x74, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x74, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x4e, 0x69,
0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f,
0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x46, 0x61,
0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x46,
0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x47, 0x65, 0x6e, 0x64,
0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x6f, 0x47, 0x65, 0x6e, 0x64,
0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67, 0x12, 0x1e,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24,
0x0a, 0x0d, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73,
0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d,
0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x65, 0x78, 0x22, 0xf1, 0x01, 0x0a, 0x14, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x42, 0x79, 0x53, 0x65, 0x71, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75,
0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65,
0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x71, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x03, 0x52, 0x04, 0x73, 0x65, 0x71, 0x73, 0x12, 0x55, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x53, 0x65, 0x71, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x53, 0x65, 0x71,
0x73, 0x52, 0x65, 0x71, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x71, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x71, 0x73, 0x1a, 0x56,
0x0a, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x71, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x18, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x73, 0x65, 0x71, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1a, 0x0a, 0x04, 0x73, 0x65, 0x71, 0x73, 0x12, 0x12,
0x0a, 0x04, 0x73, 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x73, 0x65,
0x71, 0x73, 0x22, 0x4c, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73,
0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x44,
0x61, 0x74, 0x61, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74,
0x22, 0x9b, 0x02, 0x0a, 0x15, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x42, 0x79, 0x53, 0x65, 0x71, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x04, 0x6c, 0x69,
0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4d, 0x73,
0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x10, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x53, 0x65, 0x71, 0x73, 0x52, 0x65, 0x73, 0x70,
0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73,
0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x73, 0x67,
0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x64, 0x0a, 0x15, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48,
0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x41, 0x6e, 0x64, 0x4d, 0x69, 0x6e, 0x53, 0x65,
0x71, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x73,
0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3e, 0x0a, 0x0c, 0x4d, 0x61, 0x78, 0x41,
0x6e, 0x64, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x53,
0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x71,
0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x22, 0x9b, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74,
0x4d, 0x61, 0x78, 0x41, 0x6e, 0x64, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x52, 0x65, 0x73, 0x70,
0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x53,
0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x71,
0x12, 0x6c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x78, 0x41, 0x6e, 0x64, 0x4d,
0x69, 0x6e, 0x53, 0x65, 0x71, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x41, 0x6e, 0x64, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71,
0x52, 0x65, 0x73, 0x70, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x78, 0x41, 0x6e, 0x64,
0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x4d, 0x61, 0x78, 0x41, 0x6e, 0x64, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x1a, 0x66,
0x0a, 0x16, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x78, 0x41, 0x6e, 0x64, 0x4d, 0x69, 0x6e,
0x53, 0x65, 0x71, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4d,
0x61, 0x78, 0x41, 0x6e, 0x64, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x71, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x1a, 0x0a,
0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb8, 0x06, 0x0a, 0x07, 0x4d, 0x73,
0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x12, 0x16, 0x0a,
0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
0x65, 0x63, 0x76, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12,
0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49,
0x44, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x44,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x73,
0x67, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73,
0x65, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12,
0x26, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e,
0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65,
0x72, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x46, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a,
0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x6d, 0x73, 0x67, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e,
0x66, 0x6f, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66,
0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f,
0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22,
0x0a, 0x0c, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x14,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61,
0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64,
0x49, 0x6e, 0x66, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61,
0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x17,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65,
0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65,
0x73, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x4f, 0x53, 0x50, 0x75, 0x73, 0x68, 0x53, 0x6f, 0x75,
0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x4f, 0x53, 0x50, 0x75, 0x73,
0x68, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x4f, 0x53, 0x42, 0x61, 0x64,
0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69,
0x4f, 0x53, 0x42, 0x61, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x64, 0x0a, 0x08,
0x54, 0x69, 0x70, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x69, 0x70, 0x73, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x69,
0x70, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06,
0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x47, 0x0a,
0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0e,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x22, 0xa4, 0x01,
0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x74, 0x54, 0x69,
0x70, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x22, 0xa9, 0x01, 0x0a, 0x18, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x70,
0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x40, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x61,
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x71, 0x4d,
0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x71, 0x4d, 0x73, 0x67,
0x22, 0xb0, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54,
0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x43, 0x0a, 0x08, 0x71, 0x75, 0x69, 0x74,
0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x08, 0x71, 0x75, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a,
0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x1c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64,
0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61,
0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68,
0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x72, 0x41, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65,
0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x73, 0x22, 0xd2, 0x01, 0x0a, 0x1c, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6a,
0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f,
0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46,
0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12,
0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a,
0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x73, 0x22, 0x86, 0x02,
0x0a, 0x19, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65,
0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e,
0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72,
0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xff, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x4b, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65,
0x72, 0x12, 0x4f, 0x0a, 0x0e, 0x6b, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c,
0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x0e, 0x6b, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x11, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33,
0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65,
0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70,
0x55, 0x73, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55,
0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75,
0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55,
0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb7, 0x01,
0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69, 0x70,
0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x49, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e,
0x74, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65,
0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33,
0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65,
0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70,
0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x9d, 0x02, 0x0a, 0x14, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x54,
0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73,
0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x45, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6d, 0x75, 0x74,
0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x53,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x75,
0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x1a, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
0x4d, 0x75, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f,
0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46,
0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12,
0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x55, 0x73,
0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x22, 0xac, 0x01, 0x0a,
0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12,
0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f,
0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x14,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x75, 0x74, 0x65, 0x64,
0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
0x22, 0xff, 0x01, 0x0a, 0x16, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65, 0x74, 0x54, 0x69, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x55, 0x73, 0x65,
0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x55, 0x73,
0x65, 0x72, 0x22, 0x6b, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x64, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
0x1e, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x22,
0x4a, 0x0a, 0x0c, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12,
0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12,
0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x74, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x15, 0x46,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72,
0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x46,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c,
0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72,
0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67,
0x22, 0x83, 0x01, 0x0a, 0x1d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69,
0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72,
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72,
0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d,
0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64,
0x6c, 0x65, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x61, 0x6e,
0x64, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e,
0x64, 0x41, 0x64, 0x64, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65,
0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x6f, 0x70, 0x55, 0x73,
0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70,
0x55, 0x73, 0x65, 0x72, 0x22, 0x59, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72, 0x6f,
0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22,
0x56, 0x0a, 0x0e, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x54, 0x69, 0x70,
0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x6f,
0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54,
0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x58, 0x0a, 0x10, 0x42, 0x6c, 0x61, 0x63, 0x6b,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66,
0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65,
0x72, 0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x22, 0x5d, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x43,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x66, 0x72,
0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x20, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72,
0x49, 0x44, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
0x22, 0x2d, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22,
0x96, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12,
0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65,
0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x76,
0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61,
0x74, 0x65, 0x54, 0x69, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44, 0x12, 0x16,
0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x73, 0x65, 0x6e, 0x64, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76,
0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69,
0x76, 0x61, 0x74, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55,
0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a,
0x04, 0x73, 0x65, 0x71, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x73, 0x65, 0x71,
0x73, 0x22, 0x53, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x77,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xeb, 0x06, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61,
0x6c, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c,
0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65,
0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3d, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65,
0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x06,
0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x3d, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e,
0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x06, 0x61,
0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x68, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61,
0x6c, 0x48, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x06, 0x68, 0x75,
0x6e, 0x67, 0x55, 0x70, 0x12, 0x3d, 0x0a, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c,
0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6a,
0x65, 0x63, 0x74, 0x12, 0x5b, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x10,
0x67, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44,
0x12, 0x7f, 0x0a, 0x1d, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65,
0x71, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
0x70, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71,
0x48, 0x00, 0x52, 0x1d, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65,
0x71, 0x12, 0x88, 0x01, 0x0a, 0x20, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61,
0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x20, 0x6f, 0x6e, 0x52, 0x6f,
0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x44, 0x69, 0x73,
0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x5b, 0x0a, 0x10,
0x67, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e,
0x61, 0x6c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d,
0x49, 0x44, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79,
0x6c, 0x6f, 0x61, 0x64, 0x22, 0xf0, 0x04, 0x0a, 0x0a, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52,
0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49,
0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e,
0x76, 0x69, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x63, 0x61,
0x6e, 0x63, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6c,
0x79, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x61,
0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x70,
0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x3f, 0x0a, 0x06,
0x68, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x48, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x52, 0x65,
0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x68, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x12, 0x3f, 0x0a,
0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5d,
0x0a, 0x10, 0x67, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x44, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x74,
0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x5d, 0x0a,
0x10, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f,
0x6d, 0x49, 0x44, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x74, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x42, 0x09, 0x0a, 0x07,
0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x84, 0x03, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e,
0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49,
0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e,
0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18,
0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44,
0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65,
0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d,
0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e,
0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e,
0x0a, 0x12, 0x62, 0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
0x4c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x62, 0x75, 0x73, 0x79,
0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xe5,
0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65,
0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61,
0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a,
0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66,
0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65,
0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e,
0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72,
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d,
0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
0x70, 0x61, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49,
0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65,
0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55,
0x52, 0x4c, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73,
0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12,
0x62, 0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69,
0x73, 0x74, 0x22, 0x92, 0x02, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a,
0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66, 0x66, 0x6c,
0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f, 0x66, 0x66,
0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0b,
0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x18, 0x53, 0x69, 0x67, 0x6e,
0x61, 0x6c, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f,
0x6f, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x2e, 0x0a, 0x12,
0x62, 0x75, 0x73, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69,
0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x62, 0x75, 0x73, 0x79, 0x4c, 0x69,
0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x8b, 0x02, 0x0a,
0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71,
0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x42, 0x0a, 0x0a,
0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49,
0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f,
0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f,
0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
0xb7, 0x02, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12,
0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75,
0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f,
0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72,
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61,
0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x2a, 0x0a,
0x10, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49,
0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x22, 0x5b, 0x0a, 0x11, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07,
0x6c, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c,
0x69, 0x76, 0x65, 0x55, 0x52, 0x4c, 0x22, 0xc0, 0x01, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61,
0x6c, 0x48, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70,
0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e,
0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a,
0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66,
0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65,
0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e,
0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x48, 0x75, 0x6e, 0x67, 0x55, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0xb7,
0x02, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52,
0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x42,
0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73,
0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4f, 0x70,
0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x0f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52,
0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10,
0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e,
0x61, 0x6c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x9c, 0x01,
0x0a, 0x19, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42,
0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f,
0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f,
0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x44, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52,
0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc4, 0x01, 0x0a,
0x1b, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0a,
0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69,
0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b,
0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72,
0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f,
0x6d, 0x49, 0x44, 0x22, 0xce, 0x01, 0x0a, 0x23, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4f, 0x6e,
0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x43,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x42, 0x0a, 0x0a, 0x69,
0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x44, 0x22, 0xd1, 0x01, 0x0a, 0x26, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4f,
0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12,
0x42, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49,
0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61,
0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74,
0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x18,
0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f,
0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x12, 0x1a,
0x0a, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x61,
0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x27, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x47,
0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69,
0x76, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x76,
0x65, 0x55, 0x52, 0x4c, 0x22, 0x57, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x41, 0x70, 0x70, 0x42, 0x61,
0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x42,
0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0c, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x1c, 0x0a,
0x1a, 0x53, 0x65, 0x74, 0x41, 0x70, 0x70, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0xec, 0x02, 0x0a, 0x0c,
0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x65, 0x78,
0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30,
0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74,
0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x10,
0x4d, 0x61, 0x78, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x4d, 0x73, 0x67, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x65,
0x6e, 0x64, 0x4d, 0x73, 0x67, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x5c, 0x0a, 0x0f,
0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe9, 0x02, 0x0a, 0x09, 0x45,
0x78, 0x74, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x6e, 0x0a, 0x15, 0x72, 0x65, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x45, 0x78, 0x74,
0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45,
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x15, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e,
0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x73,
0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x73, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74,
0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x74,
0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e,
0x0a, 0x02, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x65, 0x78, 0x1a, 0x66,
0x0a, 0x1a, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x73, 0x64, 0x6b,
0x77, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x66, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c, 0x61,
0x74, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x35,
0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x70, 0x65,
0x6e, 0x49, 0x4d, 0x53, 0x44, 0x4b, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x2d, 0x49, 0x4d, 0x2d, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
0x73, 0x64, 0x6b, 0x77, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_sdkws_sdkws_proto_rawDescOnce sync.Once
file_sdkws_sdkws_proto_rawDescData = file_sdkws_sdkws_proto_rawDesc
)
func file_sdkws_sdkws_proto_rawDescGZIP() []byte {
file_sdkws_sdkws_proto_rawDescOnce.Do(func() {
file_sdkws_sdkws_proto_rawDescData = protoimpl.X.CompressGZIP(file_sdkws_sdkws_proto_rawDescData)
})
return file_sdkws_sdkws_proto_rawDescData
}
var file_sdkws_sdkws_proto_msgTypes = make([]protoimpl.MessageInfo, 84)
var file_sdkws_sdkws_proto_goTypes = []interface{}{
(*GroupInfo)(nil), // 0: OpenIMServer.sdkws.GroupInfo
(*GroupInfoForSet)(nil), // 1: OpenIMServer.sdkws.GroupInfoForSet
(*GroupMemberFullInfo)(nil), // 2: OpenIMServer.sdkws.GroupMemberFullInfo
(*PublicUserInfo)(nil), // 3: OpenIMServer.sdkws.PublicUserInfo
(*UserInfo)(nil), // 4: OpenIMServer.sdkws.UserInfo
(*FriendInfo)(nil), // 5: OpenIMServer.sdkws.FriendInfo
(*BlackInfo)(nil), // 6: OpenIMServer.sdkws.BlackInfo
(*GroupRequest)(nil), // 7: OpenIMServer.sdkws.GroupRequest
(*FriendRequest)(nil), // 8: OpenIMServer.sdkws.FriendRequest
(*PullMessageBySeqsReq)(nil), // 9: OpenIMServer.sdkws.PullMessageBySeqsReq
(*Seqs)(nil), // 10: OpenIMServer.sdkws.seqs
(*MsgDataList)(nil), // 11: OpenIMServer.sdkws.MsgDataList
(*PullMessageBySeqsResp)(nil), // 12: OpenIMServer.sdkws.PullMessageBySeqsResp
(*GetMaxAndMinSeqReq)(nil), // 13: OpenIMServer.sdkws.GetMaxAndMinSeqReq
(*MaxAndMinSeq)(nil), // 14: OpenIMServer.sdkws.MaxAndMinSeq
(*GetMaxAndMinSeqResp)(nil), // 15: OpenIMServer.sdkws.GetMaxAndMinSeqResp
(*UserSendMsgResp)(nil), // 16: OpenIMServer.sdkws.UserSendMsgResp
(*MsgData)(nil), // 17: OpenIMServer.sdkws.MsgData
(*OfflinePushInfo)(nil), // 18: OpenIMServer.sdkws.OfflinePushInfo
(*TipsComm)(nil), // 19: OpenIMServer.sdkws.TipsComm
(*GroupCreatedTips)(nil), // 20: OpenIMServer.sdkws.GroupCreatedTips
(*GroupInfoSetTips)(nil), // 21: OpenIMServer.sdkws.GroupInfoSetTips
(*JoinGroupApplicationTips)(nil), // 22: OpenIMServer.sdkws.JoinGroupApplicationTips
(*MemberQuitTips)(nil), // 23: OpenIMServer.sdkws.MemberQuitTips
(*GroupApplicationAcceptedTips)(nil), // 24: OpenIMServer.sdkws.GroupApplicationAcceptedTips
(*GroupApplicationRejectedTips)(nil), // 25: OpenIMServer.sdkws.GroupApplicationRejectedTips
(*GroupOwnerTransferredTips)(nil), // 26: OpenIMServer.sdkws.GroupOwnerTransferredTips
(*MemberKickedTips)(nil), // 27: OpenIMServer.sdkws.MemberKickedTips
(*MemberInvitedTips)(nil), // 28: OpenIMServer.sdkws.MemberInvitedTips
(*MemberEnterTips)(nil), // 29: OpenIMServer.sdkws.MemberEnterTips
(*GroupDismissedTips)(nil), // 30: OpenIMServer.sdkws.GroupDismissedTips
(*GroupMemberMutedTips)(nil), // 31: OpenIMServer.sdkws.GroupMemberMutedTips
(*GroupMemberCancelMutedTips)(nil), // 32: OpenIMServer.sdkws.GroupMemberCancelMutedTips
(*GroupMutedTips)(nil), // 33: OpenIMServer.sdkws.GroupMutedTips
(*GroupCancelMutedTips)(nil), // 34: OpenIMServer.sdkws.GroupCancelMutedTips
(*GroupMemberInfoSetTips)(nil), // 35: OpenIMServer.sdkws.GroupMemberInfoSetTips
(*FriendApplication)(nil), // 36: OpenIMServer.sdkws.FriendApplication
(*FromToUserID)(nil), // 37: OpenIMServer.sdkws.FromToUserID
(*FriendApplicationTips)(nil), // 38: OpenIMServer.sdkws.FriendApplicationTips
(*FriendApplicationApprovedTips)(nil), // 39: OpenIMServer.sdkws.FriendApplicationApprovedTips
(*FriendApplicationRejectedTips)(nil), // 40: OpenIMServer.sdkws.FriendApplicationRejectedTips
(*FriendAddedTips)(nil), // 41: OpenIMServer.sdkws.FriendAddedTips
(*FriendDeletedTips)(nil), // 42: OpenIMServer.sdkws.FriendDeletedTips
(*BlackAddedTips)(nil), // 43: OpenIMServer.sdkws.BlackAddedTips
(*BlackDeletedTips)(nil), // 44: OpenIMServer.sdkws.BlackDeletedTips
(*FriendInfoChangedTips)(nil), // 45: OpenIMServer.sdkws.FriendInfoChangedTips
(*UserInfoUpdatedTips)(nil), // 46: OpenIMServer.sdkws.UserInfoUpdatedTips
(*ConversationUpdateTips)(nil), // 47: OpenIMServer.sdkws.ConversationUpdateTips
(*ConversationSetPrivateTips)(nil), // 48: OpenIMServer.sdkws.ConversationSetPrivateTips
(*DeleteMessageTips)(nil), // 49: OpenIMServer.sdkws.DeleteMessageTips
(*RequestPagination)(nil), // 50: OpenIMServer.sdkws.RequestPagination
(*SignalReq)(nil), // 51: OpenIMServer.sdkws.SignalReq
(*SignalResp)(nil), // 52: OpenIMServer.sdkws.SignalResp
(*InvitationInfo)(nil), // 53: OpenIMServer.sdkws.InvitationInfo
(*ParticipantMetaData)(nil), // 54: OpenIMServer.sdkws.ParticipantMetaData
(*SignalInviteReq)(nil), // 55: OpenIMServer.sdkws.SignalInviteReq
(*SignalInviteReply)(nil), // 56: OpenIMServer.sdkws.SignalInviteReply
(*SignalInviteInGroupReq)(nil), // 57: OpenIMServer.sdkws.SignalInviteInGroupReq
(*SignalInviteInGroupReply)(nil), // 58: OpenIMServer.sdkws.SignalInviteInGroupReply
(*SignalCancelReq)(nil), // 59: OpenIMServer.sdkws.SignalCancelReq
(*SignalCancelReply)(nil), // 60: OpenIMServer.sdkws.SignalCancelReply
(*SignalAcceptReq)(nil), // 61: OpenIMServer.sdkws.SignalAcceptReq
(*SignalAcceptReply)(nil), // 62: OpenIMServer.sdkws.SignalAcceptReply
(*SignalHungUpReq)(nil), // 63: OpenIMServer.sdkws.SignalHungUpReq
(*SignalHungUpReply)(nil), // 64: OpenIMServer.sdkws.SignalHungUpReply
(*SignalRejectReq)(nil), // 65: OpenIMServer.sdkws.SignalRejectReq
(*SignalRejectReply)(nil), // 66: OpenIMServer.sdkws.SignalRejectReply
(*SignalGetRoomByGroupIDReq)(nil), // 67: OpenIMServer.sdkws.SignalGetRoomByGroupIDReq
(*SignalGetRoomByGroupIDReply)(nil), // 68: OpenIMServer.sdkws.SignalGetRoomByGroupIDReply
(*SignalOnRoomParticipantConnectedReq)(nil), // 69: OpenIMServer.sdkws.SignalOnRoomParticipantConnectedReq
(*SignalOnRoomParticipantDisconnectedReq)(nil), // 70: OpenIMServer.sdkws.SignalOnRoomParticipantDisconnectedReq
(*SignalGetTokenByRoomIDReq)(nil), // 71: OpenIMServer.sdkws.SignalGetTokenByRoomIDReq
(*SignalGetTokenByRoomIDReply)(nil), // 72: OpenIMServer.sdkws.SignalGetTokenByRoomIDReply
(*SetAppBackgroundStatusReq)(nil), // 73: OpenIMServer.sdkws.SetAppBackgroundStatusReq
(*SetAppBackgroundStatusResp)(nil), // 74: OpenIMServer.sdkws.SetAppBackgroundStatusResp
(*ExtendMsgSet)(nil), // 75: OpenIMServer.sdkws.ExtendMsgSet
(*ExtendMsg)(nil), // 76: OpenIMServer.sdkws.ExtendMsg
(*KeyValue)(nil), // 77: OpenIMServer.sdkws.KeyValue
nil, // 78: OpenIMServer.sdkws.PullMessageBySeqsReq.GroupSeqsEntry
nil, // 79: OpenIMServer.sdkws.PullMessageBySeqsResp.GroupMsgDataListEntry
nil, // 80: OpenIMServer.sdkws.GetMaxAndMinSeqResp.GroupMaxAndMinSeqEntry
nil, // 81: OpenIMServer.sdkws.MsgData.OptionsEntry
nil, // 82: OpenIMServer.sdkws.ExtendMsgSet.ExtendMsgsEntry
nil, // 83: OpenIMServer.sdkws.ExtendMsg.ReactionExtensionListEntry
(*wrapperspb.Int32Value)(nil), // 84: OpenIMServer.protobuf.Int32Value
}
var file_sdkws_sdkws_proto_depIdxs = []int32{
84, // 0: OpenIMServer.sdkws.GroupInfoForSet.needVerification:type_name -> OpenIMServer.protobuf.Int32Value
84, // 1: OpenIMServer.sdkws.GroupInfoForSet.lookMemberInfo:type_name -> OpenIMServer.protobuf.Int32Value
84, // 2: OpenIMServer.sdkws.GroupInfoForSet.applyMemberFriend:type_name -> OpenIMServer.protobuf.Int32Value
4, // 3: OpenIMServer.sdkws.FriendInfo.friendUser:type_name -> OpenIMServer.sdkws.UserInfo
3, // 4: OpenIMServer.sdkws.BlackInfo.blackUserInfo:type_name -> OpenIMServer.sdkws.PublicUserInfo
3, // 5: OpenIMServer.sdkws.GroupRequest.userInfo:type_name -> OpenIMServer.sdkws.PublicUserInfo
0, // 6: OpenIMServer.sdkws.GroupRequest.groupInfo:type_name -> OpenIMServer.sdkws.GroupInfo
78, // 7: OpenIMServer.sdkws.PullMessageBySeqsReq.groupSeqs:type_name -> OpenIMServer.sdkws.PullMessageBySeqsReq.GroupSeqsEntry
17, // 8: OpenIMServer.sdkws.MsgDataList.msgDataList:type_name -> OpenIMServer.sdkws.MsgData
17, // 9: OpenIMServer.sdkws.PullMessageBySeqsResp.list:type_name -> OpenIMServer.sdkws.MsgData
79, // 10: OpenIMServer.sdkws.PullMessageBySeqsResp.groupMsgDataList:type_name -> OpenIMServer.sdkws.PullMessageBySeqsResp.GroupMsgDataListEntry
80, // 11: OpenIMServer.sdkws.GetMaxAndMinSeqResp.groupMaxAndMinSeq:type_name -> OpenIMServer.sdkws.GetMaxAndMinSeqResp.GroupMaxAndMinSeqEntry
81, // 12: OpenIMServer.sdkws.MsgData.options:type_name -> OpenIMServer.sdkws.MsgData.OptionsEntry
18, // 13: OpenIMServer.sdkws.MsgData.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
0, // 14: OpenIMServer.sdkws.GroupCreatedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 15: OpenIMServer.sdkws.GroupCreatedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 16: OpenIMServer.sdkws.GroupCreatedTips.memberList:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 17: OpenIMServer.sdkws.GroupCreatedTips.groupOwnerUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 18: OpenIMServer.sdkws.GroupInfoSetTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 19: OpenIMServer.sdkws.GroupInfoSetTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
0, // 20: OpenIMServer.sdkws.JoinGroupApplicationTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
3, // 21: OpenIMServer.sdkws.JoinGroupApplicationTips.applicant:type_name -> OpenIMServer.sdkws.PublicUserInfo
0, // 22: OpenIMServer.sdkws.MemberQuitTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 23: OpenIMServer.sdkws.MemberQuitTips.quitUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 24: OpenIMServer.sdkws.GroupApplicationAcceptedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 25: OpenIMServer.sdkws.GroupApplicationAcceptedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 26: OpenIMServer.sdkws.GroupApplicationRejectedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 27: OpenIMServer.sdkws.GroupApplicationRejectedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 28: OpenIMServer.sdkws.GroupOwnerTransferredTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 29: OpenIMServer.sdkws.GroupOwnerTransferredTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 30: OpenIMServer.sdkws.GroupOwnerTransferredTips.newGroupOwner:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 31: OpenIMServer.sdkws.MemberKickedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 32: OpenIMServer.sdkws.MemberKickedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 33: OpenIMServer.sdkws.MemberKickedTips.kickedUserList:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 34: OpenIMServer.sdkws.MemberInvitedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 35: OpenIMServer.sdkws.MemberInvitedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 36: OpenIMServer.sdkws.MemberInvitedTips.invitedUserList:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 37: OpenIMServer.sdkws.MemberEnterTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 38: OpenIMServer.sdkws.MemberEnterTips.entrantUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 39: OpenIMServer.sdkws.GroupDismissedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 40: OpenIMServer.sdkws.GroupDismissedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 41: OpenIMServer.sdkws.GroupMemberMutedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 42: OpenIMServer.sdkws.GroupMemberMutedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 43: OpenIMServer.sdkws.GroupMemberMutedTips.mutedUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 44: OpenIMServer.sdkws.GroupMemberCancelMutedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 45: OpenIMServer.sdkws.GroupMemberCancelMutedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 46: OpenIMServer.sdkws.GroupMemberCancelMutedTips.mutedUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 47: OpenIMServer.sdkws.GroupMutedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 48: OpenIMServer.sdkws.GroupMutedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 49: OpenIMServer.sdkws.GroupCancelMutedTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 50: OpenIMServer.sdkws.GroupCancelMutedTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
0, // 51: OpenIMServer.sdkws.GroupMemberInfoSetTips.group:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 52: OpenIMServer.sdkws.GroupMemberInfoSetTips.opUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
2, // 53: OpenIMServer.sdkws.GroupMemberInfoSetTips.changedUser:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
37, // 54: OpenIMServer.sdkws.FriendApplicationTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 55: OpenIMServer.sdkws.FriendApplicationApprovedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 56: OpenIMServer.sdkws.FriendApplicationRejectedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
5, // 57: OpenIMServer.sdkws.FriendAddedTips.friend:type_name -> OpenIMServer.sdkws.FriendInfo
3, // 58: OpenIMServer.sdkws.FriendAddedTips.opUser:type_name -> OpenIMServer.sdkws.PublicUserInfo
37, // 59: OpenIMServer.sdkws.FriendDeletedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 60: OpenIMServer.sdkws.BlackAddedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 61: OpenIMServer.sdkws.BlackDeletedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
37, // 62: OpenIMServer.sdkws.FriendInfoChangedTips.fromToUserID:type_name -> OpenIMServer.sdkws.FromToUserID
55, // 63: OpenIMServer.sdkws.SignalReq.invite:type_name -> OpenIMServer.sdkws.SignalInviteReq
57, // 64: OpenIMServer.sdkws.SignalReq.inviteInGroup:type_name -> OpenIMServer.sdkws.SignalInviteInGroupReq
59, // 65: OpenIMServer.sdkws.SignalReq.cancel:type_name -> OpenIMServer.sdkws.SignalCancelReq
61, // 66: OpenIMServer.sdkws.SignalReq.accept:type_name -> OpenIMServer.sdkws.SignalAcceptReq
63, // 67: OpenIMServer.sdkws.SignalReq.hungUp:type_name -> OpenIMServer.sdkws.SignalHungUpReq
65, // 68: OpenIMServer.sdkws.SignalReq.reject:type_name -> OpenIMServer.sdkws.SignalRejectReq
67, // 69: OpenIMServer.sdkws.SignalReq.getRoomByGroupID:type_name -> OpenIMServer.sdkws.SignalGetRoomByGroupIDReq
69, // 70: OpenIMServer.sdkws.SignalReq.onRoomParticipantConnectedReq:type_name -> OpenIMServer.sdkws.SignalOnRoomParticipantConnectedReq
70, // 71: OpenIMServer.sdkws.SignalReq.onRoomParticipantDisconnectedReq:type_name -> OpenIMServer.sdkws.SignalOnRoomParticipantDisconnectedReq
71, // 72: OpenIMServer.sdkws.SignalReq.getTokenByRoomID:type_name -> OpenIMServer.sdkws.SignalGetTokenByRoomIDReq
56, // 73: OpenIMServer.sdkws.SignalResp.invite:type_name -> OpenIMServer.sdkws.SignalInviteReply
58, // 74: OpenIMServer.sdkws.SignalResp.inviteInGroup:type_name -> OpenIMServer.sdkws.SignalInviteInGroupReply
60, // 75: OpenIMServer.sdkws.SignalResp.cancel:type_name -> OpenIMServer.sdkws.SignalCancelReply
62, // 76: OpenIMServer.sdkws.SignalResp.accept:type_name -> OpenIMServer.sdkws.SignalAcceptReply
64, // 77: OpenIMServer.sdkws.SignalResp.hungUp:type_name -> OpenIMServer.sdkws.SignalHungUpReply
66, // 78: OpenIMServer.sdkws.SignalResp.reject:type_name -> OpenIMServer.sdkws.SignalRejectReply
68, // 79: OpenIMServer.sdkws.SignalResp.getRoomByGroupID:type_name -> OpenIMServer.sdkws.SignalGetRoomByGroupIDReply
72, // 80: OpenIMServer.sdkws.SignalResp.getTokenByRoomID:type_name -> OpenIMServer.sdkws.SignalGetTokenByRoomIDReply
0, // 81: OpenIMServer.sdkws.ParticipantMetaData.groupInfo:type_name -> OpenIMServer.sdkws.GroupInfo
2, // 82: OpenIMServer.sdkws.ParticipantMetaData.groupMemberInfo:type_name -> OpenIMServer.sdkws.GroupMemberFullInfo
3, // 83: OpenIMServer.sdkws.ParticipantMetaData.userInfo:type_name -> OpenIMServer.sdkws.PublicUserInfo
53, // 84: OpenIMServer.sdkws.SignalInviteReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 85: OpenIMServer.sdkws.SignalInviteReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
54, // 86: OpenIMServer.sdkws.SignalInviteReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
53, // 87: OpenIMServer.sdkws.SignalInviteInGroupReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 88: OpenIMServer.sdkws.SignalInviteInGroupReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
54, // 89: OpenIMServer.sdkws.SignalInviteInGroupReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
53, // 90: OpenIMServer.sdkws.SignalCancelReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 91: OpenIMServer.sdkws.SignalCancelReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
54, // 92: OpenIMServer.sdkws.SignalCancelReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
53, // 93: OpenIMServer.sdkws.SignalAcceptReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 94: OpenIMServer.sdkws.SignalAcceptReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
54, // 95: OpenIMServer.sdkws.SignalAcceptReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
53, // 96: OpenIMServer.sdkws.SignalHungUpReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 97: OpenIMServer.sdkws.SignalHungUpReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
53, // 98: OpenIMServer.sdkws.SignalRejectReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
18, // 99: OpenIMServer.sdkws.SignalRejectReq.offlinePushInfo:type_name -> OpenIMServer.sdkws.OfflinePushInfo
54, // 100: OpenIMServer.sdkws.SignalRejectReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 101: OpenIMServer.sdkws.SignalGetRoomByGroupIDReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
53, // 102: OpenIMServer.sdkws.SignalGetRoomByGroupIDReply.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
54, // 103: OpenIMServer.sdkws.SignalGetRoomByGroupIDReply.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
53, // 104: OpenIMServer.sdkws.SignalOnRoomParticipantConnectedReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
54, // 105: OpenIMServer.sdkws.SignalOnRoomParticipantConnectedReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
53, // 106: OpenIMServer.sdkws.SignalOnRoomParticipantDisconnectedReq.invitation:type_name -> OpenIMServer.sdkws.InvitationInfo
54, // 107: OpenIMServer.sdkws.SignalOnRoomParticipantDisconnectedReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
54, // 108: OpenIMServer.sdkws.SignalGetTokenByRoomIDReq.participant:type_name -> OpenIMServer.sdkws.ParticipantMetaData
82, // 109: OpenIMServer.sdkws.ExtendMsgSet.extendMsgs:type_name -> OpenIMServer.sdkws.ExtendMsgSet.ExtendMsgsEntry
83, // 110: OpenIMServer.sdkws.ExtendMsg.reactionExtensionList:type_name -> OpenIMServer.sdkws.ExtendMsg.ReactionExtensionListEntry
10, // 111: OpenIMServer.sdkws.PullMessageBySeqsReq.GroupSeqsEntry.value:type_name -> OpenIMServer.sdkws.seqs
11, // 112: OpenIMServer.sdkws.PullMessageBySeqsResp.GroupMsgDataListEntry.value:type_name -> OpenIMServer.sdkws.MsgDataList
14, // 113: OpenIMServer.sdkws.GetMaxAndMinSeqResp.GroupMaxAndMinSeqEntry.value:type_name -> OpenIMServer.sdkws.MaxAndMinSeq
76, // 114: OpenIMServer.sdkws.ExtendMsgSet.ExtendMsgsEntry.value:type_name -> OpenIMServer.sdkws.ExtendMsg
77, // 115: OpenIMServer.sdkws.ExtendMsg.ReactionExtensionListEntry.value:type_name -> OpenIMServer.sdkws.KeyValue
116, // [116:116] is the sub-list for method output_type
116, // [116:116] is the sub-list for method input_type
116, // [116:116] is the sub-list for extension type_name
116, // [116:116] is the sub-list for extension extendee
0, // [0:116] is the sub-list for field type_name
}
func init() { file_sdkws_sdkws_proto_init() }
func file_sdkws_sdkws_proto_init() {
if File_sdkws_sdkws_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_sdkws_sdkws_proto_msgTypes[0].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_sdkws_sdkws_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInfoForSet); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMemberFullInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicUserInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlackInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PullMessageBySeqsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Seqs); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MsgDataList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PullMessageBySeqsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMaxAndMinSeqReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MaxAndMinSeq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMaxAndMinSeqResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserSendMsgResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MsgData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OfflinePushInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TipsComm); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupCreatedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInfoSetTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*JoinGroupApplicationTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MemberQuitTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupApplicationAcceptedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupApplicationRejectedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupOwnerTransferredTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MemberKickedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MemberInvitedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MemberEnterTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupDismissedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMemberMutedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMemberCancelMutedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMutedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupCancelMutedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupMemberInfoSetTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendApplication); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FromToUserID); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendApplicationTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendApplicationApprovedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendApplicationRejectedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendAddedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendDeletedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlackAddedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlackDeletedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FriendInfoChangedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserInfoUpdatedTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConversationUpdateTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConversationSetPrivateTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteMessageTips); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestPagination); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InvitationInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParticipantMetaData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalInviteReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalInviteReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalInviteInGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalInviteInGroupReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalCancelReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalCancelReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalAcceptReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalAcceptReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalHungUpReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalHungUpReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalRejectReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalRejectReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalGetRoomByGroupIDReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalGetRoomByGroupIDReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalOnRoomParticipantConnectedReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalOnRoomParticipantDisconnectedReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalGetTokenByRoomIDReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalGetTokenByRoomIDReply); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetAppBackgroundStatusReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetAppBackgroundStatusResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtendMsgSet); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExtendMsg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sdkws_sdkws_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KeyValue); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_sdkws_sdkws_proto_msgTypes[51].OneofWrappers = []interface{}{
(*SignalReq_Invite)(nil),
(*SignalReq_InviteInGroup)(nil),
(*SignalReq_Cancel)(nil),
(*SignalReq_Accept)(nil),
(*SignalReq_HungUp)(nil),
(*SignalReq_Reject)(nil),
(*SignalReq_GetRoomByGroupID)(nil),
(*SignalReq_OnRoomParticipantConnectedReq)(nil),
(*SignalReq_OnRoomParticipantDisconnectedReq)(nil),
(*SignalReq_GetTokenByRoomID)(nil),
}
file_sdkws_sdkws_proto_msgTypes[52].OneofWrappers = []interface{}{
(*SignalResp_Invite)(nil),
(*SignalResp_InviteInGroup)(nil),
(*SignalResp_Cancel)(nil),
(*SignalResp_Accept)(nil),
(*SignalResp_HungUp)(nil),
(*SignalResp_Reject)(nil),
(*SignalResp_GetRoomByGroupID)(nil),
(*SignalResp_GetTokenByRoomID)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_sdkws_sdkws_proto_rawDesc,
NumEnums: 0,
NumMessages: 84,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_sdkws_sdkws_proto_goTypes,
DependencyIndexes: file_sdkws_sdkws_proto_depIdxs,
MessageInfos: file_sdkws_sdkws_proto_msgTypes,
}.Build()
File_sdkws_sdkws_proto = out.File
file_sdkws_sdkws_proto_rawDesc = nil
file_sdkws_sdkws_proto_goTypes = nil
file_sdkws_sdkws_proto_depIdxs = nil
}