Files
chat-deploy/pkg/protocol/chat/chat.pb.go
kim.dev.6789 b7f8db7d08 复制项目
2026-01-14 22:35:45 +08:00

13237 lines
468 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright © 2023 OpenIM open source community. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc v6.33.0
// source: chat/chat.proto
package chat
import (
common "git.imall.cloud/openim/chat/pkg/protocol/common"
sdkws "git.imall.cloud/openim/protocol/sdkws"
wrapperspb "git.imall.cloud/openim/protocol/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 UserIdentity struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email"`
AreaCode string `protobuf:"bytes,2,opt,name=areaCode,proto3" json:"areaCode"`
PhoneNumber string `protobuf:"bytes,3,opt,name=phoneNumber,proto3" json:"phoneNumber"`
DeviceID string `protobuf:"bytes,4,opt,name=deviceID,proto3" json:"deviceID"`
Platform int32 `protobuf:"varint,5,opt,name=platform,proto3" json:"platform"`
Account string `protobuf:"bytes,6,opt,name=account,proto3" json:"account"`
}
func (x *UserIdentity) Reset() {
*x = UserIdentity{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserIdentity) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserIdentity) ProtoMessage() {}
func (x *UserIdentity) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 UserIdentity.ProtoReflect.Descriptor instead.
func (*UserIdentity) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{0}
}
func (x *UserIdentity) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *UserIdentity) GetAreaCode() string {
if x != nil {
return x.AreaCode
}
return ""
}
func (x *UserIdentity) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
}
return ""
}
func (x *UserIdentity) GetDeviceID() string {
if x != nil {
return x.DeviceID
}
return ""
}
func (x *UserIdentity) GetPlatform() int32 {
if x != nil {
return x.Platform
}
return 0
}
func (x *UserIdentity) GetAccount() string {
if x != nil {
return x.Account
}
return ""
}
type UpdateUserInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
Account *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=account,proto3" json:"account"`
PhoneNumber *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=phoneNumber,proto3" json:"phoneNumber"`
AreaCode *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=areaCode,proto3" json:"areaCode"`
Email *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=email,proto3" json:"email"`
Nickname *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=nickname,proto3" json:"nickname"`
FaceURL *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=faceURL,proto3" json:"faceURL"`
Gender *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=gender,proto3" json:"gender"`
Level *wrapperspb.Int32Value `protobuf:"bytes,9,opt,name=level,proto3" json:"level"`
Birth *wrapperspb.Int64Value `protobuf:"bytes,10,opt,name=birth,proto3" json:"birth"`
AllowAddFriend *wrapperspb.Int32Value `protobuf:"bytes,11,opt,name=allowAddFriend,proto3" json:"allowAddFriend"`
AllowBeep *wrapperspb.Int32Value `protobuf:"bytes,12,opt,name=allowBeep,proto3" json:"allowBeep"`
AllowVibration *wrapperspb.Int32Value `protobuf:"bytes,13,opt,name=allowVibration,proto3" json:"allowVibration"`
GlobalRecvMsgOpt *wrapperspb.Int32Value `protobuf:"bytes,14,opt,name=globalRecvMsgOpt,proto3" json:"globalRecvMsgOpt"`
RegisterType *wrapperspb.Int32Value `protobuf:"bytes,15,opt,name=RegisterType,proto3" json:"RegisterType"`
UserType int32 `protobuf:"varint,16,opt,name=userType,proto3" json:"userType"` // 用户类型: 0=普通用户, 1=企业用户, 2=机器人, 3=管理员
UserFlag *wrapperspb.StringValue `protobuf:"bytes,17,opt,name=userFlag,proto3" json:"userFlag"` // 用户标签/标识类似UserType的字符串版本
}
func (x *UpdateUserInfoReq) Reset() {
*x = UpdateUserInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateUserInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateUserInfoReq) ProtoMessage() {}
func (x *UpdateUserInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 UpdateUserInfoReq.ProtoReflect.Descriptor instead.
func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{1}
}
func (x *UpdateUserInfoReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *UpdateUserInfoReq) GetAccount() *wrapperspb.StringValue {
if x != nil {
return x.Account
}
return nil
}
func (x *UpdateUserInfoReq) GetPhoneNumber() *wrapperspb.StringValue {
if x != nil {
return x.PhoneNumber
}
return nil
}
func (x *UpdateUserInfoReq) GetAreaCode() *wrapperspb.StringValue {
if x != nil {
return x.AreaCode
}
return nil
}
func (x *UpdateUserInfoReq) GetEmail() *wrapperspb.StringValue {
if x != nil {
return x.Email
}
return nil
}
func (x *UpdateUserInfoReq) GetNickname() *wrapperspb.StringValue {
if x != nil {
return x.Nickname
}
return nil
}
func (x *UpdateUserInfoReq) GetFaceURL() *wrapperspb.StringValue {
if x != nil {
return x.FaceURL
}
return nil
}
func (x *UpdateUserInfoReq) GetGender() *wrapperspb.Int32Value {
if x != nil {
return x.Gender
}
return nil
}
func (x *UpdateUserInfoReq) GetLevel() *wrapperspb.Int32Value {
if x != nil {
return x.Level
}
return nil
}
func (x *UpdateUserInfoReq) GetBirth() *wrapperspb.Int64Value {
if x != nil {
return x.Birth
}
return nil
}
func (x *UpdateUserInfoReq) GetAllowAddFriend() *wrapperspb.Int32Value {
if x != nil {
return x.AllowAddFriend
}
return nil
}
func (x *UpdateUserInfoReq) GetAllowBeep() *wrapperspb.Int32Value {
if x != nil {
return x.AllowBeep
}
return nil
}
func (x *UpdateUserInfoReq) GetAllowVibration() *wrapperspb.Int32Value {
if x != nil {
return x.AllowVibration
}
return nil
}
func (x *UpdateUserInfoReq) GetGlobalRecvMsgOpt() *wrapperspb.Int32Value {
if x != nil {
return x.GlobalRecvMsgOpt
}
return nil
}
func (x *UpdateUserInfoReq) GetRegisterType() *wrapperspb.Int32Value {
if x != nil {
return x.RegisterType
}
return nil
}
func (x *UpdateUserInfoReq) GetUserType() int32 {
if x != nil {
return x.UserType
}
return 0
}
func (x *UpdateUserInfoReq) GetUserFlag() *wrapperspb.StringValue {
if x != nil {
return x.UserFlag
}
return nil
}
type UpdateUserInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FaceUrl string `protobuf:"bytes,1,opt,name=faceUrl,proto3" json:"faceUrl"`
NickName string `protobuf:"bytes,2,opt,name=nickName,proto3" json:"nickName"`
}
func (x *UpdateUserInfoResp) Reset() {
*x = UpdateUserInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateUserInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateUserInfoResp) ProtoMessage() {}
func (x *UpdateUserInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 UpdateUserInfoResp.ProtoReflect.Descriptor instead.
func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{2}
}
func (x *UpdateUserInfoResp) GetFaceUrl() string {
if x != nil {
return x.FaceUrl
}
return ""
}
func (x *UpdateUserInfoResp) GetNickName() string {
if x != nil {
return x.NickName
}
return ""
}
type FindUserPublicInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserIDs []string `protobuf:"bytes,1,rep,name=userIDs,proto3" json:"userIDs"`
}
func (x *FindUserPublicInfoReq) Reset() {
*x = FindUserPublicInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserPublicInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserPublicInfoReq) ProtoMessage() {}
func (x *FindUserPublicInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 FindUserPublicInfoReq.ProtoReflect.Descriptor instead.
func (*FindUserPublicInfoReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{3}
}
func (x *FindUserPublicInfoReq) GetUserIDs() []string {
if x != nil {
return x.UserIDs
}
return nil
}
type FindUserPublicInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Users []*common.UserPublicInfo `protobuf:"bytes,1,rep,name=users,proto3" json:"users"`
}
func (x *FindUserPublicInfoResp) Reset() {
*x = FindUserPublicInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserPublicInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserPublicInfoResp) ProtoMessage() {}
func (x *FindUserPublicInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 FindUserPublicInfoResp.ProtoReflect.Descriptor instead.
func (*FindUserPublicInfoResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{4}
}
func (x *FindUserPublicInfoResp) GetUsers() []*common.UserPublicInfo {
if x != nil {
return x.Users
}
return nil
}
type SearchUserPublicInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"`
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"`
Genders int32 `protobuf:"varint,3,opt,name=genders,proto3" json:"genders"`
}
func (x *SearchUserPublicInfoReq) Reset() {
*x = SearchUserPublicInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchUserPublicInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchUserPublicInfoReq) ProtoMessage() {}
func (x *SearchUserPublicInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SearchUserPublicInfoReq.ProtoReflect.Descriptor instead.
func (*SearchUserPublicInfoReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{5}
}
func (x *SearchUserPublicInfoReq) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *SearchUserPublicInfoReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
func (x *SearchUserPublicInfoReq) GetGenders() int32 {
if x != nil {
return x.Genders
}
return 0
}
type SearchUserPublicInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
Users []*common.UserPublicInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"`
}
func (x *SearchUserPublicInfoResp) Reset() {
*x = SearchUserPublicInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchUserPublicInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchUserPublicInfoResp) ProtoMessage() {}
func (x *SearchUserPublicInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SearchUserPublicInfoResp.ProtoReflect.Descriptor instead.
func (*SearchUserPublicInfoResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{6}
}
func (x *SearchUserPublicInfoResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *SearchUserPublicInfoResp) GetUsers() []*common.UserPublicInfo {
if x != nil {
return x.Users
}
return nil
}
type FindUserFullInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserIDs []string `protobuf:"bytes,1,rep,name=userIDs,proto3" json:"userIDs"`
}
func (x *FindUserFullInfoReq) Reset() {
*x = FindUserFullInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserFullInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserFullInfoReq) ProtoMessage() {}
func (x *FindUserFullInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 FindUserFullInfoReq.ProtoReflect.Descriptor instead.
func (*FindUserFullInfoReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{7}
}
func (x *FindUserFullInfoReq) GetUserIDs() []string {
if x != nil {
return x.UserIDs
}
return nil
}
type FindUserFullInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Users []*common.UserFullInfo `protobuf:"bytes,1,rep,name=users,proto3" json:"users"`
}
func (x *FindUserFullInfoResp) Reset() {
*x = FindUserFullInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserFullInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserFullInfoResp) ProtoMessage() {}
func (x *FindUserFullInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 FindUserFullInfoResp.ProtoReflect.Descriptor instead.
func (*FindUserFullInfoResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{8}
}
func (x *FindUserFullInfoResp) GetUsers() []*common.UserFullInfo {
if x != nil {
return x.Users
}
return nil
}
type SendVerifyCodeReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UsedFor int32 `protobuf:"varint,1,opt,name=usedFor,proto3" json:"usedFor"`
Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip"`
InvitationCode string `protobuf:"bytes,3,opt,name=invitationCode,proto3" json:"invitationCode"`
DeviceID string `protobuf:"bytes,4,opt,name=deviceID,proto3" json:"deviceID"`
Platform int32 `protobuf:"varint,5,opt,name=platform,proto3" json:"platform"`
AreaCode string `protobuf:"bytes,6,opt,name=areaCode,proto3" json:"areaCode"`
PhoneNumber string `protobuf:"bytes,7,opt,name=phoneNumber,proto3" json:"phoneNumber"`
Email string `protobuf:"bytes,8,opt,name=email,proto3" json:"email"`
}
func (x *SendVerifyCodeReq) Reset() {
*x = SendVerifyCodeReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SendVerifyCodeReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendVerifyCodeReq) ProtoMessage() {}
func (x *SendVerifyCodeReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SendVerifyCodeReq.ProtoReflect.Descriptor instead.
func (*SendVerifyCodeReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{9}
}
func (x *SendVerifyCodeReq) GetUsedFor() int32 {
if x != nil {
return x.UsedFor
}
return 0
}
func (x *SendVerifyCodeReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *SendVerifyCodeReq) GetInvitationCode() string {
if x != nil {
return x.InvitationCode
}
return ""
}
func (x *SendVerifyCodeReq) GetDeviceID() string {
if x != nil {
return x.DeviceID
}
return ""
}
func (x *SendVerifyCodeReq) GetPlatform() int32 {
if x != nil {
return x.Platform
}
return 0
}
func (x *SendVerifyCodeReq) GetAreaCode() string {
if x != nil {
return x.AreaCode
}
return ""
}
func (x *SendVerifyCodeReq) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
}
return ""
}
func (x *SendVerifyCodeReq) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
type SendVerifyCodeResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SendVerifyCodeResp) Reset() {
*x = SendVerifyCodeResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SendVerifyCodeResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendVerifyCodeResp) ProtoMessage() {}
func (x *SendVerifyCodeResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SendVerifyCodeResp.ProtoReflect.Descriptor instead.
func (*SendVerifyCodeResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{10}
}
type VerifyCodeReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AreaCode string `protobuf:"bytes,1,opt,name=areaCode,proto3" json:"areaCode"`
PhoneNumber string `protobuf:"bytes,2,opt,name=phoneNumber,proto3" json:"phoneNumber"`
VerifyCode string `protobuf:"bytes,3,opt,name=verifyCode,proto3" json:"verifyCode"`
Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email"`
CaptchaID string `protobuf:"bytes,5,opt,name=captchaID,proto3" json:"captchaID"` // 图片验证码ID可选如果提供则验证图片验证码
Account string `protobuf:"bytes,6,opt,name=account,proto3" json:"account"` // 用户名(用于账号注册验证)
}
func (x *VerifyCodeReq) Reset() {
*x = VerifyCodeReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VerifyCodeReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VerifyCodeReq) ProtoMessage() {}
func (x *VerifyCodeReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 VerifyCodeReq.ProtoReflect.Descriptor instead.
func (*VerifyCodeReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{11}
}
func (x *VerifyCodeReq) GetAreaCode() string {
if x != nil {
return x.AreaCode
}
return ""
}
func (x *VerifyCodeReq) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
}
return ""
}
func (x *VerifyCodeReq) GetVerifyCode() string {
if x != nil {
return x.VerifyCode
}
return ""
}
func (x *VerifyCodeReq) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *VerifyCodeReq) GetCaptchaID() string {
if x != nil {
return x.CaptchaID
}
return ""
}
func (x *VerifyCodeReq) GetAccount() string {
if x != nil {
return x.Account
}
return ""
}
type VerifyCodeResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RegisterToken string `protobuf:"bytes,1,opt,name=registerToken,proto3" json:"registerToken"` // H5注册token仅在验证图片验证码成功后返回用于后续注册有效期120秒
}
func (x *VerifyCodeResp) Reset() {
*x = VerifyCodeResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VerifyCodeResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VerifyCodeResp) ProtoMessage() {}
func (x *VerifyCodeResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 VerifyCodeResp.ProtoReflect.Descriptor instead.
func (*VerifyCodeResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{12}
}
func (x *VerifyCodeResp) GetRegisterToken() string {
if x != nil {
return x.RegisterToken
}
return ""
}
type GetCaptchaImageReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetCaptchaImageReq) Reset() {
*x = GetCaptchaImageReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCaptchaImageReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCaptchaImageReq) ProtoMessage() {}
func (x *GetCaptchaImageReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetCaptchaImageReq.ProtoReflect.Descriptor instead.
func (*GetCaptchaImageReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{13}
}
type GetCaptchaImageResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CaptchaID string `protobuf:"bytes,1,opt,name=captchaID,proto3" json:"captchaID"` // 验证码ID用于后续验证
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code"` // 6位数字验证码用于生成图片
}
func (x *GetCaptchaImageResp) Reset() {
*x = GetCaptchaImageResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCaptchaImageResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCaptchaImageResp) ProtoMessage() {}
func (x *GetCaptchaImageResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetCaptchaImageResp.ProtoReflect.Descriptor instead.
func (*GetCaptchaImageResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{14}
}
func (x *GetCaptchaImageResp) GetCaptchaID() string {
if x != nil {
return x.CaptchaID
}
return ""
}
func (x *GetCaptchaImageResp) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
type RegisterUserInfo 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"`
Birth int64 `protobuf:"varint,4,opt,name=birth,proto3" json:"birth"`
Gender int32 `protobuf:"varint,5,opt,name=gender,proto3" json:"gender"`
AreaCode string `protobuf:"bytes,6,opt,name=areaCode,proto3" json:"areaCode"`
PhoneNumber string `protobuf:"bytes,7,opt,name=phoneNumber,proto3" json:"phoneNumber"`
Email string `protobuf:"bytes,8,opt,name=email,proto3" json:"email"`
Account string `protobuf:"bytes,9,opt,name=account,proto3" json:"account"`
Password string `protobuf:"bytes,10,opt,name=password,proto3" json:"password"`
RegisterType int32 `protobuf:"varint,11,opt,name=RegisterType,proto3" json:"RegisterType"`
UserType int32 `protobuf:"varint,12,opt,name=userType,proto3" json:"userType"` // 用户类型: 0=普通用户, 1=企业用户, 2=机器人, 3=管理员
UserFlag string `protobuf:"bytes,13,opt,name=userFlag,proto3" json:"userFlag"` // 用户标签/标识
}
func (x *RegisterUserInfo) Reset() {
*x = RegisterUserInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RegisterUserInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegisterUserInfo) ProtoMessage() {}
func (x *RegisterUserInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 RegisterUserInfo.ProtoReflect.Descriptor instead.
func (*RegisterUserInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{15}
}
func (x *RegisterUserInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *RegisterUserInfo) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *RegisterUserInfo) GetFaceURL() string {
if x != nil {
return x.FaceURL
}
return ""
}
func (x *RegisterUserInfo) GetBirth() int64 {
if x != nil {
return x.Birth
}
return 0
}
func (x *RegisterUserInfo) GetGender() int32 {
if x != nil {
return x.Gender
}
return 0
}
func (x *RegisterUserInfo) GetAreaCode() string {
if x != nil {
return x.AreaCode
}
return ""
}
func (x *RegisterUserInfo) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
}
return ""
}
func (x *RegisterUserInfo) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *RegisterUserInfo) GetAccount() string {
if x != nil {
return x.Account
}
return ""
}
func (x *RegisterUserInfo) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *RegisterUserInfo) GetRegisterType() int32 {
if x != nil {
return x.RegisterType
}
return 0
}
func (x *RegisterUserInfo) GetUserType() int32 {
if x != nil {
return x.UserType
}
return 0
}
func (x *RegisterUserInfo) GetUserFlag() string {
if x != nil {
return x.UserFlag
}
return ""
}
type RegisterUserReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
InvitationCode string `protobuf:"bytes,1,opt,name=invitationCode,proto3" json:"invitationCode"`
VerifyCode string `protobuf:"bytes,2,opt,name=verifyCode,proto3" json:"verifyCode"`
Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip"`
DeviceID string `protobuf:"bytes,4,opt,name=deviceID,proto3" json:"deviceID"`
Platform int32 `protobuf:"varint,5,opt,name=platform,proto3" json:"platform"`
AutoLogin bool `protobuf:"varint,6,opt,name=autoLogin,proto3" json:"autoLogin"`
User *RegisterUserInfo `protobuf:"bytes,7,opt,name=user,proto3" json:"user"`
RegisterToken string `protobuf:"bytes,8,opt,name=registerToken,proto3" json:"registerToken"` // H5注册token可选用于H5注册场景验证手机号合法性
}
func (x *RegisterUserReq) Reset() {
*x = RegisterUserReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RegisterUserReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegisterUserReq) ProtoMessage() {}
func (x *RegisterUserReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 RegisterUserReq.ProtoReflect.Descriptor instead.
func (*RegisterUserReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{16}
}
func (x *RegisterUserReq) GetInvitationCode() string {
if x != nil {
return x.InvitationCode
}
return ""
}
func (x *RegisterUserReq) GetVerifyCode() string {
if x != nil {
return x.VerifyCode
}
return ""
}
func (x *RegisterUserReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *RegisterUserReq) GetDeviceID() string {
if x != nil {
return x.DeviceID
}
return ""
}
func (x *RegisterUserReq) GetPlatform() int32 {
if x != nil {
return x.Platform
}
return 0
}
func (x *RegisterUserReq) GetAutoLogin() bool {
if x != nil {
return x.AutoLogin
}
return false
}
func (x *RegisterUserReq) GetUser() *RegisterUserInfo {
if x != nil {
return x.User
}
return nil
}
func (x *RegisterUserReq) GetRegisterToken() string {
if x != nil {
return x.RegisterToken
}
return ""
}
type RegisterUserResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
ChatToken string `protobuf:"bytes,3,opt,name=chatToken,proto3" json:"chatToken"`
}
func (x *RegisterUserResp) Reset() {
*x = RegisterUserResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RegisterUserResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegisterUserResp) ProtoMessage() {}
func (x *RegisterUserResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 RegisterUserResp.ProtoReflect.Descriptor instead.
func (*RegisterUserResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{17}
}
func (x *RegisterUserResp) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *RegisterUserResp) GetChatToken() string {
if x != nil {
return x.ChatToken
}
return ""
}
type AddUserAccountReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip"`
DeviceID string `protobuf:"bytes,2,opt,name=deviceID,proto3" json:"deviceID"`
Platform int32 `protobuf:"varint,3,opt,name=platform,proto3" json:"platform"`
User *RegisterUserInfo `protobuf:"bytes,4,opt,name=user,proto3" json:"user"`
}
func (x *AddUserAccountReq) Reset() {
*x = AddUserAccountReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddUserAccountReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddUserAccountReq) ProtoMessage() {}
func (x *AddUserAccountReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 AddUserAccountReq.ProtoReflect.Descriptor instead.
func (*AddUserAccountReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{18}
}
func (x *AddUserAccountReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *AddUserAccountReq) GetDeviceID() string {
if x != nil {
return x.DeviceID
}
return ""
}
func (x *AddUserAccountReq) GetPlatform() int32 {
if x != nil {
return x.Platform
}
return 0
}
func (x *AddUserAccountReq) GetUser() *RegisterUserInfo {
if x != nil {
return x.User
}
return nil
}
type AddUserAccountResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *AddUserAccountResp) Reset() {
*x = AddUserAccountResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddUserAccountResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddUserAccountResp) ProtoMessage() {}
func (x *AddUserAccountResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 AddUserAccountResp.ProtoReflect.Descriptor instead.
func (*AddUserAccountResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{19}
}
type LoginReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AreaCode string `protobuf:"bytes,1,opt,name=areaCode,proto3" json:"areaCode"`
PhoneNumber string `protobuf:"bytes,2,opt,name=phoneNumber,proto3" json:"phoneNumber"`
VerifyCode string `protobuf:"bytes,3,opt,name=verifyCode,proto3" json:"verifyCode"`
Account string `protobuf:"bytes,4,opt,name=account,proto3" json:"account"`
Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password"`
Platform int32 `protobuf:"varint,6,opt,name=platform,proto3" json:"platform"`
DeviceID string `protobuf:"bytes,7,opt,name=deviceID,proto3" json:"deviceID"`
Ip string `protobuf:"bytes,8,opt,name=ip,proto3" json:"ip"`
Email string `protobuf:"bytes,9,opt,name=email,proto3" json:"email"`
}
func (x *LoginReq) Reset() {
*x = LoginReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LoginReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoginReq) ProtoMessage() {}
func (x *LoginReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 LoginReq.ProtoReflect.Descriptor instead.
func (*LoginReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{20}
}
func (x *LoginReq) GetAreaCode() string {
if x != nil {
return x.AreaCode
}
return ""
}
func (x *LoginReq) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
}
return ""
}
func (x *LoginReq) GetVerifyCode() string {
if x != nil {
return x.VerifyCode
}
return ""
}
func (x *LoginReq) GetAccount() string {
if x != nil {
return x.Account
}
return ""
}
func (x *LoginReq) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *LoginReq) GetPlatform() int32 {
if x != nil {
return x.Platform
}
return 0
}
func (x *LoginReq) GetDeviceID() string {
if x != nil {
return x.DeviceID
}
return ""
}
func (x *LoginReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *LoginReq) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
type ResetPasswordReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AreaCode string `protobuf:"bytes,1,opt,name=areaCode,proto3" json:"areaCode"`
PhoneNumber string `protobuf:"bytes,2,opt,name=phoneNumber,proto3" json:"phoneNumber"`
VerifyCode string `protobuf:"bytes,3,opt,name=verifyCode,proto3" json:"verifyCode"`
Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password"`
Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email"`
}
func (x *ResetPasswordReq) Reset() {
*x = ResetPasswordReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResetPasswordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResetPasswordReq) ProtoMessage() {}
func (x *ResetPasswordReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 ResetPasswordReq.ProtoReflect.Descriptor instead.
func (*ResetPasswordReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{21}
}
func (x *ResetPasswordReq) GetAreaCode() string {
if x != nil {
return x.AreaCode
}
return ""
}
func (x *ResetPasswordReq) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
}
return ""
}
func (x *ResetPasswordReq) GetVerifyCode() string {
if x != nil {
return x.VerifyCode
}
return ""
}
func (x *ResetPasswordReq) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *ResetPasswordReq) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
type ResetPasswordResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ResetPasswordResp) Reset() {
*x = ResetPasswordResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResetPasswordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResetPasswordResp) ProtoMessage() {}
func (x *ResetPasswordResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 ResetPasswordResp.ProtoReflect.Descriptor instead.
func (*ResetPasswordResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{22}
}
type ChangePasswordReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
CurrentPassword string `protobuf:"bytes,2,opt,name=currentPassword,proto3" json:"currentPassword"`
NewPassword string `protobuf:"bytes,3,opt,name=newPassword,proto3" json:"newPassword"`
}
func (x *ChangePasswordReq) Reset() {
*x = ChangePasswordReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChangePasswordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChangePasswordReq) ProtoMessage() {}
func (x *ChangePasswordReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 ChangePasswordReq.ProtoReflect.Descriptor instead.
func (*ChangePasswordReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{23}
}
func (x *ChangePasswordReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *ChangePasswordReq) GetCurrentPassword() string {
if x != nil {
return x.CurrentPassword
}
return ""
}
func (x *ChangePasswordReq) GetNewPassword() string {
if x != nil {
return x.NewPassword
}
return ""
}
type ChangePasswordResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ChangePasswordResp) Reset() {
*x = ChangePasswordResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChangePasswordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChangePasswordResp) ProtoMessage() {}
func (x *ChangePasswordResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 ChangePasswordResp.ProtoReflect.Descriptor instead.
func (*ChangePasswordResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{24}
}
type FindUserAccountReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserIDs []string `protobuf:"bytes,1,rep,name=userIDs,proto3" json:"userIDs"`
}
func (x *FindUserAccountReq) Reset() {
*x = FindUserAccountReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserAccountReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserAccountReq) ProtoMessage() {}
func (x *FindUserAccountReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 FindUserAccountReq.ProtoReflect.Descriptor instead.
func (*FindUserAccountReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{25}
}
func (x *FindUserAccountReq) GetUserIDs() []string {
if x != nil {
return x.UserIDs
}
return nil
}
type FindUserAccountResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserAccountMap map[string]string `protobuf:"bytes,1,rep,name=userAccountMap,proto3" json:"userAccountMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // userID account
}
func (x *FindUserAccountResp) Reset() {
*x = FindUserAccountResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindUserAccountResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindUserAccountResp) ProtoMessage() {}
func (x *FindUserAccountResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 FindUserAccountResp.ProtoReflect.Descriptor instead.
func (*FindUserAccountResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{26}
}
func (x *FindUserAccountResp) GetUserAccountMap() map[string]string {
if x != nil {
return x.UserAccountMap
}
return nil
}
type FindAccountUserReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Accounts []string `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts"`
}
func (x *FindAccountUserReq) Reset() {
*x = FindAccountUserReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAccountUserReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAccountUserReq) ProtoMessage() {}
func (x *FindAccountUserReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 FindAccountUserReq.ProtoReflect.Descriptor instead.
func (*FindAccountUserReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{27}
}
func (x *FindAccountUserReq) GetAccounts() []string {
if x != nil {
return x.Accounts
}
return nil
}
type FindAccountUserResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccountUserMap map[string]string `protobuf:"bytes,1,rep,name=accountUserMap,proto3" json:"accountUserMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // account userID
}
func (x *FindAccountUserResp) Reset() {
*x = FindAccountUserResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAccountUserResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAccountUserResp) ProtoMessage() {}
func (x *FindAccountUserResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 FindAccountUserResp.ProtoReflect.Descriptor instead.
func (*FindAccountUserResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{28}
}
func (x *FindAccountUserResp) GetAccountUserMap() map[string]string {
if x != nil {
return x.AccountUserMap
}
return nil
}
type SignalRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FileName string `protobuf:"bytes,1,opt,name=fileName,proto3" json:"fileName"`
MediaType string `protobuf:"bytes,2,opt,name=mediaType,proto3" json:"mediaType"`
RoomType string `protobuf:"bytes,3,opt,name=roomType,proto3" json:"roomType"`
SenderID string `protobuf:"bytes,4,opt,name=senderID,proto3" json:"senderID"`
SenderNickname string `protobuf:"bytes,5,opt,name=senderNickname,proto3" json:"senderNickname"`
RecvID string `protobuf:"bytes,6,opt,name=recvID,proto3" json:"recvID"`
RecvNickname string `protobuf:"bytes,7,opt,name=recvNickname,proto3" json:"recvNickname"`
GroupID string `protobuf:"bytes,8,opt,name=groupID,proto3" json:"groupID"`
GroupName string `protobuf:"bytes,9,opt,name=groupName,proto3" json:"groupName"`
InviterUserList []*common.UserPublicInfo `protobuf:"bytes,10,rep,name=inviterUserList,proto3" json:"inviterUserList"`
Duration int32 `protobuf:"varint,11,opt,name=duration,proto3" json:"duration"`
CreateTime int64 `protobuf:"varint,12,opt,name=createTime,proto3" json:"createTime"`
Size string `protobuf:"bytes,13,opt,name=size,proto3" json:"size"`
DownloadURL string `protobuf:"bytes,14,opt,name=downloadURL,proto3" json:"downloadURL"`
}
func (x *SignalRecord) Reset() {
*x = SignalRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SignalRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SignalRecord) ProtoMessage() {}
func (x *SignalRecord) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SignalRecord.ProtoReflect.Descriptor instead.
func (*SignalRecord) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{29}
}
func (x *SignalRecord) GetFileName() string {
if x != nil {
return x.FileName
}
return ""
}
func (x *SignalRecord) GetMediaType() string {
if x != nil {
return x.MediaType
}
return ""
}
func (x *SignalRecord) GetRoomType() string {
if x != nil {
return x.RoomType
}
return ""
}
func (x *SignalRecord) GetSenderID() string {
if x != nil {
return x.SenderID
}
return ""
}
func (x *SignalRecord) GetSenderNickname() string {
if x != nil {
return x.SenderNickname
}
return ""
}
func (x *SignalRecord) GetRecvID() string {
if x != nil {
return x.RecvID
}
return ""
}
func (x *SignalRecord) GetRecvNickname() string {
if x != nil {
return x.RecvNickname
}
return ""
}
func (x *SignalRecord) GetGroupID() string {
if x != nil {
return x.GroupID
}
return ""
}
func (x *SignalRecord) GetGroupName() string {
if x != nil {
return x.GroupName
}
return ""
}
func (x *SignalRecord) GetInviterUserList() []*common.UserPublicInfo {
if x != nil {
return x.InviterUserList
}
return nil
}
func (x *SignalRecord) GetDuration() int32 {
if x != nil {
return x.Duration
}
return 0
}
func (x *SignalRecord) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *SignalRecord) GetSize() string {
if x != nil {
return x.Size
}
return ""
}
func (x *SignalRecord) GetDownloadURL() string {
if x != nil {
return x.DownloadURL
}
return ""
}
type OpenIMCallbackReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command"`
Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body"`
}
func (x *OpenIMCallbackReq) Reset() {
*x = OpenIMCallbackReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OpenIMCallbackReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OpenIMCallbackReq) ProtoMessage() {}
func (x *OpenIMCallbackReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 OpenIMCallbackReq.ProtoReflect.Descriptor instead.
func (*OpenIMCallbackReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{30}
}
func (x *OpenIMCallbackReq) GetCommand() string {
if x != nil {
return x.Command
}
return ""
}
func (x *OpenIMCallbackReq) GetBody() string {
if x != nil {
return x.Body
}
return ""
}
type OpenIMCallbackResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *OpenIMCallbackResp) Reset() {
*x = OpenIMCallbackResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OpenIMCallbackResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OpenIMCallbackResp) ProtoMessage() {}
func (x *OpenIMCallbackResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 OpenIMCallbackResp.ProtoReflect.Descriptor instead.
func (*OpenIMCallbackResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{31}
}
type SearchUserFullInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"`
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"`
Genders int32 `protobuf:"varint,3,opt,name=genders,proto3" json:"genders"`
Normal int32 `protobuf:"varint,4,opt,name=normal,proto3" json:"normal"`
StartTime int64 `protobuf:"varint,5,opt,name=startTime,proto3" json:"startTime"` // 注册时间范围开始时间(毫秒时间戳)
EndTime int64 `protobuf:"varint,6,opt,name=endTime,proto3" json:"endTime"` // 注册时间范围结束时间(毫秒时间戳)
RealNameKeyword string `protobuf:"bytes,7,opt,name=realNameKeyword,proto3" json:"realNameKeyword"` // 真实姓名搜索关键词(可选)
IdCardKeyword string `protobuf:"bytes,8,opt,name=idCardKeyword,proto3" json:"idCardKeyword"` // 身份证号搜索关键词(可选)
}
func (x *SearchUserFullInfoReq) Reset() {
*x = SearchUserFullInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchUserFullInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchUserFullInfoReq) ProtoMessage() {}
func (x *SearchUserFullInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SearchUserFullInfoReq.ProtoReflect.Descriptor instead.
func (*SearchUserFullInfoReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{32}
}
func (x *SearchUserFullInfoReq) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *SearchUserFullInfoReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
func (x *SearchUserFullInfoReq) GetGenders() int32 {
if x != nil {
return x.Genders
}
return 0
}
func (x *SearchUserFullInfoReq) GetNormal() int32 {
if x != nil {
return x.Normal
}
return 0
}
func (x *SearchUserFullInfoReq) GetStartTime() int64 {
if x != nil {
return x.StartTime
}
return 0
}
func (x *SearchUserFullInfoReq) GetEndTime() int64 {
if x != nil {
return x.EndTime
}
return 0
}
func (x *SearchUserFullInfoReq) GetRealNameKeyword() string {
if x != nil {
return x.RealNameKeyword
}
return ""
}
func (x *SearchUserFullInfoReq) GetIdCardKeyword() string {
if x != nil {
return x.IdCardKeyword
}
return ""
}
type SearchUserFullInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
Users []*common.UserFullInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"`
}
func (x *SearchUserFullInfoResp) Reset() {
*x = SearchUserFullInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchUserFullInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchUserFullInfoResp) ProtoMessage() {}
func (x *SearchUserFullInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SearchUserFullInfoResp.ProtoReflect.Descriptor instead.
func (*SearchUserFullInfoResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{33}
}
func (x *SearchUserFullInfoResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *SearchUserFullInfoResp) GetUsers() []*common.UserFullInfo {
if x != nil {
return x.Users
}
return nil
}
type UserLoginCountReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"`
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
}
func (x *UserLoginCountReq) Reset() {
*x = UserLoginCountReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserLoginCountReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserLoginCountReq) ProtoMessage() {}
func (x *UserLoginCountReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 UserLoginCountReq.ProtoReflect.Descriptor instead.
func (*UserLoginCountReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{34}
}
func (x *UserLoginCountReq) GetStart() int64 {
if x != nil {
return x.Start
}
return 0
}
func (x *UserLoginCountReq) GetEnd() int64 {
if x != nil {
return x.End
}
return 0
}
type UserLoginCountResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LoginCount int64 `protobuf:"varint,1,opt,name=loginCount,proto3" json:"loginCount"`
UnloginCount int64 `protobuf:"varint,2,opt,name=unloginCount,proto3" json:"unloginCount"`
Count map[string]int64 `protobuf:"bytes,3,rep,name=count,proto3" json:"count,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
}
func (x *UserLoginCountResp) Reset() {
*x = UserLoginCountResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserLoginCountResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserLoginCountResp) ProtoMessage() {}
func (x *UserLoginCountResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 UserLoginCountResp.ProtoReflect.Descriptor instead.
func (*UserLoginCountResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{35}
}
func (x *UserLoginCountResp) GetLoginCount() int64 {
if x != nil {
return x.LoginCount
}
return 0
}
func (x *UserLoginCountResp) GetUnloginCount() int64 {
if x != nil {
return x.UnloginCount
}
return 0
}
func (x *UserLoginCountResp) GetCount() map[string]int64 {
if x != nil {
return x.Count
}
return nil
}
type LoginResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ChatToken string `protobuf:"bytes,2,opt,name=chatToken,proto3" json:"chatToken"`
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
}
func (x *LoginResp) Reset() {
*x = LoginResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LoginResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoginResp) ProtoMessage() {}
func (x *LoginResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 LoginResp.ProtoReflect.Descriptor instead.
func (*LoginResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{36}
}
func (x *LoginResp) GetChatToken() string {
if x != nil {
return x.ChatToken
}
return ""
}
func (x *LoginResp) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
type SearchUserInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"`
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"`
Genders []int32 `protobuf:"varint,3,rep,packed,name=genders,proto3" json:"genders"`
UserIDs []string `protobuf:"bytes,4,rep,name=userIDs,proto3" json:"userIDs"`
}
func (x *SearchUserInfoReq) Reset() {
*x = SearchUserInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchUserInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchUserInfoReq) ProtoMessage() {}
func (x *SearchUserInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SearchUserInfoReq.ProtoReflect.Descriptor instead.
func (*SearchUserInfoReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{37}
}
func (x *SearchUserInfoReq) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *SearchUserInfoReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
func (x *SearchUserInfoReq) GetGenders() []int32 {
if x != nil {
return x.Genders
}
return nil
}
func (x *SearchUserInfoReq) GetUserIDs() []string {
if x != nil {
return x.UserIDs
}
return nil
}
type SearchUserInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
Users []*common.UserFullInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"`
}
func (x *SearchUserInfoResp) Reset() {
*x = SearchUserInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchUserInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchUserInfoResp) ProtoMessage() {}
func (x *SearchUserInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SearchUserInfoResp.ProtoReflect.Descriptor instead.
func (*SearchUserInfoResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{38}
}
func (x *SearchUserInfoResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *SearchUserInfoResp) GetUsers() []*common.UserFullInfo {
if x != nil {
return x.Users
}
return nil
}
type GetTokenForVideoMeetingReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room"`
Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity"`
}
func (x *GetTokenForVideoMeetingReq) Reset() {
*x = GetTokenForVideoMeetingReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTokenForVideoMeetingReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTokenForVideoMeetingReq) ProtoMessage() {}
func (x *GetTokenForVideoMeetingReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetTokenForVideoMeetingReq.ProtoReflect.Descriptor instead.
func (*GetTokenForVideoMeetingReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{39}
}
func (x *GetTokenForVideoMeetingReq) GetRoom() string {
if x != nil {
return x.Room
}
return ""
}
func (x *GetTokenForVideoMeetingReq) GetIdentity() string {
if x != nil {
return x.Identity
}
return ""
}
type GetTokenForVideoMeetingResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerUrl string `protobuf:"bytes,1,opt,name=serverUrl,proto3" json:"serverUrl"`
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token"`
}
func (x *GetTokenForVideoMeetingResp) Reset() {
*x = GetTokenForVideoMeetingResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTokenForVideoMeetingResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTokenForVideoMeetingResp) ProtoMessage() {}
func (x *GetTokenForVideoMeetingResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetTokenForVideoMeetingResp.ProtoReflect.Descriptor instead.
func (*GetTokenForVideoMeetingResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{40}
}
func (x *GetTokenForVideoMeetingResp) GetServerUrl() string {
if x != nil {
return x.ServerUrl
}
return ""
}
func (x *GetTokenForVideoMeetingResp) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
type CheckUserExistReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
User *RegisterUserInfo `protobuf:"bytes,1,opt,name=user,proto3" json:"user"`
}
func (x *CheckUserExistReq) Reset() {
*x = CheckUserExistReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckUserExistReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckUserExistReq) ProtoMessage() {}
func (x *CheckUserExistReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 CheckUserExistReq.ProtoReflect.Descriptor instead.
func (*CheckUserExistReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{41}
}
func (x *CheckUserExistReq) GetUser() *RegisterUserInfo {
if x != nil {
return x.User
}
return nil
}
type CheckUserExistResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Userid string `protobuf:"bytes,1,opt,name=userid,proto3" json:"userid"`
IsRegistered bool `protobuf:"varint,2,opt,name=isRegistered,proto3" json:"isRegistered"`
}
func (x *CheckUserExistResp) Reset() {
*x = CheckUserExistResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckUserExistResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckUserExistResp) ProtoMessage() {}
func (x *CheckUserExistResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 CheckUserExistResp.ProtoReflect.Descriptor instead.
func (*CheckUserExistResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{42}
}
func (x *CheckUserExistResp) GetUserid() string {
if x != nil {
return x.Userid
}
return ""
}
func (x *CheckUserExistResp) GetIsRegistered() bool {
if x != nil {
return x.IsRegistered
}
return false
}
type DelUserAccountReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserIDs []string `protobuf:"bytes,1,rep,name=userIDs,proto3" json:"userIDs"`
}
func (x *DelUserAccountReq) Reset() {
*x = DelUserAccountReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DelUserAccountReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DelUserAccountReq) ProtoMessage() {}
func (x *DelUserAccountReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 DelUserAccountReq.ProtoReflect.Descriptor instead.
func (*DelUserAccountReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{43}
}
func (x *DelUserAccountReq) GetUserIDs() []string {
if x != nil {
return x.UserIDs
}
return nil
}
type DelUserAccountResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DelUserAccountResp) Reset() {
*x = DelUserAccountResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DelUserAccountResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DelUserAccountResp) ProtoMessage() {}
func (x *DelUserAccountResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 DelUserAccountResp.ProtoReflect.Descriptor instead.
func (*DelUserAccountResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{44}
}
type SetAllowRegisterReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AllowRegister bool `protobuf:"varint,1,opt,name=allowRegister,proto3" json:"allowRegister"`
}
func (x *SetAllowRegisterReq) Reset() {
*x = SetAllowRegisterReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetAllowRegisterReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetAllowRegisterReq) ProtoMessage() {}
func (x *SetAllowRegisterReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SetAllowRegisterReq.ProtoReflect.Descriptor instead.
func (*SetAllowRegisterReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{45}
}
func (x *SetAllowRegisterReq) GetAllowRegister() bool {
if x != nil {
return x.AllowRegister
}
return false
}
type SetAllowRegisterResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SetAllowRegisterResp) Reset() {
*x = SetAllowRegisterResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetAllowRegisterResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetAllowRegisterResp) ProtoMessage() {}
func (x *SetAllowRegisterResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SetAllowRegisterResp.ProtoReflect.Descriptor instead.
func (*SetAllowRegisterResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{46}
}
type GetAllowRegisterReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetAllowRegisterReq) Reset() {
*x = GetAllowRegisterReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllowRegisterReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAllowRegisterReq) ProtoMessage() {}
func (x *GetAllowRegisterReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetAllowRegisterReq.ProtoReflect.Descriptor instead.
func (*GetAllowRegisterReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{47}
}
type GetAllowRegisterResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AllowRegister bool `protobuf:"varint,1,opt,name=allowRegister,proto3" json:"allowRegister"`
}
func (x *GetAllowRegisterResp) Reset() {
*x = GetAllowRegisterResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllowRegisterResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAllowRegisterResp) ProtoMessage() {}
func (x *GetAllowRegisterResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetAllowRegisterResp.ProtoReflect.Descriptor instead.
func (*GetAllowRegisterResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{48}
}
func (x *GetAllowRegisterResp) GetAllowRegister() bool {
if x != nil {
return x.AllowRegister
}
return false
}
// 敏感词信息(简化版,客户端用)
type SensitiveWordInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Word string `protobuf:"bytes,1,opt,name=word,proto3" json:"word"` // 敏感词内容
Action int32 `protobuf:"varint,2,opt,name=action,proto3" json:"action"` // 处理动作 1:替换为*** 2:拦截不发
ReplaceChar string `protobuf:"bytes,3,opt,name=replaceChar,proto3" json:"replaceChar"` // 替换字符
}
func (x *SensitiveWordInfo) Reset() {
*x = SensitiveWordInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SensitiveWordInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SensitiveWordInfo) ProtoMessage() {}
func (x *SensitiveWordInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SensitiveWordInfo.ProtoReflect.Descriptor instead.
func (*SensitiveWordInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{49}
}
func (x *SensitiveWordInfo) GetWord() string {
if x != nil {
return x.Word
}
return ""
}
func (x *SensitiveWordInfo) GetAction() int32 {
if x != nil {
return x.Action
}
return 0
}
func (x *SensitiveWordInfo) GetReplaceChar() string {
if x != nil {
return x.ReplaceChar
}
return ""
}
// 获取敏感词列表请求
type GetSensitiveWordsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetSensitiveWordsReq) Reset() {
*x = GetSensitiveWordsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordsReq) ProtoMessage() {}
func (x *GetSensitiveWordsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetSensitiveWordsReq.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{50}
}
// 获取敏感词列表响应
type GetSensitiveWordsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Words []*SensitiveWordInfo `protobuf:"bytes,1,rep,name=words,proto3" json:"words"` // 敏感词列表
EnableFilter bool `protobuf:"varint,2,opt,name=enableFilter,proto3" json:"enableFilter"` // 是否启用过滤
DefaultReplaceChar string `protobuf:"bytes,3,opt,name=defaultReplaceChar,proto3" json:"defaultReplaceChar"` // 默认替换字符
}
func (x *GetSensitiveWordsResp) Reset() {
*x = GetSensitiveWordsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordsResp) ProtoMessage() {}
func (x *GetSensitiveWordsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetSensitiveWordsResp.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{51}
}
func (x *GetSensitiveWordsResp) GetWords() []*SensitiveWordInfo {
if x != nil {
return x.Words
}
return nil
}
func (x *GetSensitiveWordsResp) GetEnableFilter() bool {
if x != nil {
return x.EnableFilter
}
return false
}
func (x *GetSensitiveWordsResp) GetDefaultReplaceChar() string {
if x != nil {
return x.DefaultReplaceChar
}
return ""
}
// 检测敏感词请求(用户发送消息时调用)
type CheckSensitiveWordsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content"` // 要检测的内容
}
func (x *CheckSensitiveWordsReq) Reset() {
*x = CheckSensitiveWordsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckSensitiveWordsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckSensitiveWordsReq) ProtoMessage() {}
func (x *CheckSensitiveWordsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 CheckSensitiveWordsReq.ProtoReflect.Descriptor instead.
func (*CheckSensitiveWordsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{52}
}
func (x *CheckSensitiveWordsReq) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
// 检测敏感词响应
type CheckSensitiveWordsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HasSensitive bool `protobuf:"varint,1,opt,name=hasSensitive,proto3" json:"hasSensitive"` // 是否包含敏感词
FilteredContent string `protobuf:"bytes,2,opt,name=filteredContent,proto3" json:"filteredContent"` // 过滤后的内容(如果被替换)
MatchedWords []string `protobuf:"bytes,3,rep,name=matchedWords,proto3" json:"matchedWords"` // 匹配到的敏感词列表
}
func (x *CheckSensitiveWordsResp) Reset() {
*x = CheckSensitiveWordsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CheckSensitiveWordsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckSensitiveWordsResp) ProtoMessage() {}
func (x *CheckSensitiveWordsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 CheckSensitiveWordsResp.ProtoReflect.Descriptor instead.
func (*CheckSensitiveWordsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{53}
}
func (x *CheckSensitiveWordsResp) GetHasSensitive() bool {
if x != nil {
return x.HasSensitive
}
return false
}
func (x *CheckSensitiveWordsResp) GetFilteredContent() string {
if x != nil {
return x.FilteredContent
}
return ""
}
func (x *CheckSensitiveWordsResp) GetMatchedWords() []string {
if x != nil {
return x.MatchedWords
}
return nil
}
// 敏感词详细信息(管理端)
type SensitiveWordDetailInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
Word string `protobuf:"bytes,2,opt,name=word,proto3" json:"word"`
Level int32 `protobuf:"varint,3,opt,name=level,proto3" json:"level"`
Type int32 `protobuf:"varint,4,opt,name=type,proto3" json:"type"`
Action int32 `protobuf:"varint,5,opt,name=action,proto3" json:"action"`
Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"`
Creator string `protobuf:"bytes,7,opt,name=creator,proto3" json:"creator"`
Updater string `protobuf:"bytes,8,opt,name=updater,proto3" json:"updater"`
CreateTime int64 `protobuf:"varint,9,opt,name=create_time,json=createTime,proto3" json:"create_time"`
UpdateTime int64 `protobuf:"varint,10,opt,name=update_time,json=updateTime,proto3" json:"update_time"`
Remark string `protobuf:"bytes,11,opt,name=remark,proto3" json:"remark"`
}
func (x *SensitiveWordDetailInfo) Reset() {
*x = SensitiveWordDetailInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SensitiveWordDetailInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SensitiveWordDetailInfo) ProtoMessage() {}
func (x *SensitiveWordDetailInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SensitiveWordDetailInfo.ProtoReflect.Descriptor instead.
func (*SensitiveWordDetailInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{54}
}
func (x *SensitiveWordDetailInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SensitiveWordDetailInfo) GetWord() string {
if x != nil {
return x.Word
}
return ""
}
func (x *SensitiveWordDetailInfo) GetLevel() int32 {
if x != nil {
return x.Level
}
return 0
}
func (x *SensitiveWordDetailInfo) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *SensitiveWordDetailInfo) GetAction() int32 {
if x != nil {
return x.Action
}
return 0
}
func (x *SensitiveWordDetailInfo) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *SensitiveWordDetailInfo) GetCreator() string {
if x != nil {
return x.Creator
}
return ""
}
func (x *SensitiveWordDetailInfo) GetUpdater() string {
if x != nil {
return x.Updater
}
return ""
}
func (x *SensitiveWordDetailInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *SensitiveWordDetailInfo) GetUpdateTime() int64 {
if x != nil {
return x.UpdateTime
}
return 0
}
func (x *SensitiveWordDetailInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
// 敏感词分组信息
type SensitiveWordGroupInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
Remark string `protobuf:"bytes,3,opt,name=remark,proto3" json:"remark"`
CreateTime int64 `protobuf:"varint,4,opt,name=create_time,json=createTime,proto3" json:"create_time"`
UpdateTime int64 `protobuf:"varint,5,opt,name=update_time,json=updateTime,proto3" json:"update_time"`
}
func (x *SensitiveWordGroupInfo) Reset() {
*x = SensitiveWordGroupInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SensitiveWordGroupInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SensitiveWordGroupInfo) ProtoMessage() {}
func (x *SensitiveWordGroupInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SensitiveWordGroupInfo.ProtoReflect.Descriptor instead.
func (*SensitiveWordGroupInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{55}
}
func (x *SensitiveWordGroupInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SensitiveWordGroupInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SensitiveWordGroupInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *SensitiveWordGroupInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *SensitiveWordGroupInfo) GetUpdateTime() int64 {
if x != nil {
return x.UpdateTime
}
return 0
}
// 敏感词配置信息
type SensitiveWordConfigInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
EnableFilter bool `protobuf:"varint,2,opt,name=enable_filter,json=enableFilter,proto3" json:"enable_filter"`
FilterMode int32 `protobuf:"varint,3,opt,name=filter_mode,json=filterMode,proto3" json:"filter_mode"`
ReplaceChar string `protobuf:"bytes,4,opt,name=replace_char,json=replaceChar,proto3" json:"replace_char"`
WhitelistUsers []string `protobuf:"bytes,5,rep,name=whitelist_users,json=whitelistUsers,proto3" json:"whitelist_users"`
WhitelistGroups []string `protobuf:"bytes,6,rep,name=whitelist_groups,json=whitelistGroups,proto3" json:"whitelist_groups"`
LogEnabled bool `protobuf:"varint,7,opt,name=log_enabled,json=logEnabled,proto3" json:"log_enabled"`
AutoApprove bool `protobuf:"varint,8,opt,name=auto_approve,json=autoApprove,proto3" json:"auto_approve"`
UpdateTime int64 `protobuf:"varint,9,opt,name=update_time,json=updateTime,proto3" json:"update_time"`
}
func (x *SensitiveWordConfigInfo) Reset() {
*x = SensitiveWordConfigInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SensitiveWordConfigInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SensitiveWordConfigInfo) ProtoMessage() {}
func (x *SensitiveWordConfigInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SensitiveWordConfigInfo.ProtoReflect.Descriptor instead.
func (*SensitiveWordConfigInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{56}
}
func (x *SensitiveWordConfigInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SensitiveWordConfigInfo) GetEnableFilter() bool {
if x != nil {
return x.EnableFilter
}
return false
}
func (x *SensitiveWordConfigInfo) GetFilterMode() int32 {
if x != nil {
return x.FilterMode
}
return 0
}
func (x *SensitiveWordConfigInfo) GetReplaceChar() string {
if x != nil {
return x.ReplaceChar
}
return ""
}
func (x *SensitiveWordConfigInfo) GetWhitelistUsers() []string {
if x != nil {
return x.WhitelistUsers
}
return nil
}
func (x *SensitiveWordConfigInfo) GetWhitelistGroups() []string {
if x != nil {
return x.WhitelistGroups
}
return nil
}
func (x *SensitiveWordConfigInfo) GetLogEnabled() bool {
if x != nil {
return x.LogEnabled
}
return false
}
func (x *SensitiveWordConfigInfo) GetAutoApprove() bool {
if x != nil {
return x.AutoApprove
}
return false
}
func (x *SensitiveWordConfigInfo) GetUpdateTime() int64 {
if x != nil {
return x.UpdateTime
}
return 0
}
// 敏感词日志信息
type SensitiveWordLogInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id"`
GroupId string `protobuf:"bytes,3,opt,name=group_id,json=groupId,proto3" json:"group_id"`
Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content"`
MatchedWords []string `protobuf:"bytes,5,rep,name=matched_words,json=matchedWords,proto3" json:"matched_words"`
Action int32 `protobuf:"varint,6,opt,name=action,proto3" json:"action"`
ProcessedText string `protobuf:"bytes,7,opt,name=processed_text,json=processedText,proto3" json:"processed_text"`
CreateTime int64 `protobuf:"varint,8,opt,name=create_time,json=createTime,proto3" json:"create_time"`
}
func (x *SensitiveWordLogInfo) Reset() {
*x = SensitiveWordLogInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SensitiveWordLogInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SensitiveWordLogInfo) ProtoMessage() {}
func (x *SensitiveWordLogInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SensitiveWordLogInfo.ProtoReflect.Descriptor instead.
func (*SensitiveWordLogInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{57}
}
func (x *SensitiveWordLogInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SensitiveWordLogInfo) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *SensitiveWordLogInfo) GetGroupId() string {
if x != nil {
return x.GroupId
}
return ""
}
func (x *SensitiveWordLogInfo) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *SensitiveWordLogInfo) GetMatchedWords() []string {
if x != nil {
return x.MatchedWords
}
return nil
}
func (x *SensitiveWordLogInfo) GetAction() int32 {
if x != nil {
return x.Action
}
return 0
}
func (x *SensitiveWordLogInfo) GetProcessedText() string {
if x != nil {
return x.ProcessedText
}
return ""
}
func (x *SensitiveWordLogInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
// 敏感词统计信息
type SensitiveWordStatsInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
Enabled int64 `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled"`
Disabled int64 `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled"`
Replace int64 `protobuf:"varint,4,opt,name=replace,proto3" json:"replace"`
Block int64 `protobuf:"varint,5,opt,name=block,proto3" json:"block"`
}
func (x *SensitiveWordStatsInfo) Reset() {
*x = SensitiveWordStatsInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SensitiveWordStatsInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SensitiveWordStatsInfo) ProtoMessage() {}
func (x *SensitiveWordStatsInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SensitiveWordStatsInfo.ProtoReflect.Descriptor instead.
func (*SensitiveWordStatsInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{58}
}
func (x *SensitiveWordStatsInfo) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *SensitiveWordStatsInfo) GetEnabled() int64 {
if x != nil {
return x.Enabled
}
return 0
}
func (x *SensitiveWordStatsInfo) GetDisabled() int64 {
if x != nil {
return x.Disabled
}
return 0
}
func (x *SensitiveWordStatsInfo) GetReplace() int64 {
if x != nil {
return x.Replace
}
return 0
}
func (x *SensitiveWordStatsInfo) GetBlock() int64 {
if x != nil {
return x.Block
}
return 0
}
// 敏感词日志统计信息
type SensitiveWordLogStatsInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
Replace int64 `protobuf:"varint,2,opt,name=replace,proto3" json:"replace"`
Block int64 `protobuf:"varint,3,opt,name=block,proto3" json:"block"`
}
func (x *SensitiveWordLogStatsInfo) Reset() {
*x = SensitiveWordLogStatsInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SensitiveWordLogStatsInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SensitiveWordLogStatsInfo) ProtoMessage() {}
func (x *SensitiveWordLogStatsInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SensitiveWordLogStatsInfo.ProtoReflect.Descriptor instead.
func (*SensitiveWordLogStatsInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{59}
}
func (x *SensitiveWordLogStatsInfo) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *SensitiveWordLogStatsInfo) GetReplace() int64 {
if x != nil {
return x.Replace
}
return 0
}
func (x *SensitiveWordLogStatsInfo) GetBlock() int64 {
if x != nil {
return x.Block
}
return 0
}
// 添加敏感词
type AddSensitiveWordReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Word string `protobuf:"bytes,1,opt,name=word,proto3" json:"word"`
Level int32 `protobuf:"varint,2,opt,name=level,proto3" json:"level"`
Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type"`
Action int32 `protobuf:"varint,4,opt,name=action,proto3" json:"action"`
Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"`
Remark string `protobuf:"bytes,6,opt,name=remark,proto3" json:"remark"`
}
func (x *AddSensitiveWordReq) Reset() {
*x = AddSensitiveWordReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddSensitiveWordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddSensitiveWordReq) ProtoMessage() {}
func (x *AddSensitiveWordReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 AddSensitiveWordReq.ProtoReflect.Descriptor instead.
func (*AddSensitiveWordReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{60}
}
func (x *AddSensitiveWordReq) GetWord() string {
if x != nil {
return x.Word
}
return ""
}
func (x *AddSensitiveWordReq) GetLevel() int32 {
if x != nil {
return x.Level
}
return 0
}
func (x *AddSensitiveWordReq) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *AddSensitiveWordReq) GetAction() int32 {
if x != nil {
return x.Action
}
return 0
}
func (x *AddSensitiveWordReq) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *AddSensitiveWordReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type AddSensitiveWordResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *AddSensitiveWordResp) Reset() {
*x = AddSensitiveWordResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddSensitiveWordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddSensitiveWordResp) ProtoMessage() {}
func (x *AddSensitiveWordResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 AddSensitiveWordResp.ProtoReflect.Descriptor instead.
func (*AddSensitiveWordResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{61}
}
// 更新敏感词
type UpdateSensitiveWordReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
Word string `protobuf:"bytes,2,opt,name=word,proto3" json:"word"`
Level int32 `protobuf:"varint,3,opt,name=level,proto3" json:"level"`
Type int32 `protobuf:"varint,4,opt,name=type,proto3" json:"type"`
Action int32 `protobuf:"varint,5,opt,name=action,proto3" json:"action"`
Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"`
Remark string `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark"`
}
func (x *UpdateSensitiveWordReq) Reset() {
*x = UpdateSensitiveWordReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSensitiveWordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSensitiveWordReq) ProtoMessage() {}
func (x *UpdateSensitiveWordReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 UpdateSensitiveWordReq.ProtoReflect.Descriptor instead.
func (*UpdateSensitiveWordReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{62}
}
func (x *UpdateSensitiveWordReq) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *UpdateSensitiveWordReq) GetWord() string {
if x != nil {
return x.Word
}
return ""
}
func (x *UpdateSensitiveWordReq) GetLevel() int32 {
if x != nil {
return x.Level
}
return 0
}
func (x *UpdateSensitiveWordReq) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *UpdateSensitiveWordReq) GetAction() int32 {
if x != nil {
return x.Action
}
return 0
}
func (x *UpdateSensitiveWordReq) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *UpdateSensitiveWordReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type UpdateSensitiveWordResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateSensitiveWordResp) Reset() {
*x = UpdateSensitiveWordResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSensitiveWordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSensitiveWordResp) ProtoMessage() {}
func (x *UpdateSensitiveWordResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 UpdateSensitiveWordResp.ProtoReflect.Descriptor instead.
func (*UpdateSensitiveWordResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{63}
}
// 删除敏感词
type DeleteSensitiveWordReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids"`
}
func (x *DeleteSensitiveWordReq) Reset() {
*x = DeleteSensitiveWordReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSensitiveWordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteSensitiveWordReq) ProtoMessage() {}
func (x *DeleteSensitiveWordReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 DeleteSensitiveWordReq.ProtoReflect.Descriptor instead.
func (*DeleteSensitiveWordReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{64}
}
func (x *DeleteSensitiveWordReq) GetIds() []string {
if x != nil {
return x.Ids
}
return nil
}
type DeleteSensitiveWordResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteSensitiveWordResp) Reset() {
*x = DeleteSensitiveWordResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSensitiveWordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteSensitiveWordResp) ProtoMessage() {}
func (x *DeleteSensitiveWordResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 DeleteSensitiveWordResp.ProtoReflect.Descriptor instead.
func (*DeleteSensitiveWordResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{65}
}
// 获取敏感词
type GetSensitiveWordReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
}
func (x *GetSensitiveWordReq) Reset() {
*x = GetSensitiveWordReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordReq) ProtoMessage() {}
func (x *GetSensitiveWordReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetSensitiveWordReq.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{66}
}
func (x *GetSensitiveWordReq) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type GetSensitiveWordResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Word *SensitiveWordDetailInfo `protobuf:"bytes,1,opt,name=word,proto3" json:"word"`
}
func (x *GetSensitiveWordResp) Reset() {
*x = GetSensitiveWordResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordResp) ProtoMessage() {}
func (x *GetSensitiveWordResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 GetSensitiveWordResp.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{67}
}
func (x *GetSensitiveWordResp) GetWord() *SensitiveWordDetailInfo {
if x != nil {
return x.Word
}
return nil
}
// 搜索敏感词
type SearchSensitiveWordsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"`
Action int32 `protobuf:"varint,2,opt,name=action,proto3" json:"action"`
Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"`
Pagination *sdkws.RequestPagination `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination"`
}
func (x *SearchSensitiveWordsReq) Reset() {
*x = SearchSensitiveWordsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchSensitiveWordsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchSensitiveWordsReq) ProtoMessage() {}
func (x *SearchSensitiveWordsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SearchSensitiveWordsReq.ProtoReflect.Descriptor instead.
func (*SearchSensitiveWordsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{68}
}
func (x *SearchSensitiveWordsReq) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *SearchSensitiveWordsReq) GetAction() int32 {
if x != nil {
return x.Action
}
return 0
}
func (x *SearchSensitiveWordsReq) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *SearchSensitiveWordsReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
type SearchSensitiveWordsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
Words []*SensitiveWordDetailInfo `protobuf:"bytes,2,rep,name=words,proto3" json:"words"`
}
func (x *SearchSensitiveWordsResp) Reset() {
*x = SearchSensitiveWordsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchSensitiveWordsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchSensitiveWordsResp) ProtoMessage() {}
func (x *SearchSensitiveWordsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 SearchSensitiveWordsResp.ProtoReflect.Descriptor instead.
func (*SearchSensitiveWordsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{69}
}
func (x *SearchSensitiveWordsResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *SearchSensitiveWordsResp) GetWords() []*SensitiveWordDetailInfo {
if x != nil {
return x.Words
}
return nil
}
// 批量添加敏感词
type BatchAddSensitiveWordsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Words []*SensitiveWordDetailInfo `protobuf:"bytes,1,rep,name=words,proto3" json:"words"`
}
func (x *BatchAddSensitiveWordsReq) Reset() {
*x = BatchAddSensitiveWordsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BatchAddSensitiveWordsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchAddSensitiveWordsReq) ProtoMessage() {}
func (x *BatchAddSensitiveWordsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 BatchAddSensitiveWordsReq.ProtoReflect.Descriptor instead.
func (*BatchAddSensitiveWordsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{70}
}
func (x *BatchAddSensitiveWordsReq) GetWords() []*SensitiveWordDetailInfo {
if x != nil {
return x.Words
}
return nil
}
type BatchAddSensitiveWordsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *BatchAddSensitiveWordsResp) Reset() {
*x = BatchAddSensitiveWordsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BatchAddSensitiveWordsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchAddSensitiveWordsResp) ProtoMessage() {}
func (x *BatchAddSensitiveWordsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 BatchAddSensitiveWordsResp.ProtoReflect.Descriptor instead.
func (*BatchAddSensitiveWordsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{71}
}
// 批量更新敏感词
type BatchUpdateSensitiveWordsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Updates map[string]*SensitiveWordDetailInfo `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *BatchUpdateSensitiveWordsReq) Reset() {
*x = BatchUpdateSensitiveWordsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BatchUpdateSensitiveWordsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchUpdateSensitiveWordsReq) ProtoMessage() {}
func (x *BatchUpdateSensitiveWordsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 BatchUpdateSensitiveWordsReq.ProtoReflect.Descriptor instead.
func (*BatchUpdateSensitiveWordsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{72}
}
func (x *BatchUpdateSensitiveWordsReq) GetUpdates() map[string]*SensitiveWordDetailInfo {
if x != nil {
return x.Updates
}
return nil
}
type BatchUpdateSensitiveWordsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *BatchUpdateSensitiveWordsResp) Reset() {
*x = BatchUpdateSensitiveWordsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BatchUpdateSensitiveWordsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchUpdateSensitiveWordsResp) ProtoMessage() {}
func (x *BatchUpdateSensitiveWordsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 BatchUpdateSensitiveWordsResp.ProtoReflect.Descriptor instead.
func (*BatchUpdateSensitiveWordsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{73}
}
// 批量删除敏感词
type BatchDeleteSensitiveWordsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids"`
}
func (x *BatchDeleteSensitiveWordsReq) Reset() {
*x = BatchDeleteSensitiveWordsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BatchDeleteSensitiveWordsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchDeleteSensitiveWordsReq) ProtoMessage() {}
func (x *BatchDeleteSensitiveWordsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 BatchDeleteSensitiveWordsReq.ProtoReflect.Descriptor instead.
func (*BatchDeleteSensitiveWordsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{74}
}
func (x *BatchDeleteSensitiveWordsReq) GetIds() []string {
if x != nil {
return x.Ids
}
return nil
}
type BatchDeleteSensitiveWordsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *BatchDeleteSensitiveWordsResp) Reset() {
*x = BatchDeleteSensitiveWordsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BatchDeleteSensitiveWordsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchDeleteSensitiveWordsResp) ProtoMessage() {}
func (x *BatchDeleteSensitiveWordsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 BatchDeleteSensitiveWordsResp.ProtoReflect.Descriptor instead.
func (*BatchDeleteSensitiveWordsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{75}
}
// 添加敏感词分组
type AddSensitiveWordGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
Remark string `protobuf:"bytes,2,opt,name=remark,proto3" json:"remark"`
}
func (x *AddSensitiveWordGroupReq) Reset() {
*x = AddSensitiveWordGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddSensitiveWordGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddSensitiveWordGroupReq) ProtoMessage() {}
func (x *AddSensitiveWordGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 AddSensitiveWordGroupReq.ProtoReflect.Descriptor instead.
func (*AddSensitiveWordGroupReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{76}
}
func (x *AddSensitiveWordGroupReq) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AddSensitiveWordGroupReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type AddSensitiveWordGroupResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *AddSensitiveWordGroupResp) Reset() {
*x = AddSensitiveWordGroupResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddSensitiveWordGroupResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddSensitiveWordGroupResp) ProtoMessage() {}
func (x *AddSensitiveWordGroupResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_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 AddSensitiveWordGroupResp.ProtoReflect.Descriptor instead.
func (*AddSensitiveWordGroupResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{77}
}
// 更新敏感词分组
type UpdateSensitiveWordGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
Remark string `protobuf:"bytes,3,opt,name=remark,proto3" json:"remark"`
}
func (x *UpdateSensitiveWordGroupReq) Reset() {
*x = UpdateSensitiveWordGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSensitiveWordGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSensitiveWordGroupReq) ProtoMessage() {}
func (x *UpdateSensitiveWordGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[78]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateSensitiveWordGroupReq.ProtoReflect.Descriptor instead.
func (*UpdateSensitiveWordGroupReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{78}
}
func (x *UpdateSensitiveWordGroupReq) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *UpdateSensitiveWordGroupReq) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *UpdateSensitiveWordGroupReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type UpdateSensitiveWordGroupResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateSensitiveWordGroupResp) Reset() {
*x = UpdateSensitiveWordGroupResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSensitiveWordGroupResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSensitiveWordGroupResp) ProtoMessage() {}
func (x *UpdateSensitiveWordGroupResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[79]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateSensitiveWordGroupResp.ProtoReflect.Descriptor instead.
func (*UpdateSensitiveWordGroupResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{79}
}
// 删除敏感词分组
type DeleteSensitiveWordGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids"`
}
func (x *DeleteSensitiveWordGroupReq) Reset() {
*x = DeleteSensitiveWordGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSensitiveWordGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteSensitiveWordGroupReq) ProtoMessage() {}
func (x *DeleteSensitiveWordGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[80]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteSensitiveWordGroupReq.ProtoReflect.Descriptor instead.
func (*DeleteSensitiveWordGroupReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{80}
}
func (x *DeleteSensitiveWordGroupReq) GetIds() []string {
if x != nil {
return x.Ids
}
return nil
}
type DeleteSensitiveWordGroupResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteSensitiveWordGroupResp) Reset() {
*x = DeleteSensitiveWordGroupResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSensitiveWordGroupResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteSensitiveWordGroupResp) ProtoMessage() {}
func (x *DeleteSensitiveWordGroupResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[81]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteSensitiveWordGroupResp.ProtoReflect.Descriptor instead.
func (*DeleteSensitiveWordGroupResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{81}
}
// 获取敏感词分组
type GetSensitiveWordGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
}
func (x *GetSensitiveWordGroupReq) Reset() {
*x = GetSensitiveWordGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordGroupReq) ProtoMessage() {}
func (x *GetSensitiveWordGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[82]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordGroupReq.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordGroupReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{82}
}
func (x *GetSensitiveWordGroupReq) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type GetSensitiveWordGroupResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *SensitiveWordGroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
}
func (x *GetSensitiveWordGroupResp) Reset() {
*x = GetSensitiveWordGroupResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordGroupResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordGroupResp) ProtoMessage() {}
func (x *GetSensitiveWordGroupResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[83]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordGroupResp.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordGroupResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{83}
}
func (x *GetSensitiveWordGroupResp) GetGroup() *SensitiveWordGroupInfo {
if x != nil {
return x.Group
}
return nil
}
// 获取所有敏感词分组
type GetAllSensitiveWordGroupsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetAllSensitiveWordGroupsReq) Reset() {
*x = GetAllSensitiveWordGroupsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllSensitiveWordGroupsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAllSensitiveWordGroupsReq) ProtoMessage() {}
func (x *GetAllSensitiveWordGroupsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[84]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAllSensitiveWordGroupsReq.ProtoReflect.Descriptor instead.
func (*GetAllSensitiveWordGroupsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{84}
}
type GetAllSensitiveWordGroupsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Groups []*SensitiveWordGroupInfo `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups"`
}
func (x *GetAllSensitiveWordGroupsResp) Reset() {
*x = GetAllSensitiveWordGroupsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAllSensitiveWordGroupsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAllSensitiveWordGroupsResp) ProtoMessage() {}
func (x *GetAllSensitiveWordGroupsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[85]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAllSensitiveWordGroupsResp.ProtoReflect.Descriptor instead.
func (*GetAllSensitiveWordGroupsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{85}
}
func (x *GetAllSensitiveWordGroupsResp) GetGroups() []*SensitiveWordGroupInfo {
if x != nil {
return x.Groups
}
return nil
}
// 获取敏感词配置
type GetSensitiveWordConfigReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetSensitiveWordConfigReq) Reset() {
*x = GetSensitiveWordConfigReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordConfigReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordConfigReq) ProtoMessage() {}
func (x *GetSensitiveWordConfigReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[86]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordConfigReq.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordConfigReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{86}
}
type GetSensitiveWordConfigResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Config *SensitiveWordConfigInfo `protobuf:"bytes,1,opt,name=config,proto3" json:"config"`
}
func (x *GetSensitiveWordConfigResp) Reset() {
*x = GetSensitiveWordConfigResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordConfigResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordConfigResp) ProtoMessage() {}
func (x *GetSensitiveWordConfigResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[87]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordConfigResp.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordConfigResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{87}
}
func (x *GetSensitiveWordConfigResp) GetConfig() *SensitiveWordConfigInfo {
if x != nil {
return x.Config
}
return nil
}
// 更新敏感词配置
type UpdateSensitiveWordConfigReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Config *SensitiveWordConfigInfo `protobuf:"bytes,1,opt,name=config,proto3" json:"config"`
}
func (x *UpdateSensitiveWordConfigReq) Reset() {
*x = UpdateSensitiveWordConfigReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSensitiveWordConfigReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSensitiveWordConfigReq) ProtoMessage() {}
func (x *UpdateSensitiveWordConfigReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[88]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateSensitiveWordConfigReq.ProtoReflect.Descriptor instead.
func (*UpdateSensitiveWordConfigReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{88}
}
func (x *UpdateSensitiveWordConfigReq) GetConfig() *SensitiveWordConfigInfo {
if x != nil {
return x.Config
}
return nil
}
type UpdateSensitiveWordConfigResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateSensitiveWordConfigResp) Reset() {
*x = UpdateSensitiveWordConfigResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSensitiveWordConfigResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSensitiveWordConfigResp) ProtoMessage() {}
func (x *UpdateSensitiveWordConfigResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[89]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateSensitiveWordConfigResp.ProtoReflect.Descriptor instead.
func (*UpdateSensitiveWordConfigResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{89}
}
// 获取敏感词日志
type GetSensitiveWordLogsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id"`
GroupId string `protobuf:"bytes,2,opt,name=group_id,json=groupId,proto3" json:"group_id"`
Pagination *sdkws.RequestPagination `protobuf:"bytes,3,opt,name=pagination,proto3" json:"pagination"`
}
func (x *GetSensitiveWordLogsReq) Reset() {
*x = GetSensitiveWordLogsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordLogsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordLogsReq) ProtoMessage() {}
func (x *GetSensitiveWordLogsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[90]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordLogsReq.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordLogsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{90}
}
func (x *GetSensitiveWordLogsReq) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *GetSensitiveWordLogsReq) GetGroupId() string {
if x != nil {
return x.GroupId
}
return ""
}
func (x *GetSensitiveWordLogsReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
type GetSensitiveWordLogsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
Logs []*SensitiveWordLogInfo `protobuf:"bytes,2,rep,name=logs,proto3" json:"logs"`
}
func (x *GetSensitiveWordLogsResp) Reset() {
*x = GetSensitiveWordLogsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordLogsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordLogsResp) ProtoMessage() {}
func (x *GetSensitiveWordLogsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[91]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordLogsResp.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordLogsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{91}
}
func (x *GetSensitiveWordLogsResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *GetSensitiveWordLogsResp) GetLogs() []*SensitiveWordLogInfo {
if x != nil {
return x.Logs
}
return nil
}
// 用户登录记录信息
type UserLoginRecordInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id"` // 用户ID
LoginTime int64 `protobuf:"varint,2,opt,name=login_time,json=loginTime,proto3" json:"login_time"` // 登录时间(毫秒时间戳)
Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip"` // 登录IP
DeviceId string `protobuf:"bytes,4,opt,name=device_id,json=deviceId,proto3" json:"device_id"` // 设备ID
Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` // 平台
FaceUrl string `protobuf:"bytes,6,opt,name=face_url,json=faceUrl,proto3" json:"face_url"` // 用户头像
Nickname string `protobuf:"bytes,7,opt,name=nickname,proto3" json:"nickname"` // 用户昵称
}
func (x *UserLoginRecordInfo) Reset() {
*x = UserLoginRecordInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[92]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserLoginRecordInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserLoginRecordInfo) ProtoMessage() {}
func (x *UserLoginRecordInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[92]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UserLoginRecordInfo.ProtoReflect.Descriptor instead.
func (*UserLoginRecordInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{92}
}
func (x *UserLoginRecordInfo) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *UserLoginRecordInfo) GetLoginTime() int64 {
if x != nil {
return x.LoginTime
}
return 0
}
func (x *UserLoginRecordInfo) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *UserLoginRecordInfo) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *UserLoginRecordInfo) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *UserLoginRecordInfo) GetFaceUrl() string {
if x != nil {
return x.FaceUrl
}
return ""
}
func (x *UserLoginRecordInfo) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
// 查询用户登录记录请求
type GetUserLoginRecordsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id"` // 用户ID可选如果提供则查询该用户的登录记录
Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip"` // IP地址可选如果提供则查询使用该IP的所有登录记录
Pagination *sdkws.RequestPagination `protobuf:"bytes,3,opt,name=pagination,proto3" json:"pagination"` // 分页信息
}
func (x *GetUserLoginRecordsReq) Reset() {
*x = GetUserLoginRecordsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[93]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetUserLoginRecordsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetUserLoginRecordsReq) ProtoMessage() {}
func (x *GetUserLoginRecordsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[93]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetUserLoginRecordsReq.ProtoReflect.Descriptor instead.
func (*GetUserLoginRecordsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{93}
}
func (x *GetUserLoginRecordsReq) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *GetUserLoginRecordsReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *GetUserLoginRecordsReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
// 查询用户登录记录响应
type GetUserLoginRecordsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总数
Records []*UserLoginRecordInfo `protobuf:"bytes,2,rep,name=records,proto3" json:"records"` // 登录记录列表
}
func (x *GetUserLoginRecordsResp) Reset() {
*x = GetUserLoginRecordsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[94]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetUserLoginRecordsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetUserLoginRecordsResp) ProtoMessage() {}
func (x *GetUserLoginRecordsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[94]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetUserLoginRecordsResp.ProtoReflect.Descriptor instead.
func (*GetUserLoginRecordsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{94}
}
func (x *GetUserLoginRecordsResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *GetUserLoginRecordsResp) GetRecords() []*UserLoginRecordInfo {
if x != nil {
return x.Records
}
return nil
}
// 删除敏感词日志
type DeleteSensitiveWordLogsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids"`
}
func (x *DeleteSensitiveWordLogsReq) Reset() {
*x = DeleteSensitiveWordLogsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[95]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSensitiveWordLogsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteSensitiveWordLogsReq) ProtoMessage() {}
func (x *DeleteSensitiveWordLogsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[95]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteSensitiveWordLogsReq.ProtoReflect.Descriptor instead.
func (*DeleteSensitiveWordLogsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{95}
}
func (x *DeleteSensitiveWordLogsReq) GetIds() []string {
if x != nil {
return x.Ids
}
return nil
}
type DeleteSensitiveWordLogsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteSensitiveWordLogsResp) Reset() {
*x = DeleteSensitiveWordLogsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[96]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteSensitiveWordLogsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteSensitiveWordLogsResp) ProtoMessage() {}
func (x *DeleteSensitiveWordLogsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[96]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteSensitiveWordLogsResp.ProtoReflect.Descriptor instead.
func (*DeleteSensitiveWordLogsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{96}
}
// 获取敏感词统计
type GetSensitiveWordStatsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetSensitiveWordStatsReq) Reset() {
*x = GetSensitiveWordStatsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[97]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordStatsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordStatsReq) ProtoMessage() {}
func (x *GetSensitiveWordStatsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[97]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordStatsReq.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordStatsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{97}
}
type GetSensitiveWordStatsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Stats *SensitiveWordStatsInfo `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats"`
}
func (x *GetSensitiveWordStatsResp) Reset() {
*x = GetSensitiveWordStatsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[98]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordStatsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordStatsResp) ProtoMessage() {}
func (x *GetSensitiveWordStatsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[98]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordStatsResp.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordStatsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{98}
}
func (x *GetSensitiveWordStatsResp) GetStats() *SensitiveWordStatsInfo {
if x != nil {
return x.Stats
}
return nil
}
// 获取敏感词日志统计
type GetSensitiveWordLogStatsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartTime int64 `protobuf:"varint,1,opt,name=start_time,json=startTime,proto3" json:"start_time"`
EndTime int64 `protobuf:"varint,2,opt,name=end_time,json=endTime,proto3" json:"end_time"`
}
func (x *GetSensitiveWordLogStatsReq) Reset() {
*x = GetSensitiveWordLogStatsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[99]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordLogStatsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordLogStatsReq) ProtoMessage() {}
func (x *GetSensitiveWordLogStatsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[99]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordLogStatsReq.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordLogStatsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{99}
}
func (x *GetSensitiveWordLogStatsReq) GetStartTime() int64 {
if x != nil {
return x.StartTime
}
return 0
}
func (x *GetSensitiveWordLogStatsReq) GetEndTime() int64 {
if x != nil {
return x.EndTime
}
return 0
}
type GetSensitiveWordLogStatsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Stats *SensitiveWordLogStatsInfo `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats"`
}
func (x *GetSensitiveWordLogStatsResp) Reset() {
*x = GetSensitiveWordLogStatsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[100]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSensitiveWordLogStatsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSensitiveWordLogStatsResp) ProtoMessage() {}
func (x *GetSensitiveWordLogStatsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[100]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSensitiveWordLogStatsResp.ProtoReflect.Descriptor instead.
func (*GetSensitiveWordLogStatsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{100}
}
func (x *GetSensitiveWordLogStatsResp) GetStats() *SensitiveWordLogStatsInfo {
if x != nil {
return x.Stats
}
return nil
}
type AddFriendReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
}
func (x *AddFriendReq) Reset() {
*x = AddFriendReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[101]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddFriendReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddFriendReq) ProtoMessage() {}
func (x *AddFriendReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[101]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AddFriendReq.ProtoReflect.Descriptor instead.
func (*AddFriendReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{101}
}
func (x *AddFriendReq) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
type AddFriendResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *AddFriendResp) Reset() {
*x = AddFriendResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[102]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddFriendResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddFriendResp) ProtoMessage() {}
func (x *AddFriendResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[102]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AddFriendResp.ProtoReflect.Descriptor instead.
func (*AddFriendResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{102}
}
// 收藏信息
type FavoriteInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // 收藏ID
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` // 用户ID
Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type"` // 收藏类型1-文本2-图片3-链接4-文件5-语音6-视频7-位置
Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title"` // 标题
Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content"` // 内容
Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description"` // 描述
Thumbnail string `protobuf:"bytes,7,opt,name=thumbnail,proto3" json:"thumbnail"` // 缩略图URL
LinkURL string `protobuf:"bytes,8,opt,name=linkURL,proto3" json:"linkURL"` // 链接URL
FileSize int64 `protobuf:"varint,9,opt,name=fileSize,proto3" json:"fileSize"` // 文件大小(字节)
Duration int32 `protobuf:"varint,10,opt,name=duration,proto3" json:"duration"` // 时长(秒)
Location string `protobuf:"bytes,11,opt,name=location,proto3" json:"location"` // 位置信息JSON格式
Tags []string `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags"` // 标签列表
Remark string `protobuf:"bytes,13,opt,name=remark,proto3" json:"remark"` // 备注
CreateTime int64 `protobuf:"varint,14,opt,name=createTime,proto3" json:"createTime"` // 创建时间(毫秒时间戳)
UpdateTime int64 `protobuf:"varint,15,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间(毫秒时间戳)
}
func (x *FavoriteInfo) Reset() {
*x = FavoriteInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[103]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FavoriteInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FavoriteInfo) ProtoMessage() {}
func (x *FavoriteInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[103]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FavoriteInfo.ProtoReflect.Descriptor instead.
func (*FavoriteInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{103}
}
func (x *FavoriteInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *FavoriteInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *FavoriteInfo) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *FavoriteInfo) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *FavoriteInfo) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *FavoriteInfo) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *FavoriteInfo) GetThumbnail() string {
if x != nil {
return x.Thumbnail
}
return ""
}
func (x *FavoriteInfo) GetLinkURL() string {
if x != nil {
return x.LinkURL
}
return ""
}
func (x *FavoriteInfo) GetFileSize() int64 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *FavoriteInfo) GetDuration() int32 {
if x != nil {
return x.Duration
}
return 0
}
func (x *FavoriteInfo) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *FavoriteInfo) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *FavoriteInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *FavoriteInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *FavoriteInfo) GetUpdateTime() int64 {
if x != nil {
return x.UpdateTime
}
return 0
}
// 创建收藏请求
type CreateFavoriteReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type"` // 收藏类型
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 标题
Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 内容
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description"` // 描述
Thumbnail string `protobuf:"bytes,5,opt,name=thumbnail,proto3" json:"thumbnail"` // 缩略图URL
LinkURL string `protobuf:"bytes,6,opt,name=linkURL,proto3" json:"linkURL"` // 链接URL
FileSize int64 `protobuf:"varint,7,opt,name=fileSize,proto3" json:"fileSize"` // 文件大小(字节)
Duration int32 `protobuf:"varint,8,opt,name=duration,proto3" json:"duration"` // 时长(秒)
Location string `protobuf:"bytes,9,opt,name=location,proto3" json:"location"` // 位置信息JSON格式
Tags []string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags"` // 标签列表
Remark string `protobuf:"bytes,11,opt,name=remark,proto3" json:"remark"` // 备注
}
func (x *CreateFavoriteReq) Reset() {
*x = CreateFavoriteReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateFavoriteReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateFavoriteReq) ProtoMessage() {}
func (x *CreateFavoriteReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[104]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateFavoriteReq.ProtoReflect.Descriptor instead.
func (*CreateFavoriteReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{104}
}
func (x *CreateFavoriteReq) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *CreateFavoriteReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *CreateFavoriteReq) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *CreateFavoriteReq) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *CreateFavoriteReq) GetThumbnail() string {
if x != nil {
return x.Thumbnail
}
return ""
}
func (x *CreateFavoriteReq) GetLinkURL() string {
if x != nil {
return x.LinkURL
}
return ""
}
func (x *CreateFavoriteReq) GetFileSize() int64 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *CreateFavoriteReq) GetDuration() int32 {
if x != nil {
return x.Duration
}
return 0
}
func (x *CreateFavoriteReq) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *CreateFavoriteReq) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *CreateFavoriteReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type CreateFavoriteResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FavoriteID string `protobuf:"bytes,1,opt,name=favoriteID,proto3" json:"favoriteID"` // 收藏ID
}
func (x *CreateFavoriteResp) Reset() {
*x = CreateFavoriteResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateFavoriteResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateFavoriteResp) ProtoMessage() {}
func (x *CreateFavoriteResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[105]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateFavoriteResp.ProtoReflect.Descriptor instead.
func (*CreateFavoriteResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{105}
}
func (x *CreateFavoriteResp) GetFavoriteID() string {
if x != nil {
return x.FavoriteID
}
return ""
}
// 获取收藏请求
type GetFavoriteReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FavoriteID string `protobuf:"bytes,1,opt,name=favoriteID,proto3" json:"favoriteID"` // 收藏ID
}
func (x *GetFavoriteReq) Reset() {
*x = GetFavoriteReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFavoriteReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFavoriteReq) ProtoMessage() {}
func (x *GetFavoriteReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[106]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetFavoriteReq.ProtoReflect.Descriptor instead.
func (*GetFavoriteReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{106}
}
func (x *GetFavoriteReq) GetFavoriteID() string {
if x != nil {
return x.FavoriteID
}
return ""
}
type GetFavoriteResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Favorite *FavoriteInfo `protobuf:"bytes,1,opt,name=favorite,proto3" json:"favorite"` // 收藏信息
}
func (x *GetFavoriteResp) Reset() {
*x = GetFavoriteResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFavoriteResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFavoriteResp) ProtoMessage() {}
func (x *GetFavoriteResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[107]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetFavoriteResp.ProtoReflect.Descriptor instead.
func (*GetFavoriteResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{107}
}
func (x *GetFavoriteResp) GetFavorite() *FavoriteInfo {
if x != nil {
return x.Favorite
}
return nil
}
// 获取收藏列表请求
type GetFavoritesReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type"` // 收藏类型可选0表示全部
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"` // 分页信息
}
func (x *GetFavoritesReq) Reset() {
*x = GetFavoritesReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFavoritesReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFavoritesReq) ProtoMessage() {}
func (x *GetFavoritesReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[108]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetFavoritesReq.ProtoReflect.Descriptor instead.
func (*GetFavoritesReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{108}
}
func (x *GetFavoritesReq) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *GetFavoritesReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
type GetFavoritesResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总数
Favorites []*FavoriteInfo `protobuf:"bytes,2,rep,name=favorites,proto3" json:"favorites"` // 收藏列表
}
func (x *GetFavoritesResp) Reset() {
*x = GetFavoritesResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFavoritesResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFavoritesResp) ProtoMessage() {}
func (x *GetFavoritesResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[109]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetFavoritesResp.ProtoReflect.Descriptor instead.
func (*GetFavoritesResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{109}
}
func (x *GetFavoritesResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *GetFavoritesResp) GetFavorites() []*FavoriteInfo {
if x != nil {
return x.Favorites
}
return nil
}
// 搜索收藏请求
type SearchFavoritesReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"` // 关键词
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"` // 分页信息
}
func (x *SearchFavoritesReq) Reset() {
*x = SearchFavoritesReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[110]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchFavoritesReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchFavoritesReq) ProtoMessage() {}
func (x *SearchFavoritesReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[110]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchFavoritesReq.ProtoReflect.Descriptor instead.
func (*SearchFavoritesReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{110}
}
func (x *SearchFavoritesReq) GetKeyword() string {
if x != nil {
return x.Keyword
}
return ""
}
func (x *SearchFavoritesReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
type SearchFavoritesResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总数
Favorites []*FavoriteInfo `protobuf:"bytes,2,rep,name=favorites,proto3" json:"favorites"` // 收藏列表
}
func (x *SearchFavoritesResp) Reset() {
*x = SearchFavoritesResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[111]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchFavoritesResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchFavoritesResp) ProtoMessage() {}
func (x *SearchFavoritesResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[111]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchFavoritesResp.ProtoReflect.Descriptor instead.
func (*SearchFavoritesResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{111}
}
func (x *SearchFavoritesResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *SearchFavoritesResp) GetFavorites() []*FavoriteInfo {
if x != nil {
return x.Favorites
}
return nil
}
// 更新收藏请求
type UpdateFavoriteReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FavoriteID string `protobuf:"bytes,1,opt,name=favoriteID,proto3" json:"favoriteID"` // 收藏ID
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 标题(可选)
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description"` // 描述(可选)
Remark string `protobuf:"bytes,4,opt,name=remark,proto3" json:"remark"` // 备注(可选)
Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags"` // 标签列表(可选)
}
func (x *UpdateFavoriteReq) Reset() {
*x = UpdateFavoriteReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[112]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateFavoriteReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateFavoriteReq) ProtoMessage() {}
func (x *UpdateFavoriteReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[112]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateFavoriteReq.ProtoReflect.Descriptor instead.
func (*UpdateFavoriteReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{112}
}
func (x *UpdateFavoriteReq) GetFavoriteID() string {
if x != nil {
return x.FavoriteID
}
return ""
}
func (x *UpdateFavoriteReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *UpdateFavoriteReq) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *UpdateFavoriteReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *UpdateFavoriteReq) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
type UpdateFavoriteResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateFavoriteResp) Reset() {
*x = UpdateFavoriteResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[113]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateFavoriteResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateFavoriteResp) ProtoMessage() {}
func (x *UpdateFavoriteResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[113]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateFavoriteResp.ProtoReflect.Descriptor instead.
func (*UpdateFavoriteResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{113}
}
// 删除收藏请求
type DeleteFavoriteReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FavoriteIDs []string `protobuf:"bytes,1,rep,name=favoriteIDs,proto3" json:"favoriteIDs"` // 收藏ID列表
}
func (x *DeleteFavoriteReq) Reset() {
*x = DeleteFavoriteReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[114]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteFavoriteReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteFavoriteReq) ProtoMessage() {}
func (x *DeleteFavoriteReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[114]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteFavoriteReq.ProtoReflect.Descriptor instead.
func (*DeleteFavoriteReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{114}
}
func (x *DeleteFavoriteReq) GetFavoriteIDs() []string {
if x != nil {
return x.FavoriteIDs
}
return nil
}
type DeleteFavoriteResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteFavoriteResp) Reset() {
*x = DeleteFavoriteResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[115]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteFavoriteResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteFavoriteResp) ProtoMessage() {}
func (x *DeleteFavoriteResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[115]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteFavoriteResp.ProtoReflect.Descriptor instead.
func (*DeleteFavoriteResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{115}
}
// 根据标签获取收藏请求
type GetFavoritesByTagsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tags []string `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags"` // 标签列表
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"` // 分页信息
}
func (x *GetFavoritesByTagsReq) Reset() {
*x = GetFavoritesByTagsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[116]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFavoritesByTagsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFavoritesByTagsReq) ProtoMessage() {}
func (x *GetFavoritesByTagsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[116]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetFavoritesByTagsReq.ProtoReflect.Descriptor instead.
func (*GetFavoritesByTagsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{116}
}
func (x *GetFavoritesByTagsReq) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *GetFavoritesByTagsReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
type GetFavoritesByTagsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总数
Favorites []*FavoriteInfo `protobuf:"bytes,2,rep,name=favorites,proto3" json:"favorites"` // 收藏列表
}
func (x *GetFavoritesByTagsResp) Reset() {
*x = GetFavoritesByTagsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[117]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFavoritesByTagsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFavoritesByTagsResp) ProtoMessage() {}
func (x *GetFavoritesByTagsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[117]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetFavoritesByTagsResp.ProtoReflect.Descriptor instead.
func (*GetFavoritesByTagsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{117}
}
func (x *GetFavoritesByTagsResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *GetFavoritesByTagsResp) GetFavorites() []*FavoriteInfo {
if x != nil {
return x.Favorites
}
return nil
}
// 获取收藏数量请求
type GetFavoriteCountReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetFavoriteCountReq) Reset() {
*x = GetFavoriteCountReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[118]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFavoriteCountReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFavoriteCountReq) ProtoMessage() {}
func (x *GetFavoriteCountReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[118]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetFavoriteCountReq.ProtoReflect.Descriptor instead.
func (*GetFavoriteCountReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{118}
}
type GetFavoriteCountResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count"` // 收藏数量
}
func (x *GetFavoriteCountResp) Reset() {
*x = GetFavoriteCountResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[119]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFavoriteCountResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFavoriteCountResp) ProtoMessage() {}
func (x *GetFavoriteCountResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[119]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetFavoriteCountResp.ProtoReflect.Descriptor instead.
func (*GetFavoriteCountResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{119}
}
func (x *GetFavoriteCountResp) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
// 消息内容
type ScheduledTaskMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type"` // 消息类型1-文本2-图片3-视频
Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content"` // 消息内容文本内容、图片URL、视频URL等
Thumbnail string `protobuf:"bytes,3,opt,name=thumbnail,proto3" json:"thumbnail"` // 缩略图URL用于图片和视频
Duration int32 `protobuf:"varint,4,opt,name=duration,proto3" json:"duration"` // 时长(秒,用于视频)
FileSize int64 `protobuf:"varint,5,opt,name=fileSize,proto3" json:"fileSize"` // 文件大小(字节,用于图片和视频)
Width int32 `protobuf:"varint,6,opt,name=width,proto3" json:"width"` // 宽度(像素,用于图片和视频)
Height int32 `protobuf:"varint,7,opt,name=height,proto3" json:"height"` // 高度(像素,用于图片和视频)
}
func (x *ScheduledTaskMessage) Reset() {
*x = ScheduledTaskMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[120]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduledTaskMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduledTaskMessage) ProtoMessage() {}
func (x *ScheduledTaskMessage) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[120]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScheduledTaskMessage.ProtoReflect.Descriptor instead.
func (*ScheduledTaskMessage) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{120}
}
func (x *ScheduledTaskMessage) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *ScheduledTaskMessage) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *ScheduledTaskMessage) GetThumbnail() string {
if x != nil {
return x.Thumbnail
}
return ""
}
func (x *ScheduledTaskMessage) GetDuration() int32 {
if x != nil {
return x.Duration
}
return 0
}
func (x *ScheduledTaskMessage) GetFileSize() int64 {
if x != nil {
return x.FileSize
}
return 0
}
func (x *ScheduledTaskMessage) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *ScheduledTaskMessage) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
// 定时任务信息
type ScheduledTaskInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // 任务ID
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` // 用户ID
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` // 任务名称
CronExpression string `protobuf:"bytes,4,opt,name=cronExpression,proto3" json:"cronExpression"` // Crontab表达式分 时 日 月 周(例如:"0 9 * * *"
Messages []*ScheduledTaskMessage `protobuf:"bytes,5,rep,name=messages,proto3" json:"messages"` // 消息列表(支持多条消息一起发送)
RecvIDs []string `protobuf:"bytes,6,rep,name=recvIDs,proto3" json:"recvIDs"` // 接收者ID列表单聊可以多个
GroupIDs []string `protobuf:"bytes,7,rep,name=groupIDs,proto3" json:"groupIDs"` // 群组ID列表群聊可以多个
Status int32 `protobuf:"varint,8,opt,name=status,proto3" json:"status"` // 状态0-已禁用1-已启用
CreateTime int64 `protobuf:"varint,9,opt,name=createTime,proto3" json:"createTime"` // 创建时间(毫秒时间戳)
UpdateTime int64 `protobuf:"varint,10,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间(毫秒时间戳)
}
func (x *ScheduledTaskInfo) Reset() {
*x = ScheduledTaskInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[121]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduledTaskInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduledTaskInfo) ProtoMessage() {}
func (x *ScheduledTaskInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[121]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScheduledTaskInfo.ProtoReflect.Descriptor instead.
func (*ScheduledTaskInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{121}
}
func (x *ScheduledTaskInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ScheduledTaskInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *ScheduledTaskInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ScheduledTaskInfo) GetCronExpression() string {
if x != nil {
return x.CronExpression
}
return ""
}
func (x *ScheduledTaskInfo) GetMessages() []*ScheduledTaskMessage {
if x != nil {
return x.Messages
}
return nil
}
func (x *ScheduledTaskInfo) GetRecvIDs() []string {
if x != nil {
return x.RecvIDs
}
return nil
}
func (x *ScheduledTaskInfo) GetGroupIDs() []string {
if x != nil {
return x.GroupIDs
}
return nil
}
func (x *ScheduledTaskInfo) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *ScheduledTaskInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *ScheduledTaskInfo) GetUpdateTime() int64 {
if x != nil {
return x.UpdateTime
}
return 0
}
// 创建定时任务请求
type CreateScheduledTaskReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` // 任务名称
CronExpression string `protobuf:"bytes,2,opt,name=cronExpression,proto3" json:"cronExpression"` // Crontab表达式
Messages []*ScheduledTaskMessage `protobuf:"bytes,3,rep,name=messages,proto3" json:"messages"` // 消息列表
RecvIDs []string `protobuf:"bytes,4,rep,name=recvIDs,proto3" json:"recvIDs"` // 接收者ID列表单聊可以多个
GroupIDs []string `protobuf:"bytes,5,rep,name=groupIDs,proto3" json:"groupIDs"` // 群组ID列表群聊可以多个
Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` // 状态0-已禁用1-已启用
}
func (x *CreateScheduledTaskReq) Reset() {
*x = CreateScheduledTaskReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[122]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateScheduledTaskReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateScheduledTaskReq) ProtoMessage() {}
func (x *CreateScheduledTaskReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[122]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateScheduledTaskReq.ProtoReflect.Descriptor instead.
func (*CreateScheduledTaskReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{122}
}
func (x *CreateScheduledTaskReq) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CreateScheduledTaskReq) GetCronExpression() string {
if x != nil {
return x.CronExpression
}
return ""
}
func (x *CreateScheduledTaskReq) GetMessages() []*ScheduledTaskMessage {
if x != nil {
return x.Messages
}
return nil
}
func (x *CreateScheduledTaskReq) GetRecvIDs() []string {
if x != nil {
return x.RecvIDs
}
return nil
}
func (x *CreateScheduledTaskReq) GetGroupIDs() []string {
if x != nil {
return x.GroupIDs
}
return nil
}
func (x *CreateScheduledTaskReq) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
type CreateScheduledTaskResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TaskID string `protobuf:"bytes,1,opt,name=taskID,proto3" json:"taskID"` // 任务ID
}
func (x *CreateScheduledTaskResp) Reset() {
*x = CreateScheduledTaskResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[123]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateScheduledTaskResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateScheduledTaskResp) ProtoMessage() {}
func (x *CreateScheduledTaskResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[123]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateScheduledTaskResp.ProtoReflect.Descriptor instead.
func (*CreateScheduledTaskResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{123}
}
func (x *CreateScheduledTaskResp) GetTaskID() string {
if x != nil {
return x.TaskID
}
return ""
}
// 获取定时任务请求
type GetScheduledTaskReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TaskID string `protobuf:"bytes,1,opt,name=taskID,proto3" json:"taskID"` // 任务ID
}
func (x *GetScheduledTaskReq) Reset() {
*x = GetScheduledTaskReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[124]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetScheduledTaskReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetScheduledTaskReq) ProtoMessage() {}
func (x *GetScheduledTaskReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[124]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetScheduledTaskReq.ProtoReflect.Descriptor instead.
func (*GetScheduledTaskReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{124}
}
func (x *GetScheduledTaskReq) GetTaskID() string {
if x != nil {
return x.TaskID
}
return ""
}
type GetScheduledTaskResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Task *ScheduledTaskInfo `protobuf:"bytes,1,opt,name=task,proto3" json:"task"` // 任务信息
}
func (x *GetScheduledTaskResp) Reset() {
*x = GetScheduledTaskResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[125]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetScheduledTaskResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetScheduledTaskResp) ProtoMessage() {}
func (x *GetScheduledTaskResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[125]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetScheduledTaskResp.ProtoReflect.Descriptor instead.
func (*GetScheduledTaskResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{125}
}
func (x *GetScheduledTaskResp) GetTask() *ScheduledTaskInfo {
if x != nil {
return x.Task
}
return nil
}
// 获取定时任务列表请求
type GetScheduledTasksReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"` // 分页信息
}
func (x *GetScheduledTasksReq) Reset() {
*x = GetScheduledTasksReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[126]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetScheduledTasksReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetScheduledTasksReq) ProtoMessage() {}
func (x *GetScheduledTasksReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[126]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetScheduledTasksReq.ProtoReflect.Descriptor instead.
func (*GetScheduledTasksReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{126}
}
func (x *GetScheduledTasksReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
type GetScheduledTasksResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总数
Tasks []*ScheduledTaskInfo `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks"` // 任务列表
}
func (x *GetScheduledTasksResp) Reset() {
*x = GetScheduledTasksResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[127]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetScheduledTasksResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetScheduledTasksResp) ProtoMessage() {}
func (x *GetScheduledTasksResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[127]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetScheduledTasksResp.ProtoReflect.Descriptor instead.
func (*GetScheduledTasksResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{127}
}
func (x *GetScheduledTasksResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *GetScheduledTasksResp) GetTasks() []*ScheduledTaskInfo {
if x != nil {
return x.Tasks
}
return nil
}
// 更新定时任务请求
type UpdateScheduledTaskReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TaskID string `protobuf:"bytes,1,opt,name=taskID,proto3" json:"taskID"` // 任务ID
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` // 任务名称(可选)
CronExpression string `protobuf:"bytes,3,opt,name=cronExpression,proto3" json:"cronExpression"` // Crontab表达式可选
Messages []*ScheduledTaskMessage `protobuf:"bytes,4,rep,name=messages,proto3" json:"messages"` // 消息列表(可选)
RecvIDs []string `protobuf:"bytes,5,rep,name=recvIDs,proto3" json:"recvIDs"` // 接收者ID列表可选
GroupIDs []string `protobuf:"bytes,6,rep,name=groupIDs,proto3" json:"groupIDs"` // 群组ID列表可选
Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` // 状态(可选)
}
func (x *UpdateScheduledTaskReq) Reset() {
*x = UpdateScheduledTaskReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[128]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateScheduledTaskReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateScheduledTaskReq) ProtoMessage() {}
func (x *UpdateScheduledTaskReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[128]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateScheduledTaskReq.ProtoReflect.Descriptor instead.
func (*UpdateScheduledTaskReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{128}
}
func (x *UpdateScheduledTaskReq) GetTaskID() string {
if x != nil {
return x.TaskID
}
return ""
}
func (x *UpdateScheduledTaskReq) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *UpdateScheduledTaskReq) GetCronExpression() string {
if x != nil {
return x.CronExpression
}
return ""
}
func (x *UpdateScheduledTaskReq) GetMessages() []*ScheduledTaskMessage {
if x != nil {
return x.Messages
}
return nil
}
func (x *UpdateScheduledTaskReq) GetRecvIDs() []string {
if x != nil {
return x.RecvIDs
}
return nil
}
func (x *UpdateScheduledTaskReq) GetGroupIDs() []string {
if x != nil {
return x.GroupIDs
}
return nil
}
func (x *UpdateScheduledTaskReq) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
type UpdateScheduledTaskResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateScheduledTaskResp) Reset() {
*x = UpdateScheduledTaskResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[129]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateScheduledTaskResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateScheduledTaskResp) ProtoMessage() {}
func (x *UpdateScheduledTaskResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[129]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateScheduledTaskResp.ProtoReflect.Descriptor instead.
func (*UpdateScheduledTaskResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{129}
}
// 删除定时任务请求
type DeleteScheduledTaskReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TaskIDs []string `protobuf:"bytes,1,rep,name=taskIDs,proto3" json:"taskIDs"` // 任务ID列表
}
func (x *DeleteScheduledTaskReq) Reset() {
*x = DeleteScheduledTaskReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[130]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteScheduledTaskReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteScheduledTaskReq) ProtoMessage() {}
func (x *DeleteScheduledTaskReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[130]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteScheduledTaskReq.ProtoReflect.Descriptor instead.
func (*DeleteScheduledTaskReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{130}
}
func (x *DeleteScheduledTaskReq) GetTaskIDs() []string {
if x != nil {
return x.TaskIDs
}
return nil
}
type DeleteScheduledTaskResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteScheduledTaskResp) Reset() {
*x = DeleteScheduledTaskResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[131]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteScheduledTaskResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteScheduledTaskResp) ProtoMessage() {}
func (x *DeleteScheduledTaskResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[131]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteScheduledTaskResp.ProtoReflect.Descriptor instead.
func (*DeleteScheduledTaskResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{131}
}
// 系统配置信息(客户端)
type SystemConfigInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key"` // 配置键(唯一标识)
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 配置标题
Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value"` // 配置值(根据 valueType 解析)
ValueType int32 `protobuf:"varint,4,opt,name=valueType,proto3" json:"valueType"` // 配置值类型1-字符串2-数字3-布尔4-JSON
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description"` // 配置描述
}
func (x *SystemConfigInfo) Reset() {
*x = SystemConfigInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[132]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SystemConfigInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SystemConfigInfo) ProtoMessage() {}
func (x *SystemConfigInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[132]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SystemConfigInfo.ProtoReflect.Descriptor instead.
func (*SystemConfigInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{132}
}
func (x *SystemConfigInfo) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *SystemConfigInfo) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *SystemConfigInfo) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *SystemConfigInfo) GetValueType() int32 {
if x != nil {
return x.ValueType
}
return 0
}
func (x *SystemConfigInfo) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
// 获取APP端配置请求
type GetAppSystemConfigsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetAppSystemConfigsReq) Reset() {
*x = GetAppSystemConfigsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[133]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAppSystemConfigsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAppSystemConfigsReq) ProtoMessage() {}
func (x *GetAppSystemConfigsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[133]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAppSystemConfigsReq.ProtoReflect.Descriptor instead.
func (*GetAppSystemConfigsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{133}
}
// 获取APP端配置响应
type GetAppSystemConfigsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Configs []*SystemConfigInfo `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs"` // 配置列表
}
func (x *GetAppSystemConfigsResp) Reset() {
*x = GetAppSystemConfigsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[134]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAppSystemConfigsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAppSystemConfigsResp) ProtoMessage() {}
func (x *GetAppSystemConfigsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[134]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAppSystemConfigsResp.ProtoReflect.Descriptor instead.
func (*GetAppSystemConfigsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{134}
}
func (x *GetAppSystemConfigsResp) GetConfigs() []*SystemConfigInfo {
if x != nil {
return x.Configs
}
return nil
}
// 实名认证信息
type RealNameAuthInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IdCard string `protobuf:"bytes,1,opt,name=idCard,proto3" json:"idCard"` // 身份证号
IdCardPhotoFront string `protobuf:"bytes,2,opt,name=idCardPhotoFront,proto3" json:"idCardPhotoFront"` // 身份证正面照片URL
IdCardPhotoBack string `protobuf:"bytes,3,opt,name=idCardPhotoBack,proto3" json:"idCardPhotoBack"` // 身份证反面照片URL
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name"` // 真实姓名
AuditStatus int32 `protobuf:"varint,5,opt,name=auditStatus,proto3" json:"auditStatus"` // 审核状态0-未审核1-审核通过2-审核拒绝
}
func (x *RealNameAuthInfo) Reset() {
*x = RealNameAuthInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[135]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RealNameAuthInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RealNameAuthInfo) ProtoMessage() {}
func (x *RealNameAuthInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[135]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RealNameAuthInfo.ProtoReflect.Descriptor instead.
func (*RealNameAuthInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{135}
}
func (x *RealNameAuthInfo) GetIdCard() string {
if x != nil {
return x.IdCard
}
return ""
}
func (x *RealNameAuthInfo) GetIdCardPhotoFront() string {
if x != nil {
return x.IdCardPhotoFront
}
return ""
}
func (x *RealNameAuthInfo) GetIdCardPhotoBack() string {
if x != nil {
return x.IdCardPhotoBack
}
return ""
}
func (x *RealNameAuthInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RealNameAuthInfo) GetAuditStatus() int32 {
if x != nil {
return x.AuditStatus
}
return 0
}
// 获取钱包余额请求
type GetWalletBalanceReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetWalletBalanceReq) Reset() {
*x = GetWalletBalanceReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[136]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWalletBalanceReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWalletBalanceReq) ProtoMessage() {}
func (x *GetWalletBalanceReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[136]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWalletBalanceReq.ProtoReflect.Descriptor instead.
func (*GetWalletBalanceReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{136}
}
// 获取钱包余额响应
type GetWalletBalanceResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Balance int64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance"` // 余额(单位:分)
}
func (x *GetWalletBalanceResp) Reset() {
*x = GetWalletBalanceResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[137]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWalletBalanceResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWalletBalanceResp) ProtoMessage() {}
func (x *GetWalletBalanceResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[137]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWalletBalanceResp.ProtoReflect.Descriptor instead.
func (*GetWalletBalanceResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{137}
}
func (x *GetWalletBalanceResp) GetBalance() int64 {
if x != nil {
return x.Balance
}
return 0
}
// 获取钱包详细信息请求
type GetWalletInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetWalletInfoReq) Reset() {
*x = GetWalletInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[138]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWalletInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWalletInfoReq) ProtoMessage() {}
func (x *GetWalletInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[138]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWalletInfoReq.ProtoReflect.Descriptor instead.
func (*GetWalletInfoReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{138}
}
// 获取钱包详细信息响应
type GetWalletInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Balance int64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance"` // 余额(单位:分)
WithdrawAccount string `protobuf:"bytes,2,opt,name=withdrawAccount,proto3" json:"withdrawAccount"` // 提现账号
WithdrawAccountType int32 `protobuf:"varint,3,opt,name=withdrawAccountType,proto3" json:"withdrawAccountType"` // 提现账号类型1-支付宝2-微信3-银行卡
RealNameAuth *RealNameAuthInfo `protobuf:"bytes,4,opt,name=realNameAuth,proto3" json:"realNameAuth"` // 实名认证信息
WithdrawReceiveAccount string `protobuf:"bytes,5,opt,name=withdrawReceiveAccount,proto3" json:"withdrawReceiveAccount"` // 提现收款账号
HasPaymentPassword bool `protobuf:"varint,6,opt,name=hasPaymentPassword,proto3" json:"hasPaymentPassword"` // 是否已设置支付密码
}
func (x *GetWalletInfoResp) Reset() {
*x = GetWalletInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[139]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWalletInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWalletInfoResp) ProtoMessage() {}
func (x *GetWalletInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[139]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWalletInfoResp.ProtoReflect.Descriptor instead.
func (*GetWalletInfoResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{139}
}
func (x *GetWalletInfoResp) GetBalance() int64 {
if x != nil {
return x.Balance
}
return 0
}
func (x *GetWalletInfoResp) GetWithdrawAccount() string {
if x != nil {
return x.WithdrawAccount
}
return ""
}
func (x *GetWalletInfoResp) GetWithdrawAccountType() int32 {
if x != nil {
return x.WithdrawAccountType
}
return 0
}
func (x *GetWalletInfoResp) GetRealNameAuth() *RealNameAuthInfo {
if x != nil {
return x.RealNameAuth
}
return nil
}
func (x *GetWalletInfoResp) GetWithdrawReceiveAccount() string {
if x != nil {
return x.WithdrawReceiveAccount
}
return ""
}
func (x *GetWalletInfoResp) GetHasPaymentPassword() bool {
if x != nil {
return x.HasPaymentPassword
}
return false
}
// 设置支付密码请求
type SetPaymentPasswordReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NewPassword string `protobuf:"bytes,1,opt,name=newPassword,proto3" json:"newPassword"` // 新支付密码(必填)
OldPassword string `protobuf:"bytes,2,opt,name=oldPassword,proto3" json:"oldPassword"` // 旧支付密码(修改时必填,首次设置时不需要)
}
func (x *SetPaymentPasswordReq) Reset() {
*x = SetPaymentPasswordReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[140]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetPaymentPasswordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetPaymentPasswordReq) ProtoMessage() {}
func (x *SetPaymentPasswordReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[140]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetPaymentPasswordReq.ProtoReflect.Descriptor instead.
func (*SetPaymentPasswordReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{140}
}
func (x *SetPaymentPasswordReq) GetNewPassword() string {
if x != nil {
return x.NewPassword
}
return ""
}
func (x *SetPaymentPasswordReq) GetOldPassword() string {
if x != nil {
return x.OldPassword
}
return ""
}
// 设置支付密码响应
type SetPaymentPasswordResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SetPaymentPasswordResp) Reset() {
*x = SetPaymentPasswordResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[141]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetPaymentPasswordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetPaymentPasswordResp) ProtoMessage() {}
func (x *SetPaymentPasswordResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[141]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetPaymentPasswordResp.ProtoReflect.Descriptor instead.
func (*SetPaymentPasswordResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{141}
}
// 设置提现账号请求
type SetWithdrawAccountReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account"` // 提现账号(必填)
AccountType int32 `protobuf:"varint,2,opt,name=accountType,proto3" json:"accountType"` // 账号类型必填1-支付宝2-微信3-银行卡
}
func (x *SetWithdrawAccountReq) Reset() {
*x = SetWithdrawAccountReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[142]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetWithdrawAccountReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetWithdrawAccountReq) ProtoMessage() {}
func (x *SetWithdrawAccountReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[142]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetWithdrawAccountReq.ProtoReflect.Descriptor instead.
func (*SetWithdrawAccountReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{142}
}
func (x *SetWithdrawAccountReq) GetAccount() string {
if x != nil {
return x.Account
}
return ""
}
func (x *SetWithdrawAccountReq) GetAccountType() int32 {
if x != nil {
return x.AccountType
}
return 0
}
// 设置提现账号响应
type SetWithdrawAccountResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SetWithdrawAccountResp) Reset() {
*x = SetWithdrawAccountResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[143]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetWithdrawAccountResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetWithdrawAccountResp) ProtoMessage() {}
func (x *SetWithdrawAccountResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[143]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetWithdrawAccountResp.ProtoReflect.Descriptor instead.
func (*SetWithdrawAccountResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{143}
}
// 余额变动记录信息
type WalletBalanceRecordInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // 记录ID
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` // 用户ID
Amount int64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount"` // 变动金额(单位:分,正数表示增加,负数表示减少)
Type int32 `protobuf:"varint,4,opt,name=type,proto3" json:"type"` // 变动类型1-充值2-提现/提款3-消费4-退款5-奖励6-后台充值7-发红包8-抢红包99-其他
BeforeBalance int64 `protobuf:"varint,5,opt,name=beforeBalance,proto3" json:"beforeBalance"` // 变动前余额(单位:分)
AfterBalance int64 `protobuf:"varint,6,opt,name=afterBalance,proto3" json:"afterBalance"` // 变动后余额(单位:分)
OrderID string `protobuf:"bytes,7,opt,name=orderID,proto3" json:"orderID"` // 关联订单ID可选
TransactionID string `protobuf:"bytes,8,opt,name=transactionID,proto3" json:"transactionID"` // 交易ID可选
RedPacketID string `protobuf:"bytes,9,opt,name=redPacketID,proto3" json:"redPacketID"` // 红包ID可选
Remark string `protobuf:"bytes,10,opt,name=remark,proto3" json:"remark"` // 备注
CreateTime int64 `protobuf:"varint,11,opt,name=createTime,proto3" json:"createTime"` // 创建时间(毫秒时间戳)
}
func (x *WalletBalanceRecordInfo) Reset() {
*x = WalletBalanceRecordInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[144]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WalletBalanceRecordInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WalletBalanceRecordInfo) ProtoMessage() {}
func (x *WalletBalanceRecordInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[144]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WalletBalanceRecordInfo.ProtoReflect.Descriptor instead.
func (*WalletBalanceRecordInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{144}
}
func (x *WalletBalanceRecordInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *WalletBalanceRecordInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *WalletBalanceRecordInfo) GetAmount() int64 {
if x != nil {
return x.Amount
}
return 0
}
func (x *WalletBalanceRecordInfo) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *WalletBalanceRecordInfo) GetBeforeBalance() int64 {
if x != nil {
return x.BeforeBalance
}
return 0
}
func (x *WalletBalanceRecordInfo) GetAfterBalance() int64 {
if x != nil {
return x.AfterBalance
}
return 0
}
func (x *WalletBalanceRecordInfo) GetOrderID() string {
if x != nil {
return x.OrderID
}
return ""
}
func (x *WalletBalanceRecordInfo) GetTransactionID() string {
if x != nil {
return x.TransactionID
}
return ""
}
func (x *WalletBalanceRecordInfo) GetRedPacketID() string {
if x != nil {
return x.RedPacketID
}
return ""
}
func (x *WalletBalanceRecordInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *WalletBalanceRecordInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
// 获取余额明细请求
type GetWalletBalanceRecordsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"` // 分页参数
Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type"` // 变动类型可选0表示查询所有类型
}
func (x *GetWalletBalanceRecordsReq) Reset() {
*x = GetWalletBalanceRecordsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[145]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWalletBalanceRecordsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWalletBalanceRecordsReq) ProtoMessage() {}
func (x *GetWalletBalanceRecordsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[145]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWalletBalanceRecordsReq.ProtoReflect.Descriptor instead.
func (*GetWalletBalanceRecordsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{145}
}
func (x *GetWalletBalanceRecordsReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
func (x *GetWalletBalanceRecordsReq) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
// 获取余额明细响应
type GetWalletBalanceRecordsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总数
Records []*WalletBalanceRecordInfo `protobuf:"bytes,2,rep,name=records,proto3" json:"records"` // 记录列表
}
func (x *GetWalletBalanceRecordsResp) Reset() {
*x = GetWalletBalanceRecordsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[146]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWalletBalanceRecordsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWalletBalanceRecordsResp) ProtoMessage() {}
func (x *GetWalletBalanceRecordsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[146]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWalletBalanceRecordsResp.ProtoReflect.Descriptor instead.
func (*GetWalletBalanceRecordsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{146}
}
func (x *GetWalletBalanceRecordsResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *GetWalletBalanceRecordsResp) GetRecords() []*WalletBalanceRecordInfo {
if x != nil {
return x.Records
}
return nil
}
// 提现申请信息
type WithdrawApplicationInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // 申请ID
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` // 用户ID
Amount int64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount"` // 提现金额(单位:分)
WithdrawAccount string `protobuf:"bytes,4,opt,name=withdrawAccount,proto3" json:"withdrawAccount"` // 提现账号
WithdrawAccountType int32 `protobuf:"varint,5,opt,name=withdrawAccountType,proto3" json:"withdrawAccountType"` // 提现账号类型1-支付宝2-微信3-银行卡
Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` // 申请状态1-待审核2-已通过3-已拒绝4-处理中5-已完成
AuditorID string `protobuf:"bytes,7,opt,name=auditorID,proto3" json:"auditorID"` // 审核人ID管理员ID
AuditTime int64 `protobuf:"varint,8,opt,name=auditTime,proto3" json:"auditTime"` // 审核时间(毫秒时间戳)
AuditRemark string `protobuf:"bytes,9,opt,name=auditRemark,proto3" json:"auditRemark"` // 审核备注
Ip string `protobuf:"bytes,10,opt,name=ip,proto3" json:"ip"` // 申请IP
DeviceID string `protobuf:"bytes,11,opt,name=deviceID,proto3" json:"deviceID"` // 设备ID
Platform string `protobuf:"bytes,12,opt,name=platform,proto3" json:"platform"` // 平台iOS、Android、Web等
DeviceModel string `protobuf:"bytes,13,opt,name=deviceModel,proto3" json:"deviceModel"` // 设备型号
DeviceBrand string `protobuf:"bytes,14,opt,name=deviceBrand,proto3" json:"deviceBrand"` // 设备品牌
OsVersion string `protobuf:"bytes,15,opt,name=osVersion,proto3" json:"osVersion"` // 操作系统版本
AppVersion string `protobuf:"bytes,16,opt,name=appVersion,proto3" json:"appVersion"` // 应用版本
Remark string `protobuf:"bytes,17,opt,name=remark,proto3" json:"remark"` // 申请备注(由后台管理员填写)
CreateTime int64 `protobuf:"varint,18,opt,name=createTime,proto3" json:"createTime"` // 创建时间(毫秒时间戳)
UpdateTime int64 `protobuf:"varint,19,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间(毫秒时间戳)
}
func (x *WithdrawApplicationInfo) Reset() {
*x = WithdrawApplicationInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[147]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WithdrawApplicationInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WithdrawApplicationInfo) ProtoMessage() {}
func (x *WithdrawApplicationInfo) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[147]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WithdrawApplicationInfo.ProtoReflect.Descriptor instead.
func (*WithdrawApplicationInfo) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{147}
}
func (x *WithdrawApplicationInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *WithdrawApplicationInfo) GetUserID() string {
if x != nil {
return x.UserID
}
return ""
}
func (x *WithdrawApplicationInfo) GetAmount() int64 {
if x != nil {
return x.Amount
}
return 0
}
func (x *WithdrawApplicationInfo) GetWithdrawAccount() string {
if x != nil {
return x.WithdrawAccount
}
return ""
}
func (x *WithdrawApplicationInfo) GetWithdrawAccountType() int32 {
if x != nil {
return x.WithdrawAccountType
}
return 0
}
func (x *WithdrawApplicationInfo) GetStatus() int32 {
if x != nil {
return x.Status
}
return 0
}
func (x *WithdrawApplicationInfo) GetAuditorID() string {
if x != nil {
return x.AuditorID
}
return ""
}
func (x *WithdrawApplicationInfo) GetAuditTime() int64 {
if x != nil {
return x.AuditTime
}
return 0
}
func (x *WithdrawApplicationInfo) GetAuditRemark() string {
if x != nil {
return x.AuditRemark
}
return ""
}
func (x *WithdrawApplicationInfo) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *WithdrawApplicationInfo) GetDeviceID() string {
if x != nil {
return x.DeviceID
}
return ""
}
func (x *WithdrawApplicationInfo) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *WithdrawApplicationInfo) GetDeviceModel() string {
if x != nil {
return x.DeviceModel
}
return ""
}
func (x *WithdrawApplicationInfo) GetDeviceBrand() string {
if x != nil {
return x.DeviceBrand
}
return ""
}
func (x *WithdrawApplicationInfo) GetOsVersion() string {
if x != nil {
return x.OsVersion
}
return ""
}
func (x *WithdrawApplicationInfo) GetAppVersion() string {
if x != nil {
return x.AppVersion
}
return ""
}
func (x *WithdrawApplicationInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *WithdrawApplicationInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *WithdrawApplicationInfo) GetUpdateTime() int64 {
if x != nil {
return x.UpdateTime
}
return 0
}
// 创建提现申请请求
type CreateWithdrawApplicationReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Amount int64 `protobuf:"varint,1,opt,name=amount,proto3" json:"amount"` // 提现金额(单位:分)
PaymentPassword string `protobuf:"bytes,2,opt,name=paymentPassword,proto3" json:"paymentPassword"` // 支付密码(必填)
Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip"` // 申请IP
DeviceID string `protobuf:"bytes,4,opt,name=deviceID,proto3" json:"deviceID"` // 设备ID
Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` // 平台
DeviceModel string `protobuf:"bytes,6,opt,name=deviceModel,proto3" json:"deviceModel"` // 设备型号
DeviceBrand string `protobuf:"bytes,7,opt,name=deviceBrand,proto3" json:"deviceBrand"` // 设备品牌
OsVersion string `protobuf:"bytes,8,opt,name=osVersion,proto3" json:"osVersion"` // 操作系统版本
AppVersion string `protobuf:"bytes,9,opt,name=appVersion,proto3" json:"appVersion"` // 应用版本
}
func (x *CreateWithdrawApplicationReq) Reset() {
*x = CreateWithdrawApplicationReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[148]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateWithdrawApplicationReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateWithdrawApplicationReq) ProtoMessage() {}
func (x *CreateWithdrawApplicationReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[148]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateWithdrawApplicationReq.ProtoReflect.Descriptor instead.
func (*CreateWithdrawApplicationReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{148}
}
func (x *CreateWithdrawApplicationReq) GetAmount() int64 {
if x != nil {
return x.Amount
}
return 0
}
func (x *CreateWithdrawApplicationReq) GetPaymentPassword() string {
if x != nil {
return x.PaymentPassword
}
return ""
}
func (x *CreateWithdrawApplicationReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *CreateWithdrawApplicationReq) GetDeviceID() string {
if x != nil {
return x.DeviceID
}
return ""
}
func (x *CreateWithdrawApplicationReq) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *CreateWithdrawApplicationReq) GetDeviceModel() string {
if x != nil {
return x.DeviceModel
}
return ""
}
func (x *CreateWithdrawApplicationReq) GetDeviceBrand() string {
if x != nil {
return x.DeviceBrand
}
return ""
}
func (x *CreateWithdrawApplicationReq) GetOsVersion() string {
if x != nil {
return x.OsVersion
}
return ""
}
func (x *CreateWithdrawApplicationReq) GetAppVersion() string {
if x != nil {
return x.AppVersion
}
return ""
}
// 创建提现申请响应
type CreateWithdrawApplicationResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ApplicationID string `protobuf:"bytes,1,opt,name=applicationID,proto3" json:"applicationID"` // 申请ID
}
func (x *CreateWithdrawApplicationResp) Reset() {
*x = CreateWithdrawApplicationResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[149]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateWithdrawApplicationResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateWithdrawApplicationResp) ProtoMessage() {}
func (x *CreateWithdrawApplicationResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[149]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateWithdrawApplicationResp.ProtoReflect.Descriptor instead.
func (*CreateWithdrawApplicationResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{149}
}
func (x *CreateWithdrawApplicationResp) GetApplicationID() string {
if x != nil {
return x.ApplicationID
}
return ""
}
// 获取用户的提现申请列表请求
type GetWithdrawApplicationsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"` // 分页参数
}
func (x *GetWithdrawApplicationsReq) Reset() {
*x = GetWithdrawApplicationsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[150]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWithdrawApplicationsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWithdrawApplicationsReq) ProtoMessage() {}
func (x *GetWithdrawApplicationsReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[150]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWithdrawApplicationsReq.ProtoReflect.Descriptor instead.
func (*GetWithdrawApplicationsReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{150}
}
func (x *GetWithdrawApplicationsReq) GetPagination() *sdkws.RequestPagination {
if x != nil {
return x.Pagination
}
return nil
}
// 获取用户的提现申请列表响应
type GetWithdrawApplicationsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总数
Applications []*WithdrawApplicationInfo `protobuf:"bytes,2,rep,name=applications,proto3" json:"applications"` // 申请列表
}
func (x *GetWithdrawApplicationsResp) Reset() {
*x = GetWithdrawApplicationsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[151]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetWithdrawApplicationsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetWithdrawApplicationsResp) ProtoMessage() {}
func (x *GetWithdrawApplicationsResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[151]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetWithdrawApplicationsResp.ProtoReflect.Descriptor instead.
func (*GetWithdrawApplicationsResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{151}
}
func (x *GetWithdrawApplicationsResp) GetTotal() uint32 {
if x != nil {
return x.Total
}
return 0
}
func (x *GetWithdrawApplicationsResp) GetApplications() []*WithdrawApplicationInfo {
if x != nil {
return x.Applications
}
return nil
}
// 实名认证请求
type RealNameAuthReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IdCard string `protobuf:"bytes,1,opt,name=idCard,proto3" json:"idCard"` // 身份证号(必填)
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` // 真实姓名(必填)
IdCardPhotoFront string `protobuf:"bytes,3,opt,name=idCardPhotoFront,proto3" json:"idCardPhotoFront"` // 身份证正面照片URL可选
IdCardPhotoBack string `protobuf:"bytes,4,opt,name=idCardPhotoBack,proto3" json:"idCardPhotoBack"` // 身份证反面照片URL可选
}
func (x *RealNameAuthReq) Reset() {
*x = RealNameAuthReq{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[152]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RealNameAuthReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RealNameAuthReq) ProtoMessage() {}
func (x *RealNameAuthReq) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[152]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RealNameAuthReq.ProtoReflect.Descriptor instead.
func (*RealNameAuthReq) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{152}
}
func (x *RealNameAuthReq) GetIdCard() string {
if x != nil {
return x.IdCard
}
return ""
}
func (x *RealNameAuthReq) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RealNameAuthReq) GetIdCardPhotoFront() string {
if x != nil {
return x.IdCardPhotoFront
}
return ""
}
func (x *RealNameAuthReq) GetIdCardPhotoBack() string {
if x != nil {
return x.IdCardPhotoBack
}
return ""
}
// 实名认证响应
type RealNameAuthResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success"` // 是否认证成功
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message"` // 认证结果消息
IdCardPhotoFront string `protobuf:"bytes,3,opt,name=idCardPhotoFront,proto3" json:"idCardPhotoFront"` // 身份证正面照片URL
IdCardPhotoBack string `protobuf:"bytes,4,opt,name=idCardPhotoBack,proto3" json:"idCardPhotoBack"` // 身份证反面照片URL
}
func (x *RealNameAuthResp) Reset() {
*x = RealNameAuthResp{}
if protoimpl.UnsafeEnabled {
mi := &file_chat_chat_proto_msgTypes[153]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RealNameAuthResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RealNameAuthResp) ProtoMessage() {}
func (x *RealNameAuthResp) ProtoReflect() protoreflect.Message {
mi := &file_chat_chat_proto_msgTypes[153]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RealNameAuthResp.ProtoReflect.Descriptor instead.
func (*RealNameAuthResp) Descriptor() ([]byte, []int) {
return file_chat_chat_proto_rawDescGZIP(), []int{153}
}
func (x *RealNameAuthResp) GetSuccess() bool {
if x != nil {
return x.Success
}
return false
}
func (x *RealNameAuthResp) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *RealNameAuthResp) GetIdCardPhotoFront() string {
if x != nil {
return x.IdCardPhotoFront
}
return ""
}
func (x *RealNameAuthResp) GetIdCardPhotoBack() string {
if x != nil {
return x.IdCardPhotoBack
}
return ""
}
var File_chat_chat_proto protoreflect.FileDescriptor
var file_chat_chat_proto_rawDesc = []byte{
0x0a, 0x0f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x1a, 0x13,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2f, 0x73, 0x64, 0x6b, 0x77, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 0xb4, 0x01, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72,
0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72,
0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f,
0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc3, 0x07, 0x0a, 0x11, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 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, 0x36, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x3e, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
0x12, 0x38, 0x0a, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x6d,
0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x38,
0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08,
0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65,
0x55, 0x52, 0x4c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x52, 0x4c,
0x12, 0x33, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x67,
0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x31, 0x0a, 0x05, 0x62, 0x69, 0x72, 0x74,
0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x62, 0x69, 0x72, 0x74, 0x68, 0x12, 0x43, 0x0a, 0x0e, 0x61,
0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
0x12, 0x39, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x42, 0x65, 0x65, 0x70, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x42, 0x65, 0x65, 0x70, 0x12, 0x43, 0x0a, 0x0e, 0x61,
0x6c, 0x6c, 0x6f, 0x77, 0x56, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x56, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x47, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73,
0x67, 0x4f, 0x70, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52,
0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x52, 0x65, 0x67,
0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73,
0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x75, 0x73,
0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6c,
0x61, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67,
0x22, 0x4a, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x72,
0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x72, 0x6c,
0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x15,
0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x22,
0x52, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69,
0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x05, 0x75, 0x73, 0x65,
0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73,
0x65, 0x72, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73,
0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12,
0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67,
0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a,
0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x65,
0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x65, 0x6e,
0x64, 0x65, 0x72, 0x73, 0x22, 0x6a, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73,
0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73,
0x22, 0x2f, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49,
0x44, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44,
0x73, 0x22, 0x4e, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x05, 0x75, 0x73, 0x65,
0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72,
0x73, 0x22, 0xf1, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79,
0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x64, 0x46,
0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x64, 0x46, 0x6f,
0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x70, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a,
0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72,
0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0xbb, 0x01, 0x0a, 0x0d,
0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x68, 0x6f,
0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x76,
0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65,
0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69,
0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x49, 0x44, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x49, 0x44, 0x12,
0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, 0x0e, 0x56, 0x65, 0x72,
0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x22, 0x47, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61,
0x70, 0x74, 0x63, 0x68, 0x61, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c,
0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x22, 0xf4, 0x02, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 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, 0x14, 0x0a, 0x05, 0x62, 0x69, 0x72, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x05, 0x62, 0x69, 0x72, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e,
0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65,
0x72, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a,
0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75,
0x73, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75,
0x73, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x98, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x69,
0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12,
0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x61,
0x75, 0x74, 0x6f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
0x61, 0x75, 0x74, 0x6f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x75, 0x73, 0x65,
0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x22, 0x48, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73,
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 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, 0x1c,
0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8e, 0x01, 0x0a,
0x11, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1a,
0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x31, 0x0a, 0x04, 0x75, 0x73,
0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55,
0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x14, 0x0a,
0x12, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x73, 0x70, 0x22, 0xfc, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71,
0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e,
0x0a, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73,
0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73,
0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05,
0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61,
0x69, 0x6c, 0x22, 0xa2, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73,
0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66,
0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x65, 0x74,
0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x77, 0x0a, 0x11,
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 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, 0x28, 0x0a, 0x0f, 0x63, 0x75, 0x72,
0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2e, 0x0a, 0x12, 0x46,
0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
0x71, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x13,
0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x4d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61,
0x70, 0x1a, 0x41, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x4d, 0x61, 0x70, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0x30, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c,
0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x61, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x1a, 0x41, 0x0a, 0x13,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
0xdc, 0x03, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f,
0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f,
0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72,
0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72,
0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6e, 0x64,
0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,
0x63, 0x76, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x63, 0x76,
0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x76, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x76, 0x4e, 0x69,
0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x44, 0x18, 0x08, 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, 0x09, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4c,
0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x69, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x22, 0x41,
0x0a, 0x11, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b,
0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64,
0x79, 0x22, 0x14, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x43, 0x61, 0x6c, 0x6c, 0x62,
0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0xac, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72,
0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x71, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x70,
0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07,
0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67,
0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x1c,
0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07,
0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65,
0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61,
0x6d, 0x65, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0f, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
0x12, 0x24, 0x0a, 0x0d, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72,
0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4b,
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x66, 0x0a, 0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46,
0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x3b,
0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x12,
0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x6e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x75, 0x6e, 0x6c, 0x6f, 0x67, 0x69,
0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x38, 0x0a, 0x0a, 0x43, 0x6f, 0x75, 0x6e,
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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x41, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12,
0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a,
0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75,
0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6b,
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65,
0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73,
0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x22, 0x62, 0x0a, 0x12, 0x53, 0x65,
0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46,
0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x4c,
0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x56, 0x69, 0x64,
0x65, 0x6f, 0x4d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04,
0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d,
0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x51, 0x0a, 0x1b,
0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f,
0x4d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
0x46, 0x0a, 0x11, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x69, 0x73,
0x74, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x50, 0x0a, 0x12, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a,
0x06, 0x75, 0x73, 0x65, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75,
0x73, 0x65, 0x72, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x22, 0x2d, 0x0a, 0x11, 0x44, 0x65, 0x6c,
0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18,
0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x55,
0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x3b,
0x0a, 0x13, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c,
0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x53,
0x65, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52,
0x65, 0x73, 0x70, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x22, 0x3c, 0x0a, 0x14, 0x47, 0x65,
0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
0x73, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, 0x61, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x73,
0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a,
0x04, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x6f, 0x72,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70,
0x6c, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x47,
0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73,
0x52, 0x65, 0x71, 0x22, 0xa1, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a,
0x05, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x77, 0x6f,
0x72, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c,
0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75,
0x6c, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x72, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x70, 0x6c,
0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x72, 0x22, 0x32, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65,
0x71, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x17,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f,
0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68,
0x61, 0x73, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x43, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64,
0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x74,
0x63, 0x68, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xa5, 0x02, 0x0a, 0x17, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76,
0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a,
0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d,
0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72,
0x6b, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xcb, 0x02, 0x0a, 0x17, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c,
0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x72, 0x12,
0x27, 0x0a, 0x0f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65,
0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c,
0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x77, 0x68, 0x69, 0x74,
0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x70, 0x70,
0x72, 0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f,
0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12,
0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73,
0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x57,
0x6f, 0x72, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e,
0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54,
0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x54, 0x69, 0x6d, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12,
0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x72, 0x65,
0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05,
0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x61, 0x0a, 0x19, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x53,
0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18,
0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63,
0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x9b,
0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65,
0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x16, 0x0a, 0x14,
0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64,
0x52, 0x65, 0x73, 0x70, 0x22, 0xae, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77,
0x6f, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a,
0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
0x22, 0x2a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74,
0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x19, 0x0a, 0x17,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x25, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x50,
0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f,
0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68,
0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x77, 0x6f, 0x72, 0x64,
0x22, 0xa4, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07,
0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b,
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67,
0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63,
0x68, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52,
0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x05, 0x77, 0x6f, 0x72,
0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
0x57, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05,
0x77, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x57, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x64,
0x64, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52,
0x65, 0x71, 0x12, 0x3a, 0x0a, 0x05, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x1c,
0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74,
0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0xd2, 0x01, 0x0a,
0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73,
0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x12, 0x50, 0x0a,
0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x74,
0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76,
0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x1a,
0x60, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x22, 0x1f, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65,
0x73, 0x70, 0x22, 0x30, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52,
0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
0x03, 0x69, 0x64, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64,
0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x46, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73,
0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65,
0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x1b, 0x0a,
0x19, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72,
0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x22, 0x59, 0x0a, 0x1b, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72,
0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a,
0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x1e, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2f, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x22, 0x56, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12,
0x39, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x1e, 0x0a, 0x1c, 0x47, 0x65,
0x74, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72,
0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x22, 0x5c, 0x0a, 0x1d, 0x47, 0x65,
0x74, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72,
0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x06, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74,
0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x65, 0x71, 0x22, 0x5a, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73,
0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x22, 0x5c, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
0x71, 0x12, 0x3c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22,
0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70,
0x22, 0x8e, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76,
0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07,
0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75,
0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x73, 0x64,
0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x67, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76,
0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x12, 0x35, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x55,
0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c,
0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64,
0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a,
0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x47,
0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x73, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x3f,
0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x73, 0x64, 0x6b, 0x77,
0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0x6b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x12, 0x3a, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x2e, 0x0a, 0x1a,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x1d, 0x0a, 0x1b,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0x0a, 0x18, 0x47,
0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x53,
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x22, 0x56, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73,
0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x53,
0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22,
0x57, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d,
0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a,
0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x53,
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x26, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69,
0x65, 0x6e, 0x64, 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, 0x22, 0x0f,
0x0a, 0x0d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22,
0x94, 0x03, 0x0a, 0x0c, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
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, 0x74, 0x79, 0x70, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c,
0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07,
0x6c, 0x69, 0x6e, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c,
0x69, 0x6e, 0x6b, 0x55, 0x52, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69,
0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69,
0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a,
0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61,
0x67, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x16,
0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0d, 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, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c,
0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x55, 0x52, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69,
0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69,
0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61,
0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x34, 0x0a, 0x12, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49, 0x44, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49, 0x44,
0x22, 0x30, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52,
0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49, 0x44,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65,
0x49, 0x44, 0x22, 0x48, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74,
0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x08, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x08, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x22, 0x66, 0x0a, 0x0f,
0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72,
0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37,
0x0a, 0x09, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x66, 0x61,
0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x22, 0x6f, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63,
0x68, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a,
0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61,
0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72,
0x63, 0x68, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12,
0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x09, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74,
0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x09, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x22, 0x97,
0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74,
0x65, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65,
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69,
0x74, 0x65, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06,
0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65,
0x6d, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03,
0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x35,
0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65,
0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49,
0x44, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69,
0x74, 0x65, 0x49, 0x44, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46,
0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x6c, 0x0a, 0x15, 0x47,
0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67,
0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70,
0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x16, 0x47, 0x65, 0x74,
0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x73, 0x52,
0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x09, 0x66, 0x61, 0x76,
0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x61, 0x76, 0x6f, 0x72,
0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74,
0x65, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74,
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x65, 0x74,
0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc8, 0x01, 0x0a, 0x14, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1c,
0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65,
0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65,
0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65,
0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67,
0x68, 0x74, 0x22, 0xc4, 0x02, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64,
0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 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, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x72, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72,
0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x08,
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72,
0x65, 0x63, 0x76, 0x49, 0x44, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65,
0x63, 0x76, 0x49, 0x44, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44,
0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44,
0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xe1, 0x01, 0x0a, 0x16, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x72, 0x6f, 0x6e,
0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0e, 0x63, 0x72, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12,
0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09,
0x52, 0x07, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x44, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x44, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x31, 0x0a,
0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b,
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44,
0x22, 0x2d, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49,
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x22,
0x4a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73,
0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x57, 0x0a, 0x14, 0x47,
0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73,
0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x16, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x26, 0x0a, 0x0e, 0x63, 0x72, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x6e, 0x45, 0x78,
0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x76, 0x49,
0x44, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x63, 0x76, 0x49, 0x44,
0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x73, 0x18, 0x06, 0x20,
0x03, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x22, 0x32, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61,
0x73, 0x6b, 0x49, 0x44, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x44, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22,
0x90, 0x01, 0x0a, 0x10, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65,
0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x22, 0x52, 0x0a, 0x17,
0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
0x22, 0xb6, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74,
0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2a, 0x0a,
0x10, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x46, 0x72, 0x6f, 0x6e,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50,
0x68, 0x6f, 0x74, 0x6f, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x64, 0x43,
0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x42,
0x61, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75,
0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74,
0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71,
0x22, 0x30, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c,
0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61,
0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e,
0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0xb4, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x57, 0x61,
0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62,
0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72,
0x61, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x30, 0x0a, 0x13, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x77,
0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79,
0x70, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75,
0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x41,
0x75, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d,
0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61,
0x77, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52,
0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a,
0x12, 0x68, 0x61, 0x73, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x50, 0x61,
0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x5b, 0x0a,
0x15, 0x53, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77,
0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x50,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f,
0x6c, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65,
0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x52, 0x65, 0x73, 0x70, 0x22, 0x53, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64,
0x72, 0x61, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a,
0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x74,
0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x73, 0x70, 0x22, 0xd1, 0x02, 0x0a, 0x17, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x6c,
0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x62, 0x65, 0x66, 0x6f,
0x72, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x66, 0x74,
0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0c, 0x61, 0x66, 0x74, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a,
0x0b, 0x72, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12,
0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0a, 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, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x71, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x57, 0x61,
0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x73, 0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x73, 0x0a, 0x1b, 0x47, 0x65,
0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65,
0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74,
0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12,
0x3e, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x57,
0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22,
0xcd, 0x04, 0x0a, 0x17, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x77,
0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61,
0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x13, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a,
0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61,
0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1a, 0x0a,
0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d,
0x6f, 0x64, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63,
0x65, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72,
0x6b, 0x18, 0x11, 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, 0x12, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22,
0xaa, 0x02, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72,
0x61, 0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1a,
0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x1c,
0x0a, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a,
0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x1d,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x70,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a,
0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72,
0x61, 0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
0x71, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x73,
0x64, 0x6b, 0x77, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69,
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61,
0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73,
0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x48, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x57, 0x69, 0x74, 0x68,
0x64, 0x72, 0x61, 0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x22, 0x93, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75,
0x74, 0x68, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f,
0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x64, 0x43,
0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x28, 0x0a,
0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x42, 0x61, 0x63, 0x6b,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68,
0x6f, 0x74, 0x6f, 0x42, 0x61, 0x63, 0x6b, 0x22, 0x9c, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x6c,
0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x2a, 0x0a, 0x10, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x46,
0x72, 0x6f, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x64, 0x43, 0x61,
0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f,
0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x42, 0x61, 0x63, 0x6b, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f,
0x74, 0x6f, 0x42, 0x61, 0x63, 0x6b, 0x32, 0xcd, 0x31, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12,
0x42, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x72,
0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52,
0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65,
0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x14, 0x53, 0x65, 0x61,
0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72,
0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5d,
0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68,
0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69,
0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5d, 0x0a,
0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72,
0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x10,
0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72,
0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79,
0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79,
0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69,
0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52,
0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12,
0x54, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x49, 0x6d, 0x61,
0x67, 0x65, 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x49, 0x6d, 0x61, 0x67, 0x65,
0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72,
0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
0x73, 0x70, 0x12, 0x36, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52,
0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x0d, 0x52, 0x65,
0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1d, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61,
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0e, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a,
0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12,
0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a,
0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
0x12, 0x51, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x44, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x44, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x46, 0x69, 0x6e,
0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12,
0x51, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63,
0x6b, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65,
0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x4f, 0x70, 0x65, 0x6e, 0x49, 0x4d, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x12, 0x51, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68,
0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68,
0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55,
0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x65, 0x74,
0x69, 0x6e, 0x67, 0x12, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x56, 0x69, 0x64,
0x65, 0x6f, 0x4d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x65, 0x74, 0x69,
0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x6c,
0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x6f,
0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x6c,
0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12,
0x57, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x67, 0x69,
0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x21, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71,
0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47,
0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73,
0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x23, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71,
0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72,
0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73,
0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12,
0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73,
0x70, 0x12, 0x60, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52,
0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74,
0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x14,
0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x73, 0x12, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68,
0x61, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73,
0x70, 0x12, 0x69, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41,
0x64, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73,
0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74,
0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x72, 0x0a, 0x19,
0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64,
0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68,
0x61, 0x74, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70,
0x12, 0x72, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x29, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x74, 0x63,
0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73,
0x52, 0x65, 0x73, 0x70, 0x12, 0x66, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x69,
0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68,
0x61, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6f, 0x0a, 0x18,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6f, 0x0a,
0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76,
0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x66,
0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f,
0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x26,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x72, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x73, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76,
0x65, 0x57, 0x6f, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2a,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74,
0x41, 0x6c, 0x6c, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x16, 0x47, 0x65,
0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68,
0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57,
0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x72, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
0x57, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x14, 0x47, 0x65, 0x74,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67,
0x73, 0x12, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64,
0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6c,
0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76,
0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x52,
0x65, 0x71, 0x1a, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x13,
0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x73, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f,
0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x66,
0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f,
0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74,
0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61,
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6f, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e,
0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x61,
0x74, 0x73, 0x12, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72,
0x64, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65,
0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x53, 0x74,
0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x70,
0x70, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x23,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74,
0x41, 0x70, 0x70, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x10, 0x47, 0x65, 0x74,
0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57,
0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a,
0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65,
0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65,
0x73, 0x70, 0x12, 0x4e, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x73, 0x70, 0x12, 0x6c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42,
0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x27, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57,
0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70,
0x12, 0x5d, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61,
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12,
0x5d, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63,
0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64,
0x72, 0x61, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x72,
0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77,
0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x69, 0x74, 0x68, 0x64,
0x72, 0x61, 0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x12, 0x6c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61,
0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57,
0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77,
0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
0x12, 0x4b, 0x0a, 0x0c, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74, 0x68,
0x12, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52,
0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x1d,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x61,
0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a,
0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12,
0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a,
0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
0x12, 0x48, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12,
0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65,
0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f,
0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x61,
0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x0c, 0x47, 0x65,
0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f,
0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69,
0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63,
0x68, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65,
0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46,
0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a,
0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12,
0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a,
0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
0x12, 0x51, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69,
0x74, 0x65, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52,
0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52,
0x65, 0x73, 0x70, 0x12, 0x5d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69,
0x74, 0x65, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x73, 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72,
0x69, 0x74, 0x65, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e,
0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46,
0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65,
0x73, 0x70, 0x12, 0x57, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74,
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e,
0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69,
0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69,
0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x13, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61,
0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a,
0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73,
0x6b, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e,
0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61,
0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x21, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74,
0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65,
0x73, 0x70, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x24,
0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6f, 0x70,
0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71,
0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x61,
0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6d,
0x61, 0x6c, 0x6c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6d,
0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_chat_chat_proto_rawDescOnce sync.Once
file_chat_chat_proto_rawDescData = file_chat_chat_proto_rawDesc
)
func file_chat_chat_proto_rawDescGZIP() []byte {
file_chat_chat_proto_rawDescOnce.Do(func() {
file_chat_chat_proto_rawDescData = protoimpl.X.CompressGZIP(file_chat_chat_proto_rawDescData)
})
return file_chat_chat_proto_rawDescData
}
var file_chat_chat_proto_msgTypes = make([]protoimpl.MessageInfo, 158)
var file_chat_chat_proto_goTypes = []interface{}{
(*UserIdentity)(nil), // 0: openim.chat.UserIdentity
(*UpdateUserInfoReq)(nil), // 1: openim.chat.UpdateUserInfoReq
(*UpdateUserInfoResp)(nil), // 2: openim.chat.UpdateUserInfoResp
(*FindUserPublicInfoReq)(nil), // 3: openim.chat.FindUserPublicInfoReq
(*FindUserPublicInfoResp)(nil), // 4: openim.chat.FindUserPublicInfoResp
(*SearchUserPublicInfoReq)(nil), // 5: openim.chat.SearchUserPublicInfoReq
(*SearchUserPublicInfoResp)(nil), // 6: openim.chat.SearchUserPublicInfoResp
(*FindUserFullInfoReq)(nil), // 7: openim.chat.FindUserFullInfoReq
(*FindUserFullInfoResp)(nil), // 8: openim.chat.FindUserFullInfoResp
(*SendVerifyCodeReq)(nil), // 9: openim.chat.SendVerifyCodeReq
(*SendVerifyCodeResp)(nil), // 10: openim.chat.SendVerifyCodeResp
(*VerifyCodeReq)(nil), // 11: openim.chat.VerifyCodeReq
(*VerifyCodeResp)(nil), // 12: openim.chat.VerifyCodeResp
(*GetCaptchaImageReq)(nil), // 13: openim.chat.GetCaptchaImageReq
(*GetCaptchaImageResp)(nil), // 14: openim.chat.GetCaptchaImageResp
(*RegisterUserInfo)(nil), // 15: openim.chat.RegisterUserInfo
(*RegisterUserReq)(nil), // 16: openim.chat.RegisterUserReq
(*RegisterUserResp)(nil), // 17: openim.chat.RegisterUserResp
(*AddUserAccountReq)(nil), // 18: openim.chat.AddUserAccountReq
(*AddUserAccountResp)(nil), // 19: openim.chat.AddUserAccountResp
(*LoginReq)(nil), // 20: openim.chat.LoginReq
(*ResetPasswordReq)(nil), // 21: openim.chat.ResetPasswordReq
(*ResetPasswordResp)(nil), // 22: openim.chat.ResetPasswordResp
(*ChangePasswordReq)(nil), // 23: openim.chat.ChangePasswordReq
(*ChangePasswordResp)(nil), // 24: openim.chat.ChangePasswordResp
(*FindUserAccountReq)(nil), // 25: openim.chat.FindUserAccountReq
(*FindUserAccountResp)(nil), // 26: openim.chat.FindUserAccountResp
(*FindAccountUserReq)(nil), // 27: openim.chat.FindAccountUserReq
(*FindAccountUserResp)(nil), // 28: openim.chat.FindAccountUserResp
(*SignalRecord)(nil), // 29: openim.chat.SignalRecord
(*OpenIMCallbackReq)(nil), // 30: openim.chat.OpenIMCallbackReq
(*OpenIMCallbackResp)(nil), // 31: openim.chat.OpenIMCallbackResp
(*SearchUserFullInfoReq)(nil), // 32: openim.chat.SearchUserFullInfoReq
(*SearchUserFullInfoResp)(nil), // 33: openim.chat.SearchUserFullInfoResp
(*UserLoginCountReq)(nil), // 34: openim.chat.UserLoginCountReq
(*UserLoginCountResp)(nil), // 35: openim.chat.UserLoginCountResp
(*LoginResp)(nil), // 36: openim.chat.LoginResp
(*SearchUserInfoReq)(nil), // 37: openim.chat.SearchUserInfoReq
(*SearchUserInfoResp)(nil), // 38: openim.chat.SearchUserInfoResp
(*GetTokenForVideoMeetingReq)(nil), // 39: openim.chat.GetTokenForVideoMeetingReq
(*GetTokenForVideoMeetingResp)(nil), // 40: openim.chat.GetTokenForVideoMeetingResp
(*CheckUserExistReq)(nil), // 41: openim.chat.CheckUserExistReq
(*CheckUserExistResp)(nil), // 42: openim.chat.CheckUserExistResp
(*DelUserAccountReq)(nil), // 43: openim.chat.DelUserAccountReq
(*DelUserAccountResp)(nil), // 44: openim.chat.DelUserAccountResp
(*SetAllowRegisterReq)(nil), // 45: openim.chat.SetAllowRegisterReq
(*SetAllowRegisterResp)(nil), // 46: openim.chat.SetAllowRegisterResp
(*GetAllowRegisterReq)(nil), // 47: openim.chat.GetAllowRegisterReq
(*GetAllowRegisterResp)(nil), // 48: openim.chat.GetAllowRegisterResp
(*SensitiveWordInfo)(nil), // 49: openim.chat.SensitiveWordInfo
(*GetSensitiveWordsReq)(nil), // 50: openim.chat.GetSensitiveWordsReq
(*GetSensitiveWordsResp)(nil), // 51: openim.chat.GetSensitiveWordsResp
(*CheckSensitiveWordsReq)(nil), // 52: openim.chat.CheckSensitiveWordsReq
(*CheckSensitiveWordsResp)(nil), // 53: openim.chat.CheckSensitiveWordsResp
(*SensitiveWordDetailInfo)(nil), // 54: openim.chat.SensitiveWordDetailInfo
(*SensitiveWordGroupInfo)(nil), // 55: openim.chat.SensitiveWordGroupInfo
(*SensitiveWordConfigInfo)(nil), // 56: openim.chat.SensitiveWordConfigInfo
(*SensitiveWordLogInfo)(nil), // 57: openim.chat.SensitiveWordLogInfo
(*SensitiveWordStatsInfo)(nil), // 58: openim.chat.SensitiveWordStatsInfo
(*SensitiveWordLogStatsInfo)(nil), // 59: openim.chat.SensitiveWordLogStatsInfo
(*AddSensitiveWordReq)(nil), // 60: openim.chat.AddSensitiveWordReq
(*AddSensitiveWordResp)(nil), // 61: openim.chat.AddSensitiveWordResp
(*UpdateSensitiveWordReq)(nil), // 62: openim.chat.UpdateSensitiveWordReq
(*UpdateSensitiveWordResp)(nil), // 63: openim.chat.UpdateSensitiveWordResp
(*DeleteSensitiveWordReq)(nil), // 64: openim.chat.DeleteSensitiveWordReq
(*DeleteSensitiveWordResp)(nil), // 65: openim.chat.DeleteSensitiveWordResp
(*GetSensitiveWordReq)(nil), // 66: openim.chat.GetSensitiveWordReq
(*GetSensitiveWordResp)(nil), // 67: openim.chat.GetSensitiveWordResp
(*SearchSensitiveWordsReq)(nil), // 68: openim.chat.SearchSensitiveWordsReq
(*SearchSensitiveWordsResp)(nil), // 69: openim.chat.SearchSensitiveWordsResp
(*BatchAddSensitiveWordsReq)(nil), // 70: openim.chat.BatchAddSensitiveWordsReq
(*BatchAddSensitiveWordsResp)(nil), // 71: openim.chat.BatchAddSensitiveWordsResp
(*BatchUpdateSensitiveWordsReq)(nil), // 72: openim.chat.BatchUpdateSensitiveWordsReq
(*BatchUpdateSensitiveWordsResp)(nil), // 73: openim.chat.BatchUpdateSensitiveWordsResp
(*BatchDeleteSensitiveWordsReq)(nil), // 74: openim.chat.BatchDeleteSensitiveWordsReq
(*BatchDeleteSensitiveWordsResp)(nil), // 75: openim.chat.BatchDeleteSensitiveWordsResp
(*AddSensitiveWordGroupReq)(nil), // 76: openim.chat.AddSensitiveWordGroupReq
(*AddSensitiveWordGroupResp)(nil), // 77: openim.chat.AddSensitiveWordGroupResp
(*UpdateSensitiveWordGroupReq)(nil), // 78: openim.chat.UpdateSensitiveWordGroupReq
(*UpdateSensitiveWordGroupResp)(nil), // 79: openim.chat.UpdateSensitiveWordGroupResp
(*DeleteSensitiveWordGroupReq)(nil), // 80: openim.chat.DeleteSensitiveWordGroupReq
(*DeleteSensitiveWordGroupResp)(nil), // 81: openim.chat.DeleteSensitiveWordGroupResp
(*GetSensitiveWordGroupReq)(nil), // 82: openim.chat.GetSensitiveWordGroupReq
(*GetSensitiveWordGroupResp)(nil), // 83: openim.chat.GetSensitiveWordGroupResp
(*GetAllSensitiveWordGroupsReq)(nil), // 84: openim.chat.GetAllSensitiveWordGroupsReq
(*GetAllSensitiveWordGroupsResp)(nil), // 85: openim.chat.GetAllSensitiveWordGroupsResp
(*GetSensitiveWordConfigReq)(nil), // 86: openim.chat.GetSensitiveWordConfigReq
(*GetSensitiveWordConfigResp)(nil), // 87: openim.chat.GetSensitiveWordConfigResp
(*UpdateSensitiveWordConfigReq)(nil), // 88: openim.chat.UpdateSensitiveWordConfigReq
(*UpdateSensitiveWordConfigResp)(nil), // 89: openim.chat.UpdateSensitiveWordConfigResp
(*GetSensitiveWordLogsReq)(nil), // 90: openim.chat.GetSensitiveWordLogsReq
(*GetSensitiveWordLogsResp)(nil), // 91: openim.chat.GetSensitiveWordLogsResp
(*UserLoginRecordInfo)(nil), // 92: openim.chat.UserLoginRecordInfo
(*GetUserLoginRecordsReq)(nil), // 93: openim.chat.GetUserLoginRecordsReq
(*GetUserLoginRecordsResp)(nil), // 94: openim.chat.GetUserLoginRecordsResp
(*DeleteSensitiveWordLogsReq)(nil), // 95: openim.chat.DeleteSensitiveWordLogsReq
(*DeleteSensitiveWordLogsResp)(nil), // 96: openim.chat.DeleteSensitiveWordLogsResp
(*GetSensitiveWordStatsReq)(nil), // 97: openim.chat.GetSensitiveWordStatsReq
(*GetSensitiveWordStatsResp)(nil), // 98: openim.chat.GetSensitiveWordStatsResp
(*GetSensitiveWordLogStatsReq)(nil), // 99: openim.chat.GetSensitiveWordLogStatsReq
(*GetSensitiveWordLogStatsResp)(nil), // 100: openim.chat.GetSensitiveWordLogStatsResp
(*AddFriendReq)(nil), // 101: openim.chat.AddFriendReq
(*AddFriendResp)(nil), // 102: openim.chat.AddFriendResp
(*FavoriteInfo)(nil), // 103: openim.chat.FavoriteInfo
(*CreateFavoriteReq)(nil), // 104: openim.chat.CreateFavoriteReq
(*CreateFavoriteResp)(nil), // 105: openim.chat.CreateFavoriteResp
(*GetFavoriteReq)(nil), // 106: openim.chat.GetFavoriteReq
(*GetFavoriteResp)(nil), // 107: openim.chat.GetFavoriteResp
(*GetFavoritesReq)(nil), // 108: openim.chat.GetFavoritesReq
(*GetFavoritesResp)(nil), // 109: openim.chat.GetFavoritesResp
(*SearchFavoritesReq)(nil), // 110: openim.chat.SearchFavoritesReq
(*SearchFavoritesResp)(nil), // 111: openim.chat.SearchFavoritesResp
(*UpdateFavoriteReq)(nil), // 112: openim.chat.UpdateFavoriteReq
(*UpdateFavoriteResp)(nil), // 113: openim.chat.UpdateFavoriteResp
(*DeleteFavoriteReq)(nil), // 114: openim.chat.DeleteFavoriteReq
(*DeleteFavoriteResp)(nil), // 115: openim.chat.DeleteFavoriteResp
(*GetFavoritesByTagsReq)(nil), // 116: openim.chat.GetFavoritesByTagsReq
(*GetFavoritesByTagsResp)(nil), // 117: openim.chat.GetFavoritesByTagsResp
(*GetFavoriteCountReq)(nil), // 118: openim.chat.GetFavoriteCountReq
(*GetFavoriteCountResp)(nil), // 119: openim.chat.GetFavoriteCountResp
(*ScheduledTaskMessage)(nil), // 120: openim.chat.ScheduledTaskMessage
(*ScheduledTaskInfo)(nil), // 121: openim.chat.ScheduledTaskInfo
(*CreateScheduledTaskReq)(nil), // 122: openim.chat.CreateScheduledTaskReq
(*CreateScheduledTaskResp)(nil), // 123: openim.chat.CreateScheduledTaskResp
(*GetScheduledTaskReq)(nil), // 124: openim.chat.GetScheduledTaskReq
(*GetScheduledTaskResp)(nil), // 125: openim.chat.GetScheduledTaskResp
(*GetScheduledTasksReq)(nil), // 126: openim.chat.GetScheduledTasksReq
(*GetScheduledTasksResp)(nil), // 127: openim.chat.GetScheduledTasksResp
(*UpdateScheduledTaskReq)(nil), // 128: openim.chat.UpdateScheduledTaskReq
(*UpdateScheduledTaskResp)(nil), // 129: openim.chat.UpdateScheduledTaskResp
(*DeleteScheduledTaskReq)(nil), // 130: openim.chat.DeleteScheduledTaskReq
(*DeleteScheduledTaskResp)(nil), // 131: openim.chat.DeleteScheduledTaskResp
(*SystemConfigInfo)(nil), // 132: openim.chat.SystemConfigInfo
(*GetAppSystemConfigsReq)(nil), // 133: openim.chat.GetAppSystemConfigsReq
(*GetAppSystemConfigsResp)(nil), // 134: openim.chat.GetAppSystemConfigsResp
(*RealNameAuthInfo)(nil), // 135: openim.chat.RealNameAuthInfo
(*GetWalletBalanceReq)(nil), // 136: openim.chat.GetWalletBalanceReq
(*GetWalletBalanceResp)(nil), // 137: openim.chat.GetWalletBalanceResp
(*GetWalletInfoReq)(nil), // 138: openim.chat.GetWalletInfoReq
(*GetWalletInfoResp)(nil), // 139: openim.chat.GetWalletInfoResp
(*SetPaymentPasswordReq)(nil), // 140: openim.chat.SetPaymentPasswordReq
(*SetPaymentPasswordResp)(nil), // 141: openim.chat.SetPaymentPasswordResp
(*SetWithdrawAccountReq)(nil), // 142: openim.chat.SetWithdrawAccountReq
(*SetWithdrawAccountResp)(nil), // 143: openim.chat.SetWithdrawAccountResp
(*WalletBalanceRecordInfo)(nil), // 144: openim.chat.WalletBalanceRecordInfo
(*GetWalletBalanceRecordsReq)(nil), // 145: openim.chat.GetWalletBalanceRecordsReq
(*GetWalletBalanceRecordsResp)(nil), // 146: openim.chat.GetWalletBalanceRecordsResp
(*WithdrawApplicationInfo)(nil), // 147: openim.chat.WithdrawApplicationInfo
(*CreateWithdrawApplicationReq)(nil), // 148: openim.chat.CreateWithdrawApplicationReq
(*CreateWithdrawApplicationResp)(nil), // 149: openim.chat.CreateWithdrawApplicationResp
(*GetWithdrawApplicationsReq)(nil), // 150: openim.chat.GetWithdrawApplicationsReq
(*GetWithdrawApplicationsResp)(nil), // 151: openim.chat.GetWithdrawApplicationsResp
(*RealNameAuthReq)(nil), // 152: openim.chat.RealNameAuthReq
(*RealNameAuthResp)(nil), // 153: openim.chat.RealNameAuthResp
nil, // 154: openim.chat.FindUserAccountResp.UserAccountMapEntry
nil, // 155: openim.chat.FindAccountUserResp.AccountUserMapEntry
nil, // 156: openim.chat.UserLoginCountResp.CountEntry
nil, // 157: openim.chat.BatchUpdateSensitiveWordsReq.UpdatesEntry
(*wrapperspb.StringValue)(nil), // 158: openim.protobuf.StringValue
(*wrapperspb.Int32Value)(nil), // 159: openim.protobuf.Int32Value
(*wrapperspb.Int64Value)(nil), // 160: openim.protobuf.Int64Value
(*common.UserPublicInfo)(nil), // 161: openim.chat.common.UserPublicInfo
(*sdkws.RequestPagination)(nil), // 162: openim.sdkws.RequestPagination
(*common.UserFullInfo)(nil), // 163: openim.chat.common.UserFullInfo
}
var file_chat_chat_proto_depIdxs = []int32{
158, // 0: openim.chat.UpdateUserInfoReq.account:type_name -> openim.protobuf.StringValue
158, // 1: openim.chat.UpdateUserInfoReq.phoneNumber:type_name -> openim.protobuf.StringValue
158, // 2: openim.chat.UpdateUserInfoReq.areaCode:type_name -> openim.protobuf.StringValue
158, // 3: openim.chat.UpdateUserInfoReq.email:type_name -> openim.protobuf.StringValue
158, // 4: openim.chat.UpdateUserInfoReq.nickname:type_name -> openim.protobuf.StringValue
158, // 5: openim.chat.UpdateUserInfoReq.faceURL:type_name -> openim.protobuf.StringValue
159, // 6: openim.chat.UpdateUserInfoReq.gender:type_name -> openim.protobuf.Int32Value
159, // 7: openim.chat.UpdateUserInfoReq.level:type_name -> openim.protobuf.Int32Value
160, // 8: openim.chat.UpdateUserInfoReq.birth:type_name -> openim.protobuf.Int64Value
159, // 9: openim.chat.UpdateUserInfoReq.allowAddFriend:type_name -> openim.protobuf.Int32Value
159, // 10: openim.chat.UpdateUserInfoReq.allowBeep:type_name -> openim.protobuf.Int32Value
159, // 11: openim.chat.UpdateUserInfoReq.allowVibration:type_name -> openim.protobuf.Int32Value
159, // 12: openim.chat.UpdateUserInfoReq.globalRecvMsgOpt:type_name -> openim.protobuf.Int32Value
159, // 13: openim.chat.UpdateUserInfoReq.RegisterType:type_name -> openim.protobuf.Int32Value
158, // 14: openim.chat.UpdateUserInfoReq.userFlag:type_name -> openim.protobuf.StringValue
161, // 15: openim.chat.FindUserPublicInfoResp.users:type_name -> openim.chat.common.UserPublicInfo
162, // 16: openim.chat.SearchUserPublicInfoReq.pagination:type_name -> openim.sdkws.RequestPagination
161, // 17: openim.chat.SearchUserPublicInfoResp.users:type_name -> openim.chat.common.UserPublicInfo
163, // 18: openim.chat.FindUserFullInfoResp.users:type_name -> openim.chat.common.UserFullInfo
15, // 19: openim.chat.RegisterUserReq.user:type_name -> openim.chat.RegisterUserInfo
15, // 20: openim.chat.AddUserAccountReq.user:type_name -> openim.chat.RegisterUserInfo
154, // 21: openim.chat.FindUserAccountResp.userAccountMap:type_name -> openim.chat.FindUserAccountResp.UserAccountMapEntry
155, // 22: openim.chat.FindAccountUserResp.accountUserMap:type_name -> openim.chat.FindAccountUserResp.AccountUserMapEntry
161, // 23: openim.chat.SignalRecord.inviterUserList:type_name -> openim.chat.common.UserPublicInfo
162, // 24: openim.chat.SearchUserFullInfoReq.pagination:type_name -> openim.sdkws.RequestPagination
163, // 25: openim.chat.SearchUserFullInfoResp.users:type_name -> openim.chat.common.UserFullInfo
156, // 26: openim.chat.UserLoginCountResp.count:type_name -> openim.chat.UserLoginCountResp.CountEntry
162, // 27: openim.chat.SearchUserInfoReq.pagination:type_name -> openim.sdkws.RequestPagination
163, // 28: openim.chat.SearchUserInfoResp.users:type_name -> openim.chat.common.UserFullInfo
15, // 29: openim.chat.CheckUserExistReq.user:type_name -> openim.chat.RegisterUserInfo
49, // 30: openim.chat.GetSensitiveWordsResp.words:type_name -> openim.chat.SensitiveWordInfo
54, // 31: openim.chat.GetSensitiveWordResp.word:type_name -> openim.chat.SensitiveWordDetailInfo
162, // 32: openim.chat.SearchSensitiveWordsReq.pagination:type_name -> openim.sdkws.RequestPagination
54, // 33: openim.chat.SearchSensitiveWordsResp.words:type_name -> openim.chat.SensitiveWordDetailInfo
54, // 34: openim.chat.BatchAddSensitiveWordsReq.words:type_name -> openim.chat.SensitiveWordDetailInfo
157, // 35: openim.chat.BatchUpdateSensitiveWordsReq.updates:type_name -> openim.chat.BatchUpdateSensitiveWordsReq.UpdatesEntry
55, // 36: openim.chat.GetSensitiveWordGroupResp.group:type_name -> openim.chat.SensitiveWordGroupInfo
55, // 37: openim.chat.GetAllSensitiveWordGroupsResp.groups:type_name -> openim.chat.SensitiveWordGroupInfo
56, // 38: openim.chat.GetSensitiveWordConfigResp.config:type_name -> openim.chat.SensitiveWordConfigInfo
56, // 39: openim.chat.UpdateSensitiveWordConfigReq.config:type_name -> openim.chat.SensitiveWordConfigInfo
162, // 40: openim.chat.GetSensitiveWordLogsReq.pagination:type_name -> openim.sdkws.RequestPagination
57, // 41: openim.chat.GetSensitiveWordLogsResp.logs:type_name -> openim.chat.SensitiveWordLogInfo
162, // 42: openim.chat.GetUserLoginRecordsReq.pagination:type_name -> openim.sdkws.RequestPagination
92, // 43: openim.chat.GetUserLoginRecordsResp.records:type_name -> openim.chat.UserLoginRecordInfo
58, // 44: openim.chat.GetSensitiveWordStatsResp.stats:type_name -> openim.chat.SensitiveWordStatsInfo
59, // 45: openim.chat.GetSensitiveWordLogStatsResp.stats:type_name -> openim.chat.SensitiveWordLogStatsInfo
103, // 46: openim.chat.GetFavoriteResp.favorite:type_name -> openim.chat.FavoriteInfo
162, // 47: openim.chat.GetFavoritesReq.pagination:type_name -> openim.sdkws.RequestPagination
103, // 48: openim.chat.GetFavoritesResp.favorites:type_name -> openim.chat.FavoriteInfo
162, // 49: openim.chat.SearchFavoritesReq.pagination:type_name -> openim.sdkws.RequestPagination
103, // 50: openim.chat.SearchFavoritesResp.favorites:type_name -> openim.chat.FavoriteInfo
162, // 51: openim.chat.GetFavoritesByTagsReq.pagination:type_name -> openim.sdkws.RequestPagination
103, // 52: openim.chat.GetFavoritesByTagsResp.favorites:type_name -> openim.chat.FavoriteInfo
120, // 53: openim.chat.ScheduledTaskInfo.messages:type_name -> openim.chat.ScheduledTaskMessage
120, // 54: openim.chat.CreateScheduledTaskReq.messages:type_name -> openim.chat.ScheduledTaskMessage
121, // 55: openim.chat.GetScheduledTaskResp.task:type_name -> openim.chat.ScheduledTaskInfo
162, // 56: openim.chat.GetScheduledTasksReq.pagination:type_name -> openim.sdkws.RequestPagination
121, // 57: openim.chat.GetScheduledTasksResp.tasks:type_name -> openim.chat.ScheduledTaskInfo
120, // 58: openim.chat.UpdateScheduledTaskReq.messages:type_name -> openim.chat.ScheduledTaskMessage
132, // 59: openim.chat.GetAppSystemConfigsResp.configs:type_name -> openim.chat.SystemConfigInfo
135, // 60: openim.chat.GetWalletInfoResp.realNameAuth:type_name -> openim.chat.RealNameAuthInfo
162, // 61: openim.chat.GetWalletBalanceRecordsReq.pagination:type_name -> openim.sdkws.RequestPagination
144, // 62: openim.chat.GetWalletBalanceRecordsResp.records:type_name -> openim.chat.WalletBalanceRecordInfo
162, // 63: openim.chat.GetWithdrawApplicationsReq.pagination:type_name -> openim.sdkws.RequestPagination
147, // 64: openim.chat.GetWithdrawApplicationsResp.applications:type_name -> openim.chat.WithdrawApplicationInfo
54, // 65: openim.chat.BatchUpdateSensitiveWordsReq.UpdatesEntry.value:type_name -> openim.chat.SensitiveWordDetailInfo
101, // 66: openim.chat.chat.AddFriend:input_type -> openim.chat.AddFriendReq
1, // 67: openim.chat.chat.UpdateUserInfo:input_type -> openim.chat.UpdateUserInfoReq
18, // 68: openim.chat.chat.AddUserAccount:input_type -> openim.chat.AddUserAccountReq
5, // 69: openim.chat.chat.SearchUserPublicInfo:input_type -> openim.chat.SearchUserPublicInfoReq
3, // 70: openim.chat.chat.FindUserPublicInfo:input_type -> openim.chat.FindUserPublicInfoReq
32, // 71: openim.chat.chat.SearchUserFullInfo:input_type -> openim.chat.SearchUserFullInfoReq
7, // 72: openim.chat.chat.FindUserFullInfo:input_type -> openim.chat.FindUserFullInfoReq
9, // 73: openim.chat.chat.SendVerifyCode:input_type -> openim.chat.SendVerifyCodeReq
11, // 74: openim.chat.chat.VerifyCode:input_type -> openim.chat.VerifyCodeReq
13, // 75: openim.chat.chat.GetCaptchaImage:input_type -> openim.chat.GetCaptchaImageReq
16, // 76: openim.chat.chat.RegisterUser:input_type -> openim.chat.RegisterUserReq
20, // 77: openim.chat.chat.Login:input_type -> openim.chat.LoginReq
21, // 78: openim.chat.chat.ResetPassword:input_type -> openim.chat.ResetPasswordReq
23, // 79: openim.chat.chat.ChangePassword:input_type -> openim.chat.ChangePasswordReq
41, // 80: openim.chat.chat.CheckUserExist:input_type -> openim.chat.CheckUserExistReq
43, // 81: openim.chat.chat.DelUserAccount:input_type -> openim.chat.DelUserAccountReq
25, // 82: openim.chat.chat.FindUserAccount:input_type -> openim.chat.FindUserAccountReq
27, // 83: openim.chat.chat.FindAccountUser:input_type -> openim.chat.FindAccountUserReq
30, // 84: openim.chat.chat.OpenIMCallback:input_type -> openim.chat.OpenIMCallbackReq
34, // 85: openim.chat.chat.UserLoginCount:input_type -> openim.chat.UserLoginCountReq
37, // 86: openim.chat.chat.SearchUserInfo:input_type -> openim.chat.SearchUserInfoReq
39, // 87: openim.chat.chat.GetTokenForVideoMeeting:input_type -> openim.chat.GetTokenForVideoMeetingReq
45, // 88: openim.chat.chat.SetAllowRegister:input_type -> openim.chat.SetAllowRegisterReq
47, // 89: openim.chat.chat.GetAllowRegister:input_type -> openim.chat.GetAllowRegisterReq
50, // 90: openim.chat.chat.GetSensitiveWords:input_type -> openim.chat.GetSensitiveWordsReq
52, // 91: openim.chat.chat.CheckSensitiveWords:input_type -> openim.chat.CheckSensitiveWordsReq
60, // 92: openim.chat.chat.AddSensitiveWord:input_type -> openim.chat.AddSensitiveWordReq
62, // 93: openim.chat.chat.UpdateSensitiveWord:input_type -> openim.chat.UpdateSensitiveWordReq
64, // 94: openim.chat.chat.DeleteSensitiveWord:input_type -> openim.chat.DeleteSensitiveWordReq
66, // 95: openim.chat.chat.GetSensitiveWord:input_type -> openim.chat.GetSensitiveWordReq
68, // 96: openim.chat.chat.SearchSensitiveWords:input_type -> openim.chat.SearchSensitiveWordsReq
70, // 97: openim.chat.chat.BatchAddSensitiveWords:input_type -> openim.chat.BatchAddSensitiveWordsReq
72, // 98: openim.chat.chat.BatchUpdateSensitiveWords:input_type -> openim.chat.BatchUpdateSensitiveWordsReq
74, // 99: openim.chat.chat.BatchDeleteSensitiveWords:input_type -> openim.chat.BatchDeleteSensitiveWordsReq
76, // 100: openim.chat.chat.AddSensitiveWordGroup:input_type -> openim.chat.AddSensitiveWordGroupReq
78, // 101: openim.chat.chat.UpdateSensitiveWordGroup:input_type -> openim.chat.UpdateSensitiveWordGroupReq
80, // 102: openim.chat.chat.DeleteSensitiveWordGroup:input_type -> openim.chat.DeleteSensitiveWordGroupReq
82, // 103: openim.chat.chat.GetSensitiveWordGroup:input_type -> openim.chat.GetSensitiveWordGroupReq
84, // 104: openim.chat.chat.GetAllSensitiveWordGroups:input_type -> openim.chat.GetAllSensitiveWordGroupsReq
86, // 105: openim.chat.chat.GetSensitiveWordConfig:input_type -> openim.chat.GetSensitiveWordConfigReq
88, // 106: openim.chat.chat.UpdateSensitiveWordConfig:input_type -> openim.chat.UpdateSensitiveWordConfigReq
90, // 107: openim.chat.chat.GetSensitiveWordLogs:input_type -> openim.chat.GetSensitiveWordLogsReq
95, // 108: openim.chat.chat.DeleteSensitiveWordLogs:input_type -> openim.chat.DeleteSensitiveWordLogsReq
93, // 109: openim.chat.chat.GetUserLoginRecords:input_type -> openim.chat.GetUserLoginRecordsReq
97, // 110: openim.chat.chat.GetSensitiveWordStats:input_type -> openim.chat.GetSensitiveWordStatsReq
99, // 111: openim.chat.chat.GetSensitiveWordLogStats:input_type -> openim.chat.GetSensitiveWordLogStatsReq
133, // 112: openim.chat.chat.GetAppSystemConfigs:input_type -> openim.chat.GetAppSystemConfigsReq
136, // 113: openim.chat.chat.GetWalletBalance:input_type -> openim.chat.GetWalletBalanceReq
138, // 114: openim.chat.chat.GetWalletInfo:input_type -> openim.chat.GetWalletInfoReq
145, // 115: openim.chat.chat.GetWalletBalanceRecords:input_type -> openim.chat.GetWalletBalanceRecordsReq
140, // 116: openim.chat.chat.SetPaymentPassword:input_type -> openim.chat.SetPaymentPasswordReq
142, // 117: openim.chat.chat.SetWithdrawAccount:input_type -> openim.chat.SetWithdrawAccountReq
148, // 118: openim.chat.chat.CreateWithdrawApplication:input_type -> openim.chat.CreateWithdrawApplicationReq
150, // 119: openim.chat.chat.GetWithdrawApplications:input_type -> openim.chat.GetWithdrawApplicationsReq
152, // 120: openim.chat.chat.RealNameAuth:input_type -> openim.chat.RealNameAuthReq
104, // 121: openim.chat.chat.CreateFavorite:input_type -> openim.chat.CreateFavoriteReq
106, // 122: openim.chat.chat.GetFavorite:input_type -> openim.chat.GetFavoriteReq
108, // 123: openim.chat.chat.GetFavorites:input_type -> openim.chat.GetFavoritesReq
110, // 124: openim.chat.chat.SearchFavorites:input_type -> openim.chat.SearchFavoritesReq
112, // 125: openim.chat.chat.UpdateFavorite:input_type -> openim.chat.UpdateFavoriteReq
114, // 126: openim.chat.chat.DeleteFavorite:input_type -> openim.chat.DeleteFavoriteReq
116, // 127: openim.chat.chat.GetFavoritesByTags:input_type -> openim.chat.GetFavoritesByTagsReq
118, // 128: openim.chat.chat.GetFavoriteCount:input_type -> openim.chat.GetFavoriteCountReq
122, // 129: openim.chat.chat.CreateScheduledTask:input_type -> openim.chat.CreateScheduledTaskReq
124, // 130: openim.chat.chat.GetScheduledTask:input_type -> openim.chat.GetScheduledTaskReq
126, // 131: openim.chat.chat.GetScheduledTasks:input_type -> openim.chat.GetScheduledTasksReq
128, // 132: openim.chat.chat.UpdateScheduledTask:input_type -> openim.chat.UpdateScheduledTaskReq
130, // 133: openim.chat.chat.DeleteScheduledTask:input_type -> openim.chat.DeleteScheduledTaskReq
102, // 134: openim.chat.chat.AddFriend:output_type -> openim.chat.AddFriendResp
2, // 135: openim.chat.chat.UpdateUserInfo:output_type -> openim.chat.UpdateUserInfoResp
19, // 136: openim.chat.chat.AddUserAccount:output_type -> openim.chat.AddUserAccountResp
6, // 137: openim.chat.chat.SearchUserPublicInfo:output_type -> openim.chat.SearchUserPublicInfoResp
4, // 138: openim.chat.chat.FindUserPublicInfo:output_type -> openim.chat.FindUserPublicInfoResp
33, // 139: openim.chat.chat.SearchUserFullInfo:output_type -> openim.chat.SearchUserFullInfoResp
8, // 140: openim.chat.chat.FindUserFullInfo:output_type -> openim.chat.FindUserFullInfoResp
10, // 141: openim.chat.chat.SendVerifyCode:output_type -> openim.chat.SendVerifyCodeResp
12, // 142: openim.chat.chat.VerifyCode:output_type -> openim.chat.VerifyCodeResp
14, // 143: openim.chat.chat.GetCaptchaImage:output_type -> openim.chat.GetCaptchaImageResp
17, // 144: openim.chat.chat.RegisterUser:output_type -> openim.chat.RegisterUserResp
36, // 145: openim.chat.chat.Login:output_type -> openim.chat.LoginResp
22, // 146: openim.chat.chat.ResetPassword:output_type -> openim.chat.ResetPasswordResp
24, // 147: openim.chat.chat.ChangePassword:output_type -> openim.chat.ChangePasswordResp
42, // 148: openim.chat.chat.CheckUserExist:output_type -> openim.chat.CheckUserExistResp
44, // 149: openim.chat.chat.DelUserAccount:output_type -> openim.chat.DelUserAccountResp
26, // 150: openim.chat.chat.FindUserAccount:output_type -> openim.chat.FindUserAccountResp
28, // 151: openim.chat.chat.FindAccountUser:output_type -> openim.chat.FindAccountUserResp
31, // 152: openim.chat.chat.OpenIMCallback:output_type -> openim.chat.OpenIMCallbackResp
35, // 153: openim.chat.chat.UserLoginCount:output_type -> openim.chat.UserLoginCountResp
38, // 154: openim.chat.chat.SearchUserInfo:output_type -> openim.chat.SearchUserInfoResp
40, // 155: openim.chat.chat.GetTokenForVideoMeeting:output_type -> openim.chat.GetTokenForVideoMeetingResp
46, // 156: openim.chat.chat.SetAllowRegister:output_type -> openim.chat.SetAllowRegisterResp
48, // 157: openim.chat.chat.GetAllowRegister:output_type -> openim.chat.GetAllowRegisterResp
51, // 158: openim.chat.chat.GetSensitiveWords:output_type -> openim.chat.GetSensitiveWordsResp
53, // 159: openim.chat.chat.CheckSensitiveWords:output_type -> openim.chat.CheckSensitiveWordsResp
61, // 160: openim.chat.chat.AddSensitiveWord:output_type -> openim.chat.AddSensitiveWordResp
63, // 161: openim.chat.chat.UpdateSensitiveWord:output_type -> openim.chat.UpdateSensitiveWordResp
65, // 162: openim.chat.chat.DeleteSensitiveWord:output_type -> openim.chat.DeleteSensitiveWordResp
67, // 163: openim.chat.chat.GetSensitiveWord:output_type -> openim.chat.GetSensitiveWordResp
69, // 164: openim.chat.chat.SearchSensitiveWords:output_type -> openim.chat.SearchSensitiveWordsResp
71, // 165: openim.chat.chat.BatchAddSensitiveWords:output_type -> openim.chat.BatchAddSensitiveWordsResp
73, // 166: openim.chat.chat.BatchUpdateSensitiveWords:output_type -> openim.chat.BatchUpdateSensitiveWordsResp
75, // 167: openim.chat.chat.BatchDeleteSensitiveWords:output_type -> openim.chat.BatchDeleteSensitiveWordsResp
77, // 168: openim.chat.chat.AddSensitiveWordGroup:output_type -> openim.chat.AddSensitiveWordGroupResp
79, // 169: openim.chat.chat.UpdateSensitiveWordGroup:output_type -> openim.chat.UpdateSensitiveWordGroupResp
81, // 170: openim.chat.chat.DeleteSensitiveWordGroup:output_type -> openim.chat.DeleteSensitiveWordGroupResp
83, // 171: openim.chat.chat.GetSensitiveWordGroup:output_type -> openim.chat.GetSensitiveWordGroupResp
85, // 172: openim.chat.chat.GetAllSensitiveWordGroups:output_type -> openim.chat.GetAllSensitiveWordGroupsResp
87, // 173: openim.chat.chat.GetSensitiveWordConfig:output_type -> openim.chat.GetSensitiveWordConfigResp
89, // 174: openim.chat.chat.UpdateSensitiveWordConfig:output_type -> openim.chat.UpdateSensitiveWordConfigResp
91, // 175: openim.chat.chat.GetSensitiveWordLogs:output_type -> openim.chat.GetSensitiveWordLogsResp
96, // 176: openim.chat.chat.DeleteSensitiveWordLogs:output_type -> openim.chat.DeleteSensitiveWordLogsResp
94, // 177: openim.chat.chat.GetUserLoginRecords:output_type -> openim.chat.GetUserLoginRecordsResp
98, // 178: openim.chat.chat.GetSensitiveWordStats:output_type -> openim.chat.GetSensitiveWordStatsResp
100, // 179: openim.chat.chat.GetSensitiveWordLogStats:output_type -> openim.chat.GetSensitiveWordLogStatsResp
134, // 180: openim.chat.chat.GetAppSystemConfigs:output_type -> openim.chat.GetAppSystemConfigsResp
137, // 181: openim.chat.chat.GetWalletBalance:output_type -> openim.chat.GetWalletBalanceResp
139, // 182: openim.chat.chat.GetWalletInfo:output_type -> openim.chat.GetWalletInfoResp
146, // 183: openim.chat.chat.GetWalletBalanceRecords:output_type -> openim.chat.GetWalletBalanceRecordsResp
141, // 184: openim.chat.chat.SetPaymentPassword:output_type -> openim.chat.SetPaymentPasswordResp
143, // 185: openim.chat.chat.SetWithdrawAccount:output_type -> openim.chat.SetWithdrawAccountResp
149, // 186: openim.chat.chat.CreateWithdrawApplication:output_type -> openim.chat.CreateWithdrawApplicationResp
151, // 187: openim.chat.chat.GetWithdrawApplications:output_type -> openim.chat.GetWithdrawApplicationsResp
153, // 188: openim.chat.chat.RealNameAuth:output_type -> openim.chat.RealNameAuthResp
105, // 189: openim.chat.chat.CreateFavorite:output_type -> openim.chat.CreateFavoriteResp
107, // 190: openim.chat.chat.GetFavorite:output_type -> openim.chat.GetFavoriteResp
109, // 191: openim.chat.chat.GetFavorites:output_type -> openim.chat.GetFavoritesResp
111, // 192: openim.chat.chat.SearchFavorites:output_type -> openim.chat.SearchFavoritesResp
113, // 193: openim.chat.chat.UpdateFavorite:output_type -> openim.chat.UpdateFavoriteResp
115, // 194: openim.chat.chat.DeleteFavorite:output_type -> openim.chat.DeleteFavoriteResp
117, // 195: openim.chat.chat.GetFavoritesByTags:output_type -> openim.chat.GetFavoritesByTagsResp
119, // 196: openim.chat.chat.GetFavoriteCount:output_type -> openim.chat.GetFavoriteCountResp
123, // 197: openim.chat.chat.CreateScheduledTask:output_type -> openim.chat.CreateScheduledTaskResp
125, // 198: openim.chat.chat.GetScheduledTask:output_type -> openim.chat.GetScheduledTaskResp
127, // 199: openim.chat.chat.GetScheduledTasks:output_type -> openim.chat.GetScheduledTasksResp
129, // 200: openim.chat.chat.UpdateScheduledTask:output_type -> openim.chat.UpdateScheduledTaskResp
131, // 201: openim.chat.chat.DeleteScheduledTask:output_type -> openim.chat.DeleteScheduledTaskResp
134, // [134:202] is the sub-list for method output_type
66, // [66:134] is the sub-list for method input_type
66, // [66:66] is the sub-list for extension type_name
66, // [66:66] is the sub-list for extension extendee
0, // [0:66] is the sub-list for field type_name
}
func init() { file_chat_chat_proto_init() }
func file_chat_chat_proto_init() {
if File_chat_chat_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_chat_chat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserIdentity); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateUserInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateUserInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserPublicInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserPublicInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchUserPublicInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchUserPublicInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserFullInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserFullInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SendVerifyCodeReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SendVerifyCodeResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VerifyCodeReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VerifyCodeResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCaptchaImageReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCaptchaImageResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegisterUserInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegisterUserReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegisterUserResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddUserAccountReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddUserAccountResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LoginReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResetPasswordReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResetPasswordResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChangePasswordReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChangePasswordResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserAccountReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindUserAccountResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAccountUserReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAccountUserResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SignalRecord); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OpenIMCallbackReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OpenIMCallbackResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchUserFullInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchUserFullInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserLoginCountReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserLoginCountResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LoginResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchUserInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchUserInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTokenForVideoMeetingReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTokenForVideoMeetingResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckUserExistReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckUserExistResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DelUserAccountReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DelUserAccountResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetAllowRegisterReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetAllowRegisterResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAllowRegisterReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAllowRegisterResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SensitiveWordInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckSensitiveWordsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckSensitiveWordsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SensitiveWordDetailInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SensitiveWordGroupInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SensitiveWordConfigInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SensitiveWordLogInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SensitiveWordStatsInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SensitiveWordLogStatsInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddSensitiveWordReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddSensitiveWordResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSensitiveWordReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSensitiveWordResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteSensitiveWordReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteSensitiveWordResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchSensitiveWordsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchSensitiveWordsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BatchAddSensitiveWordsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BatchAddSensitiveWordsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BatchUpdateSensitiveWordsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BatchUpdateSensitiveWordsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BatchDeleteSensitiveWordsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BatchDeleteSensitiveWordsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddSensitiveWordGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddSensitiveWordGroupResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSensitiveWordGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSensitiveWordGroupResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteSensitiveWordGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteSensitiveWordGroupResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordGroupResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAllSensitiveWordGroupsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAllSensitiveWordGroupsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordConfigReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordConfigResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSensitiveWordConfigReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSensitiveWordConfigResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordLogsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordLogsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserLoginRecordInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetUserLoginRecordsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetUserLoginRecordsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteSensitiveWordLogsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteSensitiveWordLogsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordStatsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordStatsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordLogStatsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSensitiveWordLogStatsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddFriendReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddFriendResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FavoriteInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateFavoriteReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateFavoriteResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFavoriteReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFavoriteResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFavoritesReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFavoritesResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchFavoritesReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchFavoritesResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateFavoriteReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateFavoriteResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteFavoriteReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteFavoriteResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFavoritesByTagsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFavoritesByTagsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFavoriteCountReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFavoriteCountResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduledTaskMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduledTaskInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateScheduledTaskReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateScheduledTaskResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetScheduledTaskReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetScheduledTaskResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetScheduledTasksReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetScheduledTasksResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateScheduledTaskReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateScheduledTaskResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteScheduledTaskReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteScheduledTaskResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SystemConfigInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAppSystemConfigsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAppSystemConfigsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RealNameAuthInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWalletBalanceReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWalletBalanceResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWalletInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWalletInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetPaymentPasswordReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetPaymentPasswordResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetWithdrawAccountReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetWithdrawAccountResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WalletBalanceRecordInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWalletBalanceRecordsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWalletBalanceRecordsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WithdrawApplicationInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateWithdrawApplicationReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateWithdrawApplicationResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWithdrawApplicationsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetWithdrawApplicationsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RealNameAuthReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chat_chat_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RealNameAuthResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_chat_chat_proto_rawDesc,
NumEnums: 0,
NumMessages: 158,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_chat_chat_proto_goTypes,
DependencyIndexes: file_chat_chat_proto_depIdxs,
MessageInfos: file_chat_chat_proto_msgTypes,
}.Build()
File_chat_chat_proto = out.File
file_chat_chat_proto_rawDesc = nil
file_chat_chat_proto_goTypes = nil
file_chat_chat_proto_depIdxs = nil
}