diff --git a/README.md b/README.md index 9f9e09ebc..d5b31c1d2 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,6 @@ By deployment of the Open-IM-Server on the customer's server, developers can int ## Community -- Join Slack Community : https://join.slack.com/t/openimcommunity/shared_invite/zt-1jo5m1wm9-ym2qj0LUU5UbO68L6Z1zQg - 中文官网访问这里:[Open-IM中文开发文档](https://doc.rentsoft.cn/) ## Quick start diff --git a/cmd/Open-IM-SDK-Core b/cmd/Open-IM-SDK-Core index e7bf4b2a2..e731cb86e 160000 --- a/cmd/Open-IM-SDK-Core +++ b/cmd/Open-IM-SDK-Core @@ -1 +1 @@ -Subproject commit e7bf4b2a2066e8836dccd908d11b4d37c1c6a4ce +Subproject commit e731cb86ec9314a0b30b4f8331d53854c2c9d858 diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index c99094c83..71d47edc0 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -175,8 +175,10 @@ func main() { conversationGroup.POST("/get_all_conversations", conversation.GetAllConversations) conversationGroup.POST("/get_conversation", conversation.GetConversation) conversationGroup.POST("/get_conversations", conversation.GetConversations) + //deprecated conversationGroup.POST("/set_conversation", conversation.SetConversation) conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations) + //deprecated conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt) conversationGroup.POST("/modify_conversation_field", conversation.ModifyConversationField) } diff --git a/config/config.yaml b/config/config.yaml index 7980eaa6f..f525d4c96 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -115,11 +115,11 @@ sdk: #对象存储服务,以下配置二选一,目前支持两种,腾讯云和minio,二者配置好其中一种即可(如果使用minio参考https://doc.rentsoft.cn/#/qa/minio搭建minio服务器) credential: #腾讯cos,发送图片、视频、文件时需要,请自行申请后替换,必须修改 tencent: - appID: 1302656840 - region: ap-chengdu - bucket: echat-1302656840 - secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC1 - secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe1 + appID: + region: + bucket: + secretID: + secretKey: minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK,中 object_storage参数为minio bucket: openim # 存储内容桶 appBucket: app # 存储app的桶 @@ -132,24 +132,24 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申 storageTime: 50 #文件在minio中保存的时间 isDistributedMod: false # 是否分布式多硬盘部署 默认docker-compose中为false ali: # ali oss - regionID: "oss-cn-beijing" - accessKeyID: "" - accessKeySecret: "" - stsEndpoint: "sts.cn-beijing.aliyun.com" - ossEndpoint: "oss-cn-beijing.aliyuncs.com" - bucket: "bucket1" - finalHost: "http://bucket1.oss-cn-beijing.aliyuncs.com" - stsDurationSeconds: 3600 - OssRoleArn: "acs:ram::xxx:role/xxx" + regionID: + accessKeyID: + accessKeySecret: + stsEndpoint: + ossEndpoint: + bucket: + finalHost: + stsDurationSeconds: + OssRoleArn: aws: - accessKeyID: 1 #AssumeRole用户关联的accessKeyID - accessKeySecret: 2 #AssumeRole用户关联的accessKeySecrect - region: ap-southeast-1 #分区 - bucket: ouyang #桶 - finalHost: ouyang.s3.ap-southeast-1.amazonaws.com #对外Host - roleArn: arn:aws:iam::192209831083:role/AWS_S3_FOR_OUYANG #RoleArn - externalId: AssumeRoleExtend #角色扩展Id - roleSessionName: Required-AWS-ID-OPENIM #角色SESSION名称 + accessKeyID: #AssumeRole用户关联的accessKeyID + accessKeySecret: #AssumeRole用户关联的accessKeySecrect + region: #分区 + bucket: #桶 + finalHost: #对外Host + roleArn: #RoleArn + externalId: #角色扩展Id + roleSessionName: #角色SESSION名称 rpcport: #rpc服务端口 默认即可 @@ -216,17 +216,17 @@ longconnsvr: push: tpns: #腾讯推送,暂未测试 暂不要使用 ios: - accessID: 1600018281 - secretKey: 3cd68a77a95b89e5089a1aca523f318f + accessID: + secretKey: android: - accessID: 111 - secretKey: 111 + accessID: + secretKey: enable: false # true or false (bool) jpns: #极光推送 在极光后台申请后,修改以下四项,必须修改 - appKey: cf47465a368f24c659608e7e - masterSecret: 02204efe3f3832947a236ee5 - pushUrl: "https://api.jpush.cn/v3/push" - pushIntent: "intent:#Intent;component=io.openim.app.enterprisechat/io.openim.app.enterprisechat.MainActivity;end" + appKey: + masterSecret: + pushUrl: + pushIntent: enable: false # true or false (bool) getui: #个推推送 pushUrl: @@ -237,13 +237,13 @@ push: channelID: "" channelName: "" fcm: #firebase cloud message 消息推送 - serviceAccount: "openim-5c6c0-firebase-adminsdk-ppwol-8765884a78.json" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 + serviceAccount: #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 enable: false mob: #袤博推送 - appKey: "3377f689a25" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 - pushUrl: "https://api.push.mob.com/v3/push/createPush" - scheme: "dianzhijiaunilinks://dianzhijia.com?page=rent" - appSecret: "77b4e20e94db3a776b87d8693be23e" + appKey: #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 + pushUrl: + scheme: + appSecret: enable: false @@ -765,18 +765,18 @@ demo: #demo对外服务端口,默认即可,需要开放此端口或做nginx转发 openImDemoPort: [ 10004 ] alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项,enable为true则必须修改,阿里云为默认短信验证方式 - accessKeyId: LTAI5tJPkn4HuuePdiLdGqe7 - accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV - signName: 托云信息技术 - verificationCodeTemplateCode: SMS_226810164 + accessKeyId: + accessKeySecret: + signName: + verificationCodeTemplateCode: enable: false tencentsms: #腾讯云短信配置,在腾讯云申请成功后,修改以下选项,enable为true则必须修改 - appID: 2400000648 - region: "ap-singapore" - secretID: IKIDra4JPGsFMDwQedMq42lESQBgwwgBQQAe - secretKey: HI6fz4uUotjJdiX6QUIrAE2buxlKdgU2 - signName: "" - verificationCodeTemplateCode: 2902877 + appID: + region: + secretID: + secretKey: + signName: + verificationCodeTemplateCode: enable: true superCode: 666666 #超级验证码,建议修改掉,收不到短信验证码时可以用此替代 needInvitationCode: false @@ -784,11 +784,11 @@ demo: codeTTL: 60 useSuperCode: true mail: #仅支持qq邮箱,具体操作参考 https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256 必须修改 - title: "openIM" - senderMail: "765567899@qq.com" - senderAuthorizationCode: "gxyausfoevlzbfag" - smtpAddr: "smtp.qq.com" - smtpPort: 25 #需开放此端口 出口方向 + title: + senderMail: + senderAuthorizationCode: + smtpAddr: + smtpPort: #需开放此端口 出口方向 testDepartMentID: 001 imAPIURL: http://127.0.0.1:10002 onboardProcess: false # 是否开启注册流程 @@ -820,4 +820,4 @@ prometheus: conversationPrometheusPort: [ 20230 ] cachePrometheusPort: [ 20240 ] realTimeCommPrometheusPort: [ 21300 ] - messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # 端口数量和 script/path_info.cfg msg_transfer_service_num保持一致 \ No newline at end of file + messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # 端口数量和 script/path_info.cfg msg_transfer_service_num保持一致 diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 78e441d82..d1fa502d1 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -38,6 +38,7 @@ func SetOptions(options map[string]bool, value bool) { func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { var newContent string + options := make(map[string]bool, 5) var err error switch params.ContentType { case constant.Text: @@ -57,12 +58,13 @@ func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { case constant.CustomOnlineOnly: fallthrough case constant.AdvancedRevoke: + utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) newContent = utils.StructToJsonString(params.Content) case constant.Revoke: + utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) newContent = params.Content["revokeMsgClientID"].(string) default: } - options := make(map[string]bool, 5) if params.IsOnlineOnly { SetOptions(options, false) } diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index bb14224b6..fecf8d4b3 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -33,7 +33,7 @@ func SetMessageReactionExtensions(c *gin.Context) { } var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo, reqPb.OpUserIDPlatformID = token_verify.GetUserIDAndPlatformIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -129,7 +129,7 @@ func AddMessageReactionExtensions(c *gin.Context) { } var ok bool var errInfo string - ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + ok, reqPb.OpUserID, errInfo, reqPb.OpUserIDPlatformID = token_verify.GetUserIDAndPlatformIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) @@ -154,8 +154,8 @@ func AddMessageReactionExtensions(c *gin.Context) { resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg resp.Data.ResultKeyValue = respPb.Result - resp.Data.MsgFirstModifyTime = reqPb.MsgFirstModifyTime - resp.Data.IsReact = reqPb.IsReact + resp.Data.MsgFirstModifyTime = respPb.MsgFirstModifyTime + resp.Data.IsReact = respPb.IsReact log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index 9190d934b..5b7324908 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -79,9 +79,6 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) { return } } - if pushMsg.MsgData.ContentType > constant.NotificationBegin && pushMsg.MsgData.ContentType < constant.NotificationEnd && pushMsg.MsgData.ContentType != constant.SignalingNotification { - return - } if pushMsg.MsgData.ContentType == constant.SignalingNotification { isSend, err := db.DB.HandleSignalInfo(pushMsg.OperationID, pushMsg.MsgData, pushMsg.PushToUserID) if err != nil { @@ -201,9 +198,6 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) { log.Debug(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData) successCount++ if isOfflinePush { - if pushMsg.MsgData.ContentType > constant.NotificationBegin && pushMsg.MsgData.ContentType < constant.NotificationEnd && pushMsg.MsgData.ContentType != constant.SignalingNotification { - return - } var onlineSuccessUserIDList []string var WebAndPcBackgroundUserIDList []string onlineSuccessUserIDList = append(onlineSuccessUserIDList, pushMsg.MsgData.SendID) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 4bb686364..7411588fe 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -743,6 +743,12 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou resp.ErrMsg = constant.ErrDB.ErrMsg return &resp, nil } + if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error()) + } + if err := rocksCache.DelGroupMemberIDListFromCache(req.GroupID); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + } reqPb := pbConversation.ModifyConversationFieldReq{Conversation: &pbConversation.Conversation{}} reqPb.OperationID = req.OperationID reqPb.UserIDList = okUserIDList @@ -1330,7 +1336,8 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf } log.NewInfo(req.OperationID, "SetGroupInfo rpc return ", pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{}}) if changedType != 0 { - chat.GroupInfoSetNotification(req.OperationID, req.OpUserID, req.GroupInfoForSet.GroupID, groupName, notification, introduction, faceURL, req.GroupInfoForSet.NeedVerification) + chat.GroupInfoSetNotification(req.OperationID, req.OpUserID, req.GroupInfoForSet.GroupID, groupName, notification, + introduction, faceURL, req.GroupInfoForSet.NeedVerification, req.GroupInfoForSet.ApplyMemberFriend, req.GroupInfoForSet.LookMemberInfo) } if req.GroupInfoForSet.Notification != "" { //get group member user id diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go index 6fce480d3..aa84c98a8 100644 --- a/internal/rpc/msg/del_msg.go +++ b/internal/rpc/msg/del_msg.go @@ -44,7 +44,7 @@ func (rpc *rpcChat) DelSuperGroupMsg(_ context.Context, req *msg.DelSuperGroupMs resp.ErrMsg = err.Error() return resp, nil } - err = db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, groupMaxSeq+1) + err = db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, groupMaxSeq) if err != nil { log.NewError(req.OperationID, "SetGroupUserMinSeq false ", req.OpUserID, req.UserID, req.GroupID) resp.ErrCode = constant.ErrDB.ErrCode diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 821798477..d262efab5 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -41,7 +41,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S } rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime rResp.Result = callbackResp.ResultReactionExtensionList - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, isHistory, false) return &rResp, nil } for _, v := range callbackResp.ResultReactionExtensionList { @@ -187,12 +187,12 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S } if !isExists { if !req.IsReact { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true, true) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, true, true) } else { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, false) } } else { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, true) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, true) } log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil @@ -323,7 +323,8 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime rResp.Result = callbackResp.ResultReactionExtensionList rResp.IsReact = callbackResp.IsReact - ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) + ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, isHistory, false) + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", resp.String()) return &rResp, nil } @@ -346,7 +347,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms //if ExternalExtension if req.IsExternalExtensions { rResp.Result = callbackResp.ResultReactionExtensionList - ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, false) return &rResp, nil } @@ -470,7 +471,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms } } - ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, isExists) + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, isExists) log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index dd8699624..6f9e93529 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -13,7 +13,7 @@ import ( "strings" ) -func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, +func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32, req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageModifierNotification m.SourceID = req.SourceID @@ -35,9 +35,9 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin m.IsReact = resp.IsReact m.IsExternalExtensions = req.IsExternalExtensions m.MsgFirstModifyTime = resp.MsgFirstModifyTime - messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) + messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) } -func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, sessionType int32, +func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32, req *msg.AddMessageReactionExtensionsReq, resp *msg.AddMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageModifierNotification m.SourceID = req.SourceID @@ -59,9 +59,9 @@ func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, m.IsReact = resp.IsReact m.IsExternalExtensions = req.IsExternalExtensions m.MsgFirstModifyTime = resp.MsgFirstModifyTime - messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) + messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) } -func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, sessionType int32, +func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32, req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageDeleteNotification m.SourceID = req.SourceID @@ -81,9 +81,9 @@ func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string m.ClientMsgID = req.ClientMsgID m.MsgFirstModifyTime = req.MsgFirstModifyTime - messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory, isReactionFromCache) + messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory, isReactionFromCache) } -func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool, isReactionFromCache bool) { +func messageReactionSender(operationID, sendID string, sourceID string, senderPlatformID, sessionType, contentType int32, content string, isHistory bool, isReactionFromCache bool) { options := make(map[string]bool, 5) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) @@ -97,12 +97,13 @@ func messageReactionSender(operationID, sendID string, sourceID string, sessionT pbData := msg.SendMsgReq{ OperationID: operationID, MsgData: &open_im_sdk.MsgData{ - SendID: sendID, - ClientMsgID: utils.GetMsgID(sendID), - SessionType: sessionType, - MsgFrom: constant.SysMsgType, - ContentType: contentType, - Content: []byte(content), + SendID: sendID, + SenderPlatformID: senderPlatformID, + ClientMsgID: utils.GetMsgID(sendID), + SessionType: sessionType, + MsgFrom: constant.SysMsgType, + ContentType: contentType, + Content: []byte(content), // ForceList: params.ForceList, CreateTime: utils.GetCurrentTimestampByMill(), Options: options, diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 393f4129e..eefcb419e 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -94,7 +94,7 @@ func callbackAddMessageReactionExtensions(setReq *msg.AddMessageReactionExtensio MsgFirstModifyTime: setReq.MsgFirstModifyTime, } resp := &cbApi.CallbackAddMessageReactionExtResp{CommonCallbackResp: &callbackResp} - defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp, *resp.CommonCallbackResp, resp.IsReact, resp.MsgFirstModifyTime) if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAddMessageListReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() diff --git a/internal/rpc/msg/group_notification.go b/internal/rpc/msg/group_notification.go index 82255b5b0..e1164a7ea 100644 --- a/internal/rpc/msg/group_notification.go +++ b/internal/rpc/msg/group_notification.go @@ -245,12 +245,15 @@ func GroupCreatedNotification(operationID, opUserID, groupID string, initMemberL // notification := "" // introduction := "" // faceURL := "" -func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName, notification, introduction, faceURL string, needVerification *wrapperspb.Int32Value) { +func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName, notification, introduction, faceURL string, needVerification, applyMemberFriend, lookMemberInfo *wrapperspb.Int32Value) { GroupInfoChangedTips := open_im_sdk.GroupInfoSetTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}} if err := setGroupInfo(groupID, GroupInfoChangedTips.Group); err != nil { log.Error(operationID, "setGroupInfo failed ", err.Error(), groupID) return } + GroupInfoChangedTips.Group.NeedVerification = 0 + GroupInfoChangedTips.Group.LookMemberInfo = 0 + GroupInfoChangedTips.Group.ApplyMemberFriend = 0 GroupInfoChangedTips.Group.GroupName = groupName GroupInfoChangedTips.Group.Notification = notification GroupInfoChangedTips.Group.Introduction = introduction @@ -258,6 +261,12 @@ func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName, if needVerification != nil { GroupInfoChangedTips.Group.NeedVerification = needVerification.Value } + if applyMemberFriend != nil { + GroupInfoChangedTips.Group.ApplyMemberFriend = applyMemberFriend.Value + } + if lookMemberInfo != nil { + GroupInfoChangedTips.Group.LookMemberInfo = lookMemberInfo.Value + } if err := setOpUserInfo(opUserID, groupID, GroupInfoChangedTips.OpUser); err != nil { log.Error(operationID, "setOpUserInfo failed ", err.Error(), opUserID, groupID) diff --git a/internal/rpc/msg/super_group_notification.go b/internal/rpc/msg/super_group_notification.go index f1966a586..76044c8e9 100644 --- a/internal/rpc/msg/super_group_notification.go +++ b/internal/rpc/msg/super_group_notification.go @@ -18,6 +18,7 @@ func SuperGroupNotification(operationID, sendID, recvID string) { SessionType: constant.SingleChatType, OperationID: operationID, } + log.NewInfo(operationID, utils.GetSelfFuncName(), string(n.Content)) Notification(n) } diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 0e80c94b5..d021cbbe8 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -578,7 +578,6 @@ func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, firstM } return string(bytes), nil } - extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg) if err != nil { return nil, utils.Wrap(err, "Fetch failed") diff --git a/pkg/common/token_verify/jwt_token.go b/pkg/common/token_verify/jwt_token.go index 5c3c1e07a..6e69c4474 100644 --- a/pkg/common/token_verify/jwt_token.go +++ b/pkg/common/token_verify/jwt_token.go @@ -159,6 +159,16 @@ func GetUserIDFromToken(token string, operationID string) (bool, string, string) return true, claims.UID, "" } +func GetUserIDAndPlatformIDFromToken(token string, operationID string) (bool, string, string, int32) { + claims, err := ParseToken(token, operationID) + if err != nil { + log.Error(operationID, "ParseToken failed, ", err.Error(), token) + return false, "", err.Error(), 0 + } + log.Debug(operationID, "token claims.ExpiresAt.Second() ", claims.ExpiresAt.Unix()) + return true, claims.UID, "", int32(constant.PlatformNameToID(claims.Platform)) +} + func GetUserIDFromTokenExpireTime(token string, operationID string) (bool, string, string, int64) { claims, err := ParseToken(token, operationID) if err != nil { diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 8aafb5462..9c744211a 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{0} + return fileDescriptor_msg_96239333e69eba2c, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{1} + return fileDescriptor_msg_96239333e69eba2c, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{2} + return fileDescriptor_msg_96239333e69eba2c, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{3} + return fileDescriptor_msg_96239333e69eba2c, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{4} + return fileDescriptor_msg_96239333e69eba2c, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{5} + return fileDescriptor_msg_96239333e69eba2c, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{6} + return fileDescriptor_msg_96239333e69eba2c, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{7} + return fileDescriptor_msg_96239333e69eba2c, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{8} + return fileDescriptor_msg_96239333e69eba2c, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{9} + return fileDescriptor_msg_96239333e69eba2c, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{10} + return fileDescriptor_msg_96239333e69eba2c, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{11} + return fileDescriptor_msg_96239333e69eba2c, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{12} + return fileDescriptor_msg_96239333e69eba2c, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{13} + return fileDescriptor_msg_96239333e69eba2c, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{14} + return fileDescriptor_msg_96239333e69eba2c, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{15} + return fileDescriptor_msg_96239333e69eba2c, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{16} + return fileDescriptor_msg_96239333e69eba2c, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{17} + return fileDescriptor_msg_96239333e69eba2c, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{18} + return fileDescriptor_msg_96239333e69eba2c, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{19} + return fileDescriptor_msg_96239333e69eba2c, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{20} + return fileDescriptor_msg_96239333e69eba2c, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{21} + return fileDescriptor_msg_96239333e69eba2c, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{22} + return fileDescriptor_msg_96239333e69eba2c, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1331,14 +1331,15 @@ type SetMessageReactionExtensionsReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"` OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` - SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` - ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,5,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` - AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"` - IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"` - IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` - MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,6,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,7,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` + AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,11,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,12,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1348,7 +1349,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{23} + return fileDescriptor_msg_96239333e69eba2c, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1389,6 +1390,13 @@ func (m *SetMessageReactionExtensionsReq) GetOpUserID() string { return "" } +func (m *SetMessageReactionExtensionsReq) GetOpUserIDPlatformID() int32 { + if m != nil { + return m.OpUserIDPlatformID + } + return 0 +} + func (m *SetMessageReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType @@ -1461,7 +1469,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{24} + return fileDescriptor_msg_96239333e69eba2c, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1527,14 +1535,15 @@ type AddMessageReactionExtensionsReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"` OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` - SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` - ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,5,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` - AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"` - IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"` - IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` - MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,6,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,7,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` + AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,11,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,12,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1544,7 +1553,7 @@ func (m *AddMessageReactionExtensionsReq) Reset() { *m = AddMessageReact func (m *AddMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*AddMessageReactionExtensionsReq) ProtoMessage() {} func (*AddMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{25} + return fileDescriptor_msg_96239333e69eba2c, []int{25} } func (m *AddMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1585,6 +1594,13 @@ func (m *AddMessageReactionExtensionsReq) GetOpUserID() string { return "" } +func (m *AddMessageReactionExtensionsReq) GetOpUserIDPlatformID() int32 { + if m != nil { + return m.OpUserIDPlatformID + } + return 0 +} + func (m *AddMessageReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType @@ -1657,7 +1673,7 @@ func (m *AddMessageReactionExtensionsResp) Reset() { *m = AddMessageReac func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*AddMessageReactionExtensionsResp) ProtoMessage() {} func (*AddMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{26} + return fileDescriptor_msg_96239333e69eba2c, []int{26} } func (m *AddMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1736,7 +1752,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{27} + return fileDescriptor_msg_96239333e69eba2c, []int{27} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1821,7 +1837,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{27, 0} + return fileDescriptor_msg_96239333e69eba2c, []int{27, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1868,7 +1884,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{28} + return fileDescriptor_msg_96239333e69eba2c, []int{28} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1923,7 +1939,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{29} + return fileDescriptor_msg_96239333e69eba2c, []int{29} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1985,7 +2001,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{30} + return fileDescriptor_msg_96239333e69eba2c, []int{30} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -2037,11 +2053,12 @@ type DeleteMessageListReactionExtensionsReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` - SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` - ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - IsExternalExtensions bool `protobuf:"varint,6,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` - MsgFirstModifyTime int64 `protobuf:"varint,7,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` - ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,8,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` + OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + IsExternalExtensions bool `protobuf:"varint,7,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,8,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,9,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2053,7 +2070,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() { func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{31} + return fileDescriptor_msg_96239333e69eba2c, []int{31} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -2094,6 +2111,13 @@ func (m *DeleteMessageListReactionExtensionsReq) GetSourceID() string { return "" } +func (m *DeleteMessageListReactionExtensionsReq) GetOpUserIDPlatformID() int32 { + if m != nil { + return m.OpUserIDPlatformID + } + return 0 +} + func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType @@ -2144,7 +2168,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() { func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{32} + return fileDescriptor_msg_96239333e69eba2c, []int{32} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -2198,7 +2222,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{33} + return fileDescriptor_msg_96239333e69eba2c, []int{33} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2254,7 +2278,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{34} + return fileDescriptor_msg_96239333e69eba2c, []int{34} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2322,7 +2346,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{35} + return fileDescriptor_msg_96239333e69eba2c, []int{35} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2376,7 +2400,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_bafb742f07ab638a, []int{36} + return fileDescriptor_msg_96239333e69eba2c, []int{36} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2999,116 +3023,119 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_bafb742f07ab638a) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_96239333e69eba2c) } -var fileDescriptor_msg_bafb742f07ab638a = []byte{ - // 1720 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4f, 0x6f, 0xdb, 0x46, - 0x16, 0x07, 0x49, 0x4b, 0xb6, 0x9f, 0xec, 0xd8, 0x19, 0x3b, 0x5e, 0x85, 0x31, 0x10, 0x85, 0xf9, - 0xe7, 0x6c, 0x12, 0x19, 0xeb, 0x5d, 0x20, 0x8b, 0xcd, 0x02, 0x9b, 0x38, 0xf2, 0x2a, 0x46, 0x56, - 0xeb, 0x98, 0x72, 0x5b, 0xa0, 0x3d, 0x38, 0x8c, 0x34, 0x66, 0x08, 0x4b, 0x24, 0xcd, 0xa1, 0x62, - 0xab, 0xff, 0x0e, 0x05, 0xda, 0x4b, 0x91, 0x43, 0x8f, 0x3d, 0xf5, 0xd6, 0x5b, 0x3f, 0x44, 0x3f, - 0x40, 0xd1, 0x4b, 0xbf, 0x45, 0x3f, 0x43, 0x81, 0x62, 0x66, 0x28, 0x69, 0xf8, 0x4f, 0xa4, 0xe5, - 0x22, 0x48, 0x8a, 0xdc, 0xf4, 0x66, 0xde, 0xbc, 0x79, 0xbf, 0xf7, 0x7e, 0xf3, 0x87, 0xf3, 0x04, - 0xf3, 0x5d, 0x62, 0xae, 0x77, 0x89, 0x59, 0x75, 0x3d, 0xc7, 0x77, 0x90, 0xd2, 0x25, 0xa6, 0xba, - 0xb6, 0xe3, 0x62, 0xfb, 0xee, 0x76, 0xe3, 0x6e, 0x13, 0x7b, 0x2f, 0xb1, 0xb7, 0xee, 0x1e, 0x9a, - 0xeb, 0xac, 0x7b, 0x9d, 0xb4, 0x0f, 0xf7, 0x8f, 0xc9, 0xfa, 0x31, 0xe1, 0xea, 0x6a, 0x35, 0x53, - 0xd3, 0x33, 0x5c, 0x17, 0x7b, 0x81, 0xbe, 0xf6, 0x09, 0x94, 0x1a, 0xc4, 0xac, 0x19, 0xbe, 0xb1, - 0xe7, 0x34, 0x76, 0xd1, 0x32, 0x14, 0x7c, 0xe7, 0x10, 0xdb, 0x65, 0xa9, 0x22, 0xad, 0xcd, 0xea, - 0x5c, 0x40, 0x15, 0x28, 0x39, 0x2e, 0xf6, 0x0c, 0xdf, 0x72, 0xec, 0xed, 0x5a, 0x59, 0x66, 0x7d, - 0x62, 0x13, 0xfa, 0x07, 0x4c, 0x77, 0xb9, 0x99, 0xb2, 0x52, 0x91, 0xd6, 0x4a, 0x1b, 0x6a, 0x95, - 0x30, 0x07, 0xf6, 0x0d, 0xd7, 0xda, 0x77, 0x0d, 0xcf, 0xe8, 0x92, 0x6a, 0x30, 0x91, 0x3e, 0x50, - 0xd5, 0xb0, 0x30, 0x79, 0x6d, 0x53, 0x34, 0x22, 0xe5, 0x36, 0x92, 0xed, 0x9c, 0xf6, 0x4a, 0x82, - 0x85, 0xa7, 0x3d, 0xf2, 0x42, 0x04, 0x5a, 0x81, 0xd2, 0x8e, 0x30, 0x8a, 0xc3, 0x15, 0x9b, 0x44, - 0x6f, 0xe4, 0xfc, 0xde, 0x68, 0x30, 0xe7, 0xf6, 0xc8, 0x8b, 0x3d, 0xe7, 0x3d, 0x82, 0xbd, 0xed, - 0x1a, 0x8b, 0xc6, 0xac, 0x1e, 0x6a, 0xd3, 0xbe, 0x97, 0x00, 0x8d, 0x7c, 0x71, 0x6c, 0xd3, 0xd9, - 0xec, 0x37, 0x76, 0x51, 0x19, 0xa6, 0x3b, 0x06, 0xf1, 0x9b, 0xf8, 0x88, 0xb9, 0x33, 0xa5, 0x0f, - 0x44, 0x74, 0x0d, 0xe6, 0x0d, 0xd3, 0xf4, 0xb0, 0x19, 0x06, 0x19, 0x6e, 0x44, 0x1b, 0x50, 0xea, - 0x62, 0x42, 0x0c, 0x13, 0xff, 0xcf, 0x22, 0x7e, 0x59, 0xa9, 0x28, 0x6b, 0xa5, 0x8d, 0xc5, 0x2a, - 0xa5, 0x92, 0x80, 0x5c, 0x17, 0x95, 0xd0, 0x2a, 0xcc, 0xfa, 0x9e, 0x65, 0x9a, 0xcc, 0xd7, 0x29, - 0x66, 0x75, 0xd4, 0xa0, 0xfd, 0x1f, 0x50, 0x1d, 0xfb, 0x0d, 0xe3, 0xe4, 0xa1, 0xdd, 0x6e, 0x58, - 0x76, 0x13, 0x1f, 0xe9, 0xf8, 0x08, 0xad, 0x40, 0x31, 0x00, 0xc7, 0xa3, 0x16, 0x48, 0xd1, 0x90, - 0xca, 0xb1, 0x90, 0x6a, 0xc7, 0xb0, 0x14, 0xb3, 0x47, 0x5c, 0x0a, 0x7c, 0xcb, 0xf3, 0x1e, 0x39, - 0x6d, 0xcc, 0x2c, 0x16, 0xf4, 0x81, 0x48, 0xa7, 0xda, 0xf2, 0xbc, 0x06, 0x31, 0x03, 0x6b, 0x81, - 0x44, 0xdb, 0x1b, 0xc6, 0x09, 0x8d, 0x14, 0x8d, 0xef, 0xbc, 0x1e, 0x48, 0xac, 0x9d, 0xd9, 0x65, - 0x58, 0x68, 0x3b, 0x93, 0xb4, 0x8f, 0x01, 0x9a, 0xd8, 0x6e, 0x37, 0x88, 0x49, 0x01, 0xbc, 0x5e, - 0x92, 0x7f, 0x27, 0x41, 0x69, 0x38, 0x39, 0x47, 0x8b, 0xc3, 0x68, 0xf1, 0x08, 0x2d, 0x0e, 0xa1, - 0xe5, 0x12, 0xf5, 0x8c, 0xcf, 0xd3, 0x20, 0xe6, 0x30, 0x4d, 0x62, 0x13, 0xd5, 0x68, 0x75, 0x2c, - 0x6c, 0xfb, 0x5c, 0xa3, 0xc0, 0x35, 0x84, 0x26, 0xa4, 0xc2, 0x0c, 0xc1, 0x76, 0x7b, 0xcf, 0xea, - 0xe2, 0x72, 0xb1, 0x22, 0xad, 0x29, 0xfa, 0x50, 0xd6, 0x5a, 0x50, 0x7a, 0xd4, 0xc1, 0x86, 0x17, - 0x84, 0x67, 0x05, 0x8a, 0xbd, 0x50, 0x7e, 0xb9, 0x44, 0x4d, 0x38, 0x6e, 0x90, 0x79, 0xee, 0xe0, - 0x50, 0x8e, 0x06, 0x4f, 0x89, 0x2f, 0xc2, 0x07, 0x30, 0x37, 0x9a, 0x64, 0x92, 0x30, 0x68, 0xdf, - 0x4a, 0xb0, 0xd0, 0xc4, 0x14, 0x4f, 0x88, 0x8b, 0x89, 0xbe, 0x96, 0x61, 0xda, 0xf4, 0x9c, 0x9e, - 0x3b, 0x74, 0x75, 0x20, 0xd2, 0x11, 0x5d, 0x4e, 0x91, 0x80, 0x3a, 0x5c, 0x8a, 0x22, 0x98, 0x8a, - 0xa7, 0x5f, 0xc4, 0x5f, 0x08, 0xe3, 0xd7, 0x6a, 0xb0, 0x18, 0x76, 0x6d, 0x22, 0x84, 0x3b, 0xb0, - 0xd4, 0xc4, 0x7e, 0x40, 0x96, 0xa6, 0x6f, 0xf8, 0x3d, 0xa2, 0xc7, 0x5d, 0x93, 0xe2, 0xae, 0xad, - 0x40, 0x91, 0x30, 0x75, 0x66, 0xb0, 0xa0, 0x07, 0x92, 0xf6, 0x18, 0x96, 0xe3, 0x06, 0x27, 0x72, - 0xed, 0x1e, 0x5b, 0xba, 0xa7, 0x77, 0x4d, 0x7b, 0x06, 0xcb, 0xf5, 0x3f, 0xc4, 0x05, 0x01, 0xa4, - 0x12, 0x02, 0xf9, 0xa5, 0x04, 0x4b, 0x35, 0xdc, 0x69, 0xf6, 0x5c, 0xec, 0xd5, 0x69, 0x96, 0x03, - 0x1e, 0x8b, 0xf9, 0x92, 0x22, 0x7c, 0x1d, 0xf1, 0x46, 0x4e, 0xe3, 0x8d, 0x12, 0xe6, 0x4d, 0x26, - 0x3f, 0x68, 0xb0, 0xe3, 0x6e, 0x4c, 0x14, 0xec, 0x16, 0x0f, 0x76, 0x14, 0x50, 0x36, 0x0f, 0x16, - 0x41, 0xa1, 0xcc, 0x96, 0x19, 0xb3, 0xe9, 0xcf, 0x74, 0x40, 0xda, 0xe7, 0x3c, 0x31, 0x67, 0x77, - 0x77, 0xc2, 0x7d, 0xf1, 0x31, 0x3b, 0x5c, 0x3e, 0xf0, 0x2c, 0x1f, 0xd7, 0xac, 0x83, 0x83, 0xc9, - 0x31, 0x6a, 0x9f, 0xb1, 0x70, 0x85, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0x14, 0x40, 0x6b, 0x38, 0x6d, - 0xeb, 0xa0, 0xdf, 0xe0, 0x27, 0xab, 0x8e, 0x8d, 0x16, 0x75, 0x76, 0xeb, 0xc4, 0xc7, 0x36, 0xb1, - 0x1c, 0x3b, 0xe7, 0x2a, 0xa6, 0x7b, 0xb4, 0xd3, 0xf3, 0x5a, 0x78, 0xb4, 0xc1, 0x0e, 0xe4, 0x10, - 0x99, 0x95, 0xf8, 0xe6, 0x4b, 0x30, 0xa1, 0x13, 0xed, 0xf5, 0x5d, 0xcc, 0xa8, 0x59, 0xd0, 0xc5, - 0x26, 0x74, 0x02, 0x17, 0xbc, 0xa8, 0x53, 0xec, 0x92, 0x50, 0x60, 0x97, 0x84, 0x4d, 0x7e, 0x49, - 0xc8, 0xc4, 0x50, 0xd5, 0x93, 0x8c, 0x6c, 0xd9, 0xbe, 0xd7, 0xd7, 0x93, 0x27, 0x88, 0x9e, 0x4c, - 0xc5, 0xf8, 0xc9, 0x74, 0x07, 0x64, 0x7c, 0x52, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x9a, 0x8e, 0x63, - 0x76, 0x30, 0xbf, 0x9c, 0x3e, 0xef, 0x1d, 0x54, 0x9b, 0xbe, 0x67, 0xd9, 0xe6, 0xfb, 0x46, 0xa7, - 0x87, 0x75, 0x19, 0x9f, 0xa0, 0x07, 0x30, 0x67, 0xf8, 0xbe, 0xd1, 0x7a, 0x81, 0xdb, 0xdb, 0xf6, - 0x81, 0x53, 0x9e, 0xc9, 0x31, 0x2e, 0x34, 0x82, 0xd2, 0xc2, 0x22, 0x0c, 0x48, 0x79, 0xb6, 0x22, - 0xad, 0xcd, 0xe8, 0x03, 0x11, 0x6d, 0xc0, 0xb2, 0x45, 0xa8, 0xfb, 0x9e, 0x6d, 0x74, 0x46, 0xc0, - 0xcb, 0xc0, 0xd4, 0x12, 0xfb, 0x50, 0x15, 0x50, 0x97, 0x98, 0xff, 0xb5, 0x3c, 0xe2, 0xf3, 0xf8, - 0xb1, 0x13, 0xb6, 0xc4, 0x4e, 0xd8, 0x84, 0x1e, 0x15, 0x83, 0x9a, 0x1e, 0x44, 0xca, 0xed, 0x43, - 0xdc, 0x0f, 0xb8, 0x41, 0x7f, 0xa2, 0xbf, 0x41, 0xe1, 0x25, 0x05, 0x11, 0xdc, 0x41, 0x2f, 0x25, - 0x10, 0xf2, 0x09, 0xee, 0x73, 0x9c, 0x5c, 0xf3, 0x5f, 0xf2, 0x3f, 0x25, 0xed, 0xeb, 0x02, 0x5c, - 0xa6, 0x07, 0xd2, 0x9b, 0x4a, 0xc8, 0xde, 0x78, 0x42, 0xfe, 0x87, 0x11, 0x32, 0x03, 0xc0, 0x3b, - 0x36, 0xbe, 0x2d, 0x6c, 0xfc, 0x55, 0x82, 0xca, 0xf8, 0x64, 0x4e, 0x7a, 0x2f, 0x16, 0xb3, 0xa9, - 0xc4, 0xb3, 0x99, 0x1c, 0x8f, 0xa9, 0xb4, 0x78, 0x88, 0xd9, 0x28, 0x84, 0xb3, 0x71, 0x0b, 0x8a, - 0x1e, 0x26, 0xbd, 0x8e, 0x5f, 0x2e, 0x32, 0x86, 0x9e, 0x67, 0x0c, 0x1d, 0x82, 0xc5, 0xc4, 0xd5, - 0x03, 0x05, 0xb6, 0xf6, 0x1e, 0xb6, 0xdb, 0x6f, 0xf7, 0xda, 0xcb, 0x00, 0xf0, 0x6e, 0xed, 0xbd, - 0x4d, 0x6b, 0x6f, 0x7c, 0x32, 0xff, 0x4c, 0x6b, 0xef, 0x17, 0x05, 0xae, 0xd6, 0x87, 0x3b, 0x0d, - 0x0d, 0xe7, 0x19, 0xd6, 0x5f, 0xea, 0xd7, 0xae, 0xb8, 0x36, 0x95, 0xc8, 0xda, 0xcc, 0x5e, 0x7f, - 0x69, 0xe4, 0x2a, 0x8c, 0x21, 0x57, 0x05, 0x4a, 0x7e, 0xdf, 0xc5, 0x4f, 0x70, 0x9f, 0xad, 0x54, - 0x1a, 0x87, 0x59, 0x5d, 0x6c, 0x42, 0x04, 0x56, 0xba, 0xe1, 0x1c, 0x0f, 0x94, 0xa7, 0x59, 0xd0, - 0xee, 0xb3, 0xa0, 0xe5, 0x88, 0x4d, 0xb5, 0x11, 0x33, 0xa3, 0xa7, 0x98, 0x56, 0x0f, 0x00, 0xc5, - 0xb5, 0xa3, 0xdc, 0x90, 0xf2, 0x72, 0x43, 0x4e, 0xe3, 0x86, 0xf6, 0x83, 0x04, 0xd7, 0xb2, 0x5d, - 0x9f, 0x88, 0xc8, 0x4d, 0x58, 0x22, 0x96, 0x6d, 0x76, 0xf0, 0x10, 0x08, 0x63, 0x1a, 0x7f, 0x3d, - 0xbb, 0xc2, 0xef, 0x21, 0x62, 0xff, 0x70, 0x42, 0xae, 0xa8, 0x27, 0x8d, 0xd6, 0x7e, 0x92, 0x61, - 0x75, 0xdc, 0xa8, 0x09, 0xfc, 0xf4, 0xd2, 0x76, 0x6d, 0xee, 0xe9, 0xbf, 0x33, 0x3d, 0x3d, 0xfb, - 0x96, 0x3d, 0x15, 0x4b, 0xe4, 0xeb, 0xda, 0xc4, 0x7e, 0x94, 0xe0, 0x6a, 0xe6, 0xe7, 0xc9, 0x84, - 0x9f, 0x7c, 0x25, 0xd2, 0x6b, 0xb5, 0x30, 0x21, 0x42, 0x30, 0x11, 0x0b, 0x26, 0xb3, 0x3d, 0x78, - 0xb6, 0xd3, 0x45, 0x35, 0xb4, 0x01, 0x70, 0x60, 0x58, 0x1d, 0xdc, 0x66, 0x83, 0xa6, 0x52, 0x07, - 0x09, 0x5a, 0xda, 0x6f, 0x32, 0xdc, 0xa8, 0xe1, 0x0e, 0xf6, 0xf1, 0x1b, 0xbd, 0x3b, 0x65, 0x3f, - 0x25, 0xa6, 0xed, 0x5f, 0xc5, 0x53, 0x1f, 0x8e, 0xd3, 0xa9, 0x87, 0xc1, 0x6e, 0x1a, 0xdb, 0x67, - 0x58, 0xac, 0xc7, 0xf2, 0x26, 0x79, 0xa4, 0xf6, 0x95, 0x04, 0x37, 0x73, 0xc5, 0x7f, 0x22, 0x1e, - 0x9d, 0xe2, 0x8c, 0x72, 0x60, 0x3e, 0xc4, 0x12, 0x74, 0x07, 0x66, 0xf1, 0xa0, 0x21, 0xa8, 0x7c, - 0x9c, 0x8b, 0x90, 0x69, 0xa4, 0x20, 0xfa, 0x26, 0xa7, 0xf9, 0xa6, 0x84, 0x9e, 0x93, 0x7e, 0x96, - 0x61, 0x76, 0x68, 0x0a, 0xed, 0xa7, 0x85, 0x56, 0x62, 0x8e, 0xdf, 0x0a, 0xcf, 0x7c, 0xf6, 0x5d, - 0x43, 0xce, 0xbb, 0xfd, 0x2b, 0xa9, 0x6c, 0xd0, 0x22, 0x57, 0x3d, 0xbe, 0x11, 0x85, 0x2f, 0x73, - 0xe7, 0xd8, 0xe5, 0x91, 0xd3, 0x55, 0xc6, 0x27, 0xea, 0x47, 0xa7, 0xdc, 0x99, 0x6e, 0x86, 0x77, - 0xa6, 0x84, 0xfc, 0x09, 0xfb, 0x51, 0x1f, 0xe6, 0xc4, 0x2e, 0x74, 0x0f, 0x66, 0x0e, 0x03, 0x39, - 0x48, 0xe0, 0x58, 0x86, 0x0e, 0x95, 0x27, 0x48, 0xe6, 0x2b, 0x09, 0x96, 0x84, 0xe2, 0x11, 0x8d, - 0x11, 0xab, 0x1e, 0xc5, 0x6a, 0x44, 0x52, 0x8e, 0x1a, 0x91, 0x7c, 0xea, 0x1a, 0x91, 0x12, 0xa9, - 0x11, 0x6d, 0x7c, 0x01, 0xa0, 0x74, 0x89, 0x89, 0x9e, 0xc1, 0x42, 0xa4, 0xb6, 0x83, 0xae, 0x27, - 0xc4, 0x20, 0x5e, 0x4f, 0x52, 0x6f, 0xe4, 0x51, 0x23, 0x2e, 0x72, 0x60, 0xf9, 0x69, 0xaf, 0xd3, - 0x09, 0x56, 0xef, 0x66, 0xbf, 0x89, 0x8f, 0x98, 0x7f, 0x7f, 0x4d, 0x18, 0x9f, 0xa4, 0x48, 0xe7, - 0xba, 0x9d, 0x5b, 0x97, 0xad, 0xcb, 0xe9, 0xe0, 0xdd, 0x1a, 0x2d, 0x04, 0x0f, 0x12, 0x83, 0x1a, - 0x92, 0xba, 0x18, 0x6e, 0x20, 0x2e, 0xda, 0x05, 0xa8, 0xe1, 0x4e, 0x83, 0x98, 0x7c, 0x11, 0x24, - 0x4c, 0x34, 0xea, 0xa6, 0x16, 0xae, 0x64, 0x68, 0x10, 0x17, 0xd5, 0x61, 0x31, 0xfa, 0xa2, 0x8c, - 0xca, 0x6c, 0xe2, 0x84, 0xf7, 0x6e, 0xf5, 0x62, 0x4a, 0x0f, 0x71, 0xd1, 0x3a, 0xcc, 0x0c, 0x8a, - 0x2f, 0x88, 0x7b, 0x2e, 0x14, 0x7c, 0xd4, 0xf3, 0x91, 0x16, 0xe2, 0xa2, 0xfb, 0x30, 0x27, 0xd6, - 0x33, 0xd0, 0xf2, 0xf0, 0x41, 0x46, 0xa8, 0xbe, 0xa8, 0x17, 0x12, 0x5a, 0xb9, 0xdb, 0xd1, 0xaa, - 0x43, 0xe0, 0x76, 0x42, 0x75, 0x23, 0x70, 0x3b, 0xb1, 0x4c, 0x51, 0x87, 0xc5, 0x7a, 0xb2, 0xa1, - 0x7a, 0xaa, 0xa1, 0xfa, 0x18, 0x43, 0x09, 0x81, 0x4c, 0x78, 0x67, 0x17, 0x0c, 0xc5, 0x02, 0x59, - 0x63, 0x2c, 0x17, 0x9f, 0x9a, 0xd1, 0x5f, 0x06, 0xda, 0x91, 0xa7, 0x6c, 0xb5, 0x9c, 0xdc, 0x41, - 0x5c, 0x74, 0x08, 0xab, 0xe3, 0x9e, 0x43, 0xd0, 0xb5, 0x3c, 0xcf, 0x5f, 0xea, 0xf5, 0x1c, 0x5a, - 0xc4, 0x45, 0xc7, 0x50, 0xc9, 0xba, 0x3a, 0xa3, 0xb5, 0xbc, 0x1f, 0x07, 0xea, 0xad, 0x9c, 0x9a, - 0x1c, 0xe5, 0xb8, 0x0f, 0xcf, 0x00, 0x65, 0xc6, 0x43, 0x43, 0x80, 0x32, 0xf3, 0x0b, 0xf6, 0x53, - 0xb8, 0x1c, 0x3a, 0xdc, 0x13, 0xe6, 0xbb, 0x3d, 0x58, 0x1f, 0x39, 0xae, 0x60, 0xea, 0x9d, 0xfc, - 0xca, 0xc4, 0xdd, 0xbc, 0xf4, 0xe1, 0xc5, 0x1d, 0x17, 0xdb, 0xfb, 0xdb, 0x0d, 0xe1, 0x0f, 0x17, - 0x5d, 0x62, 0xde, 0xef, 0x12, 0xf3, 0x79, 0x91, 0x89, 0x7f, 0xff, 0x3d, 0x00, 0x00, 0xff, 0xff, - 0x9c, 0xc6, 0x92, 0x59, 0xd9, 0x21, 0x00, 0x00, +var fileDescriptor_msg_96239333e69eba2c = []byte{ + // 1761 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6e, 0xdb, 0x46, + 0x17, 0x06, 0x45, 0x4b, 0xb2, 0x8e, 0xec, 0xd8, 0x19, 0x3b, 0xfe, 0x15, 0xc6, 0x40, 0x14, 0xe6, + 0xe6, 0xfc, 0x49, 0x64, 0xfc, 0xfe, 0x0b, 0xa4, 0x68, 0x0a, 0x34, 0x71, 0xe4, 0x2a, 0x46, 0xaa, + 0x3a, 0xa6, 0xdc, 0x16, 0x68, 0x17, 0x0e, 0x23, 0x8d, 0x18, 0xc2, 0x12, 0x49, 0x73, 0xa8, 0xd8, + 0xea, 0x6d, 0x51, 0xa0, 0xdd, 0x65, 0xd1, 0x65, 0x57, 0xdd, 0x75, 0x97, 0x27, 0xe8, 0xaa, 0x0f, + 0x50, 0x74, 0xd3, 0xb7, 0xe8, 0x4b, 0x14, 0x9c, 0x21, 0xa5, 0xe1, 0x4d, 0xa4, 0xe5, 0x20, 0x41, + 0x2f, 0x3b, 0x9d, 0x99, 0x33, 0x67, 0xce, 0x77, 0xce, 0x37, 0x17, 0xce, 0x11, 0xcc, 0xf7, 0x89, + 0xb6, 0xde, 0x27, 0x5a, 0xcd, 0xb2, 0x4d, 0xc7, 0x44, 0x62, 0x9f, 0x68, 0xd2, 0xda, 0x8e, 0x85, + 0x8d, 0xdb, 0xdb, 0xcd, 0xdb, 0x2d, 0x6c, 0x3f, 0xc7, 0xf6, 0xba, 0x75, 0xa0, 0xad, 0xd3, 0xee, + 0x75, 0xd2, 0x39, 0xd8, 0x3f, 0x22, 0xeb, 0x47, 0x84, 0xa9, 0x4b, 0xb5, 0x54, 0x4d, 0x5b, 0xb5, + 0x2c, 0x6c, 0x7b, 0xfa, 0xf2, 0x17, 0x50, 0x6e, 0x12, 0xad, 0xae, 0x3a, 0xea, 0x9e, 0xd9, 0xdc, + 0x45, 0xcb, 0x90, 0x77, 0xcc, 0x03, 0x6c, 0x54, 0x84, 0xaa, 0xb0, 0x56, 0x52, 0x98, 0x80, 0xaa, + 0x50, 0x36, 0x2d, 0x6c, 0xab, 0x8e, 0x6e, 0x1a, 0xdb, 0xf5, 0x4a, 0x8e, 0xf6, 0xf1, 0x4d, 0xe8, + 0x2d, 0x28, 0xf6, 0x99, 0x99, 0x8a, 0x58, 0x15, 0xd6, 0xca, 0x1b, 0x52, 0x8d, 0x50, 0x07, 0xf6, + 0x55, 0x4b, 0xdf, 0xb7, 0x54, 0x5b, 0xed, 0x93, 0x9a, 0x37, 0x91, 0xe2, 0xab, 0xca, 0x98, 0x9b, + 0xbc, 0xbe, 0xc9, 0x1b, 0x11, 0x32, 0x1b, 0x49, 0x77, 0x4e, 0x7e, 0x21, 0xc0, 0xc2, 0xe3, 0x01, + 0x79, 0xc6, 0x03, 0xad, 0x42, 0x79, 0x87, 0x1b, 0xc5, 0xe0, 0xf2, 0x4d, 0xbc, 0x37, 0xb9, 0xec, + 0xde, 0xc8, 0x30, 0x67, 0x0d, 0xc8, 0xb3, 0x3d, 0xf3, 0x23, 0x82, 0xed, 0xed, 0x3a, 0x8d, 0x46, + 0x49, 0x09, 0xb4, 0xc9, 0x3f, 0x09, 0x80, 0xc6, 0xbe, 0x98, 0x86, 0x66, 0x6e, 0x0e, 0x9b, 0xbb, + 0xa8, 0x02, 0xc5, 0x9e, 0x4a, 0x9c, 0x16, 0x3e, 0xa4, 0xee, 0xcc, 0x28, 0xbe, 0x88, 0xae, 0xc0, + 0xbc, 0xaa, 0x69, 0x36, 0xd6, 0x82, 0x20, 0x83, 0x8d, 0x68, 0x03, 0xca, 0x7d, 0x4c, 0x88, 0xaa, + 0xe1, 0x0f, 0x74, 0xe2, 0x54, 0xc4, 0xaa, 0xb8, 0x56, 0xde, 0x58, 0xac, 0xb9, 0x54, 0xe2, 0x90, + 0x2b, 0xbc, 0x12, 0x5a, 0x85, 0x92, 0x63, 0xeb, 0x9a, 0x46, 0x7d, 0x9d, 0xa1, 0x56, 0xc7, 0x0d, + 0xf2, 0x87, 0x80, 0x1a, 0xd8, 0x69, 0xaa, 0xc7, 0xf7, 0x8d, 0x4e, 0x53, 0x37, 0x5a, 0xf8, 0x50, + 0xc1, 0x87, 0x68, 0x05, 0x0a, 0x1e, 0x38, 0x16, 0x35, 0x4f, 0x0a, 0x87, 0x34, 0x17, 0x09, 0xa9, + 0x7c, 0x04, 0x4b, 0x11, 0x7b, 0xc4, 0x72, 0x81, 0x6f, 0xd9, 0xf6, 0x03, 0xb3, 0x83, 0xa9, 0xc5, + 0xbc, 0xe2, 0x8b, 0xee, 0x54, 0x5b, 0xb6, 0xdd, 0x24, 0x9a, 0x67, 0xcd, 0x93, 0xdc, 0xf6, 0xa6, + 0x7a, 0xec, 0x46, 0xca, 0x8d, 0xef, 0xbc, 0xe2, 0x49, 0xb4, 0x9d, 0xda, 0xa5, 0x58, 0xdc, 0x76, + 0x2a, 0xc9, 0x9f, 0x03, 0xb4, 0xb0, 0xd1, 0x69, 0x12, 0xcd, 0x05, 0xf0, 0x7a, 0x49, 0xfe, 0xa3, + 0x00, 0xe5, 0xd1, 0xe4, 0x0c, 0x2d, 0x0e, 0xa2, 0xc5, 0x63, 0xb4, 0x38, 0x80, 0x96, 0x49, 0xae, + 0x67, 0x6c, 0x9e, 0x26, 0xd1, 0x46, 0x69, 0xe2, 0x9b, 0x5c, 0x8d, 0x76, 0x4f, 0xc7, 0x86, 0xc3, + 0x34, 0xf2, 0x4c, 0x83, 0x6b, 0x42, 0x12, 0xcc, 0x12, 0x6c, 0x74, 0xf6, 0xf4, 0x3e, 0xae, 0x14, + 0xaa, 0xc2, 0x9a, 0xa8, 0x8c, 0x64, 0xb9, 0x0d, 0xe5, 0x07, 0x3d, 0xac, 0xda, 0x5e, 0x78, 0x56, + 0xa0, 0x30, 0x08, 0xe4, 0x97, 0x49, 0xae, 0x09, 0xd3, 0xf2, 0x32, 0xcf, 0x1c, 0x1c, 0xc9, 0xe1, + 0xe0, 0x89, 0xd1, 0x45, 0x78, 0x0f, 0xe6, 0xc6, 0x93, 0x4c, 0x13, 0x06, 0xf9, 0x07, 0x01, 0x16, + 0x5a, 0xd8, 0xc5, 0x13, 0xe0, 0x62, 0xac, 0xaf, 0x15, 0x28, 0x6a, 0xb6, 0x39, 0xb0, 0x46, 0xae, + 0xfa, 0xa2, 0x3b, 0xa2, 0xcf, 0x28, 0xe2, 0x51, 0x87, 0x49, 0x61, 0x04, 0x33, 0xd1, 0xf4, 0xf3, + 0xf8, 0xf3, 0x41, 0xfc, 0x72, 0x1d, 0x16, 0x83, 0xae, 0x4d, 0x85, 0x70, 0x07, 0x96, 0x5a, 0xd8, + 0xf1, 0xc8, 0xd2, 0x72, 0x54, 0x67, 0x40, 0x94, 0xa8, 0x6b, 0x42, 0xd4, 0xb5, 0x15, 0x28, 0x10, + 0xaa, 0x4e, 0x0d, 0xe6, 0x15, 0x4f, 0x92, 0x1f, 0xc2, 0x72, 0xd4, 0xe0, 0x54, 0xae, 0xdd, 0xa1, + 0x4b, 0xf7, 0xe4, 0xae, 0xc9, 0x4f, 0x60, 0xb9, 0xf1, 0x4a, 0x5c, 0xe0, 0x40, 0x8a, 0x01, 0x90, + 0xdf, 0x0a, 0xb0, 0x54, 0xc7, 0xbd, 0xd6, 0xc0, 0xc2, 0x76, 0xc3, 0xcd, 0xb2, 0xc7, 0x63, 0x3e, + 0x5f, 0x42, 0x88, 0xaf, 0x63, 0xde, 0xe4, 0x92, 0x78, 0x23, 0x06, 0x79, 0x93, 0xca, 0x0f, 0x37, + 0xd8, 0x51, 0x37, 0xa6, 0x0a, 0x76, 0x9b, 0x05, 0x3b, 0x0c, 0x28, 0x9d, 0x07, 0x8b, 0x20, 0xba, + 0xcc, 0xce, 0x51, 0x66, 0xbb, 0x3f, 0x93, 0x01, 0xc9, 0x5f, 0xb3, 0xc4, 0x9c, 0xde, 0xdd, 0x29, + 0xf7, 0xc5, 0x87, 0xf4, 0x70, 0xf9, 0xc4, 0xd6, 0x1d, 0x5c, 0xd7, 0xbb, 0xdd, 0xe9, 0x31, 0xca, + 0x5f, 0xd1, 0x70, 0x05, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0xe7, 0x41, 0x6e, 0x9a, 0x1d, 0xbd, 0x3b, + 0x6c, 0xb2, 0x93, 0x55, 0xc1, 0x6a, 0xdb, 0x75, 0x76, 0xeb, 0xd8, 0xc1, 0x06, 0xd1, 0x4d, 0x23, + 0xe3, 0x2a, 0x76, 0xf7, 0x68, 0x73, 0x60, 0xb7, 0xf1, 0x78, 0x83, 0xf5, 0xe5, 0x00, 0x99, 0xc5, + 0xe8, 0xe6, 0x4b, 0x30, 0x71, 0x27, 0xda, 0x1b, 0x5a, 0x98, 0x52, 0x33, 0xaf, 0xf0, 0x4d, 0xe8, + 0x18, 0xce, 0xd9, 0x61, 0xa7, 0xe8, 0x25, 0x21, 0x4f, 0x2f, 0x09, 0x9b, 0xec, 0x92, 0x90, 0x8a, + 0xa1, 0xa6, 0xc4, 0x19, 0xd9, 0x32, 0x1c, 0x7b, 0xa8, 0xc4, 0x4f, 0x10, 0x3e, 0x99, 0x0a, 0xd1, + 0x93, 0xe9, 0x16, 0xe4, 0xf0, 0x71, 0xa5, 0x48, 0xe3, 0xbd, 0x5a, 0xd3, 0x4c, 0x53, 0xeb, 0x61, + 0x76, 0x39, 0x7d, 0x3a, 0xe8, 0xd6, 0x5a, 0x8e, 0xad, 0x1b, 0xda, 0xc7, 0x6a, 0x6f, 0x80, 0x95, + 0x1c, 0x3e, 0x46, 0xf7, 0x60, 0x4e, 0x75, 0x1c, 0xb5, 0xfd, 0x0c, 0x77, 0xb6, 0x8d, 0xae, 0x59, + 0x99, 0xcd, 0x30, 0x2e, 0x30, 0xc2, 0xa5, 0x85, 0x4e, 0x28, 0x90, 0x4a, 0xa9, 0x2a, 0xac, 0xcd, + 0x2a, 0xbe, 0x88, 0x36, 0x60, 0x59, 0x27, 0xae, 0xfb, 0xb6, 0xa1, 0xf6, 0xc6, 0xc0, 0x2b, 0x40, + 0xd5, 0x62, 0xfb, 0x50, 0x0d, 0x50, 0x9f, 0x68, 0xef, 0xeb, 0x36, 0x71, 0x58, 0xfc, 0xe8, 0x09, + 0x5b, 0xa6, 0x27, 0x6c, 0x4c, 0x8f, 0x84, 0x41, 0x4a, 0x0e, 0xa2, 0xcb, 0xed, 0x03, 0x3c, 0xf4, + 0xb8, 0xe1, 0xfe, 0x44, 0xff, 0x83, 0xfc, 0x73, 0x17, 0x84, 0x77, 0x07, 0xbd, 0x10, 0x43, 0xc8, + 0x47, 0x78, 0xc8, 0x70, 0x32, 0xcd, 0x77, 0x72, 0x6f, 0x0b, 0xf2, 0xcf, 0x79, 0xb8, 0xe8, 0x1e, + 0x48, 0x6f, 0x86, 0x90, 0x35, 0x40, 0xfe, 0xef, 0xc7, 0x3d, 0xd5, 0xe9, 0x9a, 0x76, 0xdf, 0xdb, + 0x32, 0xf3, 0x4a, 0x4c, 0x4f, 0x98, 0xc0, 0xf9, 0x28, 0x81, 0x07, 0x49, 0x04, 0x2e, 0x50, 0x02, + 0xbf, 0x47, 0x09, 0x9c, 0x02, 0xf8, 0xf4, 0xec, 0x2d, 0x26, 0xb1, 0x77, 0x76, 0x4a, 0xf6, 0x96, + 0x4e, 0xc3, 0x5e, 0xc8, 0xc6, 0xde, 0xf2, 0x89, 0xd9, 0x3b, 0xf7, 0xa6, 0xd9, 0xfb, 0x87, 0x00, + 0xd5, 0xc9, 0xc9, 0x9c, 0xf6, 0x1e, 0xcd, 0x67, 0x53, 0x8c, 0x66, 0x33, 0x3e, 0x1e, 0x33, 0x49, + 0xf1, 0xe0, 0xb3, 0x91, 0x0f, 0x66, 0xe3, 0x06, 0x14, 0x6c, 0x4c, 0x06, 0x3d, 0x9f, 0xa1, 0x67, + 0x29, 0x43, 0x47, 0x60, 0x31, 0xb1, 0x14, 0x4f, 0x81, 0xae, 0xd5, 0xfb, 0x9d, 0xce, 0x3f, 0x6b, + 0xad, 0xa6, 0x00, 0xfe, 0x77, 0xad, 0xfe, 0x95, 0xd6, 0xea, 0xe4, 0x64, 0xfe, 0x9d, 0xd6, 0xea, + 0xef, 0x22, 0x5c, 0x6e, 0x8c, 0x76, 0x26, 0x37, 0x9c, 0xa7, 0x58, 0xaf, 0x89, 0x5f, 0xd3, 0xfc, + 0x5a, 0x16, 0x43, 0x6b, 0x39, 0xfd, 0xb2, 0x97, 0x44, 0xae, 0xfc, 0x04, 0x72, 0x55, 0xa1, 0xec, + 0x0c, 0x2d, 0xfc, 0x08, 0x0f, 0x47, 0x2b, 0xb5, 0xa4, 0xf0, 0x4d, 0x88, 0xc0, 0x4a, 0x3f, 0x98, + 0x63, 0x5f, 0xb9, 0x48, 0x83, 0x76, 0x97, 0x06, 0x2d, 0x43, 0x6c, 0x6a, 0xcd, 0x88, 0x19, 0x25, + 0xc1, 0xb4, 0xd4, 0x05, 0x14, 0xd5, 0x0e, 0x73, 0x43, 0xc8, 0xca, 0x8d, 0x5c, 0x12, 0x37, 0xe4, + 0x97, 0x02, 0x5c, 0x49, 0x77, 0x7d, 0x2a, 0x22, 0xb7, 0x60, 0x89, 0xe8, 0x86, 0xd6, 0xc3, 0x23, + 0x20, 0x94, 0x69, 0xec, 0x75, 0xee, 0x12, 0xbb, 0xb7, 0xf0, 0xfd, 0xa3, 0x09, 0x99, 0xa2, 0x12, + 0x37, 0x5a, 0xfe, 0x35, 0x07, 0xab, 0x93, 0x46, 0x4d, 0xe1, 0xa7, 0x9d, 0xb4, 0x6b, 0x33, 0x4f, + 0xdf, 0x4d, 0xf5, 0xf4, 0xf4, 0x5b, 0xf6, 0x4c, 0x24, 0x91, 0xaf, 0x6b, 0x13, 0xfb, 0x45, 0x80, + 0xcb, 0xa9, 0x9f, 0x3f, 0x53, 0x7e, 0x52, 0x96, 0xc9, 0xa0, 0xdd, 0xc6, 0x84, 0x70, 0xc1, 0x44, + 0x34, 0x98, 0xd4, 0xb6, 0xff, 0x2c, 0xa8, 0xf0, 0x6a, 0x68, 0x03, 0xa0, 0xab, 0xea, 0x3d, 0xdc, + 0xa1, 0x83, 0x66, 0x12, 0x07, 0x71, 0x5a, 0xf2, 0x4b, 0x11, 0xae, 0xd5, 0x71, 0x0f, 0x3b, 0xf8, + 0x0d, 0xee, 0x4e, 0xaf, 0xfe, 0x36, 0x91, 0xfe, 0x01, 0x99, 0xb4, 0xdf, 0x15, 0x4f, 0x7c, 0x98, + 0xce, 0x26, 0x1e, 0x1e, 0xbb, 0x49, 0xab, 0xa3, 0x44, 0x73, 0x33, 0x91, 0x67, 0xf1, 0x23, 0xe5, + 0xef, 0x04, 0xb8, 0x9e, 0x29, 0x5f, 0x53, 0xf1, 0xee, 0x04, 0x67, 0x9a, 0x09, 0xf3, 0x01, 0x56, + 0xa1, 0x5b, 0x50, 0xc2, 0x7e, 0x83, 0x57, 0x89, 0x39, 0x13, 0x22, 0xdf, 0x58, 0x81, 0xf7, 0x2d, + 0x97, 0xe4, 0x9b, 0x18, 0x78, 0xde, 0xfa, 0x2d, 0x07, 0xa5, 0x91, 0x29, 0xb4, 0x9f, 0x14, 0x5a, + 0x81, 0x3a, 0x7e, 0x23, 0x38, 0xf3, 0xe9, 0x77, 0x99, 0x5c, 0xd6, 0xe3, 0x42, 0x4c, 0x64, 0x83, + 0x1c, 0xba, 0x1a, 0xb2, 0x8d, 0x2b, 0x78, 0xf9, 0x3b, 0x43, 0x2f, 0x9b, 0xec, 0x9d, 0x38, 0x87, + 0x8f, 0xa5, 0xcf, 0x4e, 0xb8, 0x93, 0x5d, 0x0f, 0xee, 0x64, 0x31, 0xf9, 0xe3, 0xf6, 0xaf, 0x21, + 0xcc, 0xf1, 0x5d, 0xe8, 0x0e, 0xcc, 0x1e, 0x78, 0xb2, 0x97, 0xc0, 0x89, 0x0c, 0x1d, 0x29, 0x4f, + 0x91, 0xcc, 0x17, 0x02, 0x2c, 0x71, 0xc5, 0x2c, 0x37, 0x46, 0xb4, 0x9a, 0x15, 0xa9, 0x59, 0x09, + 0x19, 0x6a, 0x56, 0xb9, 0x13, 0xd7, 0xac, 0xc4, 0x50, 0xcd, 0x6a, 0xe3, 0x1b, 0x00, 0xb1, 0x4f, + 0x34, 0xf4, 0x04, 0x16, 0x42, 0xb5, 0x26, 0x74, 0x35, 0x26, 0x06, 0xd1, 0xfa, 0x96, 0x74, 0x2d, + 0x8b, 0x1a, 0xb1, 0x90, 0x09, 0xcb, 0x8f, 0x07, 0xbd, 0x9e, 0xb7, 0x7a, 0x37, 0x87, 0x2d, 0x7c, + 0x48, 0xfd, 0xfb, 0x6f, 0xcc, 0xf8, 0x38, 0x45, 0x77, 0xae, 0x9b, 0x99, 0x75, 0xe9, 0xba, 0x2c, + 0x7a, 0xef, 0xe8, 0x68, 0xc1, 0x7b, 0xf0, 0xf0, 0x6b, 0x5a, 0xd2, 0x62, 0xb0, 0x81, 0x58, 0x68, + 0x17, 0xa0, 0x8e, 0x7b, 0x4d, 0xa2, 0xb1, 0x45, 0x10, 0x33, 0xd1, 0xb8, 0xdb, 0xb5, 0x70, 0x29, + 0x45, 0x83, 0x58, 0xa8, 0x01, 0x8b, 0xe1, 0x17, 0x6e, 0x54, 0xa1, 0x13, 0xc7, 0xbc, 0xbf, 0x4b, + 0xe7, 0x13, 0x7a, 0x88, 0x85, 0xd6, 0x61, 0xd6, 0x2f, 0x06, 0x21, 0xe6, 0x39, 0x57, 0x80, 0x92, + 0xce, 0x86, 0x5a, 0x88, 0x85, 0xee, 0xc2, 0x1c, 0x5f, 0x5f, 0x41, 0xcb, 0xa3, 0x07, 0x1f, 0xae, + 0x1a, 0x24, 0x9d, 0x8b, 0x69, 0x65, 0x6e, 0x87, 0xab, 0x20, 0x9e, 0xdb, 0x31, 0xd5, 0x16, 0xcf, + 0xed, 0xd8, 0xb2, 0x49, 0x03, 0x16, 0x1b, 0xf1, 0x86, 0x1a, 0x89, 0x86, 0x1a, 0x13, 0x0c, 0xc5, + 0x04, 0x32, 0xe6, 0xdd, 0x9f, 0x33, 0x14, 0x09, 0x64, 0x9d, 0xb2, 0x9c, 0x7f, 0xfa, 0x46, 0xff, + 0xf1, 0xb5, 0x43, 0x4f, 0xeb, 0x52, 0x25, 0xbe, 0x83, 0x58, 0xe8, 0x00, 0x56, 0x27, 0x3d, 0xb7, + 0xa0, 0x2b, 0x59, 0x9e, 0xd7, 0xa4, 0xab, 0x19, 0xb4, 0x88, 0x85, 0x8e, 0xa0, 0x9a, 0x76, 0xd5, + 0x46, 0x6b, 0x59, 0x3f, 0x26, 0xa4, 0x1b, 0x19, 0x35, 0x19, 0xca, 0x49, 0x1f, 0xaa, 0x1e, 0xca, + 0x94, 0x87, 0x09, 0x0f, 0x65, 0xea, 0x17, 0xef, 0x97, 0x70, 0x31, 0x70, 0xb8, 0xc7, 0xcc, 0x77, + 0xd3, 0x5f, 0x1f, 0x19, 0xae, 0x6c, 0xd2, 0xad, 0xec, 0xca, 0xc4, 0xda, 0xbc, 0xf0, 0xe9, 0xf9, + 0x1d, 0x0b, 0x1b, 0xfb, 0xdb, 0x4d, 0xee, 0x0f, 0x20, 0x7d, 0xa2, 0xdd, 0xed, 0x13, 0xed, 0x69, + 0x81, 0x8a, 0xff, 0xff, 0x33, 0x00, 0x00, 0xff, 0xff, 0x4d, 0xec, 0xfc, 0x6f, 0x69, 0x22, 0x00, + 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 901ebb122..5a4e8794d 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -171,14 +171,15 @@ message SetMessageReactionExtensionsReq { string operationID = 1; string sourceID = 2; string opUserID = 3; - int32 sessionType = 4; - map reactionExtensionList = 5; - string clientMsgID = 6; - google.protobuf.StringValue ex = 7; - google.protobuf.StringValue attachedInfo = 8; - bool isReact = 9; - bool isExternalExtensions = 10; - int64 msgFirstModifyTime = 11; + int32 opUserIDPlatformID = 4; + int32 sessionType = 5; + map reactionExtensionList = 6; + string clientMsgID = 7; + google.protobuf.StringValue ex = 8; + google.protobuf.StringValue attachedInfo = 9; + bool isReact = 10; + bool isExternalExtensions = 11; + int64 msgFirstModifyTime = 12; } message SetMessageReactionExtensionsResp { int32 errCode = 1; @@ -192,14 +193,15 @@ message AddMessageReactionExtensionsReq { string operationID = 1; string sourceID = 2; string opUserID = 3; - int32 sessionType = 4; - map reactionExtensionList = 5; - string clientMsgID = 6; - google.protobuf.StringValue ex = 7; - google.protobuf.StringValue attachedInfo = 8; - bool isReact = 9; - bool isExternalExtensions = 10; - int64 msgFirstModifyTime = 11; + int32 opUserIDPlatformID = 4; + int32 sessionType = 5; + map reactionExtensionList = 6; + string clientMsgID = 7; + google.protobuf.StringValue ex = 8; + google.protobuf.StringValue attachedInfo = 9; + bool isReact = 10; + bool isExternalExtensions = 11; + int64 msgFirstModifyTime = 12; } message AddMessageReactionExtensionsResp { int32 errCode = 1; @@ -249,11 +251,12 @@ message DeleteMessageListReactionExtensionsReq { string operationID = 1; string opUserID = 2; string sourceID = 3; - int32 sessionType = 4; - string clientMsgID = 5; - bool isExternalExtensions = 6; - int64 msgFirstModifyTime = 7; - repeated server_api_params.KeyValue reactionExtensionList = 8; + int32 opUserIDPlatformID = 4; + int32 sessionType = 5; + string clientMsgID = 6; + bool isExternalExtensions = 7; + int64 msgFirstModifyTime = 8; + repeated server_api_params.KeyValue reactionExtensionList = 9; } message DeleteMessageListReactionExtensionsResp { diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 1665fff79..603738ef8 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -46,7 +46,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{0} + return fileDescriptor_ws_afc480fe1acbbaee, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -204,7 +204,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } func (*GroupInfoForSet) ProtoMessage() {} func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{1} + return fileDescriptor_ws_afc480fe1acbbaee, []int{1} } func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) @@ -309,7 +309,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{2} + return fileDescriptor_ws_afc480fe1acbbaee, []int{2} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -428,7 +428,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{3} + return fileDescriptor_ws_afc480fe1acbbaee, []int{3} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -505,7 +505,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{4} + return fileDescriptor_ws_afc480fe1acbbaee, []int{4} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -626,7 +626,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{5} + return fileDescriptor_ws_afc480fe1acbbaee, []int{5} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -711,7 +711,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} } func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{6} + return fileDescriptor_ws_afc480fe1acbbaee, []int{6} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -794,7 +794,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} } func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{7} + return fileDescriptor_ws_afc480fe1acbbaee, []int{7} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -916,7 +916,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{8} + return fileDescriptor_ws_afc480fe1acbbaee, []int{8} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1061,7 +1061,7 @@ func (m *Department) Reset() { *m = Department{} } func (m *Department) String() string { return proto.CompactTextString(m) } func (*Department) ProtoMessage() {} func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{9} + return fileDescriptor_ws_afc480fe1acbbaee, []int{9} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1173,7 +1173,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } func (*OrganizationUser) ProtoMessage() {} func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{10} + return fileDescriptor_ws_afc480fe1acbbaee, []int{10} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1294,7 +1294,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } func (*DepartmentMember) ProtoMessage() {} func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{11} + return fileDescriptor_ws_afc480fe1acbbaee, []int{11} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1375,7 +1375,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } func (*UserDepartmentMember) ProtoMessage() {} func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{12} + return fileDescriptor_ws_afc480fe1acbbaee, []int{12} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1421,7 +1421,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } func (*UserInDepartment) ProtoMessage() {} func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{13} + return fileDescriptor_ws_afc480fe1acbbaee, []int{13} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1470,7 +1470,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{14} + return fileDescriptor_ws_afc480fe1acbbaee, []int{14} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1529,7 +1529,7 @@ func (m *SeqList) Reset() { *m = SeqList{} } func (m *SeqList) String() string { return proto.CompactTextString(m) } func (*SeqList) ProtoMessage() {} func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{15} + return fileDescriptor_ws_afc480fe1acbbaee, []int{15} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1567,7 +1567,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} } func (m *MsgDataList) String() string { return proto.CompactTextString(m) } func (*MsgDataList) ProtoMessage() {} func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{16} + return fileDescriptor_ws_afc480fe1acbbaee, []int{16} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1608,7 +1608,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{17} + return fileDescriptor_ws_afc480fe1acbbaee, []int{17} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1669,7 +1669,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{18} + return fileDescriptor_ws_afc480fe1acbbaee, []int{18} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1722,7 +1722,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } func (*MaxAndMinSeq) ProtoMessage() {} func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{19} + return fileDescriptor_ws_afc480fe1acbbaee, []int{19} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1771,7 +1771,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{20} + return fileDescriptor_ws_afc480fe1acbbaee, []int{20} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1839,7 +1839,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{21} + return fileDescriptor_ws_afc480fe1acbbaee, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1903,6 +1903,9 @@ type MsgData struct { MsgDataList []byte `protobuf:"bytes,21,opt,name=msgDataList,proto3" json:"msgDataList,omitempty"` AttachedInfo string `protobuf:"bytes,22,opt,name=attachedInfo" json:"attachedInfo,omitempty"` Ex string `protobuf:"bytes,23,opt,name=ex" json:"ex,omitempty"` + IsReact bool `protobuf:"varint,24,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,25,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,26,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1912,7 +1915,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{22} + return fileDescriptor_ws_afc480fe1acbbaee, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2086,6 +2089,27 @@ func (m *MsgData) GetEx() string { return "" } +func (m *MsgData) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + +func (m *MsgData) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + +func (m *MsgData) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + type OfflinePushInfo struct { Title string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` Desc string `protobuf:"bytes,2,opt,name=desc" json:"desc,omitempty"` @@ -2101,7 +2125,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{23} + return fileDescriptor_ws_afc480fe1acbbaee, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2169,7 +2193,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{24} + return fileDescriptor_ws_afc480fe1acbbaee, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2226,7 +2250,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{25} + return fileDescriptor_ws_afc480fe1acbbaee, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2295,7 +2319,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{26} + return fileDescriptor_ws_afc480fe1acbbaee, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2350,7 +2374,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{27} + return fileDescriptor_ws_afc480fe1acbbaee, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2406,7 +2430,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{28} + return fileDescriptor_ws_afc480fe1acbbaee, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2462,7 +2486,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{29} + return fileDescriptor_ws_afc480fe1acbbaee, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2525,7 +2549,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{30} + return fileDescriptor_ws_afc480fe1acbbaee, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2588,7 +2612,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{31} + return fileDescriptor_ws_afc480fe1acbbaee, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2651,7 +2675,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{32} + return fileDescriptor_ws_afc480fe1acbbaee, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2714,7 +2738,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{33} + return fileDescriptor_ws_afc480fe1acbbaee, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2776,7 +2800,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{34} + return fileDescriptor_ws_afc480fe1acbbaee, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2830,7 +2854,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{35} + return fileDescriptor_ws_afc480fe1acbbaee, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2886,7 +2910,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberMutedTips) ProtoMessage() {} func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{36} + return fileDescriptor_ws_afc480fe1acbbaee, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2955,7 +2979,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberCancelMutedTips) ProtoMessage() {} func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{37} + return fileDescriptor_ws_afc480fe1acbbaee, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3016,7 +3040,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMutedTips) ProtoMessage() {} func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{38} + return fileDescriptor_ws_afc480fe1acbbaee, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3070,7 +3094,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupCancelMutedTips) ProtoMessage() {} func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{39} + return fileDescriptor_ws_afc480fe1acbbaee, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3125,7 +3149,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberInfoSetTips) ProtoMessage() {} func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{40} + return fileDescriptor_ws_afc480fe1acbbaee, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3185,7 +3209,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } func (*OrganizationChangedTips) ProtoMessage() {} func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{41} + return fileDescriptor_ws_afc480fe1acbbaee, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3232,7 +3256,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{42} + return fileDescriptor_ws_afc480fe1acbbaee, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3285,7 +3309,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{43} + return fileDescriptor_ws_afc480fe1acbbaee, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3331,7 +3355,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{44} + return fileDescriptor_ws_afc480fe1acbbaee, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3371,7 +3395,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{45} + return fileDescriptor_ws_afc480fe1acbbaee, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3418,7 +3442,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{46} + return fileDescriptor_ws_afc480fe1acbbaee, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3466,7 +3490,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{47} + return fileDescriptor_ws_afc480fe1acbbaee, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3519,7 +3543,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{48} + return fileDescriptor_ws_afc480fe1acbbaee, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3557,7 +3581,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{49} + return fileDescriptor_ws_afc480fe1acbbaee, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3595,7 +3619,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{50} + return fileDescriptor_ws_afc480fe1acbbaee, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3633,7 +3657,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{51} + return fileDescriptor_ws_afc480fe1acbbaee, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3672,7 +3696,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{52} + return fileDescriptor_ws_afc480fe1acbbaee, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3713,7 +3737,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{53} + return fileDescriptor_ws_afc480fe1acbbaee, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3767,7 +3791,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } func (*ConversationSetPrivateTips) ProtoMessage() {} func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{54} + return fileDescriptor_ws_afc480fe1acbbaee, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3822,7 +3846,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } func (*DeleteMessageTips) ProtoMessage() {} func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{55} + return fileDescriptor_ws_afc480fe1acbbaee, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3876,7 +3900,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{56} + return fileDescriptor_ws_afc480fe1acbbaee, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3922,7 +3946,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{57} + return fileDescriptor_ws_afc480fe1acbbaee, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -3979,7 +4003,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{58} + return fileDescriptor_ws_afc480fe1acbbaee, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4368,7 +4392,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{59} + return fileDescriptor_ws_afc480fe1acbbaee, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4698,7 +4722,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{60} + return fileDescriptor_ws_afc480fe1acbbaee, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4808,7 +4832,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{61} + return fileDescriptor_ws_afc480fe1acbbaee, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4863,7 +4887,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{62} + return fileDescriptor_ws_afc480fe1acbbaee, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4925,7 +4949,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{63} + return fileDescriptor_ws_afc480fe1acbbaee, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -4987,7 +5011,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{64} + return fileDescriptor_ws_afc480fe1acbbaee, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -5049,7 +5073,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{65} + return fileDescriptor_ws_afc480fe1acbbaee, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -5111,7 +5135,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{66} + return fileDescriptor_ws_afc480fe1acbbaee, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5169,7 +5193,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{67} + return fileDescriptor_ws_afc480fe1acbbaee, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5204,7 +5228,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{68} + return fileDescriptor_ws_afc480fe1acbbaee, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5272,7 +5296,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{69} + return fileDescriptor_ws_afc480fe1acbbaee, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5326,7 +5350,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{70} + return fileDescriptor_ws_afc480fe1acbbaee, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5377,7 +5401,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{71} + return fileDescriptor_ws_afc480fe1acbbaee, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5412,7 +5436,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{72} + return fileDescriptor_ws_afc480fe1acbbaee, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5477,7 +5501,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{73} + return fileDescriptor_ws_afc480fe1acbbaee, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5510,7 +5534,7 @@ func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupI func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{74} + return fileDescriptor_ws_afc480fe1acbbaee, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5564,7 +5588,7 @@ func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGrou func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{75} + return fileDescriptor_ws_afc480fe1acbbaee, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5618,7 +5642,7 @@ func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoo func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{76} + return fileDescriptor_ws_afc480fe1acbbaee, []int{76} } func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) @@ -5674,7 +5698,7 @@ func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{77} + return fileDescriptor_ws_afc480fe1acbbaee, []int{77} } func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) @@ -5729,7 +5753,7 @@ func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomI func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{78} + return fileDescriptor_ws_afc480fe1acbbaee, []int{78} } func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) @@ -5789,7 +5813,7 @@ func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoo func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{79} + return fileDescriptor_ws_afc480fe1acbbaee, []int{79} } func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) @@ -5837,7 +5861,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{80} + return fileDescriptor_ws_afc480fe1acbbaee, []int{80} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5897,7 +5921,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{81} + return fileDescriptor_ws_afc480fe1acbbaee, []int{81} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5943,7 +5967,7 @@ func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatu func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusReq) ProtoMessage() {} func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{82} + return fileDescriptor_ws_afc480fe1acbbaee, []int{82} } func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) @@ -5989,7 +6013,7 @@ func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStat func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusResp) ProtoMessage() {} func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{83} + return fileDescriptor_ws_afc480fe1acbbaee, []int{83} } func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) @@ -6039,7 +6063,7 @@ func (m *ExtendMsgSet) Reset() { *m = ExtendMsgSet{} } func (m *ExtendMsgSet) String() string { return proto.CompactTextString(m) } func (*ExtendMsgSet) ProtoMessage() {} func (*ExtendMsgSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{84} + return fileDescriptor_ws_afc480fe1acbbaee, []int{84} } func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) @@ -6116,7 +6140,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{85} + return fileDescriptor_ws_afc480fe1acbbaee, []int{85} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -6184,7 +6208,7 @@ func (m *KeyValue) Reset() { *m = KeyValue{} } func (m *KeyValue) String() string { return proto.CompactTextString(m) } func (*KeyValue) ProtoMessage() {} func (*KeyValue) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_73169a3998a579bb, []int{86} + return fileDescriptor_ws_afc480fe1acbbaee, []int{86} } func (m *KeyValue) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValue.Unmarshal(m, b) @@ -6321,265 +6345,268 @@ func init() { proto.RegisterType((*KeyValue)(nil), "server_api_params.KeyValue") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_73169a3998a579bb) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_afc480fe1acbbaee) } -var fileDescriptor_ws_73169a3998a579bb = []byte{ - // 4104 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0x57, - 0x58, 0x9d, 0xd9, 0x8b, 0xbd, 0xdf, 0xfa, 0xb2, 0x9e, 0x24, 0xee, 0xd6, 0x4d, 0x83, 0x99, 0x46, - 0xa1, 0x84, 0xd4, 0x81, 0xf4, 0x02, 0xbd, 0x05, 0xf9, 0x92, 0x38, 0x6e, 0xb2, 0xb6, 0x3b, 0x9b, - 0x34, 0xa8, 0xad, 0x14, 0xc6, 0x3b, 0xc7, 0xeb, 0xa9, 0x67, 0x67, 0xc6, 0x73, 0x71, 0x62, 0x1e, - 0x40, 0x02, 0x04, 0x48, 0x3c, 0x20, 0x21, 0x2e, 0x12, 0xbc, 0xf1, 0x82, 0x40, 0xa8, 0x42, 0x08, - 0x10, 0x12, 0x08, 0x21, 0xc4, 0x03, 0x12, 0x48, 0xf4, 0x1d, 0x09, 0x04, 0x2f, 0x20, 0xc4, 0x1f, - 0x40, 0x42, 0x2a, 0x3a, 0xe7, 0x3b, 0x33, 0x73, 0xce, 0xcc, 0xec, 0x25, 0x96, 0xd5, 0x24, 0x0a, - 0x6f, 0xfe, 0xbe, 0x39, 0xdf, 0x77, 0xbe, 0xfb, 0xf9, 0xce, 0x65, 0x0d, 0xf3, 0xa1, 0x75, 0xf8, - 0xe8, 0x71, 0x78, 0xfd, 0x71, 0xb8, 0xe2, 0x07, 0x5e, 0xe4, 0x69, 0x0b, 0x21, 0x09, 0x8e, 0x49, - 0xf0, 0xc8, 0xf4, 0xed, 0x47, 0xbe, 0x19, 0x98, 0x83, 0x70, 0x69, 0x65, 0xc7, 0x27, 0xee, 0xdb, - 0x5b, 0x9d, 0xb7, 0xbb, 0xec, 0xd3, 0x75, 0xff, 0xb0, 0x7f, 0x9d, 0x0d, 0xbe, 0x9e, 0x10, 0x07, - 0xa6, 0xef, 0x93, 0x80, 0xb3, 0xd0, 0xff, 0xb5, 0x0a, 0x8d, 0xcd, 0xc0, 0x8b, 0xfd, 0x2d, 0x77, - 0xdf, 0xd3, 0xda, 0x30, 0xd5, 0x67, 0xc0, 0x46, 0x5b, 0x59, 0x56, 0xde, 0x6a, 0x18, 0x09, 0xa8, - 0x5d, 0x84, 0x06, 0xfb, 0x73, 0xdb, 0x1c, 0x90, 0xb6, 0xca, 0xbe, 0x65, 0x08, 0x4d, 0x87, 0x19, - 0xd7, 0x8b, 0xec, 0x7d, 0xbb, 0x67, 0x46, 0xb6, 0xe7, 0xb6, 0x2b, 0x6c, 0x80, 0x84, 0xa3, 0x63, - 0x6c, 0x37, 0x0a, 0x3c, 0x2b, 0xee, 0xb1, 0x31, 0x55, 0x1c, 0x23, 0xe2, 0xe8, 0xfc, 0xfb, 0x66, - 0x8f, 0x3c, 0x30, 0xee, 0xb5, 0x6b, 0x38, 0x3f, 0x07, 0xb5, 0x65, 0x68, 0x7a, 0x8f, 0x5d, 0x12, - 0x3c, 0x08, 0x49, 0xb0, 0xb5, 0xd1, 0xae, 0xb3, 0xaf, 0x22, 0x4a, 0xbb, 0x04, 0xd0, 0x0b, 0x88, - 0x19, 0x91, 0xfb, 0xf6, 0x80, 0xb4, 0xa7, 0x96, 0x95, 0xb7, 0x66, 0x0d, 0x01, 0x43, 0x39, 0x0c, - 0xc8, 0x60, 0x8f, 0x04, 0xeb, 0x5e, 0xec, 0x46, 0xed, 0x69, 0x36, 0x40, 0x44, 0x69, 0x73, 0xa0, - 0x92, 0x27, 0xed, 0x06, 0x63, 0xad, 0x92, 0x27, 0xda, 0x22, 0xd4, 0xc3, 0xc8, 0x8c, 0xe2, 0xb0, - 0x0d, 0xcb, 0xca, 0x5b, 0x35, 0x83, 0x43, 0xda, 0x65, 0x98, 0x65, 0x7c, 0xbd, 0x44, 0x9a, 0x26, - 0x23, 0x91, 0x91, 0xa9, 0xc5, 0xee, 0x9f, 0xf8, 0xa4, 0x3d, 0xc3, 0x18, 0x64, 0x08, 0xed, 0x2a, - 0xb4, 0x5c, 0x42, 0xac, 0xcf, 0x49, 0x90, 0x59, 0x6d, 0x96, 0x0d, 0x2a, 0xe0, 0xb5, 0x2b, 0x30, - 0xe7, 0x78, 0xde, 0x61, 0x87, 0x89, 0x4a, 0xfd, 0xd4, 0x9e, 0x63, 0x23, 0x73, 0x58, 0xed, 0x1a, - 0x2c, 0x98, 0xbe, 0xef, 0x9c, 0x20, 0xea, 0x76, 0x60, 0x13, 0xd7, 0x6a, 0xcf, 0xb3, 0xa1, 0xc5, - 0x0f, 0xda, 0xfb, 0xb0, 0x28, 0xfa, 0xe7, 0x81, 0x6f, 0x25, 0xb6, 0x6b, 0x31, 0xd3, 0x0c, 0xf9, - 0xaa, 0xad, 0x80, 0x26, 0x7d, 0x41, 0x13, 0x2c, 0x30, 0x13, 0x94, 0x7c, 0xd1, 0x7f, 0xa3, 0x02, - 0xf3, 0x69, 0x84, 0xdd, 0xf6, 0x82, 0x2e, 0x89, 0x9e, 0xe3, 0x38, 0xc3, 0x18, 0xa8, 0xa7, 0x31, - 0xb0, 0x59, 0xe2, 0x27, 0x1a, 0x5b, 0xcd, 0x1b, 0xaf, 0xaf, 0xf4, 0x3d, 0xaf, 0xef, 0x10, 0x4c, - 0xa4, 0xbd, 0x78, 0x7f, 0x65, 0xcb, 0x8d, 0xde, 0xb9, 0xf1, 0xb9, 0xe9, 0xc4, 0xa4, 0xc4, 0x89, - 0xeb, 0x05, 0x27, 0x4e, 0x8f, 0x67, 0x93, 0xf7, 0xf0, 0x56, 0x99, 0x87, 0x1b, 0xe3, 0xf9, 0x14, - 0xa9, 0xf4, 0xef, 0x54, 0x38, 0xc7, 0xdc, 0xc2, 0xb1, 0xb1, 0xe3, 0x8c, 0x29, 0x01, 0x8b, 0x50, - 0x8f, 0xd1, 0xd9, 0xe8, 0x17, 0x0e, 0x51, 0x97, 0x05, 0x9e, 0x43, 0xee, 0x91, 0x63, 0xe2, 0x30, - 0x8f, 0xd4, 0x8c, 0x0c, 0xa1, 0x2d, 0xc1, 0xf4, 0xd7, 0x9e, 0xed, 0xb2, 0xc0, 0xaa, 0xb2, 0x8f, - 0x29, 0x4c, 0xbf, 0xb9, 0x76, 0xef, 0xd0, 0xa5, 0xbe, 0x46, 0x3f, 0xa4, 0xb0, 0xe8, 0xa2, 0xba, - 0xec, 0xa2, 0x2b, 0x30, 0x67, 0xfa, 0x7e, 0xc7, 0x74, 0xfb, 0x24, 0xc0, 0x49, 0xa7, 0x30, 0x1d, - 0x64, 0x2c, 0x2d, 0x08, 0x74, 0xa6, 0xae, 0x17, 0x07, 0x3d, 0xc2, 0xac, 0x5d, 0x33, 0x04, 0x0c, - 0xe5, 0xe3, 0xf9, 0x24, 0x10, 0xf2, 0x18, 0x53, 0x3f, 0x87, 0xe5, 0x21, 0x01, 0x69, 0x48, 0xd0, - 0x42, 0x12, 0x47, 0xe4, 0x96, 0x6b, 0x31, 0xa5, 0x9a, 0xbc, 0x90, 0x64, 0x28, 0x5a, 0x20, 0x6c, - 0xf7, 0xd8, 0x8e, 0xd2, 0x72, 0x35, 0x83, 0x05, 0x42, 0x42, 0xea, 0xbf, 0xa4, 0xc0, 0xdc, 0x6e, - 0xbc, 0xe7, 0xd8, 0x3d, 0x86, 0xa0, 0xc6, 0xcf, 0x4c, 0xac, 0x48, 0x26, 0x16, 0x0d, 0xa5, 0x0e, - 0x37, 0x54, 0x45, 0x36, 0xd4, 0x22, 0xd4, 0xfb, 0xc4, 0xb5, 0x48, 0xc0, 0x0d, 0xcf, 0x21, 0xae, - 0x50, 0x2d, 0x51, 0x48, 0xff, 0x17, 0x15, 0xa6, 0xbf, 0x67, 0x11, 0x96, 0xa1, 0xe9, 0x1f, 0x78, - 0x2e, 0xd9, 0x8e, 0x69, 0xf0, 0x71, 0x59, 0x44, 0x94, 0x76, 0x1e, 0x6a, 0x7b, 0x76, 0x10, 0x1d, - 0x30, 0xef, 0xcf, 0x1a, 0x08, 0x50, 0x2c, 0x19, 0x98, 0x36, 0xba, 0xbc, 0x61, 0x20, 0xc0, 0x15, - 0x9a, 0x4e, 0x3d, 0x24, 0x2f, 0x05, 0x8d, 0xc2, 0x52, 0x50, 0x8c, 0x20, 0x28, 0x8d, 0xa0, 0xab, - 0xd0, 0xea, 0x3b, 0xde, 0x9e, 0xe9, 0x18, 0xa4, 0x77, 0xdc, 0x09, 0xfb, 0x3b, 0x7e, 0xc4, 0xdc, - 0x5d, 0x33, 0x0a, 0x78, 0x6a, 0x1f, 0x26, 0x62, 0x37, 0x0a, 0xb8, 0xbb, 0x53, 0x58, 0xff, 0x1f, - 0x05, 0x00, 0xd3, 0x8e, 0x99, 0x38, 0xb7, 0x96, 0x29, 0xc5, 0xb5, 0x6c, 0x11, 0xea, 0x01, 0x19, - 0x98, 0xc1, 0x61, 0x92, 0x6a, 0x08, 0xe5, 0x14, 0xab, 0x14, 0x14, 0xfb, 0x08, 0x60, 0x9f, 0xcd, - 0x43, 0xf9, 0x30, 0x93, 0xd3, 0xc2, 0x50, 0xe8, 0x12, 0x56, 0x12, 0x6f, 0x1b, 0xc2, 0x70, 0x9a, - 0xc7, 0xa6, 0x65, 0xf1, 0x74, 0xa9, 0x61, 0x1e, 0xa7, 0x88, 0x92, 0x6c, 0xa9, 0x8f, 0xc8, 0x96, - 0xa9, 0x34, 0xb8, 0xfe, 0x5b, 0x81, 0xc6, 0x9a, 0x63, 0xf6, 0x0e, 0x27, 0x54, 0x5d, 0x56, 0x51, - 0x2d, 0xa8, 0xb8, 0x09, 0xb3, 0x7b, 0x94, 0x5d, 0xa2, 0x02, 0xb3, 0x42, 0xf3, 0xc6, 0x0f, 0x96, - 0x68, 0x29, 0x27, 0x97, 0x21, 0xd3, 0xc9, 0xea, 0x56, 0xc7, 0xab, 0x5b, 0x1b, 0xa1, 0x6e, 0xba, - 0x5e, 0xe8, 0xbf, 0x5d, 0x81, 0x19, 0x56, 0x56, 0x0d, 0x72, 0x14, 0x93, 0x30, 0xd2, 0x3e, 0x81, - 0xe9, 0x38, 0x11, 0x55, 0x99, 0x54, 0xd4, 0x94, 0x44, 0xfb, 0x90, 0xaf, 0x87, 0x8c, 0x5e, 0x65, - 0xf4, 0x17, 0x4b, 0xe8, 0xd3, 0x05, 0xd6, 0xc8, 0x86, 0xd3, 0x95, 0xf0, 0xc0, 0x74, 0x2d, 0x87, - 0x18, 0x24, 0x8c, 0x9d, 0x88, 0xd7, 0x66, 0x09, 0x87, 0x91, 0x76, 0xd4, 0x09, 0xfb, 0x7c, 0x9d, - 0xe4, 0x10, 0xb5, 0x0e, 0x8e, 0xa3, 0x9f, 0x50, 0xf5, 0x0c, 0x41, 0x13, 0x3e, 0x20, 0x47, 0xcc, - 0x43, 0x98, 0x9e, 0x09, 0x98, 0xcd, 0xc9, 0xad, 0x86, 0x81, 0x20, 0xe1, 0xa8, 0x8b, 0x11, 0x66, - 0x0c, 0xb0, 0x11, 0x13, 0x30, 0x85, 0x3e, 0x4c, 0x2e, 0xe4, 0x50, 0x28, 0xe4, 0x85, 0x72, 0xdb, - 0x2c, 0x2b, 0xb7, 0xff, 0x5c, 0x81, 0x59, 0x4c, 0xc2, 0xc4, 0x35, 0x97, 0x68, 0xb6, 0x78, 0x03, - 0x29, 0x16, 0x05, 0x0c, 0xd5, 0x85, 0x42, 0xdb, 0x72, 0xd9, 0x93, 0x70, 0x34, 0xa0, 0x29, 0x7c, - 0x5b, 0x2a, 0x7f, 0x22, 0x2a, 0x99, 0x65, 0x53, 0x2c, 0x83, 0x02, 0x86, 0x16, 0x8e, 0xc8, 0x93, - 0x62, 0x2c, 0x85, 0x29, 0x6d, 0xe4, 0xa5, 0xf3, 0x63, 0x94, 0x09, 0x18, 0xea, 0xa5, 0xc8, 0x4b, - 0xe6, 0x46, 0x53, 0x67, 0x08, 0xe4, 0xcc, 0xe7, 0xc5, 0xe5, 0x2f, 0x85, 0x0b, 0xb1, 0xd1, 0x18, - 0x19, 0x1b, 0x20, 0xc5, 0x86, 0x9c, 0xa2, 0xcd, 0x42, 0x8a, 0x5e, 0x86, 0x59, 0xe4, 0x93, 0x5b, - 0xfe, 0x24, 0xa4, 0x1c, 0x61, 0xb3, 0xf9, 0x08, 0x93, 0x63, 0x64, 0x6e, 0x48, 0x8c, 0xcc, 0xa7, - 0x79, 0xf7, 0x27, 0x2a, 0xc0, 0x06, 0xf1, 0xcd, 0x20, 0x1a, 0x10, 0x37, 0xa2, 0xea, 0x59, 0x29, - 0x94, 0x3a, 0x57, 0xc2, 0x89, 0xab, 0x96, 0x2a, 0xaf, 0x5a, 0x1a, 0x54, 0x99, 0xc1, 0xd1, 0x9b, - 0xec, 0x6f, 0x6a, 0x4c, 0xdf, 0x0c, 0x90, 0x1b, 0xa6, 0x4a, 0x0a, 0xd3, 0x55, 0xc9, 0x0b, 0x2c, - 0xbe, 0x8e, 0xd5, 0x0c, 0x04, 0x68, 0x09, 0xc9, 0xe6, 0x63, 0xbb, 0x80, 0x3a, 0xae, 0x32, 0x32, - 0x76, 0xec, 0xc6, 0xe5, 0x2a, 0xb4, 0xc2, 0x78, 0x2f, 0x53, 0x6e, 0x3b, 0x1e, 0xf0, 0xa4, 0x29, - 0xe0, 0xa9, 0x51, 0x71, 0x47, 0x43, 0x07, 0xe1, 0xc2, 0x97, 0x21, 0xf2, 0x9d, 0x8c, 0xfe, 0xf7, - 0x2a, 0xb4, 0x76, 0x82, 0xbe, 0xe9, 0xda, 0x3f, 0x93, 0x76, 0xec, 0xa7, 0x6a, 0x00, 0x96, 0xa1, - 0x49, 0xdc, 0xbe, 0x63, 0x87, 0x07, 0xdb, 0x99, 0xdd, 0x44, 0x94, 0x68, 0xec, 0xea, 0xb0, 0x16, - 0xa1, 0x26, 0xb5, 0x08, 0x8b, 0x50, 0x1f, 0x78, 0x7b, 0xb6, 0x93, 0xc4, 0x3d, 0x87, 0x58, 0xcc, - 0x13, 0x87, 0xb0, 0x5e, 0x21, 0x8d, 0xf9, 0x04, 0x91, 0xb5, 0x0d, 0xd3, 0xa5, 0x6d, 0x43, 0x43, - 0x6c, 0x1b, 0x64, 0xc3, 0x43, 0xc1, 0xf0, 0x68, 0xae, 0x66, 0x5a, 0x87, 0x46, 0x2d, 0xf1, 0x7f, - 0xa3, 0x40, 0x2b, 0x73, 0x05, 0xf6, 0xd4, 0x43, 0x4d, 0x99, 0x8f, 0x4e, 0xb5, 0x24, 0x3a, 0xd3, - 0x98, 0xaa, 0x88, 0x31, 0x45, 0xa3, 0xd0, 0x0b, 0x6d, 0x61, 0x63, 0x93, 0xc2, 0x74, 0x36, 0x87, - 0x98, 0x82, 0x21, 0x11, 0x12, 0xb6, 0xb1, 0x75, 0x69, 0x1b, 0x9b, 0x5f, 0xa9, 0xff, 0x42, 0x81, - 0xf3, 0x34, 0x02, 0x0a, 0x6a, 0xec, 0x40, 0xcb, 0xcb, 0x45, 0x09, 0x5f, 0xca, 0xde, 0x2c, 0x59, - 0x8a, 0xf2, 0x01, 0x65, 0x14, 0x88, 0x29, 0x43, 0x2b, 0x37, 0x09, 0x5f, 0xdb, 0xca, 0x18, 0xe6, - 0xe5, 0x31, 0x0a, 0xc4, 0xfa, 0x5f, 0x29, 0xd0, 0xc2, 0xc5, 0x53, 0xa8, 0x01, 0x67, 0x2e, 0xf6, - 0x43, 0x38, 0x9f, 0x9f, 0xf9, 0x9e, 0x1d, 0x46, 0x6d, 0x75, 0xb9, 0x32, 0xa9, 0xe8, 0xa5, 0x0c, - 0xf4, 0x3f, 0x52, 0xe1, 0xd5, 0xdd, 0xd8, 0x71, 0x3a, 0x24, 0x0c, 0xcd, 0x3e, 0x59, 0x3b, 0xe9, - 0x92, 0x23, 0xfa, 0xc1, 0x20, 0x47, 0x43, 0x63, 0x88, 0x76, 0x52, 0xac, 0x15, 0xb1, 0x3d, 0x37, - 0x0d, 0x21, 0x11, 0x45, 0x53, 0x2e, 0x44, 0x3e, 0xed, 0xca, 0x72, 0x85, 0x2e, 0xd2, 0x1c, 0xd4, - 0x7e, 0x1a, 0x66, 0x58, 0x97, 0xc0, 0xa7, 0x69, 0x57, 0x99, 0x02, 0x1f, 0x97, 0xf6, 0x25, 0xa5, - 0x52, 0x61, 0xbf, 0xc1, 0xe1, 0x5b, 0x6e, 0x14, 0x9c, 0x18, 0x12, 0xc7, 0xa5, 0x2f, 0x61, 0xa1, - 0x30, 0x44, 0x6b, 0x41, 0xe5, 0x90, 0x9c, 0x70, 0x3d, 0xe8, 0x9f, 0xda, 0x8f, 0x42, 0xed, 0x98, - 0x6e, 0x50, 0xb9, 0xf7, 0x97, 0x4a, 0x24, 0xe0, 0x32, 0x1b, 0x38, 0xf0, 0x43, 0xf5, 0x27, 0x14, - 0xfd, 0xcd, 0x54, 0x31, 0x51, 0x47, 0x45, 0xd2, 0x51, 0xbf, 0x0b, 0xcd, 0x4e, 0xd8, 0xdf, 0x30, - 0x23, 0x93, 0x0d, 0xfc, 0x18, 0x9a, 0x83, 0x0c, 0x64, 0x83, 0xcb, 0xe7, 0xe3, 0x44, 0x86, 0x38, - 0x5c, 0xff, 0x56, 0x85, 0x76, 0xb9, 0x29, 0x42, 0x9f, 0xca, 0x40, 0x82, 0x60, 0xdd, 0xb3, 0x08, - 0x53, 0xad, 0x66, 0x24, 0x20, 0xf5, 0x1d, 0x09, 0x02, 0xba, 0xbe, 0xf1, 0x36, 0x1e, 0x21, 0x6d, - 0x05, 0xaa, 0x4e, 0xe2, 0x96, 0xd1, 0x52, 0xb0, 0x71, 0xda, 0x00, 0x5a, 0xcc, 0xba, 0x82, 0x42, - 0xdc, 0x67, 0xab, 0x13, 0xfb, 0x2c, 0xf4, 0xd1, 0x69, 0x02, 0x0f, 0x74, 0x5c, 0x81, 0xf5, 0x52, - 0x0f, 0x2e, 0x94, 0x0e, 0x2d, 0x71, 0xe0, 0xbb, 0xb2, 0x03, 0x2f, 0x0d, 0x57, 0x25, 0xef, 0x44, - 0x1f, 0xb4, 0x4d, 0x12, 0x75, 0xcc, 0x27, 0xab, 0xae, 0xd5, 0xb1, 0xdd, 0x2e, 0x39, 0xa2, 0xd1, - 0xbe, 0x0c, 0x4d, 0x7e, 0xdc, 0x90, 0xba, 0xa9, 0x61, 0x88, 0xa8, 0xa1, 0xa7, 0x10, 0xb9, 0x7c, - 0xa8, 0x14, 0xf2, 0x41, 0xbf, 0x09, 0x33, 0xe2, 0x74, 0x6c, 0x81, 0x31, 0x9f, 0x74, 0xc9, 0x11, - 0x53, 0x68, 0xd6, 0xe0, 0x10, 0xc3, 0xb3, 0x11, 0x7c, 0xf7, 0xc1, 0x21, 0xfd, 0x1f, 0x54, 0x38, - 0x57, 0x10, 0x39, 0xf4, 0x9f, 0x96, 0x8f, 0x18, 0x2f, 0x95, 0x61, 0xf1, 0x52, 0x95, 0xe2, 0xe5, - 0x10, 0x16, 0xd0, 0x49, 0xc2, 0xd4, 0xed, 0x1a, 0x0b, 0x80, 0x4f, 0xca, 0x36, 0x03, 0x45, 0x21, - 0xb9, 0xef, 0x05, 0x2c, 0x3a, 0xbf, 0xc8, 0x77, 0x89, 0xc0, 0x62, 0xf9, 0xe0, 0x12, 0xf7, 0xbf, - 0x27, 0xbb, 0xff, 0x07, 0xca, 0xdc, 0x2f, 0x4a, 0x22, 0xf8, 0xff, 0x08, 0xe6, 0x69, 0x51, 0xed, - 0x12, 0xd7, 0xea, 0x84, 0x7d, 0x66, 0xc8, 0x65, 0x68, 0x22, 0x7d, 0x27, 0xec, 0x67, 0x9b, 0x43, - 0x01, 0x45, 0x47, 0xf4, 0x1c, 0x9b, 0x16, 0x4f, 0x36, 0x82, 0x17, 0x3d, 0x01, 0x45, 0x17, 0xc8, - 0x90, 0xf0, 0x93, 0x19, 0x6a, 0xdd, 0x8a, 0x91, 0xc2, 0xfa, 0x9f, 0xd7, 0x61, 0x8a, 0x47, 0x23, - 0x5b, 0x14, 0xe9, 0x7e, 0x3c, 0x2d, 0xab, 0x08, 0x61, 0xcf, 0xdb, 0x3b, 0xce, 0xc2, 0x0b, 0x21, - 0xf1, 0x58, 0xac, 0x22, 0x1f, 0x8b, 0xe5, 0x64, 0xaa, 0x16, 0x65, 0xca, 0xe9, 0x55, 0x2b, 0xea, - 0x45, 0x5b, 0x3c, 0xd6, 0xf5, 0xec, 0x3a, 0x66, 0xb4, 0xef, 0x05, 0x03, 0xbe, 0xbd, 0xae, 0x19, - 0x05, 0x3c, 0x6d, 0x2b, 0x11, 0x97, 0xee, 0x0b, 0x70, 0x09, 0xcf, 0x61, 0x69, 0x17, 0x8e, 0x98, - 0x64, 0x7f, 0x80, 0xe7, 0x23, 0x32, 0x12, 0x65, 0x0b, 0x43, 0xdb, 0x73, 0x59, 0x87, 0x8a, 0xdb, - 0x00, 0x11, 0x45, 0x35, 0x1f, 0x84, 0xfd, 0xdb, 0x81, 0x37, 0xe0, 0x5b, 0xaf, 0x04, 0x64, 0x9a, - 0x7b, 0x6e, 0x94, 0x74, 0xb7, 0x78, 0x32, 0x22, 0xa2, 0x28, 0x2d, 0x07, 0x59, 0xc3, 0x34, 0x63, - 0x24, 0x20, 0x8d, 0xa5, 0x90, 0x1c, 0xf1, 0xc6, 0x9e, 0xfe, 0x29, 0x79, 0x6e, 0x5e, 0xf6, 0x5c, - 0xae, 0x53, 0x6b, 0xb1, 0xaf, 0x62, 0xa7, 0x96, 0xb5, 0x38, 0x0b, 0x52, 0x8b, 0xb3, 0x0a, 0x53, - 0x9e, 0x4f, 0xd3, 0x3f, 0x6c, 0x6b, 0x2c, 0x5d, 0x7e, 0x68, 0x78, 0x81, 0x5a, 0xd9, 0xc1, 0x91, - 0x98, 0x18, 0x09, 0x9d, 0x76, 0x0f, 0xe6, 0xbd, 0xfd, 0x7d, 0xc7, 0x76, 0xc9, 0x6e, 0x1c, 0x1e, - 0xb0, 0x6d, 0xf8, 0x39, 0x16, 0xec, 0x7a, 0x59, 0x13, 0x21, 0x8f, 0x34, 0xf2, 0xa4, 0xb4, 0xf3, - 0x33, 0x23, 0xdc, 0x00, 0xb1, 0x02, 0x77, 0x9e, 0x15, 0x38, 0x09, 0xc7, 0xce, 0x17, 0x85, 0x42, - 0x7f, 0x81, 0x19, 0x4e, 0x44, 0x21, 0x97, 0xc8, 0xec, 0x1d, 0x10, 0x76, 0xa0, 0xd4, 0x5e, 0xc4, - 0xfe, 0x51, 0xc4, 0xf1, 0xee, 0xee, 0xd5, 0xa4, 0xbb, 0x5b, 0xfa, 0x10, 0x66, 0x44, 0x05, 0x4b, - 0x92, 0xf9, 0xbc, 0x98, 0xcc, 0xd3, 0x62, 0xae, 0xfe, 0xa6, 0x02, 0xf3, 0x39, 0xd5, 0xe8, 0xe8, - 0xc8, 0x8e, 0x1c, 0xc2, 0x39, 0x20, 0x40, 0x77, 0x4e, 0x16, 0x09, 0x7b, 0x3c, 0x79, 0xd8, 0xdf, - 0x5c, 0x92, 0x4a, 0xda, 0x46, 0xeb, 0x30, 0x63, 0xef, 0x74, 0x29, 0xa3, 0xae, 0x17, 0xbb, 0x56, - 0x7a, 0x40, 0x2f, 0xe0, 0xd8, 0x96, 0x7e, 0xa7, 0xbb, 0x66, 0x5a, 0x7d, 0x82, 0xd7, 0x35, 0x35, - 0x26, 0x93, 0x8c, 0xd4, 0x2d, 0x98, 0xbe, 0x6f, 0xfb, 0xe1, 0xba, 0x37, 0x18, 0xd0, 0x10, 0xb0, - 0x48, 0x44, 0x7b, 0x7c, 0x85, 0x19, 0x8c, 0x43, 0xd4, 0x9a, 0x16, 0xd9, 0x37, 0x63, 0x27, 0xa2, - 0x43, 0x93, 0x92, 0x21, 0xa0, 0xd8, 0xf1, 0x42, 0xe8, 0xb9, 0x1b, 0x48, 0x8d, 0x72, 0x0a, 0x18, - 0xfd, 0xef, 0x54, 0x68, 0xb1, 0x8a, 0xb8, 0xce, 0x02, 0xce, 0x62, 0x44, 0x37, 0xa0, 0xc6, 0x0a, - 0x00, 0xef, 0x28, 0x47, 0x9f, 0xc9, 0xe0, 0x50, 0xed, 0x26, 0xd4, 0x3d, 0x9f, 0xb5, 0xa1, 0x58, - 0x2e, 0xaf, 0x0c, 0x23, 0x92, 0x8f, 0xe4, 0x0d, 0x4e, 0xa5, 0xdd, 0x06, 0x18, 0x64, 0x5d, 0x27, - 0x36, 0x0f, 0x93, 0xf2, 0x10, 0x28, 0xa9, 0x71, 0xd3, 0x75, 0x31, 0x3d, 0x97, 0xaf, 0x18, 0x32, - 0x52, 0xdb, 0x86, 0x39, 0x26, 0xf6, 0x4e, 0x72, 0x38, 0xc7, 0x7c, 0x30, 0xf9, 0x8c, 0x39, 0x6a, - 0xfd, 0xf7, 0x14, 0x6e, 0x46, 0xfa, 0xb5, 0x4b, 0xd0, 0xf6, 0x99, 0x49, 0x94, 0x53, 0x99, 0x64, - 0x09, 0xa6, 0x07, 0xb1, 0x70, 0x56, 0x58, 0x31, 0x52, 0x38, 0x73, 0x51, 0x65, 0x62, 0x17, 0xe9, - 0xbf, 0xaf, 0x40, 0xfb, 0x53, 0xcf, 0x76, 0xd9, 0x87, 0x55, 0xdf, 0x77, 0xf8, 0xf5, 0xcd, 0xa9, - 0x7d, 0xfe, 0x93, 0xd0, 0x30, 0x91, 0x8d, 0x1b, 0x71, 0xb7, 0x4f, 0x70, 0xfe, 0x97, 0xd1, 0x08, - 0x87, 0x30, 0x15, 0xf1, 0x10, 0x46, 0xff, 0x46, 0x81, 0x39, 0x34, 0xca, 0x67, 0xb1, 0x1d, 0x9d, - 0x5a, 0xbe, 0x35, 0x98, 0x3e, 0x8a, 0xed, 0xe8, 0x14, 0x51, 0x99, 0xd2, 0x15, 0xe3, 0xa9, 0x52, - 0x12, 0x4f, 0xfa, 0xb7, 0x0a, 0x5c, 0xcc, 0x9b, 0x75, 0xb5, 0xd7, 0x23, 0xfe, 0xb3, 0x4c, 0x29, - 0xe9, 0x10, 0xaa, 0x5a, 0x72, 0x08, 0x15, 0x90, 0x1e, 0xb1, 0x8f, 0x49, 0xb0, 0x1a, 0xf2, 0x5d, - 0xb5, 0x80, 0x29, 0x55, 0xc9, 0x20, 0x5f, 0x93, 0xde, 0x8b, 0xab, 0xd2, 0x2f, 0xa8, 0xf0, 0xda, - 0x66, 0x9a, 0xb8, 0xf7, 0x03, 0xd3, 0x0d, 0xf7, 0x49, 0x10, 0x3c, 0x43, 0x7d, 0xee, 0xc1, 0xac, - 0x4b, 0x1e, 0x67, 0x32, 0xf1, 0x74, 0x9e, 0x94, 0x8d, 0x4c, 0x3c, 0x59, 0xed, 0xd3, 0xff, 0x57, - 0x81, 0x16, 0xf2, 0xb9, 0x6b, 0xf7, 0x0e, 0x9f, 0xa1, 0xf2, 0xdb, 0x30, 0x77, 0xc8, 0x24, 0xa0, - 0xd0, 0x29, 0xca, 0x7e, 0x8e, 0x7a, 0x42, 0xf5, 0xbf, 0x53, 0x60, 0x21, 0xb9, 0x75, 0x3e, 0xb6, - 0x9f, 0x65, 0x30, 0xef, 0xc2, 0x3c, 0x9e, 0xe2, 0x9f, 0xd6, 0x00, 0x79, 0xf2, 0x09, 0x2d, 0xf0, - 0x67, 0x0a, 0xcc, 0x23, 0xa7, 0x5b, 0x6e, 0x44, 0x82, 0x53, 0xeb, 0x7f, 0x07, 0x9a, 0xc4, 0x8d, - 0x02, 0xd3, 0x3d, 0x4d, 0x85, 0x15, 0x49, 0x27, 0x2c, 0xb2, 0xdf, 0x28, 0xa0, 0x31, 0x56, 0x1b, - 0x76, 0x38, 0xb0, 0xc3, 0xf0, 0x19, 0xba, 0x6e, 0x32, 0x81, 0x7f, 0x47, 0x85, 0xf3, 0x02, 0x97, - 0x4e, 0x1c, 0x3d, 0xef, 0x22, 0x6b, 0x1b, 0xd0, 0xa0, 0x3d, 0x86, 0x78, 0xc7, 0x3a, 0xe9, 0x44, - 0x19, 0x21, 0xed, 0x82, 0x19, 0xd0, 0x25, 0x3d, 0xcf, 0xb5, 0xb0, 0x14, 0xcf, 0x1a, 0x12, 0x8e, - 0x96, 0xa1, 0x25, 0x81, 0xcd, 0xba, 0xe9, 0xf6, 0x88, 0xf3, 0xd2, 0x98, 0x48, 0xff, 0x43, 0x05, - 0xe6, 0x70, 0xc8, 0xf3, 0xaf, 0xb2, 0xfe, 0xc7, 0x0a, 0x0f, 0xe4, 0x17, 0xc6, 0x4b, 0x34, 0xbc, - 0x16, 0x05, 0x2e, 0x62, 0x5f, 0xfe, 0xfc, 0x86, 0xd6, 0x1d, 0x68, 0xf6, 0x0e, 0x4c, 0xb7, 0x7f, - 0xaa, 0xe0, 0x12, 0x49, 0xf5, 0x08, 0x5e, 0x15, 0x0f, 0xfd, 0xd7, 0xf1, 0x13, 0x53, 0xff, 0x9d, - 0x9c, 0x2a, 0x23, 0xdf, 0x50, 0x3c, 0x9d, 0xd1, 0x0f, 0x61, 0x01, 0x6f, 0xa1, 0x85, 0x9e, 0x51, - 0x6b, 0xc3, 0x94, 0x69, 0xe1, 0xd1, 0x87, 0xc2, 0x88, 0x12, 0x50, 0x7e, 0xa5, 0xc0, 0xdf, 0xc3, - 0x65, 0xaf, 0x14, 0x2e, 0x01, 0x98, 0x96, 0xf5, 0xd0, 0x0b, 0x2c, 0xdb, 0x4d, 0x36, 0x08, 0x02, - 0x46, 0xff, 0x14, 0x66, 0x6e, 0x07, 0xde, 0xe0, 0xbe, 0x70, 0x9f, 0x3c, 0xf2, 0xc6, 0x5b, 0xbc, - 0x8b, 0x56, 0xe5, 0xbb, 0x68, 0xfd, 0x2b, 0xb8, 0x50, 0x10, 0x9c, 0x19, 0x6b, 0x1d, 0xaf, 0xc9, - 0x93, 0x49, 0x78, 0xc8, 0x94, 0x9d, 0x05, 0x8a, 0xb2, 0x18, 0x12, 0x91, 0xfe, 0xf3, 0x0a, 0xbc, - 0x51, 0x60, 0xbf, 0xea, 0xfb, 0x81, 0x77, 0xcc, 0x7d, 0x72, 0x16, 0xd3, 0xc8, 0xcd, 0xb1, 0x9a, - 0x6b, 0x8e, 0xcb, 0x85, 0x90, 0x1a, 0xfa, 0xef, 0x41, 0x88, 0x3f, 0x50, 0x60, 0x9e, 0x0b, 0x61, - 0x59, 0x7c, 0xda, 0xf7, 0xa0, 0x8e, 0x0f, 0x75, 0xf8, 0x84, 0x6f, 0x94, 0x4e, 0x98, 0x3c, 0x30, - 0x32, 0xf8, 0xe0, 0x62, 0x44, 0xaa, 0x65, 0x19, 0xf5, 0x41, 0x1a, 0xec, 0x13, 0x3f, 0xa5, 0xe1, - 0x04, 0xfa, 0x4f, 0x25, 0xc1, 0xbc, 0x41, 0x1c, 0x72, 0x96, 0x36, 0xd2, 0x1f, 0xc0, 0x1c, 0x7b, - 0x35, 0x94, 0xd9, 0xe0, 0x4c, 0xd8, 0x3e, 0x84, 0x16, 0x63, 0x7b, 0xe6, 0xf2, 0xa6, 0xd9, 0x41, - 0xed, 0x23, 0x96, 0x92, 0x33, 0xe1, 0xfe, 0x36, 0x9c, 0x4b, 0x6c, 0x8f, 0x2f, 0x71, 0x91, 0xf7, - 0x90, 0xbb, 0x41, 0xfd, 0xb7, 0x14, 0x58, 0x5c, 0xf7, 0xdc, 0x63, 0x12, 0x84, 0xd2, 0xeb, 0x5d, - 0x24, 0x91, 0xb2, 0x9f, 0x43, 0xda, 0x0a, 0x68, 0x3d, 0x81, 0x82, 0x1f, 0x4f, 0xaa, 0xec, 0x78, - 0xb2, 0xe4, 0x8b, 0xf6, 0x2e, 0x5c, 0x88, 0x19, 0xd7, 0x07, 0x6e, 0x40, 0x4c, 0x8b, 0x9d, 0xc7, - 0x09, 0x45, 0xaf, 0xfc, 0xa3, 0xfe, 0x35, 0x2c, 0x89, 0x72, 0x75, 0x49, 0xb4, 0x1b, 0xd8, 0xc7, - 0x82, 0x6c, 0xfc, 0xec, 0x5d, 0x91, 0xce, 0xde, 0xb3, 0xb3, 0x7a, 0x55, 0x3a, 0xab, 0xbf, 0x08, - 0x0d, 0x3b, 0xe4, 0x0c, 0xd8, 0xbc, 0xd3, 0x46, 0x86, 0xd0, 0x4d, 0x58, 0x40, 0x2f, 0xf3, 0xbb, - 0x30, 0x36, 0xc5, 0x12, 0x4c, 0x63, 0xe8, 0xa6, 0x93, 0xa4, 0xf0, 0xd0, 0x9b, 0xa5, 0xa1, 0xf7, - 0xa8, 0x7a, 0x17, 0x16, 0xf8, 0x5b, 0xa2, 0x5d, 0xb3, 0x6f, 0xbb, 0x58, 0xcb, 0x2f, 0x01, 0xf8, - 0x66, 0x3f, 0x79, 0xd9, 0x88, 0x37, 0x82, 0x02, 0x86, 0x7e, 0x0f, 0x0f, 0xbc, 0xc7, 0xfc, 0xbb, - 0x8a, 0xdf, 0x33, 0x8c, 0xfe, 0x39, 0x68, 0x06, 0x09, 0x7d, 0xcf, 0x0d, 0x89, 0xc0, 0x75, 0x19, - 0x9a, 0xeb, 0x71, 0x10, 0x10, 0x97, 0x4e, 0x95, 0x3c, 0xcf, 0x13, 0x51, 0x94, 0x6f, 0x37, 0xe3, - 0x8b, 0xb7, 0x07, 0x02, 0x46, 0xff, 0xb7, 0x3a, 0x34, 0xba, 0x76, 0xdf, 0x35, 0x1d, 0x83, 0x1c, - 0x69, 0x1f, 0x43, 0x1d, 0x77, 0x46, 0x3c, 0x20, 0xcb, 0x4e, 0xb3, 0x71, 0x34, 0x6e, 0x01, 0x0d, - 0x72, 0x74, 0xe7, 0x15, 0x83, 0xd3, 0x68, 0x9f, 0x25, 0x2f, 0xae, 0xb6, 0xf0, 0xa4, 0x8c, 0x2f, - 0x93, 0x3f, 0x3c, 0x86, 0x09, 0x1f, 0x8d, 0xbc, 0x64, 0x0e, 0x54, 0xa0, 0x1e, 0xeb, 0x9c, 0x78, - 0x15, 0x1a, 0x2e, 0x10, 0x36, 0x58, 0x5c, 0x20, 0xa4, 0xa1, 0xd4, 0x26, 0x3b, 0x4b, 0xe2, 0x0d, - 0xc1, 0x70, 0x6a, 0x3c, 0x72, 0xe2, 0xd4, 0x48, 0x43, 0xa9, 0x0f, 0x62, 0xb7, 0xff, 0xc0, 0xe7, - 0x47, 0x9c, 0xc3, 0xa9, 0xef, 0xb0, 0x61, 0x9c, 0x1a, 0x69, 0x28, 0x75, 0xc0, 0xd6, 0x08, 0x66, - 0xf4, 0x51, 0xd4, 0xb8, 0x94, 0x70, 0x6a, 0xa4, 0xd1, 0xbe, 0x80, 0x56, 0x9f, 0x44, 0x86, 0xe7, - 0x0d, 0xd6, 0x4e, 0x36, 0xf9, 0x0d, 0x13, 0x3e, 0x30, 0xbf, 0x36, 0x94, 0xcf, 0x66, 0x8e, 0x00, - 0x39, 0x16, 0xf8, 0x68, 0x3f, 0x0b, 0x6f, 0x78, 0x2e, 0x45, 0xed, 0x9a, 0x41, 0x64, 0xf7, 0x6c, - 0xdf, 0x74, 0xa3, 0x75, 0xcf, 0x75, 0xd9, 0x7a, 0x66, 0x90, 0x23, 0xfe, 0x04, 0xfd, 0xfd, 0xa1, - 0x13, 0xed, 0x8c, 0xa2, 0xbe, 0xf3, 0x8a, 0x31, 0x9a, 0xbd, 0xf6, 0xcb, 0x0a, 0x2c, 0x17, 0x46, - 0x6c, 0xd8, 0x61, 0x4f, 0x94, 0x01, 0x9f, 0xaf, 0x7f, 0x30, 0xb9, 0x0c, 0x39, 0x06, 0x77, 0x5e, - 0x31, 0xc6, 0x4e, 0xc2, 0xad, 0x7c, 0xdf, 0x3b, 0x24, 0xee, 0xda, 0x09, 0x1d, 0xbb, 0xb5, 0xc1, - 0x6e, 0xb3, 0xc6, 0x58, 0x59, 0x22, 0xc8, 0xac, 0x2c, 0xa1, 0xd7, 0x1a, 0x30, 0xe5, 0x9b, 0x27, - 0x8e, 0x67, 0x5a, 0xfa, 0x7f, 0x56, 0x01, 0x12, 0x57, 0x87, 0xac, 0x23, 0x96, 0x92, 0xec, 0xf2, - 0xd8, 0x24, 0xf3, 0x9d, 0x13, 0x21, 0xcd, 0xba, 0xe5, 0x69, 0xf6, 0x23, 0x93, 0xa6, 0x19, 0x72, - 0xcb, 0x25, 0xda, 0xcd, 0x5c, 0xa2, 0x5d, 0x1e, 0x9b, 0x68, 0x5c, 0x28, 0x9e, 0x6a, 0x37, 0x73, - 0xa9, 0x76, 0x79, 0x6c, 0xaa, 0x71, 0x7a, 0x9e, 0x6c, 0x37, 0x73, 0xc9, 0x76, 0x79, 0x6c, 0xb2, - 0x71, 0x7a, 0x9e, 0x6e, 0x37, 0x73, 0xe9, 0x76, 0x79, 0x6c, 0xba, 0x71, 0x7a, 0x9e, 0x70, 0x5f, - 0x0d, 0x4d, 0xb8, 0x95, 0xa7, 0x48, 0x38, 0xe4, 0x59, 0x4c, 0xb9, 0xaf, 0x4a, 0x02, 0x6d, 0x7a, - 0x3c, 0xf7, 0x5c, 0xa0, 0x65, 0xdc, 0x87, 0x86, 0xda, 0x2f, 0x56, 0x60, 0x8e, 0xb9, 0x1b, 0x57, - 0x65, 0x77, 0xdf, 0x2b, 0xbe, 0x83, 0x55, 0x4a, 0xde, 0xc1, 0x6a, 0xd7, 0x60, 0x01, 0x11, 0x44, - 0xb8, 0x87, 0xc4, 0x85, 0xbe, 0xf8, 0x81, 0xdd, 0xbc, 0xc6, 0x61, 0xe4, 0x0d, 0x36, 0xcc, 0xc8, - 0x4c, 0x76, 0x18, 0x19, 0x46, 0xbc, 0x17, 0xaf, 0x16, 0x7e, 0x2e, 0x12, 0xa0, 0xfe, 0x35, 0xbe, - 0x9a, 0x33, 0x88, 0x52, 0x44, 0xf6, 0x80, 0x78, 0x71, 0xc4, 0x17, 0xa9, 0x04, 0xc4, 0xc7, 0x8b, - 0x96, 0x6d, 0xb2, 0xdb, 0x64, 0xfe, 0xb2, 0x2f, 0x45, 0xb0, 0x75, 0x35, 0xbb, 0x1d, 0xe7, 0x3f, - 0xe7, 0xc8, 0x30, 0x13, 0xdc, 0x64, 0xb3, 0x5f, 0x06, 0xd9, 0x91, 0x2d, 0xbe, 0xf8, 0xab, 0x19, - 0x12, 0x8e, 0xf6, 0x41, 0x7b, 0x71, 0x78, 0x72, 0xcf, 0x76, 0x45, 0xf3, 0x34, 0xb1, 0x0f, 0x2a, - 0x7e, 0xd1, 0xff, 0x5d, 0x81, 0x73, 0x42, 0xdd, 0xe9, 0x90, 0xc8, 0x64, 0x76, 0x91, 0xde, 0x6d, - 0x2b, 0x4f, 0xf7, 0x6e, 0x7b, 0x17, 0xe6, 0xfb, 0xf2, 0xb6, 0xfc, 0x29, 0x77, 0xd4, 0x79, 0x72, - 0xe9, 0x11, 0x7a, 0xe5, 0xa9, 0x1f, 0xa1, 0xeb, 0xbf, 0xa2, 0xc2, 0x7c, 0xae, 0x19, 0x18, 0xd9, - 0x49, 0xad, 0x02, 0xd8, 0x69, 0x68, 0x8e, 0xb8, 0xf5, 0x92, 0xe3, 0xd7, 0x10, 0x88, 0xca, 0xae, - 0xdd, 0x2b, 0xa7, 0xbf, 0x76, 0xbf, 0x03, 0x4d, 0x3f, 0x73, 0xd2, 0x88, 0x43, 0x83, 0x12, 0x57, - 0x1a, 0x22, 0xa9, 0xfe, 0xab, 0x0a, 0x2c, 0x14, 0x4a, 0x36, 0xbb, 0x0c, 0xa7, 0x89, 0x9a, 0x5e, - 0x86, 0x53, 0x40, 0xc8, 0x00, 0x35, 0x9f, 0x01, 0x8e, 0x7d, 0x2c, 0xfe, 0x5c, 0x86, 0x83, 0x43, - 0xa2, 0xaf, 0x3a, 0x34, 0xfa, 0x7e, 0x4d, 0x85, 0xc5, 0xf2, 0x06, 0xeb, 0x65, 0xf5, 0xcf, 0xaf, - 0x2b, 0xd0, 0x1e, 0xb6, 0x16, 0x3e, 0x33, 0x37, 0x65, 0xf9, 0x93, 0xf6, 0xae, 0x2f, 0xab, 0x7f, - 0xce, 0x25, 0xe9, 0x23, 0x34, 0x17, 0xfa, 0x9f, 0xa6, 0xf6, 0x49, 0xbb, 0xf3, 0x97, 0xd4, 0x3e, - 0xda, 0x55, 0x68, 0xa1, 0x9a, 0xc2, 0x4b, 0x30, 0xdc, 0xec, 0x15, 0xf0, 0xfa, 0x97, 0x89, 0x2d, - 0x85, 0x46, 0xeb, 0xac, 0x62, 0x5c, 0xff, 0x6b, 0x25, 0xf1, 0x49, 0xba, 0xe7, 0x79, 0xa1, 0x7c, - 0x92, 0x45, 0x9a, 0xd0, 0x46, 0x0a, 0x91, 0x96, 0xee, 0xc5, 0xfe, 0x3f, 0xd2, 0xc6, 0x47, 0x5a, - 0x6a, 0x4b, 0xa1, 0xa5, 0xd6, 0x7f, 0x57, 0x81, 0xd7, 0x86, 0xee, 0x47, 0x47, 0x5a, 0x55, 0x68, - 0x1a, 0x55, 0xb9, 0x69, 0xcc, 0xa9, 0x57, 0x39, 0x7d, 0xa1, 0xf9, 0x5b, 0x05, 0x5e, 0x1f, 0xd1, - 0xbc, 0xe7, 0x3c, 0xab, 0x9c, 0xc6, 0xb3, 0x39, 0x61, 0xd5, 0xa1, 0x17, 0xd3, 0x63, 0x7d, 0x91, - 0xa5, 0x67, 0x45, 0x4c, 0x4f, 0xfd, 0x1f, 0x15, 0x78, 0x73, 0x82, 0x9d, 0xf8, 0xf3, 0xa5, 0xcc, - 0xd0, 0xa7, 0xb2, 0xfa, 0x3f, 0x29, 0x70, 0x65, 0xb2, 0x4d, 0xfd, 0x8b, 0xa2, 0xd1, 0x5f, 0x8a, - 0x39, 0x90, 0x3f, 0x2d, 0x10, 0xdc, 0xaa, 0x48, 0x55, 0x57, 0xcc, 0x0d, 0x35, 0x97, 0x1b, 0x67, - 0x96, 0x01, 0xf9, 0x17, 0xf1, 0xd5, 0xe2, 0x8b, 0xf8, 0x8e, 0x90, 0x22, 0xc5, 0x1d, 0xe8, 0x90, - 0xa5, 0x44, 0x58, 0x32, 0x54, 0x79, 0xc9, 0xf8, 0x39, 0x98, 0xdd, 0x20, 0x4e, 0x27, 0xec, 0x27, - 0xbf, 0x5d, 0x39, 0xd3, 0xd3, 0xd6, 0x09, 0xf4, 0x59, 0x83, 0x39, 0x51, 0x80, 0xd3, 0xfc, 0x36, - 0x43, 0x7f, 0x08, 0xaf, 0x75, 0x49, 0xb4, 0xea, 0xfb, 0x6b, 0x66, 0xef, 0x90, 0xba, 0xd9, 0xb5, - 0xba, 0xec, 0x31, 0xf1, 0xa8, 0x1f, 0xe3, 0xd0, 0x9d, 0x65, 0x98, 0x11, 0xf0, 0x17, 0xb4, 0x12, - 0x4e, 0xdf, 0x86, 0xa5, 0x61, 0x8c, 0x4f, 0x25, 0xe8, 0x7f, 0xa9, 0x30, 0x73, 0xeb, 0x49, 0x84, - 0xef, 0xe7, 0xbb, 0x84, 0xfd, 0x02, 0x3d, 0x64, 0xd7, 0x82, 0x99, 0xb5, 0x13, 0x38, 0xbf, 0x39, - 0x56, 0x8b, 0x9b, 0xe3, 0x1d, 0x00, 0x92, 0x70, 0x0b, 0xf9, 0x23, 0x9b, 0xeb, 0x25, 0x61, 0x27, - 0x4e, 0x99, 0x01, 0xfc, 0xd5, 0xb4, 0xc0, 0x82, 0xae, 0x2f, 0x1d, 0xf3, 0x49, 0x27, 0xec, 0x0b, - 0xff, 0x59, 0x04, 0xdf, 0xda, 0x14, 0xf0, 0xd4, 0x7e, 0x29, 0xe5, 0x76, 0x3c, 0xe0, 0xeb, 0x90, - 0x84, 0xcb, 0xbd, 0x01, 0xaf, 0xe7, 0xdf, 0x80, 0x2f, 0x7d, 0x09, 0xf3, 0x39, 0x71, 0x4a, 0xde, - 0x38, 0xdf, 0x90, 0x7f, 0xb0, 0x70, 0x71, 0x94, 0x82, 0xe2, 0x0b, 0xe8, 0xff, 0x50, 0xa1, 0x91, - 0x7e, 0xd0, 0x06, 0x70, 0x21, 0x20, 0x26, 0xfb, 0x57, 0x22, 0x0c, 0x49, 0x8d, 0x28, 0xfc, 0xac, - 0xe8, 0xc7, 0x47, 0x71, 0x5d, 0x31, 0xca, 0x28, 0xd1, 0x7c, 0xe5, 0x5c, 0x27, 0xf8, 0xd5, 0xc3, - 0x0a, 0x68, 0x83, 0xb0, 0x7f, 0xdb, 0x0e, 0xc2, 0xa8, 0xe3, 0x59, 0xf6, 0xfe, 0x89, 0x70, 0x15, - 0x53, 0xf2, 0xa5, 0xf0, 0x80, 0xbc, 0x3a, 0xf4, 0x01, 0x79, 0xfa, 0x5f, 0x22, 0x96, 0x08, 0x2c, - 0x0d, 0x17, 0xbd, 0xc4, 0xd4, 0x3f, 0x26, 0x9b, 0xba, 0xec, 0x0a, 0xfd, 0x2e, 0x39, 0xc1, 0xff, - 0x4f, 0x22, 0x58, 0x7a, 0x1f, 0xa6, 0x13, 0x34, 0x3b, 0x2a, 0x3a, 0xf1, 0xc9, 0xdd, 0x94, 0x71, - 0x02, 0xca, 0x6f, 0xd5, 0x1b, 0x9c, 0x9e, 0x86, 0x9c, 0x63, 0x46, 0x24, 0x8c, 0x84, 0x90, 0x43, - 0x23, 0x14, 0xf0, 0x6b, 0xd7, 0xbe, 0xb8, 0xba, 0xe3, 0x13, 0xf7, 0xd1, 0x56, 0xa7, 0xf0, 0x3f, - 0x92, 0x3e, 0x2a, 0x48, 0xba, 0x57, 0x67, 0xdf, 0xdf, 0xf9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xc4, 0xf7, 0xcb, 0xba, 0x83, 0x49, 0x00, 0x00, +var fileDescriptor_ws_afc480fe1acbbaee = []byte{ + // 4155 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x59, 0x6f, 0x1c, 0x59, + 0xb9, 0x53, 0xd5, 0x8b, 0xbb, 0xbf, 0xf6, 0xd2, 0xae, 0x24, 0x9e, 0x4e, 0x4f, 0x26, 0xd7, 0xb7, + 0x26, 0xca, 0xcd, 0xcd, 0xcd, 0x38, 0xf7, 0x66, 0x96, 0xcb, 0x6c, 0x41, 0x5e, 0x12, 0xc7, 0x93, + 0xb4, 0xed, 0xa9, 0x4e, 0x26, 0x68, 0x66, 0xa4, 0x50, 0xee, 0x3a, 0x6e, 0xd7, 0xb8, 0xba, 0xaa, + 0x5c, 0x8b, 0x13, 0xf3, 0x00, 0x12, 0x20, 0x40, 0xe2, 0x01, 0x09, 0xb1, 0x48, 0xf0, 0xc6, 0x0b, + 0x02, 0xa1, 0x11, 0x42, 0x83, 0x84, 0x04, 0x42, 0x08, 0xf1, 0x80, 0x04, 0x12, 0xf3, 0x8e, 0x04, + 0x82, 0x17, 0x10, 0xe2, 0x0f, 0x20, 0x21, 0x0d, 0x3a, 0x4b, 0x55, 0x9d, 0x53, 0x4b, 0x77, 0xc7, + 0xb2, 0x26, 0x89, 0xc2, 0x53, 0xf2, 0x7d, 0x75, 0xbe, 0xef, 0x7c, 0xfb, 0xf9, 0xce, 0xd2, 0x86, + 0x19, 0xdf, 0xd8, 0xbd, 0x73, 0xd7, 0xbf, 0x78, 0xd7, 0x5f, 0x70, 0x3d, 0x27, 0x70, 0x94, 0x59, + 0x1f, 0x79, 0xfb, 0xc8, 0xbb, 0xa3, 0xbb, 0xe6, 0x1d, 0x57, 0xf7, 0xf4, 0x81, 0xdf, 0x5e, 0xd8, + 0x70, 0x91, 0xfd, 0xec, 0x5a, 0xe7, 0xd9, 0x2e, 0xf9, 0x74, 0xd1, 0xdd, 0xed, 0x5f, 0x24, 0x83, + 0x2f, 0x46, 0xc4, 0x9e, 0xee, 0xba, 0xc8, 0x63, 0x2c, 0xd4, 0x3f, 0x96, 0xa1, 0xbe, 0xea, 0x39, + 0xa1, 0xbb, 0x66, 0x6f, 0x3b, 0x4a, 0x0b, 0x26, 0xfa, 0x04, 0x58, 0x69, 0x49, 0xf3, 0xd2, 0xb9, + 0xba, 0x16, 0x81, 0xca, 0x29, 0xa8, 0x93, 0xff, 0xae, 0xeb, 0x03, 0xd4, 0x92, 0xc9, 0xb7, 0x04, + 0xa1, 0xa8, 0x30, 0x69, 0x3b, 0x81, 0xb9, 0x6d, 0xf6, 0xf4, 0xc0, 0x74, 0xec, 0x56, 0x89, 0x0c, + 0x10, 0x70, 0x78, 0x8c, 0x69, 0x07, 0x9e, 0x63, 0x84, 0x3d, 0x32, 0xa6, 0x4c, 0xc7, 0xf0, 0x38, + 0x3c, 0xff, 0xb6, 0xde, 0x43, 0xb7, 0xb4, 0x1b, 0xad, 0x0a, 0x9d, 0x9f, 0x81, 0xca, 0x3c, 0x34, + 0x9c, 0xbb, 0x36, 0xf2, 0x6e, 0xf9, 0xc8, 0x5b, 0x5b, 0x69, 0x55, 0xc9, 0x57, 0x1e, 0xa5, 0x9c, + 0x06, 0xe8, 0x79, 0x48, 0x0f, 0xd0, 0x4d, 0x73, 0x80, 0x5a, 0x13, 0xf3, 0xd2, 0xb9, 0x29, 0x8d, + 0xc3, 0x60, 0x0e, 0x03, 0x34, 0xd8, 0x42, 0xde, 0xb2, 0x13, 0xda, 0x41, 0xab, 0x46, 0x06, 0xf0, + 0x28, 0x65, 0x1a, 0x64, 0x74, 0xaf, 0x55, 0x27, 0xac, 0x65, 0x74, 0x4f, 0x99, 0x83, 0xaa, 0x1f, + 0xe8, 0x41, 0xe8, 0xb7, 0x60, 0x5e, 0x3a, 0x57, 0xd1, 0x18, 0xa4, 0x9c, 0x81, 0x29, 0xc2, 0xd7, + 0x89, 0xa4, 0x69, 0x10, 0x12, 0x11, 0x19, 0x5b, 0xec, 0xe6, 0x81, 0x8b, 0x5a, 0x93, 0x84, 0x41, + 0x82, 0x50, 0xce, 0x43, 0xd3, 0x46, 0xc8, 0x78, 0x13, 0x79, 0x89, 0xd5, 0xa6, 0xc8, 0xa0, 0x0c, + 0x5e, 0x39, 0x0b, 0xd3, 0x96, 0xe3, 0xec, 0x76, 0x88, 0xa8, 0xd8, 0x4f, 0xad, 0x69, 0x32, 0x32, + 0x85, 0x55, 0x2e, 0xc0, 0xac, 0xee, 0xba, 0xd6, 0x01, 0x45, 0x5d, 0xf5, 0x4c, 0x64, 0x1b, 0xad, + 0x19, 0x32, 0x34, 0xfb, 0x41, 0x79, 0x11, 0xe6, 0x78, 0xff, 0xdc, 0x72, 0x8d, 0xc8, 0x76, 0x4d, + 0x62, 0x9a, 0x82, 0xaf, 0xca, 0x02, 0x28, 0xc2, 0x17, 0x6a, 0x82, 0x59, 0x62, 0x82, 0x9c, 0x2f, + 0xea, 0xd7, 0x4a, 0x30, 0x13, 0x47, 0xd8, 0x55, 0xc7, 0xeb, 0xa2, 0xe0, 0x21, 0x8e, 0x33, 0x1a, + 0x03, 0xd5, 0x38, 0x06, 0x56, 0x73, 0xfc, 0x84, 0x63, 0xab, 0x71, 0xe9, 0xa9, 0x85, 0xbe, 0xe3, + 0xf4, 0x2d, 0x44, 0x13, 0x69, 0x2b, 0xdc, 0x5e, 0x58, 0xb3, 0x83, 0xe7, 0x2e, 0xbd, 0xa9, 0x5b, + 0x21, 0xca, 0x71, 0xe2, 0x72, 0xc6, 0x89, 0xb5, 0xd1, 0x6c, 0xd2, 0x1e, 0x5e, 0xcb, 0xf3, 0x70, + 0x7d, 0x34, 0x9f, 0x2c, 0x95, 0xfa, 0xa1, 0x0c, 0xc7, 0x88, 0x5b, 0x18, 0x36, 0xb4, 0xac, 0x11, + 0x25, 0x60, 0x0e, 0xaa, 0x21, 0x75, 0x36, 0xf5, 0x0b, 0x83, 0xb0, 0xcb, 0x3c, 0xc7, 0x42, 0x37, + 0xd0, 0x3e, 0xb2, 0x88, 0x47, 0x2a, 0x5a, 0x82, 0x50, 0xda, 0x50, 0x7b, 0xd7, 0x31, 0x6d, 0x12, + 0x58, 0x65, 0xf2, 0x31, 0x86, 0xf1, 0x37, 0xdb, 0xec, 0xed, 0xda, 0xd8, 0xd7, 0xd4, 0x0f, 0x31, + 0xcc, 0xbb, 0xa8, 0x2a, 0xba, 0xe8, 0x2c, 0x4c, 0xeb, 0xae, 0xdb, 0xd1, 0xed, 0x3e, 0xf2, 0xe8, + 0xa4, 0x13, 0x34, 0x1d, 0x44, 0x2c, 0x2e, 0x08, 0x78, 0xa6, 0xae, 0x13, 0x7a, 0x3d, 0x44, 0xac, + 0x5d, 0xd1, 0x38, 0x0c, 0xe6, 0xe3, 0xb8, 0xc8, 0xe3, 0xf2, 0x98, 0xa6, 0x7e, 0x0a, 0xcb, 0x42, + 0x02, 0xe2, 0x90, 0xc0, 0x85, 0x24, 0x0c, 0xd0, 0x15, 0xdb, 0x20, 0x4a, 0x35, 0x58, 0x21, 0x49, + 0x50, 0xb8, 0x40, 0x98, 0xf6, 0xbe, 0x19, 0xc4, 0xe5, 0x6a, 0x92, 0x16, 0x08, 0x01, 0xa9, 0x7e, + 0x41, 0x82, 0xe9, 0xcd, 0x70, 0xcb, 0x32, 0x7b, 0x04, 0x81, 0x8d, 0x9f, 0x98, 0x58, 0x12, 0x4c, + 0xcc, 0x1b, 0x4a, 0x2e, 0x36, 0x54, 0x49, 0x34, 0xd4, 0x1c, 0x54, 0xfb, 0xc8, 0x36, 0x90, 0xc7, + 0x0c, 0xcf, 0x20, 0xa6, 0x50, 0x25, 0x52, 0x48, 0xfd, 0x83, 0x0c, 0xb5, 0x8f, 0x58, 0x84, 0x79, + 0x68, 0xb8, 0x3b, 0x8e, 0x8d, 0xd6, 0x43, 0x1c, 0x7c, 0x4c, 0x16, 0x1e, 0xa5, 0x1c, 0x87, 0xca, + 0x96, 0xe9, 0x05, 0x3b, 0xc4, 0xfb, 0x53, 0x1a, 0x05, 0x30, 0x16, 0x0d, 0x74, 0x93, 0xba, 0xbc, + 0xae, 0x51, 0x80, 0x29, 0x54, 0x8b, 0x3d, 0x24, 0x2e, 0x05, 0xf5, 0xcc, 0x52, 0x90, 0x8d, 0x20, + 0xc8, 0x8d, 0xa0, 0xf3, 0xd0, 0xec, 0x5b, 0xce, 0x96, 0x6e, 0x69, 0xa8, 0xb7, 0xdf, 0xf1, 0xfb, + 0x1b, 0x6e, 0x40, 0xdc, 0x5d, 0xd1, 0x32, 0x78, 0x6c, 0x1f, 0x22, 0x62, 0x37, 0xf0, 0x98, 0xbb, + 0x63, 0x58, 0xfd, 0x87, 0x04, 0x40, 0xd3, 0x8e, 0x98, 0x38, 0xb5, 0x96, 0x49, 0xd9, 0xb5, 0x6c, + 0x0e, 0xaa, 0x1e, 0x1a, 0xe8, 0xde, 0x6e, 0x94, 0x6a, 0x14, 0x4a, 0x29, 0x56, 0xca, 0x28, 0xf6, + 0x0a, 0xc0, 0x36, 0x99, 0x07, 0xf3, 0x21, 0x26, 0xc7, 0x85, 0x21, 0xd3, 0x25, 0x2c, 0x44, 0xde, + 0xd6, 0xb8, 0xe1, 0x38, 0x8f, 0x75, 0xc3, 0x60, 0xe9, 0x52, 0xa1, 0x79, 0x1c, 0x23, 0x72, 0xb2, + 0xa5, 0x3a, 0x24, 0x5b, 0x26, 0xe2, 0xe0, 0xfa, 0xbb, 0x04, 0xf5, 0x25, 0x4b, 0xef, 0xed, 0x8e, + 0xa9, 0xba, 0xa8, 0xa2, 0x9c, 0x51, 0x71, 0x15, 0xa6, 0xb6, 0x30, 0xbb, 0x48, 0x05, 0x62, 0x85, + 0xc6, 0xa5, 0xff, 0xcc, 0xd1, 0x52, 0x4c, 0x2e, 0x4d, 0xa4, 0x13, 0xd5, 0x2d, 0x8f, 0x56, 0xb7, + 0x32, 0x44, 0xdd, 0x78, 0xbd, 0x50, 0xbf, 0x59, 0x82, 0x49, 0x52, 0x56, 0x35, 0xb4, 0x17, 0x22, + 0x3f, 0x50, 0x5e, 0x83, 0x5a, 0x18, 0x89, 0x2a, 0x8d, 0x2b, 0x6a, 0x4c, 0xa2, 0xbc, 0xcc, 0xd6, + 0x43, 0x42, 0x2f, 0x13, 0xfa, 0x53, 0x39, 0xf4, 0xf1, 0x02, 0xab, 0x25, 0xc3, 0xf1, 0x4a, 0xb8, + 0xa3, 0xdb, 0x86, 0x85, 0x34, 0xe4, 0x87, 0x56, 0xc0, 0x6a, 0xb3, 0x80, 0xa3, 0x91, 0xb6, 0xd7, + 0xf1, 0xfb, 0x6c, 0x9d, 0x64, 0x10, 0xb6, 0x0e, 0x1d, 0x87, 0x3f, 0x51, 0xd5, 0x13, 0x04, 0x4e, + 0x78, 0x0f, 0xed, 0x11, 0x0f, 0xd1, 0xf4, 0x8c, 0xc0, 0x64, 0x4e, 0x66, 0x35, 0x1a, 0x08, 0x02, + 0x0e, 0xbb, 0x98, 0xc2, 0x84, 0x01, 0x6d, 0xc4, 0x38, 0x4c, 0xa6, 0x0f, 0x13, 0x0b, 0x39, 0x64, + 0x0a, 0x79, 0xa6, 0xdc, 0x36, 0xf2, 0xca, 0xed, 0xef, 0x4b, 0x30, 0x45, 0x93, 0x30, 0x72, 0xcd, + 0x69, 0x9c, 0x2d, 0xce, 0x40, 0x88, 0x45, 0x0e, 0x83, 0x75, 0xc1, 0xd0, 0xba, 0x58, 0xf6, 0x04, + 0x1c, 0x0e, 0x68, 0x0c, 0x5f, 0x15, 0xca, 0x1f, 0x8f, 0x8a, 0x66, 0x59, 0xe5, 0xcb, 0x20, 0x87, + 0xc1, 0x85, 0x23, 0x70, 0x84, 0x18, 0x8b, 0x61, 0x4c, 0x1b, 0x38, 0xf1, 0xfc, 0x34, 0xca, 0x38, + 0x0c, 0xf6, 0x52, 0xe0, 0x44, 0x73, 0x53, 0x53, 0x27, 0x08, 0xca, 0x99, 0xcd, 0x4b, 0x97, 0xbf, + 0x18, 0xce, 0xc4, 0x46, 0x7d, 0x68, 0x6c, 0x80, 0x10, 0x1b, 0x62, 0x8a, 0x36, 0x32, 0x29, 0x7a, + 0x06, 0xa6, 0x28, 0x9f, 0xd4, 0xf2, 0x27, 0x20, 0xc5, 0x08, 0x9b, 0x4a, 0x47, 0x98, 0x18, 0x23, + 0xd3, 0x05, 0x31, 0x32, 0x13, 0xe7, 0xdd, 0x8f, 0x64, 0x80, 0x15, 0xe4, 0xea, 0x5e, 0x30, 0x40, + 0x76, 0x80, 0xd5, 0x33, 0x62, 0x28, 0x76, 0xae, 0x80, 0xe3, 0x57, 0x2d, 0x59, 0x5c, 0xb5, 0x14, + 0x28, 0x13, 0x83, 0x53, 0x6f, 0x92, 0xff, 0x63, 0x63, 0xba, 0xba, 0x47, 0xb9, 0xd1, 0x54, 0x89, + 0x61, 0xbc, 0x2a, 0x39, 0x9e, 0xc1, 0xd6, 0xb1, 0x8a, 0x46, 0x01, 0x5c, 0x42, 0x92, 0xf9, 0xc8, + 0x2e, 0xa0, 0x4a, 0x57, 0x19, 0x11, 0x3b, 0x72, 0xe3, 0x72, 0x1e, 0x9a, 0x7e, 0xb8, 0x95, 0x28, + 0xb7, 0x1e, 0x0e, 0x58, 0xd2, 0x64, 0xf0, 0xd8, 0xa8, 0x74, 0x47, 0x83, 0x07, 0xd1, 0x85, 0x2f, + 0x41, 0xa4, 0x3b, 0x19, 0xf5, 0xd7, 0x32, 0x34, 0x37, 0xbc, 0xbe, 0x6e, 0x9b, 0x9f, 0x8a, 0x3b, + 0xf6, 0x43, 0x35, 0x00, 0xf3, 0xd0, 0x40, 0x76, 0xdf, 0x32, 0xfd, 0x9d, 0xf5, 0xc4, 0x6e, 0x3c, + 0x8a, 0x37, 0x76, 0xb9, 0xa8, 0x45, 0xa8, 0x08, 0x2d, 0xc2, 0x1c, 0x54, 0x07, 0xce, 0x96, 0x69, + 0x45, 0x71, 0xcf, 0x20, 0x12, 0xf3, 0xc8, 0x42, 0xa4, 0x57, 0x88, 0x63, 0x3e, 0x42, 0x24, 0x6d, + 0x43, 0x2d, 0xb7, 0x6d, 0xa8, 0xf3, 0x6d, 0x83, 0x68, 0x78, 0xc8, 0x18, 0x9e, 0x9a, 0xab, 0x11, + 0xd7, 0xa1, 0x61, 0x4b, 0xfc, 0x2f, 0x24, 0x68, 0x26, 0xae, 0xa0, 0x3d, 0x75, 0xa1, 0x29, 0xd3, + 0xd1, 0x29, 0xe7, 0x44, 0x67, 0x1c, 0x53, 0x25, 0x3e, 0xa6, 0x70, 0x14, 0x3a, 0xbe, 0xc9, 0x6d, + 0x6c, 0x62, 0x18, 0xcf, 0x66, 0x21, 0x9d, 0x33, 0x24, 0x85, 0xb8, 0x6d, 0x6c, 0x55, 0xd8, 0xc6, + 0xa6, 0x57, 0xea, 0x9f, 0x48, 0x70, 0x1c, 0x47, 0x40, 0x46, 0x8d, 0x0d, 0x68, 0x3a, 0xa9, 0x28, + 0x61, 0x4b, 0xd9, 0x33, 0x39, 0x4b, 0x51, 0x3a, 0xa0, 0xb4, 0x0c, 0x31, 0x66, 0x68, 0xa4, 0x26, + 0x61, 0x6b, 0x5b, 0x1e, 0xc3, 0xb4, 0x3c, 0x5a, 0x86, 0x58, 0xfd, 0x99, 0x04, 0x4d, 0xba, 0x78, + 0x72, 0x35, 0xe0, 0xc8, 0xc5, 0xbe, 0x0d, 0xc7, 0xd3, 0x33, 0xdf, 0x30, 0xfd, 0xa0, 0x25, 0xcf, + 0x97, 0xc6, 0x15, 0x3d, 0x97, 0x81, 0xfa, 0x03, 0x19, 0x9e, 0xdc, 0x0c, 0x2d, 0xab, 0x83, 0x7c, + 0x5f, 0xef, 0xa3, 0xa5, 0x83, 0x2e, 0xda, 0xc3, 0x1f, 0x34, 0xb4, 0x57, 0x18, 0x43, 0xb8, 0x93, + 0x22, 0xad, 0x88, 0xe9, 0xd8, 0x71, 0x08, 0xf1, 0x28, 0x9c, 0x72, 0x3e, 0xe5, 0xd3, 0x2a, 0xcd, + 0x97, 0xf0, 0x22, 0xcd, 0x40, 0xe5, 0x93, 0x30, 0x49, 0xba, 0x04, 0x36, 0x4d, 0xab, 0x4c, 0x14, + 0x78, 0x35, 0xb7, 0x2f, 0xc9, 0x95, 0x8a, 0xf6, 0x1b, 0x0c, 0xbe, 0x62, 0x07, 0xde, 0x81, 0x26, + 0x70, 0x6c, 0xbf, 0x0d, 0xb3, 0x99, 0x21, 0x4a, 0x13, 0x4a, 0xbb, 0xe8, 0x80, 0xe9, 0x81, 0xff, + 0xab, 0xfc, 0x2f, 0x54, 0xf6, 0xf1, 0x06, 0x95, 0x79, 0xbf, 0x9d, 0x23, 0x01, 0x93, 0x59, 0xa3, + 0x03, 0x5f, 0x96, 0x3f, 0x26, 0xa9, 0xcf, 0xc4, 0x8a, 0xf1, 0x3a, 0x4a, 0x82, 0x8e, 0xea, 0x75, + 0x68, 0x74, 0xfc, 0xfe, 0x8a, 0x1e, 0xe8, 0x64, 0xe0, 0xab, 0xd0, 0x18, 0x24, 0x20, 0x19, 0x9c, + 0x3f, 0x1f, 0x23, 0xd2, 0xf8, 0xe1, 0xea, 0x07, 0x32, 0xb4, 0xf2, 0x4d, 0xe1, 0xbb, 0x58, 0x06, + 0xe4, 0x79, 0xcb, 0x8e, 0x81, 0x88, 0x6a, 0x15, 0x2d, 0x02, 0xb1, 0xef, 0x90, 0xe7, 0xe1, 0xf5, + 0x8d, 0xb5, 0xf1, 0x14, 0x52, 0x16, 0xa0, 0x6c, 0x45, 0x6e, 0x19, 0x2e, 0x05, 0x19, 0xa7, 0x0c, + 0xa0, 0x49, 0xac, 0xcb, 0x29, 0xc4, 0x7c, 0xb6, 0x38, 0xb6, 0xcf, 0x7c, 0x97, 0x3a, 0x8d, 0xe3, + 0x41, 0x1d, 0x97, 0x61, 0xdd, 0xee, 0xc1, 0x89, 0xdc, 0xa1, 0x39, 0x0e, 0x7c, 0x5e, 0x74, 0xe0, + 0xe9, 0x62, 0x55, 0xd2, 0x4e, 0x74, 0x41, 0x59, 0x45, 0x41, 0x47, 0xbf, 0xb7, 0x68, 0x1b, 0x1d, + 0xd3, 0xee, 0xa2, 0x3d, 0x1c, 0xed, 0xf3, 0xd0, 0x60, 0xc7, 0x0d, 0xb1, 0x9b, 0xea, 0x1a, 0x8f, + 0x2a, 0x3c, 0x85, 0x48, 0xe5, 0x43, 0x29, 0x93, 0x0f, 0xea, 0x65, 0x98, 0xe4, 0xa7, 0x23, 0x0b, + 0x8c, 0x7e, 0xaf, 0x8b, 0xf6, 0x88, 0x42, 0x53, 0x1a, 0x83, 0x08, 0x9e, 0x8c, 0x60, 0xbb, 0x0f, + 0x06, 0xa9, 0xbf, 0x91, 0xe1, 0x58, 0x46, 0x64, 0xdf, 0xbd, 0x5f, 0x3e, 0x7c, 0xbc, 0x94, 0x8a, + 0xe2, 0xa5, 0x2c, 0xc4, 0xcb, 0x2e, 0xcc, 0x52, 0x27, 0x71, 0x53, 0xb7, 0x2a, 0x24, 0x00, 0x5e, + 0xcb, 0xdb, 0x0c, 0x64, 0x85, 0x64, 0xbe, 0xe7, 0xb0, 0xd4, 0xf9, 0x59, 0xbe, 0x6d, 0x04, 0x73, + 0xf9, 0x83, 0x73, 0xdc, 0xff, 0x82, 0xe8, 0xfe, 0xff, 0xc8, 0x73, 0x3f, 0x2f, 0x09, 0xe7, 0xff, + 0x3d, 0x98, 0xc1, 0x45, 0xb5, 0x8b, 0x6c, 0xa3, 0xe3, 0xf7, 0x89, 0x21, 0xe7, 0xa1, 0x41, 0xe9, + 0x3b, 0x7e, 0x3f, 0xd9, 0x1c, 0x72, 0x28, 0x3c, 0xa2, 0x67, 0x99, 0xb8, 0x78, 0x92, 0x11, 0xac, + 0xe8, 0x71, 0x28, 0xbc, 0x40, 0xfa, 0x88, 0x9d, 0xcc, 0x60, 0xeb, 0x96, 0xb4, 0x18, 0x56, 0xdf, + 0x9f, 0x80, 0x09, 0x16, 0x8d, 0x64, 0x51, 0xc4, 0xfb, 0xf1, 0xb8, 0xac, 0x52, 0x88, 0xf6, 0xbc, + 0xbd, 0xfd, 0x24, 0xbc, 0x28, 0xc4, 0x1f, 0x8b, 0x95, 0xc4, 0x63, 0xb1, 0x94, 0x4c, 0xe5, 0xac, + 0x4c, 0x29, 0xbd, 0x2a, 0x59, 0xbd, 0x70, 0x8b, 0x47, 0xba, 0x9e, 0x4d, 0x4b, 0x0f, 0xb6, 0x1d, + 0x6f, 0xc0, 0xb6, 0xd7, 0x15, 0x2d, 0x83, 0xc7, 0x6d, 0x25, 0xc5, 0xc5, 0xfb, 0x02, 0xba, 0x84, + 0xa7, 0xb0, 0xb8, 0x0b, 0xa7, 0x98, 0x68, 0x7f, 0x40, 0xcf, 0x47, 0x44, 0x24, 0x95, 0xcd, 0xf7, + 0x4d, 0xc7, 0x26, 0x1d, 0x2a, 0xdd, 0x06, 0xf0, 0x28, 0xac, 0xf9, 0xc0, 0xef, 0x5f, 0xf5, 0x9c, + 0x01, 0xdb, 0x7a, 0x45, 0x20, 0xd1, 0xdc, 0xb1, 0x83, 0xa8, 0xbb, 0xa5, 0x27, 0x23, 0x3c, 0x0a, + 0xd3, 0x32, 0x90, 0x34, 0x4c, 0x93, 0x5a, 0x04, 0xe2, 0x58, 0xf2, 0xd1, 0x1e, 0x6b, 0xec, 0xf1, + 0x7f, 0x05, 0xcf, 0xcd, 0x88, 0x9e, 0x4b, 0x75, 0x6a, 0x4d, 0xf2, 0x95, 0xef, 0xd4, 0x92, 0x16, + 0x67, 0x56, 0x68, 0x71, 0x16, 0x61, 0xc2, 0x71, 0x71, 0xfa, 0xfb, 0x2d, 0x85, 0xa4, 0xcb, 0x7f, + 0x15, 0x17, 0xa8, 0x85, 0x0d, 0x3a, 0x92, 0x26, 0x46, 0x44, 0xa7, 0xdc, 0x80, 0x19, 0x67, 0x7b, + 0xdb, 0x32, 0x6d, 0xb4, 0x19, 0xfa, 0x3b, 0x64, 0x1b, 0x7e, 0x8c, 0x04, 0xbb, 0x9a, 0xd7, 0x44, + 0x88, 0x23, 0xb5, 0x34, 0x29, 0xee, 0xfc, 0xf4, 0x80, 0x6e, 0x80, 0x48, 0x81, 0x3b, 0x4e, 0x0a, + 0x9c, 0x80, 0x23, 0xe7, 0x8b, 0x5c, 0xa1, 0x3f, 0x41, 0x0c, 0xc7, 0xa3, 0x28, 0x97, 0x40, 0xef, + 0xed, 0x20, 0x72, 0xa0, 0xd4, 0x9a, 0xa3, 0xfd, 0x23, 0x8f, 0x63, 0xdd, 0xdd, 0x93, 0x71, 0xf3, + 0xda, 0x82, 0x09, 0xd3, 0xd7, 0x90, 0xde, 0x0b, 0x5a, 0xad, 0x79, 0xe9, 0x5c, 0x4d, 0x8b, 0x40, + 0xe5, 0x12, 0x1c, 0x37, 0xfd, 0x2b, 0xf7, 0x02, 0xe4, 0xd9, 0xba, 0x85, 0xff, 0xb5, 0x7d, 0x62, + 0xb1, 0x93, 0x64, 0x58, 0xee, 0x37, 0x65, 0x01, 0x14, 0x1c, 0x05, 0xa6, 0xe7, 0x07, 0x1d, 0xc7, + 0x30, 0xb7, 0x0f, 0x88, 0x63, 0xda, 0xc4, 0x31, 0x39, 0x5f, 0xda, 0x2f, 0xc3, 0x24, 0x6f, 0xde, + 0x9c, 0x52, 0x72, 0x9c, 0x2f, 0x25, 0x35, 0xbe, 0x52, 0x7c, 0x5d, 0x82, 0x99, 0x94, 0x61, 0xf1, + 0xe8, 0xc0, 0x0c, 0x2c, 0xc4, 0x38, 0x50, 0x00, 0xef, 0xdb, 0x0c, 0xe4, 0xf7, 0x58, 0xea, 0x92, + 0xff, 0x33, 0x3b, 0x94, 0x62, 0x3b, 0xa8, 0x30, 0x69, 0x6e, 0x74, 0x31, 0xa3, 0xae, 0x13, 0xda, + 0x46, 0x7c, 0x3d, 0xc0, 0xe1, 0xc8, 0x81, 0xc2, 0x46, 0x77, 0x49, 0x37, 0xfa, 0x88, 0x5e, 0x16, + 0x55, 0x88, 0x4c, 0x22, 0x52, 0x35, 0xa0, 0x76, 0xd3, 0x74, 0xfd, 0x65, 0x67, 0x30, 0xc0, 0x01, + 0x68, 0xa0, 0x00, 0xef, 0x30, 0x24, 0xe2, 0x2e, 0x06, 0x61, 0x5f, 0x1a, 0x68, 0x5b, 0x0f, 0xad, + 0x00, 0x0f, 0x8d, 0x0a, 0x16, 0x87, 0x22, 0x87, 0x1b, 0xbe, 0x63, 0xaf, 0x50, 0x6a, 0x2a, 0x27, + 0x87, 0x51, 0x7f, 0x25, 0x43, 0x93, 0xd4, 0xe3, 0x65, 0x12, 0xee, 0x06, 0x21, 0xba, 0x04, 0x15, + 0x52, 0x7e, 0x58, 0x3f, 0x3b, 0xfc, 0x44, 0x88, 0x0e, 0x55, 0x2e, 0x43, 0xd5, 0x71, 0x49, 0x13, + 0x4c, 0x8b, 0xf5, 0xd9, 0x22, 0x22, 0xf1, 0x42, 0x40, 0x63, 0x54, 0xca, 0x55, 0x80, 0x41, 0xd2, + 0xf3, 0xd2, 0xd6, 0x65, 0x5c, 0x1e, 0x1c, 0x25, 0x36, 0x6e, 0xbc, 0x2a, 0xc7, 0xb7, 0x02, 0x25, + 0x4d, 0x44, 0x2a, 0xeb, 0x30, 0x4d, 0xc4, 0xde, 0x88, 0x8e, 0x06, 0x89, 0x0f, 0xc6, 0x9f, 0x31, + 0x45, 0xad, 0x7e, 0x47, 0x62, 0x66, 0xc4, 0x5f, 0xbb, 0x88, 0xda, 0x3e, 0x31, 0x89, 0x74, 0x28, + 0x93, 0xb4, 0xa1, 0x36, 0x08, 0xb9, 0x93, 0xca, 0x92, 0x16, 0xc3, 0x89, 0x8b, 0x4a, 0x63, 0xbb, + 0x48, 0xfd, 0xae, 0x04, 0xad, 0xd7, 0x1d, 0xd3, 0x26, 0x1f, 0x16, 0x5d, 0xd7, 0x62, 0x97, 0x47, + 0x87, 0xf6, 0xf9, 0xc7, 0xa1, 0xae, 0x53, 0x36, 0x76, 0xc0, 0xdc, 0x3e, 0xc6, 0xe9, 0x63, 0x42, + 0xc3, 0x1d, 0x01, 0x95, 0xf8, 0x23, 0x20, 0xf5, 0x3d, 0x09, 0xa6, 0xa9, 0x51, 0xde, 0x08, 0xcd, + 0xe0, 0xd0, 0xf2, 0x2d, 0x41, 0x6d, 0x2f, 0x34, 0x83, 0x43, 0x44, 0x65, 0x4c, 0x97, 0x8d, 0xa7, + 0x52, 0x4e, 0x3c, 0xa9, 0x1f, 0x48, 0x70, 0x2a, 0x6d, 0xd6, 0xc5, 0x5e, 0x0f, 0xb9, 0x0f, 0x32, + 0xa5, 0x84, 0x23, 0xb0, 0x72, 0xce, 0x11, 0x98, 0x87, 0x7a, 0xc8, 0xdc, 0x47, 0xde, 0xa2, 0xcf, + 0xf6, 0xf4, 0x1c, 0x26, 0x57, 0x25, 0x0d, 0xbd, 0x8b, 0x7a, 0x8f, 0xae, 0x4a, 0x9f, 0x93, 0xe1, + 0xe4, 0x6a, 0x9c, 0xb8, 0x37, 0x3d, 0xdd, 0xf6, 0xb7, 0x91, 0xe7, 0x3d, 0x40, 0x7d, 0x6e, 0xc0, + 0x94, 0x8d, 0xee, 0x26, 0x32, 0xb1, 0x74, 0x1e, 0x97, 0x8d, 0x48, 0x3c, 0x5e, 0xed, 0x53, 0xff, + 0x29, 0x41, 0x93, 0xf2, 0xb9, 0x6e, 0xf6, 0x76, 0x1f, 0xa0, 0xf2, 0xeb, 0x30, 0xbd, 0x4b, 0x24, + 0xc0, 0xd0, 0x21, 0xca, 0x7e, 0x8a, 0x7a, 0x4c, 0xf5, 0x3f, 0x94, 0x60, 0x36, 0xba, 0xf3, 0xde, + 0x37, 0x1f, 0x64, 0x30, 0x6f, 0xc2, 0x0c, 0xbd, 0x43, 0x38, 0xac, 0x01, 0xd2, 0xe4, 0x63, 0x5a, + 0xe0, 0xc7, 0x12, 0xcc, 0x50, 0x4e, 0x57, 0xec, 0x00, 0x79, 0x87, 0xd6, 0xff, 0x1a, 0x34, 0x90, + 0x1d, 0x78, 0xba, 0x7d, 0x98, 0x0a, 0xcb, 0x93, 0x8e, 0x59, 0x64, 0xdf, 0x93, 0x40, 0x21, 0xac, + 0x56, 0x4c, 0x7f, 0x60, 0xfa, 0xfe, 0x03, 0x74, 0xdd, 0x78, 0x02, 0x7f, 0x4b, 0x86, 0xe3, 0x1c, + 0x97, 0x4e, 0x18, 0x3c, 0xec, 0x22, 0x2b, 0x2b, 0x50, 0xc7, 0x3d, 0x06, 0x7f, 0xc3, 0x3b, 0xee, + 0x44, 0x09, 0x21, 0xee, 0x82, 0x09, 0xd0, 0x45, 0x3d, 0xc7, 0x36, 0x68, 0x29, 0x9e, 0xd2, 0x04, + 0x1c, 0x2e, 0x43, 0x6d, 0x8e, 0xcd, 0xb2, 0x6e, 0xf7, 0x90, 0xf5, 0xd8, 0x98, 0x48, 0xfd, 0xbe, + 0x04, 0xd3, 0x74, 0xc8, 0xc3, 0xaf, 0xb2, 0xfa, 0x43, 0x89, 0x05, 0xf2, 0x23, 0xe3, 0x25, 0x1c, + 0x5e, 0x73, 0x1c, 0x17, 0xbe, 0x2f, 0x7f, 0x78, 0x43, 0xeb, 0x1a, 0x34, 0x7a, 0x3b, 0xba, 0xdd, + 0x3f, 0x54, 0x70, 0xf1, 0xa4, 0x6a, 0x00, 0x4f, 0xf2, 0x57, 0x0e, 0xcb, 0xf4, 0x13, 0x51, 0xff, + 0xb9, 0x94, 0x2a, 0x43, 0x5f, 0x70, 0xdc, 0x9f, 0xd1, 0x77, 0x61, 0x96, 0xde, 0x81, 0x73, 0x3d, + 0xa3, 0xd2, 0x82, 0x09, 0xdd, 0xa0, 0x07, 0x2f, 0x12, 0x21, 0x8a, 0x40, 0xf1, 0x8d, 0x04, 0x7b, + 0x8d, 0x97, 0xbc, 0x91, 0x38, 0x0d, 0xa0, 0x1b, 0xc6, 0x6d, 0xc7, 0x33, 0x4c, 0x3b, 0xda, 0x20, + 0x70, 0x18, 0xf5, 0x75, 0x98, 0xbc, 0xea, 0x39, 0x83, 0x9b, 0xdc, 0x6d, 0xf6, 0xd0, 0xfb, 0x76, + 0xfe, 0x26, 0x5c, 0x16, 0x6f, 0xc2, 0xd5, 0x77, 0xe0, 0x44, 0x46, 0x70, 0x62, 0xac, 0x65, 0x7a, + 0x49, 0x1f, 0x4d, 0xc2, 0x42, 0x26, 0xef, 0x24, 0x92, 0x97, 0x45, 0x13, 0x88, 0xd4, 0xcf, 0x4a, + 0xf0, 0x74, 0x86, 0xfd, 0xa2, 0xeb, 0x7a, 0xce, 0x3e, 0xf3, 0xc9, 0x51, 0x4c, 0x23, 0x36, 0xc7, + 0x72, 0xaa, 0x39, 0xce, 0x17, 0x42, 0x68, 0xe8, 0x3f, 0x02, 0x21, 0xbe, 0x27, 0xc1, 0x0c, 0x13, + 0xc2, 0x30, 0xd8, 0xb4, 0x2f, 0x40, 0x95, 0x3e, 0x13, 0x62, 0x13, 0x3e, 0x9d, 0x3b, 0x61, 0xf4, + 0xbc, 0x49, 0x63, 0x83, 0xb3, 0x11, 0x29, 0xe7, 0x65, 0xd4, 0x4b, 0x71, 0xb0, 0x8f, 0xfd, 0x90, + 0x87, 0x11, 0xa8, 0x9f, 0x88, 0x82, 0x79, 0x05, 0x59, 0xe8, 0x28, 0x6d, 0xa4, 0xde, 0x82, 0x69, + 0xf2, 0x66, 0x29, 0xb1, 0xc1, 0x91, 0xb0, 0xbd, 0x0d, 0x4d, 0xc2, 0xf6, 0xc8, 0xe5, 0x8d, 0xb3, + 0x03, 0xdb, 0x87, 0x2f, 0x25, 0x47, 0xc2, 0xfd, 0x59, 0x38, 0x16, 0xd9, 0x9e, 0xbe, 0x03, 0xa6, + 0xbc, 0x0b, 0x6e, 0x26, 0xd5, 0x6f, 0x48, 0x30, 0xb7, 0xec, 0xd8, 0xfb, 0xc8, 0xf3, 0x85, 0xb7, + 0xc3, 0x94, 0x44, 0xc8, 0x7e, 0x06, 0x29, 0x0b, 0xa0, 0xf4, 0x38, 0x0a, 0x76, 0x38, 0x2a, 0x93, + 0xc3, 0xd1, 0x9c, 0x2f, 0xca, 0xf3, 0x70, 0x22, 0x24, 0x5c, 0x6f, 0xd9, 0x1e, 0xd2, 0x0d, 0x72, + 0x1e, 0xc7, 0x15, 0xbd, 0xfc, 0x8f, 0xea, 0xbb, 0xd0, 0xe6, 0xe5, 0xea, 0xa2, 0x60, 0xd3, 0x33, + 0xf7, 0x39, 0xd9, 0xd8, 0xc9, 0xbf, 0x24, 0x9c, 0xfc, 0x27, 0x37, 0x05, 0xb2, 0x70, 0x53, 0x70, + 0x0a, 0xea, 0xa6, 0xcf, 0x18, 0x90, 0x79, 0x6b, 0x5a, 0x82, 0x50, 0x75, 0x98, 0xa5, 0x5e, 0x66, + 0x37, 0x71, 0x64, 0x8a, 0x36, 0xd4, 0x68, 0xe8, 0xc6, 0x93, 0xc4, 0x70, 0xe1, 0xbd, 0x56, 0xe1, + 0x2d, 0xae, 0xda, 0x85, 0x59, 0xf6, 0x92, 0x69, 0x53, 0xef, 0x9b, 0x36, 0xad, 0xe5, 0xa7, 0x01, + 0x5c, 0xbd, 0x1f, 0xbd, 0xab, 0xa4, 0xf7, 0x91, 0x1c, 0x06, 0x7f, 0xf7, 0x77, 0x9c, 0xbb, 0xec, + 0xbb, 0x4c, 0xbf, 0x27, 0x18, 0xf5, 0x4d, 0x50, 0x34, 0xe4, 0xbb, 0x8e, 0xed, 0x23, 0x8e, 0xeb, + 0x3c, 0x34, 0x96, 0x43, 0xcf, 0x43, 0x36, 0x9e, 0x2a, 0x7a, 0x1c, 0xc8, 0xa3, 0x30, 0xdf, 0x6e, + 0xc2, 0x97, 0xde, 0x5d, 0x70, 0x18, 0xf5, 0x4f, 0x55, 0xa8, 0x77, 0xcd, 0xbe, 0xad, 0x5b, 0x1a, + 0xda, 0x53, 0x5e, 0x85, 0x2a, 0xdd, 0x19, 0xb1, 0x80, 0xcc, 0x3b, 0x4b, 0xa7, 0xa3, 0xe9, 0x16, + 0x50, 0x43, 0x7b, 0xd7, 0x9e, 0xd0, 0x18, 0x8d, 0xf2, 0x46, 0xf4, 0xde, 0x6b, 0x8d, 0x9e, 0x94, + 0xb1, 0x65, 0xf2, 0xbf, 0x47, 0x30, 0x61, 0xa3, 0x29, 0x2f, 0x91, 0x03, 0x16, 0xa8, 0x47, 0x3a, + 0x27, 0x56, 0x85, 0x8a, 0x05, 0xa2, 0x0d, 0x16, 0x13, 0x88, 0xd2, 0x60, 0x6a, 0x9d, 0x9c, 0x25, + 0xb1, 0x86, 0xa0, 0x98, 0x9a, 0x1e, 0x39, 0x31, 0x6a, 0x4a, 0x83, 0xa9, 0x77, 0x42, 0xbb, 0x7f, + 0xcb, 0x65, 0x47, 0x9c, 0xc5, 0xd4, 0xd7, 0xc8, 0x30, 0x46, 0x4d, 0x69, 0x30, 0xb5, 0x47, 0xd6, + 0x08, 0x62, 0xf4, 0x61, 0xd4, 0x74, 0x29, 0x61, 0xd4, 0x94, 0x46, 0x79, 0x0b, 0x9a, 0x7d, 0x14, + 0x68, 0x8e, 0x33, 0x58, 0x3a, 0x58, 0x65, 0xf7, 0x5b, 0xf4, 0x79, 0xfb, 0x85, 0x42, 0x3e, 0xab, + 0x29, 0x02, 0xca, 0x31, 0xc3, 0x47, 0xf9, 0x34, 0x3c, 0xed, 0xd8, 0x18, 0xb5, 0xa9, 0x7b, 0x81, + 0xd9, 0x33, 0x5d, 0xdd, 0x0e, 0x96, 0x1d, 0xdb, 0x26, 0xeb, 0x99, 0x86, 0xf6, 0xd8, 0x03, 0xf8, + 0x17, 0x0b, 0x27, 0xda, 0x18, 0x46, 0x7d, 0xed, 0x09, 0x6d, 0x38, 0x7b, 0xe5, 0x8b, 0x12, 0xcc, + 0x67, 0x46, 0xac, 0x98, 0x7e, 0x8f, 0x97, 0x81, 0x3e, 0x9e, 0x7f, 0x69, 0x7c, 0x19, 0x52, 0x0c, + 0xae, 0x3d, 0xa1, 0x8d, 0x9c, 0x84, 0x59, 0xf9, 0xa6, 0xb3, 0x8b, 0xec, 0xa5, 0x03, 0x3c, 0x76, + 0x6d, 0x85, 0xdc, 0xa5, 0x8d, 0xb0, 0xb2, 0x40, 0x90, 0x58, 0x59, 0x40, 0x2f, 0xd5, 0x61, 0xc2, + 0xd5, 0x0f, 0x2c, 0x47, 0x37, 0xd4, 0xbf, 0x96, 0x01, 0x22, 0x57, 0xfb, 0xa4, 0x23, 0x16, 0x92, + 0xec, 0xcc, 0xc8, 0x24, 0x73, 0xad, 0x03, 0x2e, 0xcd, 0xba, 0xf9, 0x69, 0xf6, 0x3f, 0xe3, 0xa6, + 0x19, 0xe5, 0x96, 0x4a, 0xb4, 0xcb, 0xa9, 0x44, 0x3b, 0x33, 0x32, 0xd1, 0x98, 0x50, 0x2c, 0xd5, + 0x2e, 0xa7, 0x52, 0xed, 0xcc, 0xc8, 0x54, 0x63, 0xf4, 0x2c, 0xd9, 0x2e, 0xa7, 0x92, 0xed, 0xcc, + 0xc8, 0x64, 0x63, 0xf4, 0x2c, 0xdd, 0x2e, 0xa7, 0xd2, 0xed, 0xcc, 0xc8, 0x74, 0x63, 0xf4, 0x2c, + 0xe1, 0xde, 0x29, 0x4c, 0xb8, 0x85, 0xfb, 0x48, 0x38, 0xca, 0x33, 0x9b, 0x72, 0xef, 0xe4, 0x04, + 0x5a, 0x6d, 0x34, 0xf7, 0x54, 0xa0, 0x25, 0xdc, 0x0b, 0x43, 0xed, 0xf3, 0x25, 0x98, 0x26, 0xee, + 0xa6, 0xab, 0xb2, 0xbd, 0xed, 0x64, 0x5f, 0xe1, 0x4a, 0x39, 0xaf, 0x70, 0x95, 0x0b, 0x30, 0x4b, + 0x11, 0x88, 0xbb, 0x05, 0xa5, 0x0b, 0x7d, 0xf6, 0x03, 0xb9, 0xf7, 0x0d, 0xfd, 0xc0, 0x19, 0xac, + 0xe8, 0x81, 0x1e, 0xed, 0x30, 0x12, 0x0c, 0x7f, 0x2b, 0x5f, 0xce, 0xfc, 0x58, 0xc5, 0xa3, 0xfa, + 0x57, 0xd8, 0x6a, 0x4e, 0x20, 0x4c, 0x11, 0x98, 0x03, 0xe4, 0x84, 0x01, 0x5b, 0xa4, 0x22, 0x90, + 0x3e, 0x9d, 0x34, 0x4c, 0x9d, 0xdc, 0x65, 0xb3, 0x77, 0x85, 0x31, 0x82, 0xac, 0xab, 0xc9, 0xdd, + 0x3c, 0xfb, 0x31, 0x49, 0x82, 0x19, 0xe3, 0x1e, 0x9d, 0xfc, 0x2e, 0xc9, 0x0c, 0x4c, 0xfe, 0xbd, + 0x61, 0x45, 0x13, 0x70, 0xb8, 0x0f, 0xda, 0x0a, 0xfd, 0x83, 0x1b, 0xa6, 0xcd, 0x9b, 0xa7, 0x41, + 0xfb, 0xa0, 0xec, 0x17, 0xf5, 0xcf, 0x12, 0x1c, 0xe3, 0xea, 0x4e, 0x07, 0x05, 0x3a, 0xb1, 0x8b, + 0xf0, 0x6a, 0x5c, 0xba, 0xbf, 0x57, 0xe3, 0x9b, 0x30, 0xd3, 0x17, 0xb7, 0xe5, 0xf7, 0xb9, 0xa3, + 0x4e, 0x93, 0x0b, 0x4f, 0xe0, 0x4b, 0xf7, 0xfd, 0x04, 0x5e, 0xfd, 0x92, 0x0c, 0x33, 0xa9, 0x66, + 0x60, 0x68, 0x27, 0xb5, 0x08, 0x60, 0xc6, 0xa1, 0x39, 0xe4, 0xd6, 0x4b, 0x8c, 0x5f, 0x8d, 0x23, + 0xca, 0xbb, 0xf4, 0x2f, 0x1d, 0xfe, 0xd2, 0xff, 0x1a, 0x34, 0xdc, 0xc4, 0x49, 0x43, 0x0e, 0x0d, + 0x72, 0x5c, 0xa9, 0xf1, 0xa4, 0xea, 0x97, 0x25, 0x98, 0xcd, 0x94, 0x6c, 0x72, 0x19, 0x8e, 0x13, + 0x35, 0xbe, 0x0c, 0xc7, 0x00, 0x97, 0x01, 0x72, 0x3a, 0x03, 0x2c, 0x73, 0x9f, 0xff, 0xb1, 0x0e, + 0x03, 0x0b, 0xa2, 0xaf, 0x5c, 0x18, 0x7d, 0x5f, 0x91, 0x61, 0x2e, 0xbf, 0xc1, 0x7a, 0x5c, 0xfd, + 0xf3, 0x55, 0x09, 0x5a, 0x45, 0x6b, 0xe1, 0x03, 0x73, 0x53, 0x92, 0x3f, 0x71, 0xef, 0xfa, 0xb8, + 0xfa, 0xe7, 0x58, 0x94, 0x3e, 0x5c, 0x73, 0xa1, 0xbe, 0x1f, 0xdb, 0x27, 0xee, 0xce, 0x1f, 0x53, + 0xfb, 0x28, 0xe7, 0xa1, 0x49, 0xd5, 0xe4, 0xde, 0xa1, 0xd1, 0xcd, 0x5e, 0x06, 0xaf, 0xbe, 0x1d, + 0xd9, 0x92, 0x6b, 0xb4, 0x8e, 0x2a, 0xc6, 0xd5, 0x9f, 0x4b, 0x91, 0x4f, 0xe2, 0x3d, 0xcf, 0x23, + 0xe5, 0x93, 0x24, 0xd2, 0xb8, 0x36, 0x92, 0x8b, 0xb4, 0x78, 0x2f, 0xf6, 0xef, 0x48, 0x1b, 0x1d, + 0x69, 0xb1, 0x2d, 0xb9, 0x96, 0x5a, 0xfd, 0xb6, 0x04, 0x27, 0x0b, 0xf7, 0xa3, 0x43, 0xad, 0xca, + 0x35, 0x8d, 0xb2, 0xd8, 0x34, 0xa6, 0xd4, 0x2b, 0x1d, 0xbe, 0xd0, 0xfc, 0x52, 0x82, 0xa7, 0x86, + 0x34, 0xef, 0x29, 0xcf, 0x4a, 0x87, 0xf1, 0x6c, 0x4a, 0x58, 0xb9, 0xf0, 0x62, 0x7a, 0xa4, 0x2f, + 0x92, 0xf4, 0x2c, 0xf1, 0xe9, 0xa9, 0xfe, 0x56, 0x82, 0x67, 0xc6, 0xd8, 0x89, 0x3f, 0x5c, 0xca, + 0x14, 0x3e, 0xd4, 0x55, 0x7f, 0x27, 0xc1, 0xd9, 0xf1, 0x36, 0xf5, 0x8f, 0x8a, 0x46, 0x3f, 0xe5, + 0x73, 0x20, 0x7d, 0x5a, 0xc0, 0xb9, 0x55, 0x12, 0xaa, 0x2e, 0x9f, 0x1b, 0x72, 0x2a, 0x37, 0x8e, + 0x2c, 0x03, 0xd2, 0xef, 0xf1, 0xcb, 0xd9, 0xf7, 0xf8, 0x1d, 0x2e, 0x45, 0xb2, 0x3b, 0xd0, 0x82, + 0xa5, 0x84, 0x5b, 0x32, 0x64, 0x71, 0xc9, 0xf8, 0x0c, 0x4c, 0xad, 0x20, 0xab, 0xe3, 0xf7, 0xa3, + 0x5f, 0xce, 0x1c, 0xe9, 0x69, 0xeb, 0x18, 0xfa, 0x2c, 0xc1, 0x34, 0x2f, 0xc0, 0x61, 0x7e, 0x19, + 0xa2, 0xde, 0x86, 0x93, 0x5d, 0x14, 0x2c, 0xba, 0xee, 0x92, 0xde, 0xdb, 0xc5, 0x6e, 0xb6, 0x8d, + 0x2e, 0x79, 0xca, 0x3c, 0xec, 0xa7, 0x40, 0x78, 0x67, 0xe9, 0x27, 0x04, 0xec, 0x05, 0xad, 0x80, + 0x53, 0xd7, 0xa1, 0x5d, 0xc4, 0xf8, 0x50, 0x82, 0xfe, 0x4d, 0x86, 0x49, 0xf2, 0x1e, 0xd8, 0xe8, + 0xf8, 0xfd, 0x2e, 0x22, 0xbf, 0x7f, 0xf7, 0xc9, 0xb5, 0x60, 0x62, 0xed, 0x08, 0x4e, 0x6f, 0x8e, + 0xe5, 0xec, 0xe6, 0x78, 0x03, 0x00, 0x45, 0xdc, 0x7c, 0xf6, 0xc8, 0xe6, 0x62, 0x4e, 0xd8, 0xf1, + 0x53, 0x26, 0x00, 0x7b, 0xb3, 0xcd, 0xb1, 0xc0, 0xeb, 0x4b, 0x47, 0xbf, 0xd7, 0xf1, 0xfb, 0xdc, + 0xdf, 0x35, 0xa1, 0x6f, 0x6d, 0x32, 0x78, 0x6c, 0xbf, 0x98, 0x72, 0x3d, 0x1c, 0xb0, 0x75, 0x48, + 0xc0, 0xa5, 0x5e, 0xa0, 0x57, 0xd3, 0x2f, 0xd0, 0xdb, 0x6f, 0xc3, 0x4c, 0x4a, 0x9c, 0x9c, 0x37, + 0xce, 0x97, 0xc4, 0x9f, 0x4b, 0x9c, 0x1a, 0xa6, 0x20, 0xff, 0x02, 0xfa, 0x2f, 0x32, 0xd4, 0xe3, + 0x0f, 0xca, 0x00, 0x4e, 0x78, 0x48, 0x27, 0x7f, 0xc8, 0x24, 0x7e, 0x91, 0xcd, 0xfd, 0xa8, 0xe9, + 0xff, 0x87, 0x71, 0x5d, 0xd0, 0xf2, 0x28, 0xa9, 0xf9, 0xf2, 0xb9, 0x8e, 0xf1, 0x9b, 0x8b, 0xfc, + 0xc7, 0xe0, 0xa5, 0xa2, 0xc7, 0xe0, 0x99, 0xe7, 0xeb, 0xe5, 0xc2, 0xe7, 0xeb, 0xf1, 0xdf, 0xa8, + 0x68, 0x23, 0x68, 0x17, 0x8b, 0x9e, 0x63, 0xea, 0xff, 0x13, 0x4d, 0x9d, 0x77, 0x85, 0x7e, 0x1d, + 0x1d, 0xd0, 0xbf, 0x8e, 0xc2, 0x59, 0x7a, 0x1b, 0x6a, 0x11, 0x9a, 0x1c, 0x15, 0x1d, 0xb8, 0xe8, + 0x7a, 0xcc, 0x38, 0x02, 0xc5, 0xb7, 0xea, 0x75, 0x46, 0x8f, 0x43, 0xce, 0xd2, 0x03, 0xe4, 0x07, + 0x5c, 0xc8, 0x51, 0x23, 0x64, 0xf0, 0x4b, 0x17, 0xde, 0x3a, 0xbf, 0xe1, 0x22, 0xfb, 0xce, 0x5a, + 0x27, 0xf3, 0x17, 0x9a, 0x5e, 0xc9, 0x48, 0xba, 0x55, 0x25, 0xdf, 0x9f, 0xfb, 0x57, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xe9, 0x20, 0x8e, 0xd1, 0x01, 0x4a, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 843771ee7..de5b25623 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -21,7 +21,7 @@ message GroupInfo{ string creatorUserID = 11; int32 groupType = 12; int32 needVerification = 13; - int32 lookMemberInfo =14; + int32 lookMemberInfo = 14; int32 applyMemberFriend = 15; uint32 notificationUpdateTime = 16; string notificationUserID = 17; @@ -34,9 +34,9 @@ message GroupInfoForSet{ string introduction = 4; string faceURL = 5; string ex = 6; - google.protobuf.Int32Value needVerification = 7; - google.protobuf.Int32Value lookMemberInfo = 8; - google.protobuf.Int32Value applyMemberFriend = 9; + google.protobuf.Int32Value needVerification = 7; + google.protobuf.Int32Value lookMemberInfo = 8; + google.protobuf.Int32Value applyMemberFriend = 9; } @@ -141,34 +141,34 @@ message Department { uint32 createTime = 7; uint32 subDepartmentNum = 8; uint32 memberNum = 9; - string ex = 10; + string ex = 10; } message OrganizationUser { - string userID = 1; - string nickname = 2; - string englishName = 3; - string faceURL = 4; - int32 gender = 5; - string mobile = 6; - string telephone = 7; - uint32 birth = 8; - string email = 9; - uint32 createTime = 10; - string ex = 11; - string birthStr = 12; + string userID = 1; + string nickname = 2; + string englishName = 3; + string faceURL = 4; + int32 gender = 5; + string mobile = 6; + string telephone = 7; + uint32 birth = 8; + string email = 9; + uint32 createTime = 10; + string ex = 11; + string birthStr = 12; } message DepartmentMember { - string userID = 1; - string departmentID = 2; - int32 order = 3; - string position = 4; - int32 leader = 5; - int32 status = 6; - string ex = 7; + string userID = 1; + string departmentID = 2; + int32 order = 3; + string position = 4; + int32 leader = 5; + int32 status = 6; + string ex = 7; } @@ -203,12 +203,12 @@ message PullMessageBySeqListReq{ } message seqList { - repeated uint32 seqList = 1; + repeated uint32 seqList = 1; } message MsgDataList { - repeated MsgData msgDataList = 1; + repeated MsgData msgDataList = 1; } message PullMessageBySeqListResp { @@ -221,9 +221,9 @@ message PullMessageBySeqListResp { message GetMaxAndMinSeqReq { - repeated string groupIDList = 1; - string userID = 2; - string operationID =3; + repeated string groupIDList = 1; + string userID = 2; + string operationID = 3; } message MaxAndMinSeq{ uint32 maxSeq = 1; @@ -266,6 +266,9 @@ message MsgData { bytes msgDataList = 21; string attachedInfo = 22; string ex = 23; + bool isReact = 24; + bool isExternalExtensions = 25; + int64 msgFirstModifyTime = 26; } message OfflinePushInfo{ @@ -453,7 +456,7 @@ message FriendApplicationApprovedTips{ //FromUserID accept or reject ToUserID message FriendApplicationRejectedTips{ FromToUserID fromToUserID = 1; - string handleMsg = 2; + string handleMsg = 2; } @@ -490,23 +493,23 @@ message UserInfoUpdatedTips{ //////////////////////conversation///////////////////// message ConversationUpdateTips{ - string UserID = 1; - repeated string conversationIDList = 2; - int64 updateUnreadCountTime = 3; + string UserID = 1; + repeated string conversationIDList = 2; + int64 updateUnreadCountTime = 3; } message ConversationSetPrivateTips{ - string recvID = 1; - string sendID = 2; - bool isPrivate = 3; + string recvID = 1; + string sendID = 2; + bool isPrivate = 3; } ////////////////////message/////////////////////// message DeleteMessageTips{ string opUserID = 1; - string userID =2; + string userID = 2; repeated uint32 seqList = 3; } ///cms @@ -524,24 +527,24 @@ message ResponsePagination { ///////////////////signal////////////// message SignalReq { oneof payload { - SignalInviteReq invite = 1; - SignalInviteInGroupReq inviteInGroup= 2; - SignalCancelReq cancel = 3; - SignalAcceptReq accept = 4; - SignalHungUpReq hungUp = 5; - SignalRejectReq reject = 6; - SignalGetRoomByGroupIDReq getRoomByGroupID = 7; + SignalInviteReq invite = 1; + SignalInviteInGroupReq inviteInGroup = 2; + SignalCancelReq cancel = 3; + SignalAcceptReq accept = 4; + SignalHungUpReq hungUp = 5; + SignalRejectReq reject = 6; + SignalGetRoomByGroupIDReq getRoomByGroupID = 7; - SignalOnRoomParticipantConnectedReq onRoomParticipantConnectedReq = 8; - SignalOnRoomParticipantDisconnectedReq onRoomParticipantDisconnectedReq = 9; - SignalGetTokenByRoomIDReq getTokenByRoomID = 10; + SignalOnRoomParticipantConnectedReq onRoomParticipantConnectedReq = 8; + SignalOnRoomParticipantDisconnectedReq onRoomParticipantDisconnectedReq = 9; + SignalGetTokenByRoomIDReq getTokenByRoomID = 10; } } message SignalResp { oneof payload { SignalInviteReply invite = 1; - SignalInviteInGroupReply inviteInGroup= 2; + SignalInviteInGroupReply inviteInGroup = 2; SignalCancelReply cancel = 3; SignalAcceptReply accept = 4; SignalHungUpReply hungUp = 5; @@ -553,30 +556,30 @@ message SignalResp { message InvitationInfo { - string inviterUserID = 1; - repeated string inviteeUserIDList = 2; - string customData = 3; - string groupID = 4; - string roomID = 5; - int32 timeout = 6; - string mediaType = 7; - int32 platformID = 8; - int32 sessionType = 9; - int32 initiateTime = 10; - repeated string busyLineUserIDList = 11; + string inviterUserID = 1; + repeated string inviteeUserIDList = 2; + string customData = 3; + string groupID = 4; + string roomID = 5; + int32 timeout = 6; + string mediaType = 7; + int32 platformID = 8; + int32 sessionType = 9; + int32 initiateTime = 10; + repeated string busyLineUserIDList = 11; } message ParticipantMetaData{ - GroupInfo groupInfo = 1; - GroupMemberFullInfo groupMemberInfo = 2; - PublicUserInfo userInfo = 3; + GroupInfo groupInfo = 1; + GroupMemberFullInfo groupMemberInfo = 2; + PublicUserInfo userInfo = 3; } message SignalInviteReq { - string opUserID = 1; - InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; - ParticipantMetaData participant = 4; + string opUserID = 1; + InvitationInfo invitation = 2; + OfflinePushInfo offlinePushInfo = 3; + ParticipantMetaData participant = 4; } @@ -590,7 +593,7 @@ message SignalInviteReply { message SignalInviteInGroupReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; } @@ -604,7 +607,7 @@ message SignalInviteInGroupReply { message SignalCancelReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; } @@ -615,7 +618,7 @@ message SignalCancelReply { message SignalAcceptReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; int32 opUserPlatformID = 5; } @@ -629,7 +632,7 @@ message SignalAcceptReply { message SignalHungUpReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; } message SignalHungUpReply { @@ -640,7 +643,7 @@ message SignalHungUpReply { message SignalRejectReq { string opUserID = 1; InvitationInfo invitation = 2; - OfflinePushInfo offlinePushInfo = 3; + OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; int32 opUserPlatformID = 5; } @@ -687,10 +690,10 @@ message SignalGetTokenByRoomIDReply { message DelMsgListReq{ - string opUserID = 1; - string userID = 2; - repeated uint32 seqList = 3; - string operationID = 4; + string opUserID = 1; + string userID = 2; + repeated uint32 seqList = 3; + string operationID = 4; } message DelMsgListResp{