From 6c997318a3b7e11766c62f4e312337667429128e Mon Sep 17 00:00:00 2001 From: rita <97798661+Love-YeLin@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:18:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?Fix/=E6=96=B0=E5=A2=9Epaltform=E8=AF=84?= =?UTF-8?q?=E8=AE=BA=E5=8C=BA=E6=9F=A5=E8=AF=A2=20(#120)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 7 + biz/adaptor/controller/core_api/platform.go | 17 + biz/adaptor/router/core_api/core_api.go | 1 + biz/adaptor/router/core_api/middleware.go | 5 + .../dto/cloudmind/core_api/common.pb.go | 724 +++++++++++------- .../dto/cloudmind/core_api/core_api.pb.go | 701 ++++++++--------- .../dto/cloudmind/core_api/platform.pb.go | 702 +++++++++-------- biz/application/dto/platform/common.pb.go | 386 ++++++---- biz/application/service/comment.go | 142 +++- biz/domain/service/relation.go | 12 +- biz/infrastructure/convertor/convertor.go | 3 +- go.mod | 2 +- go.sum | 2 + 13 files changed, 1558 insertions(+), 1146 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index caebe7c..878886a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## 2024-04-12 + +### ✨ Features | 新功能 + +* 新增评论区评论块列表查询 + + ## 2024-04-11 ### 🐛 Bug Fixes | Bug 修复 diff --git a/biz/adaptor/controller/core_api/platform.go b/biz/adaptor/controller/core_api/platform.go index 754a5c7..dce101e 100644 --- a/biz/adaptor/controller/core_api/platform.go +++ b/biz/adaptor/controller/core_api/platform.go @@ -266,3 +266,20 @@ func GetRelationPaths(ctx context.Context, c *app.RequestContext) { resp, err = p.RelationService.GetRelationPaths(ctx, &req) adaptor.PostProcess(ctx, c, &req, resp, err) } + +// GetCommentBlocks . +// @router /comment/getCommentBlocks [GET] +func GetCommentBlocks(ctx context.Context, c *app.RequestContext) { + var err error + var req core_api.GetCommentBlocksReq + err = c.BindAndValidate(&req) + if err != nil { + c.String(consts.StatusBadRequest, err.Error()) + return + } + + resp := new(core_api.GetCommentBlocksResp) + p := provider.Get() + resp, err = p.CommentService.GetCommentBlocks(ctx, &req) + adaptor.PostProcess(ctx, c, &req, resp, err) +} diff --git a/biz/adaptor/router/core_api/core_api.go b/biz/adaptor/router/core_api/core_api.go index e47dc3b..6bc3027 100644 --- a/biz/adaptor/router/core_api/core_api.go +++ b/biz/adaptor/router/core_api/core_api.go @@ -38,6 +38,7 @@ func Register(r *server.Hertz) { _comment.POST("/deleteComment", append(_deletecommentMw(), core_api.DeleteComment)...) _comment.POST("/deleteCommentSubject", append(_deletecommentsubjectMw(), core_api.DeleteCommentSubject)...) _comment.GET("/getComment", append(_getcommentMw(), core_api.GetComment)...) + _comment.GET("/getCommentBlocks", append(_getcommentblocksMw(), core_api.GetCommentBlocks)...) _comment.GET("/getCommentSubject", append(_getcommentsubjectMw(), core_api.GetCommentSubject)...) _comment.GET("/getComments", append(_getcommentsMw(), core_api.GetComments)...) _comment.POST("/setCommentAttrs", append(_setcommentattrsMw(), core_api.SetCommentAttrs)...) diff --git a/biz/adaptor/router/core_api/middleware.go b/biz/adaptor/router/core_api/middleware.go index e7c16b9..ba449ab 100644 --- a/biz/adaptor/router/core_api/middleware.go +++ b/biz/adaptor/router/core_api/middleware.go @@ -705,3 +705,8 @@ func _getrelationpathsMw() []app.HandlerFunc { // your code... return nil } + +func _getcommentblocksMw() []app.HandlerFunc { + // your code... + return nil +} diff --git a/biz/application/dto/cloudmind/core_api/common.pb.go b/biz/application/dto/cloudmind/core_api/common.pb.go index 4e57182..648b892 100644 --- a/biz/application/dto/cloudmind/core_api/common.pb.go +++ b/biz/application/dto/cloudmind/core_api/common.pb.go @@ -2848,7 +2848,7 @@ type Comment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" form:"id" query:"id"` + CommentId string `protobuf:"bytes,1,opt,name=commentId,proto3" json:"commentId" form:"commentId" query:"commentId"` SubjectId string `protobuf:"bytes,2,opt,name=subjectId,proto3" json:"subjectId" form:"subjectId" query:"subjectId"` RootId string `protobuf:"bytes,3,opt,name=rootId,proto3" json:"rootId" form:"rootId" query:"rootId"` FatherId string `protobuf:"bytes,4,opt,name=fatherId,proto3" json:"fatherId" form:"fatherId" query:"fatherId"` @@ -2856,14 +2856,13 @@ type Comment struct { State int64 `protobuf:"varint,6,opt,name=state,proto3" json:"state" form:"state" query:"state"` // 1: 正常, 2: 删除 Attrs int64 `protobuf:"varint,7,opt,name=attrs,proto3" json:"attrs" form:"attrs" query:"attrs"` // 1: 无, 2: 置顶, 3: 精华, 4: 置顶+精华 Labels []string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels" form:"labels" query:"labels"` // 标签:作者点赞,作者回复等 - UserId string `protobuf:"bytes,9,opt,name=userId,proto3" json:"userId" form:"userId" query:"userId"` // 评论者 - AtUserId string `protobuf:"bytes,10,opt,name=atUserId,proto3" json:"atUserId" form:"atUserId" query:"atUserId"` // @谁 - Content string `protobuf:"bytes,11,opt,name=content,proto3" json:"content" form:"content" query:"content"` // 内容 - Meta string `protobuf:"bytes,12,opt,name=meta,proto3" json:"meta" form:"meta" query:"meta"` // 皮肤,字体等 - CreateTime int64 `protobuf:"varint,13,opt,name=createTime,proto3" json:"createTime" form:"createTime" query:"createTime"` // 创建时间 - Like int64 `protobuf:"varint,14,opt,name=like,proto3" json:"like" form:"like" query:"like"` // 点赞数 - Author *SimpleUser `protobuf:"bytes,15,opt,name=author,proto3" json:"author" form:"author" query:"author"` // 评论者信息 - CommentRelation *CommentRelation `protobuf:"bytes,16,opt,name=commentRelation,proto3" json:"commentRelation" form:"commentRelation" query:"commentRelation"` // 评论关系信息 + AtUserId string `protobuf:"bytes,9,opt,name=atUserId,proto3" json:"atUserId" form:"atUserId" query:"atUserId"` // @谁 + Content string `protobuf:"bytes,10,opt,name=content,proto3" json:"content" form:"content" query:"content"` // 内容 + Meta string `protobuf:"bytes,11,opt,name=meta,proto3" json:"meta" form:"meta" query:"meta"` // 皮肤,字体等 + CreateTime int64 `protobuf:"varint,12,opt,name=createTime,proto3" json:"createTime" form:"createTime" query:"createTime"` // 创建时间 + Like int64 `protobuf:"varint,13,opt,name=like,proto3" json:"like" form:"like" query:"like"` // 点赞数 + Author *SimpleUser `protobuf:"bytes,14,opt,name=author,proto3" json:"author" form:"author" query:"author"` // 评论者信息 + CommentRelation *CommentRelation `protobuf:"bytes,15,opt,name=commentRelation,proto3" json:"commentRelation" form:"commentRelation" query:"commentRelation"` // 评论关系信息 } func (x *Comment) Reset() { @@ -2898,9 +2897,9 @@ func (*Comment) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{26} } -func (x *Comment) GetId() string { +func (x *Comment) GetCommentId() string { if x != nil { - return x.Id + return x.CommentId } return "" } @@ -2954,13 +2953,6 @@ func (x *Comment) GetLabels() []string { return nil } -func (x *Comment) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - func (x *Comment) GetAtUserId() string { if x != nil { return x.AtUserId @@ -3010,6 +3002,124 @@ func (x *Comment) GetCommentRelation() *CommentRelation { return nil } +type CommentBlock struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RootComment *Comment `protobuf:"bytes,1,opt,name=rootComment,proto3" json:"rootComment" form:"rootComment" query:"rootComment"` + ReplyList *ReplyList `protobuf:"bytes,2,opt,name=replyList,proto3" json:"replyList" form:"replyList" query:"replyList"` +} + +func (x *CommentBlock) Reset() { + *x = CommentBlock{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_common_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommentBlock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommentBlock) ProtoMessage() {} + +func (x *CommentBlock) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_common_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommentBlock.ProtoReflect.Descriptor instead. +func (*CommentBlock) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{27} +} + +func (x *CommentBlock) GetRootComment() *Comment { + if x != nil { + return x.RootComment + } + return nil +} + +func (x *CommentBlock) GetReplyList() *ReplyList { + if x != nil { + return x.ReplyList + } + return nil +} + +type ReplyList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Comments []*Comment `protobuf:"bytes,1,rep,name=comments,proto3" json:"comments" form:"comments" query:"comments"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total" form:"total" query:"total"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token" form:"token" query:"token"` +} + +func (x *ReplyList) Reset() { + *x = ReplyList{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_common_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplyList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplyList) ProtoMessage() {} + +func (x *ReplyList) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_common_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplyList.ProtoReflect.Descriptor instead. +func (*ReplyList) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{28} +} + +func (x *ReplyList) GetComments() []*Comment { + if x != nil { + return x.Comments + } + return nil +} + +func (x *ReplyList) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *ReplyList) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + type CommentFilterOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3028,7 +3138,7 @@ type CommentFilterOptions struct { func (x *CommentFilterOptions) Reset() { *x = CommentFilterOptions{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[27] + mi := &file_cloudmind_core_api_common_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3041,7 +3151,7 @@ func (x *CommentFilterOptions) String() string { func (*CommentFilterOptions) ProtoMessage() {} func (x *CommentFilterOptions) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[27] + mi := &file_cloudmind_core_api_common_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3054,7 +3164,7 @@ func (x *CommentFilterOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use CommentFilterOptions.ProtoReflect.Descriptor instead. func (*CommentFilterOptions) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{27} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{29} } func (x *CommentFilterOptions) GetOnlyUserId() string { @@ -3127,7 +3237,7 @@ type SubjectFilterOptions struct { func (x *SubjectFilterOptions) Reset() { *x = SubjectFilterOptions{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[28] + mi := &file_cloudmind_core_api_common_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3140,7 +3250,7 @@ func (x *SubjectFilterOptions) String() string { func (*SubjectFilterOptions) ProtoMessage() {} func (x *SubjectFilterOptions) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[28] + mi := &file_cloudmind_core_api_common_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3153,7 +3263,7 @@ func (x *SubjectFilterOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use SubjectFilterOptions.ProtoReflect.Descriptor instead. func (*SubjectFilterOptions) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{28} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{30} } func (x *SubjectFilterOptions) GetOnlyUserId() string { @@ -3201,7 +3311,7 @@ type Subject struct { func (x *Subject) Reset() { *x = Subject{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[29] + mi := &file_cloudmind_core_api_common_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3214,7 +3324,7 @@ func (x *Subject) String() string { func (*Subject) ProtoMessage() {} func (x *Subject) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[29] + mi := &file_cloudmind_core_api_common_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3227,7 +3337,7 @@ func (x *Subject) ProtoReflect() protoreflect.Message { // Deprecated: Use Subject.ProtoReflect.Descriptor instead. func (*Subject) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{29} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{31} } func (x *Subject) GetId() string { @@ -3296,7 +3406,7 @@ type SubjectDetails struct { func (x *SubjectDetails) Reset() { *x = SubjectDetails{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[30] + mi := &file_cloudmind_core_api_common_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3309,7 +3419,7 @@ func (x *SubjectDetails) String() string { func (*SubjectDetails) ProtoMessage() {} func (x *SubjectDetails) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[30] + mi := &file_cloudmind_core_api_common_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3322,7 +3432,7 @@ func (x *SubjectDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use SubjectDetails.ProtoReflect.Descriptor instead. func (*SubjectDetails) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{30} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{32} } func (x *SubjectDetails) GetId() string { @@ -3387,7 +3497,7 @@ type SubjectInfo struct { func (x *SubjectInfo) Reset() { *x = SubjectInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[31] + mi := &file_cloudmind_core_api_common_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3400,7 +3510,7 @@ func (x *SubjectInfo) String() string { func (*SubjectInfo) ProtoMessage() {} func (x *SubjectInfo) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[31] + mi := &file_cloudmind_core_api_common_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3413,7 +3523,7 @@ func (x *SubjectInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SubjectInfo.ProtoReflect.Descriptor instead. func (*SubjectInfo) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{31} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{33} } func (x *SubjectInfo) GetId() string { @@ -3449,7 +3559,7 @@ type Label struct { func (x *Label) Reset() { *x = Label{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[32] + mi := &file_cloudmind_core_api_common_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3462,7 +3572,7 @@ func (x *Label) String() string { func (*Label) ProtoMessage() {} func (x *Label) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[32] + mi := &file_cloudmind_core_api_common_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3475,7 +3585,7 @@ func (x *Label) ProtoReflect() protoreflect.Message { // Deprecated: Use Label.ProtoReflect.Descriptor instead. func (*Label) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{32} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{34} } func (x *Label) GetId() string { @@ -3504,7 +3614,7 @@ type Recommends struct { func (x *Recommends) Reset() { *x = Recommends{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[33] + mi := &file_cloudmind_core_api_common_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3517,7 +3627,7 @@ func (x *Recommends) String() string { func (*Recommends) ProtoMessage() {} func (x *Recommends) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[33] + mi := &file_cloudmind_core_api_common_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3530,7 +3640,7 @@ func (x *Recommends) ProtoReflect() protoreflect.Message { // Deprecated: Use Recommends.ProtoReflect.Descriptor instead. func (*Recommends) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{33} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{35} } func (x *Recommends) GetUsers() []*User { @@ -3569,7 +3679,7 @@ type Product struct { func (x *Product) Reset() { *x = Product{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[34] + mi := &file_cloudmind_core_api_common_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3582,7 +3692,7 @@ func (x *Product) String() string { func (*Product) ProtoMessage() {} func (x *Product) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[34] + mi := &file_cloudmind_core_api_common_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3595,7 +3705,7 @@ func (x *Product) ProtoReflect() protoreflect.Message { // Deprecated: Use Product.ProtoReflect.Descriptor instead. func (*Product) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{34} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{36} } func (x *Product) GetProductId() string { @@ -4007,219 +4117,234 @@ var file_cloudmind_core_api_common_proto_rawDesc = []byte{ 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0xe2, 0x03, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, - 0x6f, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x74, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, - 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, - 0x6b, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6b, 0x65, 0x12, 0x36, - 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x22, 0xd8, 0x03, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x74, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x74, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6b, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x6c, 0x69, 0x6b, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x4d, 0x0a, 0x0f, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x0c, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3d, 0x0a, 0x0b, + 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, + 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x72, + 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xce, 0x03, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, - 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x6f, 0x6e, 0x6c, - 0x79, 0x41, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, - 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x53, - 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x6f, - 0x6f, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x46, - 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, - 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x46, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, - 0x74, 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x46, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x6f, - 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x02, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, - 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, - 0x72, 0x73, 0x22, 0x96, 0x02, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, - 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x09, 0x72, 0x6f, - 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, - 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, - 0x01, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x2f, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, + 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x72, + 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xce, 0x03, 0x0a, 0x14, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, + 0x41, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, + 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x52, + 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0a, 0x6f, + 0x6e, 0x6c, 0x79, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, + 0x6f, 0x6e, 0x6c, 0x79, 0x46, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x05, 0x52, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x46, 0x61, 0x74, 0x68, 0x65, 0x72, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, + 0x41, 0x74, 0x74, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, 0x52, 0x09, 0x6f, + 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x46, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x14, + 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6f, 0x6e, 0x6c, + 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x41, + 0x74, 0x74, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x09, 0x6f, 0x6e, + 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x22, 0x96, 0x02, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x74, + 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x00, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x05, + 0x61, 0x74, 0x74, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0xc2, 0x01, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x54, + 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x54, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x4b, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, + 0x72, 0x73, 0x22, 0x2d, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x6c, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x12, + 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, + 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc2, 0x01, 0x0a, 0x0e, - 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x70, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x54, 0x6f, - 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x6f, - 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, - 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, - 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, - 0x22, 0x4b, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x2d, 0x0a, - 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6c, 0x0a, 0x0a, - 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, - 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22, 0xe7, 0x02, 0x0a, 0x07, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2c, 0x0a, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, - 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x65, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x6f, 0x73, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x01, 0x12, - 0x13, 0x0a, 0x0f, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, - 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x03, 0x2a, 0x5c, 0x0a, 0x0d, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x14, - 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x01, 0x12, - 0x18, 0x0a, 0x14, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x02, 0x2a, 0x56, 0x0a, 0x0c, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x6e, 0x6b, - 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, - 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x77, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x10, - 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x54, 0x79, 0x70, 0x65, - 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x10, - 0x03, 0x2a, 0x64, 0x0a, 0x0a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x14, 0x0a, 0x10, 0x55, 0x6e, 0x4b, 0x6e, 0x6f, 0x77, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, - 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0x03, 0x12, - 0x16, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0x04, 0x2a, 0x94, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x6e, 0x4b, 0x6e, - 0x6f, 0x77, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x00, - 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6b, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, 0x12, 0x17, - 0x0a, 0x13, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x04, 0x12, 0x17, - 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x69, 0x65, 0x77, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x06, 0x12, 0x14, 0x0a, - 0x10, 0x48, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x6f, 0x61, 0x64, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x08, 0x12, 0x16, 0x0a, - 0x12, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x0a, 0x2a, 0x39, - 0x0a, 0x05, 0x49, 0x73, 0x44, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x73, 0x5f, 0x6e, 0x75, - 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x73, 0x5f, 0x6e, 0x6f, 0x10, 0x01, 0x12, - 0x0b, 0x0a, 0x07, 0x49, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, - 0x49, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x10, 0x03, 0x2a, 0x59, 0x0a, 0x0c, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x10, 0x00, - 0x12, 0x19, 0x0a, 0x15, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x10, 0x02, 0x2a, 0x32, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, - 0x0c, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x00, 0x12, - 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x5a, 0x0a, 0x05, 0x41, 0x74, 0x74, 0x72, - 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, - 0x73, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, - 0x06, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x69, 0x67, - 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x69, - 0x6e, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, - 0x65, 0x64, 0x10, 0x04, 0x2a, 0x55, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x65, 0x43, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6f, 0x73, - 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x03, 0x42, 0x53, 0x5a, 0x51, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, - 0x74, 0x72, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22, + 0xe7, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, + 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x75, 0x72, 0x63, + 0x68, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x65, 0x0a, 0x0a, 0x50, 0x6f, 0x73, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x00, 0x12, 0x14, + 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x6f, 0x73, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x03, + 0x2a, 0x5c, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x02, 0x2a, 0x56, + 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, + 0x0a, 0x13, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x5f, 0x54, 0x79, 0x70, 0x65, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x77, 0x5f, + 0x54, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x5f, 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x5f, + 0x54, 0x79, 0x70, 0x65, 0x10, 0x03, 0x2a, 0x64, 0x0a, 0x0a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x6e, 0x4b, 0x6e, 0x6f, 0x77, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x73, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0x04, 0x2a, 0x94, 0x02, 0x0a, + 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, + 0x12, 0x55, 0x6e, 0x4b, 0x6e, 0x6f, 0x77, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6b, 0x65, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, + 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, + 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x6f, 0x77, 0x6e, + 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x10, 0x0a, 0x2a, 0x39, 0x0a, 0x05, 0x49, 0x73, 0x44, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, + 0x49, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x73, 0x5f, + 0x6e, 0x6f, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x10, + 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x10, 0x03, 0x2a, 0x59, + 0x0a, 0x0c, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, + 0x0a, 0x11, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x6e, + 0x75, 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x01, + 0x12, 0x17, 0x0a, 0x13, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x10, 0x02, 0x2a, 0x32, 0x0a, 0x05, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x5a, 0x0a, + 0x05, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0f, + 0x0a, 0x0b, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x10, 0x03, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x48, 0x69, 0x67, 0x68, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x10, 0x04, 0x2a, 0x55, 0x0a, 0x08, 0x43, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x73, + 0x65, 0x72, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, + 0x46, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x02, 0x12, 0x10, + 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x03, + 0x42, 0x53, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x72, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, + 0x69, 0x7a, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, + 0x74, 0x6f, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4235,7 +4360,7 @@ func file_cloudmind_core_api_common_proto_rawDescGZIP() []byte { } var file_cloudmind_core_api_common_proto_enumTypes = make([]protoimpl.EnumInfo, 10) -var file_cloudmind_core_api_common_proto_msgTypes = make([]protoimpl.MessageInfo, 35) +var file_cloudmind_core_api_common_proto_msgTypes = make([]protoimpl.MessageInfo, 37) var file_cloudmind_core_api_common_proto_goTypes = []interface{}{ (PostStatus)(0), // 0: cloudmind.core_api.PostStatus (ProductStatus)(0), // 1: cloudmind.core_api.ProductStatus @@ -4274,35 +4399,40 @@ var file_cloudmind_core_api_common_proto_goTypes = []interface{}{ (*Post)(nil), // 34: cloudmind.core_api.Post (*Notification)(nil), // 35: cloudmind.core_api.Notification (*Comment)(nil), // 36: cloudmind.core_api.Comment - (*CommentFilterOptions)(nil), // 37: cloudmind.core_api.CommentFilterOptions - (*SubjectFilterOptions)(nil), // 38: cloudmind.core_api.SubjectFilterOptions - (*Subject)(nil), // 39: cloudmind.core_api.Subject - (*SubjectDetails)(nil), // 40: cloudmind.core_api.SubjectDetails - (*SubjectInfo)(nil), // 41: cloudmind.core_api.SubjectInfo - (*Label)(nil), // 42: cloudmind.core_api.Label - (*Recommends)(nil), // 43: cloudmind.core_api.Recommends - (*Product)(nil), // 44: cloudmind.core_api.Product + (*CommentBlock)(nil), // 37: cloudmind.core_api.CommentBlock + (*ReplyList)(nil), // 38: cloudmind.core_api.ReplyList + (*CommentFilterOptions)(nil), // 39: cloudmind.core_api.CommentFilterOptions + (*SubjectFilterOptions)(nil), // 40: cloudmind.core_api.SubjectFilterOptions + (*Subject)(nil), // 41: cloudmind.core_api.Subject + (*SubjectDetails)(nil), // 42: cloudmind.core_api.SubjectDetails + (*SubjectInfo)(nil), // 43: cloudmind.core_api.SubjectInfo + (*Label)(nil), // 44: cloudmind.core_api.Label + (*Recommends)(nil), // 45: cloudmind.core_api.Recommends + (*Product)(nil), // 46: cloudmind.core_api.Product } var file_cloudmind_core_api_common_proto_depIdxs = []int32{ - 42, // 0: cloudmind.core_api.PublicFile.labels:type_name -> cloudmind.core_api.Label + 44, // 0: cloudmind.core_api.PublicFile.labels:type_name -> cloudmind.core_api.Label 14, // 1: cloudmind.core_api.PublicFile.author:type_name -> cloudmind.core_api.FileUser 31, // 2: cloudmind.core_api.PublicFile.fileCount:type_name -> cloudmind.core_api.FileCount 32, // 3: cloudmind.core_api.PublicFile.fileRelation:type_name -> cloudmind.core_api.FileRelation - 42, // 4: cloudmind.core_api.SearchInfo.labels:type_name -> cloudmind.core_api.Label + 44, // 4: cloudmind.core_api.SearchInfo.labels:type_name -> cloudmind.core_api.Label 24, // 5: cloudmind.core_api.SearchOptions.multiFieldsKey:type_name -> cloudmind.core_api.SearchField - 42, // 6: cloudmind.core_api.Post.labels:type_name -> cloudmind.core_api.Label + 44, // 6: cloudmind.core_api.Post.labels:type_name -> cloudmind.core_api.Label 12, // 7: cloudmind.core_api.Comment.author:type_name -> cloudmind.core_api.SimpleUser 33, // 8: cloudmind.core_api.Comment.commentRelation:type_name -> cloudmind.core_api.CommentRelation - 7, // 9: cloudmind.core_api.Subject.state:type_name -> cloudmind.core_api.State - 8, // 10: cloudmind.core_api.Subject.attrs:type_name -> cloudmind.core_api.Attrs - 11, // 11: cloudmind.core_api.Recommends.users:type_name -> cloudmind.core_api.User - 34, // 12: cloudmind.core_api.Recommends.posts:type_name -> cloudmind.core_api.Post - 11, // 13: cloudmind.core_api.Product.user:type_name -> cloudmind.core_api.User - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 36, // 9: cloudmind.core_api.CommentBlock.rootComment:type_name -> cloudmind.core_api.Comment + 38, // 10: cloudmind.core_api.CommentBlock.replyList:type_name -> cloudmind.core_api.ReplyList + 36, // 11: cloudmind.core_api.ReplyList.comments:type_name -> cloudmind.core_api.Comment + 7, // 12: cloudmind.core_api.Subject.state:type_name -> cloudmind.core_api.State + 8, // 13: cloudmind.core_api.Subject.attrs:type_name -> cloudmind.core_api.Attrs + 11, // 14: cloudmind.core_api.Recommends.users:type_name -> cloudmind.core_api.User + 34, // 15: cloudmind.core_api.Recommends.posts:type_name -> cloudmind.core_api.Post + 11, // 16: cloudmind.core_api.Product.user:type_name -> cloudmind.core_api.User + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } @@ -4636,7 +4766,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommentFilterOptions); i { + switch v := v.(*CommentBlock); i { case 0: return &v.state case 1: @@ -4648,7 +4778,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubjectFilterOptions); i { + switch v := v.(*ReplyList); i { case 0: return &v.state case 1: @@ -4660,7 +4790,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Subject); i { + switch v := v.(*CommentFilterOptions); i { case 0: return &v.state case 1: @@ -4672,7 +4802,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubjectDetails); i { + switch v := v.(*SubjectFilterOptions); i { case 0: return &v.state case 1: @@ -4684,7 +4814,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubjectInfo); i { + switch v := v.(*Subject); i { case 0: return &v.state case 1: @@ -4696,7 +4826,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Label); i { + switch v := v.(*SubjectDetails); i { case 0: return &v.state case 1: @@ -4708,7 +4838,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Recommends); i { + switch v := v.(*SubjectInfo); i { case 0: return &v.state case 1: @@ -4720,6 +4850,30 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Label); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloudmind_core_api_common_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Recommends); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloudmind_core_api_common_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Product); i { case 0: return &v.state @@ -4739,16 +4893,16 @@ func file_cloudmind_core_api_common_proto_init() { } file_cloudmind_core_api_common_proto_msgTypes[17].OneofWrappers = []interface{}{} file_cloudmind_core_api_common_proto_msgTypes[18].OneofWrappers = []interface{}{} - file_cloudmind_core_api_common_proto_msgTypes[27].OneofWrappers = []interface{}{} - file_cloudmind_core_api_common_proto_msgTypes[28].OneofWrappers = []interface{}{} file_cloudmind_core_api_common_proto_msgTypes[29].OneofWrappers = []interface{}{} + file_cloudmind_core_api_common_proto_msgTypes[30].OneofWrappers = []interface{}{} + file_cloudmind_core_api_common_proto_msgTypes[31].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cloudmind_core_api_common_proto_rawDesc, NumEnums: 10, - NumMessages: 35, + NumMessages: 37, NumExtensions: 0, NumServices: 0, }, diff --git a/biz/application/dto/cloudmind/core_api/core_api.pb.go b/biz/application/dto/cloudmind/core_api/core_api.pb.go index 3c28660..9b40672 100644 --- a/biz/application/dto/cloudmind/core_api/core_api.pb.go +++ b/biz/application/dto/cloudmind/core_api/core_api.pb.go @@ -507,7 +507,7 @@ var file_core_api_proto_rawDesc = []byte{ 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, 0xca, 0xc1, 0x18, 0x12, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x65, 0x74, 0x53, 0x6c, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x32, 0x94, 0x0f, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x32, 0x9b, 0x10, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x78, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, @@ -529,162 +529,171 @@ var file_core_api_proto_rawDesc = []byte{ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x18, 0xca, 0xc1, 0x18, 0x14, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x2f, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0d, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x78, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, - 0x74, 0x74, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xd2, 0xc1, 0x18, 0x18, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, - 0x74, 0x72, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1e, - 0xca, 0xc1, 0x18, 0x1a, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x94, - 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2f, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x84, 0x01, 0x0a, + 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x1d, 0xca, 0xc1, 0x18, 0x19, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x73, 0x12, 0x78, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x78, 0x0a, + 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x21, 0xd2, 0xc1, 0x18, 0x1d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18, + 0x16, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xd2, 0xc1, + 0x18, 0x18, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1e, 0xca, 0xc1, 0x18, 0x1a, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x21, 0xd2, 0xc1, 0x18, 0x1d, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x7d, 0x0a, 0x0e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x94, 0x01, 0x0a, + 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x21, 0xd2, 0xc1, 0x18, 0x1d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x7d, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xd2, - 0xc1, 0x18, 0x18, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x85, 0x01, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xd2, 0xc1, 0x18, 0x18, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x85, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x1a, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x1e, 0xca, 0xc1, 0x18, 0x1a, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x7d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1e, 0xca, 0xc1, 0x18, 0x1a, + 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x46, 0x72, 0x6f, + 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7d, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xca, 0xc1, 0x18, 0x18, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x71, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x19, 0xca, 0xc1, 0x18, 0x15, - 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x26, + 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xca, 0xc1, 0x18, + 0x18, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x54, 0x6f, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x71, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x19, 0xca, 0xc1, 0x18, 0x15, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, 0x0a, 0x0e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xd2, 0xc1, 0x18, 0x18, 0x2f, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x85, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xd2, + 0xc1, 0x18, 0x18, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x85, 0x01, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, + 0x12, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, - 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1e, 0xca, 0xc1, - 0x18, 0x1a, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x32, 0xa8, 0x05, 0x0a, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x6e, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, - 0xd2, 0xc1, 0x18, 0x12, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x6e, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, - 0xd2, 0xc1, 0x18, 0x12, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x6e, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, - 0xd2, 0xc1, 0x18, 0x12, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x66, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x14, 0xca, 0xc1, 0x18, 0x10, 0x2f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x62, - 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, + 0x65, 0x73, 0x70, 0x22, 0x1e, 0xca, 0xc1, 0x18, 0x1a, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x74, 0x68, 0x73, 0x32, 0xa8, 0x05, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x6e, 0x0a, + 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, 0xd2, 0xc1, 0x18, 0x12, 0x2f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x6e, 0x0a, + 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, 0xd2, 0xc1, 0x18, 0x12, 0x2f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x6e, 0x0a, + 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, 0xd2, 0xc1, 0x18, 0x12, 0x2f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x66, 0x0a, + 0x09, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x13, 0xca, - 0xc1, 0x18, 0x0f, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x14, 0xca, 0xc1, 0x18, 0x10, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x67, 0x65, 0x74, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x62, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x13, 0xca, 0xc1, 0x18, 0x0f, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x2f, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x27, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x1a, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, - 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1b, 0xca, 0xc1, 0x18, 0x17, - 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x32, 0x78, 0x0a, 0x07, 0x68, 0x6f, 0x74, 0x52, 0x61, - 0x6e, 0x6b, 0x12, 0x6d, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x6b, - 0x73, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x74, 0x52, 0x61, 0x6e, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, - 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x15, 0xca, 0xc1, 0x18, 0x11, - 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x2f, 0x67, 0x65, 0x74, 0x48, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x6b, - 0x73, 0x42, 0x53, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x72, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, - 0x62, 0x69, 0x7a, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x64, 0x74, 0x6f, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x1b, 0xca, 0xc1, 0x18, 0x17, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x67, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x32, 0x78, + 0x0a, 0x07, 0x68, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x6d, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x48, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x48, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x15, 0xca, 0xc1, 0x18, 0x11, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x2f, 0x67, 0x65, 0x74, + 0x48, 0x6f, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x42, 0x53, 0x5a, 0x51, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x72, 0x69, + 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2d, 0x63, 0x6f, + 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_core_api_proto_goTypes = []interface{}{ @@ -751,105 +760,107 @@ var file_core_api_proto_goTypes = []interface{}{ (*CreateCommentReq)(nil), // 60: cloudmind.core_api.CreateCommentReq (*GetCommentReq)(nil), // 61: cloudmind.core_api.GetCommentReq (*GetCommentsReq)(nil), // 62: cloudmind.core_api.GetCommentsReq - (*DeleteCommentReq)(nil), // 63: cloudmind.core_api.DeleteCommentReq - (*UpdateCommentReq)(nil), // 64: cloudmind.core_api.UpdateCommentReq - (*SetCommentAttrsReq)(nil), // 65: cloudmind.core_api.SetCommentAttrsReq - (*GetCommentSubjectReq)(nil), // 66: cloudmind.core_api.GetCommentSubjectReq - (*UpdateCommentSubjectReq)(nil), // 67: cloudmind.core_api.UpdateCommentSubjectReq - (*DeleteCommentSubjectReq)(nil), // 68: cloudmind.core_api.DeleteCommentSubjectReq - (*CreateRelationReq)(nil), // 69: cloudmind.core_api.CreateRelationReq - (*GetFromRelationsReq)(nil), // 70: cloudmind.core_api.GetFromRelationsReq - (*GetToRelationsReq)(nil), // 71: cloudmind.core_api.GetToRelationsReq - (*GetRelationReq)(nil), // 72: cloudmind.core_api.GetRelationReq - (*DeleteRelationReq)(nil), // 73: cloudmind.core_api.DeleteRelationReq - (*GetRelationPathsReq)(nil), // 74: cloudmind.core_api.GetRelationPathsReq - (*CreateLabelReq)(nil), // 75: cloudmind.core_api.CreateLabelReq - (*DeleteLabelReq)(nil), // 76: cloudmind.core_api.DeleteLabelReq - (*UpdateLabelReq)(nil), // 77: cloudmind.core_api.UpdateLabelReq - (*GetLabelsReq)(nil), // 78: cloudmind.core_api.GetLabelsReq - (*GetLabelReq)(nil), // 79: cloudmind.core_api.GetLabelReq - (*GetLabelsInBatchReq)(nil), // 80: cloudmind.core_api.GetLabelsInBatchReq - (*GetHotRanksReq)(nil), // 81: cloudmind.core_api.GetHotRanksReq - (*UpdateUserResp)(nil), // 82: cloudmind.core_api.UpdateUserResp - (*SearchUserResp)(nil), // 83: cloudmind.core_api.SearchUserResp - (*GetUserResp)(nil), // 84: cloudmind.core_api.GetUserResp - (*GetUserDetailResp)(nil), // 85: cloudmind.core_api.GetUserDetailResp - (*GetPublicFilesResp)(nil), // 86: cloudmind.core_api.GetPublicFilesResp - (*GetPrivateFileResp)(nil), // 87: cloudmind.core_api.GetPrivateFileResp - (*GetPrivateFilesResp)(nil), // 88: cloudmind.core_api.GetPrivateFilesResp - (*GetRecycleBinFilesResp)(nil), // 89: cloudmind.core_api.GetRecycleBinFilesResp - (*GetFileBySharingCodeResp)(nil), // 90: cloudmind.core_api.GetFileBySharingCodeResp - (*CreateFileResp)(nil), // 91: cloudmind.core_api.CreateFileResp - (*UpdateFileResp)(nil), // 92: cloudmind.core_api.UpdateFileResp - (*MoveFileResp)(nil), // 93: cloudmind.core_api.MoveFileResp - (*SaveFileToPrivateSpaceResp)(nil), // 94: cloudmind.core_api.SaveFileToPrivateSpaceResp - (*AddFileToPublicSpaceResp)(nil), // 95: cloudmind.core_api.AddFileToPublicSpaceResp - (*DeleteFileResp)(nil), // 96: cloudmind.core_api.DeleteFileResp - (*EmptyRecycleBinResp)(nil), // 97: cloudmind.core_api.EmptyRecycleBinResp - (*RecoverRecycleBinFileResp)(nil), // 98: cloudmind.core_api.RecoverRecycleBinFileResp - (*CreateShareCodeResp)(nil), // 99: cloudmind.core_api.CreateShareCodeResp - (*GetShareListResp)(nil), // 100: cloudmind.core_api.GetShareListResp - (*DeleteShareCodeResp)(nil), // 101: cloudmind.core_api.DeleteShareCodeResp - (*ParsingShareCodeResp)(nil), // 102: cloudmind.core_api.ParsingShareCodeResp - (*AskUploadFileResp)(nil), // 103: cloudmind.core_api.AskUploadFileResp - (*AskDownloadFileResp)(nil), // 104: cloudmind.core_api.AskDownloadFileResp - (*MakeFilePrivateResp)(nil), // 105: cloudmind.core_api.MakeFilePrivateResp - (*CheckFileResp)(nil), // 106: cloudmind.core_api.CheckFileResp - (*CreatePostResp)(nil), // 107: cloudmind.core_api.CreatePostResp - (*DeletePostResp)(nil), // 108: cloudmind.core_api.DeletePostResp - (*UpdatePostResp)(nil), // 109: cloudmind.core_api.UpdatePostResp - (*GetPostsResp)(nil), // 110: cloudmind.core_api.GetPostsResp - (*GetPostResp)(nil), // 111: cloudmind.core_api.GetPostResp - (*GetRecommendByUserResp)(nil), // 112: cloudmind.core_api.GetRecommendByUserResp - (*GetRecommendByItemResp)(nil), // 113: cloudmind.core_api.GetRecommendByItemResp - (*CreateFeedBackResp)(nil), // 114: cloudmind.core_api.CreateFeedBackResp - (*GetPopularRecommendResp)(nil), // 115: cloudmind.core_api.GetPopularRecommendResp - (*GetLatestRecommendResp)(nil), // 116: cloudmind.core_api.GetLatestRecommendResp - (*CreateProductResp)(nil), // 117: cloudmind.core_api.CreateProductResp - (*GetProductResp)(nil), // 118: cloudmind.core_api.GetProductResp - (*GetProductsResp)(nil), // 119: cloudmind.core_api.GetProductsResp - (*UpdateProductResp)(nil), // 120: cloudmind.core_api.UpdateProductResp - (*DeleteProductResp)(nil), // 121: cloudmind.core_api.DeleteProductResp - (*AskUploadAvatarResp)(nil), // 122: cloudmind.core_api.AskUploadAvatarResp - (*RegisterResp)(nil), // 123: cloudmind.core_api.RegisterResp - (*CheckEmailResp)(nil), // 124: cloudmind.core_api.CheckEmailResp - (*EmailLoginResp)(nil), // 125: cloudmind.core_api.EmailLoginResp - (*WeixinLoginResp)(nil), // 126: cloudmind.core_api.WeixinLoginResp - (*WeixinCallBackResp)(nil), // 127: cloudmind.core_api.WeixinCallBackResp - (*WeixinIsLoginResp)(nil), // 128: cloudmind.core_api.WeixinIsLoginResp - (*QQLoginResp)(nil), // 129: cloudmind.core_api.QQLoginResp - (*RefreshTokenResp)(nil), // 130: cloudmind.core_api.RefreshTokenResp - (*SendEmailResp)(nil), // 131: cloudmind.core_api.SendEmailResp - (*SetPasswordByEmailResp)(nil), // 132: cloudmind.core_api.SetPasswordByEmailResp - (*GetNotificationsResp)(nil), // 133: cloudmind.core_api.GetNotificationsResp - (*GetNotificationCountResp)(nil), // 134: cloudmind.core_api.GetNotificationCountResp - (*DeleteNotificationsResp)(nil), // 135: cloudmind.core_api.DeleteNotificationsResp - (*UpdateSliderResp)(nil), // 136: cloudmind.core_api.UpdateSliderResp - (*DeleteSliderResp)(nil), // 137: cloudmind.core_api.DeleteSliderResp - (*CreateSliderResp)(nil), // 138: cloudmind.core_api.CreateSliderResp - (*GetSlidersResp)(nil), // 139: cloudmind.core_api.GetSlidersResp - (*CreateCommentResp)(nil), // 140: cloudmind.core_api.CreateCommentResp - (*GetCommentResp)(nil), // 141: cloudmind.core_api.GetCommentResp - (*GetCommentsResp)(nil), // 142: cloudmind.core_api.GetCommentsResp - (*DeleteCommentResp)(nil), // 143: cloudmind.core_api.DeleteCommentResp - (*UpdateCommentResp)(nil), // 144: cloudmind.core_api.UpdateCommentResp - (*SetCommentAttrsResp)(nil), // 145: cloudmind.core_api.SetCommentAttrsResp - (*GetCommentSubjectResp)(nil), // 146: cloudmind.core_api.GetCommentSubjectResp - (*UpdateCommentSubjectResp)(nil), // 147: cloudmind.core_api.UpdateCommentSubjectResp - (*DeleteCommentSubjectResp)(nil), // 148: cloudmind.core_api.DeleteCommentSubjectResp - (*CreateRelationResp)(nil), // 149: cloudmind.core_api.CreateRelationResp - (*GetFromRelationsResp)(nil), // 150: cloudmind.core_api.GetFromRelationsResp - (*GetToRelationsResp)(nil), // 151: cloudmind.core_api.GetToRelationsResp - (*GetRelationResp)(nil), // 152: cloudmind.core_api.GetRelationResp - (*DeleteRelationResp)(nil), // 153: cloudmind.core_api.DeleteRelationResp - (*GetRelationPathsResp)(nil), // 154: cloudmind.core_api.GetRelationPathsResp - (*CreateLabelResp)(nil), // 155: cloudmind.core_api.CreateLabelResp - (*DeleteLabelResp)(nil), // 156: cloudmind.core_api.DeleteLabelResp - (*UpdateLabelResp)(nil), // 157: cloudmind.core_api.UpdateLabelResp - (*GetLabelsResp)(nil), // 158: cloudmind.core_api.GetLabelsResp - (*GetLabelResp)(nil), // 159: cloudmind.core_api.GetLabelResp - (*GetLabelsInBatchResp)(nil), // 160: cloudmind.core_api.GetLabelsInBatchResp - (*GetHotRanksResp)(nil), // 161: cloudmind.core_api.GetHotRanksResp + (*GetCommentBlocksReq)(nil), // 63: cloudmind.core_api.GetCommentBlocksReq + (*DeleteCommentReq)(nil), // 64: cloudmind.core_api.DeleteCommentReq + (*UpdateCommentReq)(nil), // 65: cloudmind.core_api.UpdateCommentReq + (*SetCommentAttrsReq)(nil), // 66: cloudmind.core_api.SetCommentAttrsReq + (*GetCommentSubjectReq)(nil), // 67: cloudmind.core_api.GetCommentSubjectReq + (*UpdateCommentSubjectReq)(nil), // 68: cloudmind.core_api.UpdateCommentSubjectReq + (*DeleteCommentSubjectReq)(nil), // 69: cloudmind.core_api.DeleteCommentSubjectReq + (*CreateRelationReq)(nil), // 70: cloudmind.core_api.CreateRelationReq + (*GetFromRelationsReq)(nil), // 71: cloudmind.core_api.GetFromRelationsReq + (*GetToRelationsReq)(nil), // 72: cloudmind.core_api.GetToRelationsReq + (*GetRelationReq)(nil), // 73: cloudmind.core_api.GetRelationReq + (*DeleteRelationReq)(nil), // 74: cloudmind.core_api.DeleteRelationReq + (*GetRelationPathsReq)(nil), // 75: cloudmind.core_api.GetRelationPathsReq + (*CreateLabelReq)(nil), // 76: cloudmind.core_api.CreateLabelReq + (*DeleteLabelReq)(nil), // 77: cloudmind.core_api.DeleteLabelReq + (*UpdateLabelReq)(nil), // 78: cloudmind.core_api.UpdateLabelReq + (*GetLabelsReq)(nil), // 79: cloudmind.core_api.GetLabelsReq + (*GetLabelReq)(nil), // 80: cloudmind.core_api.GetLabelReq + (*GetLabelsInBatchReq)(nil), // 81: cloudmind.core_api.GetLabelsInBatchReq + (*GetHotRanksReq)(nil), // 82: cloudmind.core_api.GetHotRanksReq + (*UpdateUserResp)(nil), // 83: cloudmind.core_api.UpdateUserResp + (*SearchUserResp)(nil), // 84: cloudmind.core_api.SearchUserResp + (*GetUserResp)(nil), // 85: cloudmind.core_api.GetUserResp + (*GetUserDetailResp)(nil), // 86: cloudmind.core_api.GetUserDetailResp + (*GetPublicFilesResp)(nil), // 87: cloudmind.core_api.GetPublicFilesResp + (*GetPrivateFileResp)(nil), // 88: cloudmind.core_api.GetPrivateFileResp + (*GetPrivateFilesResp)(nil), // 89: cloudmind.core_api.GetPrivateFilesResp + (*GetRecycleBinFilesResp)(nil), // 90: cloudmind.core_api.GetRecycleBinFilesResp + (*GetFileBySharingCodeResp)(nil), // 91: cloudmind.core_api.GetFileBySharingCodeResp + (*CreateFileResp)(nil), // 92: cloudmind.core_api.CreateFileResp + (*UpdateFileResp)(nil), // 93: cloudmind.core_api.UpdateFileResp + (*MoveFileResp)(nil), // 94: cloudmind.core_api.MoveFileResp + (*SaveFileToPrivateSpaceResp)(nil), // 95: cloudmind.core_api.SaveFileToPrivateSpaceResp + (*AddFileToPublicSpaceResp)(nil), // 96: cloudmind.core_api.AddFileToPublicSpaceResp + (*DeleteFileResp)(nil), // 97: cloudmind.core_api.DeleteFileResp + (*EmptyRecycleBinResp)(nil), // 98: cloudmind.core_api.EmptyRecycleBinResp + (*RecoverRecycleBinFileResp)(nil), // 99: cloudmind.core_api.RecoverRecycleBinFileResp + (*CreateShareCodeResp)(nil), // 100: cloudmind.core_api.CreateShareCodeResp + (*GetShareListResp)(nil), // 101: cloudmind.core_api.GetShareListResp + (*DeleteShareCodeResp)(nil), // 102: cloudmind.core_api.DeleteShareCodeResp + (*ParsingShareCodeResp)(nil), // 103: cloudmind.core_api.ParsingShareCodeResp + (*AskUploadFileResp)(nil), // 104: cloudmind.core_api.AskUploadFileResp + (*AskDownloadFileResp)(nil), // 105: cloudmind.core_api.AskDownloadFileResp + (*MakeFilePrivateResp)(nil), // 106: cloudmind.core_api.MakeFilePrivateResp + (*CheckFileResp)(nil), // 107: cloudmind.core_api.CheckFileResp + (*CreatePostResp)(nil), // 108: cloudmind.core_api.CreatePostResp + (*DeletePostResp)(nil), // 109: cloudmind.core_api.DeletePostResp + (*UpdatePostResp)(nil), // 110: cloudmind.core_api.UpdatePostResp + (*GetPostsResp)(nil), // 111: cloudmind.core_api.GetPostsResp + (*GetPostResp)(nil), // 112: cloudmind.core_api.GetPostResp + (*GetRecommendByUserResp)(nil), // 113: cloudmind.core_api.GetRecommendByUserResp + (*GetRecommendByItemResp)(nil), // 114: cloudmind.core_api.GetRecommendByItemResp + (*CreateFeedBackResp)(nil), // 115: cloudmind.core_api.CreateFeedBackResp + (*GetPopularRecommendResp)(nil), // 116: cloudmind.core_api.GetPopularRecommendResp + (*GetLatestRecommendResp)(nil), // 117: cloudmind.core_api.GetLatestRecommendResp + (*CreateProductResp)(nil), // 118: cloudmind.core_api.CreateProductResp + (*GetProductResp)(nil), // 119: cloudmind.core_api.GetProductResp + (*GetProductsResp)(nil), // 120: cloudmind.core_api.GetProductsResp + (*UpdateProductResp)(nil), // 121: cloudmind.core_api.UpdateProductResp + (*DeleteProductResp)(nil), // 122: cloudmind.core_api.DeleteProductResp + (*AskUploadAvatarResp)(nil), // 123: cloudmind.core_api.AskUploadAvatarResp + (*RegisterResp)(nil), // 124: cloudmind.core_api.RegisterResp + (*CheckEmailResp)(nil), // 125: cloudmind.core_api.CheckEmailResp + (*EmailLoginResp)(nil), // 126: cloudmind.core_api.EmailLoginResp + (*WeixinLoginResp)(nil), // 127: cloudmind.core_api.WeixinLoginResp + (*WeixinCallBackResp)(nil), // 128: cloudmind.core_api.WeixinCallBackResp + (*WeixinIsLoginResp)(nil), // 129: cloudmind.core_api.WeixinIsLoginResp + (*QQLoginResp)(nil), // 130: cloudmind.core_api.QQLoginResp + (*RefreshTokenResp)(nil), // 131: cloudmind.core_api.RefreshTokenResp + (*SendEmailResp)(nil), // 132: cloudmind.core_api.SendEmailResp + (*SetPasswordByEmailResp)(nil), // 133: cloudmind.core_api.SetPasswordByEmailResp + (*GetNotificationsResp)(nil), // 134: cloudmind.core_api.GetNotificationsResp + (*GetNotificationCountResp)(nil), // 135: cloudmind.core_api.GetNotificationCountResp + (*DeleteNotificationsResp)(nil), // 136: cloudmind.core_api.DeleteNotificationsResp + (*UpdateSliderResp)(nil), // 137: cloudmind.core_api.UpdateSliderResp + (*DeleteSliderResp)(nil), // 138: cloudmind.core_api.DeleteSliderResp + (*CreateSliderResp)(nil), // 139: cloudmind.core_api.CreateSliderResp + (*GetSlidersResp)(nil), // 140: cloudmind.core_api.GetSlidersResp + (*CreateCommentResp)(nil), // 141: cloudmind.core_api.CreateCommentResp + (*GetCommentResp)(nil), // 142: cloudmind.core_api.GetCommentResp + (*GetCommentsResp)(nil), // 143: cloudmind.core_api.GetCommentsResp + (*GetCommentBlocksResp)(nil), // 144: cloudmind.core_api.GetCommentBlocksResp + (*DeleteCommentResp)(nil), // 145: cloudmind.core_api.DeleteCommentResp + (*UpdateCommentResp)(nil), // 146: cloudmind.core_api.UpdateCommentResp + (*SetCommentAttrsResp)(nil), // 147: cloudmind.core_api.SetCommentAttrsResp + (*GetCommentSubjectResp)(nil), // 148: cloudmind.core_api.GetCommentSubjectResp + (*UpdateCommentSubjectResp)(nil), // 149: cloudmind.core_api.UpdateCommentSubjectResp + (*DeleteCommentSubjectResp)(nil), // 150: cloudmind.core_api.DeleteCommentSubjectResp + (*CreateRelationResp)(nil), // 151: cloudmind.core_api.CreateRelationResp + (*GetFromRelationsResp)(nil), // 152: cloudmind.core_api.GetFromRelationsResp + (*GetToRelationsResp)(nil), // 153: cloudmind.core_api.GetToRelationsResp + (*GetRelationResp)(nil), // 154: cloudmind.core_api.GetRelationResp + (*DeleteRelationResp)(nil), // 155: cloudmind.core_api.DeleteRelationResp + (*GetRelationPathsResp)(nil), // 156: cloudmind.core_api.GetRelationPathsResp + (*CreateLabelResp)(nil), // 157: cloudmind.core_api.CreateLabelResp + (*DeleteLabelResp)(nil), // 158: cloudmind.core_api.DeleteLabelResp + (*UpdateLabelResp)(nil), // 159: cloudmind.core_api.UpdateLabelResp + (*GetLabelsResp)(nil), // 160: cloudmind.core_api.GetLabelsResp + (*GetLabelResp)(nil), // 161: cloudmind.core_api.GetLabelResp + (*GetLabelsInBatchResp)(nil), // 162: cloudmind.core_api.GetLabelsInBatchResp + (*GetHotRanksResp)(nil), // 163: cloudmind.core_api.GetHotRanksResp } var file_core_api_proto_depIdxs = []int32{ 0, // 0: cloudmind.core_api.content.UpdateUser:input_type -> cloudmind.core_api.UpdateUserReq @@ -916,110 +927,112 @@ var file_core_api_proto_depIdxs = []int32{ 60, // 61: cloudmind.core_api.platform.CreateComment:input_type -> cloudmind.core_api.CreateCommentReq 61, // 62: cloudmind.core_api.platform.GetComment:input_type -> cloudmind.core_api.GetCommentReq 62, // 63: cloudmind.core_api.platform.GetComments:input_type -> cloudmind.core_api.GetCommentsReq - 63, // 64: cloudmind.core_api.platform.DeleteComment:input_type -> cloudmind.core_api.DeleteCommentReq - 64, // 65: cloudmind.core_api.platform.UpdateComment:input_type -> cloudmind.core_api.UpdateCommentReq - 65, // 66: cloudmind.core_api.platform.SetCommentAttrs:input_type -> cloudmind.core_api.SetCommentAttrsReq - 66, // 67: cloudmind.core_api.platform.GetCommentSubject:input_type -> cloudmind.core_api.GetCommentSubjectReq - 67, // 68: cloudmind.core_api.platform.UpdateCommentSubject:input_type -> cloudmind.core_api.UpdateCommentSubjectReq - 68, // 69: cloudmind.core_api.platform.DeleteCommentSubject:input_type -> cloudmind.core_api.DeleteCommentSubjectReq - 69, // 70: cloudmind.core_api.platform.CreateRelation:input_type -> cloudmind.core_api.CreateRelationReq - 70, // 71: cloudmind.core_api.platform.GetFromRelations:input_type -> cloudmind.core_api.GetFromRelationsReq - 71, // 72: cloudmind.core_api.platform.GetToRelations:input_type -> cloudmind.core_api.GetToRelationsReq - 72, // 73: cloudmind.core_api.platform.GetRelation:input_type -> cloudmind.core_api.GetRelationReq - 73, // 74: cloudmind.core_api.platform.DeleteRelation:input_type -> cloudmind.core_api.DeleteRelationReq - 74, // 75: cloudmind.core_api.platform.GetRelationPaths:input_type -> cloudmind.core_api.GetRelationPathsReq - 75, // 76: cloudmind.core_api.label.CreateLabel:input_type -> cloudmind.core_api.CreateLabelReq - 76, // 77: cloudmind.core_api.label.DeleteLabel:input_type -> cloudmind.core_api.DeleteLabelReq - 77, // 78: cloudmind.core_api.label.UpdateLabel:input_type -> cloudmind.core_api.UpdateLabelReq - 78, // 79: cloudmind.core_api.label.GetLabels:input_type -> cloudmind.core_api.GetLabelsReq - 79, // 80: cloudmind.core_api.label.GetLabel:input_type -> cloudmind.core_api.GetLabelReq - 80, // 81: cloudmind.core_api.label.GetLabelsInBatch:input_type -> cloudmind.core_api.GetLabelsInBatchReq - 81, // 82: cloudmind.core_api.hotRank.GetHotRanks:input_type -> cloudmind.core_api.GetHotRanksReq - 82, // 83: cloudmind.core_api.content.UpdateUser:output_type -> cloudmind.core_api.UpdateUserResp - 83, // 84: cloudmind.core_api.content.SearchUser:output_type -> cloudmind.core_api.SearchUserResp - 84, // 85: cloudmind.core_api.content.GetUser:output_type -> cloudmind.core_api.GetUserResp - 85, // 86: cloudmind.core_api.content.GetUserDetail:output_type -> cloudmind.core_api.GetUserDetailResp - 86, // 87: cloudmind.core_api.content.GetPublicFile:output_type -> cloudmind.core_api.GetPublicFilesResp - 87, // 88: cloudmind.core_api.content.GetPrivateFile:output_type -> cloudmind.core_api.GetPrivateFileResp - 88, // 89: cloudmind.core_api.content.GetPrivateFiles:output_type -> cloudmind.core_api.GetPrivateFilesResp - 86, // 90: cloudmind.core_api.content.GetPublicFiles:output_type -> cloudmind.core_api.GetPublicFilesResp - 89, // 91: cloudmind.core_api.content.GetRecycleBinFiles:output_type -> cloudmind.core_api.GetRecycleBinFilesResp - 90, // 92: cloudmind.core_api.content.GetFileBySharingCode:output_type -> cloudmind.core_api.GetFileBySharingCodeResp - 91, // 93: cloudmind.core_api.content.CreateFile:output_type -> cloudmind.core_api.CreateFileResp - 92, // 94: cloudmind.core_api.content.UpdateFile:output_type -> cloudmind.core_api.UpdateFileResp - 93, // 95: cloudmind.core_api.content.MoveFile:output_type -> cloudmind.core_api.MoveFileResp - 94, // 96: cloudmind.core_api.content.SaveFileToPrivateSpace:output_type -> cloudmind.core_api.SaveFileToPrivateSpaceResp - 95, // 97: cloudmind.core_api.content.AddFileToPublicSpace:output_type -> cloudmind.core_api.AddFileToPublicSpaceResp - 14, // 98: cloudmind.core_api.content.CompletelyRemoveFile:output_type -> cloudmind.core_api.CompletelyRemoveFileReq - 96, // 99: cloudmind.core_api.content.DeleteFile:output_type -> cloudmind.core_api.DeleteFileResp - 97, // 100: cloudmind.core_api.content.EmptyRecycleBin:output_type -> cloudmind.core_api.EmptyRecycleBinResp - 98, // 101: cloudmind.core_api.content.RecoverRecycleBinFile:output_type -> cloudmind.core_api.RecoverRecycleBinFileResp - 99, // 102: cloudmind.core_api.content.CreateShareCode:output_type -> cloudmind.core_api.CreateShareCodeResp - 100, // 103: cloudmind.core_api.content.GetShareList:output_type -> cloudmind.core_api.GetShareListResp - 101, // 104: cloudmind.core_api.content.DeleteShareCode:output_type -> cloudmind.core_api.DeleteShareCodeResp - 102, // 105: cloudmind.core_api.content.ParsingShareCode:output_type -> cloudmind.core_api.ParsingShareCodeResp - 103, // 106: cloudmind.core_api.content.AskUploadFile:output_type -> cloudmind.core_api.AskUploadFileResp - 104, // 107: cloudmind.core_api.content.AskDownloadFile:output_type -> cloudmind.core_api.AskDownloadFileResp - 105, // 108: cloudmind.core_api.content.MakeFilePrivate:output_type -> cloudmind.core_api.MakeFilePrivateResp - 106, // 109: cloudmind.core_api.content.CheckFile:output_type -> cloudmind.core_api.CheckFileResp - 107, // 110: cloudmind.core_api.content.CreatePost:output_type -> cloudmind.core_api.CreatePostResp - 108, // 111: cloudmind.core_api.content.DeletePost:output_type -> cloudmind.core_api.DeletePostResp - 109, // 112: cloudmind.core_api.content.UpdatePost:output_type -> cloudmind.core_api.UpdatePostResp - 110, // 113: cloudmind.core_api.content.GetPosts:output_type -> cloudmind.core_api.GetPostsResp - 111, // 114: cloudmind.core_api.content.GetPost:output_type -> cloudmind.core_api.GetPostResp - 112, // 115: cloudmind.core_api.content.GetRecommendByUser:output_type -> cloudmind.core_api.GetRecommendByUserResp - 113, // 116: cloudmind.core_api.content.GetRecommendByItem:output_type -> cloudmind.core_api.GetRecommendByItemResp - 114, // 117: cloudmind.core_api.content.CreateFeedBack:output_type -> cloudmind.core_api.CreateFeedBackResp - 115, // 118: cloudmind.core_api.content.GetPopularRecommend:output_type -> cloudmind.core_api.GetPopularRecommendResp - 116, // 119: cloudmind.core_api.content.GetLatestRecommend:output_type -> cloudmind.core_api.GetLatestRecommendResp - 117, // 120: cloudmind.core_api.content.CreateProduct:output_type -> cloudmind.core_api.CreateProductResp - 118, // 121: cloudmind.core_api.content.GetProduct:output_type -> cloudmind.core_api.GetProductResp - 119, // 122: cloudmind.core_api.content.GetProducts:output_type -> cloudmind.core_api.GetProductsResp - 120, // 123: cloudmind.core_api.content.UpdateProduct:output_type -> cloudmind.core_api.UpdateProductResp - 121, // 124: cloudmind.core_api.content.DeleteProduct:output_type -> cloudmind.core_api.DeleteProductResp - 122, // 125: cloudmind.core_api.auth.AskUploadAvatar:output_type -> cloudmind.core_api.AskUploadAvatarResp - 123, // 126: cloudmind.core_api.auth.Register:output_type -> cloudmind.core_api.RegisterResp - 124, // 127: cloudmind.core_api.auth.CheckEmail:output_type -> cloudmind.core_api.CheckEmailResp - 125, // 128: cloudmind.core_api.auth.EmailLogin:output_type -> cloudmind.core_api.EmailLoginResp - 126, // 129: cloudmind.core_api.auth.WeixinLogin:output_type -> cloudmind.core_api.WeixinLoginResp - 127, // 130: cloudmind.core_api.auth.WeixinCallBack:output_type -> cloudmind.core_api.WeixinCallBackResp - 128, // 131: cloudmind.core_api.auth.WeixinIsLogin:output_type -> cloudmind.core_api.WeixinIsLoginResp - 129, // 132: cloudmind.core_api.auth.QQLogin:output_type -> cloudmind.core_api.QQLoginResp - 130, // 133: cloudmind.core_api.auth.RefreshToken:output_type -> cloudmind.core_api.RefreshTokenResp - 131, // 134: cloudmind.core_api.auth.SendEmail:output_type -> cloudmind.core_api.SendEmailResp - 132, // 135: cloudmind.core_api.auth.SetPasswordByEmail:output_type -> cloudmind.core_api.SetPasswordByEmailResp - 52, // 136: cloudmind.core_api.auth.SetPasswordByPassword:output_type -> cloudmind.core_api.SetPasswordByPasswordReq - 133, // 137: cloudmind.core_api.system.GetNotifications:output_type -> cloudmind.core_api.GetNotificationsResp - 134, // 138: cloudmind.core_api.system.GetNotificationCount:output_type -> cloudmind.core_api.GetNotificationCountResp - 135, // 139: cloudmind.core_api.system.DeleteNotifications:output_type -> cloudmind.core_api.DeleteNotificationsResp - 136, // 140: cloudmind.core_api.system.UpdateSlider:output_type -> cloudmind.core_api.UpdateSliderResp - 137, // 141: cloudmind.core_api.system.DeleteSlider:output_type -> cloudmind.core_api.DeleteSliderResp - 138, // 142: cloudmind.core_api.system.CreateSlider:output_type -> cloudmind.core_api.CreateSliderResp - 139, // 143: cloudmind.core_api.system.GetSliders:output_type -> cloudmind.core_api.GetSlidersResp - 140, // 144: cloudmind.core_api.platform.CreateComment:output_type -> cloudmind.core_api.CreateCommentResp - 141, // 145: cloudmind.core_api.platform.GetComment:output_type -> cloudmind.core_api.GetCommentResp - 142, // 146: cloudmind.core_api.platform.GetComments:output_type -> cloudmind.core_api.GetCommentsResp - 143, // 147: cloudmind.core_api.platform.DeleteComment:output_type -> cloudmind.core_api.DeleteCommentResp - 144, // 148: cloudmind.core_api.platform.UpdateComment:output_type -> cloudmind.core_api.UpdateCommentResp - 145, // 149: cloudmind.core_api.platform.SetCommentAttrs:output_type -> cloudmind.core_api.SetCommentAttrsResp - 146, // 150: cloudmind.core_api.platform.GetCommentSubject:output_type -> cloudmind.core_api.GetCommentSubjectResp - 147, // 151: cloudmind.core_api.platform.UpdateCommentSubject:output_type -> cloudmind.core_api.UpdateCommentSubjectResp - 148, // 152: cloudmind.core_api.platform.DeleteCommentSubject:output_type -> cloudmind.core_api.DeleteCommentSubjectResp - 149, // 153: cloudmind.core_api.platform.CreateRelation:output_type -> cloudmind.core_api.CreateRelationResp - 150, // 154: cloudmind.core_api.platform.GetFromRelations:output_type -> cloudmind.core_api.GetFromRelationsResp - 151, // 155: cloudmind.core_api.platform.GetToRelations:output_type -> cloudmind.core_api.GetToRelationsResp - 152, // 156: cloudmind.core_api.platform.GetRelation:output_type -> cloudmind.core_api.GetRelationResp - 153, // 157: cloudmind.core_api.platform.DeleteRelation:output_type -> cloudmind.core_api.DeleteRelationResp - 154, // 158: cloudmind.core_api.platform.GetRelationPaths:output_type -> cloudmind.core_api.GetRelationPathsResp - 155, // 159: cloudmind.core_api.label.CreateLabel:output_type -> cloudmind.core_api.CreateLabelResp - 156, // 160: cloudmind.core_api.label.DeleteLabel:output_type -> cloudmind.core_api.DeleteLabelResp - 157, // 161: cloudmind.core_api.label.UpdateLabel:output_type -> cloudmind.core_api.UpdateLabelResp - 158, // 162: cloudmind.core_api.label.GetLabels:output_type -> cloudmind.core_api.GetLabelsResp - 159, // 163: cloudmind.core_api.label.GetLabel:output_type -> cloudmind.core_api.GetLabelResp - 160, // 164: cloudmind.core_api.label.GetLabelsInBatch:output_type -> cloudmind.core_api.GetLabelsInBatchResp - 161, // 165: cloudmind.core_api.hotRank.GetHotRanks:output_type -> cloudmind.core_api.GetHotRanksResp - 83, // [83:166] is the sub-list for method output_type - 0, // [0:83] is the sub-list for method input_type + 63, // 64: cloudmind.core_api.platform.GetCommentBlocks:input_type -> cloudmind.core_api.GetCommentBlocksReq + 64, // 65: cloudmind.core_api.platform.DeleteComment:input_type -> cloudmind.core_api.DeleteCommentReq + 65, // 66: cloudmind.core_api.platform.UpdateComment:input_type -> cloudmind.core_api.UpdateCommentReq + 66, // 67: cloudmind.core_api.platform.SetCommentAttrs:input_type -> cloudmind.core_api.SetCommentAttrsReq + 67, // 68: cloudmind.core_api.platform.GetCommentSubject:input_type -> cloudmind.core_api.GetCommentSubjectReq + 68, // 69: cloudmind.core_api.platform.UpdateCommentSubject:input_type -> cloudmind.core_api.UpdateCommentSubjectReq + 69, // 70: cloudmind.core_api.platform.DeleteCommentSubject:input_type -> cloudmind.core_api.DeleteCommentSubjectReq + 70, // 71: cloudmind.core_api.platform.CreateRelation:input_type -> cloudmind.core_api.CreateRelationReq + 71, // 72: cloudmind.core_api.platform.GetFromRelations:input_type -> cloudmind.core_api.GetFromRelationsReq + 72, // 73: cloudmind.core_api.platform.GetToRelations:input_type -> cloudmind.core_api.GetToRelationsReq + 73, // 74: cloudmind.core_api.platform.GetRelation:input_type -> cloudmind.core_api.GetRelationReq + 74, // 75: cloudmind.core_api.platform.DeleteRelation:input_type -> cloudmind.core_api.DeleteRelationReq + 75, // 76: cloudmind.core_api.platform.GetRelationPaths:input_type -> cloudmind.core_api.GetRelationPathsReq + 76, // 77: cloudmind.core_api.label.CreateLabel:input_type -> cloudmind.core_api.CreateLabelReq + 77, // 78: cloudmind.core_api.label.DeleteLabel:input_type -> cloudmind.core_api.DeleteLabelReq + 78, // 79: cloudmind.core_api.label.UpdateLabel:input_type -> cloudmind.core_api.UpdateLabelReq + 79, // 80: cloudmind.core_api.label.GetLabels:input_type -> cloudmind.core_api.GetLabelsReq + 80, // 81: cloudmind.core_api.label.GetLabel:input_type -> cloudmind.core_api.GetLabelReq + 81, // 82: cloudmind.core_api.label.GetLabelsInBatch:input_type -> cloudmind.core_api.GetLabelsInBatchReq + 82, // 83: cloudmind.core_api.hotRank.GetHotRanks:input_type -> cloudmind.core_api.GetHotRanksReq + 83, // 84: cloudmind.core_api.content.UpdateUser:output_type -> cloudmind.core_api.UpdateUserResp + 84, // 85: cloudmind.core_api.content.SearchUser:output_type -> cloudmind.core_api.SearchUserResp + 85, // 86: cloudmind.core_api.content.GetUser:output_type -> cloudmind.core_api.GetUserResp + 86, // 87: cloudmind.core_api.content.GetUserDetail:output_type -> cloudmind.core_api.GetUserDetailResp + 87, // 88: cloudmind.core_api.content.GetPublicFile:output_type -> cloudmind.core_api.GetPublicFilesResp + 88, // 89: cloudmind.core_api.content.GetPrivateFile:output_type -> cloudmind.core_api.GetPrivateFileResp + 89, // 90: cloudmind.core_api.content.GetPrivateFiles:output_type -> cloudmind.core_api.GetPrivateFilesResp + 87, // 91: cloudmind.core_api.content.GetPublicFiles:output_type -> cloudmind.core_api.GetPublicFilesResp + 90, // 92: cloudmind.core_api.content.GetRecycleBinFiles:output_type -> cloudmind.core_api.GetRecycleBinFilesResp + 91, // 93: cloudmind.core_api.content.GetFileBySharingCode:output_type -> cloudmind.core_api.GetFileBySharingCodeResp + 92, // 94: cloudmind.core_api.content.CreateFile:output_type -> cloudmind.core_api.CreateFileResp + 93, // 95: cloudmind.core_api.content.UpdateFile:output_type -> cloudmind.core_api.UpdateFileResp + 94, // 96: cloudmind.core_api.content.MoveFile:output_type -> cloudmind.core_api.MoveFileResp + 95, // 97: cloudmind.core_api.content.SaveFileToPrivateSpace:output_type -> cloudmind.core_api.SaveFileToPrivateSpaceResp + 96, // 98: cloudmind.core_api.content.AddFileToPublicSpace:output_type -> cloudmind.core_api.AddFileToPublicSpaceResp + 14, // 99: cloudmind.core_api.content.CompletelyRemoveFile:output_type -> cloudmind.core_api.CompletelyRemoveFileReq + 97, // 100: cloudmind.core_api.content.DeleteFile:output_type -> cloudmind.core_api.DeleteFileResp + 98, // 101: cloudmind.core_api.content.EmptyRecycleBin:output_type -> cloudmind.core_api.EmptyRecycleBinResp + 99, // 102: cloudmind.core_api.content.RecoverRecycleBinFile:output_type -> cloudmind.core_api.RecoverRecycleBinFileResp + 100, // 103: cloudmind.core_api.content.CreateShareCode:output_type -> cloudmind.core_api.CreateShareCodeResp + 101, // 104: cloudmind.core_api.content.GetShareList:output_type -> cloudmind.core_api.GetShareListResp + 102, // 105: cloudmind.core_api.content.DeleteShareCode:output_type -> cloudmind.core_api.DeleteShareCodeResp + 103, // 106: cloudmind.core_api.content.ParsingShareCode:output_type -> cloudmind.core_api.ParsingShareCodeResp + 104, // 107: cloudmind.core_api.content.AskUploadFile:output_type -> cloudmind.core_api.AskUploadFileResp + 105, // 108: cloudmind.core_api.content.AskDownloadFile:output_type -> cloudmind.core_api.AskDownloadFileResp + 106, // 109: cloudmind.core_api.content.MakeFilePrivate:output_type -> cloudmind.core_api.MakeFilePrivateResp + 107, // 110: cloudmind.core_api.content.CheckFile:output_type -> cloudmind.core_api.CheckFileResp + 108, // 111: cloudmind.core_api.content.CreatePost:output_type -> cloudmind.core_api.CreatePostResp + 109, // 112: cloudmind.core_api.content.DeletePost:output_type -> cloudmind.core_api.DeletePostResp + 110, // 113: cloudmind.core_api.content.UpdatePost:output_type -> cloudmind.core_api.UpdatePostResp + 111, // 114: cloudmind.core_api.content.GetPosts:output_type -> cloudmind.core_api.GetPostsResp + 112, // 115: cloudmind.core_api.content.GetPost:output_type -> cloudmind.core_api.GetPostResp + 113, // 116: cloudmind.core_api.content.GetRecommendByUser:output_type -> cloudmind.core_api.GetRecommendByUserResp + 114, // 117: cloudmind.core_api.content.GetRecommendByItem:output_type -> cloudmind.core_api.GetRecommendByItemResp + 115, // 118: cloudmind.core_api.content.CreateFeedBack:output_type -> cloudmind.core_api.CreateFeedBackResp + 116, // 119: cloudmind.core_api.content.GetPopularRecommend:output_type -> cloudmind.core_api.GetPopularRecommendResp + 117, // 120: cloudmind.core_api.content.GetLatestRecommend:output_type -> cloudmind.core_api.GetLatestRecommendResp + 118, // 121: cloudmind.core_api.content.CreateProduct:output_type -> cloudmind.core_api.CreateProductResp + 119, // 122: cloudmind.core_api.content.GetProduct:output_type -> cloudmind.core_api.GetProductResp + 120, // 123: cloudmind.core_api.content.GetProducts:output_type -> cloudmind.core_api.GetProductsResp + 121, // 124: cloudmind.core_api.content.UpdateProduct:output_type -> cloudmind.core_api.UpdateProductResp + 122, // 125: cloudmind.core_api.content.DeleteProduct:output_type -> cloudmind.core_api.DeleteProductResp + 123, // 126: cloudmind.core_api.auth.AskUploadAvatar:output_type -> cloudmind.core_api.AskUploadAvatarResp + 124, // 127: cloudmind.core_api.auth.Register:output_type -> cloudmind.core_api.RegisterResp + 125, // 128: cloudmind.core_api.auth.CheckEmail:output_type -> cloudmind.core_api.CheckEmailResp + 126, // 129: cloudmind.core_api.auth.EmailLogin:output_type -> cloudmind.core_api.EmailLoginResp + 127, // 130: cloudmind.core_api.auth.WeixinLogin:output_type -> cloudmind.core_api.WeixinLoginResp + 128, // 131: cloudmind.core_api.auth.WeixinCallBack:output_type -> cloudmind.core_api.WeixinCallBackResp + 129, // 132: cloudmind.core_api.auth.WeixinIsLogin:output_type -> cloudmind.core_api.WeixinIsLoginResp + 130, // 133: cloudmind.core_api.auth.QQLogin:output_type -> cloudmind.core_api.QQLoginResp + 131, // 134: cloudmind.core_api.auth.RefreshToken:output_type -> cloudmind.core_api.RefreshTokenResp + 132, // 135: cloudmind.core_api.auth.SendEmail:output_type -> cloudmind.core_api.SendEmailResp + 133, // 136: cloudmind.core_api.auth.SetPasswordByEmail:output_type -> cloudmind.core_api.SetPasswordByEmailResp + 52, // 137: cloudmind.core_api.auth.SetPasswordByPassword:output_type -> cloudmind.core_api.SetPasswordByPasswordReq + 134, // 138: cloudmind.core_api.system.GetNotifications:output_type -> cloudmind.core_api.GetNotificationsResp + 135, // 139: cloudmind.core_api.system.GetNotificationCount:output_type -> cloudmind.core_api.GetNotificationCountResp + 136, // 140: cloudmind.core_api.system.DeleteNotifications:output_type -> cloudmind.core_api.DeleteNotificationsResp + 137, // 141: cloudmind.core_api.system.UpdateSlider:output_type -> cloudmind.core_api.UpdateSliderResp + 138, // 142: cloudmind.core_api.system.DeleteSlider:output_type -> cloudmind.core_api.DeleteSliderResp + 139, // 143: cloudmind.core_api.system.CreateSlider:output_type -> cloudmind.core_api.CreateSliderResp + 140, // 144: cloudmind.core_api.system.GetSliders:output_type -> cloudmind.core_api.GetSlidersResp + 141, // 145: cloudmind.core_api.platform.CreateComment:output_type -> cloudmind.core_api.CreateCommentResp + 142, // 146: cloudmind.core_api.platform.GetComment:output_type -> cloudmind.core_api.GetCommentResp + 143, // 147: cloudmind.core_api.platform.GetComments:output_type -> cloudmind.core_api.GetCommentsResp + 144, // 148: cloudmind.core_api.platform.GetCommentBlocks:output_type -> cloudmind.core_api.GetCommentBlocksResp + 145, // 149: cloudmind.core_api.platform.DeleteComment:output_type -> cloudmind.core_api.DeleteCommentResp + 146, // 150: cloudmind.core_api.platform.UpdateComment:output_type -> cloudmind.core_api.UpdateCommentResp + 147, // 151: cloudmind.core_api.platform.SetCommentAttrs:output_type -> cloudmind.core_api.SetCommentAttrsResp + 148, // 152: cloudmind.core_api.platform.GetCommentSubject:output_type -> cloudmind.core_api.GetCommentSubjectResp + 149, // 153: cloudmind.core_api.platform.UpdateCommentSubject:output_type -> cloudmind.core_api.UpdateCommentSubjectResp + 150, // 154: cloudmind.core_api.platform.DeleteCommentSubject:output_type -> cloudmind.core_api.DeleteCommentSubjectResp + 151, // 155: cloudmind.core_api.platform.CreateRelation:output_type -> cloudmind.core_api.CreateRelationResp + 152, // 156: cloudmind.core_api.platform.GetFromRelations:output_type -> cloudmind.core_api.GetFromRelationsResp + 153, // 157: cloudmind.core_api.platform.GetToRelations:output_type -> cloudmind.core_api.GetToRelationsResp + 154, // 158: cloudmind.core_api.platform.GetRelation:output_type -> cloudmind.core_api.GetRelationResp + 155, // 159: cloudmind.core_api.platform.DeleteRelation:output_type -> cloudmind.core_api.DeleteRelationResp + 156, // 160: cloudmind.core_api.platform.GetRelationPaths:output_type -> cloudmind.core_api.GetRelationPathsResp + 157, // 161: cloudmind.core_api.label.CreateLabel:output_type -> cloudmind.core_api.CreateLabelResp + 158, // 162: cloudmind.core_api.label.DeleteLabel:output_type -> cloudmind.core_api.DeleteLabelResp + 159, // 163: cloudmind.core_api.label.UpdateLabel:output_type -> cloudmind.core_api.UpdateLabelResp + 160, // 164: cloudmind.core_api.label.GetLabels:output_type -> cloudmind.core_api.GetLabelsResp + 161, // 165: cloudmind.core_api.label.GetLabel:output_type -> cloudmind.core_api.GetLabelResp + 162, // 166: cloudmind.core_api.label.GetLabelsInBatch:output_type -> cloudmind.core_api.GetLabelsInBatchResp + 163, // 167: cloudmind.core_api.hotRank.GetHotRanks:output_type -> cloudmind.core_api.GetHotRanksResp + 84, // [84:168] is the sub-list for method output_type + 0, // [0:84] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/biz/application/dto/cloudmind/core_api/platform.pb.go b/biz/application/dto/cloudmind/core_api/platform.pb.go index c0bbee6..b3251ea 100644 --- a/biz/application/dto/cloudmind/core_api/platform.pb.go +++ b/biz/application/dto/cloudmind/core_api/platform.pb.go @@ -503,9 +503,9 @@ type GetCommentsResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CommentList []*CommentList `protobuf:"bytes,1,rep,name=commentList,proto3" json:"commentList" form:"commentList" query:"commentList"` - Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total" form:"total" query:"total"` - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token" form:"token" query:"token"` + Comments []*Comment `protobuf:"bytes,1,rep,name=comments,proto3" json:"comments" form:"comments" query:"comments"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total" form:"total" query:"total"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token" form:"token" query:"token"` } func (x *GetCommentsResp) Reset() { @@ -540,9 +540,9 @@ func (*GetCommentsResp) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_platform_proto_rawDescGZIP(), []int{5} } -func (x *GetCommentsResp) GetCommentList() []*CommentList { +func (x *GetCommentsResp) GetComments() []*Comment { if x != nil { - return x.CommentList + return x.Comments } return nil } @@ -561,17 +561,21 @@ func (x *GetCommentsResp) GetToken() string { return "" } -type CommentList struct { +type GetCommentBlocksReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RootComment *Comment `protobuf:"bytes,1,opt,name=rootComment,proto3" json:"rootComment" form:"rootComment" query:"rootComment"` - ReplyList *ReplyList `protobuf:"bytes,2,opt,name=replyList,proto3" json:"replyList" form:"replyList" query:"replyList"` + SubjectId string `protobuf:"bytes,1,opt,name=subjectId,proto3" json:"subjectId" form:"subjectId" query:"subjectId"` + FatherId string `protobuf:"bytes,2,opt,name=fatherId,proto3" json:"fatherId" form:"fatherId" query:"fatherId"` + Limit *int64 `protobuf:"varint,3,opt,name=limit,proto3,oneof" json:"limit" form:"limit" query:"limit"` + LastToken *string `protobuf:"bytes,4,opt,name=lastToken,proto3,oneof" json:"lastToken" form:"lastToken" query:"lastToken"` + Backward *bool `protobuf:"varint,5,opt,name=backward,proto3,oneof" json:"backward" form:"backward" query:"backward"` + Offset *int64 `protobuf:"varint,6,opt,name=offset,proto3,oneof" json:"offset" form:"offset" query:"offset"` } -func (x *CommentList) Reset() { - *x = CommentList{} +func (x *GetCommentBlocksReq) Reset() { + *x = GetCommentBlocksReq{} if protoimpl.UnsafeEnabled { mi := &file_cloudmind_core_api_platform_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -579,13 +583,13 @@ func (x *CommentList) Reset() { } } -func (x *CommentList) String() string { +func (x *GetCommentBlocksReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CommentList) ProtoMessage() {} +func (*GetCommentBlocksReq) ProtoMessage() {} -func (x *CommentList) ProtoReflect() protoreflect.Message { +func (x *GetCommentBlocksReq) ProtoReflect() protoreflect.Message { mi := &file_cloudmind_core_api_platform_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -597,37 +601,65 @@ func (x *CommentList) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CommentList.ProtoReflect.Descriptor instead. -func (*CommentList) Descriptor() ([]byte, []int) { +// Deprecated: Use GetCommentBlocksReq.ProtoReflect.Descriptor instead. +func (*GetCommentBlocksReq) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_platform_proto_rawDescGZIP(), []int{6} } -func (x *CommentList) GetRootComment() *Comment { +func (x *GetCommentBlocksReq) GetSubjectId() string { if x != nil { - return x.RootComment + return x.SubjectId } - return nil + return "" } -func (x *CommentList) GetReplyList() *ReplyList { +func (x *GetCommentBlocksReq) GetFatherId() string { if x != nil { - return x.ReplyList + return x.FatherId } - return nil + return "" +} + +func (x *GetCommentBlocksReq) GetLimit() int64 { + if x != nil && x.Limit != nil { + return *x.Limit + } + return 0 +} + +func (x *GetCommentBlocksReq) GetLastToken() string { + if x != nil && x.LastToken != nil { + return *x.LastToken + } + return "" +} + +func (x *GetCommentBlocksReq) GetBackward() bool { + if x != nil && x.Backward != nil { + return *x.Backward + } + return false +} + +func (x *GetCommentBlocksReq) GetOffset() int64 { + if x != nil && x.Offset != nil { + return *x.Offset + } + return 0 } -type ReplyList struct { +type GetCommentBlocksResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Comments []*Comment `protobuf:"bytes,1,rep,name=comments,proto3" json:"comments" form:"comments" query:"comments"` - Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total" form:"total" query:"total"` - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token" form:"token" query:"token"` + CommentBlocks []*CommentBlock `protobuf:"bytes,1,rep,name=commentBlocks,proto3" json:"commentBlocks" form:"commentBlocks" query:"commentBlocks"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total" form:"total" query:"total"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token" form:"token" query:"token"` } -func (x *ReplyList) Reset() { - *x = ReplyList{} +func (x *GetCommentBlocksResp) Reset() { + *x = GetCommentBlocksResp{} if protoimpl.UnsafeEnabled { mi := &file_cloudmind_core_api_platform_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -635,13 +667,13 @@ func (x *ReplyList) Reset() { } } -func (x *ReplyList) String() string { +func (x *GetCommentBlocksResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReplyList) ProtoMessage() {} +func (*GetCommentBlocksResp) ProtoMessage() {} -func (x *ReplyList) ProtoReflect() protoreflect.Message { +func (x *GetCommentBlocksResp) ProtoReflect() protoreflect.Message { mi := &file_cloudmind_core_api_platform_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -653,26 +685,26 @@ func (x *ReplyList) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReplyList.ProtoReflect.Descriptor instead. -func (*ReplyList) Descriptor() ([]byte, []int) { +// Deprecated: Use GetCommentBlocksResp.ProtoReflect.Descriptor instead. +func (*GetCommentBlocksResp) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_platform_proto_rawDescGZIP(), []int{7} } -func (x *ReplyList) GetComments() []*Comment { +func (x *GetCommentBlocksResp) GetCommentBlocks() []*CommentBlock { if x != nil { - return x.Comments + return x.CommentBlocks } return nil } -func (x *ReplyList) GetTotal() int64 { +func (x *GetCommentBlocksResp) GetTotal() int64 { if x != nil { return x.Total } return 0 } -func (x *ReplyList) GetToken() string { +func (x *GetCommentBlocksResp) GetToken() string { if x != nil { return x.Token } @@ -2818,274 +2850,282 @@ var file_cloudmind_core_api_platform_proto_rawDesc = []byte{ 0x41, 0x74, 0x74, 0x72, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x72, 0x6f, 0x6f, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x37, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7d, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x49, 0x64, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x30, 0x0a, 0x10, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x55, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, - 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x74, 0x74, 0x72, - 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x34, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, - 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, - 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, 0x6c, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, - 0x74, 0x74, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, - 0x73, 0x22, 0x99, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x76, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x05, - 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x1a, 0x0a, - 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x37, 0x0a, 0x17, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, - 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, - 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, - 0x2a, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x27, - 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, - 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x24, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x5c, 0x0a, - 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, - 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, - 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, - 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x87, - 0x02, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, - 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfb, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x61, + 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, + 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x02, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, + 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0d, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x27, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, - 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, - 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, - 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, - 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, - 0x49, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7d, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x30, 0x0a, 0x10, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x13, + 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x55, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x74, 0x74, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x74, + 0x74, 0x72, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x34, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x70, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, + 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, + 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, + 0x74, 0x72, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, + 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, + 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x37, 0x0a, 0x17, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x42, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, + 0x64, 0x22, 0x2a, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x11, 0x0a, + 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x27, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, + 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x24, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, + 0x5c, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x11, 0x0a, + 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x87, 0x02, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, + 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, + 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x61, 0x73, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, + 0x72, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x27, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, + 0x69, 0x64, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, - 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x44, - 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, + 0x70, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, + 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x6f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, + 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, + 0x12, 0x4c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, + 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5b, + 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x4c, - 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x14, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, + 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x22, 0xb5, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, + 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, + 0x64, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, + 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, + 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, + 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22, 0xa5, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2c, + 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, - 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5b, 0x0a, 0x0c, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, - 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, - 0xb5, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, - 0x30, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, - 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, - 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, - 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, - 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, - 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x52, - 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, - 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22, 0xa5, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x6f, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x06, - 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, - 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, - 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x46, - 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x0a, 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x52, 0x08, 0x66, 0x72, - 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, + 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x6f, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, + 0x12, 0x46, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x42, 0x0a, 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x52, 0x08, + 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, + 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, + 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, + 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x22, 0x44, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, + 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, + 0x64, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, + 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, + 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, + 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, + 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, + 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x02, 0x6f, 0x6b, 0x22, 0x90, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x2c, 0x0a, + 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, + 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, + 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, + 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xbf, 0x01, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x5b, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x44, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, - 0x73, 0x65, 0x72, 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, - 0x30, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, - 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, - 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, - 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, - 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x21, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, - 0x6b, 0x22, 0x90, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x74, - 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, - 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, - 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, - 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, - 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xbf, 0x01, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, - 0x65, 0x71, 0x12, 0x5b, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, - 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, - 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xac, 0x01, 0x0a, - 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x70, - 0x6f, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x53, 0x5a, 0x51, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, - 0x74, 0x72, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xac, + 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x74, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, + 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x53, 0x5a, + 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x53, 0x74, 0x72, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x69, 0x7a, 0x2f, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x74, 0x6f, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3108,8 +3148,8 @@ var file_cloudmind_core_api_platform_proto_goTypes = []interface{}{ (*GetCommentResp)(nil), // 3: cloudmind.core_api.GetCommentResp (*GetCommentsReq)(nil), // 4: cloudmind.core_api.GetCommentsReq (*GetCommentsResp)(nil), // 5: cloudmind.core_api.GetCommentsResp - (*CommentList)(nil), // 6: cloudmind.core_api.CommentList - (*ReplyList)(nil), // 7: cloudmind.core_api.ReplyList + (*GetCommentBlocksReq)(nil), // 6: cloudmind.core_api.GetCommentBlocksReq + (*GetCommentBlocksResp)(nil), // 7: cloudmind.core_api.GetCommentBlocksResp (*UpdateCommentReq)(nil), // 8: cloudmind.core_api.UpdateCommentReq (*UpdateCommentResp)(nil), // 9: cloudmind.core_api.UpdateCommentResp (*DeleteCommentReq)(nil), // 10: cloudmind.core_api.DeleteCommentReq @@ -3150,47 +3190,46 @@ var file_cloudmind_core_api_platform_proto_goTypes = []interface{}{ (*SimpleUser)(nil), // 45: cloudmind.core_api.SimpleUser (*CommentRelation)(nil), // 46: cloudmind.core_api.CommentRelation (*Comment)(nil), // 47: cloudmind.core_api.Comment - (State)(0), // 48: cloudmind.core_api.State - (Attrs)(0), // 49: cloudmind.core_api.Attrs - (*Label)(nil), // 50: cloudmind.core_api.Label - (TargetType)(0), // 51: cloudmind.core_api.TargetType - (RelationType)(0), // 52: cloudmind.core_api.RelationType - (*User)(nil), // 53: cloudmind.core_api.User - (*PublicFile)(nil), // 54: cloudmind.core_api.PublicFile - (*Post)(nil), // 55: cloudmind.core_api.Post + (*CommentBlock)(nil), // 48: cloudmind.core_api.CommentBlock + (State)(0), // 49: cloudmind.core_api.State + (Attrs)(0), // 50: cloudmind.core_api.Attrs + (*Label)(nil), // 51: cloudmind.core_api.Label + (TargetType)(0), // 52: cloudmind.core_api.TargetType + (RelationType)(0), // 53: cloudmind.core_api.RelationType + (*User)(nil), // 54: cloudmind.core_api.User + (*PublicFile)(nil), // 55: cloudmind.core_api.PublicFile + (*Post)(nil), // 56: cloudmind.core_api.Post } var file_cloudmind_core_api_platform_proto_depIdxs = []int32{ 45, // 0: cloudmind.core_api.GetCommentResp.author:type_name -> cloudmind.core_api.SimpleUser 46, // 1: cloudmind.core_api.GetCommentResp.commentRelation:type_name -> cloudmind.core_api.CommentRelation - 6, // 2: cloudmind.core_api.GetCommentsResp.commentList:type_name -> cloudmind.core_api.CommentList - 47, // 3: cloudmind.core_api.CommentList.rootComment:type_name -> cloudmind.core_api.Comment - 7, // 4: cloudmind.core_api.CommentList.replyList:type_name -> cloudmind.core_api.ReplyList - 47, // 5: cloudmind.core_api.ReplyList.comments:type_name -> cloudmind.core_api.Comment - 48, // 6: cloudmind.core_api.UpdateCommentReq.state:type_name -> cloudmind.core_api.State - 49, // 7: cloudmind.core_api.SetCommentAttrsReq.attrs:type_name -> cloudmind.core_api.Attrs - 48, // 8: cloudmind.core_api.UpdateCommentSubjectReq.state:type_name -> cloudmind.core_api.State - 49, // 9: cloudmind.core_api.UpdateCommentSubjectReq.attrs:type_name -> cloudmind.core_api.Attrs - 50, // 10: cloudmind.core_api.GetLabelsResp.labels:type_name -> cloudmind.core_api.Label - 51, // 11: cloudmind.core_api.Relation.fromType:type_name -> cloudmind.core_api.TargetType - 51, // 12: cloudmind.core_api.Relation.toType:type_name -> cloudmind.core_api.TargetType - 52, // 13: cloudmind.core_api.Relation.relationType:type_name -> cloudmind.core_api.RelationType - 51, // 14: cloudmind.core_api.CreateRelationReq.toType:type_name -> cloudmind.core_api.TargetType - 52, // 15: cloudmind.core_api.CreateRelationReq.relationType:type_name -> cloudmind.core_api.RelationType - 51, // 16: cloudmind.core_api.GetFromRelationsReq.toType:type_name -> cloudmind.core_api.TargetType - 53, // 17: cloudmind.core_api.GetFromRelationsResp.users:type_name -> cloudmind.core_api.User - 54, // 18: cloudmind.core_api.GetFromRelationsResp.files:type_name -> cloudmind.core_api.PublicFile - 55, // 19: cloudmind.core_api.GetFromRelationsResp.posts:type_name -> cloudmind.core_api.Post - 51, // 20: cloudmind.core_api.GetToRelationsReq.fromType:type_name -> cloudmind.core_api.TargetType - 53, // 21: cloudmind.core_api.GetToRelationsResp.users:type_name -> cloudmind.core_api.User - 52, // 22: cloudmind.core_api.GetRelationPathsReq.relationType:type_name -> cloudmind.core_api.RelationType - 53, // 23: cloudmind.core_api.GetRelationPathsResp.users:type_name -> cloudmind.core_api.User - 54, // 24: cloudmind.core_api.GetRelationPathsResp.files:type_name -> cloudmind.core_api.PublicFile - 55, // 25: cloudmind.core_api.GetRelationPathsResp.posts:type_name -> cloudmind.core_api.Post - 26, // [26:26] is the sub-list for method output_type - 26, // [26:26] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name + 47, // 2: cloudmind.core_api.GetCommentsResp.comments:type_name -> cloudmind.core_api.Comment + 48, // 3: cloudmind.core_api.GetCommentBlocksResp.commentBlocks:type_name -> cloudmind.core_api.CommentBlock + 49, // 4: cloudmind.core_api.UpdateCommentReq.state:type_name -> cloudmind.core_api.State + 50, // 5: cloudmind.core_api.SetCommentAttrsReq.attrs:type_name -> cloudmind.core_api.Attrs + 49, // 6: cloudmind.core_api.UpdateCommentSubjectReq.state:type_name -> cloudmind.core_api.State + 50, // 7: cloudmind.core_api.UpdateCommentSubjectReq.attrs:type_name -> cloudmind.core_api.Attrs + 51, // 8: cloudmind.core_api.GetLabelsResp.labels:type_name -> cloudmind.core_api.Label + 52, // 9: cloudmind.core_api.Relation.fromType:type_name -> cloudmind.core_api.TargetType + 52, // 10: cloudmind.core_api.Relation.toType:type_name -> cloudmind.core_api.TargetType + 53, // 11: cloudmind.core_api.Relation.relationType:type_name -> cloudmind.core_api.RelationType + 52, // 12: cloudmind.core_api.CreateRelationReq.toType:type_name -> cloudmind.core_api.TargetType + 53, // 13: cloudmind.core_api.CreateRelationReq.relationType:type_name -> cloudmind.core_api.RelationType + 52, // 14: cloudmind.core_api.GetFromRelationsReq.toType:type_name -> cloudmind.core_api.TargetType + 54, // 15: cloudmind.core_api.GetFromRelationsResp.users:type_name -> cloudmind.core_api.User + 55, // 16: cloudmind.core_api.GetFromRelationsResp.files:type_name -> cloudmind.core_api.PublicFile + 56, // 17: cloudmind.core_api.GetFromRelationsResp.posts:type_name -> cloudmind.core_api.Post + 52, // 18: cloudmind.core_api.GetToRelationsReq.fromType:type_name -> cloudmind.core_api.TargetType + 54, // 19: cloudmind.core_api.GetToRelationsResp.users:type_name -> cloudmind.core_api.User + 53, // 20: cloudmind.core_api.GetRelationPathsReq.relationType:type_name -> cloudmind.core_api.RelationType + 54, // 21: cloudmind.core_api.GetRelationPathsResp.users:type_name -> cloudmind.core_api.User + 55, // 22: cloudmind.core_api.GetRelationPathsResp.files:type_name -> cloudmind.core_api.PublicFile + 56, // 23: cloudmind.core_api.GetRelationPathsResp.posts:type_name -> cloudmind.core_api.Post + 24, // [24:24] is the sub-list for method output_type + 24, // [24:24] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name } @@ -3273,7 +3312,7 @@ func file_cloudmind_core_api_platform_proto_init() { } } file_cloudmind_core_api_platform_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommentList); i { + switch v := v.(*GetCommentBlocksReq); i { case 0: return &v.state case 1: @@ -3285,7 +3324,7 @@ func file_cloudmind_core_api_platform_proto_init() { } } file_cloudmind_core_api_platform_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplyList); i { + switch v := v.(*GetCommentBlocksResp); i { case 0: return &v.state case 1: @@ -3742,6 +3781,7 @@ func file_cloudmind_core_api_platform_proto_init() { } } file_cloudmind_core_api_platform_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_cloudmind_core_api_platform_proto_msgTypes[6].OneofWrappers = []interface{}{} file_cloudmind_core_api_platform_proto_msgTypes[28].OneofWrappers = []interface{}{} file_cloudmind_core_api_platform_proto_msgTypes[35].OneofWrappers = []interface{}{} file_cloudmind_core_api_platform_proto_msgTypes[37].OneofWrappers = []interface{}{} diff --git a/biz/application/dto/platform/common.pb.go b/biz/application/dto/platform/common.pb.go index b70946a..d03e28e 100644 --- a/biz/application/dto/platform/common.pb.go +++ b/biz/application/dto/platform/common.pb.go @@ -267,25 +267,139 @@ func (x *Comment) GetCreateTime() int64 { return 0 } +type CommentBlock struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RootComment *Comment `protobuf:"bytes,1,opt,name=rootComment,proto3" json:"rootComment" form:"rootComment" query:"rootComment"` + ReplyList *ReplyList `protobuf:"bytes,2,opt,name=replyList,proto3" json:"replyList" form:"replyList" query:"replyList"` +} + +func (x *CommentBlock) Reset() { + *x = CommentBlock{} + if protoimpl.UnsafeEnabled { + mi := &file_platform_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommentBlock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommentBlock) ProtoMessage() {} + +func (x *CommentBlock) ProtoReflect() protoreflect.Message { + mi := &file_platform_common_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommentBlock.ProtoReflect.Descriptor instead. +func (*CommentBlock) Descriptor() ([]byte, []int) { + return file_platform_common_proto_rawDescGZIP(), []int{1} +} + +func (x *CommentBlock) GetRootComment() *Comment { + if x != nil { + return x.RootComment + } + return nil +} + +func (x *CommentBlock) GetReplyList() *ReplyList { + if x != nil { + return x.ReplyList + } + return nil +} + +type ReplyList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Comments []*Comment `protobuf:"bytes,1,rep,name=comments,proto3" json:"comments" form:"comments" query:"comments"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total" form:"total" query:"total"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token" form:"token" query:"token"` +} + +func (x *ReplyList) Reset() { + *x = ReplyList{} + if protoimpl.UnsafeEnabled { + mi := &file_platform_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplyList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplyList) ProtoMessage() {} + +func (x *ReplyList) ProtoReflect() protoreflect.Message { + mi := &file_platform_common_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplyList.ProtoReflect.Descriptor instead. +func (*ReplyList) Descriptor() ([]byte, []int) { + return file_platform_common_proto_rawDescGZIP(), []int{2} +} + +func (x *ReplyList) GetComments() []*Comment { + if x != nil { + return x.Comments + } + return nil +} + +func (x *ReplyList) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *ReplyList) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + type CommentFilterOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OnlyUserId *string `protobuf:"bytes,1,opt,name=onlyUserId,proto3,oneof" json:"onlyUserId" form:"onlyUserId" query:"onlyUserId"` - OnlyAtUserId *string `protobuf:"bytes,2,opt,name=onlyAtUserId,proto3,oneof" json:"onlyAtUserId" form:"onlyAtUserId" query:"onlyAtUserId"` - OnlySubjectId *string `protobuf:"bytes,3,opt,name=onlySubjectId,proto3,oneof" json:"onlySubjectId" form:"onlySubjectId" query:"onlySubjectId"` - OnlyRootId *string `protobuf:"bytes,4,opt,name=onlyRootId,proto3,oneof" json:"onlyRootId" form:"onlyRootId" query:"onlyRootId"` - OnlyFatherId *string `protobuf:"bytes,5,opt,name=onlyFatherId,proto3,oneof" json:"onlyFatherId" form:"onlyFatherId" query:"onlyFatherId"` - OnlyState *int64 `protobuf:"varint,6,opt,name=onlyState,proto3,oneof" json:"onlyState" form:"onlyState" query:"onlyState"` - OnlyAttrs *int64 `protobuf:"varint,7,opt,name=onlyAttrs,proto3,oneof" json:"onlyAttrs" form:"onlyAttrs" query:"onlyAttrs"` - OnlyCommentIds []string `protobuf:"bytes,8,rep,name=onlyCommentIds,proto3" json:"onlyCommentIds" form:"onlyCommentIds" query:"onlyCommentIds"` + OnlyUserId *string `protobuf:"bytes,1,opt,name=onlyUserId,proto3,oneof" json:"onlyUserId" form:"onlyUserId" query:"onlyUserId"` + OnlyAtUserId *string `protobuf:"bytes,2,opt,name=onlyAtUserId,proto3,oneof" json:"onlyAtUserId" form:"onlyAtUserId" query:"onlyAtUserId"` + OnlyState *int64 `protobuf:"varint,3,opt,name=onlyState,proto3,oneof" json:"onlyState" form:"onlyState" query:"onlyState"` + OnlyAttrs *int64 `protobuf:"varint,4,opt,name=onlyAttrs,proto3,oneof" json:"onlyAttrs" form:"onlyAttrs" query:"onlyAttrs"` } func (x *CommentFilterOptions) Reset() { *x = CommentFilterOptions{} if protoimpl.UnsafeEnabled { - mi := &file_platform_common_proto_msgTypes[1] + mi := &file_platform_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -298,7 +412,7 @@ func (x *CommentFilterOptions) String() string { func (*CommentFilterOptions) ProtoMessage() {} func (x *CommentFilterOptions) ProtoReflect() protoreflect.Message { - mi := &file_platform_common_proto_msgTypes[1] + mi := &file_platform_common_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -311,7 +425,7 @@ func (x *CommentFilterOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use CommentFilterOptions.ProtoReflect.Descriptor instead. func (*CommentFilterOptions) Descriptor() ([]byte, []int) { - return file_platform_common_proto_rawDescGZIP(), []int{1} + return file_platform_common_proto_rawDescGZIP(), []int{3} } func (x *CommentFilterOptions) GetOnlyUserId() string { @@ -328,27 +442,6 @@ func (x *CommentFilterOptions) GetOnlyAtUserId() string { return "" } -func (x *CommentFilterOptions) GetOnlySubjectId() string { - if x != nil && x.OnlySubjectId != nil { - return *x.OnlySubjectId - } - return "" -} - -func (x *CommentFilterOptions) GetOnlyRootId() string { - if x != nil && x.OnlyRootId != nil { - return *x.OnlyRootId - } - return "" -} - -func (x *CommentFilterOptions) GetOnlyFatherId() string { - if x != nil && x.OnlyFatherId != nil { - return *x.OnlyFatherId - } - return "" -} - func (x *CommentFilterOptions) GetOnlyState() int64 { if x != nil && x.OnlyState != nil { return *x.OnlyState @@ -363,13 +456,6 @@ func (x *CommentFilterOptions) GetOnlyAttrs() int64 { return 0 } -func (x *CommentFilterOptions) GetOnlyCommentIds() []string { - if x != nil { - return x.OnlyCommentIds - } - return nil -} - type LabelFilterOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -379,7 +465,7 @@ type LabelFilterOptions struct { func (x *LabelFilterOptions) Reset() { *x = LabelFilterOptions{} if protoimpl.UnsafeEnabled { - mi := &file_platform_common_proto_msgTypes[2] + mi := &file_platform_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -392,7 +478,7 @@ func (x *LabelFilterOptions) String() string { func (*LabelFilterOptions) ProtoMessage() {} func (x *LabelFilterOptions) ProtoReflect() protoreflect.Message { - mi := &file_platform_common_proto_msgTypes[2] + mi := &file_platform_common_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -405,7 +491,7 @@ func (x *LabelFilterOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use LabelFilterOptions.ProtoReflect.Descriptor instead. func (*LabelFilterOptions) Descriptor() ([]byte, []int) { - return file_platform_common_proto_rawDescGZIP(), []int{2} + return file_platform_common_proto_rawDescGZIP(), []int{4} } type Subject struct { @@ -425,7 +511,7 @@ type Subject struct { func (x *Subject) Reset() { *x = Subject{} if protoimpl.UnsafeEnabled { - mi := &file_platform_common_proto_msgTypes[3] + mi := &file_platform_common_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -438,7 +524,7 @@ func (x *Subject) String() string { func (*Subject) ProtoMessage() {} func (x *Subject) ProtoReflect() protoreflect.Message { - mi := &file_platform_common_proto_msgTypes[3] + mi := &file_platform_common_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -451,7 +537,7 @@ func (x *Subject) ProtoReflect() protoreflect.Message { // Deprecated: Use Subject.ProtoReflect.Descriptor instead. func (*Subject) Descriptor() ([]byte, []int) { - return file_platform_common_proto_rawDescGZIP(), []int{3} + return file_platform_common_proto_rawDescGZIP(), []int{5} } func (x *Subject) GetSubjectId() string { @@ -516,7 +602,7 @@ type Label struct { func (x *Label) Reset() { *x = Label{} if protoimpl.UnsafeEnabled { - mi := &file_platform_common_proto_msgTypes[4] + mi := &file_platform_common_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -529,7 +615,7 @@ func (x *Label) String() string { func (*Label) ProtoMessage() {} func (x *Label) ProtoReflect() protoreflect.Message { - mi := &file_platform_common_proto_msgTypes[4] + mi := &file_platform_common_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -542,7 +628,7 @@ func (x *Label) ProtoReflect() protoreflect.Message { // Deprecated: Use Label.ProtoReflect.Descriptor instead. func (*Label) Descriptor() ([]byte, []int) { - return file_platform_common_proto_rawDescGZIP(), []int{4} + return file_platform_common_proto_rawDescGZIP(), []int{6} } func (x *Label) GetLabelId() string { @@ -582,7 +668,7 @@ type Relation struct { func (x *Relation) Reset() { *x = Relation{} if protoimpl.UnsafeEnabled { - mi := &file_platform_common_proto_msgTypes[5] + mi := &file_platform_common_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -595,7 +681,7 @@ func (x *Relation) String() string { func (*Relation) ProtoMessage() {} func (x *Relation) ProtoReflect() protoreflect.Message { - mi := &file_platform_common_proto_msgTypes[5] + mi := &file_platform_common_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -608,7 +694,7 @@ func (x *Relation) ProtoReflect() protoreflect.Message { // Deprecated: Use Relation.ProtoReflect.Descriptor instead. func (*Relation) Descriptor() ([]byte, []int) { - return file_platform_common_proto_rawDescGZIP(), []int{5} + return file_platform_common_proto_rawDescGZIP(), []int{7} } func (x *Relation) GetFromType() int64 { @@ -679,79 +765,80 @@ var file_platform_common_proto_rawDesc = []byte{ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb9, 0x03, 0x0a, 0x14, 0x43, 0x6f, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x76, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, + 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x66, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, + 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xe6, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x6e, 0x6c, 0x79, 0x53, - 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x6f, - 0x6e, 0x6c, 0x79, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x46, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0c, 0x6f, 0x6e, 0x6c, 0x79, 0x46, 0x61, - 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, - 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x09, - 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, - 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, - 0x06, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x0e, 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6e, 0x6c, 0x79, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x41, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x46, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x41, 0x74, 0x74, 0x72, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x07, - 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, - 0x0c, 0x54, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x54, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x53, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, - 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, - 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xae, 0x01, 0x0a, - 0x08, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, - 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x72, 0x6f, - 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, - 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x5a, 0x0a, - 0x05, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, - 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0f, - 0x0a, 0x0b, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x10, 0x03, 0x12, - 0x18, 0x0a, 0x14, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x48, 0x69, 0x67, 0x68, - 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x10, 0x04, 0x2a, 0x31, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x01, - 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x10, 0x02, 0x42, 0x49, 0x5a, 0x47, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x53, 0x74, 0x72, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, + 0x74, 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x41, 0x74, 0x74, + 0x72, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x07, 0x53, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, + 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x54, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, + 0x74, 0x74, 0x72, 0x73, 0x22, 0x53, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, + 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x08, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x5a, 0x0a, 0x05, 0x41, 0x74, + 0x74, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, + 0x74, 0x72, 0x73, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x01, 0x12, + 0x0a, 0x0a, 0x06, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x48, + 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, + 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x65, 0x64, 0x10, 0x04, 0x2a, 0x31, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x10, 0x0a, 0x0c, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x10, 0x02, 0x42, 0x49, 0x5a, 0x47, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2d, 0x63, + 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -767,23 +854,28 @@ func file_platform_common_proto_rawDescGZIP() []byte { } var file_platform_common_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_platform_common_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_platform_common_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_platform_common_proto_goTypes = []interface{}{ (Attrs)(0), // 0: platform.Attrs (State)(0), // 1: platform.State (*Comment)(nil), // 2: platform.Comment - (*CommentFilterOptions)(nil), // 3: platform.CommentFilterOptions - (*LabelFilterOptions)(nil), // 4: platform.LabelFilterOptions - (*Subject)(nil), // 5: platform.Subject - (*Label)(nil), // 6: platform.Label - (*Relation)(nil), // 7: platform.Relation + (*CommentBlock)(nil), // 3: platform.CommentBlock + (*ReplyList)(nil), // 4: platform.ReplyList + (*CommentFilterOptions)(nil), // 5: platform.CommentFilterOptions + (*LabelFilterOptions)(nil), // 6: platform.LabelFilterOptions + (*Subject)(nil), // 7: platform.Subject + (*Label)(nil), // 8: platform.Label + (*Relation)(nil), // 9: platform.Relation } var file_platform_common_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 2, // 0: platform.CommentBlock.rootComment:type_name -> platform.Comment + 4, // 1: platform.CommentBlock.replyList:type_name -> platform.ReplyList + 2, // 2: platform.ReplyList.comments:type_name -> platform.Comment + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } @@ -805,7 +897,7 @@ func file_platform_common_proto_init() { } } file_platform_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommentFilterOptions); i { + switch v := v.(*CommentBlock); i { case 0: return &v.state case 1: @@ -817,7 +909,7 @@ func file_platform_common_proto_init() { } } file_platform_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LabelFilterOptions); i { + switch v := v.(*ReplyList); i { case 0: return &v.state case 1: @@ -829,7 +921,7 @@ func file_platform_common_proto_init() { } } file_platform_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Subject); i { + switch v := v.(*CommentFilterOptions); i { case 0: return &v.state case 1: @@ -841,7 +933,7 @@ func file_platform_common_proto_init() { } } file_platform_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Label); i { + switch v := v.(*LabelFilterOptions); i { case 0: return &v.state case 1: @@ -853,6 +945,30 @@ func file_platform_common_proto_init() { } } file_platform_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Subject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_platform_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Label); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_platform_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Relation); i { case 0: return &v.state @@ -865,14 +981,14 @@ func file_platform_common_proto_init() { } } } - file_platform_common_proto_msgTypes[1].OneofWrappers = []interface{}{} + file_platform_common_proto_msgTypes[3].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_platform_common_proto_rawDesc, NumEnums: 2, - NumMessages: 6, + NumMessages: 8, NumExtensions: 0, NumServices: 0, }, diff --git a/biz/application/service/comment.go b/biz/application/service/comment.go index 7c4a8e4..8df50e9 100644 --- a/biz/application/service/comment.go +++ b/biz/application/service/comment.go @@ -7,15 +7,18 @@ import ( "github.com/CloudStriver/cloudmind-core-api/biz/domain/service" "github.com/CloudStriver/cloudmind-core-api/biz/infrastructure/config" "github.com/CloudStriver/cloudmind-core-api/biz/infrastructure/consts" + "github.com/CloudStriver/cloudmind-core-api/biz/infrastructure/convertor" platformservice "github.com/CloudStriver/cloudmind-core-api/biz/infrastructure/rpc/platform" "github.com/CloudStriver/service-idl-gen-go/kitex_gen/platform" "github.com/google/wire" + "github.com/samber/lo" "github.com/zeromicro/go-zero/core/mr" ) type ICommentService interface { GetComment(ctx context.Context, req *core_api.GetCommentReq) (resp *core_api.GetCommentResp, err error) GetComments(ctx context.Context, req *core_api.GetCommentsReq) (resp *core_api.GetCommentsResp, err error) + GetCommentBlocks(ctx context.Context, req *core_api.GetCommentBlocksReq) (resp *core_api.GetCommentBlocksResp, err error) CreateComment(ctx context.Context, req *core_api.CreateCommentReq) (resp *core_api.CreateCommentResp, err error) UpdateComment(ctx context.Context, req *core_api.UpdateCommentReq) (resp *core_api.UpdateCommentResp, err error) DeleteComment(ctx context.Context, req *core_api.DeleteCommentReq) (resp *core_api.DeleteCommentResp, err error) @@ -81,44 +84,107 @@ func (s *CommentService) GetComment(ctx context.Context, req *core_api.GetCommen func (s *CommentService) GetComments(ctx context.Context, req *core_api.GetCommentsReq) (resp *core_api.GetCommentsResp, err error) { resp = new(core_api.GetCommentsResp) - //var res *platform.GetCommentListResp - //p := convertor.MakePaginationOptions(req.Limit, req.Offset, req.LastToken, req.Backward) - //if res, err = s.Platform.GetCommentList(ctx, &platform.GetCommentListReq{ - // FilterOptions: &platform.CommentFilterOptions{ - // OnlyUserId: req.OnlyUserId, - // OnlyAtUserId: req.OnlyAtUserId, - // OnlySubjectId: req.OnlySubjectId, - // OnlyRootId: req.OnlyRootId, - // OnlyFatherId: req.OnlyFatherId, - // OnlyState: req.OnlyState, - // OnlyAttrs: req.OnlyAttrs, - // }, - // Pagination: p, - //}); err != nil { - // return resp, err - //} - //resp.CommentId = lo.Map(res.Comments, func(item *platform.Comment, _ int) *core_api.Comment { - // c := convertor.CommentToCoreComment(item) - // _ = mr.Finish(func() error { - // s.CommentDomainService.LoadLikeCount(ctx, &c.Like, c.Id) // 点赞量 - // return nil - // }, func() error { - // s.CommentDomainService.LoadAuthor(ctx, c.Author, c.UserId) // 作者 - // return nil - // }, func() error { - // s.CommentDomainService.LoadLiked(ctx, c.CommentRelation, c.Id, c.UserId) // 是否点赞 - // return nil - // }, func() error { - // s.CommentDomainService.LoadHated(ctx, c.CommentRelation, c.Id, c.UserId) // 是否点踩 - // return nil - // }, func() error { - // s.CommentDomainService.LoadLabels(ctx, &c.Labels, item.Labels) // 标签集 - // return nil - // }) - // return c - //}) - //resp.Token = res.Token - //resp.Total = res.Total + var res *platform.GetCommentListResp + p := convertor.MakePaginationOptions(req.Limit, req.Offset, req.LastToken, req.Backward) + if res, err = s.Platform.GetCommentList(ctx, &platform.GetCommentListReq{ + FilterOptions: &platform.CommentFilterOptions{ + OnlyUserId: req.OnlyUserId, + OnlyAtUserId: req.OnlyAtUserId, + OnlyState: req.OnlyState, + OnlyAttrs: req.OnlyAttrs, + }, + Pagination: p, + }); err != nil { + return resp, err + } + resp.Comments = lo.Map(res.Comments, func(item *platform.Comment, _ int) *core_api.Comment { + c := convertor.CommentToCoreComment(item) + _ = mr.Finish(func() error { + s.CommentDomainService.LoadLikeCount(ctx, &c.Like, c.CommentId) // 点赞量 + return nil + }, func() error { + s.CommentDomainService.LoadAuthor(ctx, c.Author, item.UserId) // 作者 + return nil + }, func() error { + s.CommentDomainService.LoadLiked(ctx, c.CommentRelation, c.CommentId, item.UserId) // 是否点赞 + return nil + }, func() error { + s.CommentDomainService.LoadHated(ctx, c.CommentRelation, c.CommentId, item.UserId) // 是否点踩 + return nil + }, func() error { + s.CommentDomainService.LoadLabels(ctx, &c.Labels, item.Labels) // 标签集 + return nil + }) + return c + }) + resp.Token = res.Token + resp.Total = res.Total + return resp, nil +} + +func (s *CommentService) GetCommentBlocks(ctx context.Context, req *core_api.GetCommentBlocksReq) (resp *core_api.GetCommentBlocksResp, err error) { + resp = new(core_api.GetCommentBlocksResp) + var res *platform.GetCommentBlocksResp + p := convertor.MakePaginationOptions(req.Limit, req.Offset, req.LastToken, req.Backward) + if res, err = s.Platform.GetCommentBlocks(ctx, &platform.GetCommentBlocksReq{ + SubjectId: req.SubjectId, + FatherId: req.FatherId, + Pagination: p, + }); err != nil { + return resp, err + } + + resp.CommentBlocks = lo.Map(res.CommentBlocks, func(item *platform.CommentBlock, _ int) *core_api.CommentBlock { + rootComment := convertor.CommentToCoreComment(item.RootComment) + _ = mr.Finish(func() error { + s.CommentDomainService.LoadLikeCount(ctx, &rootComment.Like, rootComment.CommentId) // 点赞量 + return nil + }, func() error { + s.CommentDomainService.LoadAuthor(ctx, rootComment.Author, item.RootComment.UserId) // 作者 + return nil + }, func() error { + s.CommentDomainService.LoadLiked(ctx, rootComment.CommentRelation, rootComment.CommentId, item.RootComment.UserId) // 是否点赞 + return nil + }, func() error { + s.CommentDomainService.LoadHated(ctx, rootComment.CommentRelation, rootComment.CommentId, item.RootComment.UserId) // 是否点踩 + return nil + }, func() error { + s.CommentDomainService.LoadLabels(ctx, &rootComment.Labels, item.RootComment.Labels) // 标签集 + return nil + }) + + comments := lo.Map(item.ReplyList.Comments, func(comment *platform.Comment, _ int) *core_api.Comment { + c := convertor.CommentToCoreComment(comment) + _ = mr.Finish(func() error { + s.CommentDomainService.LoadLikeCount(ctx, &c.Like, c.CommentId) // 点赞量 + return nil + }, func() error { + s.CommentDomainService.LoadAuthor(ctx, c.Author, comment.UserId) // 作者 + return nil + }, func() error { + s.CommentDomainService.LoadLiked(ctx, c.CommentRelation, c.CommentId, comment.UserId) // 是否点赞 + return nil + }, func() error { + s.CommentDomainService.LoadHated(ctx, c.CommentRelation, c.CommentId, comment.UserId) // 是否点踩 + return nil + }, func() error { + s.CommentDomainService.LoadLabels(ctx, &c.Labels, comment.Labels) // 标签集 + return nil + }) + return c + }) + + return &core_api.CommentBlock{ + RootComment: rootComment, + ReplyList: &core_api.ReplyList{ + Comments: comments, + Total: item.ReplyList.Total, + Token: item.ReplyList.Token, + }, + } + }) + resp.Token = res.Token + resp.Total = res.Total return resp, nil } diff --git a/biz/domain/service/relation.go b/biz/domain/service/relation.go index e859993..31b0e89 100644 --- a/biz/domain/service/relation.go +++ b/biz/domain/service/relation.go @@ -11,7 +11,6 @@ import ( platformservice "github.com/CloudStriver/cloudmind-core-api/biz/infrastructure/rpc/platform" "github.com/CloudStriver/cloudmind-mq/app/util/message" "github.com/CloudStriver/go-pkg/utils/pconvertor" - "github.com/CloudStriver/service-idl-gen-go/kitex_gen/basic" "github.com/CloudStriver/service-idl-gen-go/kitex_gen/cloudmind/content" "github.com/CloudStriver/service-idl-gen-go/kitex_gen/platform" "github.com/bytedance/sonic" @@ -107,18 +106,11 @@ func (s *RelationDomainService) GetPostByRelations(ctx context.Context, relation } return nil }, func() error { - getCommentListResp, err2 := s.Platform.GetCommentList(ctx, &platform.GetCommentListReq{ - FilterOptions: &platform.CommentFilterOptions{ - OnlySubjectId: lo.ToPtr(relation.ToId), - }, - Pagination: &basic.PaginationOptions{ - Limit: lo.ToPtr(int64(1)), - }, - }) + getCommentSubjectResp, err2 := s.Platform.GetCommentSubject(ctx, &platform.GetCommentSubjectReq{SubjectId: relation.ToId}) if err2 != nil { return err2 } - posts[i].CommentCount = getCommentListResp.Total + posts[i].CommentCount = getCommentSubjectResp.AllCount return nil }, func() error { posts[i].ViewCount, _ = s.Redis.PfcountCtx(ctx, fmt.Sprintf("%s:%s", consts.ViewCountKey, relation.ToId)) diff --git a/biz/infrastructure/convertor/convertor.go b/biz/infrastructure/convertor/convertor.go index 06106bf..026ff79 100644 --- a/biz/infrastructure/convertor/convertor.go +++ b/biz/infrastructure/convertor/convertor.go @@ -45,14 +45,13 @@ func FileToCorePrivateFile(req *content.File) *core_api.PrivateFile { func CommentToCoreComment(req *platform.Comment) *core_api.Comment { return &core_api.Comment{ - Id: req.CommentId, + CommentId: req.CommentId, SubjectId: req.SubjectId, RootId: req.RootId, FatherId: req.FatherId, Count: req.Count, State: req.State, Attrs: req.Attrs, - UserId: req.UserId, AtUserId: req.AtUserId, Content: req.Content, Meta: req.Meta, diff --git a/go.mod b/go.mod index 75fb7cb..f6d67c5 100755 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.20 require ( github.com/CloudStriver/cloudmind-mq v1.0.12-0.20240406143558-b7090c0fbb80 github.com/CloudStriver/go-pkg v0.0.0-20240329084540-20ca37a52fea - github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412035535-b11df688dcda + github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412074550-8ac73424809b github.com/bytedance/sonic v1.10.2 github.com/cloudwego/hertz v0.7.3 github.com/golang-jwt/jwt/v4 v4.5.0 diff --git a/go.sum b/go.sum index 4d27b50..0d37c5b 100644 --- a/go.sum +++ b/go.sum @@ -391,6 +391,8 @@ github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412033032-028d45340c2f h1 github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412033032-028d45340c2f/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI= github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412035535-b11df688dcda h1:iHiWtcp1r3bOilaaK2rbARfxPtujVWcDo+UHdkpWB3Q= github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412035535-b11df688dcda/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI= +github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412074550-8ac73424809b h1:Y8o2rWmP7zjCkkn1gDLjBGYmIoH1QwpTiNLycriGwvM= +github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412074550-8ac73424809b/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= From ab1753c8691078791a4ff70acaca00a8d73b3d24 Mon Sep 17 00:00:00 2001 From: rita <97798661+Love-YeLin@users.noreply.github.com> Date: Sat, 13 Apr 2024 16:58:25 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Fix/=E4=BF=AE=E6=94=B9relation=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=20(#121)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/cloudmind/core_api/platform.pb.go | 520 +++++++++--------- biz/application/service/comment.go | 2 +- go.mod | 2 +- go.sum | 4 + 4 files changed, 266 insertions(+), 262 deletions(-) diff --git a/biz/application/dto/cloudmind/core_api/platform.pb.go b/biz/application/dto/cloudmind/core_api/platform.pb.go index b3251ea..89d3f3c 100644 --- a/biz/application/dto/cloudmind/core_api/platform.pb.go +++ b/biz/application/dto/cloudmind/core_api/platform.pb.go @@ -567,7 +567,7 @@ type GetCommentBlocksReq struct { unknownFields protoimpl.UnknownFields SubjectId string `protobuf:"bytes,1,opt,name=subjectId,proto3" json:"subjectId" form:"subjectId" query:"subjectId"` - FatherId string `protobuf:"bytes,2,opt,name=fatherId,proto3" json:"fatherId" form:"fatherId" query:"fatherId"` + RootId string `protobuf:"bytes,2,opt,name=rootId,proto3" json:"rootId" form:"rootId" query:"rootId"` Limit *int64 `protobuf:"varint,3,opt,name=limit,proto3,oneof" json:"limit" form:"limit" query:"limit"` LastToken *string `protobuf:"bytes,4,opt,name=lastToken,proto3,oneof" json:"lastToken" form:"lastToken" query:"lastToken"` Backward *bool `protobuf:"varint,5,opt,name=backward,proto3,oneof" json:"backward" form:"backward" query:"backward"` @@ -613,9 +613,9 @@ func (x *GetCommentBlocksReq) GetSubjectId() string { return "" } -func (x *GetCommentBlocksReq) GetFatherId() string { +func (x *GetCommentBlocksReq) GetRootId() string { if x != nil { - return x.FatherId + return x.RootId } return "" } @@ -2857,275 +2857,275 @@ var file_cloudmind_core_api_platform_proto_rawDesc = []byte{ 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfb, 0x01, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf7, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x61, - 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, - 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x02, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0d, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7d, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x73, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x61, 0x63, + 0x6b, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x08, 0x62, + 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x06, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x46, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7d, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x49, 0x64, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x30, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x30, 0x0a, 0x10, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x13, - 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x55, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x74, 0x74, - 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x74, - 0x74, 0x72, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x34, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, - 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x70, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, - 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, - 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, - 0x74, 0x72, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, - 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, - 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x37, 0x0a, 0x17, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x42, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, - 0x64, 0x22, 0x2a, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x11, 0x0a, - 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x27, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, + 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x55, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, + 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x34, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x70, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x6f, 0x6f, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, + 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x74, + 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, + 0x99, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x74, + 0x74, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x41, + 0x74, 0x74, 0x72, 0x73, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x37, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x0e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x2b, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x2a, 0x0a, + 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x24, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, - 0x5c, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x11, 0x0a, - 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x87, 0x02, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, - 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, - 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x61, 0x73, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, - 0x72, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x0d, 0x47, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x27, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, - 0x69, 0x64, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x3a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, - 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x6f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, - 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, - 0x12, 0x4c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x27, 0x0a, 0x0b, + 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x24, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x5c, 0x0a, 0x0e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, + 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x87, 0x02, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x61, + 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x27, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, + 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, + 0x2e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, + 0xf0, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x08, + 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, + 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, + 0x12, 0x36, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, - 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5b, - 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, - 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x22, 0xb5, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, - 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, - 0x64, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, - 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, - 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, - 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0c, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x06, + 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x14, 0xda, 0xbb, + 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, + 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5b, 0x0a, 0x0c, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, + 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xb5, 0x02, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, + 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, + 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x4c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, + 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, + 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, + 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, + 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, + 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x34, + 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, + 0x6f, 0x73, 0x74, 0x73, 0x22, 0xa5, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x06, 0x74, 0x6f, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, + 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, + 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x08, + 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, + 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, + 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, + 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x44, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x46, 0x69, 0x6c, - 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, - 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22, 0xa5, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2c, - 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, - 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, - 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x6f, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, - 0x12, 0x46, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x42, 0x0a, 0xda, 0xbb, 0x18, 0x06, 0x24, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x52, 0x08, - 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, - 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, - 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x22, 0x44, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, - 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, - 0x64, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x72, 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, + 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, + 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x6f, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, - 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, - 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, - 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, - 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, - 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x02, 0x6f, 0x6b, 0x22, 0x90, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x2c, 0x0a, - 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, - 0xbb, 0x18, 0x10, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, - 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, - 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xbf, 0x01, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x5b, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x15, 0xda, 0xbb, - 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, - 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xac, - 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, - 0x74, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, - 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x53, 0x5a, - 0x51, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x53, 0x74, 0x72, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x69, 0x7a, 0x2f, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x74, 0x6f, 0x2f, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, + 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x21, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, + 0x90, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x74, 0x6f, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x14, 0xda, 0xbb, 0x18, 0x10, 0x24, + 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x52, + 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xda, + 0xbb, 0x18, 0x11, 0x24, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, + 0x3d, 0x20, 0x31, 0x30, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xbf, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, + 0x12, 0x5b, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x15, 0xda, 0xbb, 0x18, 0x11, 0x24, 0x20, + 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x24, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x30, 0x52, + 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, + 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x73, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, + 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x53, 0x5a, 0x51, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2d, 0x63, + 0x6f, 0x72, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x69, 0x7a, 0x2f, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/biz/application/service/comment.go b/biz/application/service/comment.go index 8df50e9..0d4da6a 100644 --- a/biz/application/service/comment.go +++ b/biz/application/service/comment.go @@ -128,7 +128,7 @@ func (s *CommentService) GetCommentBlocks(ctx context.Context, req *core_api.Get p := convertor.MakePaginationOptions(req.Limit, req.Offset, req.LastToken, req.Backward) if res, err = s.Platform.GetCommentBlocks(ctx, &platform.GetCommentBlocksReq{ SubjectId: req.SubjectId, - FatherId: req.FatherId, + RootId: req.FatherId, Pagination: p, }); err != nil { return resp, err diff --git a/go.mod b/go.mod index f6d67c5..36cad5d 100755 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.20 require ( github.com/CloudStriver/cloudmind-mq v1.0.12-0.20240406143558-b7090c0fbb80 github.com/CloudStriver/go-pkg v0.0.0-20240329084540-20ca37a52fea - github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412074550-8ac73424809b + github.com/CloudStriver/service-idl-gen-go v0.0.0-20240413084243-a8d7e75059be github.com/bytedance/sonic v1.10.2 github.com/cloudwego/hertz v0.7.3 github.com/golang-jwt/jwt/v4 v4.5.0 diff --git a/go.sum b/go.sum index 0d37c5b..9a54626 100644 --- a/go.sum +++ b/go.sum @@ -393,6 +393,10 @@ github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412035535-b11df688dcda h1 github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412035535-b11df688dcda/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI= github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412074550-8ac73424809b h1:Y8o2rWmP7zjCkkn1gDLjBGYmIoH1QwpTiNLycriGwvM= github.com/CloudStriver/service-idl-gen-go v0.0.0-20240412074550-8ac73424809b/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI= +github.com/CloudStriver/service-idl-gen-go v0.0.0-20240413082126-0c956fdadb0e h1:omzlXEIZrTLH+awCjmBpyn/Y0ZDa077zov9GQNBq8gA= +github.com/CloudStriver/service-idl-gen-go v0.0.0-20240413082126-0c956fdadb0e/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI= +github.com/CloudStriver/service-idl-gen-go v0.0.0-20240413084243-a8d7e75059be h1:HddeenNcxzNp1CCpxmFRxJlZjKEy8M//Clb7T38gef0= +github.com/CloudStriver/service-idl-gen-go v0.0.0-20240413084243-a8d7e75059be/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=