// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0-devel // protoc v4.22.3 // source: chat.proto package chat import ( common "git.ikuban.com/server/pw-protobuf/api/common" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" 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 ScripCreateRoomRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ScripId int64 `protobuf:"varint,1,opt,name=scripId,proto3" json:"scripId"` MsgType string `protobuf:"bytes,2,opt,name=msgType,proto3" json:"msgType"` // 消息类型 Message *common.Message `protobuf:"bytes,3,opt,name=message,proto3" json:"message"` // 消息的结构 MyPersonId string `protobuf:"bytes,4,opt,name=myPersonId,proto3" json:"myPersonId"` ScripPersonId string `protobuf:"bytes,5,opt,name=scripPersonId,proto3" json:"scripPersonId"` Text string `protobuf:"bytes,6,opt,name=text,proto3" json:"text"` PictureUrl string `protobuf:"bytes,7,opt,name=pictureUrl,proto3" json:"pictureUrl"` } func (x *ScripCreateRoomRequest) Reset() { *x = ScripCreateRoomRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ScripCreateRoomRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ScripCreateRoomRequest) ProtoMessage() {} func (x *ScripCreateRoomRequest) ProtoReflect() protoreflect.Message { mi := &file_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 ScripCreateRoomRequest.ProtoReflect.Descriptor instead. func (*ScripCreateRoomRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{0} } func (x *ScripCreateRoomRequest) GetScripId() int64 { if x != nil { return x.ScripId } return 0 } func (x *ScripCreateRoomRequest) GetMsgType() string { if x != nil { return x.MsgType } return "" } func (x *ScripCreateRoomRequest) GetMessage() *common.Message { if x != nil && x.Message != nil { return x.Message } return &common.Message{} } func (x *ScripCreateRoomRequest) GetMyPersonId() string { if x != nil { return x.MyPersonId } return "" } func (x *ScripCreateRoomRequest) GetScripPersonId() string { if x != nil { return x.ScripPersonId } return "" } func (x *ScripCreateRoomRequest) GetText() string { if x != nil { return x.Text } return "" } func (x *ScripCreateRoomRequest) GetPictureUrl() string { if x != nil { return x.PictureUrl } return "" } type SendMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` // 房间ID Message *common.Message `protobuf:"bytes,2,opt,name=message,proto3" json:"message"` // 消息 MsgType string `protobuf:"bytes,3,opt,name=msgType,proto3" json:"msgType"` // 消息类型 PersonId string `protobuf:"bytes,4,opt,name=personId,proto3" json:"personId"` // 发送人的ID WebsocketTag string `protobuf:"bytes,5,opt,name=websocketTag,proto3" json:"websocketTag"` IsMiniProgram bool `protobuf:"varint,6,opt,name=isMiniProgram,proto3" json:"isMiniProgram"` AppId string `protobuf:"bytes,7,opt,name=appId,proto3" json:"appId"` OpenId string `protobuf:"bytes,8,opt,name=openId,proto3" json:"openId"` IsOldVersion bool `protobuf:"varint,9,opt,name=isOldVersion,proto3" json:"isOldVersion"` } func (x *SendMessageRequest) Reset() { *x = SendMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SendMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SendMessageRequest) ProtoMessage() {} func (x *SendMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_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 SendMessageRequest.ProtoReflect.Descriptor instead. func (*SendMessageRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{1} } func (x *SendMessageRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *SendMessageRequest) GetMessage() *common.Message { if x != nil && x.Message != nil { return x.Message } return &common.Message{} } func (x *SendMessageRequest) GetMsgType() string { if x != nil { return x.MsgType } return "" } func (x *SendMessageRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *SendMessageRequest) GetWebsocketTag() string { if x != nil { return x.WebsocketTag } return "" } func (x *SendMessageRequest) GetIsMiniProgram() bool { if x != nil { return x.IsMiniProgram } return false } func (x *SendMessageRequest) GetAppId() string { if x != nil { return x.AppId } return "" } func (x *SendMessageRequest) GetOpenId() string { if x != nil { return x.OpenId } return "" } func (x *SendMessageRequest) GetIsOldVersion() bool { if x != nil { return x.IsOldVersion } return false } type GetOnlinePersonNumReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Num int64 `protobuf:"varint,1,opt,name=num,proto3" json:"num"` } func (x *GetOnlinePersonNumReply) Reset() { *x = GetOnlinePersonNumReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetOnlinePersonNumReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetOnlinePersonNumReply) ProtoMessage() {} func (x *GetOnlinePersonNumReply) ProtoReflect() protoreflect.Message { mi := &file_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 GetOnlinePersonNumReply.ProtoReflect.Descriptor instead. func (*GetOnlinePersonNumReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{2} } func (x *GetOnlinePersonNumReply) GetNum() int64 { if x != nil { return x.Num } return 0 } type GetMatchingPartnerInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sex int64 `protobuf:"varint,1,opt,name=sex,proto3" json:"sex"` // 性别 UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` // 用户ID OpenId string `protobuf:"bytes,4,opt,name=openId,proto3" json:"openId"` AppId string `protobuf:"bytes,5,opt,name=appId,proto3" json:"appId"` } func (x *GetMatchingPartnerInfoRequest) Reset() { *x = GetMatchingPartnerInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetMatchingPartnerInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetMatchingPartnerInfoRequest) ProtoMessage() {} func (x *GetMatchingPartnerInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_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 GetMatchingPartnerInfoRequest.ProtoReflect.Descriptor instead. func (*GetMatchingPartnerInfoRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{3} } func (x *GetMatchingPartnerInfoRequest) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *GetMatchingPartnerInfoRequest) GetUserID() string { if x != nil { return x.UserID } return "" } func (x *GetMatchingPartnerInfoRequest) GetOpenId() string { if x != nil { return x.OpenId } return "" } func (x *GetMatchingPartnerInfoRequest) GetAppId() string { if x != nil { return x.AppId } return "" } type AccurateMatchingUserInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sex int64 `protobuf:"varint,1,opt,name=sex,proto3" json:"sex"` // 性别 UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` // 用户ID OpenId string `protobuf:"bytes,4,opt,name=openId,proto3" json:"openId"` AppId string `protobuf:"bytes,5,opt,name=appId,proto3" json:"appId"` Province string `protobuf:"bytes,7,opt,name=province,proto3" json:"province"` // 省 City string `protobuf:"bytes,8,opt,name=city,proto3" json:"city"` // 市 MaxAge int64 `protobuf:"varint,9,opt,name=maxAge,proto3" json:"maxAge"` // 最大年龄 MinAge int64 `protobuf:"varint,10,opt,name=minAge,proto3" json:"minAge"` // 最小年龄 } func (x *AccurateMatchingUserInfoRequest) Reset() { *x = AccurateMatchingUserInfoRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccurateMatchingUserInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccurateMatchingUserInfoRequest) ProtoMessage() {} func (x *AccurateMatchingUserInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_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 AccurateMatchingUserInfoRequest.ProtoReflect.Descriptor instead. func (*AccurateMatchingUserInfoRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{4} } func (x *AccurateMatchingUserInfoRequest) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *AccurateMatchingUserInfoRequest) GetUserID() string { if x != nil { return x.UserID } return "" } func (x *AccurateMatchingUserInfoRequest) GetOpenId() string { if x != nil { return x.OpenId } return "" } func (x *AccurateMatchingUserInfoRequest) GetAppId() string { if x != nil { return x.AppId } return "" } func (x *AccurateMatchingUserInfoRequest) GetProvince() string { if x != nil { return x.Province } return "" } func (x *AccurateMatchingUserInfoRequest) GetCity() string { if x != nil { return x.City } return "" } func (x *AccurateMatchingUserInfoRequest) GetMaxAge() int64 { if x != nil { return x.MaxAge } return 0 } func (x *AccurateMatchingUserInfoRequest) GetMinAge() int64 { if x != nil { return x.MinAge } return 0 } type GetRoomProfitReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomProfit int64 `protobuf:"varint,1,opt,name=roomProfit,proto3" json:"roomProfit"` // 房间收益 } func (x *GetRoomProfitReply) Reset() { *x = GetRoomProfitReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetRoomProfitReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRoomProfitReply) ProtoMessage() {} func (x *GetRoomProfitReply) ProtoReflect() protoreflect.Message { mi := &file_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 GetRoomProfitReply.ProtoReflect.Descriptor instead. func (*GetRoomProfitReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{5} } func (x *GetRoomProfitReply) GetRoomProfit() int64 { if x != nil { return x.RoomProfit } return 0 } type UserUnlockRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` // 房间ID PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` } func (x *UserUnlockRequest) Reset() { *x = UserUnlockRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserUnlockRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserUnlockRequest) ProtoMessage() {} func (x *UserUnlockRequest) ProtoReflect() protoreflect.Message { mi := &file_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 UserUnlockRequest.ProtoReflect.Descriptor instead. func (*UserUnlockRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{6} } func (x *UserUnlockRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *UserUnlockRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } type PartnerCollectIDsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChatRecordIds []int64 `protobuf:"varint,1,rep,packed,name=chatRecordIds,proto3" json:"chatRecordIds"` // 记录ID PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` RoomId int64 `protobuf:"varint,5,opt,name=roomId,proto3" json:"roomId"` // 房间ID } func (x *PartnerCollectIDsRequest) Reset() { *x = PartnerCollectIDsRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartnerCollectIDsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartnerCollectIDsRequest) ProtoMessage() {} func (x *PartnerCollectIDsRequest) ProtoReflect() protoreflect.Message { mi := &file_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 PartnerCollectIDsRequest.ProtoReflect.Descriptor instead. func (*PartnerCollectIDsRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{7} } func (x *PartnerCollectIDsRequest) GetChatRecordIds() []int64 { if x != nil { return x.ChatRecordIds } return make([]int64, 0) } func (x *PartnerCollectIDsRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *PartnerCollectIDsRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type PartnerCollectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChatRecordId int64 `protobuf:"varint,1,opt,name=chatRecordId,proto3" json:"chatRecordId"` // 记录ID PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` IdentifyId string `protobuf:"bytes,4,opt,name=identifyId,proto3" json:"identifyId"` } func (x *PartnerCollectRequest) Reset() { *x = PartnerCollectRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartnerCollectRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartnerCollectRequest) ProtoMessage() {} func (x *PartnerCollectRequest) ProtoReflect() protoreflect.Message { mi := &file_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 PartnerCollectRequest.ProtoReflect.Descriptor instead. func (*PartnerCollectRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{8} } func (x *PartnerCollectRequest) GetChatRecordId() int64 { if x != nil { return x.ChatRecordId } return 0 } func (x *PartnerCollectRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *PartnerCollectRequest) GetIdentifyId() string { if x != nil { return x.IdentifyId } return "" } type GetRandomMatchingReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 查询目标的ID RoomId int64 `protobuf:"varint,3,opt,name=roomId,proto3" json:"roomId"` // 房间ID Nickname string `protobuf:"bytes,4,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,5,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像 Sex int64 `protobuf:"varint,6,opt,name=sex,proto3" json:"sex"` // 性别 Age int64 `protobuf:"varint,7,opt,name=age,proto3" json:"age"` // 年龄 } func (x *GetRandomMatchingReply) Reset() { *x = GetRandomMatchingReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetRandomMatchingReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRandomMatchingReply) ProtoMessage() {} func (x *GetRandomMatchingReply) ProtoReflect() protoreflect.Message { mi := &file_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 GetRandomMatchingReply.ProtoReflect.Descriptor instead. func (*GetRandomMatchingReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{9} } func (x *GetRandomMatchingReply) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *GetRandomMatchingReply) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *GetRandomMatchingReply) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *GetRandomMatchingReply) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *GetRandomMatchingReply) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *GetRandomMatchingReply) GetAge() int64 { if x != nil { return x.Age } return 0 } type FindNotReplyNumReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonNum int64 `protobuf:"varint,1,opt,name=personNum,proto3" json:"personNum"` // 未接待人数 MessageNum int64 `protobuf:"varint,2,opt,name=messageNum,proto3" json:"messageNum"` // 消息数 } func (x *FindNotReplyNumReply) Reset() { *x = FindNotReplyNumReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindNotReplyNumReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindNotReplyNumReply) ProtoMessage() {} func (x *FindNotReplyNumReply) ProtoReflect() protoreflect.Message { mi := &file_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 FindNotReplyNumReply.ProtoReflect.Descriptor instead. func (*FindNotReplyNumReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{10} } func (x *FindNotReplyNumReply) GetPersonNum() int64 { if x != nil { return x.PersonNum } return 0 } func (x *FindNotReplyNumReply) GetMessageNum() int64 { if x != nil { return x.MessageNum } return 0 } type UnreadNumReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UnreadNum int64 `protobuf:"varint,1,opt,name=unreadNum,proto3" json:"unreadNum"` // 未读数 } func (x *UnreadNumReply) Reset() { *x = UnreadNumReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnreadNumReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnreadNumReply) ProtoMessage() {} func (x *UnreadNumReply) ProtoReflect() protoreflect.Message { mi := &file_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 UnreadNumReply.ProtoReflect.Descriptor instead. func (*UnreadNumReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{11} } func (x *UnreadNumReply) GetUnreadNum() int64 { if x != nil { return x.UnreadNum } return 0 } type FindRecommendPersonListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Num int64 `protobuf:"varint,1,opt,name=num,proto3" json:"num"` // 推荐数 IsRefresh bool `protobuf:"varint,2,opt,name=isRefresh,proto3" json:"isRefresh"` // 是否刷新 PersonID string `protobuf:"bytes,3,opt,name=personID,proto3" json:"personID"` // 查询目标的ID } func (x *FindRecommendPersonListRequest) Reset() { *x = FindRecommendPersonListRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindRecommendPersonListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindRecommendPersonListRequest) ProtoMessage() {} func (x *FindRecommendPersonListRequest) ProtoReflect() protoreflect.Message { mi := &file_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 FindRecommendPersonListRequest.ProtoReflect.Descriptor instead. func (*FindRecommendPersonListRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{12} } func (x *FindRecommendPersonListRequest) GetNum() int64 { if x != nil { return x.Num } return 0 } func (x *FindRecommendPersonListRequest) GetIsRefresh() bool { if x != nil { return x.IsRefresh } return false } func (x *FindRecommendPersonListRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } type FindRoomCardMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId"` // 身份ID PartnerId string `protobuf:"bytes,2,opt,name=partnerId,proto3" json:"partnerId"` // 身份ID } func (x *FindRoomCardMsgRequest) Reset() { *x = FindRoomCardMsgRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindRoomCardMsgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindRoomCardMsgRequest) ProtoMessage() {} func (x *FindRoomCardMsgRequest) ProtoReflect() protoreflect.Message { mi := &file_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 FindRoomCardMsgRequest.ProtoReflect.Descriptor instead. func (*FindRoomCardMsgRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{13} } func (x *FindRoomCardMsgRequest) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *FindRoomCardMsgRequest) GetPartnerId() string { if x != nil { return x.PartnerId } return "" } type PartnerGetAwardReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Balance int64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance"` } func (x *PartnerGetAwardReply) Reset() { *x = PartnerGetAwardReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartnerGetAwardReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartnerGetAwardReply) ProtoMessage() {} func (x *PartnerGetAwardReply) ProtoReflect() protoreflect.Message { mi := &file_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 PartnerGetAwardReply.ProtoReflect.Descriptor instead. func (*PartnerGetAwardReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{14} } func (x *PartnerGetAwardReply) GetBalance() int64 { if x != nil { return x.Balance } return 0 } type PartnerFindRoomListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` PersonId string `protobuf:"bytes,3,opt,name=personId,proto3" json:"personId"` IsFindNotReply bool `protobuf:"varint,4,opt,name=isFindNotReply,proto3" json:"isFindNotReply"` // 是否查询没回复过的内容 IsWithinSevenDay bool `protobuf:"varint,5,opt,name=isWithinSevenDay,proto3" json:"isWithinSevenDay"` // 是否在七日内 } func (x *PartnerFindRoomListRequest) Reset() { *x = PartnerFindRoomListRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartnerFindRoomListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartnerFindRoomListRequest) ProtoMessage() {} func (x *PartnerFindRoomListRequest) ProtoReflect() protoreflect.Message { mi := &file_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 PartnerFindRoomListRequest.ProtoReflect.Descriptor instead. func (*PartnerFindRoomListRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{15} } func (x *PartnerFindRoomListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *PartnerFindRoomListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *PartnerFindRoomListRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *PartnerFindRoomListRequest) GetIsFindNotReply() bool { if x != nil { return x.IsFindNotReply } return false } func (x *PartnerFindRoomListRequest) GetIsWithinSevenDay() bool { if x != nil { return x.IsWithinSevenDay } return false } type UserFindRoomListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` PersonId string `protobuf:"bytes,3,opt,name=personId,proto3" json:"personId"` IsWithinSevenDay bool `protobuf:"varint,4,opt,name=isWithinSevenDay,proto3" json:"isWithinSevenDay"` // 是否在七日内 IsCloseFriend bool `protobuf:"varint,5,opt,name=isCloseFriend,proto3" json:"isCloseFriend"` // 是否是密友 } func (x *UserFindRoomListRequest) Reset() { *x = UserFindRoomListRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserFindRoomListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserFindRoomListRequest) ProtoMessage() {} func (x *UserFindRoomListRequest) ProtoReflect() protoreflect.Message { mi := &file_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 UserFindRoomListRequest.ProtoReflect.Descriptor instead. func (*UserFindRoomListRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{16} } func (x *UserFindRoomListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *UserFindRoomListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *UserFindRoomListRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *UserFindRoomListRequest) GetIsWithinSevenDay() bool { if x != nil { return x.IsWithinSevenDay } return false } func (x *UserFindRoomListRequest) GetIsCloseFriend() bool { if x != nil { return x.IsCloseFriend } return false } type UserFindRoomListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*UserRoomInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *UserFindRoomListReply) Reset() { *x = UserFindRoomListReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserFindRoomListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserFindRoomListReply) ProtoMessage() {} func (x *UserFindRoomListReply) ProtoReflect() protoreflect.Message { mi := &file_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 UserFindRoomListReply.ProtoReflect.Descriptor instead. func (*UserFindRoomListReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{17} } func (x *UserFindRoomListReply) GetList() []*UserRoomInfo { if x != nil { return x.List } return make([]*UserRoomInfo, 0) } func (x *UserFindRoomListReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type UserRoomInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` // 用户ID UnreadNum int64 `protobuf:"varint,3,opt,name=unreadNum,proto3" json:"unreadNum"` // 用户未读数 LastContent string `protobuf:"bytes,4,opt,name=lastContent,proto3" json:"lastContent"` // 上次发送内容 LastTime int64 `protobuf:"varint,5,opt,name=lastTime,proto3" json:"lastTime"` // 上次发送时间 Likeability int64 `protobuf:"varint,6,opt,name=likeability,proto3" json:"likeability"` // 好感度 RoomId int64 `protobuf:"varint,7,opt,name=roomId,proto3" json:"roomId"` // 房间ID } func (x *UserRoomInfo) Reset() { *x = UserRoomInfo{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRoomInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRoomInfo) ProtoMessage() {} func (x *UserRoomInfo) ProtoReflect() protoreflect.Message { mi := &file_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 UserRoomInfo.ProtoReflect.Descriptor instead. func (*UserRoomInfo) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{18} } func (x *UserRoomInfo) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *UserRoomInfo) GetUnreadNum() int64 { if x != nil { return x.UnreadNum } return 0 } func (x *UserRoomInfo) GetLastContent() string { if x != nil { return x.LastContent } return "" } func (x *UserRoomInfo) GetLastTime() int64 { if x != nil { return x.LastTime } return 0 } func (x *UserRoomInfo) GetLikeability() int64 { if x != nil { return x.Likeability } return 0 } func (x *UserRoomInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type UserSuperLoveInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsSuperLove bool `protobuf:"varint,1,opt,name=isSuperLove,proto3" json:"isSuperLove"` } func (x *UserSuperLoveInfo) Reset() { *x = UserSuperLoveInfo{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSuperLoveInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSuperLoveInfo) ProtoMessage() {} func (x *UserSuperLoveInfo) ProtoReflect() protoreflect.Message { mi := &file_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 UserSuperLoveInfo.ProtoReflect.Descriptor instead. func (*UserSuperLoveInfo) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{19} } func (x *UserSuperLoveInfo) GetIsSuperLove() bool { if x != nil { return x.IsSuperLove } return false } type PartnerFindRoomListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*PartnerRoomInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *PartnerFindRoomListReply) Reset() { *x = PartnerFindRoomListReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartnerFindRoomListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartnerFindRoomListReply) ProtoMessage() {} func (x *PartnerFindRoomListReply) ProtoReflect() protoreflect.Message { mi := &file_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 PartnerFindRoomListReply.ProtoReflect.Descriptor instead. func (*PartnerFindRoomListReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{20} } func (x *PartnerFindRoomListReply) GetList() []*PartnerRoomInfo { if x != nil { return x.List } return make([]*PartnerRoomInfo, 0) } func (x *PartnerFindRoomListReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type PartnerRoomInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonSendNum int64 `protobuf:"varint,1,opt,name=personSendNum,proto3" json:"personSendNum"` // 用户发送数 PersonId string `protobuf:"bytes,2,opt,name=personId,proto3" json:"personId"` // 用户ID UnreadNum int64 `protobuf:"varint,3,opt,name=unreadNum,proto3" json:"unreadNum"` // 接待者未读数 LastContent string `protobuf:"bytes,4,opt,name=lastContent,proto3" json:"lastContent"` // 上次发送内容 LastTime int64 `protobuf:"varint,5,opt,name=lastTime,proto3" json:"lastTime"` // 上次发送时间 Benefit int64 `protobuf:"varint,6,opt,name=benefit,proto3" json:"benefit"` // 收益 Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type"` // 类型(新客:new,付费:pay) Sex int64 `protobuf:"varint,8,opt,name=sex,proto3" json:"sex"` // 性别 AvatarUrl string `protobuf:"bytes,9,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像 Nickname string `protobuf:"bytes,10,opt,name=nickname,proto3" json:"nickname"` // 昵称 Age int64 `protobuf:"varint,11,opt,name=age,proto3" json:"age"` // 年龄 Likeability int64 `protobuf:"varint,12,opt,name=likeability,proto3" json:"likeability"` // 好感度 RoomId int64 `protobuf:"varint,13,opt,name=roomId,proto3" json:"roomId"` // 房间号ID PersonSendBaseNum int64 `protobuf:"varint,14,opt,name=personSendBaseNum,proto3" json:"personSendBaseNum"` // 用户发送基数 } func (x *PartnerRoomInfo) Reset() { *x = PartnerRoomInfo{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartnerRoomInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartnerRoomInfo) ProtoMessage() {} func (x *PartnerRoomInfo) ProtoReflect() protoreflect.Message { mi := &file_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 PartnerRoomInfo.ProtoReflect.Descriptor instead. func (*PartnerRoomInfo) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{21} } func (x *PartnerRoomInfo) GetPersonSendNum() int64 { if x != nil { return x.PersonSendNum } return 0 } func (x *PartnerRoomInfo) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *PartnerRoomInfo) GetUnreadNum() int64 { if x != nil { return x.UnreadNum } return 0 } func (x *PartnerRoomInfo) GetLastContent() string { if x != nil { return x.LastContent } return "" } func (x *PartnerRoomInfo) GetLastTime() int64 { if x != nil { return x.LastTime } return 0 } func (x *PartnerRoomInfo) GetBenefit() int64 { if x != nil { return x.Benefit } return 0 } func (x *PartnerRoomInfo) GetType() string { if x != nil { return x.Type } return "" } func (x *PartnerRoomInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *PartnerRoomInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *PartnerRoomInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *PartnerRoomInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *PartnerRoomInfo) GetLikeability() int64 { if x != nil { return x.Likeability } return 0 } func (x *PartnerRoomInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *PartnerRoomInfo) GetPersonSendBaseNum() int64 { if x != nil { return x.PersonSendBaseNum } return 0 } type CreateChatRoomParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId1 string `protobuf:"bytes,1,opt,name=personId1,proto3" json:"personId1"` PersonId2 string `protobuf:"bytes,4,opt,name=personId2,proto3" json:"personId2"` Source string `protobuf:"bytes,7,opt,name=source,proto3" json:"source"` // 来源 } func (x *CreateChatRoomParam) Reset() { *x = CreateChatRoomParam{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateChatRoomParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateChatRoomParam) ProtoMessage() {} func (x *CreateChatRoomParam) ProtoReflect() protoreflect.Message { mi := &file_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 CreateChatRoomParam.ProtoReflect.Descriptor instead. func (*CreateChatRoomParam) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{22} } func (x *CreateChatRoomParam) GetPersonId1() string { if x != nil { return x.PersonId1 } return "" } func (x *CreateChatRoomParam) GetPersonId2() string { if x != nil { return x.PersonId2 } return "" } func (x *CreateChatRoomParam) GetSource() string { if x != nil { return x.Source } return "" } type SetBlackChatParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonId string `protobuf:"bytes,1,opt,name=personId,proto3" json:"personId"` // 拉黑者的身份ID RoomId int64 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId"` // 房间ID } func (x *SetBlackChatParam) Reset() { *x = SetBlackChatParam{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetBlackChatParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetBlackChatParam) ProtoMessage() {} func (x *SetBlackChatParam) ProtoReflect() protoreflect.Message { mi := &file_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 SetBlackChatParam.ProtoReflect.Descriptor instead. func (*SetBlackChatParam) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{23} } func (x *SetBlackChatParam) GetPersonId() string { if x != nil { return x.PersonId } return "" } func (x *SetBlackChatParam) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type ReceiveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` WebsocketTag string `protobuf:"bytes,4,opt,name=websocketTag,proto3" json:"websocketTag"` PersonId string `protobuf:"bytes,6,opt,name=personId,proto3" json:"personId"` } func (x *ReceiveRequest) Reset() { *x = ReceiveRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReceiveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReceiveRequest) ProtoMessage() {} func (x *ReceiveRequest) ProtoReflect() protoreflect.Message { mi := &file_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 ReceiveRequest.ProtoReflect.Descriptor instead. func (*ReceiveRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{24} } func (x *ReceiveRequest) GetMethod() string { if x != nil { return x.Method } return "" } func (x *ReceiveRequest) GetData() []byte { if x != nil { return x.Data } return make([]byte, 0) } func (x *ReceiveRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *ReceiveRequest) GetWebsocketTag() string { if x != nil { return x.WebsocketTag } return "" } func (x *ReceiveRequest) GetPersonId() string { if x != nil { return x.PersonId } return "" } type ReceiveReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ReceiveReply) Reset() { *x = ReceiveReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReceiveReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReceiveReply) ProtoMessage() {} func (x *ReceiveReply) ProtoReflect() protoreflect.Message { mi := &file_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 ReceiveReply.ProtoReflect.Descriptor instead. func (*ReceiveReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{25} } type CheckUserPartnerIsRelationshipReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsBuildRelationship bool `protobuf:"varint,1,opt,name=isBuildRelationship,proto3" json:"isBuildRelationship"` RoomId int64 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId"` } func (x *CheckUserPartnerIsRelationshipReply) Reset() { *x = CheckUserPartnerIsRelationshipReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CheckUserPartnerIsRelationshipReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*CheckUserPartnerIsRelationshipReply) ProtoMessage() {} func (x *CheckUserPartnerIsRelationshipReply) ProtoReflect() protoreflect.Message { mi := &file_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 CheckUserPartnerIsRelationshipReply.ProtoReflect.Descriptor instead. func (*CheckUserPartnerIsRelationshipReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{26} } func (x *CheckUserPartnerIsRelationshipReply) GetIsBuildRelationship() bool { if x != nil { return x.IsBuildRelationship } return false } func (x *CheckUserPartnerIsRelationshipReply) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type RoomReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` } func (x *RoomReply) Reset() { *x = RoomReply{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoomReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoomReply) ProtoMessage() {} func (x *RoomReply) ProtoReflect() protoreflect.Message { mi := &file_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 RoomReply.ProtoReflect.Descriptor instead. func (*RoomReply) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{27} } func (x *RoomReply) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type FindChatRoomMsgRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` PersonID string `protobuf:"bytes,3,opt,name=personID,proto3" json:"personID"` // 查询目标的ID } func (x *FindChatRoomMsgRequest) Reset() { *x = FindChatRoomMsgRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindChatRoomMsgRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChatRoomMsgRequest) ProtoMessage() {} func (x *FindChatRoomMsgRequest) ProtoReflect() protoreflect.Message { mi := &file_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 FindChatRoomMsgRequest.ProtoReflect.Descriptor instead. func (*FindChatRoomMsgRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{28} } func (x *FindChatRoomMsgRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *FindChatRoomMsgRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } type FindChatRecordListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextId int64 `protobuf:"varint,1,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset"` RoomId int64 `protobuf:"varint,3,opt,name=roomId,proto3" json:"roomId"` PersonID string `protobuf:"bytes,5,opt,name=personID,proto3" json:"personID"` // 查询目标的ID } func (x *FindChatRecordListRequest) Reset() { *x = FindChatRecordListRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindChatRecordListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindChatRecordListRequest) ProtoMessage() {} func (x *FindChatRecordListRequest) ProtoReflect() protoreflect.Message { mi := &file_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 FindChatRecordListRequest.ProtoReflect.Descriptor instead. func (*FindChatRecordListRequest) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{29} } func (x *FindChatRecordListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *FindChatRecordListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } func (x *FindChatRecordListRequest) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *FindChatRecordListRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } type WindowInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content"` // 文本内容 RoomId int64 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId"` // 房间ID AvatarUrl string `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像 Nickname string `protobuf:"bytes,4,opt,name=nickname,proto3" json:"nickname"` // 昵称 Age int64 `protobuf:"varint,5,opt,name=age,proto3" json:"age"` // 年龄 Sex int64 `protobuf:"varint,6,opt,name=sex,proto3" json:"sex"` // 性别 Reply []string `protobuf:"bytes,7,rep,name=reply,proto3" json:"reply"` // 快捷回复 IsVip bool `protobuf:"varint,19,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,20,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,21,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,22,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *WindowInfo) Reset() { *x = WindowInfo{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WindowInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*WindowInfo) ProtoMessage() {} func (x *WindowInfo) ProtoReflect() protoreflect.Message { mi := &file_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 WindowInfo.ProtoReflect.Descriptor instead. func (*WindowInfo) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{30} } func (x *WindowInfo) GetContent() string { if x != nil { return x.Content } return "" } func (x *WindowInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *WindowInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *WindowInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *WindowInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *WindowInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *WindowInfo) GetReply() []string { if x != nil { return x.Reply } return make([]string, 0) } func (x *WindowInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *WindowInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *WindowInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *WindowInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *WindowInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type ReminderInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Num int64 `protobuf:"varint,1,opt,name=num,proto3" json:"num"` // 发送条数 LimitNum int64 `protobuf:"varint,2,opt,name=limitNum,proto3" json:"limitNum"` // 上限条数 SendTime int64 `protobuf:"varint,3,opt,name=sendTime,proto3" json:"sendTime"` // 发送时间 RoomId int64 `protobuf:"varint,4,opt,name=roomId,proto3" json:"roomId"` // 房间ID } func (x *ReminderInfo) Reset() { *x = ReminderInfo{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReminderInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReminderInfo) ProtoMessage() {} func (x *ReminderInfo) ProtoReflect() protoreflect.Message { mi := &file_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 ReminderInfo.ProtoReflect.Descriptor instead. func (*ReminderInfo) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{31} } func (x *ReminderInfo) GetNum() int64 { if x != nil { return x.Num } return 0 } func (x *ReminderInfo) GetLimitNum() int64 { if x != nil { return x.LimitNum } return 0 } func (x *ReminderInfo) GetSendTime() int64 { if x != nil { return x.SendTime } return 0 } func (x *ReminderInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type ReminderUserInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId"` // 房间ID } func (x *ReminderUserInfo) Reset() { *x = ReminderUserInfo{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReminderUserInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReminderUserInfo) ProtoMessage() {} func (x *ReminderUserInfo) ProtoReflect() protoreflect.Message { mi := &file_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 ReminderUserInfo.ProtoReflect.Descriptor instead. func (*ReminderUserInfo) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{32} } func (x *ReminderUserInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } type UpLikeabilityInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Likeability int64 `protobuf:"varint,1,opt,name=likeability,proto3" json:"likeability"` // 好感度 RoomId int64 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId"` // 房间ID } func (x *UpLikeabilityInfo) Reset() { *x = UpLikeabilityInfo{} if protoimpl.UnsafeEnabled { mi := &file_chat_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpLikeabilityInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpLikeabilityInfo) ProtoMessage() {} func (x *UpLikeabilityInfo) ProtoReflect() protoreflect.Message { mi := &file_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 UpLikeabilityInfo.ProtoReflect.Descriptor instead. func (*UpLikeabilityInfo) Descriptor() ([]byte, []int) { return file_chat_proto_rawDescGZIP(), []int{33} } func (x *UpLikeabilityInfo) GetLikeability() int64 { if x != nil { return x.Likeability } return 0 } func (x *UpLikeabilityInfo) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } var File_chat_proto protoreflect.FileDescriptor var file_chat_proto_rawDesc = []byte{ 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x01, 0x0a, 0x16, 0x53, 0x63, 0x72, 0x69, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x22, 0xad, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x77, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 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, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x1f, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 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, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x41, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x41, 0x67, 0x65, 0x22, 0x34, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x22, 0x47, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x74, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x77, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x22, 0x54, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x2e, 0x0a, 0x0e, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x4e, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 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, 0xbc, 0x01, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x22, 0xb7, 0x01, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0x5b, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x76, 0x65, 0x22, 0x61, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0xa3, 0x03, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x69, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x31, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x6f, 0x0a, 0x23, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x09, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x16, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xd0, 0x02, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 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, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x55, 0x70, 0x4c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x69, 0x6b, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x32, 0x99, 0x17, 0x0a, 0x04, 0x43, 0x68, 0x61, 0x74, 0x12, 0x69, 0x0a, 0x1e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x44, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x62, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x69, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x61, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x73, 0x67, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x18, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x76, 0x65, 0x42, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x13, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x19, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x15, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x12, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x3d, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x50, 0x01, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x3b, 0x63, 0x68, 0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_chat_proto_rawDescOnce sync.Once file_chat_proto_rawDescData = file_chat_proto_rawDesc ) func file_chat_proto_rawDescGZIP() []byte { file_chat_proto_rawDescOnce.Do(func() { file_chat_proto_rawDescData = protoimpl.X.CompressGZIP(file_chat_proto_rawDescData) }) return file_chat_proto_rawDescData } var file_chat_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_chat_proto_goTypes = []interface{}{ (*ScripCreateRoomRequest)(nil), // 0: api.chat.ScripCreateRoomRequest (*SendMessageRequest)(nil), // 1: api.chat.SendMessageRequest (*GetOnlinePersonNumReply)(nil), // 2: api.chat.GetOnlinePersonNumReply (*GetMatchingPartnerInfoRequest)(nil), // 3: api.chat.GetMatchingPartnerInfoRequest (*AccurateMatchingUserInfoRequest)(nil), // 4: api.chat.AccurateMatchingUserInfoRequest (*GetRoomProfitReply)(nil), // 5: api.chat.GetRoomProfitReply (*UserUnlockRequest)(nil), // 6: api.chat.UserUnlockRequest (*PartnerCollectIDsRequest)(nil), // 7: api.chat.PartnerCollectIDsRequest (*PartnerCollectRequest)(nil), // 8: api.chat.PartnerCollectRequest (*GetRandomMatchingReply)(nil), // 9: api.chat.GetRandomMatchingReply (*FindNotReplyNumReply)(nil), // 10: api.chat.FindNotReplyNumReply (*UnreadNumReply)(nil), // 11: api.chat.UnreadNumReply (*FindRecommendPersonListRequest)(nil), // 12: api.chat.FindRecommendPersonListRequest (*FindRoomCardMsgRequest)(nil), // 13: api.chat.FindRoomCardMsgRequest (*PartnerGetAwardReply)(nil), // 14: api.chat.PartnerGetAwardReply (*PartnerFindRoomListRequest)(nil), // 15: api.chat.PartnerFindRoomListRequest (*UserFindRoomListRequest)(nil), // 16: api.chat.UserFindRoomListRequest (*UserFindRoomListReply)(nil), // 17: api.chat.UserFindRoomListReply (*UserRoomInfo)(nil), // 18: api.chat.UserRoomInfo (*UserSuperLoveInfo)(nil), // 19: api.chat.UserSuperLoveInfo (*PartnerFindRoomListReply)(nil), // 20: api.chat.PartnerFindRoomListReply (*PartnerRoomInfo)(nil), // 21: api.chat.PartnerRoomInfo (*CreateChatRoomParam)(nil), // 22: api.chat.CreateChatRoomParam (*SetBlackChatParam)(nil), // 23: api.chat.SetBlackChatParam (*ReceiveRequest)(nil), // 24: api.chat.ReceiveRequest (*ReceiveReply)(nil), // 25: api.chat.ReceiveReply (*CheckUserPartnerIsRelationshipReply)(nil), // 26: api.chat.CheckUserPartnerIsRelationshipReply (*RoomReply)(nil), // 27: api.chat.RoomReply (*FindChatRoomMsgRequest)(nil), // 28: api.chat.FindChatRoomMsgRequest (*FindChatRecordListRequest)(nil), // 29: api.chat.FindChatRecordListRequest (*WindowInfo)(nil), // 30: api.chat.WindowInfo (*ReminderInfo)(nil), // 31: api.chat.ReminderInfo (*ReminderUserInfo)(nil), // 32: api.chat.ReminderUserInfo (*UpLikeabilityInfo)(nil), // 33: api.chat.UpLikeabilityInfo (*common.Message)(nil), // 34: api.common.Message (*common.UserIDsParam)(nil), // 35: api.common.UserIDsParam (*common.ListPageAndPersonRequest)(nil), // 36: api.common.ListPageAndPersonRequest (*common.ReportRequest)(nil), // 37: api.common.ReportRequest (*common.MatchingRequest)(nil), // 38: api.common.MatchingRequest (*common.RoomIDRequest)(nil), // 39: api.common.RoomIDRequest (*emptypb.Empty)(nil), // 40: google.protobuf.Empty (*common.PersonIDParam)(nil), // 41: api.common.PersonIDParam (*common.ManagerFindRoomListRequest)(nil), // 42: api.common.ManagerFindRoomListRequest (*common.ManagerFindChatRecordListRequest)(nil), // 43: api.common.ManagerFindChatRecordListRequest (*common.ManagerFindReportListRequest)(nil), // 44: api.common.ManagerFindReportListRequest (*common.ManagerFindReportDetailsListRequest)(nil), // 45: api.common.ManagerFindReportDetailsListRequest (*common.RecommendPersonListReply)(nil), // 46: api.common.RecommendPersonListReply (*common.ChatRecordListReply)(nil), // 47: api.common.ChatRecordListReply (*common.ChatRoomMsg)(nil), // 48: api.common.ChatRoomMsg (*common.RoomChatMsg)(nil), // 49: api.common.RoomChatMsg (*common.GetMatchingPartnerInfoReply)(nil), // 50: api.common.GetMatchingPartnerInfoReply (*common.ManagerFindRoomListReply)(nil), // 51: api.common.ManagerFindRoomListReply (*common.ManagerFindReportListReply)(nil), // 52: api.common.ManagerFindReportListReply (*common.ManagerFindReportDetailsListReply)(nil), // 53: api.common.ManagerFindReportDetailsListReply (*common.SendMessageReply)(nil), // 54: api.common.SendMessageReply (*common.ChatRecordInfo)(nil), // 55: api.common.ChatRecordInfo } var file_chat_proto_depIdxs = []int32{ 34, // 0: api.chat.ScripCreateRoomRequest.message:type_name -> api.common.Message 34, // 1: api.chat.SendMessageRequest.message:type_name -> api.common.Message 18, // 2: api.chat.UserFindRoomListReply.list:type_name -> api.chat.UserRoomInfo 21, // 3: api.chat.PartnerFindRoomListReply.list:type_name -> api.chat.PartnerRoomInfo 35, // 4: api.chat.Chat.CheckUserPartnerIsRelationship:input_type -> api.common.UserIDsParam 22, // 5: api.chat.Chat.CreateChatRoom:input_type -> api.chat.CreateChatRoomParam 36, // 6: api.chat.Chat.FindOnlinePersonList:input_type -> api.common.ListPageAndPersonRequest 12, // 7: api.chat.Chat.FindRecommendPersonList:input_type -> api.chat.FindRecommendPersonListRequest 15, // 8: api.chat.Chat.PartnerFindRoomList:input_type -> api.chat.PartnerFindRoomListRequest 16, // 9: api.chat.Chat.UserFindRoomList:input_type -> api.chat.UserFindRoomListRequest 24, // 10: api.chat.Chat.Receive:input_type -> api.chat.ReceiveRequest 29, // 11: api.chat.Chat.FindChatRecordList:input_type -> api.chat.FindChatRecordListRequest 28, // 12: api.chat.Chat.FindChatRoomMsg:input_type -> api.chat.FindChatRoomMsgRequest 23, // 13: api.chat.Chat.SetBlackChat:input_type -> api.chat.SetBlackChatParam 23, // 14: api.chat.Chat.DeleteChat:input_type -> api.chat.SetBlackChatParam 37, // 15: api.chat.Chat.Report:input_type -> api.common.ReportRequest 13, // 16: api.chat.Chat.FindRoomCardMsg:input_type -> api.chat.FindRoomCardMsgRequest 38, // 17: api.chat.Chat.GetWindowInfo:input_type -> api.common.MatchingRequest 38, // 18: api.chat.Chat.GetRandomMatching:input_type -> api.common.MatchingRequest 3, // 19: api.chat.Chat.GetMatchingPartnerInfo:input_type -> api.chat.GetMatchingPartnerInfoRequest 4, // 20: api.chat.Chat.AccurateMatchingUserInfo:input_type -> api.chat.AccurateMatchingUserInfoRequest 7, // 21: api.chat.Chat.PartnerCollect:input_type -> api.chat.PartnerCollectIDsRequest 8, // 22: api.chat.Chat.PartnerDeleteCollect:input_type -> api.chat.PartnerCollectRequest 29, // 23: api.chat.Chat.FindChatCollectList:input_type -> api.chat.FindChatRecordListRequest 6, // 24: api.chat.Chat.UserUnlockVoice:input_type -> api.chat.UserUnlockRequest 6, // 25: api.chat.Chat.UserUnlockPicture:input_type -> api.chat.UserUnlockRequest 39, // 26: api.chat.Chat.GetRoomProfit:input_type -> api.common.RoomIDRequest 40, // 27: api.chat.Chat.GetOnlinePersonNum:input_type -> google.protobuf.Empty 41, // 28: api.chat.Chat.FindUserAllUnreadNum:input_type -> api.common.PersonIDParam 35, // 29: api.chat.Chat.GetUserRoomByPerson:input_type -> api.common.UserIDsParam 35, // 30: api.chat.Chat.GetSuperLoveByPerson:input_type -> api.common.UserIDsParam 42, // 31: api.chat.Chat.ManagerFindRoomList:input_type -> api.common.ManagerFindRoomListRequest 43, // 32: api.chat.Chat.ManagerFindChatRecordList:input_type -> api.common.ManagerFindChatRecordListRequest 44, // 33: api.chat.Chat.ManagerFindReportList:input_type -> api.common.ManagerFindReportListRequest 45, // 34: api.chat.Chat.ManagerFindReportDetailsList:input_type -> api.common.ManagerFindReportDetailsListRequest 1, // 35: api.chat.Chat.SendMessage:input_type -> api.chat.SendMessageRequest 0, // 36: api.chat.Chat.ScripCreateRoom:input_type -> api.chat.ScripCreateRoomRequest 41, // 37: api.chat.Chat.CleanUserUnReadNum:input_type -> api.common.PersonIDParam 26, // 38: api.chat.Chat.CheckUserPartnerIsRelationship:output_type -> api.chat.CheckUserPartnerIsRelationshipReply 27, // 39: api.chat.Chat.CreateChatRoom:output_type -> api.chat.RoomReply 46, // 40: api.chat.Chat.FindOnlinePersonList:output_type -> api.common.RecommendPersonListReply 46, // 41: api.chat.Chat.FindRecommendPersonList:output_type -> api.common.RecommendPersonListReply 20, // 42: api.chat.Chat.PartnerFindRoomList:output_type -> api.chat.PartnerFindRoomListReply 17, // 43: api.chat.Chat.UserFindRoomList:output_type -> api.chat.UserFindRoomListReply 25, // 44: api.chat.Chat.Receive:output_type -> api.chat.ReceiveReply 47, // 45: api.chat.Chat.FindChatRecordList:output_type -> api.common.ChatRecordListReply 48, // 46: api.chat.Chat.FindChatRoomMsg:output_type -> api.common.ChatRoomMsg 40, // 47: api.chat.Chat.SetBlackChat:output_type -> google.protobuf.Empty 40, // 48: api.chat.Chat.DeleteChat:output_type -> google.protobuf.Empty 40, // 49: api.chat.Chat.Report:output_type -> google.protobuf.Empty 49, // 50: api.chat.Chat.FindRoomCardMsg:output_type -> api.common.RoomChatMsg 30, // 51: api.chat.Chat.GetWindowInfo:output_type -> api.chat.WindowInfo 9, // 52: api.chat.Chat.GetRandomMatching:output_type -> api.chat.GetRandomMatchingReply 50, // 53: api.chat.Chat.GetMatchingPartnerInfo:output_type -> api.common.GetMatchingPartnerInfoReply 50, // 54: api.chat.Chat.AccurateMatchingUserInfo:output_type -> api.common.GetMatchingPartnerInfoReply 40, // 55: api.chat.Chat.PartnerCollect:output_type -> google.protobuf.Empty 40, // 56: api.chat.Chat.PartnerDeleteCollect:output_type -> google.protobuf.Empty 47, // 57: api.chat.Chat.FindChatCollectList:output_type -> api.common.ChatRecordListReply 40, // 58: api.chat.Chat.UserUnlockVoice:output_type -> google.protobuf.Empty 40, // 59: api.chat.Chat.UserUnlockPicture:output_type -> google.protobuf.Empty 5, // 60: api.chat.Chat.GetRoomProfit:output_type -> api.chat.GetRoomProfitReply 2, // 61: api.chat.Chat.GetOnlinePersonNum:output_type -> api.chat.GetOnlinePersonNumReply 11, // 62: api.chat.Chat.FindUserAllUnreadNum:output_type -> api.chat.UnreadNumReply 18, // 63: api.chat.Chat.GetUserRoomByPerson:output_type -> api.chat.UserRoomInfo 19, // 64: api.chat.Chat.GetSuperLoveByPerson:output_type -> api.chat.UserSuperLoveInfo 51, // 65: api.chat.Chat.ManagerFindRoomList:output_type -> api.common.ManagerFindRoomListReply 47, // 66: api.chat.Chat.ManagerFindChatRecordList:output_type -> api.common.ChatRecordListReply 52, // 67: api.chat.Chat.ManagerFindReportList:output_type -> api.common.ManagerFindReportListReply 53, // 68: api.chat.Chat.ManagerFindReportDetailsList:output_type -> api.common.ManagerFindReportDetailsListReply 54, // 69: api.chat.Chat.SendMessage:output_type -> api.common.SendMessageReply 55, // 70: api.chat.Chat.ScripCreateRoom:output_type -> api.common.ChatRecordInfo 40, // 71: api.chat.Chat.CleanUserUnReadNum:output_type -> google.protobuf.Empty 38, // [38:72] is the sub-list for method output_type 4, // [4:38] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_chat_proto_init() } func file_chat_proto_init() { if File_chat_proto != nil { return } if !protoimpl.UnsafeEnabled { file_chat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScripCreateRoomRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendMessageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetOnlinePersonNumReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMatchingPartnerInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccurateMatchingUserInfoRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomProfitReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserUnlockRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartnerCollectIDsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartnerCollectRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRandomMatchingReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNotReplyNumReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnreadNumReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindRecommendPersonListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindRoomCardMsgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartnerGetAwardReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartnerFindRoomListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserFindRoomListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserFindRoomListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRoomInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSuperLoveInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartnerFindRoomListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartnerRoomInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateChatRoomParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetBlackChatParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReceiveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReceiveReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckUserPartnerIsRelationshipReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoomReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindChatRoomMsgRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindChatRecordListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WindowInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReminderInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReminderUserInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpLikeabilityInfo); 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_proto_rawDesc, NumEnums: 0, NumMessages: 34, NumExtensions: 0, NumServices: 1, }, GoTypes: file_chat_proto_goTypes, DependencyIndexes: file_chat_proto_depIdxs, MessageInfos: file_chat_proto_msgTypes, }.Build() File_chat_proto = out.File file_chat_proto_rawDesc = nil file_chat_proto_goTypes = nil file_chat_proto_depIdxs = nil }