From b135de80c0eb774bd85cc95492aad984362ad4e1 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 17:46:11 +0800 Subject: [PATCH 1/9] Refactor code --- cmd/open_im_api/main.go | 2 +- internal/api/group/group.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index b38e452fc..4c79239a6 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -57,7 +57,7 @@ func main() { groupRouterGroup.POST("/get_groups_info", group.GetGroupsInfo) //1 groupRouterGroup.POST("/kick_group", group.KickGroupMember) //1 groupRouterGroup.POST("/get_group_member_list", group.GetGroupMemberList) //no use - groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMember) + groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMemberList) groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1 groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 6ce7412cd..9ec4cfb33 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -138,7 +138,7 @@ func GetGroupMemberList(c *gin.Context) { c.JSON(http.StatusOK, memberListResp) } -func GetGroupAllMember(c *gin.Context) { +func GetGroupAllMemberList(c *gin.Context) { params := api.GetGroupAllMemberReq{} if err := c.BindJSON(¶ms); err != nil { log.NewError("0", "BindJSON failed ", err.Error()) From a09b39dd69a4b9d1616ad4e585c2eb6a8f5fbf2f Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 17:48:19 +0800 Subject: [PATCH 2/9] Refactor code --- cmd/open_im_api/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 4c79239a6..36d5248dd 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -57,7 +57,7 @@ func main() { groupRouterGroup.POST("/get_groups_info", group.GetGroupsInfo) //1 groupRouterGroup.POST("/kick_group", group.KickGroupMember) //1 groupRouterGroup.POST("/get_group_member_list", group.GetGroupMemberList) //no use - groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMemberList) + groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMemberList) //1 groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1 groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList) From f3a9857747afc3af676b252ab39e3688555deafb Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 17:54:11 +0800 Subject: [PATCH 3/9] Refactor code --- internal/api/group/group.go | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 9ec4cfb33..e5d23f87f 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -11,6 +11,7 @@ import ( "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" + "github.com/golang/protobuf/jsonpb" "net/http" "strings" ) @@ -124,16 +125,7 @@ func GetGroupMemberList(c *gin.Context) { if len(memberListResp.MemberList) == 0 { memberListResp.MemberList = []*open_im_sdk.GroupMemberFullInfo{} } - /* - jsm := &jsonpb.Marshaler{ - OrigName: true, - EnumsAsInts: false, - EmitDefaults: true, - } - var b bytes.Buffer - err = jsm.MarshalToString(memberListResp.MemberList[0]) - */ log.NewInfo(req.OperationID, "GetGroupMemberList api return ", memberListResp) c.JSON(http.StatusOK, memberListResp) } @@ -169,6 +161,18 @@ func GetGroupAllMemberList(c *gin.Context) { if len(memberListResp.MemberList) == 0 { memberListResp.MemberList = []*open_im_sdk.GroupMemberFullInfo{} } + + jsm := &jsonpb.Marshaler{ + OrigName: true, + EnumsAsInts: false, + EmitDefaults: true, + } + + if len(memberListResp.MemberList) > 0 { + s, err := jsm.MarshalToString(memberListResp.MemberList[0]) + log.NewDebug(req.OperationID, "MarshalToString ", s, err) + } + log.NewInfo(req.OperationID, "GetGroupAllMember api return ", memberListResp) c.JSON(http.StatusOK, memberListResp) } From 1b11cd571e428f58b3bbafdb7428b8de4f7eb2cb Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 18:19:54 +0800 Subject: [PATCH 4/9] Refactor code --- internal/api/group/group.go | 20 ++++++++++++++++++++ pkg/base_info/group_api_struct.go | 5 +++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index e5d23f87f..2849e5531 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -10,8 +10,10 @@ import ( open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" + "encoding/json" "github.com/gin-gonic/gin" "github.com/golang/protobuf/jsonpb" + "github.com/golang/protobuf/proto" "net/http" "strings" ) @@ -170,13 +172,31 @@ func GetGroupAllMemberList(c *gin.Context) { if len(memberListResp.MemberList) > 0 { s, err := jsm.MarshalToString(memberListResp.MemberList[0]) + //{"GroupID":"7836e478bc43ce1d3b8889cac983f59b","UserID":"openIM001","roleLevel":1,"JoinTime":"0","NickName":"","FaceUrl":"https://oss.com.cn/head","AppMangerLevel":0,"JoinSource":0,"OperatorUserID":"","Ex":"xxx"} log.NewDebug(req.OperationID, "MarshalToString ", s, err) + m := ProtoToMap(memberListResp.MemberList[0], false) + log.NewDebug(req.OperationID, "mmm ", m) + memberListResp.Test = m } log.NewInfo(req.OperationID, "GetGroupAllMember api return ", memberListResp) c.JSON(http.StatusOK, memberListResp) } +func ProtoToMap(pb proto.Message, idFix bool) map[string]interface{} { + marshaler := jsonpb.Marshaler{} + s, _ := marshaler.MarshalToString(pb) + out := make(map[string]interface{}) + json.Unmarshal([]byte(s), &out) + if idFix { + if _, ok := out["id"]; ok { + out["_id"] = out["id"] + delete(out, "id") + } + } + return out +} + func GetJoinedGroupList(c *gin.Context) { params := api.GetJoinedGroupListReq{} if err := c.BindJSON(¶ms); err != nil { diff --git a/pkg/base_info/group_api_struct.go b/pkg/base_info/group_api_struct.go index a602b790f..33ae4b845 100644 --- a/pkg/base_info/group_api_struct.go +++ b/pkg/base_info/group_api_struct.go @@ -64,12 +64,13 @@ type GetGroupMemberListResp struct { } type GetGroupAllMemberReq struct { - GroupID string `json:"groupID"` - OperationID string `json:"operationID"` + GroupID string `json:"groupID" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type GetGroupAllMemberResp struct { CommResp MemberList []*open_im_sdk.GroupMemberFullInfo `json:"data"` + Test map[string]interface{} `json:"data2"` } type CreateGroupReq struct { From 324152e363b53be74545edfb7b9852e8e688b182 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 18:22:56 +0800 Subject: [PATCH 5/9] Refactor code --- internal/api/group/group.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 2849e5531..749f2d293 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -184,7 +184,11 @@ func GetGroupAllMemberList(c *gin.Context) { } func ProtoToMap(pb proto.Message, idFix bool) map[string]interface{} { - marshaler := jsonpb.Marshaler{} + marshaler := jsonpb.Marshaler{ + OrigName: true, + EnumsAsInts: false, + EmitDefaults: true, + } s, _ := marshaler.MarshalToString(pb) out := make(map[string]interface{}) json.Unmarshal([]byte(s), &out) From 816ceab0574c947108b1c55c1d91a6777e067e61 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 18:28:37 +0800 Subject: [PATCH 6/9] Refactor code --- pkg/proto/sdk_ws/ws.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index d757cc41f..3f552891f 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -26,7 +26,7 @@ message GroupMemberFullInfo { string UserID = 2 ; int32 roleLevel = 3; int64 JoinTime = 4; - string NickName = 5; + string Nickname = 5; string FaceUrl = 6; int32 AppMangerLevel = 7; //if >0 int32 JoinSource = 8; From 887028a1b46acb5a44703b7d025d18512d7e2652 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 18:30:03 +0800 Subject: [PATCH 7/9] Refactor code --- pkg/proto/sdk_ws/ws.pb.go | 285 +++++++++++++++++++------------------- 1 file changed, 142 insertions(+), 143 deletions(-) diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index b9857aad1..0b30328b4 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -40,7 +40,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_c6aceb61f76d5c8d, []int{0} + return fileDescriptor_ws_8a45d93b14f6e420, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -149,7 +149,7 @@ type GroupMemberFullInfo struct { UserID string `protobuf:"bytes,2,opt,name=UserID" json:"UserID,omitempty"` RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel" json:"roleLevel,omitempty"` JoinTime int64 `protobuf:"varint,4,opt,name=JoinTime" json:"JoinTime,omitempty"` - NickName string `protobuf:"bytes,5,opt,name=NickName" json:"NickName,omitempty"` + Nickname string `protobuf:"bytes,5,opt,name=Nickname" json:"Nickname,omitempty"` FaceUrl string `protobuf:"bytes,6,opt,name=FaceUrl" json:"FaceUrl,omitempty"` AppMangerLevel int32 `protobuf:"varint,7,opt,name=AppMangerLevel" json:"AppMangerLevel,omitempty"` JoinSource int32 `protobuf:"varint,8,opt,name=JoinSource" json:"JoinSource,omitempty"` @@ -164,7 +164,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_c6aceb61f76d5c8d, []int{1} + return fileDescriptor_ws_8a45d93b14f6e420, []int{1} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -212,9 +212,9 @@ func (m *GroupMemberFullInfo) GetJoinTime() int64 { return 0 } -func (m *GroupMemberFullInfo) GetNickName() string { +func (m *GroupMemberFullInfo) GetNickname() string { if m != nil { - return m.NickName + return m.Nickname } return "" } @@ -269,7 +269,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_c6aceb61f76d5c8d, []int{2} + return fileDescriptor_ws_8a45d93b14f6e420, []int{2} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -344,7 +344,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_c6aceb61f76d5c8d, []int{3} + return fileDescriptor_ws_8a45d93b14f6e420, []int{3} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -451,7 +451,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_c6aceb61f76d5c8d, []int{4} + return fileDescriptor_ws_8a45d93b14f6e420, []int{4} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -536,7 +536,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_c6aceb61f76d5c8d, []int{5} + return fileDescriptor_ws_8a45d93b14f6e420, []int{5} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -617,7 +617,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_c6aceb61f76d5c8d, []int{6} + return fileDescriptor_ws_8a45d93b14f6e420, []int{6} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -719,7 +719,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_c6aceb61f76d5c8d, []int{7} + return fileDescriptor_ws_8a45d93b14f6e420, []int{7} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -818,7 +818,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_c6aceb61f76d5c8d, []int{8} + return fileDescriptor_ws_8a45d93b14f6e420, []int{8} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -893,7 +893,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_c6aceb61f76d5c8d, []int{9} + return fileDescriptor_ws_8a45d93b14f6e420, []int{9} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -948,7 +948,7 @@ func (m *PullMessageReq) Reset() { *m = PullMessageReq{} } func (m *PullMessageReq) String() string { return proto.CompactTextString(m) } func (*PullMessageReq) ProtoMessage() {} func (*PullMessageReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{10} + return fileDescriptor_ws_8a45d93b14f6e420, []int{10} } func (m *PullMessageReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageReq.Unmarshal(m, b) @@ -1012,7 +1012,7 @@ func (m *PullMessageResp) Reset() { *m = PullMessageResp{} } func (m *PullMessageResp) String() string { return proto.CompactTextString(m) } func (*PullMessageResp) ProtoMessage() {} func (*PullMessageResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{11} + return fileDescriptor_ws_8a45d93b14f6e420, []int{11} } func (m *PullMessageResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageResp.Unmarshal(m, b) @@ -1084,7 +1084,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_c6aceb61f76d5c8d, []int{12} + return fileDescriptor_ws_8a45d93b14f6e420, []int{12} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1116,7 +1116,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_c6aceb61f76d5c8d, []int{13} + return fileDescriptor_ws_8a45d93b14f6e420, []int{13} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1164,7 +1164,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} } func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{14} + return fileDescriptor_ws_8a45d93b14f6e420, []int{14} } func (m *GatherFormat) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GatherFormat.Unmarshal(m, b) @@ -1211,7 +1211,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_c6aceb61f76d5c8d, []int{15} + return fileDescriptor_ws_8a45d93b14f6e420, []int{15} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1280,7 +1280,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_c6aceb61f76d5c8d, []int{16} + return fileDescriptor_ws_8a45d93b14f6e420, []int{16} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -1441,7 +1441,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_c6aceb61f76d5c8d, []int{17} + return fileDescriptor_ws_8a45d93b14f6e420, []int{17} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -1508,7 +1508,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_c6aceb61f76d5c8d, []int{18} + return fileDescriptor_ws_8a45d93b14f6e420, []int{18} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -1557,7 +1557,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_c6aceb61f76d5c8d, []int{19} + return fileDescriptor_ws_8a45d93b14f6e420, []int{19} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -1612,7 +1612,7 @@ func (m *MemberLeaveTips) Reset() { *m = MemberLeaveTips{} } func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) } func (*MemberLeaveTips) ProtoMessage() {} func (*MemberLeaveTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{20} + return fileDescriptor_ws_8a45d93b14f6e420, []int{20} } func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b) @@ -1667,7 +1667,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_c6aceb61f76d5c8d, []int{21} + return fileDescriptor_ws_8a45d93b14f6e420, []int{21} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -1729,7 +1729,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_c6aceb61f76d5c8d, []int{22} + return fileDescriptor_ws_8a45d93b14f6e420, []int{22} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -1792,7 +1792,7 @@ func (m *MemberInfoChangedTips) Reset() { *m = MemberInfoChangedTips{} } func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*MemberInfoChangedTips) ProtoMessage() {} func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{23} + return fileDescriptor_ws_8a45d93b14f6e420, []int{23} } func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b) @@ -1861,7 +1861,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_c6aceb61f76d5c8d, []int{24} + return fileDescriptor_ws_8a45d93b14f6e420, []int{24} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -1922,7 +1922,7 @@ func (m *GroupInfoChangedTips) Reset() { *m = GroupInfoChangedTips{} } func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoChangedTips) ProtoMessage() {} func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{25} + return fileDescriptor_ws_8a45d93b14f6e420, []int{25} } func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b) @@ -1976,7 +1976,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_c6aceb61f76d5c8d, []int{26} + return fileDescriptor_ws_8a45d93b14f6e420, []int{26} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2031,7 +2031,7 @@ func (m *ApplicationProcessedTips) Reset() { *m = ApplicationProcessedTi func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (*ApplicationProcessedTips) ProtoMessage() {} func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{27} + return fileDescriptor_ws_8a45d93b14f6e420, []int{27} } func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b) @@ -2092,7 +2092,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_c6aceb61f76d5c8d, []int{28} + return fileDescriptor_ws_8a45d93b14f6e420, []int{28} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -2145,7 +2145,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_c6aceb61f76d5c8d, []int{29} + return fileDescriptor_ws_8a45d93b14f6e420, []int{29} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -2191,7 +2191,7 @@ func (m *FriendApplicationAddedTips) Reset() { *m = FriendApplicationAdd func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationAddedTips) ProtoMessage() {} func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{30} + return fileDescriptor_ws_8a45d93b14f6e420, []int{30} } func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b) @@ -2230,7 +2230,7 @@ func (m *FriendApplicationProcessedTips) Reset() { *m = FriendApplicatio func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationProcessedTips) ProtoMessage() {} func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{31} + return fileDescriptor_ws_8a45d93b14f6e420, []int{31} } func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b) @@ -2271,7 +2271,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_c6aceb61f76d5c8d, []int{32} + return fileDescriptor_ws_8a45d93b14f6e420, []int{32} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -2324,7 +2324,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_c6aceb61f76d5c8d, []int{33} + return fileDescriptor_ws_8a45d93b14f6e420, []int{33} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -2362,7 +2362,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_c6aceb61f76d5c8d, []int{34} + return fileDescriptor_ws_8a45d93b14f6e420, []int{34} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -2400,7 +2400,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_c6aceb61f76d5c8d, []int{35} + return fileDescriptor_ws_8a45d93b14f6e420, []int{35} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -2438,7 +2438,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_c6aceb61f76d5c8d, []int{36} + return fileDescriptor_ws_8a45d93b14f6e420, []int{36} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -2477,7 +2477,7 @@ func (m *SelfInfoUpdatedTips) Reset() { *m = SelfInfoUpdatedTips{} } func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*SelfInfoUpdatedTips) ProtoMessage() {} func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_c6aceb61f76d5c8d, []int{37} + return fileDescriptor_ws_8a45d93b14f6e420, []int{37} } func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b) @@ -2546,10 +2546,10 @@ func init() { proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c6aceb61f76d5c8d) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_8a45d93b14f6e420) } -var fileDescriptor_ws_c6aceb61f76d5c8d = []byte{ - // 1923 bytes of a gzipped FileDescriptorProto +var fileDescriptor_ws_8a45d93b14f6e420 = []byte{ + // 1920 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0xcd, 0x8f, 0x1b, 0x49, 0x15, 0x57, 0xb7, 0xdd, 0xfe, 0x78, 0xf6, 0x8c, 0x27, 0x9d, 0x64, 0xb6, 0x09, 0xab, 0xc8, 0xb4, 0x56, 0x68, 0x84, 0x20, 0x2b, 0x65, 0x85, 0xb4, 0x04, 0x2d, 0xe0, 0x19, 0xcf, 0xe4, 0x83, 0x38, @@ -2572,103 +2572,102 @@ var fileDescriptor_ws_c6aceb61f76d5c8d = []byte{ 0xf6, 0x66, 0x41, 0x9c, 0x36, 0x17, 0x50, 0x02, 0xee, 0x5f, 0x4d, 0xb8, 0xc9, 0x29, 0x61, 0xc0, 0x49, 0x16, 0x45, 0xef, 0xc8, 0xc0, 0x3e, 0xd4, 0xa4, 0x3a, 0x11, 0xfe, 0x5a, 0xa9, 0x27, 0x89, 0x23, 0xf2, 0x94, 0x5c, 0x90, 0x88, 0x07, 0xde, 0xf2, 0x4a, 0xc0, 0xbe, 0x03, 0x8d, 0x27, 0x71, - 0x48, 0x79, 0x4c, 0xaa, 0x3c, 0x26, 0x05, 0x8d, 0xdf, 0x9e, 0x85, 0xe3, 0x19, 0x4f, 0xa9, 0x08, - 0x77, 0x41, 0xab, 0x99, 0xa8, 0xe9, 0x99, 0xf8, 0x36, 0xec, 0xf6, 0x16, 0x8b, 0x81, 0x4f, 0xa7, - 0x24, 0x11, 0x4a, 0xeb, 0x5c, 0xe9, 0x0a, 0x8a, 0xf9, 0x40, 0x4d, 0xa3, 0x38, 0x4b, 0xc6, 0x84, - 0x87, 0xdb, 0xf2, 0x14, 0x04, 0xe5, 0x0c, 0x17, 0x24, 0x51, 0xc2, 0x28, 0x22, 0xbf, 0x82, 0xca, - 0xac, 0x40, 0x9e, 0x15, 0xf7, 0xf7, 0x06, 0xec, 0x9e, 0x66, 0x2f, 0xa3, 0x70, 0xcc, 0x19, 0x30, - 0x68, 0x65, 0x68, 0x0c, 0x2d, 0x34, 0xd2, 0x41, 0x5a, 0xd6, 0x6c, 0x41, 0xab, 0x0e, 0x56, 0x74, - 0x07, 0xf7, 0xa1, 0xf6, 0x90, 0xd0, 0x80, 0x24, 0x3c, 0x60, 0x96, 0x27, 0xa9, 0x0d, 0x8e, 0x5b, - 0x9b, 0x1c, 0x77, 0x7f, 0x6b, 0x42, 0xe3, 0x23, 0x9b, 0xd6, 0x85, 0xd6, 0xe9, 0x79, 0x4c, 0xc9, - 0xb3, 0x0c, 0x8b, 0x49, 0x26, 0x53, 0x85, 0xec, 0x5b, 0x60, 0x1d, 0x86, 0x49, 0x7a, 0xce, 0xb3, - 0x59, 0xf1, 0x04, 0x81, 0xe8, 0xf1, 0xdc, 0x0f, 0x45, 0x0a, 0x9b, 0x9e, 0x20, 0x64, 0xc4, 0x1b, - 0xc5, 0x3e, 0xd0, 0x77, 0x56, 0x73, 0x6d, 0x67, 0xad, 0x07, 0x06, 0x36, 0x06, 0xe6, 0x5f, 0x06, - 0xc0, 0x49, 0x12, 0x12, 0x1a, 0xf0, 0xd0, 0xac, 0x6c, 0x69, 0x63, 0x7d, 0x4b, 0xef, 0x43, 0xcd, - 0x23, 0x73, 0x3f, 0x99, 0xe5, 0x25, 0x2f, 0xa8, 0x15, 0x83, 0x2a, 0x6b, 0x06, 0x7d, 0x3f, 0xd7, - 0x83, 0x72, 0x78, 0xa8, 0x5a, 0xf7, 0x6f, 0xdf, 0x53, 0xda, 0xde, 0xbd, 0x3c, 0x3f, 0x9e, 0xc2, - 0x88, 0x3b, 0xa9, 0x17, 0x04, 0xb2, 0x60, 0x45, 0x6e, 0x4b, 0x60, 0x43, 0xbd, 0xd6, 0x2e, 0xa9, - 0xd7, 0x7a, 0x51, 0xaf, 0x7f, 0x37, 0xa0, 0x79, 0x18, 0xf9, 0xe3, 0xd9, 0x96, 0x4e, 0xeb, 0xce, - 0x99, 0x6b, 0xce, 0xf5, 0x60, 0x87, 0x8b, 0xcb, 0x5d, 0xe0, 0xfe, 0xb7, 0xee, 0x7f, 0x53, 0xf3, - 0x4f, 0xdf, 0x20, 0x9e, 0xbe, 0x42, 0x77, 0xb4, 0xfa, 0x6e, 0x47, 0xad, 0x4b, 0x1c, 0xad, 0x15, - 0x8e, 0xfe, 0xda, 0x84, 0x36, 0x6f, 0x56, 0x1e, 0x59, 0x66, 0x84, 0xa5, 0x6f, 0xad, 0x7d, 0xa5, - 0xc7, 0x99, 0x7a, 0x8f, 0x73, 0xa1, 0xfd, 0xc8, 0xa7, 0x41, 0x44, 0x3c, 0xc2, 0xb2, 0x28, 0xcd, - 0xcf, 0x11, 0x15, 0x13, 0x45, 0xb1, 0x1c, 0xb0, 0xa9, 0x3c, 0x41, 0x24, 0x85, 0x4e, 0x09, 0x3e, - 0xfc, 0x24, 0x2c, 0x2e, 0x01, 0xd4, 0xe9, 0x91, 0x25, 0x0f, 0xa9, 0xd8, 0x01, 0x39, 0x59, 0xea, - 0x94, 0xb6, 0xd6, 0x55, 0x9d, 0x65, 0x4e, 0x04, 0xcd, 0x05, 0x34, 0x44, 0x4e, 0x4a, 0x64, 0xf5, - 0xe4, 0x70, 0xbf, 0x36, 0x61, 0x47, 0x14, 0x56, 0x1e, 0x8b, 0xbb, 0x58, 0x92, 0xf1, 0x5c, 0x8b, - 0x87, 0x82, 0x60, 0x3f, 0x38, 0x8b, 0xb5, 0xfe, 0x5e, 0xd0, 0x1b, 0xa3, 0x62, 0x6d, 0x19, 0x15, - 0xbd, 0x9a, 0xac, 0xb5, 0x6a, 0xfa, 0x0c, 0x76, 0x84, 0x1c, 0xbd, 0xa8, 0x75, 0x50, 0x8f, 0x6d, - 0x7d, 0x35, 0xb6, 0x57, 0x8d, 0xce, 0x7f, 0x0d, 0x70, 0x4e, 0xb3, 0x28, 0x1a, 0x10, 0xc6, 0xfc, - 0x29, 0x39, 0x7c, 0x33, 0x22, 0xcb, 0xa7, 0x21, 0x4b, 0x3d, 0xc2, 0x16, 0x98, 0x28, 0x92, 0x24, - 0x47, 0x71, 0x40, 0x78, 0x94, 0x2c, 0x2f, 0x27, 0xd1, 0x45, 0x92, 0x24, 0x68, 0x81, 0xec, 0x06, - 0x82, 0x42, 0x7c, 0xee, 0xbf, 0x1e, 0x91, 0xa5, 0xec, 0x04, 0x92, 0xe2, 0x78, 0x48, 0x11, 0xaf, - 0x4a, 0x9c, 0x53, 0xf6, 0x8f, 0x61, 0x87, 0x85, 0x74, 0x2a, 0x92, 0x2b, 0x8a, 0xa5, 0x72, 0xd0, - 0xba, 0xff, 0x0d, 0x6d, 0x03, 0x3d, 0xf4, 0xd3, 0x73, 0x92, 0x9c, 0xc4, 0xc9, 0xdc, 0x4f, 0x3d, - 0x9d, 0xdf, 0xfe, 0x0a, 0xda, 0x53, 0x2c, 0xd8, 0x7c, 0x7d, 0xed, 0x5d, 0xeb, 0x35, 0x76, 0x77, - 0x0e, 0x9f, 0x6c, 0xf6, 0x9e, 0x9b, 0x9c, 0x69, 0x3b, 0x46, 0x50, 0xd8, 0x35, 0x62, 0xbe, 0xf9, - 0xc2, 0x98, 0x16, 0x05, 0xa2, 0x42, 0x18, 0x36, 0x26, 0xe4, 0x38, 0x95, 0x6e, 0x05, 0xeb, 0x5b, - 0x92, 0xee, 0xaf, 0xf0, 0xb8, 0x2c, 0xd4, 0x5d, 0xa6, 0xe5, 0x0e, 0x34, 0x18, 0x59, 0x1e, 0x92, - 0x69, 0x48, 0x65, 0xdf, 0x29, 0x68, 0x5c, 0xc3, 0xc8, 0xf2, 0x98, 0x06, 0x79, 0x90, 0x05, 0xb5, - 0x6a, 0x59, 0x75, 0xcd, 0x32, 0xec, 0xfa, 0x1d, 0xcd, 0x80, 0xff, 0x8b, 0x24, 0xdf, 0x02, 0xfb, - 0x21, 0x49, 0x07, 0xfe, 0xeb, 0x1e, 0x0d, 0x06, 0xdc, 0x24, 0x8f, 0x2c, 0xdd, 0x63, 0xb8, 0xb9, - 0x86, 0xb2, 0x85, 0xe2, 0x9c, 0xf1, 0x16, 0xe7, 0x4c, 0xd5, 0x39, 0xf7, 0x11, 0xb4, 0x55, 0xd5, - 0xb8, 0xc1, 0xc2, 0x40, 0x26, 0xd3, 0x0c, 0x03, 0xfb, 0x00, 0xaa, 0x11, 0x56, 0x82, 0xc9, 0x6d, - 0xbe, 0xa5, 0xd9, 0x3c, 0x60, 0xd3, 0xbe, 0x9f, 0xfa, 0x1e, 0xe7, 0x70, 0x97, 0xd0, 0x41, 0x8b, - 0x47, 0x84, 0x06, 0x03, 0x36, 0xe5, 0xc6, 0x74, 0xa1, 0x35, 0x22, 0xc9, 0x05, 0x77, 0xa3, 0x3c, - 0xa1, 0x14, 0x08, 0x39, 0x8e, 0xa2, 0x90, 0xd0, 0x54, 0x70, 0xc8, 0x6a, 0x54, 0x20, 0x51, 0x49, - 0x34, 0x50, 0x8e, 0xe7, 0x82, 0x76, 0xff, 0x62, 0x41, 0x5d, 0x1a, 0x21, 0xaa, 0x8a, 0x06, 0x65, - 0x25, 0x0a, 0x0a, 0xf1, 0x84, 0x8c, 0x2f, 0xca, 0x59, 0x57, 0x50, 0x58, 0x37, 0x53, 0x79, 0x72, - 0xc8, 0xc9, 0x48, 0x92, 0x68, 0xd3, 0x58, 0xb1, 0x49, 0xd6, 0xa1, 0x02, 0x21, 0x07, 0x53, 0xfc, - 0x92, 0x33, 0x92, 0x02, 0xd9, 0xdf, 0x81, 0x3d, 0xc6, 0xe7, 0xa9, 0xd3, 0xc8, 0x4f, 0x27, 0x71, - 0x32, 0x97, 0xed, 0xd0, 0xf2, 0xd6, 0x70, 0x3c, 0x24, 0x05, 0x56, 0x4c, 0x71, 0xa2, 0x2d, 0xae, - 0xa0, 0xd8, 0x5f, 0x05, 0xc2, 0x47, 0x38, 0xef, 0xa9, 0x1c, 0xab, 0x74, 0x50, 0xd8, 0xc6, 0x58, - 0x18, 0x53, 0x7e, 0x5b, 0x68, 0x72, 0xa5, 0x2a, 0x84, 0x9e, 0xcf, 0xd9, 0x14, 0x0f, 0x0c, 0x39, - 0x5c, 0xe5, 0x24, 0xf7, 0x3c, 0xa6, 0x29, 0xa1, 0x29, 0x5f, 0xdb, 0x12, 0x6b, 0x15, 0x08, 0xd7, - 0x4a, 0x92, 0xdf, 0x43, 0xda, 0x5e, 0x4e, 0x62, 0x5f, 0x9f, 0xc4, 0xc9, 0x98, 0xf0, 0xbe, 0xb1, - 0xd3, 0xad, 0x60, 0x5f, 0x2f, 0x00, 0x7b, 0x0f, 0x2a, 0x8c, 0x2c, 0x9d, 0x5d, 0x9e, 0x40, 0xfc, - 0xa9, 0xe5, 0xb5, 0xa3, 0xe7, 0x15, 0x4f, 0x81, 0x71, 0x79, 0xd2, 0xec, 0x89, 0x53, 0xa0, 0x44, - 0xec, 0x1f, 0x42, 0x7d, 0xb8, 0xc0, 0x9e, 0xc0, 0x9c, 0x1b, 0xbc, 0x2e, 0xbf, 0xb5, 0xa9, 0x2e, - 0xef, 0x49, 0x9e, 0x63, 0x9a, 0x26, 0x6f, 0xbc, 0x7c, 0x85, 0x7d, 0x02, 0x9d, 0x78, 0x32, 0x89, - 0x42, 0x4a, 0x4e, 0x33, 0x76, 0xce, 0xc7, 0x1e, 0x9b, 0x8f, 0x3d, 0x9f, 0x6a, 0x42, 0x86, 0x3a, - 0x8f, 0xb7, 0xba, 0xe8, 0xce, 0x03, 0x68, 0xab, 0x0a, 0xd0, 0xc5, 0x19, 0x79, 0x23, 0xab, 0x0f, - 0x7f, 0xe2, 0x48, 0x7c, 0xe1, 0x47, 0x99, 0x98, 0xbc, 0x1a, 0x9e, 0x20, 0x1e, 0x98, 0x5f, 0x1a, - 0xee, 0x6f, 0x0c, 0xe8, 0xac, 0x28, 0x40, 0xee, 0xb3, 0x30, 0x8d, 0x88, 0x94, 0x20, 0x08, 0xdb, - 0x86, 0x6a, 0x9f, 0xb0, 0xb1, 0x2c, 0x5e, 0xfe, 0x5b, 0x1e, 0x82, 0x95, 0x62, 0xa8, 0x76, 0xa1, - 0x1d, 0x0e, 0x47, 0x28, 0x68, 0x14, 0x67, 0x34, 0xc8, 0xaf, 0xc3, 0x2a, 0x86, 0xc5, 0x13, 0x0e, - 0x47, 0x87, 0x7e, 0x30, 0x25, 0xe2, 0xd2, 0x6a, 0x71, 0x9b, 0x74, 0xd0, 0xed, 0x43, 0xe3, 0x2c, - 0x5c, 0xb0, 0xa3, 0x78, 0x3e, 0xc7, 0x8d, 0xd3, 0x27, 0x29, 0x4e, 0xf4, 0x06, 0xcf, 0xb4, 0xa4, - 0xb0, 0x48, 0xfa, 0x64, 0xe2, 0x67, 0x51, 0x8a, 0xac, 0xf9, 0x96, 0x55, 0x20, 0xf7, 0x4f, 0x06, - 0x74, 0xc4, 0x5d, 0xf4, 0x98, 0xa6, 0x24, 0x41, 0xcc, 0xfe, 0x2e, 0x58, 0x7c, 0x32, 0xe3, 0xc2, - 0x5a, 0xf7, 0xf7, 0xf5, 0xe6, 0x97, 0xbf, 0x1a, 0x78, 0x82, 0xc9, 0x3e, 0x84, 0x16, 0x06, 0xd5, - 0xa7, 0x29, 0x1f, 0xbb, 0x4d, 0xbe, 0xa6, 0xbb, 0xbe, 0x46, 0xbf, 0xf1, 0x7a, 0xea, 0x22, 0xf4, - 0x78, 0x98, 0x9f, 0x1d, 0x4a, 0xf7, 0xd0, 0x41, 0xf7, 0x8f, 0x85, 0xad, 0x4f, 0x89, 0x7f, 0x41, - 0xde, 0xc3, 0xd6, 0x9f, 0x00, 0xf0, 0xa5, 0xc9, 0x95, 0x4c, 0x55, 0xd6, 0x6c, 0x69, 0xe9, 0x3f, - 0x0d, 0xb8, 0x21, 0x84, 0x3c, 0xa6, 0x17, 0x61, 0x4a, 0x82, 0xf7, 0xb0, 0xf5, 0x4b, 0xa8, 0x0d, - 0x17, 0x57, 0xb2, 0x53, 0xf2, 0xdb, 0x4f, 0xa0, 0x23, 0xd5, 0x22, 0x59, 0x0c, 0x07, 0xdb, 0x88, - 0x58, 0x5d, 0xb8, 0xee, 0x6f, 0x75, 0x93, 0xbf, 0xff, 0x30, 0x60, 0x4f, 0x48, 0xfa, 0x69, 0x38, - 0x9e, 0x7d, 0x64, 0x77, 0x1f, 0xc1, 0xae, 0xd0, 0x7a, 0x65, 0x6f, 0x57, 0xd6, 0x6d, 0xe9, 0xec, - 0x7f, 0x0c, 0xb8, 0x9d, 0x27, 0x77, 0x12, 0x1f, 0x9d, 0xe3, 0x55, 0x57, 0x78, 0x8c, 0x53, 0x37, - 0x27, 0x79, 0x4b, 0x16, 0x23, 0x8e, 0x82, 0x5c, 0xc3, 0xc7, 0x1f, 0x41, 0xf3, 0x24, 0xa4, 0x7e, - 0xa4, 0xdc, 0xfc, 0xde, 0xbd, 0xb8, 0x5c, 0x82, 0x1d, 0x7c, 0x90, 0xc9, 0x1e, 0x2d, 0xdf, 0x83, - 0x72, 0xba, 0xcc, 0x93, 0xb5, 0x45, 0x9e, 0xdc, 0xbf, 0x19, 0xb0, 0xc7, 0x7f, 0x89, 0xdb, 0xc4, - 0xfb, 0xa4, 0xfa, 0x01, 0xd4, 0xe5, 0x9b, 0xd9, 0xd6, 0x71, 0xc8, 0x17, 0xe0, 0x0e, 0x96, 0x2d, - 0xe0, 0x2a, 0x89, 0x56, 0xd6, 0x6c, 0x99, 0xe4, 0x3f, 0x18, 0x70, 0xab, 0x30, 0x5c, 0xcd, 0x31, - 0x4e, 0x41, 0x92, 0x2c, 0x93, 0xac, 0x42, 0x65, 0x30, 0xcc, 0xab, 0xd5, 0x7d, 0xe5, 0x6a, 0x35, - 0xe1, 0x7e, 0x6d, 0x80, 0xf3, 0x24, 0x0e, 0x29, 0xe7, 0xe9, 0x2d, 0x16, 0x91, 0x7c, 0x72, 0x7d, - 0x8f, 0x8c, 0xfc, 0x00, 0x9a, 0x52, 0x00, 0x4d, 0xa5, 0xd9, 0x97, 0x3e, 0x2c, 0x94, 0xdc, 0xe2, - 0x06, 0xea, 0xb3, 0xe2, 0xf5, 0x57, 0x52, 0xee, 0x9f, 0x0d, 0x70, 0x14, 0xa3, 0x4e, 0x93, 0x78, - 0x4c, 0x18, 0xfb, 0xc8, 0xad, 0x81, 0x1b, 0xa7, 0x5c, 0x9e, 0x6b, 0xea, 0xb5, 0x99, 0x1b, 0x5d, - 0xd5, 0x8c, 0x9e, 0xc1, 0x0d, 0x71, 0x7f, 0x57, 0x2c, 0xc7, 0x39, 0xaa, 0x17, 0x88, 0xe1, 0x47, - 0xcc, 0xe9, 0x39, 0xa9, 0x3f, 0xa8, 0xc8, 0xd7, 0xf1, 0xf2, 0x41, 0xe5, 0x2e, 0x40, 0x2f, 0x08, - 0x7e, 0x11, 0x27, 0x41, 0x48, 0xa7, 0x32, 0x3a, 0x0a, 0xe2, 0x3e, 0x81, 0x36, 0x4e, 0x72, 0xc5, - 0x7d, 0xff, 0x1a, 0x6f, 0x05, 0xee, 0x2f, 0xe1, 0xce, 0x9a, 0xe1, 0xbd, 0x20, 0x90, 0xe1, 0xfe, - 0x4a, 0xd7, 0x24, 0xa3, 0xae, 0x5f, 0x6a, 0x54, 0x06, 0x4f, 0x63, 0x77, 0x5f, 0xc0, 0xdd, 0x35, - 0xe1, 0x7a, 0x3e, 0xaf, 0xa9, 0xe0, 0x77, 0x06, 0x74, 0xa4, 0x86, 0xc2, 0xe6, 0xcf, 0xa1, 0x26, - 0x20, 0x29, 0xec, 0x93, 0x15, 0x61, 0xf9, 0x7b, 0xa2, 0x27, 0xd9, 0xd6, 0xf7, 0xb5, 0xb9, 0x61, - 0x5f, 0xdb, 0x5f, 0xac, 0x6c, 0xb7, 0x4b, 0xcb, 0x3c, 0xdf, 0x69, 0x5e, 0x5e, 0x16, 0x7d, 0x12, - 0x91, 0xf4, 0xc3, 0xf8, 0x3c, 0x84, 0x5d, 0xfe, 0x3a, 0xf7, 0xc1, 0xb2, 0xf4, 0x33, 0xd8, 0xe3, - 0x02, 0x3f, 0xa0, 0x8d, 0x3f, 0x87, 0xdb, 0x65, 0xa0, 0xd5, 0x26, 0x78, 0x4d, 0xb9, 0xdf, 0x83, - 0x9b, 0x23, 0x12, 0x4d, 0x50, 0xea, 0xf3, 0x45, 0x50, 0x9c, 0x22, 0x6f, 0x79, 0x38, 0x7c, 0x59, - 0xe3, 0x7f, 0x60, 0x7d, 0xf1, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x0b, 0x22, 0x82, 0xd3, - 0x1a, 0x00, 0x00, + 0x48, 0x79, 0x4c, 0xaa, 0x3c, 0x26, 0x05, 0x8d, 0xdf, 0x9e, 0x85, 0xe3, 0x19, 0xc5, 0x94, 0x8a, + 0x70, 0x17, 0xb4, 0x9a, 0x89, 0x9a, 0x9e, 0x89, 0x6f, 0xc3, 0x6e, 0x6f, 0xb1, 0x18, 0xf8, 0x74, + 0x4a, 0x12, 0xa1, 0xb4, 0xce, 0x95, 0xae, 0xa0, 0x98, 0x0f, 0xd4, 0x34, 0x8a, 0xb3, 0x64, 0x4c, + 0x78, 0xb8, 0x2d, 0x4f, 0x41, 0x50, 0xce, 0x70, 0x41, 0x12, 0x25, 0x8c, 0x22, 0xf2, 0x2b, 0xa8, + 0xcc, 0x0a, 0xe4, 0x59, 0x71, 0x7f, 0x6f, 0xc0, 0xee, 0x69, 0xf6, 0x32, 0x0a, 0xc7, 0x9c, 0x01, + 0x83, 0x56, 0x86, 0xc6, 0xd0, 0x42, 0xa3, 0x3a, 0x68, 0xbe, 0xdd, 0xc1, 0x8a, 0xee, 0xe0, 0x3e, + 0xd4, 0x1e, 0x12, 0x1a, 0x90, 0x84, 0x07, 0xcc, 0xf2, 0x24, 0xb5, 0xc1, 0x71, 0x6b, 0x93, 0xe3, + 0xee, 0x6f, 0x4d, 0x68, 0x7c, 0x64, 0xd3, 0xba, 0xd0, 0x3a, 0x3d, 0x8f, 0x29, 0x79, 0x96, 0x61, + 0x31, 0xc9, 0x64, 0xaa, 0x90, 0x7d, 0x0b, 0xac, 0xc3, 0x30, 0x49, 0xcf, 0x79, 0x36, 0x2b, 0x9e, + 0x20, 0x10, 0x3d, 0x9e, 0xfb, 0xa1, 0x48, 0x61, 0xd3, 0x13, 0x84, 0x8c, 0x78, 0xa3, 0xd8, 0x07, + 0xfa, 0xce, 0x6a, 0xae, 0xed, 0xac, 0xf5, 0xc0, 0xc0, 0xc6, 0xc0, 0xfc, 0xcb, 0x00, 0x38, 0x49, + 0x42, 0x42, 0x03, 0x1e, 0x9a, 0x95, 0x2d, 0x6d, 0xac, 0x6f, 0xe9, 0x7d, 0xa8, 0x79, 0x64, 0xee, + 0x27, 0xb3, 0xbc, 0xe4, 0x05, 0xb5, 0x62, 0x50, 0x65, 0xcd, 0xa0, 0xef, 0xe7, 0x7a, 0x50, 0x0e, + 0x0f, 0x55, 0xeb, 0xfe, 0xed, 0x7b, 0x4a, 0xdb, 0xbb, 0x97, 0xe7, 0xc7, 0x53, 0x18, 0x71, 0x27, + 0xf5, 0x82, 0x40, 0x16, 0xac, 0xc8, 0x6d, 0x09, 0x6c, 0xa8, 0xd7, 0xda, 0x25, 0xf5, 0x5a, 0x2f, + 0xea, 0xf5, 0xef, 0x06, 0x34, 0x0f, 0x23, 0x7f, 0x3c, 0xdb, 0xd2, 0x69, 0xdd, 0x39, 0x73, 0xcd, + 0xb9, 0x1e, 0xec, 0x70, 0x71, 0xb9, 0x0b, 0xdc, 0xff, 0xd6, 0xfd, 0x6f, 0x6a, 0xfe, 0xe9, 0x1b, + 0xc4, 0xd3, 0x57, 0xe8, 0x8e, 0x56, 0xdf, 0xed, 0xa8, 0x75, 0x89, 0xa3, 0xb5, 0xc2, 0xd1, 0x5f, + 0x9b, 0xd0, 0xe6, 0xcd, 0xca, 0x23, 0xcb, 0x8c, 0xb0, 0xf4, 0xad, 0xb5, 0xaf, 0xf4, 0x38, 0x53, + 0xef, 0x71, 0x2e, 0xb4, 0x1f, 0xf9, 0x34, 0x88, 0x88, 0x47, 0x58, 0x16, 0xa5, 0xf9, 0x39, 0xa2, + 0x62, 0xa2, 0x28, 0x96, 0x03, 0x36, 0x95, 0x27, 0x88, 0xa4, 0xd0, 0x29, 0xc1, 0x87, 0x9f, 0x84, + 0xc5, 0x25, 0x80, 0x3a, 0x3d, 0xb2, 0xe4, 0x21, 0x15, 0x3b, 0x20, 0x27, 0x4b, 0x9d, 0xd2, 0xd6, + 0xba, 0xaa, 0xb3, 0xcc, 0x89, 0xa0, 0xb9, 0x80, 0x86, 0xc8, 0x49, 0x89, 0xac, 0x9e, 0x1c, 0xee, + 0xd7, 0x26, 0xec, 0x88, 0xc2, 0xca, 0x63, 0x71, 0x17, 0x4b, 0x32, 0x9e, 0x6b, 0xf1, 0x50, 0x10, + 0xec, 0x07, 0x67, 0xb1, 0xd6, 0xdf, 0x0b, 0x7a, 0x63, 0x54, 0xac, 0x2d, 0xa3, 0xa2, 0x57, 0x93, + 0xb5, 0x56, 0x4d, 0x9f, 0xc1, 0x8e, 0x90, 0xa3, 0x17, 0xb5, 0x0e, 0xea, 0xb1, 0xad, 0xaf, 0xc6, + 0xf6, 0xaa, 0xd1, 0xf9, 0xaf, 0x01, 0xce, 0x69, 0x16, 0x45, 0x03, 0xc2, 0x98, 0x3f, 0x25, 0x87, + 0x6f, 0x46, 0x64, 0xf9, 0x34, 0x64, 0xa9, 0x47, 0xd8, 0x02, 0x13, 0x45, 0x92, 0xe4, 0x28, 0x0e, + 0x08, 0x8f, 0x92, 0xe5, 0xe5, 0x24, 0xba, 0x48, 0x92, 0x04, 0x2d, 0x90, 0xdd, 0x40, 0x50, 0x88, + 0xcf, 0xfd, 0xd7, 0x23, 0xb2, 0x94, 0x9d, 0x40, 0x52, 0x1c, 0x0f, 0x29, 0xe2, 0x55, 0x89, 0x73, + 0xca, 0xfe, 0x31, 0xec, 0xb0, 0x90, 0x4e, 0x45, 0x72, 0x45, 0xb1, 0x54, 0x0e, 0x5a, 0xf7, 0xbf, + 0xa1, 0x6d, 0xa0, 0x87, 0x7e, 0x7a, 0x4e, 0x92, 0x93, 0x38, 0x99, 0xfb, 0xa9, 0xa7, 0xf3, 0xdb, + 0x5f, 0x41, 0x7b, 0x8a, 0x05, 0x9b, 0xaf, 0xaf, 0xbd, 0x6b, 0xbd, 0xc6, 0xee, 0xce, 0xe1, 0x93, + 0xcd, 0xde, 0x73, 0x93, 0x33, 0x6d, 0xc7, 0x08, 0x0a, 0xbb, 0x46, 0xcc, 0x37, 0x5f, 0x18, 0xd3, + 0xa2, 0x40, 0x54, 0x08, 0xc3, 0xc6, 0x84, 0x1c, 0xa7, 0xd2, 0xad, 0x60, 0x7d, 0x4b, 0xd2, 0xfd, + 0x15, 0x1e, 0x97, 0x85, 0xba, 0xcb, 0xb4, 0xdc, 0x81, 0x06, 0x23, 0xcb, 0x43, 0x32, 0x0d, 0xa9, + 0xec, 0x3b, 0x05, 0x8d, 0x6b, 0x18, 0x59, 0x1e, 0xd3, 0x20, 0x0f, 0xb2, 0xa0, 0x56, 0x2d, 0xab, + 0xae, 0x59, 0x86, 0x5d, 0xbf, 0xa3, 0x19, 0xf0, 0x7f, 0x91, 0xe4, 0x5b, 0x60, 0x3f, 0x24, 0xe9, + 0xc0, 0x7f, 0xdd, 0xa3, 0xc1, 0x80, 0x9b, 0xe4, 0x91, 0xa5, 0x7b, 0x0c, 0x37, 0xd7, 0x50, 0xb6, + 0x50, 0x9c, 0x33, 0xde, 0xe2, 0x9c, 0xa9, 0x3a, 0xe7, 0x3e, 0x82, 0xb6, 0xaa, 0x1a, 0x37, 0x58, + 0x18, 0xc8, 0x64, 0x9a, 0x61, 0x60, 0x1f, 0x40, 0x35, 0xc2, 0x4a, 0x30, 0xb9, 0xcd, 0xb7, 0x34, + 0x9b, 0x07, 0x6c, 0xda, 0xf7, 0x53, 0xdf, 0xe3, 0x1c, 0xee, 0x12, 0x3a, 0x68, 0xf1, 0x88, 0xd0, + 0x60, 0xc0, 0xa6, 0xdc, 0x98, 0x2e, 0xb4, 0x46, 0x24, 0xb9, 0xe0, 0x6e, 0x94, 0x27, 0x94, 0x02, + 0x21, 0xc7, 0x51, 0x14, 0x12, 0x9a, 0x0a, 0x0e, 0x59, 0x8d, 0x0a, 0x24, 0x2a, 0x89, 0x06, 0xca, + 0xf1, 0x5c, 0xd0, 0xee, 0x5f, 0x2c, 0xa8, 0x4b, 0x23, 0x44, 0x55, 0xd1, 0xa0, 0xac, 0x44, 0x41, + 0x21, 0x9e, 0x90, 0xf1, 0x45, 0x39, 0xeb, 0x0a, 0x0a, 0xeb, 0x66, 0x2a, 0x4f, 0x0e, 0x39, 0x19, + 0x49, 0x12, 0x6d, 0x1a, 0x2b, 0x36, 0xc9, 0x3a, 0x54, 0x20, 0xe4, 0x60, 0x8a, 0x5f, 0x72, 0x46, + 0x52, 0x20, 0xfb, 0x3b, 0xb0, 0xc7, 0xf8, 0x3c, 0x75, 0x1a, 0xf9, 0xe9, 0x24, 0x4e, 0xe6, 0xb2, + 0x1d, 0x5a, 0xde, 0x1a, 0x8e, 0x87, 0xa4, 0xc0, 0x8a, 0x29, 0x4e, 0xb4, 0xc5, 0x15, 0x14, 0xfb, + 0xab, 0x40, 0xf8, 0x08, 0xe7, 0x3d, 0x95, 0x63, 0x95, 0x0e, 0x0a, 0xdb, 0x18, 0x0b, 0x63, 0xca, + 0x6f, 0x0b, 0x4d, 0xae, 0x54, 0x85, 0xd0, 0xf3, 0x39, 0x9b, 0xe2, 0x81, 0x21, 0x87, 0xab, 0x9c, + 0xe4, 0x9e, 0xc7, 0x34, 0x25, 0x34, 0xe5, 0x6b, 0x5b, 0x62, 0xad, 0x02, 0xe1, 0x5a, 0x49, 0xf2, + 0x7b, 0x48, 0xdb, 0xcb, 0x49, 0xec, 0xeb, 0x93, 0x38, 0x19, 0x13, 0xde, 0x37, 0x76, 0xba, 0x15, + 0xec, 0xeb, 0x05, 0x60, 0xef, 0x41, 0x85, 0x91, 0xa5, 0xb3, 0xcb, 0x13, 0x88, 0x3f, 0xb5, 0xbc, + 0x76, 0xf4, 0xbc, 0xe2, 0x29, 0x30, 0x2e, 0x4f, 0x9a, 0x3d, 0x71, 0x0a, 0x94, 0x88, 0xfd, 0x43, + 0xa8, 0x0f, 0x17, 0xd8, 0x13, 0x98, 0x73, 0x83, 0xd7, 0xe5, 0xb7, 0x36, 0xd5, 0xe5, 0x3d, 0xc9, + 0x73, 0x4c, 0xd3, 0xe4, 0x8d, 0x97, 0xaf, 0xb0, 0x4f, 0xa0, 0x13, 0x4f, 0x26, 0x51, 0x48, 0xc9, + 0x69, 0xc6, 0xce, 0xf9, 0xd8, 0x63, 0xf3, 0xb1, 0xe7, 0x53, 0x4d, 0xc8, 0x50, 0xe7, 0xf1, 0x56, + 0x17, 0xdd, 0x79, 0x00, 0x6d, 0x55, 0x01, 0xba, 0x38, 0x23, 0x6f, 0x64, 0xf5, 0xe1, 0x4f, 0x1c, + 0x89, 0x2f, 0xfc, 0x28, 0x13, 0x93, 0x57, 0xc3, 0x13, 0xc4, 0x03, 0xf3, 0x4b, 0xc3, 0xfd, 0x8d, + 0x01, 0x9d, 0x15, 0x05, 0xc8, 0x7d, 0x16, 0xa6, 0x11, 0x91, 0x12, 0x04, 0x61, 0xdb, 0x50, 0xed, + 0x13, 0x36, 0x96, 0xc5, 0xcb, 0x7f, 0xcb, 0x43, 0xb0, 0x52, 0x0c, 0xd5, 0x2e, 0xb4, 0xc3, 0xe1, + 0x08, 0x05, 0x8d, 0xe2, 0x8c, 0x06, 0xf9, 0x75, 0x58, 0xc5, 0xb0, 0x78, 0xc2, 0xe1, 0xe8, 0xd0, + 0x0f, 0xa6, 0x44, 0x5c, 0x5a, 0x2d, 0x6e, 0x93, 0x0e, 0xba, 0x7d, 0x68, 0x9c, 0x85, 0x0b, 0x76, + 0x14, 0xcf, 0xe7, 0xb8, 0x71, 0xfa, 0x24, 0xc5, 0x89, 0xde, 0xe0, 0x99, 0x96, 0x14, 0x16, 0x49, + 0x9f, 0x4c, 0xfc, 0x2c, 0x4a, 0x91, 0x35, 0xdf, 0xb2, 0x0a, 0xe4, 0xfe, 0xc9, 0x80, 0x8e, 0xb8, + 0x8b, 0x1e, 0xd3, 0x94, 0x24, 0x88, 0xd9, 0xdf, 0x05, 0x8b, 0x4f, 0x66, 0x5c, 0x58, 0xeb, 0xfe, + 0xbe, 0xde, 0xfc, 0xf2, 0x57, 0x03, 0x4f, 0x30, 0xd9, 0x87, 0xd0, 0xc2, 0xa0, 0xfa, 0x34, 0xe5, + 0x63, 0xb7, 0xc9, 0xd7, 0x74, 0xd7, 0xd7, 0xe8, 0x37, 0x5e, 0x4f, 0x5d, 0x84, 0x1e, 0x0f, 0xf3, + 0xb3, 0x43, 0xe9, 0x1e, 0x3a, 0xe8, 0xfe, 0xb1, 0xb0, 0xf5, 0x29, 0xf1, 0x2f, 0xc8, 0x7b, 0xd8, + 0xfa, 0x13, 0x00, 0xbe, 0x34, 0xb9, 0x92, 0xa9, 0xca, 0x9a, 0x2d, 0x2d, 0xfd, 0xa7, 0x01, 0x37, + 0x84, 0x90, 0xc7, 0xf4, 0x22, 0x4c, 0x49, 0xf0, 0x1e, 0xb6, 0x7e, 0x09, 0xb5, 0xe1, 0xe2, 0x4a, + 0x76, 0x4a, 0x7e, 0xfb, 0x09, 0x74, 0xa4, 0x5a, 0x24, 0x8b, 0xe1, 0x60, 0x1b, 0x11, 0xab, 0x0b, + 0xd7, 0xfd, 0xad, 0x6e, 0xf2, 0xf7, 0x1f, 0x06, 0xec, 0x09, 0x49, 0x3f, 0x0d, 0xc7, 0xb3, 0x8f, + 0xec, 0xee, 0x23, 0xd8, 0x15, 0x5a, 0xaf, 0xec, 0xed, 0xca, 0xba, 0x2d, 0x9d, 0xfd, 0x8f, 0x01, + 0xb7, 0xf3, 0xe4, 0x4e, 0xe2, 0xa3, 0x73, 0xbc, 0xea, 0x0a, 0x8f, 0x71, 0xea, 0xe6, 0x24, 0x6f, + 0xc9, 0x62, 0xc4, 0x51, 0x90, 0x6b, 0xf8, 0xf8, 0x23, 0x68, 0x9e, 0x84, 0xd4, 0x8f, 0x94, 0x9b, + 0xdf, 0xbb, 0x17, 0x97, 0x4b, 0xb0, 0x83, 0x0f, 0x32, 0xd9, 0xa3, 0xe5, 0x7b, 0x50, 0x4e, 0x97, + 0x79, 0xb2, 0xb6, 0xc8, 0x93, 0xfb, 0x37, 0x03, 0xf6, 0xf8, 0x2f, 0x71, 0x9b, 0x78, 0x9f, 0x54, + 0x3f, 0x80, 0xba, 0x7c, 0x33, 0xdb, 0x3a, 0x0e, 0xf9, 0x02, 0xdc, 0xc1, 0xb2, 0x05, 0x5c, 0x25, + 0xd1, 0xca, 0x9a, 0x2d, 0x93, 0xfc, 0x07, 0x03, 0x6e, 0x15, 0x86, 0xab, 0x39, 0xc6, 0x29, 0x48, + 0x92, 0x65, 0x92, 0x55, 0xa8, 0x0c, 0x86, 0x79, 0xb5, 0xba, 0xaf, 0x5c, 0xad, 0x26, 0xdc, 0xaf, + 0x0d, 0x70, 0x9e, 0xc4, 0x21, 0xe5, 0x3c, 0xbd, 0xc5, 0x22, 0x92, 0x4f, 0xae, 0xef, 0x91, 0x91, + 0x1f, 0x40, 0x53, 0x0a, 0xa0, 0xa9, 0x34, 0xfb, 0xd2, 0x87, 0x85, 0x92, 0x5b, 0xdc, 0x40, 0x7d, + 0x56, 0xbc, 0xfe, 0x4a, 0xca, 0xfd, 0xb3, 0x01, 0x8e, 0x62, 0xd4, 0x69, 0x12, 0x8f, 0x09, 0x63, + 0x1f, 0xb9, 0x35, 0x70, 0xe3, 0x94, 0xcb, 0x73, 0x4d, 0xbd, 0x36, 0x73, 0xa3, 0xab, 0x9a, 0xd1, + 0x33, 0xb8, 0x21, 0xee, 0xef, 0x8a, 0xe5, 0x38, 0x47, 0xf5, 0x02, 0x31, 0xfc, 0x88, 0x39, 0x3d, + 0x27, 0xf5, 0x07, 0x15, 0xf9, 0x3a, 0x5e, 0x3e, 0xa8, 0xdc, 0x05, 0xe8, 0x05, 0xc1, 0x2f, 0xe2, + 0x24, 0x08, 0xe9, 0x54, 0x46, 0x47, 0x41, 0xdc, 0x27, 0xd0, 0xc6, 0x49, 0xae, 0xb8, 0xef, 0x5f, + 0xe3, 0xad, 0xc0, 0xfd, 0x25, 0xdc, 0x59, 0x33, 0xbc, 0x17, 0x04, 0x32, 0xdc, 0x5f, 0xe9, 0x9a, + 0x64, 0xd4, 0xf5, 0x4b, 0x8d, 0xca, 0xe0, 0x69, 0xec, 0xee, 0x0b, 0xb8, 0xbb, 0x26, 0x5c, 0xcf, + 0xe7, 0x35, 0x15, 0xfc, 0xce, 0x80, 0x8e, 0xd4, 0x50, 0xd8, 0xfc, 0x39, 0xd4, 0x04, 0x24, 0x85, + 0x7d, 0xb2, 0x22, 0x2c, 0x7f, 0x4f, 0xf4, 0x24, 0xdb, 0xfa, 0xbe, 0x36, 0x37, 0xec, 0x6b, 0xfb, + 0x8b, 0x95, 0xed, 0x76, 0x69, 0x99, 0xe7, 0x3b, 0xcd, 0xcb, 0xcb, 0xa2, 0x4f, 0x22, 0x92, 0x7e, + 0x18, 0x9f, 0x87, 0xb0, 0xcb, 0x5f, 0xe7, 0x3e, 0x58, 0x96, 0x7e, 0x06, 0x7b, 0x5c, 0xe0, 0x07, + 0xb4, 0xf1, 0xe7, 0x70, 0xbb, 0x0c, 0xb4, 0xda, 0x04, 0xaf, 0x29, 0xf7, 0x7b, 0x70, 0x73, 0x44, + 0xa2, 0x09, 0x4a, 0x7d, 0xbe, 0x08, 0x8a, 0x53, 0xe4, 0x2d, 0x0f, 0x87, 0x2f, 0x6b, 0xfc, 0x0f, + 0xac, 0x2f, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x37, 0xf4, 0xcc, 0x45, 0xd3, 0x1a, 0x00, 0x00, } From 1e6a170c3cfb2bcb32d5dbc79064b2036edaa042 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 18:31:13 +0800 Subject: [PATCH 8/9] Refactor code --- internal/api/group/group.go | 2 +- pkg/base_info/group_api_struct.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 749f2d293..cde682e31 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -176,7 +176,7 @@ func GetGroupAllMemberList(c *gin.Context) { log.NewDebug(req.OperationID, "MarshalToString ", s, err) m := ProtoToMap(memberListResp.MemberList[0], false) log.NewDebug(req.OperationID, "mmm ", m) - memberListResp.Test = m + memberListResp.Test = append(memberListResp.Test, m) } log.NewInfo(req.OperationID, "GetGroupAllMember api return ", memberListResp) diff --git a/pkg/base_info/group_api_struct.go b/pkg/base_info/group_api_struct.go index 33ae4b845..f52590671 100644 --- a/pkg/base_info/group_api_struct.go +++ b/pkg/base_info/group_api_struct.go @@ -70,7 +70,7 @@ type GetGroupAllMemberReq struct { type GetGroupAllMemberResp struct { CommResp MemberList []*open_im_sdk.GroupMemberFullInfo `json:"data"` - Test map[string]interface{} `json:"data2"` + Test []map[string]interface{} `json:"data2"` } type CreateGroupReq struct { From 7b41ce1f24dd6c75c2c50575802dd822e53671b2 Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Thu, 30 Dec 2021 18:33:01 +0800 Subject: [PATCH 9/9] Refactor code --- internal/api/group/group.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/api/group/group.go b/internal/api/group/group.go index cde682e31..f446d93a1 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -171,12 +171,15 @@ func GetGroupAllMemberList(c *gin.Context) { } if len(memberListResp.MemberList) > 0 { - s, err := jsm.MarshalToString(memberListResp.MemberList[0]) - //{"GroupID":"7836e478bc43ce1d3b8889cac983f59b","UserID":"openIM001","roleLevel":1,"JoinTime":"0","NickName":"","FaceUrl":"https://oss.com.cn/head","AppMangerLevel":0,"JoinSource":0,"OperatorUserID":"","Ex":"xxx"} - log.NewDebug(req.OperationID, "MarshalToString ", s, err) - m := ProtoToMap(memberListResp.MemberList[0], false) - log.NewDebug(req.OperationID, "mmm ", m) - memberListResp.Test = append(memberListResp.Test, m) + for _, v := range memberListResp.MemberList { + s, err := jsm.MarshalToString(v) + //{"GroupID":"7836e478bc43ce1d3b8889cac983f59b","UserID":"openIM001","roleLevel":1,"JoinTime":"0","NickName":"","FaceUrl":"https://oss.com.cn/head","AppMangerLevel":0,"JoinSource":0,"OperatorUserID":"","Ex":"xxx"} + log.NewDebug(req.OperationID, "MarshalToString ", s, err) + m := ProtoToMap(memberListResp.MemberList[0], false) + log.NewDebug(req.OperationID, "mmm ", m) + memberListResp.Test = append(memberListResp.Test, m) + } + } log.NewInfo(req.OperationID, "GetGroupAllMember api return ", memberListResp)