diff --git a/kitex_gen/cloudmind/content/content.pb.fast.go b/kitex_gen/cloudmind/content/content.pb.fast.go index 8e3703d..796b9ae 100644 --- a/kitex_gen/cloudmind/content/content.pb.fast.go +++ b/kitex_gen/cloudmind/content/content.pb.fast.go @@ -2544,6 +2544,46 @@ func (x *CreateProductReq) FastRead(buf []byte, _type int8, number int32) (offse if err != nil { goto ReadFieldError } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + case 4: + offset, err = x.fastReadField4(buf, _type) + if err != nil { + goto ReadFieldError + } + case 5: + offset, err = x.fastReadField5(buf, _type) + if err != nil { + goto ReadFieldError + } + case 6: + offset, err = x.fastReadField6(buf, _type) + if err != nil { + goto ReadFieldError + } + case 7: + offset, err = x.fastReadField7(buf, _type) + if err != nil { + goto ReadFieldError + } + case 8: + offset, err = x.fastReadField8(buf, _type) + if err != nil { + goto ReadFieldError + } + case 9: + offset, err = x.fastReadField9(buf, _type) + if err != nil { + goto ReadFieldError + } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -2558,17 +2598,67 @@ ReadFieldError: } func (x *CreateProductReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v Product - offset, err = fastpb.ReadMessage(buf, _type, &v) + x.UserId, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *CreateProductReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *CreateProductReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { + x.Description, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *CreateProductReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { + x.Status, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *CreateProductReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) if err != nil { return offset, err } - x.Product = &v - return offset, nil + x.Urls = append(x.Urls, v) + return offset, err +} + +func (x *CreateProductReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err + } + x.Tags = append(x.Tags, v) + return offset, err +} + +func (x *CreateProductReq) fastReadField7(buf []byte, _type int8) (offset int, err error) { + x.Type, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *CreateProductReq) fastReadField8(buf []byte, _type int8) (offset int, err error) { + x.Price, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *CreateProductReq) fastReadField9(buf []byte, _type int8) (offset int, err error) { + x.ProductSize, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err } func (x *CreateProductResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -2578,6 +2668,13 @@ func (x *CreateProductResp) FastRead(buf []byte, _type int8, number int32) (offs return offset, nil SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_CreateProductResp[number], err) +} + +func (x *CreateProductResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.ProductId, offset, err = fastpb.ReadString(buf, _type) + return offset, err } func (x *DeleteProductReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { @@ -2625,6 +2722,46 @@ func (x *UpdateProductReq) FastRead(buf []byte, _type int8, number int32) (offse if err != nil { goto ReadFieldError } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + case 4: + offset, err = x.fastReadField4(buf, _type) + if err != nil { + goto ReadFieldError + } + case 5: + offset, err = x.fastReadField5(buf, _type) + if err != nil { + goto ReadFieldError + } + case 6: + offset, err = x.fastReadField6(buf, _type) + if err != nil { + goto ReadFieldError + } + case 7: + offset, err = x.fastReadField7(buf, _type) + if err != nil { + goto ReadFieldError + } + case 8: + offset, err = x.fastReadField8(buf, _type) + if err != nil { + goto ReadFieldError + } + case 9: + offset, err = x.fastReadField9(buf, _type) + if err != nil { + goto ReadFieldError + } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -2639,13 +2776,58 @@ ReadFieldError: } func (x *UpdateProductReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v Product - offset, err = fastpb.ReadMessage(buf, _type, &v) + x.ProductId, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { + x.Description, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { + x.Status, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) if err != nil { return offset, err } - x.Product = &v - return offset, nil + x.Urls = append(x.Urls, v) + return offset, err +} + +func (x *UpdateProductReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err + } + x.Tags = append(x.Tags, v) + return offset, err +} + +func (x *UpdateProductReq) fastReadField7(buf []byte, _type int8) (offset int, err error) { + x.Type, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField8(buf []byte, _type int8) (offset int, err error) { + x.Price, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField9(buf []byte, _type int8) (offset int, err error) { + x.ProductSize, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err } func (x *UpdateProductResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { @@ -2682,13 +2864,8 @@ ReadFieldError: } func (x *GetProductReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v ProductFilterOptions - offset, err = fastpb.ReadMessage(buf, _type, &v) - if err != nil { - return offset, err - } - x.ProductFilterOptions = &v - return offset, nil + x.ProductId, offset, err = fastpb.ReadString(buf, _type) + return offset, err } func (x *GetProductResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { @@ -2698,6 +2875,56 @@ func (x *GetProductResp) FastRead(buf []byte, _type int8, number int32) (offset if err != nil { goto ReadFieldError } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + case 4: + offset, err = x.fastReadField4(buf, _type) + if err != nil { + goto ReadFieldError + } + case 5: + offset, err = x.fastReadField5(buf, _type) + if err != nil { + goto ReadFieldError + } + case 6: + offset, err = x.fastReadField6(buf, _type) + if err != nil { + goto ReadFieldError + } + case 7: + offset, err = x.fastReadField7(buf, _type) + if err != nil { + goto ReadFieldError + } + case 8: + offset, err = x.fastReadField8(buf, _type) + if err != nil { + goto ReadFieldError + } + case 9: + offset, err = x.fastReadField9(buf, _type) + if err != nil { + goto ReadFieldError + } + case 10: + offset, err = x.fastReadField10(buf, _type) + if err != nil { + goto ReadFieldError + } + case 11: + offset, err = x.fastReadField11(buf, _type) + if err != nil { + goto ReadFieldError + } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -2712,13 +2939,68 @@ ReadFieldError: } func (x *GetProductResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v Product - offset, err = fastpb.ReadMessage(buf, _type, &v) + x.UserId, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { + x.Description, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField4(buf []byte, _type int8) (offset int, err error) { + x.Status, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField5(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) if err != nil { return offset, err } - x.Product = &v - return offset, nil + x.Urls = append(x.Urls, v) + return offset, err +} + +func (x *GetProductResp) fastReadField6(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err + } + x.Tags = append(x.Tags, v) + return offset, err +} + +func (x *GetProductResp) fastReadField7(buf []byte, _type int8) (offset int, err error) { + x.Type, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField8(buf []byte, _type int8) (offset int, err error) { + x.Price, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField9(buf []byte, _type int8) (offset int, err error) { + x.ProductSize, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField10(buf []byte, _type int8) (offset int, err error) { + x.CreateTime, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField11(buf []byte, _type int8) (offset int, err error) { + x.UpdateTime, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err } func (x *GetProductsReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { @@ -5597,6 +5879,236 @@ func (x *GetPostsResp) fastWriteField3(buf []byte) (offset int) { } func (x *CreateProductReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + offset += x.fastWriteField4(buf[offset:]) + offset += x.fastWriteField5(buf[offset:]) + offset += x.fastWriteField6(buf[offset:]) + offset += x.fastWriteField7(buf[offset:]) + offset += x.fastWriteField8(buf[offset:]) + offset += x.fastWriteField9(buf[offset:]) + return offset +} + +func (x *CreateProductReq) fastWriteField1(buf []byte) (offset int) { + if x.UserId == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetUserId()) + return offset +} + +func (x *CreateProductReq) fastWriteField2(buf []byte) (offset int) { + if x.Name == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 2, x.GetName()) + return offset +} + +func (x *CreateProductReq) fastWriteField3(buf []byte) (offset int) { + if x.Description == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 3, x.GetDescription()) + return offset +} + +func (x *CreateProductReq) fastWriteField4(buf []byte) (offset int) { + if x.Status == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 4, x.GetStatus()) + return offset +} + +func (x *CreateProductReq) fastWriteField5(buf []byte) (offset int) { + if len(x.Urls) == 0 { + return offset + } + for i := range x.GetUrls() { + offset += fastpb.WriteString(buf[offset:], 5, x.GetUrls()[i]) + } + return offset +} + +func (x *CreateProductReq) fastWriteField6(buf []byte) (offset int) { + if len(x.Tags) == 0 { + return offset + } + for i := range x.GetTags() { + offset += fastpb.WriteString(buf[offset:], 6, x.GetTags()[i]) + } + return offset +} + +func (x *CreateProductReq) fastWriteField7(buf []byte) (offset int) { + if x.Type == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 7, x.GetType()) + return offset +} + +func (x *CreateProductReq) fastWriteField8(buf []byte) (offset int) { + if x.Price == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 8, x.GetPrice()) + return offset +} + +func (x *CreateProductReq) fastWriteField9(buf []byte) (offset int) { + if x.ProductSize == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 9, x.GetProductSize()) + return offset +} + +func (x *CreateProductResp) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + return offset +} + +func (x *CreateProductResp) fastWriteField1(buf []byte) (offset int) { + if x.ProductId == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) + return offset +} + +func (x *DeleteProductReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + return offset +} + +func (x *DeleteProductReq) fastWriteField1(buf []byte) (offset int) { + if x.ProductId == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) + return offset +} + +func (x *DeleteProductResp) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + return offset +} + +func (x *UpdateProductReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + offset += x.fastWriteField4(buf[offset:]) + offset += x.fastWriteField5(buf[offset:]) + offset += x.fastWriteField6(buf[offset:]) + offset += x.fastWriteField7(buf[offset:]) + offset += x.fastWriteField8(buf[offset:]) + offset += x.fastWriteField9(buf[offset:]) + return offset +} + +func (x *UpdateProductReq) fastWriteField1(buf []byte) (offset int) { + if x.ProductId == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) + return offset +} + +func (x *UpdateProductReq) fastWriteField2(buf []byte) (offset int) { + if x.Name == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 2, x.GetName()) + return offset +} + +func (x *UpdateProductReq) fastWriteField3(buf []byte) (offset int) { + if x.Description == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 3, x.GetDescription()) + return offset +} + +func (x *UpdateProductReq) fastWriteField4(buf []byte) (offset int) { + if x.Status == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 4, x.GetStatus()) + return offset +} + +func (x *UpdateProductReq) fastWriteField5(buf []byte) (offset int) { + if len(x.Urls) == 0 { + return offset + } + for i := range x.GetUrls() { + offset += fastpb.WriteString(buf[offset:], 5, x.GetUrls()[i]) + } + return offset +} + +func (x *UpdateProductReq) fastWriteField6(buf []byte) (offset int) { + if len(x.Tags) == 0 { + return offset + } + for i := range x.GetTags() { + offset += fastpb.WriteString(buf[offset:], 6, x.GetTags()[i]) + } + return offset +} + +func (x *UpdateProductReq) fastWriteField7(buf []byte) (offset int) { + if x.Type == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 7, x.GetType()) + return offset +} + +func (x *UpdateProductReq) fastWriteField8(buf []byte) (offset int) { + if x.Price == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 8, x.GetPrice()) + return offset +} + +func (x *UpdateProductReq) fastWriteField9(buf []byte) (offset int) { + if x.ProductSize == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 9, x.GetProductSize()) + return offset +} + +func (x *UpdateProductResp) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + return offset +} + +func (x *GetProductReq) FastWrite(buf []byte) (offset int) { if x == nil { return offset } @@ -5604,96 +6116,121 @@ func (x *CreateProductReq) FastWrite(buf []byte) (offset int) { return offset } -func (x *CreateProductReq) fastWriteField1(buf []byte) (offset int) { - if x.Product == nil { +func (x *GetProductReq) fastWriteField1(buf []byte) (offset int) { + if x.ProductId == "" { return offset } - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetProduct()) + offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) return offset } -func (x *CreateProductResp) FastWrite(buf []byte) (offset int) { +func (x *GetProductResp) FastWrite(buf []byte) (offset int) { if x == nil { return offset } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + offset += x.fastWriteField4(buf[offset:]) + offset += x.fastWriteField5(buf[offset:]) + offset += x.fastWriteField6(buf[offset:]) + offset += x.fastWriteField7(buf[offset:]) + offset += x.fastWriteField8(buf[offset:]) + offset += x.fastWriteField9(buf[offset:]) + offset += x.fastWriteField10(buf[offset:]) + offset += x.fastWriteField11(buf[offset:]) return offset } -func (x *DeleteProductReq) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField1(buf []byte) (offset int) { + if x.UserId == "" { return offset } - offset += x.fastWriteField1(buf[offset:]) + offset += fastpb.WriteString(buf[offset:], 1, x.GetUserId()) return offset } -func (x *DeleteProductReq) fastWriteField1(buf []byte) (offset int) { - if x.ProductId == "" { +func (x *GetProductResp) fastWriteField2(buf []byte) (offset int) { + if x.Name == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) + offset += fastpb.WriteString(buf[offset:], 2, x.GetName()) return offset } -func (x *DeleteProductResp) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField3(buf []byte) (offset int) { + if x.Description == "" { return offset } + offset += fastpb.WriteString(buf[offset:], 3, x.GetDescription()) return offset } -func (x *UpdateProductReq) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField4(buf []byte) (offset int) { + if x.Status == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) + offset += fastpb.WriteInt64(buf[offset:], 4, x.GetStatus()) return offset } -func (x *UpdateProductReq) fastWriteField1(buf []byte) (offset int) { - if x.Product == nil { +func (x *GetProductResp) fastWriteField5(buf []byte) (offset int) { + if len(x.Urls) == 0 { return offset } - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetProduct()) + for i := range x.GetUrls() { + offset += fastpb.WriteString(buf[offset:], 5, x.GetUrls()[i]) + } return offset } -func (x *UpdateProductResp) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField6(buf []byte) (offset int) { + if len(x.Tags) == 0 { return offset } + for i := range x.GetTags() { + offset += fastpb.WriteString(buf[offset:], 6, x.GetTags()[i]) + } return offset } -func (x *GetProductReq) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField7(buf []byte) (offset int) { + if x.Type == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) + offset += fastpb.WriteInt64(buf[offset:], 7, x.GetType()) return offset } -func (x *GetProductReq) fastWriteField1(buf []byte) (offset int) { - if x.ProductFilterOptions == nil { +func (x *GetProductResp) fastWriteField8(buf []byte) (offset int) { + if x.Price == 0 { return offset } - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetProductFilterOptions()) + offset += fastpb.WriteInt64(buf[offset:], 8, x.GetPrice()) return offset } -func (x *GetProductResp) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField9(buf []byte) (offset int) { + if x.ProductSize == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) + offset += fastpb.WriteInt64(buf[offset:], 9, x.GetProductSize()) return offset } -func (x *GetProductResp) fastWriteField1(buf []byte) (offset int) { - if x.Product == nil { +func (x *GetProductResp) fastWriteField10(buf []byte) (offset int) { + if x.CreateTime == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 10, x.GetCreateTime()) + return offset +} + +func (x *GetProductResp) fastWriteField11(buf []byte) (offset int) { + if x.UpdateTime == 0 { return offset } - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetProduct()) + offset += fastpb.WriteInt64(buf[offset:], 11, x.GetUpdateTime()) return offset } @@ -8121,14 +8658,90 @@ func (x *CreateProductReq) Size() (n int) { return n } n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + n += x.sizeField6() + n += x.sizeField7() + n += x.sizeField8() + n += x.sizeField9() return n } func (x *CreateProductReq) sizeField1() (n int) { - if x.Product == nil { + if x.UserId == "" { + return n + } + n += fastpb.SizeString(1, x.GetUserId()) + return n +} + +func (x *CreateProductReq) sizeField2() (n int) { + if x.Name == "" { + return n + } + n += fastpb.SizeString(2, x.GetName()) + return n +} + +func (x *CreateProductReq) sizeField3() (n int) { + if x.Description == "" { + return n + } + n += fastpb.SizeString(3, x.GetDescription()) + return n +} + +func (x *CreateProductReq) sizeField4() (n int) { + if x.Status == 0 { + return n + } + n += fastpb.SizeInt64(4, x.GetStatus()) + return n +} + +func (x *CreateProductReq) sizeField5() (n int) { + if len(x.Urls) == 0 { + return n + } + for i := range x.GetUrls() { + n += fastpb.SizeString(5, x.GetUrls()[i]) + } + return n +} + +func (x *CreateProductReq) sizeField6() (n int) { + if len(x.Tags) == 0 { + return n + } + for i := range x.GetTags() { + n += fastpb.SizeString(6, x.GetTags()[i]) + } + return n +} + +func (x *CreateProductReq) sizeField7() (n int) { + if x.Type == 0 { + return n + } + n += fastpb.SizeInt64(7, x.GetType()) + return n +} + +func (x *CreateProductReq) sizeField8() (n int) { + if x.Price == 0 { + return n + } + n += fastpb.SizeInt64(8, x.GetPrice()) + return n +} + +func (x *CreateProductReq) sizeField9() (n int) { + if x.ProductSize == 0 { return n } - n += fastpb.SizeMessage(1, x.GetProduct()) + n += fastpb.SizeInt64(9, x.GetProductSize()) return n } @@ -8136,6 +8749,15 @@ func (x *CreateProductResp) Size() (n int) { if x == nil { return n } + n += x.sizeField1() + return n +} + +func (x *CreateProductResp) sizeField1() (n int) { + if x.ProductId == "" { + return n + } + n += fastpb.SizeString(1, x.GetProductId()) return n } @@ -8167,14 +8789,90 @@ func (x *UpdateProductReq) Size() (n int) { return n } n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + n += x.sizeField6() + n += x.sizeField7() + n += x.sizeField8() + n += x.sizeField9() return n } func (x *UpdateProductReq) sizeField1() (n int) { - if x.Product == nil { + if x.ProductId == "" { return n } - n += fastpb.SizeMessage(1, x.GetProduct()) + n += fastpb.SizeString(1, x.GetProductId()) + return n +} + +func (x *UpdateProductReq) sizeField2() (n int) { + if x.Name == "" { + return n + } + n += fastpb.SizeString(2, x.GetName()) + return n +} + +func (x *UpdateProductReq) sizeField3() (n int) { + if x.Description == "" { + return n + } + n += fastpb.SizeString(3, x.GetDescription()) + return n +} + +func (x *UpdateProductReq) sizeField4() (n int) { + if x.Status == 0 { + return n + } + n += fastpb.SizeInt64(4, x.GetStatus()) + return n +} + +func (x *UpdateProductReq) sizeField5() (n int) { + if len(x.Urls) == 0 { + return n + } + for i := range x.GetUrls() { + n += fastpb.SizeString(5, x.GetUrls()[i]) + } + return n +} + +func (x *UpdateProductReq) sizeField6() (n int) { + if len(x.Tags) == 0 { + return n + } + for i := range x.GetTags() { + n += fastpb.SizeString(6, x.GetTags()[i]) + } + return n +} + +func (x *UpdateProductReq) sizeField7() (n int) { + if x.Type == 0 { + return n + } + n += fastpb.SizeInt64(7, x.GetType()) + return n +} + +func (x *UpdateProductReq) sizeField8() (n int) { + if x.Price == 0 { + return n + } + n += fastpb.SizeInt64(8, x.GetPrice()) + return n +} + +func (x *UpdateProductReq) sizeField9() (n int) { + if x.ProductSize == 0 { + return n + } + n += fastpb.SizeInt64(9, x.GetProductSize()) return n } @@ -8194,10 +8892,10 @@ func (x *GetProductReq) Size() (n int) { } func (x *GetProductReq) sizeField1() (n int) { - if x.ProductFilterOptions == nil { + if x.ProductId == "" { return n } - n += fastpb.SizeMessage(1, x.GetProductFilterOptions()) + n += fastpb.SizeString(1, x.GetProductId()) return n } @@ -8206,14 +8904,108 @@ func (x *GetProductResp) Size() (n int) { return n } n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + n += x.sizeField6() + n += x.sizeField7() + n += x.sizeField8() + n += x.sizeField9() + n += x.sizeField10() + n += x.sizeField11() return n } func (x *GetProductResp) sizeField1() (n int) { - if x.Product == nil { + if x.UserId == "" { + return n + } + n += fastpb.SizeString(1, x.GetUserId()) + return n +} + +func (x *GetProductResp) sizeField2() (n int) { + if x.Name == "" { + return n + } + n += fastpb.SizeString(2, x.GetName()) + return n +} + +func (x *GetProductResp) sizeField3() (n int) { + if x.Description == "" { + return n + } + n += fastpb.SizeString(3, x.GetDescription()) + return n +} + +func (x *GetProductResp) sizeField4() (n int) { + if x.Status == 0 { + return n + } + n += fastpb.SizeInt64(4, x.GetStatus()) + return n +} + +func (x *GetProductResp) sizeField5() (n int) { + if len(x.Urls) == 0 { + return n + } + for i := range x.GetUrls() { + n += fastpb.SizeString(5, x.GetUrls()[i]) + } + return n +} + +func (x *GetProductResp) sizeField6() (n int) { + if len(x.Tags) == 0 { + return n + } + for i := range x.GetTags() { + n += fastpb.SizeString(6, x.GetTags()[i]) + } + return n +} + +func (x *GetProductResp) sizeField7() (n int) { + if x.Type == 0 { + return n + } + n += fastpb.SizeInt64(7, x.GetType()) + return n +} + +func (x *GetProductResp) sizeField8() (n int) { + if x.Price == 0 { + return n + } + n += fastpb.SizeInt64(8, x.GetPrice()) + return n +} + +func (x *GetProductResp) sizeField9() (n int) { + if x.ProductSize == 0 { + return n + } + n += fastpb.SizeInt64(9, x.GetProductSize()) + return n +} + +func (x *GetProductResp) sizeField10() (n int) { + if x.CreateTime == 0 { + return n + } + n += fastpb.SizeInt64(10, x.GetCreateTime()) + return n +} + +func (x *GetProductResp) sizeField11() (n int) { + if x.UpdateTime == 0 { return n } - n += fastpb.SizeMessage(1, x.GetProduct()) + n += fastpb.SizeInt64(11, x.GetUpdateTime()) return n } @@ -9283,10 +10075,20 @@ var fieldIDToName_GetPostsResp = map[int32]string{ } var fieldIDToName_CreateProductReq = map[int32]string{ - 1: "Product", + 1: "UserId", + 2: "Name", + 3: "Description", + 4: "Status", + 5: "Urls", + 6: "Tags", + 7: "Type", + 8: "Price", + 9: "ProductSize", } -var fieldIDToName_CreateProductResp = map[int32]string{} +var fieldIDToName_CreateProductResp = map[int32]string{ + 1: "ProductId", +} var fieldIDToName_DeleteProductReq = map[int32]string{ 1: "ProductId", @@ -9295,17 +10097,35 @@ var fieldIDToName_DeleteProductReq = map[int32]string{ var fieldIDToName_DeleteProductResp = map[int32]string{} var fieldIDToName_UpdateProductReq = map[int32]string{ - 1: "Product", + 1: "ProductId", + 2: "Name", + 3: "Description", + 4: "Status", + 5: "Urls", + 6: "Tags", + 7: "Type", + 8: "Price", + 9: "ProductSize", } var fieldIDToName_UpdateProductResp = map[int32]string{} var fieldIDToName_GetProductReq = map[int32]string{ - 1: "ProductFilterOptions", + 1: "ProductId", } var fieldIDToName_GetProductResp = map[int32]string{ - 1: "Product", + 1: "UserId", + 2: "Name", + 3: "Description", + 4: "Status", + 5: "Urls", + 6: "Tags", + 7: "Type", + 8: "Price", + 9: "ProductSize", + 10: "CreateTime", + 11: "UpdateTime", } var fieldIDToName_GetProductsReq = map[int32]string{ diff --git a/kitex_gen/cloudmind/content/content.pb.go b/kitex_gen/cloudmind/content/content.pb.go index b5ace17..710c5cf 100644 --- a/kitex_gen/cloudmind/content/content.pb.go +++ b/kitex_gen/cloudmind/content/content.pb.go @@ -3705,7 +3705,15 @@ type CreateProductReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Status int64 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` + Urls []string `protobuf:"bytes,5,rep,name=urls,proto3" json:"urls,omitempty"` + Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` + Type int64 `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"` + Price int64 `protobuf:"varint,8,opt,name=price,proto3" json:"price,omitempty"` + ProductSize int64 `protobuf:"varint,9,opt,name=productSize,proto3" json:"productSize,omitempty"` } func (x *CreateProductReq) Reset() { @@ -3740,17 +3748,75 @@ func (*CreateProductReq) Descriptor() ([]byte, []int) { return file_cloudmind_content_content_proto_rawDescGZIP(), []int{68} } -func (x *CreateProductReq) GetProduct() *Product { +func (x *CreateProductReq) GetUserId() string { if x != nil { - return x.Product + return x.UserId + } + return "" +} + +func (x *CreateProductReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateProductReq) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateProductReq) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *CreateProductReq) GetUrls() []string { + if x != nil { + return x.Urls + } + return nil +} + +func (x *CreateProductReq) GetTags() []string { + if x != nil { + return x.Tags } return nil } +func (x *CreateProductReq) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *CreateProductReq) GetPrice() int64 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *CreateProductReq) GetProductSize() int64 { + if x != nil { + return x.ProductSize + } + return 0 +} + type CreateProductResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + ProductId string `protobuf:"bytes,1,opt,name=productId,proto3" json:"productId,omitempty"` } func (x *CreateProductResp) Reset() { @@ -3785,6 +3851,13 @@ func (*CreateProductResp) Descriptor() ([]byte, []int) { return file_cloudmind_content_content_proto_rawDescGZIP(), []int{69} } +func (x *CreateProductResp) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + type DeleteProductReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3875,7 +3948,15 @@ type UpdateProductReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + ProductId string `protobuf:"bytes,1,opt,name=productId,proto3" json:"productId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Status int64 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` + Urls []string `protobuf:"bytes,5,rep,name=urls,proto3" json:"urls,omitempty"` + Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` + Type int64 `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"` + Price int64 `protobuf:"varint,8,opt,name=price,proto3" json:"price,omitempty"` + ProductSize int64 `protobuf:"varint,9,opt,name=productSize,proto3" json:"productSize,omitempty"` } func (x *UpdateProductReq) Reset() { @@ -3910,13 +3991,69 @@ func (*UpdateProductReq) Descriptor() ([]byte, []int) { return file_cloudmind_content_content_proto_rawDescGZIP(), []int{72} } -func (x *UpdateProductReq) GetProduct() *Product { +func (x *UpdateProductReq) GetProductId() string { if x != nil { - return x.Product + return x.ProductId + } + return "" +} + +func (x *UpdateProductReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateProductReq) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateProductReq) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *UpdateProductReq) GetUrls() []string { + if x != nil { + return x.Urls + } + return nil +} + +func (x *UpdateProductReq) GetTags() []string { + if x != nil { + return x.Tags } return nil } +func (x *UpdateProductReq) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *UpdateProductReq) GetPrice() int64 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *UpdateProductReq) GetProductSize() int64 { + if x != nil { + return x.ProductSize + } + return 0 +} + type UpdateProductResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3960,7 +4097,7 @@ type GetProductReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProductFilterOptions *ProductFilterOptions `protobuf:"bytes,1,opt,name=productFilterOptions,proto3,oneof" json:"productFilterOptions,omitempty"` + ProductId string `protobuf:"bytes,1,opt,name=productId,proto3" json:"productId,omitempty"` } func (x *GetProductReq) Reset() { @@ -3995,11 +4132,11 @@ func (*GetProductReq) Descriptor() ([]byte, []int) { return file_cloudmind_content_content_proto_rawDescGZIP(), []int{74} } -func (x *GetProductReq) GetProductFilterOptions() *ProductFilterOptions { +func (x *GetProductReq) GetProductId() string { if x != nil { - return x.ProductFilterOptions + return x.ProductId } - return nil + return "" } type GetProductResp struct { @@ -4007,7 +4144,17 @@ type GetProductResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Status int64 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` + Urls []string `protobuf:"bytes,5,rep,name=urls,proto3" json:"urls,omitempty"` + Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` + Type int64 `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"` + Price int64 `protobuf:"varint,8,opt,name=price,proto3" json:"price,omitempty"` + ProductSize int64 `protobuf:"varint,9,opt,name=productSize,proto3" json:"productSize,omitempty"` + CreateTime int64 `protobuf:"varint,10,opt,name=createTime,proto3" json:"createTime,omitempty"` + UpdateTime int64 `protobuf:"varint,11,opt,name=updateTime,proto3" json:"updateTime,omitempty"` } func (x *GetProductResp) Reset() { @@ -4042,13 +4189,83 @@ func (*GetProductResp) Descriptor() ([]byte, []int) { return file_cloudmind_content_content_proto_rawDescGZIP(), []int{75} } -func (x *GetProductResp) GetProduct() *Product { +func (x *GetProductResp) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *GetProductResp) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetProductResp) GetDescription() string { if x != nil { - return x.Product + return x.Description + } + return "" +} + +func (x *GetProductResp) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *GetProductResp) GetUrls() []string { + if x != nil { + return x.Urls + } + return nil +} + +func (x *GetProductResp) GetTags() []string { + if x != nil { + return x.Tags } return nil } +func (x *GetProductResp) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *GetProductResp) GetPrice() int64 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *GetProductResp) GetProductSize() int64 { + if x != nil { + return x.ProductSize + } + return 0 +} + +func (x *GetProductResp) GetCreateTime() int64 { + if x != nil { + return x.CreateTime + } + return 0 +} + +func (x *GetProductResp) GetUpdateTime() int64 { + if x != nil { + return x.UpdateTime + } + return 0 +} + type GetProductsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6346,569 +6563,600 @@ var file_cloudmind_content_content_proto_rawDesc = []byte{ 0x74, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 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, 0x48, 0x0a, 0x10, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x30, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 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, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x48, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x8a, - 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x60, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, - 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x22, 0xcd, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, - 0x00, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x14, 0x70, 0x72, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xec, 0x01, 0x0a, 0x10, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 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, 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, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x31, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 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, 0x22, 0x30, 0x0a, 0x10, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 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, 0x22, 0x13, 0x0a, + 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x22, 0xf2, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 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, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2d, 0x0a, 0x0d, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 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, 0x22, 0xaa, 0x02, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 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, 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, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xcd, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, 0x0d, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, + 0x01, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x11, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x73, 0x69, 0x63, 0x2e, 0x50, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, + 0x02, 0x52, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x62, 0x61, 0x73, 0x69, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x02, 0x52, 0x11, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, - 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x14, 0x0a, - 0x12, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x75, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x44, 0x0a, 0x0f, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, - 0x06, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x75, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, - 0x22, 0x12, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x2d, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, - 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x70, 0x6f, - 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x70, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x75, - 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x44, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, - 0x75, 0x70, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, - 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x22, 0x12, 0x0a, - 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x12, 0x5d, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x70, 0x6f, - 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x42, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, - 0x75, 0x70, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, - 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x22, 0xc8, 0x02, - 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x4b, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x13, + 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 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, + 0x44, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x06, 0x63, + 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2d, 0x0a, 0x0f, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x44, 0x0a, 0x0f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, + 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x70, + 0x6f, 0x6e, 0x22, 0x12, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x5d, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x70, 0x6f, + 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, - 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x48, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x11, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x73, 0x69, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x48, 0x02, 0x52, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, - 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x71, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x6f, - 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, + 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x75, 0x70, 0x6f, + 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x42, + 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x70, + 0x6f, 0x6e, 0x22, 0xc8, 0x02, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 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, 0x40, 0x0a, 0x0e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, - 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, - 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x2a, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x40, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x80, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x12, 0x5a, 0x0a, 0x12, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, + 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x5d, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3e, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xc3, 0x02, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x12, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x12, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x4b, 0x0a, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, - 0x61, 0x73, 0x69, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x02, 0x52, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x4b, 0x0a, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, + 0x73, 0x69, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x02, 0x52, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6d, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, - 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 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, 0x3f, 0x0a, 0x0e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2d, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x11, 0x0a, - 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x98, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, - 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x69, 0x73, - 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, - 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x27, 0x0a, - 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x70, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 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, 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, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x32, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x70, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x71, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x33, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x75, + 0x70, 0x6f, 0x6e, 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, 0x40, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2a, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x40, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, + 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x80, 0x01, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x5a, 0x0a, 0x12, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x12, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3e, 0x0a, 0x0c, + 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xc3, 0x02, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, + 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x12, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, + 0x12, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x73, 0x69, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x02, 0x52, 0x11, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x6d, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, + 0x72, 0x64, 0x65, 0x72, 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, 0x3f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x52, 0x65, 0x71, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x98, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 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, 0x1a, 0x0a, 0x08, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x22, 0x32, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, - 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, - 0x65, 0x6d, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x73, 0x22, 0x71, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, - 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 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, 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, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x33, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6f, - 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x52, 0x65, 0x71, 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, 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, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x32, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, - 0x64, 0x73, 0x22, 0x4f, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, - 0x42, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x39, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, - 0x42, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, + 0x1f, 0x0a, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x73, 0x48, 0x69, + 0x64, 0x64, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x27, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x70, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 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, 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, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, + 0x32, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, + 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, + 0x65, 0x6d, 0x49, 0x64, 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, + 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x32, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x71, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, + 0x52, 0x65, 0x71, 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, 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, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x33, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, + 0x73, 0x22, 0x70, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 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, 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, 0x1a, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0x32, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x4f, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x39, 0x0a, + 0x09, 0x66, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x09, 0x66, + 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x32, + 0x85, 0x28, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x73, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, + 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x48, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x42, 0x61, - 0x63, 0x6b, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, - 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x32, 0x85, 0x28, 0x0a, 0x0e, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5d, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, - 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x73, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, - 0x65, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x07, - 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, - 0x65, 0x73, 0x42, 0x79, 0x49, 0x64, 0x73, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, + 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x0d, 0x47, + 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x49, 0x64, 0x73, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x49, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, - 0x69, 0x6c, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x53, 0x68, - 0x61, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, - 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, - 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, + 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x46, 0x69, + 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, + 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x08, 0x4d, 0x6f, - 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x75, 0x0a, 0x16, 0x53, 0x61, 0x76, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, - 0x2d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6f, - 0x0a, 0x14, 0x41, 0x64, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x69, - 0x6c, 0x65, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x6f, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6c, 0x79, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x51, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x20, + 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6f, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, + 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x53, + 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x72, 0x0a, 0x15, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2b, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, - 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, - 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x5a, 0x6f, - 0x6e, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, - 0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x4b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x1e, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, - 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x20, 0x2e, 0x63, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, - 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, - 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, - 0x6e, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, - 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, - 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x4b, 0x0a, 0x08, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x60, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x60, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, + 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, + 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x75, 0x0a, 0x16, + 0x53, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x54, 0x6f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x6f, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, + 0x41, 0x64, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x46, + 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x6f, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x72, 0x0a, 0x15, 0x52, 0x65, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x63, + 0x79, 0x63, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2c, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x42, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x07, + 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x5a, + 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, + 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5a, 0x6f, 0x6e, + 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5a, 0x6f, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5a, + 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x26, + 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x0c, + 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, + 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x1a, 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x0f, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x10, 0x50, + 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x73, + 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x51, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, - 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, - 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, - 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, + 0x08, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, - 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, + 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, - 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, - 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, - 0x1d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x51, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, - 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x0d, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, + 0x74, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x6f, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x07, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x12, + 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x5a, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, + 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x0d, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x51, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x20, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x73, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, + 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, + 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x22, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x57, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, + 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, + 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, + 0x08, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x09, 0x47, 0x65, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, - 0x6e, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x57, 0x0a, 0x0c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x23, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x51, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, - 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x1a, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, - 0x73, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, + 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, + 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x70, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x22, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x0a, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, - 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x2e, 0x63, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, + 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x21, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, + 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x6f, - 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, 0x29, + 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6c, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, 0x28, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x60, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, - 0x63, 0x6b, 0x73, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, - 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x72, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x6c, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, - 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, + 0x12, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x26, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, + 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x72, 0x69, 0x76, + 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x6c, 0x2d, 0x67, + 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7053,8 +7301,8 @@ var file_cloudmind_content_content_proto_goTypes = []interface{}{ (*User)(nil), // 125: cloudmind.content.User (*PostFilterOptions)(nil), // 126: cloudmind.content.PostFilterOptions (*Post)(nil), // 127: cloudmind.content.Post - (*Product)(nil), // 128: cloudmind.content.Product - (*ProductFilterOptions)(nil), // 129: cloudmind.content.ProductFilterOptions + (*ProductFilterOptions)(nil), // 128: cloudmind.content.ProductFilterOptions + (*Product)(nil), // 129: cloudmind.content.Product (*Coupon)(nil), // 130: cloudmind.content.Coupon (*CouponFilterOptions)(nil), // 131: cloudmind.content.CouponFilterOptions (*Order)(nil), // 132: cloudmind.content.Order @@ -7103,151 +7351,147 @@ var file_cloudmind_content_content_proto_depIdxs = []int32{ 126, // 37: cloudmind.content.GetPostsReq.postFilterOptions:type_name -> cloudmind.content.PostFilterOptions 117, // 38: cloudmind.content.GetPostsReq.paginationOptions:type_name -> basic.PaginationOptions 127, // 39: cloudmind.content.GetPostsResp.posts:type_name -> cloudmind.content.Post - 128, // 40: cloudmind.content.CreateProductReq.product:type_name -> cloudmind.content.Product - 128, // 41: cloudmind.content.UpdateProductReq.product:type_name -> cloudmind.content.Product - 129, // 42: cloudmind.content.GetProductReq.productFilterOptions:type_name -> cloudmind.content.ProductFilterOptions - 128, // 43: cloudmind.content.GetProductResp.product:type_name -> cloudmind.content.Product - 115, // 44: cloudmind.content.GetProductsReq.searchOptions:type_name -> cloudmind.content.SearchOptions - 129, // 45: cloudmind.content.GetProductsReq.productFilterOptions:type_name -> cloudmind.content.ProductFilterOptions - 117, // 46: cloudmind.content.GetProductsReq.paginationOptions:type_name -> basic.PaginationOptions - 128, // 47: cloudmind.content.GetProductsResp.products:type_name -> cloudmind.content.Product - 130, // 48: cloudmind.content.CreateCouponReq.coupon:type_name -> cloudmind.content.Coupon - 130, // 49: cloudmind.content.UpdateCouponReq.coupon:type_name -> cloudmind.content.Coupon - 131, // 50: cloudmind.content.GetCouponReq.couponFilterOptions:type_name -> cloudmind.content.CouponFilterOptions - 130, // 51: cloudmind.content.GetCouponResp.coupon:type_name -> cloudmind.content.Coupon - 115, // 52: cloudmind.content.GetCouponsReq.searchOptions:type_name -> cloudmind.content.SearchOptions - 131, // 53: cloudmind.content.GetCouponsReq.couponFilterOptions:type_name -> cloudmind.content.CouponFilterOptions - 117, // 54: cloudmind.content.GetCouponsReq.paginationOptions:type_name -> basic.PaginationOptions - 130, // 55: cloudmind.content.GetCouponsResp.coupons:type_name -> cloudmind.content.Coupon - 132, // 56: cloudmind.content.CreateOrderReq.order:type_name -> cloudmind.content.Order - 132, // 57: cloudmind.content.UpdateOrderReq.order:type_name -> cloudmind.content.Order - 133, // 58: cloudmind.content.GetOrderReq.orderFilterOptions:type_name -> cloudmind.content.OrderFilterOptions - 132, // 59: cloudmind.content.GetOrderResp.order:type_name -> cloudmind.content.Order - 115, // 60: cloudmind.content.GetOrdersReq.searchOptions:type_name -> cloudmind.content.SearchOptions - 133, // 61: cloudmind.content.GetOrdersReq.orderFilterOptions:type_name -> cloudmind.content.OrderFilterOptions - 117, // 62: cloudmind.content.GetOrdersReq.paginationOptions:type_name -> basic.PaginationOptions - 132, // 63: cloudmind.content.GetOrdersResp.orders:type_name -> cloudmind.content.Order - 134, // 64: cloudmind.content.CreateItemsReq.items:type_name -> cloudmind.content.Item - 135, // 65: cloudmind.content.CreateFeedBacksReq.feedBacks:type_name -> cloudmind.content.FeedBack - 0, // 66: cloudmind.content.ContentService.GetFileIsExist:input_type -> cloudmind.content.GetFileIsExistReq - 2, // 67: cloudmind.content.ContentService.GetFile:input_type -> cloudmind.content.GetFileReq - 4, // 68: cloudmind.content.ContentService.GetFilesByIds:input_type -> cloudmind.content.GetFilesByIdsReq - 6, // 69: cloudmind.content.ContentService.GetFileList:input_type -> cloudmind.content.GetFileListReq - 10, // 70: cloudmind.content.ContentService.GetFileBySharingCode:input_type -> cloudmind.content.GetFileBySharingCodeReq - 8, // 71: cloudmind.content.ContentService.GetRecycleBinFiles:input_type -> cloudmind.content.GetRecycleBinFilesReq - 14, // 72: cloudmind.content.ContentService.UpdateFile:input_type -> cloudmind.content.UpdateFileReq - 12, // 73: cloudmind.content.ContentService.CreateFile:input_type -> cloudmind.content.CreateFileReq - 16, // 74: cloudmind.content.ContentService.MoveFile:input_type -> cloudmind.content.MoveFileReq - 18, // 75: cloudmind.content.ContentService.SaveFileToPrivateSpace:input_type -> cloudmind.content.SaveFileToPrivateSpaceReq - 20, // 76: cloudmind.content.ContentService.AddFileToPublicSpace:input_type -> cloudmind.content.AddFileToPublicSpaceReq - 22, // 77: cloudmind.content.ContentService.CompletelyRemoveFile:input_type -> cloudmind.content.CompletelyRemoveFileReq - 24, // 78: cloudmind.content.ContentService.DeleteFile:input_type -> cloudmind.content.DeleteFileReq - 26, // 79: cloudmind.content.ContentService.RecoverRecycleBinFile:input_type -> cloudmind.content.RecoverRecycleBinFileReq - 30, // 80: cloudmind.content.ContentService.GetZone:input_type -> cloudmind.content.GetZoneReq - 32, // 81: cloudmind.content.ContentService.GetZones:input_type -> cloudmind.content.GetZonesReq - 28, // 82: cloudmind.content.ContentService.CreateZone:input_type -> cloudmind.content.CreateZoneReq - 34, // 83: cloudmind.content.ContentService.UpdateZone:input_type -> cloudmind.content.UpdateZoneReq - 36, // 84: cloudmind.content.ContentService.DeleteZone:input_type -> cloudmind.content.DeleteZoneReq - 40, // 85: cloudmind.content.ContentService.GetShareList:input_type -> cloudmind.content.GetShareListReq - 38, // 86: cloudmind.content.ContentService.CreateShareCode:input_type -> cloudmind.content.CreateShareCodeReq - 42, // 87: cloudmind.content.ContentService.UpdateShareCode:input_type -> cloudmind.content.UpdateShareCodeReq - 44, // 88: cloudmind.content.ContentService.DeleteShareCode:input_type -> cloudmind.content.DeleteShareCodeReq - 46, // 89: cloudmind.content.ContentService.ParsingShareCode:input_type -> cloudmind.content.ParsingShareCodeReq - 48, // 90: cloudmind.content.ContentService.UpdateUser:input_type -> cloudmind.content.UpdateUserReq - 50, // 91: cloudmind.content.ContentService.GetUser:input_type -> cloudmind.content.GetUserReq - 52, // 92: cloudmind.content.ContentService.GetUsers:input_type -> cloudmind.content.GetUsersReq - 54, // 93: cloudmind.content.ContentService.CreateUser:input_type -> cloudmind.content.CreateUserReq - 56, // 94: cloudmind.content.ContentService.DeleteUser:input_type -> cloudmind.content.DeleteUserReq - 58, // 95: cloudmind.content.ContentService.CreatePost:input_type -> cloudmind.content.CreatePostReq - 60, // 96: cloudmind.content.ContentService.DeletePost:input_type -> cloudmind.content.DeletePostReq - 62, // 97: cloudmind.content.ContentService.UpdatePost:input_type -> cloudmind.content.UpdatePostReq - 64, // 98: cloudmind.content.ContentService.GetPost:input_type -> cloudmind.content.GetPostReq - 66, // 99: cloudmind.content.ContentService.GetPosts:input_type -> cloudmind.content.GetPostsReq - 68, // 100: cloudmind.content.ContentService.CreateProduct:input_type -> cloudmind.content.CreateProductReq - 70, // 101: cloudmind.content.ContentService.DeleteProduct:input_type -> cloudmind.content.DeleteProductReq - 72, // 102: cloudmind.content.ContentService.UpdateProduct:input_type -> cloudmind.content.UpdateProductReq - 74, // 103: cloudmind.content.ContentService.GetProduct:input_type -> cloudmind.content.GetProductReq - 76, // 104: cloudmind.content.ContentService.GetProducts:input_type -> cloudmind.content.GetProductsReq - 78, // 105: cloudmind.content.ContentService.CreateCoupon:input_type -> cloudmind.content.CreateCouponReq - 80, // 106: cloudmind.content.ContentService.DeleteCoupon:input_type -> cloudmind.content.DeleteCouponReq - 82, // 107: cloudmind.content.ContentService.UpdateCoupon:input_type -> cloudmind.content.UpdateCouponReq - 84, // 108: cloudmind.content.ContentService.GetCoupon:input_type -> cloudmind.content.GetCouponReq - 86, // 109: cloudmind.content.ContentService.GetCoupons:input_type -> cloudmind.content.GetCouponsReq - 88, // 110: cloudmind.content.ContentService.CreateOrder:input_type -> cloudmind.content.CreateOrderReq - 90, // 111: cloudmind.content.ContentService.DeleteOrder:input_type -> cloudmind.content.DeleteOrderReq - 92, // 112: cloudmind.content.ContentService.UpdateOrder:input_type -> cloudmind.content.UpdateOrderReq - 94, // 113: cloudmind.content.ContentService.GetOrder:input_type -> cloudmind.content.GetOrderReq - 96, // 114: cloudmind.content.ContentService.GetOrders:input_type -> cloudmind.content.GetOrdersReq - 98, // 115: cloudmind.content.ContentService.CreateItems:input_type -> cloudmind.content.CreateItemsReq - 100, // 116: cloudmind.content.ContentService.UpdateItem:input_type -> cloudmind.content.UpdateItemReq - 102, // 117: cloudmind.content.ContentService.DeleteItem:input_type -> cloudmind.content.DeleteItemReq - 104, // 118: cloudmind.content.ContentService.GetRecommendByUser:input_type -> cloudmind.content.GetRecommendByUserReq - 106, // 119: cloudmind.content.ContentService.GetRecommendByItem:input_type -> cloudmind.content.GetRecommendByItemReq - 108, // 120: cloudmind.content.ContentService.GetPopularRecommend:input_type -> cloudmind.content.GetPopularRecommendReq - 110, // 121: cloudmind.content.ContentService.GetLatestRecommend:input_type -> cloudmind.content.GetLatestRecommendReq - 112, // 122: cloudmind.content.ContentService.CreateFeedBacks:input_type -> cloudmind.content.CreateFeedBacksReq - 1, // 123: cloudmind.content.ContentService.GetFileIsExist:output_type -> cloudmind.content.GetFileIsExistResp - 3, // 124: cloudmind.content.ContentService.GetFile:output_type -> cloudmind.content.GetFileResp - 5, // 125: cloudmind.content.ContentService.GetFilesByIds:output_type -> cloudmind.content.GetFilesByIdsResp - 7, // 126: cloudmind.content.ContentService.GetFileList:output_type -> cloudmind.content.GetFileListResp - 11, // 127: cloudmind.content.ContentService.GetFileBySharingCode:output_type -> cloudmind.content.GetFileBySharingCodeResp - 9, // 128: cloudmind.content.ContentService.GetRecycleBinFiles:output_type -> cloudmind.content.GetRecycleBinFilesResp - 15, // 129: cloudmind.content.ContentService.UpdateFile:output_type -> cloudmind.content.UpdateFileResp - 13, // 130: cloudmind.content.ContentService.CreateFile:output_type -> cloudmind.content.CreateFileResp - 17, // 131: cloudmind.content.ContentService.MoveFile:output_type -> cloudmind.content.MoveFileResp - 19, // 132: cloudmind.content.ContentService.SaveFileToPrivateSpace:output_type -> cloudmind.content.SaveFileToPrivateSpaceResp - 21, // 133: cloudmind.content.ContentService.AddFileToPublicSpace:output_type -> cloudmind.content.AddFileToPublicSpaceResp - 23, // 134: cloudmind.content.ContentService.CompletelyRemoveFile:output_type -> cloudmind.content.CompletelyRemoveFileResp - 25, // 135: cloudmind.content.ContentService.DeleteFile:output_type -> cloudmind.content.DeleteFileResp - 27, // 136: cloudmind.content.ContentService.RecoverRecycleBinFile:output_type -> cloudmind.content.RecoverRecycleBinFileResp - 31, // 137: cloudmind.content.ContentService.GetZone:output_type -> cloudmind.content.GetZoneResp - 33, // 138: cloudmind.content.ContentService.GetZones:output_type -> cloudmind.content.GetZonesResp - 29, // 139: cloudmind.content.ContentService.CreateZone:output_type -> cloudmind.content.CreateZoneResp - 35, // 140: cloudmind.content.ContentService.UpdateZone:output_type -> cloudmind.content.UpdateZoneResp - 37, // 141: cloudmind.content.ContentService.DeleteZone:output_type -> cloudmind.content.DeleteZoneResp - 41, // 142: cloudmind.content.ContentService.GetShareList:output_type -> cloudmind.content.GetShareListResp - 39, // 143: cloudmind.content.ContentService.CreateShareCode:output_type -> cloudmind.content.CreateShareCodeResp - 43, // 144: cloudmind.content.ContentService.UpdateShareCode:output_type -> cloudmind.content.UpdateShareCodeResp - 45, // 145: cloudmind.content.ContentService.DeleteShareCode:output_type -> cloudmind.content.DeleteShareCodeResp - 47, // 146: cloudmind.content.ContentService.ParsingShareCode:output_type -> cloudmind.content.ParsingShareCodeResp - 49, // 147: cloudmind.content.ContentService.UpdateUser:output_type -> cloudmind.content.UpdateUserResp - 51, // 148: cloudmind.content.ContentService.GetUser:output_type -> cloudmind.content.GetUserResp - 53, // 149: cloudmind.content.ContentService.GetUsers:output_type -> cloudmind.content.GetUsersResp - 55, // 150: cloudmind.content.ContentService.CreateUser:output_type -> cloudmind.content.CreateUserResp - 57, // 151: cloudmind.content.ContentService.DeleteUser:output_type -> cloudmind.content.DeleteUserResp - 59, // 152: cloudmind.content.ContentService.CreatePost:output_type -> cloudmind.content.CreatePostResp - 61, // 153: cloudmind.content.ContentService.DeletePost:output_type -> cloudmind.content.DeletePostResp - 63, // 154: cloudmind.content.ContentService.UpdatePost:output_type -> cloudmind.content.UpdatePostResp - 65, // 155: cloudmind.content.ContentService.GetPost:output_type -> cloudmind.content.GetPostResp - 67, // 156: cloudmind.content.ContentService.GetPosts:output_type -> cloudmind.content.GetPostsResp - 69, // 157: cloudmind.content.ContentService.CreateProduct:output_type -> cloudmind.content.CreateProductResp - 71, // 158: cloudmind.content.ContentService.DeleteProduct:output_type -> cloudmind.content.DeleteProductResp - 73, // 159: cloudmind.content.ContentService.UpdateProduct:output_type -> cloudmind.content.UpdateProductResp - 75, // 160: cloudmind.content.ContentService.GetProduct:output_type -> cloudmind.content.GetProductResp - 77, // 161: cloudmind.content.ContentService.GetProducts:output_type -> cloudmind.content.GetProductsResp - 79, // 162: cloudmind.content.ContentService.CreateCoupon:output_type -> cloudmind.content.CreateCouponResp - 81, // 163: cloudmind.content.ContentService.DeleteCoupon:output_type -> cloudmind.content.DeleteCouponResp - 83, // 164: cloudmind.content.ContentService.UpdateCoupon:output_type -> cloudmind.content.UpdateCouponResp - 85, // 165: cloudmind.content.ContentService.GetCoupon:output_type -> cloudmind.content.GetCouponResp - 87, // 166: cloudmind.content.ContentService.GetCoupons:output_type -> cloudmind.content.GetCouponsResp - 89, // 167: cloudmind.content.ContentService.CreateOrder:output_type -> cloudmind.content.CreateOrderResp - 91, // 168: cloudmind.content.ContentService.DeleteOrder:output_type -> cloudmind.content.DeleteOrderResp - 93, // 169: cloudmind.content.ContentService.UpdateOrder:output_type -> cloudmind.content.UpdateOrderResp - 95, // 170: cloudmind.content.ContentService.GetOrder:output_type -> cloudmind.content.GetOrderResp - 97, // 171: cloudmind.content.ContentService.GetOrders:output_type -> cloudmind.content.GetOrdersResp - 99, // 172: cloudmind.content.ContentService.CreateItems:output_type -> cloudmind.content.CreateItemsResp - 101, // 173: cloudmind.content.ContentService.UpdateItem:output_type -> cloudmind.content.UpdateItemResp - 103, // 174: cloudmind.content.ContentService.DeleteItem:output_type -> cloudmind.content.DeleteItemResp - 105, // 175: cloudmind.content.ContentService.GetRecommendByUser:output_type -> cloudmind.content.GetRecommendByUserResp - 107, // 176: cloudmind.content.ContentService.GetRecommendByItem:output_type -> cloudmind.content.GetRecommendByItemResp - 109, // 177: cloudmind.content.ContentService.GetPopularRecommend:output_type -> cloudmind.content.GetPopularRecommendResp - 111, // 178: cloudmind.content.ContentService.GetLatestRecommend:output_type -> cloudmind.content.GetLatestRecommendResp - 113, // 179: cloudmind.content.ContentService.CreateFeedBacks:output_type -> cloudmind.content.CreateFeedBacksResp - 123, // [123:180] is the sub-list for method output_type - 66, // [66:123] is the sub-list for method input_type - 66, // [66:66] is the sub-list for extension type_name - 66, // [66:66] is the sub-list for extension extendee - 0, // [0:66] is the sub-list for field type_name + 115, // 40: cloudmind.content.GetProductsReq.searchOptions:type_name -> cloudmind.content.SearchOptions + 128, // 41: cloudmind.content.GetProductsReq.productFilterOptions:type_name -> cloudmind.content.ProductFilterOptions + 117, // 42: cloudmind.content.GetProductsReq.paginationOptions:type_name -> basic.PaginationOptions + 129, // 43: cloudmind.content.GetProductsResp.products:type_name -> cloudmind.content.Product + 130, // 44: cloudmind.content.CreateCouponReq.coupon:type_name -> cloudmind.content.Coupon + 130, // 45: cloudmind.content.UpdateCouponReq.coupon:type_name -> cloudmind.content.Coupon + 131, // 46: cloudmind.content.GetCouponReq.couponFilterOptions:type_name -> cloudmind.content.CouponFilterOptions + 130, // 47: cloudmind.content.GetCouponResp.coupon:type_name -> cloudmind.content.Coupon + 115, // 48: cloudmind.content.GetCouponsReq.searchOptions:type_name -> cloudmind.content.SearchOptions + 131, // 49: cloudmind.content.GetCouponsReq.couponFilterOptions:type_name -> cloudmind.content.CouponFilterOptions + 117, // 50: cloudmind.content.GetCouponsReq.paginationOptions:type_name -> basic.PaginationOptions + 130, // 51: cloudmind.content.GetCouponsResp.coupons:type_name -> cloudmind.content.Coupon + 132, // 52: cloudmind.content.CreateOrderReq.order:type_name -> cloudmind.content.Order + 132, // 53: cloudmind.content.UpdateOrderReq.order:type_name -> cloudmind.content.Order + 133, // 54: cloudmind.content.GetOrderReq.orderFilterOptions:type_name -> cloudmind.content.OrderFilterOptions + 132, // 55: cloudmind.content.GetOrderResp.order:type_name -> cloudmind.content.Order + 115, // 56: cloudmind.content.GetOrdersReq.searchOptions:type_name -> cloudmind.content.SearchOptions + 133, // 57: cloudmind.content.GetOrdersReq.orderFilterOptions:type_name -> cloudmind.content.OrderFilterOptions + 117, // 58: cloudmind.content.GetOrdersReq.paginationOptions:type_name -> basic.PaginationOptions + 132, // 59: cloudmind.content.GetOrdersResp.orders:type_name -> cloudmind.content.Order + 134, // 60: cloudmind.content.CreateItemsReq.items:type_name -> cloudmind.content.Item + 135, // 61: cloudmind.content.CreateFeedBacksReq.feedBacks:type_name -> cloudmind.content.FeedBack + 0, // 62: cloudmind.content.ContentService.GetFileIsExist:input_type -> cloudmind.content.GetFileIsExistReq + 2, // 63: cloudmind.content.ContentService.GetFile:input_type -> cloudmind.content.GetFileReq + 4, // 64: cloudmind.content.ContentService.GetFilesByIds:input_type -> cloudmind.content.GetFilesByIdsReq + 6, // 65: cloudmind.content.ContentService.GetFileList:input_type -> cloudmind.content.GetFileListReq + 10, // 66: cloudmind.content.ContentService.GetFileBySharingCode:input_type -> cloudmind.content.GetFileBySharingCodeReq + 8, // 67: cloudmind.content.ContentService.GetRecycleBinFiles:input_type -> cloudmind.content.GetRecycleBinFilesReq + 14, // 68: cloudmind.content.ContentService.UpdateFile:input_type -> cloudmind.content.UpdateFileReq + 12, // 69: cloudmind.content.ContentService.CreateFile:input_type -> cloudmind.content.CreateFileReq + 16, // 70: cloudmind.content.ContentService.MoveFile:input_type -> cloudmind.content.MoveFileReq + 18, // 71: cloudmind.content.ContentService.SaveFileToPrivateSpace:input_type -> cloudmind.content.SaveFileToPrivateSpaceReq + 20, // 72: cloudmind.content.ContentService.AddFileToPublicSpace:input_type -> cloudmind.content.AddFileToPublicSpaceReq + 22, // 73: cloudmind.content.ContentService.CompletelyRemoveFile:input_type -> cloudmind.content.CompletelyRemoveFileReq + 24, // 74: cloudmind.content.ContentService.DeleteFile:input_type -> cloudmind.content.DeleteFileReq + 26, // 75: cloudmind.content.ContentService.RecoverRecycleBinFile:input_type -> cloudmind.content.RecoverRecycleBinFileReq + 30, // 76: cloudmind.content.ContentService.GetZone:input_type -> cloudmind.content.GetZoneReq + 32, // 77: cloudmind.content.ContentService.GetZones:input_type -> cloudmind.content.GetZonesReq + 28, // 78: cloudmind.content.ContentService.CreateZone:input_type -> cloudmind.content.CreateZoneReq + 34, // 79: cloudmind.content.ContentService.UpdateZone:input_type -> cloudmind.content.UpdateZoneReq + 36, // 80: cloudmind.content.ContentService.DeleteZone:input_type -> cloudmind.content.DeleteZoneReq + 40, // 81: cloudmind.content.ContentService.GetShareList:input_type -> cloudmind.content.GetShareListReq + 38, // 82: cloudmind.content.ContentService.CreateShareCode:input_type -> cloudmind.content.CreateShareCodeReq + 42, // 83: cloudmind.content.ContentService.UpdateShareCode:input_type -> cloudmind.content.UpdateShareCodeReq + 44, // 84: cloudmind.content.ContentService.DeleteShareCode:input_type -> cloudmind.content.DeleteShareCodeReq + 46, // 85: cloudmind.content.ContentService.ParsingShareCode:input_type -> cloudmind.content.ParsingShareCodeReq + 48, // 86: cloudmind.content.ContentService.UpdateUser:input_type -> cloudmind.content.UpdateUserReq + 50, // 87: cloudmind.content.ContentService.GetUser:input_type -> cloudmind.content.GetUserReq + 52, // 88: cloudmind.content.ContentService.GetUsers:input_type -> cloudmind.content.GetUsersReq + 54, // 89: cloudmind.content.ContentService.CreateUser:input_type -> cloudmind.content.CreateUserReq + 56, // 90: cloudmind.content.ContentService.DeleteUser:input_type -> cloudmind.content.DeleteUserReq + 58, // 91: cloudmind.content.ContentService.CreatePost:input_type -> cloudmind.content.CreatePostReq + 60, // 92: cloudmind.content.ContentService.DeletePost:input_type -> cloudmind.content.DeletePostReq + 62, // 93: cloudmind.content.ContentService.UpdatePost:input_type -> cloudmind.content.UpdatePostReq + 64, // 94: cloudmind.content.ContentService.GetPost:input_type -> cloudmind.content.GetPostReq + 66, // 95: cloudmind.content.ContentService.GetPosts:input_type -> cloudmind.content.GetPostsReq + 68, // 96: cloudmind.content.ContentService.CreateProduct:input_type -> cloudmind.content.CreateProductReq + 70, // 97: cloudmind.content.ContentService.DeleteProduct:input_type -> cloudmind.content.DeleteProductReq + 72, // 98: cloudmind.content.ContentService.UpdateProduct:input_type -> cloudmind.content.UpdateProductReq + 74, // 99: cloudmind.content.ContentService.GetProduct:input_type -> cloudmind.content.GetProductReq + 76, // 100: cloudmind.content.ContentService.GetProducts:input_type -> cloudmind.content.GetProductsReq + 78, // 101: cloudmind.content.ContentService.CreateCoupon:input_type -> cloudmind.content.CreateCouponReq + 80, // 102: cloudmind.content.ContentService.DeleteCoupon:input_type -> cloudmind.content.DeleteCouponReq + 82, // 103: cloudmind.content.ContentService.UpdateCoupon:input_type -> cloudmind.content.UpdateCouponReq + 84, // 104: cloudmind.content.ContentService.GetCoupon:input_type -> cloudmind.content.GetCouponReq + 86, // 105: cloudmind.content.ContentService.GetCoupons:input_type -> cloudmind.content.GetCouponsReq + 88, // 106: cloudmind.content.ContentService.CreateOrder:input_type -> cloudmind.content.CreateOrderReq + 90, // 107: cloudmind.content.ContentService.DeleteOrder:input_type -> cloudmind.content.DeleteOrderReq + 92, // 108: cloudmind.content.ContentService.UpdateOrder:input_type -> cloudmind.content.UpdateOrderReq + 94, // 109: cloudmind.content.ContentService.GetOrder:input_type -> cloudmind.content.GetOrderReq + 96, // 110: cloudmind.content.ContentService.GetOrders:input_type -> cloudmind.content.GetOrdersReq + 98, // 111: cloudmind.content.ContentService.CreateItems:input_type -> cloudmind.content.CreateItemsReq + 100, // 112: cloudmind.content.ContentService.UpdateItem:input_type -> cloudmind.content.UpdateItemReq + 102, // 113: cloudmind.content.ContentService.DeleteItem:input_type -> cloudmind.content.DeleteItemReq + 104, // 114: cloudmind.content.ContentService.GetRecommendByUser:input_type -> cloudmind.content.GetRecommendByUserReq + 106, // 115: cloudmind.content.ContentService.GetRecommendByItem:input_type -> cloudmind.content.GetRecommendByItemReq + 108, // 116: cloudmind.content.ContentService.GetPopularRecommend:input_type -> cloudmind.content.GetPopularRecommendReq + 110, // 117: cloudmind.content.ContentService.GetLatestRecommend:input_type -> cloudmind.content.GetLatestRecommendReq + 112, // 118: cloudmind.content.ContentService.CreateFeedBacks:input_type -> cloudmind.content.CreateFeedBacksReq + 1, // 119: cloudmind.content.ContentService.GetFileIsExist:output_type -> cloudmind.content.GetFileIsExistResp + 3, // 120: cloudmind.content.ContentService.GetFile:output_type -> cloudmind.content.GetFileResp + 5, // 121: cloudmind.content.ContentService.GetFilesByIds:output_type -> cloudmind.content.GetFilesByIdsResp + 7, // 122: cloudmind.content.ContentService.GetFileList:output_type -> cloudmind.content.GetFileListResp + 11, // 123: cloudmind.content.ContentService.GetFileBySharingCode:output_type -> cloudmind.content.GetFileBySharingCodeResp + 9, // 124: cloudmind.content.ContentService.GetRecycleBinFiles:output_type -> cloudmind.content.GetRecycleBinFilesResp + 15, // 125: cloudmind.content.ContentService.UpdateFile:output_type -> cloudmind.content.UpdateFileResp + 13, // 126: cloudmind.content.ContentService.CreateFile:output_type -> cloudmind.content.CreateFileResp + 17, // 127: cloudmind.content.ContentService.MoveFile:output_type -> cloudmind.content.MoveFileResp + 19, // 128: cloudmind.content.ContentService.SaveFileToPrivateSpace:output_type -> cloudmind.content.SaveFileToPrivateSpaceResp + 21, // 129: cloudmind.content.ContentService.AddFileToPublicSpace:output_type -> cloudmind.content.AddFileToPublicSpaceResp + 23, // 130: cloudmind.content.ContentService.CompletelyRemoveFile:output_type -> cloudmind.content.CompletelyRemoveFileResp + 25, // 131: cloudmind.content.ContentService.DeleteFile:output_type -> cloudmind.content.DeleteFileResp + 27, // 132: cloudmind.content.ContentService.RecoverRecycleBinFile:output_type -> cloudmind.content.RecoverRecycleBinFileResp + 31, // 133: cloudmind.content.ContentService.GetZone:output_type -> cloudmind.content.GetZoneResp + 33, // 134: cloudmind.content.ContentService.GetZones:output_type -> cloudmind.content.GetZonesResp + 29, // 135: cloudmind.content.ContentService.CreateZone:output_type -> cloudmind.content.CreateZoneResp + 35, // 136: cloudmind.content.ContentService.UpdateZone:output_type -> cloudmind.content.UpdateZoneResp + 37, // 137: cloudmind.content.ContentService.DeleteZone:output_type -> cloudmind.content.DeleteZoneResp + 41, // 138: cloudmind.content.ContentService.GetShareList:output_type -> cloudmind.content.GetShareListResp + 39, // 139: cloudmind.content.ContentService.CreateShareCode:output_type -> cloudmind.content.CreateShareCodeResp + 43, // 140: cloudmind.content.ContentService.UpdateShareCode:output_type -> cloudmind.content.UpdateShareCodeResp + 45, // 141: cloudmind.content.ContentService.DeleteShareCode:output_type -> cloudmind.content.DeleteShareCodeResp + 47, // 142: cloudmind.content.ContentService.ParsingShareCode:output_type -> cloudmind.content.ParsingShareCodeResp + 49, // 143: cloudmind.content.ContentService.UpdateUser:output_type -> cloudmind.content.UpdateUserResp + 51, // 144: cloudmind.content.ContentService.GetUser:output_type -> cloudmind.content.GetUserResp + 53, // 145: cloudmind.content.ContentService.GetUsers:output_type -> cloudmind.content.GetUsersResp + 55, // 146: cloudmind.content.ContentService.CreateUser:output_type -> cloudmind.content.CreateUserResp + 57, // 147: cloudmind.content.ContentService.DeleteUser:output_type -> cloudmind.content.DeleteUserResp + 59, // 148: cloudmind.content.ContentService.CreatePost:output_type -> cloudmind.content.CreatePostResp + 61, // 149: cloudmind.content.ContentService.DeletePost:output_type -> cloudmind.content.DeletePostResp + 63, // 150: cloudmind.content.ContentService.UpdatePost:output_type -> cloudmind.content.UpdatePostResp + 65, // 151: cloudmind.content.ContentService.GetPost:output_type -> cloudmind.content.GetPostResp + 67, // 152: cloudmind.content.ContentService.GetPosts:output_type -> cloudmind.content.GetPostsResp + 69, // 153: cloudmind.content.ContentService.CreateProduct:output_type -> cloudmind.content.CreateProductResp + 71, // 154: cloudmind.content.ContentService.DeleteProduct:output_type -> cloudmind.content.DeleteProductResp + 73, // 155: cloudmind.content.ContentService.UpdateProduct:output_type -> cloudmind.content.UpdateProductResp + 75, // 156: cloudmind.content.ContentService.GetProduct:output_type -> cloudmind.content.GetProductResp + 77, // 157: cloudmind.content.ContentService.GetProducts:output_type -> cloudmind.content.GetProductsResp + 79, // 158: cloudmind.content.ContentService.CreateCoupon:output_type -> cloudmind.content.CreateCouponResp + 81, // 159: cloudmind.content.ContentService.DeleteCoupon:output_type -> cloudmind.content.DeleteCouponResp + 83, // 160: cloudmind.content.ContentService.UpdateCoupon:output_type -> cloudmind.content.UpdateCouponResp + 85, // 161: cloudmind.content.ContentService.GetCoupon:output_type -> cloudmind.content.GetCouponResp + 87, // 162: cloudmind.content.ContentService.GetCoupons:output_type -> cloudmind.content.GetCouponsResp + 89, // 163: cloudmind.content.ContentService.CreateOrder:output_type -> cloudmind.content.CreateOrderResp + 91, // 164: cloudmind.content.ContentService.DeleteOrder:output_type -> cloudmind.content.DeleteOrderResp + 93, // 165: cloudmind.content.ContentService.UpdateOrder:output_type -> cloudmind.content.UpdateOrderResp + 95, // 166: cloudmind.content.ContentService.GetOrder:output_type -> cloudmind.content.GetOrderResp + 97, // 167: cloudmind.content.ContentService.GetOrders:output_type -> cloudmind.content.GetOrdersResp + 99, // 168: cloudmind.content.ContentService.CreateItems:output_type -> cloudmind.content.CreateItemsResp + 101, // 169: cloudmind.content.ContentService.UpdateItem:output_type -> cloudmind.content.UpdateItemResp + 103, // 170: cloudmind.content.ContentService.DeleteItem:output_type -> cloudmind.content.DeleteItemResp + 105, // 171: cloudmind.content.ContentService.GetRecommendByUser:output_type -> cloudmind.content.GetRecommendByUserResp + 107, // 172: cloudmind.content.ContentService.GetRecommendByItem:output_type -> cloudmind.content.GetRecommendByItemResp + 109, // 173: cloudmind.content.ContentService.GetPopularRecommend:output_type -> cloudmind.content.GetPopularRecommendResp + 111, // 174: cloudmind.content.ContentService.GetLatestRecommend:output_type -> cloudmind.content.GetLatestRecommendResp + 113, // 175: cloudmind.content.ContentService.CreateFeedBacks:output_type -> cloudmind.content.CreateFeedBacksResp + 119, // [119:176] is the sub-list for method output_type + 62, // [62:119] is the sub-list for method input_type + 62, // [62:62] is the sub-list for extension type_name + 62, // [62:62] is the sub-list for extension extendee + 0, // [0:62] is the sub-list for field type_name } func init() { file_cloudmind_content_content_proto_init() } @@ -8634,7 +8878,6 @@ func file_cloudmind_content_content_proto_init() { file_cloudmind_content_content_proto_msgTypes[44].OneofWrappers = []interface{}{} file_cloudmind_content_content_proto_msgTypes[52].OneofWrappers = []interface{}{} file_cloudmind_content_content_proto_msgTypes[66].OneofWrappers = []interface{}{} - file_cloudmind_content_content_proto_msgTypes[74].OneofWrappers = []interface{}{} file_cloudmind_content_content_proto_msgTypes[76].OneofWrappers = []interface{}{} file_cloudmind_content_content_proto_msgTypes[84].OneofWrappers = []interface{}{} file_cloudmind_content_content_proto_msgTypes[86].OneofWrappers = []interface{}{} diff --git a/kitex_gen/cloudmind/core_api/common.pb.fast.go b/kitex_gen/cloudmind/core_api/common.pb.fast.go index a38fae8..dc99ea2 100644 --- a/kitex_gen/cloudmind/core_api/common.pb.fast.go +++ b/kitex_gen/cloudmind/core_api/common.pb.fast.go @@ -1402,116 +1402,6 @@ func (x *Post) fastReadField9(buf []byte, _type int8) (offset int, err error) { return offset, err } -func (x *OwnPost) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { - switch number { - case 1: - offset, err = x.fastReadField1(buf, _type) - if err != nil { - goto ReadFieldError - } - case 2: - offset, err = x.fastReadField2(buf, _type) - if err != nil { - goto ReadFieldError - } - case 3: - offset, err = x.fastReadField3(buf, _type) - if err != nil { - goto ReadFieldError - } - case 4: - offset, err = x.fastReadField4(buf, _type) - if err != nil { - goto ReadFieldError - } - case 5: - offset, err = x.fastReadField5(buf, _type) - if err != nil { - goto ReadFieldError - } - case 6: - offset, err = x.fastReadField6(buf, _type) - if err != nil { - goto ReadFieldError - } - case 7: - offset, err = x.fastReadField7(buf, _type) - if err != nil { - goto ReadFieldError - } - case 8: - offset, err = x.fastReadField8(buf, _type) - if err != nil { - goto ReadFieldError - } - case 9: - offset, err = x.fastReadField9(buf, _type) - if err != nil { - goto ReadFieldError - } - default: - offset, err = fastpb.Skip(buf, _type, number) - if err != nil { - goto SkipFieldError - } - } - return offset, nil -SkipFieldError: - return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) -ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_OwnPost[number], err) -} - -func (x *OwnPost) fastReadField1(buf []byte, _type int8) (offset int, err error) { - x.PostId, offset, err = fastpb.ReadString(buf, _type) - return offset, err -} - -func (x *OwnPost) fastReadField2(buf []byte, _type int8) (offset int, err error) { - x.Title, offset, err = fastpb.ReadString(buf, _type) - return offset, err -} - -func (x *OwnPost) fastReadField3(buf []byte, _type int8) (offset int, err error) { - x.Text, offset, err = fastpb.ReadString(buf, _type) - return offset, err -} - -func (x *OwnPost) fastReadField4(buf []byte, _type int8) (offset int, err error) { - x.Url, offset, err = fastpb.ReadString(buf, _type) - return offset, err -} - -func (x *OwnPost) fastReadField5(buf []byte, _type int8) (offset int, err error) { - var v string - v, offset, err = fastpb.ReadString(buf, _type) - if err != nil { - return offset, err - } - x.Tags = append(x.Tags, v) - return offset, err -} - -func (x *OwnPost) fastReadField6(buf []byte, _type int8) (offset int, err error) { - x.LikeCount, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err -} - -func (x *OwnPost) fastReadField7(buf []byte, _type int8) (offset int, err error) { - x.CommentCount, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err -} - -func (x *OwnPost) fastReadField8(buf []byte, _type int8) (offset int, err error) { - x.Liked, offset, err = fastpb.ReadBool(buf, _type) - return offset, err -} - -func (x *OwnPost) fastReadField9(buf []byte, _type int8) (offset int, err error) { - x.UserName, offset, err = fastpb.ReadString(buf, _type) - return offset, err -} - func (x *Notification) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: @@ -2690,6 +2580,151 @@ func (x *Recommends) fastReadField2(buf []byte, _type int8) (offset int, err err return offset, nil } +func (x *Product) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + case 4: + offset, err = x.fastReadField4(buf, _type) + if err != nil { + goto ReadFieldError + } + case 5: + offset, err = x.fastReadField5(buf, _type) + if err != nil { + goto ReadFieldError + } + case 6: + offset, err = x.fastReadField6(buf, _type) + if err != nil { + goto ReadFieldError + } + case 7: + offset, err = x.fastReadField7(buf, _type) + if err != nil { + goto ReadFieldError + } + case 8: + offset, err = x.fastReadField8(buf, _type) + if err != nil { + goto ReadFieldError + } + case 9: + offset, err = x.fastReadField9(buf, _type) + if err != nil { + goto ReadFieldError + } + case 10: + offset, err = x.fastReadField10(buf, _type) + if err != nil { + goto ReadFieldError + } + case 11: + offset, err = x.fastReadField11(buf, _type) + if err != nil { + goto ReadFieldError + } + case 12: + offset, err = x.fastReadField12(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_Product[number], err) +} + +func (x *Product) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.ProductId, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *Product) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *Product) fastReadField3(buf []byte, _type int8) (offset int, err error) { + x.Description, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *Product) fastReadField4(buf []byte, _type int8) (offset int, err error) { + x.Url, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *Product) fastReadField5(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err + } + x.Tags = append(x.Tags, v) + return offset, err +} + +func (x *Product) fastReadField6(buf []byte, _type int8) (offset int, err error) { + x.Type, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *Product) fastReadField7(buf []byte, _type int8) (offset int, err error) { + x.Price, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *Product) fastReadField8(buf []byte, _type int8) (offset int, err error) { + x.ProductSize, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *Product) fastReadField9(buf []byte, _type int8) (offset int, err error) { + var v User + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.User = &v + return offset, nil +} + +func (x *Product) fastReadField10(buf []byte, _type int8) (offset int, err error) { + x.CollectCount, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *Product) fastReadField11(buf []byte, _type int8) (offset int, err error) { + x.PurchaseCount, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *Product) fastReadField12(buf []byte, _type int8) (offset int, err error) { + x.CreateTime, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + func (x *User) FastWrite(buf []byte) (offset int) { if x == nil { return offset @@ -3775,96 +3810,6 @@ func (x *Post) fastWriteField9(buf []byte) (offset int) { return offset } -func (x *OwnPost) FastWrite(buf []byte) (offset int) { - if x == nil { - return offset - } - offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) - offset += x.fastWriteField3(buf[offset:]) - offset += x.fastWriteField4(buf[offset:]) - offset += x.fastWriteField5(buf[offset:]) - offset += x.fastWriteField6(buf[offset:]) - offset += x.fastWriteField7(buf[offset:]) - offset += x.fastWriteField8(buf[offset:]) - offset += x.fastWriteField9(buf[offset:]) - return offset -} - -func (x *OwnPost) fastWriteField1(buf []byte) (offset int) { - if x.PostId == "" { - return offset - } - offset += fastpb.WriteString(buf[offset:], 1, x.GetPostId()) - return offset -} - -func (x *OwnPost) fastWriteField2(buf []byte) (offset int) { - if x.Title == "" { - return offset - } - offset += fastpb.WriteString(buf[offset:], 2, x.GetTitle()) - return offset -} - -func (x *OwnPost) fastWriteField3(buf []byte) (offset int) { - if x.Text == "" { - return offset - } - offset += fastpb.WriteString(buf[offset:], 3, x.GetText()) - return offset -} - -func (x *OwnPost) fastWriteField4(buf []byte) (offset int) { - if x.Url == "" { - return offset - } - offset += fastpb.WriteString(buf[offset:], 4, x.GetUrl()) - return offset -} - -func (x *OwnPost) fastWriteField5(buf []byte) (offset int) { - if len(x.Tags) == 0 { - return offset - } - for i := range x.GetTags() { - offset += fastpb.WriteString(buf[offset:], 5, x.GetTags()[i]) - } - return offset -} - -func (x *OwnPost) fastWriteField6(buf []byte) (offset int) { - if x.LikeCount == 0 { - return offset - } - offset += fastpb.WriteInt64(buf[offset:], 6, x.GetLikeCount()) - return offset -} - -func (x *OwnPost) fastWriteField7(buf []byte) (offset int) { - if x.CommentCount == 0 { - return offset - } - offset += fastpb.WriteInt64(buf[offset:], 7, x.GetCommentCount()) - return offset -} - -func (x *OwnPost) fastWriteField8(buf []byte) (offset int) { - if !x.Liked { - return offset - } - offset += fastpb.WriteBool(buf[offset:], 8, x.GetLiked()) - return offset -} - -func (x *OwnPost) fastWriteField9(buf []byte) (offset int) { - if x.UserName == "" { - return offset - } - offset += fastpb.WriteString(buf[offset:], 9, x.GetUserName()) - return offset -} - func (x *Notification) FastWrite(buf []byte) (offset int) { if x == nil { return offset @@ -4666,122 +4611,239 @@ func (x *SubjectInfo) fastWriteField4(buf []byte) (offset int) { if x.Attrs == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 4, x.GetAttrs()) + offset += fastpb.WriteInt64(buf[offset:], 4, x.GetAttrs()) + return offset +} + +func (x *Label) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + return offset +} + +func (x *Label) fastWriteField1(buf []byte) (offset int) { + if x.LabelId == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetLabelId()) + return offset +} + +func (x *Label) fastWriteField2(buf []byte) (offset int) { + if x.Value == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 2, x.GetValue()) + return offset +} + +func (x *LabelEntity) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + return offset +} + +func (x *LabelEntity) fastWriteField1(buf []byte) (offset int) { + if x.ObjectId == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetObjectId()) + return offset +} + +func (x *LabelEntity) fastWriteField2(buf []byte) (offset int) { + if x.ObjectType == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 2, x.GetObjectType()) + return offset +} + +func (x *LabelEntity) fastWriteField3(buf []byte) (offset int) { + if len(x.Labels) == 0 { + return offset + } + for i := range x.GetLabels() { + offset += fastpb.WriteString(buf[offset:], 3, x.GetLabels()[i]) + } + return offset +} + +func (x *ObjectFilterOptions) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + return offset +} + +func (x *ObjectFilterOptions) fastWriteField1(buf []byte) (offset int) { + if x.OnlyLabelId == nil { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetOnlyLabelId()) + return offset +} + +func (x *ObjectFilterOptions) fastWriteField2(buf []byte) (offset int) { + if x.OnlyObjectType == nil { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 2, x.GetOnlyObjectType()) + return offset +} + +func (x *Recommends) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + return offset +} + +func (x *Recommends) fastWriteField1(buf []byte) (offset int) { + if x.Users == nil { + return offset + } + for i := range x.GetUsers() { + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetUsers()[i]) + } + return offset +} + +func (x *Recommends) fastWriteField2(buf []byte) (offset int) { + if x.Posts == nil { + return offset + } + for i := range x.GetPosts() { + offset += fastpb.WriteMessage(buf[offset:], 2, x.GetPosts()[i]) + } return offset } -func (x *Label) FastWrite(buf []byte) (offset int) { +func (x *Product) FastWrite(buf []byte) (offset int) { if x == nil { return offset } offset += x.fastWriteField1(buf[offset:]) offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + offset += x.fastWriteField4(buf[offset:]) + offset += x.fastWriteField5(buf[offset:]) + offset += x.fastWriteField6(buf[offset:]) + offset += x.fastWriteField7(buf[offset:]) + offset += x.fastWriteField8(buf[offset:]) + offset += x.fastWriteField9(buf[offset:]) + offset += x.fastWriteField10(buf[offset:]) + offset += x.fastWriteField11(buf[offset:]) + offset += x.fastWriteField12(buf[offset:]) return offset } -func (x *Label) fastWriteField1(buf []byte) (offset int) { - if x.LabelId == "" { +func (x *Product) fastWriteField1(buf []byte) (offset int) { + if x.ProductId == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetLabelId()) + offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) return offset } -func (x *Label) fastWriteField2(buf []byte) (offset int) { - if x.Value == "" { +func (x *Product) fastWriteField2(buf []byte) (offset int) { + if x.Name == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 2, x.GetValue()) + offset += fastpb.WriteString(buf[offset:], 2, x.GetName()) return offset } -func (x *LabelEntity) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *Product) fastWriteField3(buf []byte) (offset int) { + if x.Description == "" { return offset } - offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) - offset += x.fastWriteField3(buf[offset:]) + offset += fastpb.WriteString(buf[offset:], 3, x.GetDescription()) return offset } -func (x *LabelEntity) fastWriteField1(buf []byte) (offset int) { - if x.ObjectId == "" { +func (x *Product) fastWriteField4(buf []byte) (offset int) { + if x.Url == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetObjectId()) + offset += fastpb.WriteString(buf[offset:], 4, x.GetUrl()) return offset } -func (x *LabelEntity) fastWriteField2(buf []byte) (offset int) { - if x.ObjectType == 0 { +func (x *Product) fastWriteField5(buf []byte) (offset int) { + if len(x.Tags) == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 2, x.GetObjectType()) + for i := range x.GetTags() { + offset += fastpb.WriteString(buf[offset:], 5, x.GetTags()[i]) + } return offset } -func (x *LabelEntity) fastWriteField3(buf []byte) (offset int) { - if len(x.Labels) == 0 { +func (x *Product) fastWriteField6(buf []byte) (offset int) { + if x.Type == 0 { return offset } - for i := range x.GetLabels() { - offset += fastpb.WriteString(buf[offset:], 3, x.GetLabels()[i]) - } + offset += fastpb.WriteInt64(buf[offset:], 6, x.GetType()) return offset } -func (x *ObjectFilterOptions) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *Product) fastWriteField7(buf []byte) (offset int) { + if x.Price == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) + offset += fastpb.WriteInt64(buf[offset:], 7, x.GetPrice()) return offset } -func (x *ObjectFilterOptions) fastWriteField1(buf []byte) (offset int) { - if x.OnlyLabelId == nil { +func (x *Product) fastWriteField8(buf []byte) (offset int) { + if x.ProductSize == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetOnlyLabelId()) + offset += fastpb.WriteInt64(buf[offset:], 8, x.GetProductSize()) return offset } -func (x *ObjectFilterOptions) fastWriteField2(buf []byte) (offset int) { - if x.OnlyObjectType == nil { +func (x *Product) fastWriteField9(buf []byte) (offset int) { + if x.User == nil { return offset } - offset += fastpb.WriteInt64(buf[offset:], 2, x.GetOnlyObjectType()) + offset += fastpb.WriteMessage(buf[offset:], 9, x.GetUser()) return offset } -func (x *Recommends) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *Product) fastWriteField10(buf []byte) (offset int) { + if x.CollectCount == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) + offset += fastpb.WriteInt64(buf[offset:], 10, x.GetCollectCount()) return offset } -func (x *Recommends) fastWriteField1(buf []byte) (offset int) { - if x.Users == nil { +func (x *Product) fastWriteField11(buf []byte) (offset int) { + if x.PurchaseCount == 0 { return offset } - for i := range x.GetUsers() { - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetUsers()[i]) - } + offset += fastpb.WriteInt64(buf[offset:], 11, x.GetPurchaseCount()) return offset } -func (x *Recommends) fastWriteField2(buf []byte) (offset int) { - if x.Posts == nil { +func (x *Product) fastWriteField12(buf []byte) (offset int) { + if x.CreateTime == 0 { return offset } - for i := range x.GetPosts() { - offset += fastpb.WriteMessage(buf[offset:], 2, x.GetPosts()[i]) - } + offset += fastpb.WriteInt64(buf[offset:], 12, x.GetCreateTime()) return offset } @@ -5870,96 +5932,6 @@ func (x *Post) sizeField9() (n int) { return n } -func (x *OwnPost) Size() (n int) { - if x == nil { - return n - } - n += x.sizeField1() - n += x.sizeField2() - n += x.sizeField3() - n += x.sizeField4() - n += x.sizeField5() - n += x.sizeField6() - n += x.sizeField7() - n += x.sizeField8() - n += x.sizeField9() - return n -} - -func (x *OwnPost) sizeField1() (n int) { - if x.PostId == "" { - return n - } - n += fastpb.SizeString(1, x.GetPostId()) - return n -} - -func (x *OwnPost) sizeField2() (n int) { - if x.Title == "" { - return n - } - n += fastpb.SizeString(2, x.GetTitle()) - return n -} - -func (x *OwnPost) sizeField3() (n int) { - if x.Text == "" { - return n - } - n += fastpb.SizeString(3, x.GetText()) - return n -} - -func (x *OwnPost) sizeField4() (n int) { - if x.Url == "" { - return n - } - n += fastpb.SizeString(4, x.GetUrl()) - return n -} - -func (x *OwnPost) sizeField5() (n int) { - if len(x.Tags) == 0 { - return n - } - for i := range x.GetTags() { - n += fastpb.SizeString(5, x.GetTags()[i]) - } - return n -} - -func (x *OwnPost) sizeField6() (n int) { - if x.LikeCount == 0 { - return n - } - n += fastpb.SizeInt64(6, x.GetLikeCount()) - return n -} - -func (x *OwnPost) sizeField7() (n int) { - if x.CommentCount == 0 { - return n - } - n += fastpb.SizeInt64(7, x.GetCommentCount()) - return n -} - -func (x *OwnPost) sizeField8() (n int) { - if !x.Liked { - return n - } - n += fastpb.SizeBool(8, x.GetLiked()) - return n -} - -func (x *OwnPost) sizeField9() (n int) { - if x.UserName == "" { - return n - } - n += fastpb.SizeString(9, x.GetUserName()) - return n -} - func (x *Notification) Size() (n int) { if x == nil { return n @@ -6880,6 +6852,123 @@ func (x *Recommends) sizeField2() (n int) { return n } +func (x *Product) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + n += x.sizeField6() + n += x.sizeField7() + n += x.sizeField8() + n += x.sizeField9() + n += x.sizeField10() + n += x.sizeField11() + n += x.sizeField12() + return n +} + +func (x *Product) sizeField1() (n int) { + if x.ProductId == "" { + return n + } + n += fastpb.SizeString(1, x.GetProductId()) + return n +} + +func (x *Product) sizeField2() (n int) { + if x.Name == "" { + return n + } + n += fastpb.SizeString(2, x.GetName()) + return n +} + +func (x *Product) sizeField3() (n int) { + if x.Description == "" { + return n + } + n += fastpb.SizeString(3, x.GetDescription()) + return n +} + +func (x *Product) sizeField4() (n int) { + if x.Url == "" { + return n + } + n += fastpb.SizeString(4, x.GetUrl()) + return n +} + +func (x *Product) sizeField5() (n int) { + if len(x.Tags) == 0 { + return n + } + for i := range x.GetTags() { + n += fastpb.SizeString(5, x.GetTags()[i]) + } + return n +} + +func (x *Product) sizeField6() (n int) { + if x.Type == 0 { + return n + } + n += fastpb.SizeInt64(6, x.GetType()) + return n +} + +func (x *Product) sizeField7() (n int) { + if x.Price == 0 { + return n + } + n += fastpb.SizeInt64(7, x.GetPrice()) + return n +} + +func (x *Product) sizeField8() (n int) { + if x.ProductSize == 0 { + return n + } + n += fastpb.SizeInt64(8, x.GetProductSize()) + return n +} + +func (x *Product) sizeField9() (n int) { + if x.User == nil { + return n + } + n += fastpb.SizeMessage(9, x.GetUser()) + return n +} + +func (x *Product) sizeField10() (n int) { + if x.CollectCount == 0 { + return n + } + n += fastpb.SizeInt64(10, x.GetCollectCount()) + return n +} + +func (x *Product) sizeField11() (n int) { + if x.PurchaseCount == 0 { + return n + } + n += fastpb.SizeInt64(11, x.GetPurchaseCount()) + return n +} + +func (x *Product) sizeField12() (n int) { + if x.CreateTime == 0 { + return n + } + n += fastpb.SizeInt64(12, x.GetCreateTime()) + return n +} + var fieldIDToName_User = map[int32]string{ 1: "UserId", 2: "Name", @@ -7037,18 +7126,6 @@ var fieldIDToName_Post = map[int32]string{ 9: "UserName", } -var fieldIDToName_OwnPost = map[int32]string{ - 1: "PostId", - 2: "Title", - 3: "Text", - 4: "Url", - 5: "Tags", - 6: "LikeCount", - 7: "CommentCount", - 8: "Liked", - 9: "UserName", -} - var fieldIDToName_Notification = map[int32]string{ 1: "NotificationId", 2: "SourceUserId", @@ -7181,6 +7258,21 @@ var fieldIDToName_Recommends = map[int32]string{ 2: "Posts", } +var fieldIDToName_Product = map[int32]string{ + 1: "ProductId", + 2: "Name", + 3: "Description", + 4: "Url", + 5: "Tags", + 6: "Type", + 7: "Price", + 8: "ProductSize", + 9: "User", + 10: "CollectCount", + 11: "PurchaseCount", + 12: "CreateTime", +} + var _ = sts.File_cloudmind_sts_common_proto var _ = content.File_cloudmind_content_common_proto var _ = comment.File_platform_comment_common_proto diff --git a/kitex_gen/cloudmind/core_api/common.pb.go b/kitex_gen/cloudmind/core_api/common.pb.go index 7295de4..ff2d1e3 100644 --- a/kitex_gen/cloudmind/core_api/common.pb.go +++ b/kitex_gen/cloudmind/core_api/common.pb.go @@ -91,6 +91,7 @@ const ( RelationType_ShareType RelationType = 4 RelationType_CommentType RelationType = 5 RelationType_ViewType RelationType = 6 + RelationType_PurchaseType RelationType = 7 ) // Enum value maps for RelationType. @@ -103,6 +104,7 @@ var ( 4: "ShareType", 5: "CommentType", 6: "ViewType", + 7: "PurchaseType", } RelationType_value = map[string]int32{ "UnKnowRelationType": 0, @@ -112,6 +114,7 @@ var ( "ShareType": 4, "CommentType": 5, "ViewType": 6, + "PurchaseType": 7, } ) @@ -402,6 +405,104 @@ func (Category) EnumDescriptor() ([]byte, []int) { return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{6} } +type PostStatus int32 + +const ( + PostStatus_UnknowPostStatus PostStatus = 0 + PostStatus_PublicPostStatus PostStatus = 1 + PostStatus_PrivatePostStatus PostStatus = 2 +) + +// Enum value maps for PostStatus. +var ( + PostStatus_name = map[int32]string{ + 0: "UnknowPostStatus", + 1: "PublicPostStatus", + 2: "PrivatePostStatus", + } + PostStatus_value = map[string]int32{ + "UnknowPostStatus": 0, + "PublicPostStatus": 1, + "PrivatePostStatus": 2, + } +) + +func (x PostStatus) Enum() *PostStatus { + p := new(PostStatus) + *p = x + return p +} + +func (x PostStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PostStatus) Descriptor() protoreflect.EnumDescriptor { + return file_cloudmind_core_api_common_proto_enumTypes[7].Descriptor() +} + +func (PostStatus) Type() protoreflect.EnumType { + return &file_cloudmind_core_api_common_proto_enumTypes[7] +} + +func (x PostStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PostStatus.Descriptor instead. +func (PostStatus) EnumDescriptor() ([]byte, []int) { + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{7} +} + +type ProductStatus int32 + +const ( + ProductStatus_UnknowProductStatus ProductStatus = 0 + ProductStatus_PublicProductStatus ProductStatus = 1 + ProductStatus_PrivateProductStatus ProductStatus = 2 +) + +// Enum value maps for ProductStatus. +var ( + ProductStatus_name = map[int32]string{ + 0: "UnknowProductStatus", + 1: "PublicProductStatus", + 2: "PrivateProductStatus", + } + ProductStatus_value = map[string]int32{ + "UnknowProductStatus": 0, + "PublicProductStatus": 1, + "PrivateProductStatus": 2, + } +) + +func (x ProductStatus) Enum() *ProductStatus { + p := new(ProductStatus) + *p = x + return p +} + +func (x ProductStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ProductStatus) Descriptor() protoreflect.EnumDescriptor { + return file_cloudmind_core_api_common_proto_enumTypes[8].Descriptor() +} + +func (ProductStatus) Type() protoreflect.EnumType { + return &file_cloudmind_core_api_common_proto_enumTypes[8] +} + +func (x ProductStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ProductStatus.Descriptor instead. +func (ProductStatus) EnumDescriptor() ([]byte, []int) { + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{8} +} + type User struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1939,117 +2040,6 @@ func (x *Post) GetUserName() string { return "" } -type OwnPost struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PostId string `protobuf:"bytes,1,opt,name=postId,proto3" json:"postId,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` - Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` - Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` - LikeCount int64 `protobuf:"varint,6,opt,name=likeCount,proto3" json:"likeCount,omitempty"` // 点赞量 - CommentCount int64 `protobuf:"varint,7,opt,name=commentCount,proto3" json:"commentCount,omitempty"` // 评论量 - Liked bool `protobuf:"varint,8,opt,name=liked,proto3" json:"liked,omitempty"` // 是否点赞 - UserName string `protobuf:"bytes,9,opt,name=userName,proto3" json:"userName,omitempty"` -} - -func (x *OwnPost) Reset() { - *x = OwnPost{} - if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OwnPost) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OwnPost) ProtoMessage() {} - -func (x *OwnPost) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OwnPost.ProtoReflect.Descriptor instead. -func (*OwnPost) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{17} -} - -func (x *OwnPost) GetPostId() string { - if x != nil { - return x.PostId - } - return "" -} - -func (x *OwnPost) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *OwnPost) GetText() string { - if x != nil { - return x.Text - } - return "" -} - -func (x *OwnPost) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *OwnPost) GetTags() []string { - if x != nil { - return x.Tags - } - return nil -} - -func (x *OwnPost) GetLikeCount() int64 { - if x != nil { - return x.LikeCount - } - return 0 -} - -func (x *OwnPost) GetCommentCount() int64 { - if x != nil { - return x.CommentCount - } - return 0 -} - -func (x *OwnPost) GetLiked() bool { - if x != nil { - return x.Liked - } - return false -} - -func (x *OwnPost) GetUserName() string { - if x != nil { - return x.UserName - } - return "" -} - type Notification struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2067,7 +2057,7 @@ type Notification struct { func (x *Notification) Reset() { *x = Notification{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[18] + mi := &file_cloudmind_core_api_common_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2080,7 +2070,7 @@ func (x *Notification) String() string { func (*Notification) ProtoMessage() {} func (x *Notification) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[18] + mi := &file_cloudmind_core_api_common_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2093,7 +2083,7 @@ func (x *Notification) ProtoReflect() protoreflect.Message { // Deprecated: Use Notification.ProtoReflect.Descriptor instead. func (*Notification) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{18} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{17} } func (x *Notification) GetNotificationId() string { @@ -2161,7 +2151,7 @@ type Content struct { func (x *Content) Reset() { *x = Content{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[19] + mi := &file_cloudmind_core_api_common_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2174,7 +2164,7 @@ func (x *Content) String() string { func (*Content) ProtoMessage() {} func (x *Content) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[19] + mi := &file_cloudmind_core_api_common_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2187,7 +2177,7 @@ func (x *Content) ProtoReflect() protoreflect.Message { // Deprecated: Use Content.ProtoReflect.Descriptor instead. func (*Content) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{19} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{18} } func (x *Content) GetId() string { @@ -2250,7 +2240,7 @@ type IndexInfo struct { func (x *IndexInfo) Reset() { *x = IndexInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[20] + mi := &file_cloudmind_core_api_common_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2263,7 +2253,7 @@ func (x *IndexInfo) String() string { func (*IndexInfo) ProtoMessage() {} func (x *IndexInfo) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[20] + mi := &file_cloudmind_core_api_common_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2276,7 +2266,7 @@ func (x *IndexInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use IndexInfo.ProtoReflect.Descriptor instead. func (*IndexInfo) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{20} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{19} } func (x *IndexInfo) GetId() string { @@ -2358,7 +2348,7 @@ type Comment struct { func (x *Comment) Reset() { *x = Comment{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[21] + mi := &file_cloudmind_core_api_common_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2371,7 +2361,7 @@ func (x *Comment) String() string { func (*Comment) ProtoMessage() {} func (x *Comment) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[21] + mi := &file_cloudmind_core_api_common_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2384,7 +2374,7 @@ func (x *Comment) ProtoReflect() protoreflect.Message { // Deprecated: Use Comment.ProtoReflect.Descriptor instead. func (*Comment) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{21} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{20} } func (x *Comment) GetId() string { @@ -2502,7 +2492,7 @@ type CommentInfo struct { func (x *CommentInfo) Reset() { *x = CommentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[22] + mi := &file_cloudmind_core_api_common_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2515,7 +2505,7 @@ func (x *CommentInfo) String() string { func (*CommentInfo) ProtoMessage() {} func (x *CommentInfo) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[22] + mi := &file_cloudmind_core_api_common_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2528,7 +2518,7 @@ func (x *CommentInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CommentInfo.ProtoReflect.Descriptor instead. func (*CommentInfo) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{22} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{21} } func (x *CommentInfo) GetId() string { @@ -2647,7 +2637,7 @@ type CommentFilterOptions struct { func (x *CommentFilterOptions) Reset() { *x = CommentFilterOptions{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[23] + mi := &file_cloudmind_core_api_common_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2660,7 +2650,7 @@ func (x *CommentFilterOptions) String() string { func (*CommentFilterOptions) ProtoMessage() {} func (x *CommentFilterOptions) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[23] + mi := &file_cloudmind_core_api_common_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2673,7 +2663,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{23} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{22} } func (x *CommentFilterOptions) GetOnlyUserId() string { @@ -2747,7 +2737,7 @@ type SubjectFilterOptions struct { func (x *SubjectFilterOptions) Reset() { *x = SubjectFilterOptions{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[24] + mi := &file_cloudmind_core_api_common_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2760,7 +2750,7 @@ func (x *SubjectFilterOptions) String() string { func (*SubjectFilterOptions) ProtoMessage() {} func (x *SubjectFilterOptions) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[24] + mi := &file_cloudmind_core_api_common_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2773,7 +2763,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{24} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{23} } func (x *SubjectFilterOptions) GetOnlyUserId() string { @@ -2829,7 +2819,7 @@ type Subject struct { func (x *Subject) Reset() { *x = Subject{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[25] + mi := &file_cloudmind_core_api_common_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2842,7 +2832,7 @@ func (x *Subject) String() string { func (*Subject) ProtoMessage() {} func (x *Subject) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[25] + mi := &file_cloudmind_core_api_common_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2855,7 +2845,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{25} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{24} } func (x *Subject) GetId() string { @@ -2932,7 +2922,7 @@ type SubjectDetails struct { func (x *SubjectDetails) Reset() { *x = SubjectDetails{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[26] + mi := &file_cloudmind_core_api_common_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2945,7 +2935,7 @@ func (x *SubjectDetails) String() string { func (*SubjectDetails) ProtoMessage() {} func (x *SubjectDetails) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[26] + mi := &file_cloudmind_core_api_common_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2958,7 +2948,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{26} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{25} } func (x *SubjectDetails) GetId() string { @@ -3031,7 +3021,7 @@ type SubjectInfo struct { func (x *SubjectInfo) Reset() { *x = SubjectInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[27] + mi := &file_cloudmind_core_api_common_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3044,7 +3034,7 @@ func (x *SubjectInfo) String() string { func (*SubjectInfo) ProtoMessage() {} func (x *SubjectInfo) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[27] + mi := &file_cloudmind_core_api_common_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3057,7 +3047,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{27} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{26} } func (x *SubjectInfo) GetId() string { @@ -3100,7 +3090,7 @@ type Label struct { func (x *Label) Reset() { *x = Label{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[28] + mi := &file_cloudmind_core_api_common_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3113,7 +3103,7 @@ func (x *Label) String() string { func (*Label) ProtoMessage() {} func (x *Label) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[28] + 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 { @@ -3126,7 +3116,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{28} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{27} } func (x *Label) GetLabelId() string { @@ -3156,7 +3146,7 @@ type LabelEntity struct { func (x *LabelEntity) Reset() { *x = LabelEntity{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[29] + mi := &file_cloudmind_core_api_common_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3169,7 +3159,7 @@ func (x *LabelEntity) String() string { func (*LabelEntity) ProtoMessage() {} func (x *LabelEntity) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[29] + 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 { @@ -3182,7 +3172,7 @@ func (x *LabelEntity) ProtoReflect() protoreflect.Message { // Deprecated: Use LabelEntity.ProtoReflect.Descriptor instead. func (*LabelEntity) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{29} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{28} } func (x *LabelEntity) GetObjectId() string { @@ -3218,7 +3208,7 @@ type ObjectFilterOptions struct { func (x *ObjectFilterOptions) Reset() { *x = ObjectFilterOptions{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[30] + mi := &file_cloudmind_core_api_common_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3231,7 +3221,7 @@ func (x *ObjectFilterOptions) String() string { func (*ObjectFilterOptions) ProtoMessage() {} func (x *ObjectFilterOptions) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[30] + 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 { @@ -3244,7 +3234,7 @@ func (x *ObjectFilterOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use ObjectFilterOptions.ProtoReflect.Descriptor instead. func (*ObjectFilterOptions) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{30} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{29} } func (x *ObjectFilterOptions) GetOnlyLabelId() string { @@ -3273,7 +3263,7 @@ type Recommends struct { func (x *Recommends) Reset() { *x = Recommends{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_common_proto_msgTypes[31] + mi := &file_cloudmind_core_api_common_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3286,7 +3276,7 @@ func (x *Recommends) String() string { func (*Recommends) ProtoMessage() {} func (x *Recommends) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_common_proto_msgTypes[31] + 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 { @@ -3299,7 +3289,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{31} + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{30} } func (x *Recommends) GetUsers() []*User { @@ -3316,6 +3306,141 @@ func (x *Recommends) GetPosts() []*Post { return nil } +type Product struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductId string `protobuf:"bytes,1,opt,name=productId,proto3" json:"productId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 商品名称 + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // 商品描述 + Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` // 商品图片 + Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` // 标签 + Type int64 `protobuf:"varint,6,opt,name=type,proto3" json:"type,omitempty"` // 商品类型 + Price int64 `protobuf:"varint,7,opt,name=price,proto3" json:"price,omitempty"` // 商品价格 + ProductSize int64 `protobuf:"varint,8,opt,name=productSize,proto3" json:"productSize,omitempty"` // 商品大小 + User *User `protobuf:"bytes,9,opt,name=user,proto3" json:"user,omitempty"` // 商家信息 + CollectCount int64 `protobuf:"varint,10,opt,name=collectCount,proto3" json:"collectCount,omitempty"` // 收藏量 + PurchaseCount int64 `protobuf:"varint,11,opt,name=purchaseCount,proto3" json:"purchaseCount,omitempty"` // 购买量 + CreateTime int64 `protobuf:"varint,12,opt,name=createTime,proto3" json:"createTime,omitempty"` // 创建时间 +} + +func (x *Product) Reset() { + *x = Product{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_common_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Product) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Product) ProtoMessage() {} + +func (x *Product) ProtoReflect() protoreflect.Message { + 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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Product.ProtoReflect.Descriptor instead. +func (*Product) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_common_proto_rawDescGZIP(), []int{31} +} + +func (x *Product) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + +func (x *Product) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Product) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Product) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *Product) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *Product) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *Product) GetPrice() int64 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *Product) GetProductSize() int64 { + if x != nil { + return x.ProductSize + } + return 0 +} + +func (x *Product) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *Product) GetCollectCount() int64 { + if x != nil { + return x.CollectCount + } + return 0 +} + +func (x *Product) GetPurchaseCount() int64 { + if x != nil { + return x.PurchaseCount + } + return 0 +} + +func (x *Product) GetCreateTime() int64 { + if x != nil { + return x.CreateTime + } + return 0 +} + var File_cloudmind_core_api_common_proto protoreflect.FileDescriptor var file_cloudmind_core_api_common_proto_rawDesc = []byte{ @@ -3546,261 +3671,281 @@ var file_cloudmind_core_api_common_proto_rawDesc = []byte{ 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x07, 0x4f, 0x77, - 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 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, 0x1c, 0x0a, - 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, - 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 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, 0x1a, 0x0a, 0x08, - 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x49, 0x6e, 0x66, 0x6f, 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, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x88, 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, 0x19, 0x0a, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x63, 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, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 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, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xdb, 0x02, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x12, 0x0a, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 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, 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, 0x9d, 0x02, 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, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, - 0x49, 0x74, 0x65, 0x6d, 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, 0x21, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 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, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 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, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x49, 0x74, 0x65, 0x6d, 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, 0xae, 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, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 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, 0x04, 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, 0x05, 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, 0x06, 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, 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, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x61, - 0x74, 0x74, 0x72, 0x73, 0x18, 0x08, 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, 0xda, 0x01, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x0c, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, + 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x22, 0x9b, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 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, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, + 0x74, 0x61, 0x18, 0x05, 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, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc3, + 0x01, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 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, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x22, 0x88, 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, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x00, 0x52, 0x05, 0x63, 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, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x61, 0x67, 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, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0xdb, 0x02, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 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, 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, 0x9d, + 0x02, 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, 0x23, 0x0a, 0x0a, + 0x6f, 0x6e, 0x6c, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x49, 0x74, 0x65, 0x6d, 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, 0x21, 0x0a, 0x09, + 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x03, 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, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x04, 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, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x49, 0x74, 0x65, 0x6d, 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, 0xae, + 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, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, + 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, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x54, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, + 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, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, - 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, - 0x74, 0x74, 0x72, 0x73, 0x22, 0x63, 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, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x37, 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, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x61, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, - 0x0b, 0x6f, 0x6e, 0x6c, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x6c, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, 0x6f, 0x6e, 0x6c, 0x79, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x0e, - 0x6f, 0x6e, 0x6c, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, - 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x54, 0x79, 0x70, 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, 0x2a, 0x5d, 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, 0x0f, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, - 0x04, 0x2a, 0x83, 0x01, 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, 0x0c, 0x0a, 0x08, 0x4c, 0x69, - 0x6b, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x6f, 0x6c, 0x6c, - 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x69, 0x65, - 0x77, 0x54, 0x79, 0x70, 0x65, 0x10, 0x06, 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, 0x69, 0x0a, - 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x6e, 0x6b, - 0x6e, 0x6f, 0x77, 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, 0x13, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x04, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x6c, 0x2d, - 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, - 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, + 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, 0x06, 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, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x08, 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, + 0xda, 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, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 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, 0x04, 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, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x63, 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, 0x69, + 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x74, 0x74, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, + 0x73, 0x22, 0x37, 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, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x61, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x8c, 0x01, + 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x6f, 0x6e, 0x6c, 0x79, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, + 0x6c, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, + 0x6f, 0x6e, 0x6c, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x0e, 0x6f, 0x6e, 0x6c, 0x79, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 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, 0x5d, 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, 0x0f, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x10, 0x04, 0x2a, 0x95, 0x01, 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, 0x0c, 0x0a, 0x08, + 0x4c, 0x69, 0x6b, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x6f, + 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x56, + 0x69, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x10, 0x07, 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, 0x69, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, + 0x0e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 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, 0x13, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6f, + 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x04, 0x2a, 0x4f, 0x0a, 0x0a, + 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x6e, + 0x6b, 0x6e, 0x6f, 0x77, 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, 0x15, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x02, 0x2a, 0x5b, 0x0a, + 0x0d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, + 0x0a, 0x13, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 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, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, + 0x6c, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, + 0x65, 0x6e, 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 ( @@ -3815,7 +3960,7 @@ func file_cloudmind_core_api_common_proto_rawDescGZIP() []byte { return file_cloudmind_core_api_common_proto_rawDescData } -var file_cloudmind_core_api_common_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_cloudmind_core_api_common_proto_enumTypes = make([]protoimpl.EnumInfo, 9) var file_cloudmind_core_api_common_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_cloudmind_core_api_common_proto_goTypes = []interface{}{ (TargetType)(0), // 0: cloudmind.core_api.TargetType @@ -3825,55 +3970,58 @@ var file_cloudmind_core_api_common_proto_goTypes = []interface{}{ (State)(0), // 4: cloudmind.core_api.State (Attrs)(0), // 5: cloudmind.core_api.Attrs (Category)(0), // 6: cloudmind.core_api.Category - (*User)(nil), // 7: cloudmind.core_api.User - (*UserDetail)(nil), // 8: cloudmind.core_api.UserDetail - (*PrivateFile)(nil), // 9: cloudmind.core_api.PrivateFile - (*PublicFile)(nil), // 10: cloudmind.core_api.PublicFile - (*Zone)(nil), // 11: cloudmind.core_api.Zone - (*ShareFile)(nil), // 12: cloudmind.core_api.ShareFile - (*ShareFileInfo)(nil), // 13: cloudmind.core_api.ShareFileInfo - (*ShareCode)(nil), // 14: cloudmind.core_api.ShareCode - (*SearchField)(nil), // 15: cloudmind.core_api.SearchField - (*SearchOptions)(nil), // 16: cloudmind.core_api.SearchOptions - (*FileFilterOptions)(nil), // 17: cloudmind.core_api.FileFilterOptions - (*ShareFileFilterOptions)(nil), // 18: cloudmind.core_api.ShareFileFilterOptions - (*UserDetailInfo)(nil), // 19: cloudmind.core_api.UserDetailInfo - (*UserInfo)(nil), // 20: cloudmind.core_api.UserInfo - (*PostCount)(nil), // 21: cloudmind.core_api.PostCount - (*PostRelation)(nil), // 22: cloudmind.core_api.PostRelation - (*Post)(nil), // 23: cloudmind.core_api.Post - (*OwnPost)(nil), // 24: cloudmind.core_api.OwnPost - (*Notification)(nil), // 25: cloudmind.core_api.Notification - (*Content)(nil), // 26: cloudmind.core_api.Content - (*IndexInfo)(nil), // 27: cloudmind.core_api.IndexInfo - (*Comment)(nil), // 28: cloudmind.core_api.Comment - (*CommentInfo)(nil), // 29: cloudmind.core_api.CommentInfo - (*CommentFilterOptions)(nil), // 30: cloudmind.core_api.CommentFilterOptions - (*SubjectFilterOptions)(nil), // 31: cloudmind.core_api.SubjectFilterOptions - (*Subject)(nil), // 32: cloudmind.core_api.Subject - (*SubjectDetails)(nil), // 33: cloudmind.core_api.SubjectDetails - (*SubjectInfo)(nil), // 34: cloudmind.core_api.SubjectInfo - (*Label)(nil), // 35: cloudmind.core_api.Label - (*LabelEntity)(nil), // 36: cloudmind.core_api.LabelEntity - (*ObjectFilterOptions)(nil), // 37: cloudmind.core_api.ObjectFilterOptions - (*Recommends)(nil), // 38: cloudmind.core_api.Recommends + (PostStatus)(0), // 7: cloudmind.core_api.PostStatus + (ProductStatus)(0), // 8: cloudmind.core_api.ProductStatus + (*User)(nil), // 9: cloudmind.core_api.User + (*UserDetail)(nil), // 10: cloudmind.core_api.UserDetail + (*PrivateFile)(nil), // 11: cloudmind.core_api.PrivateFile + (*PublicFile)(nil), // 12: cloudmind.core_api.PublicFile + (*Zone)(nil), // 13: cloudmind.core_api.Zone + (*ShareFile)(nil), // 14: cloudmind.core_api.ShareFile + (*ShareFileInfo)(nil), // 15: cloudmind.core_api.ShareFileInfo + (*ShareCode)(nil), // 16: cloudmind.core_api.ShareCode + (*SearchField)(nil), // 17: cloudmind.core_api.SearchField + (*SearchOptions)(nil), // 18: cloudmind.core_api.SearchOptions + (*FileFilterOptions)(nil), // 19: cloudmind.core_api.FileFilterOptions + (*ShareFileFilterOptions)(nil), // 20: cloudmind.core_api.ShareFileFilterOptions + (*UserDetailInfo)(nil), // 21: cloudmind.core_api.UserDetailInfo + (*UserInfo)(nil), // 22: cloudmind.core_api.UserInfo + (*PostCount)(nil), // 23: cloudmind.core_api.PostCount + (*PostRelation)(nil), // 24: cloudmind.core_api.PostRelation + (*Post)(nil), // 25: cloudmind.core_api.Post + (*Notification)(nil), // 26: cloudmind.core_api.Notification + (*Content)(nil), // 27: cloudmind.core_api.Content + (*IndexInfo)(nil), // 28: cloudmind.core_api.IndexInfo + (*Comment)(nil), // 29: cloudmind.core_api.Comment + (*CommentInfo)(nil), // 30: cloudmind.core_api.CommentInfo + (*CommentFilterOptions)(nil), // 31: cloudmind.core_api.CommentFilterOptions + (*SubjectFilterOptions)(nil), // 32: cloudmind.core_api.SubjectFilterOptions + (*Subject)(nil), // 33: cloudmind.core_api.Subject + (*SubjectDetails)(nil), // 34: cloudmind.core_api.SubjectDetails + (*SubjectInfo)(nil), // 35: cloudmind.core_api.SubjectInfo + (*Label)(nil), // 36: cloudmind.core_api.Label + (*LabelEntity)(nil), // 37: cloudmind.core_api.LabelEntity + (*ObjectFilterOptions)(nil), // 38: cloudmind.core_api.ObjectFilterOptions + (*Recommends)(nil), // 39: cloudmind.core_api.Recommends + (*Product)(nil), // 40: cloudmind.core_api.Product } var file_cloudmind_core_api_common_proto_depIdxs = []int32{ - 7, // 0: cloudmind.core_api.PublicFile.author:type_name -> cloudmind.core_api.User - 21, // 1: cloudmind.core_api.PublicFile.fileCount:type_name -> cloudmind.core_api.PostCount - 22, // 2: cloudmind.core_api.PublicFile.fileRelation:type_name -> cloudmind.core_api.PostRelation - 15, // 3: cloudmind.core_api.SearchOptions.multiFieldsKey:type_name -> cloudmind.core_api.SearchField + 9, // 0: cloudmind.core_api.PublicFile.author:type_name -> cloudmind.core_api.User + 23, // 1: cloudmind.core_api.PublicFile.fileCount:type_name -> cloudmind.core_api.PostCount + 24, // 2: cloudmind.core_api.PublicFile.fileRelation:type_name -> cloudmind.core_api.PostRelation + 17, // 3: cloudmind.core_api.SearchOptions.multiFieldsKey:type_name -> cloudmind.core_api.SearchField 4, // 4: cloudmind.core_api.Comment.state:type_name -> cloudmind.core_api.State 5, // 5: cloudmind.core_api.Comment.attrs:type_name -> cloudmind.core_api.Attrs 4, // 6: cloudmind.core_api.Subject.state:type_name -> cloudmind.core_api.State 5, // 7: cloudmind.core_api.Subject.attrs:type_name -> cloudmind.core_api.Attrs - 7, // 8: cloudmind.core_api.Recommends.users:type_name -> cloudmind.core_api.User - 23, // 9: cloudmind.core_api.Recommends.posts:type_name -> cloudmind.core_api.Post - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 9, // 8: cloudmind.core_api.Recommends.users:type_name -> cloudmind.core_api.User + 25, // 9: cloudmind.core_api.Recommends.posts:type_name -> cloudmind.core_api.Post + 9, // 10: cloudmind.core_api.Product.user:type_name -> cloudmind.core_api.User + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_cloudmind_core_api_common_proto_init() } @@ -4087,7 +4235,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OwnPost); i { + switch v := v.(*Notification); i { case 0: return &v.state case 1: @@ -4099,7 +4247,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Notification); i { + switch v := v.(*Content); i { case 0: return &v.state case 1: @@ -4111,7 +4259,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Content); i { + switch v := v.(*IndexInfo); i { case 0: return &v.state case 1: @@ -4123,7 +4271,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IndexInfo); i { + switch v := v.(*Comment); i { case 0: return &v.state case 1: @@ -4135,7 +4283,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Comment); i { + switch v := v.(*CommentInfo); i { case 0: return &v.state case 1: @@ -4147,7 +4295,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommentInfo); i { + switch v := v.(*CommentFilterOptions); i { case 0: return &v.state case 1: @@ -4159,7 +4307,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommentFilterOptions); i { + switch v := v.(*SubjectFilterOptions); i { case 0: return &v.state case 1: @@ -4171,7 +4319,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubjectFilterOptions); i { + switch v := v.(*Subject); i { case 0: return &v.state case 1: @@ -4183,7 +4331,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Subject); i { + switch v := v.(*SubjectDetails); i { case 0: return &v.state case 1: @@ -4195,7 +4343,7 @@ func file_cloudmind_core_api_common_proto_init() { } } file_cloudmind_core_api_common_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubjectDetails); i { + switch v := v.(*SubjectInfo); i { case 0: return &v.state case 1: @@ -4207,7 +4355,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.(*SubjectInfo); i { + switch v := v.(*Label); i { case 0: return &v.state case 1: @@ -4219,7 +4367,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.(*Label); i { + switch v := v.(*LabelEntity); i { case 0: return &v.state case 1: @@ -4231,7 +4379,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.(*LabelEntity); i { + switch v := v.(*ObjectFilterOptions); i { case 0: return &v.state case 1: @@ -4243,7 +4391,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.(*ObjectFilterOptions); i { + switch v := v.(*Recommends); i { case 0: return &v.state case 1: @@ -4255,7 +4403,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.(*Recommends); i { + switch v := v.(*Product); i { case 0: return &v.state case 1: @@ -4274,17 +4422,17 @@ func file_cloudmind_core_api_common_proto_init() { } file_cloudmind_core_api_common_proto_msgTypes[10].OneofWrappers = []interface{}{} file_cloudmind_core_api_common_proto_msgTypes[11].OneofWrappers = []interface{}{} - file_cloudmind_core_api_common_proto_msgTypes[21].OneofWrappers = []interface{}{} + file_cloudmind_core_api_common_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_cloudmind_core_api_common_proto_msgTypes[22].OneofWrappers = []interface{}{} file_cloudmind_core_api_common_proto_msgTypes[23].OneofWrappers = []interface{}{} file_cloudmind_core_api_common_proto_msgTypes[24].OneofWrappers = []interface{}{} - file_cloudmind_core_api_common_proto_msgTypes[25].OneofWrappers = []interface{}{} - file_cloudmind_core_api_common_proto_msgTypes[30].OneofWrappers = []interface{}{} + file_cloudmind_core_api_common_proto_msgTypes[29].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: 7, + NumEnums: 9, NumMessages: 32, NumExtensions: 0, NumServices: 0, diff --git a/kitex_gen/cloudmind/core_api/content.pb.fast.go b/kitex_gen/cloudmind/core_api/content.pb.fast.go index c10f89c..407607b 100644 --- a/kitex_gen/cloudmind/core_api/content.pb.fast.go +++ b/kitex_gen/cloudmind/core_api/content.pb.fast.go @@ -2860,7 +2860,7 @@ SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) } -func (x *GetOtherPostReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *GetPostReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) @@ -2877,15 +2877,15 @@ func (x *GetOtherPostReq) FastRead(buf []byte, _type int8, number int32) (offset SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetOtherPostReq[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetPostReq[number], err) } -func (x *GetOtherPostReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { x.PostId, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOtherPostResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *GetPostResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) @@ -2972,30 +2972,30 @@ func (x *GetOtherPostResp) FastRead(buf []byte, _type int8, number int32) (offse SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetOtherPostResp[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetPostResp[number], err) } -func (x *GetOtherPostResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { x.Title, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { x.Text, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { x.Status, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField4(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField4(buf []byte, _type int8) (offset int, err error) { x.Url, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField5(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField5(buf []byte, _type int8) (offset int, err error) { var v User offset, err = fastpb.ReadMessage(buf, _type, &v) if err != nil { @@ -3005,7 +3005,7 @@ func (x *GetOtherPostResp) fastReadField5(buf []byte, _type int8) (offset int, e return offset, nil } -func (x *GetOtherPostResp) fastReadField6(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField6(buf []byte, _type int8) (offset int, err error) { var v string v, offset, err = fastpb.ReadString(buf, _type) if err != nil { @@ -3015,52 +3015,52 @@ func (x *GetOtherPostResp) fastReadField6(buf []byte, _type int8) (offset int, e return offset, err } -func (x *GetOtherPostResp) fastReadField7(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField7(buf []byte, _type int8) (offset int, err error) { x.ViewCount, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField8(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField8(buf []byte, _type int8) (offset int, err error) { x.LikeCount, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField9(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField9(buf []byte, _type int8) (offset int, err error) { x.CommentCount, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField10(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField10(buf []byte, _type int8) (offset int, err error) { x.ShareCount, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField11(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField11(buf []byte, _type int8) (offset int, err error) { x.CollectCount, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField12(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField12(buf []byte, _type int8) (offset int, err error) { x.Liked, offset, err = fastpb.ReadBool(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField13(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField13(buf []byte, _type int8) (offset int, err error) { x.Collected, offset, err = fastpb.ReadBool(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField14(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField14(buf []byte, _type int8) (offset int, err error) { x.CreateTime, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostResp) fastReadField15(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostResp) fastReadField15(buf []byte, _type int8) (offset int, err error) { x.UpdateTime, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostsReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *GetPostsReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) @@ -3132,46 +3132,46 @@ func (x *GetOtherPostsReq) FastRead(buf []byte, _type int8, number int32) (offse SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetOtherPostsReq[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetPostsReq[number], err) } -func (x *GetOtherPostsReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadString(buf, _type) x.AllFieldsKey = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadString(buf, _type) x.Id = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadString(buf, _type) x.Tag = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadString(buf, _type) x.Text = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadString(buf, _type) x.Title = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadString(buf, _type) x.OnlyUserId = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField7(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField7(buf []byte, _type int8) (offset int, err error) { var v string v, offset, err = fastpb.ReadString(buf, _type) if err != nil { @@ -3181,37 +3181,37 @@ func (x *GetOtherPostsReq) fastReadField7(buf []byte, _type int8) (offset int, e return offset, err } -func (x *GetOtherPostsReq) fastReadField9(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField9(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadInt64(buf, _type) x.OnlySetRelation = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField10(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField10(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadInt64(buf, _type) x.Limit = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField11(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField11(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadString(buf, _type) x.LastToken = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField12(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField12(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadBool(buf, _type) x.Backward = &tmp return offset, err } -func (x *GetOtherPostsReq) fastReadField13(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsReq) fastReadField13(buf []byte, _type int8) (offset int, err error) { tmp, offset, err := fastpb.ReadInt64(buf, _type) x.Offset = &tmp return offset, err } -func (x *GetOtherPostsResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *GetPostsResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) @@ -3238,10 +3238,10 @@ func (x *GetOtherPostsResp) FastRead(buf []byte, _type int8, number int32) (offs SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetOtherPostsResp[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetPostsResp[number], err) } -func (x *GetOtherPostsResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { var v Post offset, err = fastpb.ReadMessage(buf, _type, &v) if err != nil { @@ -3251,23 +3251,28 @@ func (x *GetOtherPostsResp) fastReadField1(buf []byte, _type int8) (offset int, return offset, nil } -func (x *GetOtherPostsResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { x.Total, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOtherPostsResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { +func (x *GetPostsResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { x.Token, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOwnPostReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *CreateFeedBackReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -3278,15 +3283,33 @@ func (x *GetOwnPostReq) FastRead(buf []byte, _type int8, number int32) (offset i SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetOwnPostReq[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_CreateFeedBackReq[number], err) } -func (x *GetOwnPostReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - x.PostId, offset, err = fastpb.ReadString(buf, _type) +func (x *CreateFeedBackReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.FeedbackType, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *CreateFeedBackReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.ItemId, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOwnPostResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *CreateFeedBackResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +} + +func (x *GetPopularRecommendReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) @@ -3298,68 +3321,150 @@ func (x *GetOwnPostResp) FastRead(buf []byte, _type int8, number int32) (offset if err != nil { goto ReadFieldError } - case 3: - offset, err = x.fastReadField3(buf, _type) - if err != nil { - goto ReadFieldError - } - case 4: - offset, err = x.fastReadField4(buf, _type) - if err != nil { - goto ReadFieldError - } - case 5: - offset, err = x.fastReadField5(buf, _type) + default: + offset, err = fastpb.Skip(buf, _type, number) if err != nil { - goto ReadFieldError + goto SkipFieldError } - case 6: - offset, err = x.fastReadField6(buf, _type) + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetPopularRecommendReq[number], err) +} + +func (x *GetPopularRecommendReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadInt64(buf, _type) + x.Limit = &tmp + return offset, err +} + +func (x *GetPopularRecommendReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + var v int32 + v, offset, err = fastpb.ReadInt32(buf, _type) + if err != nil { + return offset, err + } + x.Category = Category(v) + return offset, nil +} + +func (x *GetPopularRecommendResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } - case 7: - offset, err = x.fastReadField7(buf, _type) + default: + offset, err = fastpb.Skip(buf, _type, number) if err != nil { - goto ReadFieldError + goto SkipFieldError } - case 8: - offset, err = x.fastReadField8(buf, _type) + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetPopularRecommendResp[number], err) +} + +func (x *GetPopularRecommendResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { + var v Recommends + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.Recommends = &v + return offset, nil +} + +func (x *GetLatestRecommendReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } - case 9: - offset, err = x.fastReadField9(buf, _type) + case 2: + offset, err = x.fastReadField2(buf, _type) if err != nil { goto ReadFieldError } - case 10: - offset, err = x.fastReadField10(buf, _type) + default: + offset, err = fastpb.Skip(buf, _type, number) if err != nil { - goto ReadFieldError + goto SkipFieldError } - case 11: - offset, err = x.fastReadField11(buf, _type) + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetLatestRecommendReq[number], err) +} + +func (x *GetLatestRecommendReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadInt64(buf, _type) + x.Limit = &tmp + return offset, err +} + +func (x *GetLatestRecommendReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + var v int32 + v, offset, err = fastpb.ReadInt32(buf, _type) + if err != nil { + return offset, err + } + x.Category = Category(v) + return offset, nil +} + +func (x *GetLatestRecommendResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } - case 12: - offset, err = x.fastReadField12(buf, _type) + default: + offset, err = fastpb.Skip(buf, _type, number) if err != nil { - goto ReadFieldError + goto SkipFieldError } - case 13: - offset, err = x.fastReadField13(buf, _type) + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetLatestRecommendResp[number], err) +} + +func (x *GetLatestRecommendResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { + var v Recommends + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.Recommends = &v + return offset, nil +} + +func (x *GetRecommendByItemReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } - case 14: - offset, err = x.fastReadField14(buf, _type) + case 2: + offset, err = x.fastReadField2(buf, _type) if err != nil { goto ReadFieldError } - case 15: - offset, err = x.fastReadField15(buf, _type) + case 3: + offset, err = x.fastReadField3(buf, _type) if err != nil { goto ReadFieldError } @@ -3373,95 +3478,132 @@ func (x *GetOwnPostResp) FastRead(buf []byte, _type int8, number int32) (offset SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetOwnPostResp[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetRecommendByItemReq[number], err) } -func (x *GetOwnPostResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { - x.Title, offset, err = fastpb.ReadString(buf, _type) +func (x *GetRecommendByItemReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.ItemId, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOwnPostResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { - x.Text, offset, err = fastpb.ReadString(buf, _type) +func (x *GetRecommendByItemReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadInt64(buf, _type) + x.Limit = &tmp return offset, err } -func (x *GetOwnPostResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { - x.Status, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err +func (x *GetRecommendByItemReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { + var v int32 + v, offset, err = fastpb.ReadInt32(buf, _type) + if err != nil { + return offset, err + } + x.Category = Category(v) + return offset, nil } -func (x *GetOwnPostResp) fastReadField4(buf []byte, _type int8) (offset int, err error) { - x.Url, offset, err = fastpb.ReadString(buf, _type) - return offset, err +func (x *GetRecommendByItemResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetRecommendByItemResp[number], err) } -func (x *GetOwnPostResp) fastReadField5(buf []byte, _type int8) (offset int, err error) { - var v User +func (x *GetRecommendByItemResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { + var v Recommends offset, err = fastpb.ReadMessage(buf, _type, &v) if err != nil { return offset, err } - x.Author = &v + x.Recommends = &v return offset, nil } -func (x *GetOwnPostResp) fastReadField6(buf []byte, _type int8) (offset int, err error) { - var v string - v, offset, err = fastpb.ReadString(buf, _type) - if err != nil { - return offset, err +func (x *GetRecommendByUserReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } } - x.Tags = append(x.Tags, v) - return offset, err -} - -func (x *GetOwnPostResp) fastReadField7(buf []byte, _type int8) (offset int, err error) { - x.ViewCount, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err -} - -func (x *GetOwnPostResp) fastReadField8(buf []byte, _type int8) (offset int, err error) { - x.LikeCount, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err -} - -func (x *GetOwnPostResp) fastReadField9(buf []byte, _type int8) (offset int, err error) { - x.CommentCount, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err -} - -func (x *GetOwnPostResp) fastReadField10(buf []byte, _type int8) (offset int, err error) { - x.ShareCount, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err -} - -func (x *GetOwnPostResp) fastReadField11(buf []byte, _type int8) (offset int, err error) { - x.CollectCount, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetRecommendByUserReq[number], err) } -func (x *GetOwnPostResp) fastReadField12(buf []byte, _type int8) (offset int, err error) { - x.Liked, offset, err = fastpb.ReadBool(buf, _type) +func (x *GetRecommendByUserReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadInt64(buf, _type) + x.Limit = &tmp return offset, err } -func (x *GetOwnPostResp) fastReadField13(buf []byte, _type int8) (offset int, err error) { - x.Collected, offset, err = fastpb.ReadBool(buf, _type) - return offset, err +func (x *GetRecommendByUserReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + var v int32 + v, offset, err = fastpb.ReadInt32(buf, _type) + if err != nil { + return offset, err + } + x.Category = Category(v) + return offset, nil } -func (x *GetOwnPostResp) fastReadField14(buf []byte, _type int8) (offset int, err error) { - x.CreateTime, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err +func (x *GetRecommendByUserResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + case 1: + offset, err = x.fastReadField1(buf, _type) + if err != nil { + goto ReadFieldError + } + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) +ReadFieldError: + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetRecommendByUserResp[number], err) } -func (x *GetOwnPostResp) fastReadField15(buf []byte, _type int8) (offset int, err error) { - x.UpdateTime, offset, err = fastpb.ReadInt64(buf, _type) - return offset, err +func (x *GetRecommendByUserResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { + var v Recommends + offset, err = fastpb.ReadMessage(buf, _type, &v) + if err != nil { + return offset, err + } + x.Recommends = &v + return offset, nil } -func (x *GetOwnPostsReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *CreateProductReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) @@ -3498,28 +3640,8 @@ func (x *GetOwnPostsReq) FastRead(buf []byte, _type int8, number int32) (offset if err != nil { goto ReadFieldError } - case 9: - offset, err = x.fastReadField9(buf, _type) - if err != nil { - goto ReadFieldError - } - case 10: - offset, err = x.fastReadField10(buf, _type) - if err != nil { - goto ReadFieldError - } - case 11: - offset, err = x.fastReadField11(buf, _type) - if err != nil { - goto ReadFieldError - } - case 12: - offset, err = x.fastReadField12(buf, _type) - if err != nil { - goto ReadFieldError - } - case 13: - offset, err = x.fastReadField13(buf, _type) + case 8: + offset, err = x.fastReadField8(buf, _type) if err != nil { goto ReadFieldError } @@ -3533,102 +3655,79 @@ func (x *GetOwnPostsReq) FastRead(buf []byte, _type int8, number int32) (offset SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetOwnPostsReq[number], err) -} - -func (x *GetOwnPostsReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadString(buf, _type) - x.AllFieldsKey = &tmp - return offset, err -} - -func (x *GetOwnPostsReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadString(buf, _type) - x.Id = &tmp - return offset, err -} - -func (x *GetOwnPostsReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadString(buf, _type) - x.Tag = &tmp - return offset, err + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_CreateProductReq[number], err) } -func (x *GetOwnPostsReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadString(buf, _type) - x.Text = &tmp +func (x *CreateProductReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOwnPostsReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadString(buf, _type) - x.Title = &tmp +func (x *CreateProductReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Description, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOwnPostsReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadString(buf, _type) - x.OnlyStatus = &tmp +func (x *CreateProductReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { + x.Status, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOwnPostsReq) fastReadField7(buf []byte, _type int8) (offset int, err error) { +func (x *CreateProductReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { var v string v, offset, err = fastpb.ReadString(buf, _type) if err != nil { return offset, err } - x.OnlyTags = append(x.OnlyTags, v) + x.Urls = append(x.Urls, v) return offset, err } -func (x *GetOwnPostsReq) fastReadField9(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadInt64(buf, _type) - x.OnlySetRelation = &tmp +func (x *CreateProductReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err + } + x.Tags = append(x.Tags, v) return offset, err } -func (x *GetOwnPostsReq) fastReadField10(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadInt64(buf, _type) - x.Limit = &tmp +func (x *CreateProductReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { + x.Type, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOwnPostsReq) fastReadField11(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadString(buf, _type) - x.LastToken = &tmp +func (x *CreateProductReq) fastReadField7(buf []byte, _type int8) (offset int, err error) { + x.Price, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOwnPostsReq) fastReadField12(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadBool(buf, _type) - x.Backward = &tmp +func (x *CreateProductReq) fastReadField8(buf []byte, _type int8) (offset int, err error) { + x.ProductSize, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *GetOwnPostsReq) fastReadField13(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadInt64(buf, _type) - x.Offset = &tmp - return offset, err +func (x *CreateProductResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) } -func (x *GetOwnPostsResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *DeleteProductReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } - case 2: - offset, err = x.fastReadField2(buf, _type) - if err != nil { - goto ReadFieldError - } - case 3: - offset, err = x.fastReadField3(buf, _type) - if err != nil { - goto ReadFieldError - } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -3639,30 +3738,28 @@ func (x *GetOwnPostsResp) FastRead(buf []byte, _type int8, number int32) (offset SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetOwnPostsResp[number], err) -} - -func (x *GetOwnPostsResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v OwnPost - offset, err = fastpb.ReadMessage(buf, _type, &v) - if err != nil { - return offset, err - } - x.Posts = append(x.Posts, &v) - return offset, nil + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_DeleteProductReq[number], err) } -func (x *GetOwnPostsResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { - x.Total, offset, err = fastpb.ReadInt64(buf, _type) +func (x *DeleteProductReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.ProductId, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetOwnPostsResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { - x.Token, offset, err = fastpb.ReadString(buf, _type) - return offset, err +func (x *DeleteProductResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { + switch number { + default: + offset, err = fastpb.Skip(buf, _type, number) + if err != nil { + goto SkipFieldError + } + } + return offset, nil +SkipFieldError: + return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) } -func (x *CreateFeedBackReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *UpdateProductReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) @@ -3674,6 +3771,41 @@ func (x *CreateFeedBackReq) FastRead(buf []byte, _type int8, number int32) (offs if err != nil { goto ReadFieldError } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } + case 4: + offset, err = x.fastReadField4(buf, _type) + if err != nil { + goto ReadFieldError + } + case 5: + offset, err = x.fastReadField5(buf, _type) + if err != nil { + goto ReadFieldError + } + case 6: + offset, err = x.fastReadField6(buf, _type) + if err != nil { + goto ReadFieldError + } + case 7: + offset, err = x.fastReadField7(buf, _type) + if err != nil { + goto ReadFieldError + } + case 8: + offset, err = x.fastReadField8(buf, _type) + if err != nil { + goto ReadFieldError + } + case 9: + offset, err = x.fastReadField9(buf, _type) + if err != nil { + goto ReadFieldError + } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -3684,20 +3816,65 @@ func (x *CreateFeedBackReq) FastRead(buf []byte, _type int8, number int32) (offs SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_CreateFeedBackReq[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_UpdateProductReq[number], err) +} + +func (x *UpdateProductReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.ProductId, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { + x.Description, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { + x.Status, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *UpdateProductReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err + } + x.Urls = append(x.Urls, v) + return offset, err +} + +func (x *UpdateProductReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err + } + x.Tags = append(x.Tags, v) + return offset, err } -func (x *CreateFeedBackReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - x.FeedbackType, offset, err = fastpb.ReadString(buf, _type) +func (x *UpdateProductReq) fastReadField7(buf []byte, _type int8) (offset int, err error) { + x.Type, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *CreateFeedBackReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { - x.ItemId, offset, err = fastpb.ReadString(buf, _type) +func (x *UpdateProductReq) fastReadField8(buf []byte, _type int8) (offset int, err error) { + x.Price, offset, err = fastpb.ReadInt64(buf, _type) return offset, err } -func (x *CreateFeedBackResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *UpdateProductReq) fastReadField9(buf []byte, _type int8) (offset int, err error) { + x.ProductSize, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *UpdateProductResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { default: offset, err = fastpb.Skip(buf, _type, number) @@ -3710,18 +3887,13 @@ SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) } -func (x *GetPopularRecommendReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *GetProductReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } - case 2: - offset, err = x.fastReadField2(buf, _type) - if err != nil { - goto ReadFieldError - } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -3732,64 +3904,78 @@ func (x *GetPopularRecommendReq) FastRead(buf []byte, _type int8, number int32) SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetPopularRecommendReq[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetProductReq[number], err) } -func (x *GetPopularRecommendReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadInt64(buf, _type) - x.Limit = &tmp +func (x *GetProductReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.ProductId, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetPopularRecommendReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { - var v int32 - v, offset, err = fastpb.ReadInt32(buf, _type) - if err != nil { - return offset, err - } - x.Category = Category(v) - return offset, nil -} - -func (x *GetPopularRecommendResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *GetProductResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } - default: - offset, err = fastpb.Skip(buf, _type, number) + case 2: + offset, err = x.fastReadField2(buf, _type) if err != nil { - goto SkipFieldError + goto ReadFieldError } - } - return offset, nil -SkipFieldError: - return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) -ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetPopularRecommendResp[number], err) -} - -func (x *GetPopularRecommendResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v Recommends - offset, err = fastpb.ReadMessage(buf, _type, &v) - if err != nil { - return offset, err - } - x.Recommends = &v - return offset, nil -} - -func (x *GetLatestRecommendReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { - switch number { - case 1: - offset, err = x.fastReadField1(buf, _type) + case 3: + offset, err = x.fastReadField3(buf, _type) if err != nil { goto ReadFieldError } - case 2: - offset, err = x.fastReadField2(buf, _type) + case 4: + offset, err = x.fastReadField4(buf, _type) + if err != nil { + goto ReadFieldError + } + case 5: + offset, err = x.fastReadField5(buf, _type) + if err != nil { + goto ReadFieldError + } + case 6: + offset, err = x.fastReadField6(buf, _type) + if err != nil { + goto ReadFieldError + } + case 7: + offset, err = x.fastReadField7(buf, _type) + if err != nil { + goto ReadFieldError + } + case 8: + offset, err = x.fastReadField8(buf, _type) + if err != nil { + goto ReadFieldError + } + case 9: + offset, err = x.fastReadField9(buf, _type) + if err != nil { + goto ReadFieldError + } + case 10: + offset, err = x.fastReadField10(buf, _type) + if err != nil { + goto ReadFieldError + } + case 11: + offset, err = x.fastReadField11(buf, _type) + if err != nil { + goto ReadFieldError + } + case 12: + offset, err = x.fastReadField12(buf, _type) + if err != nil { + goto ReadFieldError + } + case 13: + offset, err = x.fastReadField13(buf, _type) if err != nil { goto ReadFieldError } @@ -3803,56 +3989,90 @@ func (x *GetLatestRecommendReq) FastRead(buf []byte, _type int8, number int32) ( SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetLatestRecommendReq[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetProductResp[number], err) } -func (x *GetLatestRecommendReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadInt64(buf, _type) - x.Limit = &tmp +func (x *GetProductResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { + x.Name, offset, err = fastpb.ReadString(buf, _type) return offset, err } -func (x *GetLatestRecommendReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { - var v int32 - v, offset, err = fastpb.ReadInt32(buf, _type) +func (x *GetProductResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Description, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) if err != nil { return offset, err } - x.Category = Category(v) - return offset, nil + x.Urls = append(x.Urls, v) + return offset, err } -func (x *GetLatestRecommendResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { - switch number { - case 1: - offset, err = x.fastReadField1(buf, _type) - if err != nil { - goto ReadFieldError - } - default: - offset, err = fastpb.Skip(buf, _type, number) - if err != nil { - goto SkipFieldError - } +func (x *GetProductResp) fastReadField4(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) + if err != nil { + return offset, err } - return offset, nil -SkipFieldError: - return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) -ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetLatestRecommendResp[number], err) + x.Tags = append(x.Tags, v) + return offset, err } -func (x *GetLatestRecommendResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v Recommends +func (x *GetProductResp) fastReadField5(buf []byte, _type int8) (offset int, err error) { + x.Type, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField6(buf []byte, _type int8) (offset int, err error) { + x.Price, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField7(buf []byte, _type int8) (offset int, err error) { + x.ProductSize, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField8(buf []byte, _type int8) (offset int, err error) { + var v User offset, err = fastpb.ReadMessage(buf, _type, &v) if err != nil { return offset, err } - x.Recommends = &v + x.User = &v return offset, nil } -func (x *GetRecommendByItemReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *GetProductResp) fastReadField9(buf []byte, _type int8) (offset int, err error) { + x.CollectCount, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField10(buf []byte, _type int8) (offset int, err error) { + x.PurchaseCount, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField11(buf []byte, _type int8) (offset int, err error) { + x.Collected, offset, err = fastpb.ReadBool(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField12(buf []byte, _type int8) (offset int, err error) { + x.Stock, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductResp) fastReadField13(buf []byte, _type int8) (offset int, err error) { + x.CreateTime, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductsReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) @@ -3869,79 +4089,33 @@ func (x *GetRecommendByItemReq) FastRead(buf []byte, _type int8, number int32) ( if err != nil { goto ReadFieldError } - default: - offset, err = fastpb.Skip(buf, _type, number) + case 4: + offset, err = x.fastReadField4(buf, _type) if err != nil { - goto SkipFieldError + goto ReadFieldError } - } - return offset, nil -SkipFieldError: - return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) -ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetRecommendByItemReq[number], err) -} - -func (x *GetRecommendByItemReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - x.ItemId, offset, err = fastpb.ReadString(buf, _type) - return offset, err -} - -func (x *GetRecommendByItemReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadInt64(buf, _type) - x.Limit = &tmp - return offset, err -} - -func (x *GetRecommendByItemReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { - var v int32 - v, offset, err = fastpb.ReadInt32(buf, _type) - if err != nil { - return offset, err - } - x.Category = Category(v) - return offset, nil -} - -func (x *GetRecommendByItemResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { - switch number { - case 1: - offset, err = x.fastReadField1(buf, _type) + case 5: + offset, err = x.fastReadField5(buf, _type) if err != nil { goto ReadFieldError } - default: - offset, err = fastpb.Skip(buf, _type, number) + case 6: + offset, err = x.fastReadField6(buf, _type) if err != nil { - goto SkipFieldError + goto ReadFieldError } - } - return offset, nil -SkipFieldError: - return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) -ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetRecommendByItemResp[number], err) -} - -func (x *GetRecommendByItemResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v Recommends - offset, err = fastpb.ReadMessage(buf, _type, &v) - if err != nil { - return offset, err - } - x.Recommends = &v - return offset, nil -} - -func (x *GetRecommendByUserReq) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { - switch number { - case 1: - offset, err = x.fastReadField1(buf, _type) + case 7: + offset, err = x.fastReadField7(buf, _type) + if err != nil { + goto ReadFieldError + } + case 8: + offset, err = x.fastReadField8(buf, _type) if err != nil { goto ReadFieldError } - case 2: - offset, err = x.fastReadField2(buf, _type) + case 9: + offset, err = x.fastReadField9(buf, _type) if err != nil { goto ReadFieldError } @@ -3955,32 +4129,84 @@ func (x *GetRecommendByUserReq) FastRead(buf []byte, _type int8, number int32) ( SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetRecommendByUserReq[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetProductsReq[number], err) } -func (x *GetRecommendByUserReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { - tmp, offset, err := fastpb.ReadInt64(buf, _type) - x.Limit = &tmp +func (x *GetProductsReq) fastReadField1(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadString(buf, _type) + x.AllFieldsKey = &tmp return offset, err } -func (x *GetRecommendByUserReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { - var v int32 - v, offset, err = fastpb.ReadInt32(buf, _type) +func (x *GetProductsReq) fastReadField2(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadString(buf, _type) + x.Name = &tmp + return offset, err +} + +func (x *GetProductsReq) fastReadField3(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadString(buf, _type) + x.OnlyUserId = &tmp + return offset, err +} + +func (x *GetProductsReq) fastReadField4(buf []byte, _type int8) (offset int, err error) { + var v string + v, offset, err = fastpb.ReadString(buf, _type) if err != nil { return offset, err } - x.Category = Category(v) - return offset, nil + x.OnlyTags = append(x.OnlyTags, v) + return offset, err } -func (x *GetRecommendByUserResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { +func (x *GetProductsReq) fastReadField5(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadInt64(buf, _type) + x.OnlySetRelation = &tmp + return offset, err +} + +func (x *GetProductsReq) fastReadField6(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadInt64(buf, _type) + x.Limit = &tmp + return offset, err +} + +func (x *GetProductsReq) fastReadField7(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadString(buf, _type) + x.LastToken = &tmp + return offset, err +} + +func (x *GetProductsReq) fastReadField8(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadBool(buf, _type) + x.Backward = &tmp + return offset, err +} + +func (x *GetProductsReq) fastReadField9(buf []byte, _type int8) (offset int, err error) { + tmp, offset, err := fastpb.ReadInt64(buf, _type) + x.Offset = &tmp + return offset, err +} + +func (x *GetProductsResp) FastRead(buf []byte, _type int8, number int32) (offset int, err error) { switch number { case 1: offset, err = x.fastReadField1(buf, _type) if err != nil { goto ReadFieldError } + case 2: + offset, err = x.fastReadField2(buf, _type) + if err != nil { + goto ReadFieldError + } + case 3: + offset, err = x.fastReadField3(buf, _type) + if err != nil { + goto ReadFieldError + } default: offset, err = fastpb.Skip(buf, _type, number) if err != nil { @@ -3991,19 +4217,29 @@ func (x *GetRecommendByUserResp) FastRead(buf []byte, _type int8, number int32) SkipFieldError: return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err) ReadFieldError: - return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetRecommendByUserResp[number], err) + return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_GetProductsResp[number], err) } -func (x *GetRecommendByUserResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { - var v Recommends +func (x *GetProductsResp) fastReadField1(buf []byte, _type int8) (offset int, err error) { + var v Product offset, err = fastpb.ReadMessage(buf, _type, &v) if err != nil { return offset, err } - x.Recommends = &v + x.Products = append(x.Products, &v) return offset, nil } +func (x *GetProductsResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { + x.Total, offset, err = fastpb.ReadInt64(buf, _type) + return offset, err +} + +func (x *GetProductsResp) fastReadField3(buf []byte, _type int8) (offset int, err error) { + x.Token, offset, err = fastpb.ReadString(buf, _type) + return offset, err +} + func (x *UpdateUserReq) FastWrite(buf []byte) (offset int) { if x == nil { return offset @@ -6034,7 +6270,7 @@ func (x *UpdatePostResp) FastWrite(buf []byte) (offset int) { return offset } -func (x *GetOtherPostReq) FastWrite(buf []byte) (offset int) { +func (x *GetPostReq) FastWrite(buf []byte) (offset int) { if x == nil { return offset } @@ -6042,7 +6278,7 @@ func (x *GetOtherPostReq) FastWrite(buf []byte) (offset int) { return offset } -func (x *GetOtherPostReq) fastWriteField1(buf []byte) (offset int) { +func (x *GetPostReq) fastWriteField1(buf []byte) (offset int) { if x.PostId == "" { return offset } @@ -6050,7 +6286,7 @@ func (x *GetOtherPostReq) fastWriteField1(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) FastWrite(buf []byte) (offset int) { +func (x *GetPostResp) FastWrite(buf []byte) (offset int) { if x == nil { return offset } @@ -6072,7 +6308,7 @@ func (x *GetOtherPostResp) FastWrite(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField1(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField1(buf []byte) (offset int) { if x.Title == "" { return offset } @@ -6080,7 +6316,7 @@ func (x *GetOtherPostResp) fastWriteField1(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField2(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField2(buf []byte) (offset int) { if x.Text == "" { return offset } @@ -6088,7 +6324,7 @@ func (x *GetOtherPostResp) fastWriteField2(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField3(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField3(buf []byte) (offset int) { if x.Status == 0 { return offset } @@ -6096,7 +6332,7 @@ func (x *GetOtherPostResp) fastWriteField3(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField4(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField4(buf []byte) (offset int) { if x.Url == "" { return offset } @@ -6104,7 +6340,7 @@ func (x *GetOtherPostResp) fastWriteField4(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField5(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField5(buf []byte) (offset int) { if x.Author == nil { return offset } @@ -6112,7 +6348,7 @@ func (x *GetOtherPostResp) fastWriteField5(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField6(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField6(buf []byte) (offset int) { if len(x.Tags) == 0 { return offset } @@ -6122,7 +6358,7 @@ func (x *GetOtherPostResp) fastWriteField6(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField7(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField7(buf []byte) (offset int) { if x.ViewCount == 0 { return offset } @@ -6130,7 +6366,7 @@ func (x *GetOtherPostResp) fastWriteField7(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField8(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField8(buf []byte) (offset int) { if x.LikeCount == 0 { return offset } @@ -6138,7 +6374,7 @@ func (x *GetOtherPostResp) fastWriteField8(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField9(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField9(buf []byte) (offset int) { if x.CommentCount == 0 { return offset } @@ -6146,7 +6382,7 @@ func (x *GetOtherPostResp) fastWriteField9(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField10(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField10(buf []byte) (offset int) { if x.ShareCount == 0 { return offset } @@ -6154,7 +6390,7 @@ func (x *GetOtherPostResp) fastWriteField10(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField11(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField11(buf []byte) (offset int) { if x.CollectCount == 0 { return offset } @@ -6162,7 +6398,7 @@ func (x *GetOtherPostResp) fastWriteField11(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField12(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField12(buf []byte) (offset int) { if !x.Liked { return offset } @@ -6170,7 +6406,7 @@ func (x *GetOtherPostResp) fastWriteField12(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField13(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField13(buf []byte) (offset int) { if !x.Collected { return offset } @@ -6178,7 +6414,7 @@ func (x *GetOtherPostResp) fastWriteField13(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField14(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField14(buf []byte) (offset int) { if x.CreateTime == 0 { return offset } @@ -6186,7 +6422,7 @@ func (x *GetOtherPostResp) fastWriteField14(buf []byte) (offset int) { return offset } -func (x *GetOtherPostResp) fastWriteField15(buf []byte) (offset int) { +func (x *GetPostResp) fastWriteField15(buf []byte) (offset int) { if x.UpdateTime == 0 { return offset } @@ -6194,7 +6430,7 @@ func (x *GetOtherPostResp) fastWriteField15(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) FastWrite(buf []byte) (offset int) { +func (x *GetPostsReq) FastWrite(buf []byte) (offset int) { if x == nil { return offset } @@ -6213,7 +6449,7 @@ func (x *GetOtherPostsReq) FastWrite(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField1(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField1(buf []byte) (offset int) { if x.AllFieldsKey == nil { return offset } @@ -6221,7 +6457,7 @@ func (x *GetOtherPostsReq) fastWriteField1(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField2(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField2(buf []byte) (offset int) { if x.Id == nil { return offset } @@ -6229,7 +6465,7 @@ func (x *GetOtherPostsReq) fastWriteField2(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField3(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField3(buf []byte) (offset int) { if x.Tag == nil { return offset } @@ -6237,7 +6473,7 @@ func (x *GetOtherPostsReq) fastWriteField3(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField4(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField4(buf []byte) (offset int) { if x.Text == nil { return offset } @@ -6245,7 +6481,7 @@ func (x *GetOtherPostsReq) fastWriteField4(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField5(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField5(buf []byte) (offset int) { if x.Title == nil { return offset } @@ -6253,7 +6489,7 @@ func (x *GetOtherPostsReq) fastWriteField5(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField6(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField6(buf []byte) (offset int) { if x.OnlyUserId == nil { return offset } @@ -6261,7 +6497,7 @@ func (x *GetOtherPostsReq) fastWriteField6(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField7(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField7(buf []byte) (offset int) { if len(x.OnlyTags) == 0 { return offset } @@ -6271,7 +6507,7 @@ func (x *GetOtherPostsReq) fastWriteField7(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField9(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField9(buf []byte) (offset int) { if x.OnlySetRelation == nil { return offset } @@ -6279,7 +6515,7 @@ func (x *GetOtherPostsReq) fastWriteField9(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField10(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField10(buf []byte) (offset int) { if x.Limit == nil { return offset } @@ -6287,7 +6523,7 @@ func (x *GetOtherPostsReq) fastWriteField10(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField11(buf []byte) (offset int) { +func (x *GetPostsReq) fastWriteField11(buf []byte) (offset int) { if x.LastToken == nil { return offset } @@ -6295,59 +6531,248 @@ func (x *GetOtherPostsReq) fastWriteField11(buf []byte) (offset int) { return offset } -func (x *GetOtherPostsReq) fastWriteField12(buf []byte) (offset int) { - if x.Backward == nil { +func (x *GetPostsReq) fastWriteField12(buf []byte) (offset int) { + if x.Backward == nil { + return offset + } + offset += fastpb.WriteBool(buf[offset:], 12, x.GetBackward()) + return offset +} + +func (x *GetPostsReq) fastWriteField13(buf []byte) (offset int) { + if x.Offset == nil { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 13, x.GetOffset()) + return offset +} + +func (x *GetPostsResp) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + return offset +} + +func (x *GetPostsResp) fastWriteField1(buf []byte) (offset int) { + if x.Posts == nil { + return offset + } + for i := range x.GetPosts() { + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetPosts()[i]) + } + return offset +} + +func (x *GetPostsResp) fastWriteField2(buf []byte) (offset int) { + if x.Total == 0 { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 2, x.GetTotal()) + return offset +} + +func (x *GetPostsResp) fastWriteField3(buf []byte) (offset int) { + if x.Token == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 3, x.GetToken()) + return offset +} + +func (x *CreateFeedBackReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + return offset +} + +func (x *CreateFeedBackReq) fastWriteField1(buf []byte) (offset int) { + if x.FeedbackType == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetFeedbackType()) + return offset +} + +func (x *CreateFeedBackReq) fastWriteField2(buf []byte) (offset int) { + if x.ItemId == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 2, x.GetItemId()) + return offset +} + +func (x *CreateFeedBackResp) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + return offset +} + +func (x *GetPopularRecommendReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + return offset +} + +func (x *GetPopularRecommendReq) fastWriteField1(buf []byte) (offset int) { + if x.Limit == nil { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 1, x.GetLimit()) + return offset +} + +func (x *GetPopularRecommendReq) fastWriteField2(buf []byte) (offset int) { + if x.Category == 0 { + return offset + } + offset += fastpb.WriteInt32(buf[offset:], 2, int32(x.GetCategory())) + return offset +} + +func (x *GetPopularRecommendResp) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + return offset +} + +func (x *GetPopularRecommendResp) fastWriteField1(buf []byte) (offset int) { + if x.Recommends == nil { + return offset + } + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetRecommends()) + return offset +} + +func (x *GetLatestRecommendReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + return offset +} + +func (x *GetLatestRecommendReq) fastWriteField1(buf []byte) (offset int) { + if x.Limit == nil { + return offset + } + offset += fastpb.WriteInt64(buf[offset:], 1, x.GetLimit()) + return offset +} + +func (x *GetLatestRecommendReq) fastWriteField2(buf []byte) (offset int) { + if x.Category == 0 { + return offset + } + offset += fastpb.WriteInt32(buf[offset:], 2, int32(x.GetCategory())) + return offset +} + +func (x *GetLatestRecommendResp) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + return offset +} + +func (x *GetLatestRecommendResp) fastWriteField1(buf []byte) (offset int) { + if x.Recommends == nil { + return offset + } + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetRecommends()) + return offset +} + +func (x *GetRecommendByItemReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset + } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + return offset +} + +func (x *GetRecommendByItemReq) fastWriteField1(buf []byte) (offset int) { + if x.ItemId == "" { + return offset + } + offset += fastpb.WriteString(buf[offset:], 1, x.GetItemId()) + return offset +} + +func (x *GetRecommendByItemReq) fastWriteField2(buf []byte) (offset int) { + if x.Limit == nil { return offset } - offset += fastpb.WriteBool(buf[offset:], 12, x.GetBackward()) + offset += fastpb.WriteInt64(buf[offset:], 2, x.GetLimit()) return offset } -func (x *GetOtherPostsReq) fastWriteField13(buf []byte) (offset int) { - if x.Offset == nil { +func (x *GetRecommendByItemReq) fastWriteField3(buf []byte) (offset int) { + if x.Category == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 13, x.GetOffset()) + offset += fastpb.WriteInt32(buf[offset:], 3, int32(x.GetCategory())) return offset } -func (x *GetOtherPostsResp) FastWrite(buf []byte) (offset int) { +func (x *GetRecommendByItemResp) FastWrite(buf []byte) (offset int) { if x == nil { return offset } offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) - offset += x.fastWriteField3(buf[offset:]) return offset } -func (x *GetOtherPostsResp) fastWriteField1(buf []byte) (offset int) { - if x.Posts == nil { +func (x *GetRecommendByItemResp) fastWriteField1(buf []byte) (offset int) { + if x.Recommends == nil { return offset } - for i := range x.GetPosts() { - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetPosts()[i]) + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetRecommends()) + return offset +} + +func (x *GetRecommendByUserReq) FastWrite(buf []byte) (offset int) { + if x == nil { + return offset } + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) return offset } -func (x *GetOtherPostsResp) fastWriteField2(buf []byte) (offset int) { - if x.Total == 0 { +func (x *GetRecommendByUserReq) fastWriteField1(buf []byte) (offset int) { + if x.Limit == nil { return offset } - offset += fastpb.WriteInt64(buf[offset:], 2, x.GetTotal()) + offset += fastpb.WriteInt64(buf[offset:], 1, x.GetLimit()) return offset } -func (x *GetOtherPostsResp) fastWriteField3(buf []byte) (offset int) { - if x.Token == "" { +func (x *GetRecommendByUserReq) fastWriteField2(buf []byte) (offset int) { + if x.Category == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 3, x.GetToken()) + offset += fastpb.WriteInt32(buf[offset:], 2, int32(x.GetCategory())) return offset } -func (x *GetOwnPostReq) FastWrite(buf []byte) (offset int) { +func (x *GetRecommendByUserResp) FastWrite(buf []byte) (offset int) { if x == nil { return offset } @@ -6355,15 +6780,15 @@ func (x *GetOwnPostReq) FastWrite(buf []byte) (offset int) { return offset } -func (x *GetOwnPostReq) fastWriteField1(buf []byte) (offset int) { - if x.PostId == "" { +func (x *GetRecommendByUserResp) fastWriteField1(buf []byte) (offset int) { + if x.Recommends == nil { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetPostId()) + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetRecommends()) return offset } -func (x *GetOwnPostResp) FastWrite(buf []byte) (offset int) { +func (x *CreateProductReq) FastWrite(buf []byte) (offset int) { if x == nil { return offset } @@ -6375,33 +6800,26 @@ func (x *GetOwnPostResp) FastWrite(buf []byte) (offset int) { offset += x.fastWriteField6(buf[offset:]) offset += x.fastWriteField7(buf[offset:]) offset += x.fastWriteField8(buf[offset:]) - offset += x.fastWriteField9(buf[offset:]) - offset += x.fastWriteField10(buf[offset:]) - offset += x.fastWriteField11(buf[offset:]) - offset += x.fastWriteField12(buf[offset:]) - offset += x.fastWriteField13(buf[offset:]) - offset += x.fastWriteField14(buf[offset:]) - offset += x.fastWriteField15(buf[offset:]) return offset } -func (x *GetOwnPostResp) fastWriteField1(buf []byte) (offset int) { - if x.Title == "" { +func (x *CreateProductReq) fastWriteField1(buf []byte) (offset int) { + if x.Name == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetTitle()) + offset += fastpb.WriteString(buf[offset:], 1, x.GetName()) return offset } -func (x *GetOwnPostResp) fastWriteField2(buf []byte) (offset int) { - if x.Text == "" { +func (x *CreateProductReq) fastWriteField2(buf []byte) (offset int) { + if x.Description == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 2, x.GetText()) + offset += fastpb.WriteString(buf[offset:], 2, x.GetDescription()) return offset } -func (x *GetOwnPostResp) fastWriteField3(buf []byte) (offset int) { +func (x *CreateProductReq) fastWriteField3(buf []byte) (offset int) { if x.Status == 0 { return offset } @@ -6409,105 +6827,81 @@ func (x *GetOwnPostResp) fastWriteField3(buf []byte) (offset int) { return offset } -func (x *GetOwnPostResp) fastWriteField4(buf []byte) (offset int) { - if x.Url == "" { +func (x *CreateProductReq) fastWriteField4(buf []byte) (offset int) { + if len(x.Urls) == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 4, x.GetUrl()) - return offset -} - -func (x *GetOwnPostResp) fastWriteField5(buf []byte) (offset int) { - if x.Author == nil { - return offset + for i := range x.GetUrls() { + offset += fastpb.WriteString(buf[offset:], 4, x.GetUrls()[i]) } - offset += fastpb.WriteMessage(buf[offset:], 5, x.GetAuthor()) return offset } -func (x *GetOwnPostResp) fastWriteField6(buf []byte) (offset int) { +func (x *CreateProductReq) fastWriteField5(buf []byte) (offset int) { if len(x.Tags) == 0 { return offset } for i := range x.GetTags() { - offset += fastpb.WriteString(buf[offset:], 6, x.GetTags()[i]) - } - return offset -} - -func (x *GetOwnPostResp) fastWriteField7(buf []byte) (offset int) { - if x.ViewCount == 0 { - return offset - } - offset += fastpb.WriteInt64(buf[offset:], 7, x.GetViewCount()) - return offset -} - -func (x *GetOwnPostResp) fastWriteField8(buf []byte) (offset int) { - if x.LikeCount == 0 { - return offset + offset += fastpb.WriteString(buf[offset:], 5, x.GetTags()[i]) } - offset += fastpb.WriteInt64(buf[offset:], 8, x.GetLikeCount()) return offset } -func (x *GetOwnPostResp) fastWriteField9(buf []byte) (offset int) { - if x.CommentCount == 0 { +func (x *CreateProductReq) fastWriteField6(buf []byte) (offset int) { + if x.Type == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 9, x.GetCommentCount()) + offset += fastpb.WriteInt64(buf[offset:], 6, x.GetType()) return offset } -func (x *GetOwnPostResp) fastWriteField10(buf []byte) (offset int) { - if x.ShareCount == 0 { +func (x *CreateProductReq) fastWriteField7(buf []byte) (offset int) { + if x.Price == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 10, x.GetShareCount()) + offset += fastpb.WriteInt64(buf[offset:], 7, x.GetPrice()) return offset } -func (x *GetOwnPostResp) fastWriteField11(buf []byte) (offset int) { - if x.CollectCount == 0 { +func (x *CreateProductReq) fastWriteField8(buf []byte) (offset int) { + if x.ProductSize == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 11, x.GetCollectCount()) + offset += fastpb.WriteInt64(buf[offset:], 8, x.GetProductSize()) return offset } -func (x *GetOwnPostResp) fastWriteField12(buf []byte) (offset int) { - if !x.Liked { +func (x *CreateProductResp) FastWrite(buf []byte) (offset int) { + if x == nil { return offset } - offset += fastpb.WriteBool(buf[offset:], 12, x.GetLiked()) return offset } -func (x *GetOwnPostResp) fastWriteField13(buf []byte) (offset int) { - if !x.Collected { +func (x *DeleteProductReq) FastWrite(buf []byte) (offset int) { + if x == nil { return offset } - offset += fastpb.WriteBool(buf[offset:], 13, x.GetCollected()) + offset += x.fastWriteField1(buf[offset:]) return offset } -func (x *GetOwnPostResp) fastWriteField14(buf []byte) (offset int) { - if x.CreateTime == 0 { +func (x *DeleteProductReq) fastWriteField1(buf []byte) (offset int) { + if x.ProductId == "" { return offset } - offset += fastpb.WriteInt64(buf[offset:], 14, x.GetCreateTime()) + offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) return offset } -func (x *GetOwnPostResp) fastWriteField15(buf []byte) (offset int) { - if x.UpdateTime == 0 { +func (x *DeleteProductResp) FastWrite(buf []byte) (offset int) { + if x == nil { return offset } - offset += fastpb.WriteInt64(buf[offset:], 15, x.GetUpdateTime()) return offset } -func (x *GetOwnPostsReq) FastWrite(buf []byte) (offset int) { +func (x *UpdateProductReq) FastWrite(buf []byte) (offset int) { if x == nil { return offset } @@ -6518,350 +6912,361 @@ func (x *GetOwnPostsReq) FastWrite(buf []byte) (offset int) { offset += x.fastWriteField5(buf[offset:]) offset += x.fastWriteField6(buf[offset:]) offset += x.fastWriteField7(buf[offset:]) + offset += x.fastWriteField8(buf[offset:]) offset += x.fastWriteField9(buf[offset:]) - offset += x.fastWriteField10(buf[offset:]) - offset += x.fastWriteField11(buf[offset:]) - offset += x.fastWriteField12(buf[offset:]) - offset += x.fastWriteField13(buf[offset:]) return offset } -func (x *GetOwnPostsReq) fastWriteField1(buf []byte) (offset int) { - if x.AllFieldsKey == nil { +func (x *UpdateProductReq) fastWriteField1(buf []byte) (offset int) { + if x.ProductId == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetAllFieldsKey()) + offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) return offset } -func (x *GetOwnPostsReq) fastWriteField2(buf []byte) (offset int) { - if x.Id == nil { +func (x *UpdateProductReq) fastWriteField2(buf []byte) (offset int) { + if x.Name == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 2, x.GetId()) + offset += fastpb.WriteString(buf[offset:], 2, x.GetName()) return offset } -func (x *GetOwnPostsReq) fastWriteField3(buf []byte) (offset int) { - if x.Tag == nil { +func (x *UpdateProductReq) fastWriteField3(buf []byte) (offset int) { + if x.Description == "" { return offset } - offset += fastpb.WriteString(buf[offset:], 3, x.GetTag()) + offset += fastpb.WriteString(buf[offset:], 3, x.GetDescription()) return offset } -func (x *GetOwnPostsReq) fastWriteField4(buf []byte) (offset int) { - if x.Text == nil { +func (x *UpdateProductReq) fastWriteField4(buf []byte) (offset int) { + if x.Status == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 4, x.GetText()) + offset += fastpb.WriteInt64(buf[offset:], 4, x.GetStatus()) return offset } -func (x *GetOwnPostsReq) fastWriteField5(buf []byte) (offset int) { - if x.Title == nil { +func (x *UpdateProductReq) fastWriteField5(buf []byte) (offset int) { + if len(x.Urls) == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 5, x.GetTitle()) + for i := range x.GetUrls() { + offset += fastpb.WriteString(buf[offset:], 5, x.GetUrls()[i]) + } return offset } -func (x *GetOwnPostsReq) fastWriteField6(buf []byte) (offset int) { - if x.OnlyStatus == nil { +func (x *UpdateProductReq) fastWriteField6(buf []byte) (offset int) { + if len(x.Tags) == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 6, x.GetOnlyStatus()) + for i := range x.GetTags() { + offset += fastpb.WriteString(buf[offset:], 6, x.GetTags()[i]) + } return offset } -func (x *GetOwnPostsReq) fastWriteField7(buf []byte) (offset int) { - if len(x.OnlyTags) == 0 { +func (x *UpdateProductReq) fastWriteField7(buf []byte) (offset int) { + if x.Type == 0 { return offset } - for i := range x.GetOnlyTags() { - offset += fastpb.WriteString(buf[offset:], 7, x.GetOnlyTags()[i]) - } + offset += fastpb.WriteInt64(buf[offset:], 7, x.GetType()) return offset } -func (x *GetOwnPostsReq) fastWriteField9(buf []byte) (offset int) { - if x.OnlySetRelation == nil { +func (x *UpdateProductReq) fastWriteField8(buf []byte) (offset int) { + if x.Price == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 9, x.GetOnlySetRelation()) + offset += fastpb.WriteInt64(buf[offset:], 8, x.GetPrice()) return offset } -func (x *GetOwnPostsReq) fastWriteField10(buf []byte) (offset int) { - if x.Limit == nil { +func (x *UpdateProductReq) fastWriteField9(buf []byte) (offset int) { + if x.ProductSize == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 10, x.GetLimit()) + offset += fastpb.WriteInt64(buf[offset:], 9, x.GetProductSize()) return offset } -func (x *GetOwnPostsReq) fastWriteField11(buf []byte) (offset int) { - if x.LastToken == nil { +func (x *UpdateProductResp) FastWrite(buf []byte) (offset int) { + if x == nil { return offset } - offset += fastpb.WriteString(buf[offset:], 11, x.GetLastToken()) return offset } -func (x *GetOwnPostsReq) fastWriteField12(buf []byte) (offset int) { - if x.Backward == nil { +func (x *GetProductReq) FastWrite(buf []byte) (offset int) { + if x == nil { return offset } - offset += fastpb.WriteBool(buf[offset:], 12, x.GetBackward()) + offset += x.fastWriteField1(buf[offset:]) return offset } -func (x *GetOwnPostsReq) fastWriteField13(buf []byte) (offset int) { - if x.Offset == nil { +func (x *GetProductReq) fastWriteField1(buf []byte) (offset int) { + if x.ProductId == "" { return offset } - offset += fastpb.WriteInt64(buf[offset:], 13, x.GetOffset()) + offset += fastpb.WriteString(buf[offset:], 1, x.GetProductId()) return offset } -func (x *GetOwnPostsResp) FastWrite(buf []byte) (offset int) { +func (x *GetProductResp) FastWrite(buf []byte) (offset int) { if x == nil { return offset } offset += x.fastWriteField1(buf[offset:]) offset += x.fastWriteField2(buf[offset:]) offset += x.fastWriteField3(buf[offset:]) + offset += x.fastWriteField4(buf[offset:]) + offset += x.fastWriteField5(buf[offset:]) + offset += x.fastWriteField6(buf[offset:]) + offset += x.fastWriteField7(buf[offset:]) + offset += x.fastWriteField8(buf[offset:]) + offset += x.fastWriteField9(buf[offset:]) + offset += x.fastWriteField10(buf[offset:]) + offset += x.fastWriteField11(buf[offset:]) + offset += x.fastWriteField12(buf[offset:]) + offset += x.fastWriteField13(buf[offset:]) return offset } -func (x *GetOwnPostsResp) fastWriteField1(buf []byte) (offset int) { - if x.Posts == nil { +func (x *GetProductResp) fastWriteField1(buf []byte) (offset int) { + if x.Name == "" { return offset } - for i := range x.GetPosts() { - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetPosts()[i]) - } + offset += fastpb.WriteString(buf[offset:], 1, x.GetName()) return offset } -func (x *GetOwnPostsResp) fastWriteField2(buf []byte) (offset int) { - if x.Total == 0 { +func (x *GetProductResp) fastWriteField2(buf []byte) (offset int) { + if x.Description == "" { return offset } - offset += fastpb.WriteInt64(buf[offset:], 2, x.GetTotal()) + offset += fastpb.WriteString(buf[offset:], 2, x.GetDescription()) return offset } -func (x *GetOwnPostsResp) fastWriteField3(buf []byte) (offset int) { - if x.Token == "" { +func (x *GetProductResp) fastWriteField3(buf []byte) (offset int) { + if len(x.Urls) == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 3, x.GetToken()) + for i := range x.GetUrls() { + offset += fastpb.WriteString(buf[offset:], 3, x.GetUrls()[i]) + } return offset } -func (x *CreateFeedBackReq) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField4(buf []byte) (offset int) { + if len(x.Tags) == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) + for i := range x.GetTags() { + offset += fastpb.WriteString(buf[offset:], 4, x.GetTags()[i]) + } return offset } -func (x *CreateFeedBackReq) fastWriteField1(buf []byte) (offset int) { - if x.FeedbackType == "" { +func (x *GetProductResp) fastWriteField5(buf []byte) (offset int) { + if x.Type == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetFeedbackType()) + offset += fastpb.WriteInt64(buf[offset:], 5, x.GetType()) return offset } -func (x *CreateFeedBackReq) fastWriteField2(buf []byte) (offset int) { - if x.ItemId == "" { +func (x *GetProductResp) fastWriteField6(buf []byte) (offset int) { + if x.Price == 0 { return offset } - offset += fastpb.WriteString(buf[offset:], 2, x.GetItemId()) + offset += fastpb.WriteInt64(buf[offset:], 6, x.GetPrice()) return offset } -func (x *CreateFeedBackResp) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField7(buf []byte) (offset int) { + if x.ProductSize == 0 { return offset } + offset += fastpb.WriteInt64(buf[offset:], 7, x.GetProductSize()) return offset } -func (x *GetPopularRecommendReq) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField8(buf []byte) (offset int) { + if x.User == nil { return offset } - offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) + offset += fastpb.WriteMessage(buf[offset:], 8, x.GetUser()) return offset } -func (x *GetPopularRecommendReq) fastWriteField1(buf []byte) (offset int) { - if x.Limit == nil { +func (x *GetProductResp) fastWriteField9(buf []byte) (offset int) { + if x.CollectCount == 0 { return offset } - offset += fastpb.WriteInt64(buf[offset:], 1, x.GetLimit()) + offset += fastpb.WriteInt64(buf[offset:], 9, x.GetCollectCount()) return offset } -func (x *GetPopularRecommendReq) fastWriteField2(buf []byte) (offset int) { - if x.Category == 0 { +func (x *GetProductResp) fastWriteField10(buf []byte) (offset int) { + if x.PurchaseCount == 0 { return offset } - offset += fastpb.WriteInt32(buf[offset:], 2, int32(x.GetCategory())) + offset += fastpb.WriteInt64(buf[offset:], 10, x.GetPurchaseCount()) return offset } -func (x *GetPopularRecommendResp) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField11(buf []byte) (offset int) { + if !x.Collected { return offset } - offset += x.fastWriteField1(buf[offset:]) + offset += fastpb.WriteBool(buf[offset:], 11, x.GetCollected()) return offset } -func (x *GetPopularRecommendResp) fastWriteField1(buf []byte) (offset int) { - if x.Recommends == nil { +func (x *GetProductResp) fastWriteField12(buf []byte) (offset int) { + if x.Stock == 0 { return offset } - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetRecommends()) + offset += fastpb.WriteInt64(buf[offset:], 12, x.GetStock()) return offset } -func (x *GetLatestRecommendReq) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductResp) fastWriteField13(buf []byte) (offset int) { + if x.CreateTime == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) + offset += fastpb.WriteInt64(buf[offset:], 13, x.GetCreateTime()) return offset } -func (x *GetLatestRecommendReq) fastWriteField1(buf []byte) (offset int) { - if x.Limit == nil { +func (x *GetProductsReq) FastWrite(buf []byte) (offset int) { + if x == nil { return offset } - offset += fastpb.WriteInt64(buf[offset:], 1, x.GetLimit()) + offset += x.fastWriteField1(buf[offset:]) + offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) + offset += x.fastWriteField4(buf[offset:]) + offset += x.fastWriteField5(buf[offset:]) + offset += x.fastWriteField6(buf[offset:]) + offset += x.fastWriteField7(buf[offset:]) + offset += x.fastWriteField8(buf[offset:]) + offset += x.fastWriteField9(buf[offset:]) return offset } -func (x *GetLatestRecommendReq) fastWriteField2(buf []byte) (offset int) { - if x.Category == 0 { +func (x *GetProductsReq) fastWriteField1(buf []byte) (offset int) { + if x.AllFieldsKey == nil { return offset } - offset += fastpb.WriteInt32(buf[offset:], 2, int32(x.GetCategory())) + offset += fastpb.WriteString(buf[offset:], 1, x.GetAllFieldsKey()) return offset } -func (x *GetLatestRecommendResp) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductsReq) fastWriteField2(buf []byte) (offset int) { + if x.Name == nil { return offset } - offset += x.fastWriteField1(buf[offset:]) + offset += fastpb.WriteString(buf[offset:], 2, x.GetName()) return offset } -func (x *GetLatestRecommendResp) fastWriteField1(buf []byte) (offset int) { - if x.Recommends == nil { +func (x *GetProductsReq) fastWriteField3(buf []byte) (offset int) { + if x.OnlyUserId == nil { return offset } - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetRecommends()) + offset += fastpb.WriteString(buf[offset:], 3, x.GetOnlyUserId()) return offset } -func (x *GetRecommendByItemReq) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductsReq) fastWriteField4(buf []byte) (offset int) { + if len(x.OnlyTags) == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) - offset += x.fastWriteField2(buf[offset:]) - offset += x.fastWriteField3(buf[offset:]) + for i := range x.GetOnlyTags() { + offset += fastpb.WriteString(buf[offset:], 4, x.GetOnlyTags()[i]) + } return offset } -func (x *GetRecommendByItemReq) fastWriteField1(buf []byte) (offset int) { - if x.ItemId == "" { +func (x *GetProductsReq) fastWriteField5(buf []byte) (offset int) { + if x.OnlySetRelation == nil { return offset } - offset += fastpb.WriteString(buf[offset:], 1, x.GetItemId()) + offset += fastpb.WriteInt64(buf[offset:], 5, x.GetOnlySetRelation()) return offset } -func (x *GetRecommendByItemReq) fastWriteField2(buf []byte) (offset int) { +func (x *GetProductsReq) fastWriteField6(buf []byte) (offset int) { if x.Limit == nil { return offset } - offset += fastpb.WriteInt64(buf[offset:], 2, x.GetLimit()) + offset += fastpb.WriteInt64(buf[offset:], 6, x.GetLimit()) return offset } -func (x *GetRecommendByItemReq) fastWriteField3(buf []byte) (offset int) { - if x.Category == 0 { +func (x *GetProductsReq) fastWriteField7(buf []byte) (offset int) { + if x.LastToken == nil { return offset } - offset += fastpb.WriteInt32(buf[offset:], 3, int32(x.GetCategory())) + offset += fastpb.WriteString(buf[offset:], 7, x.GetLastToken()) return offset } -func (x *GetRecommendByItemResp) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductsReq) fastWriteField8(buf []byte) (offset int) { + if x.Backward == nil { return offset } - offset += x.fastWriteField1(buf[offset:]) + offset += fastpb.WriteBool(buf[offset:], 8, x.GetBackward()) return offset } -func (x *GetRecommendByItemResp) fastWriteField1(buf []byte) (offset int) { - if x.Recommends == nil { +func (x *GetProductsReq) fastWriteField9(buf []byte) (offset int) { + if x.Offset == nil { return offset } - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetRecommends()) + offset += fastpb.WriteInt64(buf[offset:], 9, x.GetOffset()) return offset } -func (x *GetRecommendByUserReq) FastWrite(buf []byte) (offset int) { +func (x *GetProductsResp) FastWrite(buf []byte) (offset int) { if x == nil { return offset } offset += x.fastWriteField1(buf[offset:]) offset += x.fastWriteField2(buf[offset:]) + offset += x.fastWriteField3(buf[offset:]) return offset } -func (x *GetRecommendByUserReq) fastWriteField1(buf []byte) (offset int) { - if x.Limit == nil { +func (x *GetProductsResp) fastWriteField1(buf []byte) (offset int) { + if x.Products == nil { return offset } - offset += fastpb.WriteInt64(buf[offset:], 1, x.GetLimit()) - return offset -} - -func (x *GetRecommendByUserReq) fastWriteField2(buf []byte) (offset int) { - if x.Category == 0 { - return offset + for i := range x.GetProducts() { + offset += fastpb.WriteMessage(buf[offset:], 1, x.GetProducts()[i]) } - offset += fastpb.WriteInt32(buf[offset:], 2, int32(x.GetCategory())) return offset } -func (x *GetRecommendByUserResp) FastWrite(buf []byte) (offset int) { - if x == nil { +func (x *GetProductsResp) fastWriteField2(buf []byte) (offset int) { + if x.Total == 0 { return offset } - offset += x.fastWriteField1(buf[offset:]) + offset += fastpb.WriteInt64(buf[offset:], 2, x.GetTotal()) return offset } -func (x *GetRecommendByUserResp) fastWriteField1(buf []byte) (offset int) { - if x.Recommends == nil { +func (x *GetProductsResp) fastWriteField3(buf []byte) (offset int) { + if x.Token == "" { return offset } - offset += fastpb.WriteMessage(buf[offset:], 1, x.GetRecommends()) + offset += fastpb.WriteString(buf[offset:], 3, x.GetToken()) return offset } @@ -8895,7 +9300,7 @@ func (x *UpdatePostResp) Size() (n int) { return n } -func (x *GetOtherPostReq) Size() (n int) { +func (x *GetPostReq) Size() (n int) { if x == nil { return n } @@ -8903,7 +9308,7 @@ func (x *GetOtherPostReq) Size() (n int) { return n } -func (x *GetOtherPostReq) sizeField1() (n int) { +func (x *GetPostReq) sizeField1() (n int) { if x.PostId == "" { return n } @@ -8911,7 +9316,7 @@ func (x *GetOtherPostReq) sizeField1() (n int) { return n } -func (x *GetOtherPostResp) Size() (n int) { +func (x *GetPostResp) Size() (n int) { if x == nil { return n } @@ -8933,7 +9338,7 @@ func (x *GetOtherPostResp) Size() (n int) { return n } -func (x *GetOtherPostResp) sizeField1() (n int) { +func (x *GetPostResp) sizeField1() (n int) { if x.Title == "" { return n } @@ -8941,7 +9346,7 @@ func (x *GetOtherPostResp) sizeField1() (n int) { return n } -func (x *GetOtherPostResp) sizeField2() (n int) { +func (x *GetPostResp) sizeField2() (n int) { if x.Text == "" { return n } @@ -8949,7 +9354,7 @@ func (x *GetOtherPostResp) sizeField2() (n int) { return n } -func (x *GetOtherPostResp) sizeField3() (n int) { +func (x *GetPostResp) sizeField3() (n int) { if x.Status == 0 { return n } @@ -8957,7 +9362,7 @@ func (x *GetOtherPostResp) sizeField3() (n int) { return n } -func (x *GetOtherPostResp) sizeField4() (n int) { +func (x *GetPostResp) sizeField4() (n int) { if x.Url == "" { return n } @@ -8965,7 +9370,7 @@ func (x *GetOtherPostResp) sizeField4() (n int) { return n } -func (x *GetOtherPostResp) sizeField5() (n int) { +func (x *GetPostResp) sizeField5() (n int) { if x.Author == nil { return n } @@ -8973,7 +9378,7 @@ func (x *GetOtherPostResp) sizeField5() (n int) { return n } -func (x *GetOtherPostResp) sizeField6() (n int) { +func (x *GetPostResp) sizeField6() (n int) { if len(x.Tags) == 0 { return n } @@ -8983,7 +9388,7 @@ func (x *GetOtherPostResp) sizeField6() (n int) { return n } -func (x *GetOtherPostResp) sizeField7() (n int) { +func (x *GetPostResp) sizeField7() (n int) { if x.ViewCount == 0 { return n } @@ -8991,7 +9396,7 @@ func (x *GetOtherPostResp) sizeField7() (n int) { return n } -func (x *GetOtherPostResp) sizeField8() (n int) { +func (x *GetPostResp) sizeField8() (n int) { if x.LikeCount == 0 { return n } @@ -8999,7 +9404,7 @@ func (x *GetOtherPostResp) sizeField8() (n int) { return n } -func (x *GetOtherPostResp) sizeField9() (n int) { +func (x *GetPostResp) sizeField9() (n int) { if x.CommentCount == 0 { return n } @@ -9007,7 +9412,7 @@ func (x *GetOtherPostResp) sizeField9() (n int) { return n } -func (x *GetOtherPostResp) sizeField10() (n int) { +func (x *GetPostResp) sizeField10() (n int) { if x.ShareCount == 0 { return n } @@ -9015,7 +9420,7 @@ func (x *GetOtherPostResp) sizeField10() (n int) { return n } -func (x *GetOtherPostResp) sizeField11() (n int) { +func (x *GetPostResp) sizeField11() (n int) { if x.CollectCount == 0 { return n } @@ -9023,7 +9428,7 @@ func (x *GetOtherPostResp) sizeField11() (n int) { return n } -func (x *GetOtherPostResp) sizeField12() (n int) { +func (x *GetPostResp) sizeField12() (n int) { if !x.Liked { return n } @@ -9031,7 +9436,7 @@ func (x *GetOtherPostResp) sizeField12() (n int) { return n } -func (x *GetOtherPostResp) sizeField13() (n int) { +func (x *GetPostResp) sizeField13() (n int) { if !x.Collected { return n } @@ -9039,7 +9444,7 @@ func (x *GetOtherPostResp) sizeField13() (n int) { return n } -func (x *GetOtherPostResp) sizeField14() (n int) { +func (x *GetPostResp) sizeField14() (n int) { if x.CreateTime == 0 { return n } @@ -9047,7 +9452,7 @@ func (x *GetOtherPostResp) sizeField14() (n int) { return n } -func (x *GetOtherPostResp) sizeField15() (n int) { +func (x *GetPostResp) sizeField15() (n int) { if x.UpdateTime == 0 { return n } @@ -9055,7 +9460,7 @@ func (x *GetOtherPostResp) sizeField15() (n int) { return n } -func (x *GetOtherPostsReq) Size() (n int) { +func (x *GetPostsReq) Size() (n int) { if x == nil { return n } @@ -9074,7 +9479,7 @@ func (x *GetOtherPostsReq) Size() (n int) { return n } -func (x *GetOtherPostsReq) sizeField1() (n int) { +func (x *GetPostsReq) sizeField1() (n int) { if x.AllFieldsKey == nil { return n } @@ -9082,7 +9487,7 @@ func (x *GetOtherPostsReq) sizeField1() (n int) { return n } -func (x *GetOtherPostsReq) sizeField2() (n int) { +func (x *GetPostsReq) sizeField2() (n int) { if x.Id == nil { return n } @@ -9090,7 +9495,7 @@ func (x *GetOtherPostsReq) sizeField2() (n int) { return n } -func (x *GetOtherPostsReq) sizeField3() (n int) { +func (x *GetPostsReq) sizeField3() (n int) { if x.Tag == nil { return n } @@ -9098,7 +9503,7 @@ func (x *GetOtherPostsReq) sizeField3() (n int) { return n } -func (x *GetOtherPostsReq) sizeField4() (n int) { +func (x *GetPostsReq) sizeField4() (n int) { if x.Text == nil { return n } @@ -9106,7 +9511,7 @@ func (x *GetOtherPostsReq) sizeField4() (n int) { return n } -func (x *GetOtherPostsReq) sizeField5() (n int) { +func (x *GetPostsReq) sizeField5() (n int) { if x.Title == nil { return n } @@ -9114,7 +9519,7 @@ func (x *GetOtherPostsReq) sizeField5() (n int) { return n } -func (x *GetOtherPostsReq) sizeField6() (n int) { +func (x *GetPostsReq) sizeField6() (n int) { if x.OnlyUserId == nil { return n } @@ -9122,7 +9527,7 @@ func (x *GetOtherPostsReq) sizeField6() (n int) { return n } -func (x *GetOtherPostsReq) sizeField7() (n int) { +func (x *GetPostsReq) sizeField7() (n int) { if len(x.OnlyTags) == 0 { return n } @@ -9132,7 +9537,7 @@ func (x *GetOtherPostsReq) sizeField7() (n int) { return n } -func (x *GetOtherPostsReq) sizeField9() (n int) { +func (x *GetPostsReq) sizeField9() (n int) { if x.OnlySetRelation == nil { return n } @@ -9140,7 +9545,7 @@ func (x *GetOtherPostsReq) sizeField9() (n int) { return n } -func (x *GetOtherPostsReq) sizeField10() (n int) { +func (x *GetPostsReq) sizeField10() (n int) { if x.Limit == nil { return n } @@ -9148,7 +9553,7 @@ func (x *GetOtherPostsReq) sizeField10() (n int) { return n } -func (x *GetOtherPostsReq) sizeField11() (n int) { +func (x *GetPostsReq) sizeField11() (n int) { if x.LastToken == nil { return n } @@ -9156,7 +9561,7 @@ func (x *GetOtherPostsReq) sizeField11() (n int) { return n } -func (x *GetOtherPostsReq) sizeField12() (n int) { +func (x *GetPostsReq) sizeField12() (n int) { if x.Backward == nil { return n } @@ -9164,7 +9569,7 @@ func (x *GetOtherPostsReq) sizeField12() (n int) { return n } -func (x *GetOtherPostsReq) sizeField13() (n int) { +func (x *GetPostsReq) sizeField13() (n int) { if x.Offset == nil { return n } @@ -9172,7 +9577,7 @@ func (x *GetOtherPostsReq) sizeField13() (n int) { return n } -func (x *GetOtherPostsResp) Size() (n int) { +func (x *GetPostsResp) Size() (n int) { if x == nil { return n } @@ -9182,7 +9587,7 @@ func (x *GetOtherPostsResp) Size() (n int) { return n } -func (x *GetOtherPostsResp) sizeField1() (n int) { +func (x *GetPostsResp) sizeField1() (n int) { if x.Posts == nil { return n } @@ -9192,7 +9597,7 @@ func (x *GetOtherPostsResp) sizeField1() (n int) { return n } -func (x *GetOtherPostsResp) sizeField2() (n int) { +func (x *GetPostsResp) sizeField2() (n int) { if x.Total == 0 { return n } @@ -9200,7 +9605,7 @@ func (x *GetOtherPostsResp) sizeField2() (n int) { return n } -func (x *GetOtherPostsResp) sizeField3() (n int) { +func (x *GetPostsResp) sizeField3() (n int) { if x.Token == "" { return n } @@ -9208,167 +9613,325 @@ func (x *GetOtherPostsResp) sizeField3() (n int) { return n } -func (x *GetOwnPostReq) Size() (n int) { +func (x *CreateFeedBackReq) Size() (n int) { if x == nil { return n } n += x.sizeField1() + n += x.sizeField2() return n } -func (x *GetOwnPostReq) sizeField1() (n int) { - if x.PostId == "" { +func (x *CreateFeedBackReq) sizeField1() (n int) { + if x.FeedbackType == "" { return n } - n += fastpb.SizeString(1, x.GetPostId()) + n += fastpb.SizeString(1, x.GetFeedbackType()) + return n +} + +func (x *CreateFeedBackReq) sizeField2() (n int) { + if x.ItemId == "" { + return n + } + n += fastpb.SizeString(2, x.GetItemId()) + return n +} + +func (x *CreateFeedBackResp) Size() (n int) { + if x == nil { + return n + } + return n +} + +func (x *GetPopularRecommendReq) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + return n +} + +func (x *GetPopularRecommendReq) sizeField1() (n int) { + if x.Limit == nil { + return n + } + n += fastpb.SizeInt64(1, x.GetLimit()) + return n +} + +func (x *GetPopularRecommendReq) sizeField2() (n int) { + if x.Category == 0 { + return n + } + n += fastpb.SizeInt32(2, int32(x.GetCategory())) + return n +} + +func (x *GetPopularRecommendResp) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + return n +} + +func (x *GetPopularRecommendResp) sizeField1() (n int) { + if x.Recommends == nil { + return n + } + n += fastpb.SizeMessage(1, x.GetRecommends()) + return n +} + +func (x *GetLatestRecommendReq) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + n += x.sizeField2() + return n +} + +func (x *GetLatestRecommendReq) sizeField1() (n int) { + if x.Limit == nil { + return n + } + n += fastpb.SizeInt64(1, x.GetLimit()) + return n +} + +func (x *GetLatestRecommendReq) sizeField2() (n int) { + if x.Category == 0 { + return n + } + n += fastpb.SizeInt32(2, int32(x.GetCategory())) + return n +} + +func (x *GetLatestRecommendResp) Size() (n int) { + if x == nil { + return n + } + n += x.sizeField1() + return n +} + +func (x *GetLatestRecommendResp) sizeField1() (n int) { + if x.Recommends == nil { + return n + } + n += fastpb.SizeMessage(1, x.GetRecommends()) return n } -func (x *GetOwnPostResp) Size() (n int) { +func (x *GetRecommendByItemReq) Size() (n int) { if x == nil { return n } n += x.sizeField1() n += x.sizeField2() n += x.sizeField3() - n += x.sizeField4() - n += x.sizeField5() - n += x.sizeField6() - n += x.sizeField7() - n += x.sizeField8() - n += x.sizeField9() - n += x.sizeField10() - n += x.sizeField11() - n += x.sizeField12() - n += x.sizeField13() - n += x.sizeField14() - n += x.sizeField15() return n } -func (x *GetOwnPostResp) sizeField1() (n int) { - if x.Title == "" { +func (x *GetRecommendByItemReq) sizeField1() (n int) { + if x.ItemId == "" { return n } - n += fastpb.SizeString(1, x.GetTitle()) + n += fastpb.SizeString(1, x.GetItemId()) return n } -func (x *GetOwnPostResp) sizeField2() (n int) { - if x.Text == "" { +func (x *GetRecommendByItemReq) sizeField2() (n int) { + if x.Limit == nil { return n } - n += fastpb.SizeString(2, x.GetText()) + n += fastpb.SizeInt64(2, x.GetLimit()) return n } -func (x *GetOwnPostResp) sizeField3() (n int) { - if x.Status == 0 { +func (x *GetRecommendByItemReq) sizeField3() (n int) { + if x.Category == 0 { return n } - n += fastpb.SizeInt64(3, x.GetStatus()) + n += fastpb.SizeInt32(3, int32(x.GetCategory())) return n } -func (x *GetOwnPostResp) sizeField4() (n int) { - if x.Url == "" { +func (x *GetRecommendByItemResp) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeString(4, x.GetUrl()) + n += x.sizeField1() return n } -func (x *GetOwnPostResp) sizeField5() (n int) { - if x.Author == nil { +func (x *GetRecommendByItemResp) sizeField1() (n int) { + if x.Recommends == nil { return n } - n += fastpb.SizeMessage(5, x.GetAuthor()) + n += fastpb.SizeMessage(1, x.GetRecommends()) return n } -func (x *GetOwnPostResp) sizeField6() (n int) { - if len(x.Tags) == 0 { +func (x *GetRecommendByUserReq) Size() (n int) { + if x == nil { return n } - for i := range x.GetTags() { - n += fastpb.SizeString(6, x.GetTags()[i]) + n += x.sizeField1() + n += x.sizeField2() + return n +} + +func (x *GetRecommendByUserReq) sizeField1() (n int) { + if x.Limit == nil { + return n } + n += fastpb.SizeInt64(1, x.GetLimit()) return n } -func (x *GetOwnPostResp) sizeField7() (n int) { - if x.ViewCount == 0 { +func (x *GetRecommendByUserReq) sizeField2() (n int) { + if x.Category == 0 { return n } - n += fastpb.SizeInt64(7, x.GetViewCount()) + n += fastpb.SizeInt32(2, int32(x.GetCategory())) return n } -func (x *GetOwnPostResp) sizeField8() (n int) { - if x.LikeCount == 0 { +func (x *GetRecommendByUserResp) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeInt64(8, x.GetLikeCount()) + n += x.sizeField1() return n } -func (x *GetOwnPostResp) sizeField9() (n int) { - if x.CommentCount == 0 { +func (x *GetRecommendByUserResp) sizeField1() (n int) { + if x.Recommends == nil { return n } - n += fastpb.SizeInt64(9, x.GetCommentCount()) + n += fastpb.SizeMessage(1, x.GetRecommends()) return n } -func (x *GetOwnPostResp) sizeField10() (n int) { - if x.ShareCount == 0 { +func (x *CreateProductReq) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeInt64(10, x.GetShareCount()) + n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + n += x.sizeField6() + n += x.sizeField7() + n += x.sizeField8() return n } -func (x *GetOwnPostResp) sizeField11() (n int) { - if x.CollectCount == 0 { +func (x *CreateProductReq) sizeField1() (n int) { + if x.Name == "" { return n } - n += fastpb.SizeInt64(11, x.GetCollectCount()) + n += fastpb.SizeString(1, x.GetName()) + return n +} + +func (x *CreateProductReq) sizeField2() (n int) { + if x.Description == "" { + return n + } + n += fastpb.SizeString(2, x.GetDescription()) + return n +} + +func (x *CreateProductReq) sizeField3() (n int) { + if x.Status == 0 { + return n + } + n += fastpb.SizeInt64(3, x.GetStatus()) + return n +} + +func (x *CreateProductReq) sizeField4() (n int) { + if len(x.Urls) == 0 { + return n + } + for i := range x.GetUrls() { + n += fastpb.SizeString(4, x.GetUrls()[i]) + } + return n +} + +func (x *CreateProductReq) sizeField5() (n int) { + if len(x.Tags) == 0 { + return n + } + for i := range x.GetTags() { + n += fastpb.SizeString(5, x.GetTags()[i]) + } + return n +} + +func (x *CreateProductReq) sizeField6() (n int) { + if x.Type == 0 { + return n + } + n += fastpb.SizeInt64(6, x.GetType()) + return n +} + +func (x *CreateProductReq) sizeField7() (n int) { + if x.Price == 0 { + return n + } + n += fastpb.SizeInt64(7, x.GetPrice()) + return n +} + +func (x *CreateProductReq) sizeField8() (n int) { + if x.ProductSize == 0 { + return n + } + n += fastpb.SizeInt64(8, x.GetProductSize()) return n } -func (x *GetOwnPostResp) sizeField12() (n int) { - if !x.Liked { +func (x *CreateProductResp) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeBool(12, x.GetLiked()) return n } -func (x *GetOwnPostResp) sizeField13() (n int) { - if !x.Collected { +func (x *DeleteProductReq) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeBool(13, x.GetCollected()) + n += x.sizeField1() return n } -func (x *GetOwnPostResp) sizeField14() (n int) { - if x.CreateTime == 0 { +func (x *DeleteProductReq) sizeField1() (n int) { + if x.ProductId == "" { return n } - n += fastpb.SizeInt64(14, x.GetCreateTime()) + n += fastpb.SizeString(1, x.GetProductId()) return n } -func (x *GetOwnPostResp) sizeField15() (n int) { - if x.UpdateTime == 0 { +func (x *DeleteProductResp) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeInt64(15, x.GetUpdateTime()) return n } -func (x *GetOwnPostsReq) Size() (n int) { +func (x *UpdateProductReq) Size() (n int) { if x == nil { return n } @@ -9379,350 +9942,361 @@ func (x *GetOwnPostsReq) Size() (n int) { n += x.sizeField5() n += x.sizeField6() n += x.sizeField7() + n += x.sizeField8() n += x.sizeField9() - n += x.sizeField10() - n += x.sizeField11() - n += x.sizeField12() - n += x.sizeField13() return n } -func (x *GetOwnPostsReq) sizeField1() (n int) { - if x.AllFieldsKey == nil { +func (x *UpdateProductReq) sizeField1() (n int) { + if x.ProductId == "" { return n } - n += fastpb.SizeString(1, x.GetAllFieldsKey()) + n += fastpb.SizeString(1, x.GetProductId()) return n } -func (x *GetOwnPostsReq) sizeField2() (n int) { - if x.Id == nil { +func (x *UpdateProductReq) sizeField2() (n int) { + if x.Name == "" { return n } - n += fastpb.SizeString(2, x.GetId()) + n += fastpb.SizeString(2, x.GetName()) return n } -func (x *GetOwnPostsReq) sizeField3() (n int) { - if x.Tag == nil { +func (x *UpdateProductReq) sizeField3() (n int) { + if x.Description == "" { return n } - n += fastpb.SizeString(3, x.GetTag()) + n += fastpb.SizeString(3, x.GetDescription()) return n } -func (x *GetOwnPostsReq) sizeField4() (n int) { - if x.Text == nil { +func (x *UpdateProductReq) sizeField4() (n int) { + if x.Status == 0 { return n } - n += fastpb.SizeString(4, x.GetText()) + n += fastpb.SizeInt64(4, x.GetStatus()) return n } -func (x *GetOwnPostsReq) sizeField5() (n int) { - if x.Title == nil { +func (x *UpdateProductReq) sizeField5() (n int) { + if len(x.Urls) == 0 { return n } - n += fastpb.SizeString(5, x.GetTitle()) + for i := range x.GetUrls() { + n += fastpb.SizeString(5, x.GetUrls()[i]) + } return n } -func (x *GetOwnPostsReq) sizeField6() (n int) { - if x.OnlyStatus == nil { +func (x *UpdateProductReq) sizeField6() (n int) { + if len(x.Tags) == 0 { return n } - n += fastpb.SizeString(6, x.GetOnlyStatus()) + for i := range x.GetTags() { + n += fastpb.SizeString(6, x.GetTags()[i]) + } return n } -func (x *GetOwnPostsReq) sizeField7() (n int) { - if len(x.OnlyTags) == 0 { +func (x *UpdateProductReq) sizeField7() (n int) { + if x.Type == 0 { return n } - for i := range x.GetOnlyTags() { - n += fastpb.SizeString(7, x.GetOnlyTags()[i]) - } + n += fastpb.SizeInt64(7, x.GetType()) return n } -func (x *GetOwnPostsReq) sizeField9() (n int) { - if x.OnlySetRelation == nil { +func (x *UpdateProductReq) sizeField8() (n int) { + if x.Price == 0 { return n } - n += fastpb.SizeInt64(9, x.GetOnlySetRelation()) + n += fastpb.SizeInt64(8, x.GetPrice()) return n } -func (x *GetOwnPostsReq) sizeField10() (n int) { - if x.Limit == nil { +func (x *UpdateProductReq) sizeField9() (n int) { + if x.ProductSize == 0 { return n } - n += fastpb.SizeInt64(10, x.GetLimit()) + n += fastpb.SizeInt64(9, x.GetProductSize()) return n } -func (x *GetOwnPostsReq) sizeField11() (n int) { - if x.LastToken == nil { +func (x *UpdateProductResp) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeString(11, x.GetLastToken()) return n } -func (x *GetOwnPostsReq) sizeField12() (n int) { - if x.Backward == nil { +func (x *GetProductReq) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeBool(12, x.GetBackward()) + n += x.sizeField1() return n } -func (x *GetOwnPostsReq) sizeField13() (n int) { - if x.Offset == nil { +func (x *GetProductReq) sizeField1() (n int) { + if x.ProductId == "" { return n } - n += fastpb.SizeInt64(13, x.GetOffset()) + n += fastpb.SizeString(1, x.GetProductId()) return n } -func (x *GetOwnPostsResp) Size() (n int) { +func (x *GetProductResp) Size() (n int) { if x == nil { return n } n += x.sizeField1() n += x.sizeField2() n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + n += x.sizeField6() + n += x.sizeField7() + n += x.sizeField8() + n += x.sizeField9() + n += x.sizeField10() + n += x.sizeField11() + n += x.sizeField12() + n += x.sizeField13() return n } -func (x *GetOwnPostsResp) sizeField1() (n int) { - if x.Posts == nil { +func (x *GetProductResp) sizeField1() (n int) { + if x.Name == "" { return n } - for i := range x.GetPosts() { - n += fastpb.SizeMessage(1, x.GetPosts()[i]) - } + n += fastpb.SizeString(1, x.GetName()) return n } -func (x *GetOwnPostsResp) sizeField2() (n int) { - if x.Total == 0 { +func (x *GetProductResp) sizeField2() (n int) { + if x.Description == "" { return n } - n += fastpb.SizeInt64(2, x.GetTotal()) + n += fastpb.SizeString(2, x.GetDescription()) return n } -func (x *GetOwnPostsResp) sizeField3() (n int) { - if x.Token == "" { +func (x *GetProductResp) sizeField3() (n int) { + if len(x.Urls) == 0 { return n } - n += fastpb.SizeString(3, x.GetToken()) + for i := range x.GetUrls() { + n += fastpb.SizeString(3, x.GetUrls()[i]) + } return n } -func (x *CreateFeedBackReq) Size() (n int) { - if x == nil { +func (x *GetProductResp) sizeField4() (n int) { + if len(x.Tags) == 0 { return n } - n += x.sizeField1() - n += x.sizeField2() + for i := range x.GetTags() { + n += fastpb.SizeString(4, x.GetTags()[i]) + } return n } -func (x *CreateFeedBackReq) sizeField1() (n int) { - if x.FeedbackType == "" { +func (x *GetProductResp) sizeField5() (n int) { + if x.Type == 0 { return n } - n += fastpb.SizeString(1, x.GetFeedbackType()) + n += fastpb.SizeInt64(5, x.GetType()) return n } -func (x *CreateFeedBackReq) sizeField2() (n int) { - if x.ItemId == "" { +func (x *GetProductResp) sizeField6() (n int) { + if x.Price == 0 { return n } - n += fastpb.SizeString(2, x.GetItemId()) + n += fastpb.SizeInt64(6, x.GetPrice()) return n } -func (x *CreateFeedBackResp) Size() (n int) { - if x == nil { +func (x *GetProductResp) sizeField7() (n int) { + if x.ProductSize == 0 { return n } + n += fastpb.SizeInt64(7, x.GetProductSize()) return n } -func (x *GetPopularRecommendReq) Size() (n int) { - if x == nil { +func (x *GetProductResp) sizeField8() (n int) { + if x.User == nil { return n } - n += x.sizeField1() - n += x.sizeField2() + n += fastpb.SizeMessage(8, x.GetUser()) return n } -func (x *GetPopularRecommendReq) sizeField1() (n int) { - if x.Limit == nil { +func (x *GetProductResp) sizeField9() (n int) { + if x.CollectCount == 0 { return n } - n += fastpb.SizeInt64(1, x.GetLimit()) + n += fastpb.SizeInt64(9, x.GetCollectCount()) return n } -func (x *GetPopularRecommendReq) sizeField2() (n int) { - if x.Category == 0 { +func (x *GetProductResp) sizeField10() (n int) { + if x.PurchaseCount == 0 { return n } - n += fastpb.SizeInt32(2, int32(x.GetCategory())) + n += fastpb.SizeInt64(10, x.GetPurchaseCount()) return n } -func (x *GetPopularRecommendResp) Size() (n int) { - if x == nil { +func (x *GetProductResp) sizeField11() (n int) { + if !x.Collected { return n } - n += x.sizeField1() + n += fastpb.SizeBool(11, x.GetCollected()) return n } -func (x *GetPopularRecommendResp) sizeField1() (n int) { - if x.Recommends == nil { +func (x *GetProductResp) sizeField12() (n int) { + if x.Stock == 0 { return n } - n += fastpb.SizeMessage(1, x.GetRecommends()) + n += fastpb.SizeInt64(12, x.GetStock()) return n } -func (x *GetLatestRecommendReq) Size() (n int) { - if x == nil { +func (x *GetProductResp) sizeField13() (n int) { + if x.CreateTime == 0 { return n } - n += x.sizeField1() - n += x.sizeField2() + n += fastpb.SizeInt64(13, x.GetCreateTime()) return n } -func (x *GetLatestRecommendReq) sizeField1() (n int) { - if x.Limit == nil { +func (x *GetProductsReq) Size() (n int) { + if x == nil { return n } - n += fastpb.SizeInt64(1, x.GetLimit()) + n += x.sizeField1() + n += x.sizeField2() + n += x.sizeField3() + n += x.sizeField4() + n += x.sizeField5() + n += x.sizeField6() + n += x.sizeField7() + n += x.sizeField8() + n += x.sizeField9() return n } -func (x *GetLatestRecommendReq) sizeField2() (n int) { - if x.Category == 0 { +func (x *GetProductsReq) sizeField1() (n int) { + if x.AllFieldsKey == nil { return n } - n += fastpb.SizeInt32(2, int32(x.GetCategory())) + n += fastpb.SizeString(1, x.GetAllFieldsKey()) return n } -func (x *GetLatestRecommendResp) Size() (n int) { - if x == nil { +func (x *GetProductsReq) sizeField2() (n int) { + if x.Name == nil { return n } - n += x.sizeField1() + n += fastpb.SizeString(2, x.GetName()) return n } -func (x *GetLatestRecommendResp) sizeField1() (n int) { - if x.Recommends == nil { +func (x *GetProductsReq) sizeField3() (n int) { + if x.OnlyUserId == nil { return n } - n += fastpb.SizeMessage(1, x.GetRecommends()) + n += fastpb.SizeString(3, x.GetOnlyUserId()) return n } -func (x *GetRecommendByItemReq) Size() (n int) { - if x == nil { +func (x *GetProductsReq) sizeField4() (n int) { + if len(x.OnlyTags) == 0 { return n } - n += x.sizeField1() - n += x.sizeField2() - n += x.sizeField3() + for i := range x.GetOnlyTags() { + n += fastpb.SizeString(4, x.GetOnlyTags()[i]) + } return n } -func (x *GetRecommendByItemReq) sizeField1() (n int) { - if x.ItemId == "" { +func (x *GetProductsReq) sizeField5() (n int) { + if x.OnlySetRelation == nil { return n } - n += fastpb.SizeString(1, x.GetItemId()) + n += fastpb.SizeInt64(5, x.GetOnlySetRelation()) return n } -func (x *GetRecommendByItemReq) sizeField2() (n int) { +func (x *GetProductsReq) sizeField6() (n int) { if x.Limit == nil { return n } - n += fastpb.SizeInt64(2, x.GetLimit()) + n += fastpb.SizeInt64(6, x.GetLimit()) return n } -func (x *GetRecommendByItemReq) sizeField3() (n int) { - if x.Category == 0 { +func (x *GetProductsReq) sizeField7() (n int) { + if x.LastToken == nil { return n } - n += fastpb.SizeInt32(3, int32(x.GetCategory())) + n += fastpb.SizeString(7, x.GetLastToken()) return n } -func (x *GetRecommendByItemResp) Size() (n int) { - if x == nil { +func (x *GetProductsReq) sizeField8() (n int) { + if x.Backward == nil { return n } - n += x.sizeField1() + n += fastpb.SizeBool(8, x.GetBackward()) return n } -func (x *GetRecommendByItemResp) sizeField1() (n int) { - if x.Recommends == nil { +func (x *GetProductsReq) sizeField9() (n int) { + if x.Offset == nil { return n } - n += fastpb.SizeMessage(1, x.GetRecommends()) + n += fastpb.SizeInt64(9, x.GetOffset()) return n } -func (x *GetRecommendByUserReq) Size() (n int) { +func (x *GetProductsResp) Size() (n int) { if x == nil { return n } n += x.sizeField1() n += x.sizeField2() + n += x.sizeField3() return n } -func (x *GetRecommendByUserReq) sizeField1() (n int) { - if x.Limit == nil { +func (x *GetProductsResp) sizeField1() (n int) { + if x.Products == nil { return n } - n += fastpb.SizeInt64(1, x.GetLimit()) - return n -} - -func (x *GetRecommendByUserReq) sizeField2() (n int) { - if x.Category == 0 { - return n + for i := range x.GetProducts() { + n += fastpb.SizeMessage(1, x.GetProducts()[i]) } - n += fastpb.SizeInt32(2, int32(x.GetCategory())) return n } -func (x *GetRecommendByUserResp) Size() (n int) { - if x == nil { +func (x *GetProductsResp) sizeField2() (n int) { + if x.Total == 0 { return n } - n += x.sizeField1() + n += fastpb.SizeInt64(2, x.GetTotal()) return n } -func (x *GetRecommendByUserResp) sizeField1() (n int) { - if x.Recommends == nil { +func (x *GetProductsResp) sizeField3() (n int) { + if x.Token == "" { return n } - n += fastpb.SizeMessage(1, x.GetRecommends()) + n += fastpb.SizeString(3, x.GetToken()) return n } @@ -10087,11 +10661,11 @@ var fieldIDToName_UpdatePostReq = map[int32]string{ var fieldIDToName_UpdatePostResp = map[int32]string{} -var fieldIDToName_GetOtherPostReq = map[int32]string{ +var fieldIDToName_GetPostReq = map[int32]string{ 1: "PostId", } -var fieldIDToName_GetOtherPostResp = map[int32]string{ +var fieldIDToName_GetPostResp = map[int32]string{ 1: "Title", 2: "Text", 3: "Status", @@ -10109,7 +10683,7 @@ var fieldIDToName_GetOtherPostResp = map[int32]string{ 15: "UpdateTime", } -var fieldIDToName_GetOtherPostsReq = map[int32]string{ +var fieldIDToName_GetPostsReq = map[int32]string{ 1: "AllFieldsKey", 2: "Id", 3: "Tag", @@ -10124,50 +10698,7 @@ var fieldIDToName_GetOtherPostsReq = map[int32]string{ 13: "Offset", } -var fieldIDToName_GetOtherPostsResp = map[int32]string{ - 1: "Posts", - 2: "Total", - 3: "Token", -} - -var fieldIDToName_GetOwnPostReq = map[int32]string{ - 1: "PostId", -} - -var fieldIDToName_GetOwnPostResp = map[int32]string{ - 1: "Title", - 2: "Text", - 3: "Status", - 4: "Url", - 5: "Author", - 6: "Tags", - 7: "ViewCount", - 8: "LikeCount", - 9: "CommentCount", - 10: "ShareCount", - 11: "CollectCount", - 12: "Liked", - 13: "Collected", - 14: "CreateTime", - 15: "UpdateTime", -} - -var fieldIDToName_GetOwnPostsReq = map[int32]string{ - 1: "AllFieldsKey", - 2: "Id", - 3: "Tag", - 4: "Text", - 5: "Title", - 6: "OnlyStatus", - 7: "OnlyTags", - 9: "OnlySetRelation", - 10: "Limit", - 11: "LastToken", - 12: "Backward", - 13: "Offset", -} - -var fieldIDToName_GetOwnPostsResp = map[int32]string{ +var fieldIDToName_GetPostsResp = map[int32]string{ 1: "Posts", 2: "Total", 3: "Token", @@ -10217,5 +10748,76 @@ var fieldIDToName_GetRecommendByUserResp = map[int32]string{ 1: "Recommends", } +var fieldIDToName_CreateProductReq = map[int32]string{ + 1: "Name", + 2: "Description", + 3: "Status", + 4: "Urls", + 5: "Tags", + 6: "Type", + 7: "Price", + 8: "ProductSize", +} + +var fieldIDToName_CreateProductResp = map[int32]string{} + +var fieldIDToName_DeleteProductReq = map[int32]string{ + 1: "ProductId", +} + +var fieldIDToName_DeleteProductResp = map[int32]string{} + +var fieldIDToName_UpdateProductReq = map[int32]string{ + 1: "ProductId", + 2: "Name", + 3: "Description", + 4: "Status", + 5: "Urls", + 6: "Tags", + 7: "Type", + 8: "Price", + 9: "ProductSize", +} + +var fieldIDToName_UpdateProductResp = map[int32]string{} + +var fieldIDToName_GetProductReq = map[int32]string{ + 1: "ProductId", +} + +var fieldIDToName_GetProductResp = map[int32]string{ + 1: "Name", + 2: "Description", + 3: "Urls", + 4: "Tags", + 5: "Type", + 6: "Price", + 7: "ProductSize", + 8: "User", + 9: "CollectCount", + 10: "PurchaseCount", + 11: "Collected", + 12: "Stock", + 13: "CreateTime", +} + +var fieldIDToName_GetProductsReq = map[int32]string{ + 1: "AllFieldsKey", + 2: "Name", + 3: "OnlyUserId", + 4: "OnlyTags", + 5: "OnlySetRelation", + 6: "Limit", + 7: "LastToken", + 8: "Backward", + 9: "Offset", +} + +var fieldIDToName_GetProductsResp = map[int32]string{ + 1: "Products", + 2: "Total", + 3: "Token", +} + var _ = basic.File_basic_pagination_proto var _ = http.File_http_http_proto diff --git a/kitex_gen/cloudmind/core_api/content.pb.go b/kitex_gen/cloudmind/core_api/content.pb.go index 312b3ce..b1cc04c 100644 --- a/kitex_gen/cloudmind/core_api/content.pb.go +++ b/kitex_gen/cloudmind/core_api/content.pb.go @@ -4080,7 +4080,7 @@ func (*UpdatePostResp) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{69} } -type GetOtherPostReq struct { +type GetPostReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4088,8 +4088,8 @@ type GetOtherPostReq struct { PostId string `protobuf:"bytes,1,opt,name=postId,proto3" json:"postId,omitempty"` } -func (x *GetOtherPostReq) Reset() { - *x = GetOtherPostReq{} +func (x *GetPostReq) Reset() { + *x = GetPostReq{} if protoimpl.UnsafeEnabled { mi := &file_cloudmind_core_api_content_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4097,13 +4097,13 @@ func (x *GetOtherPostReq) Reset() { } } -func (x *GetOtherPostReq) String() string { +func (x *GetPostReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetOtherPostReq) ProtoMessage() {} +func (*GetPostReq) ProtoMessage() {} -func (x *GetOtherPostReq) ProtoReflect() protoreflect.Message { +func (x *GetPostReq) ProtoReflect() protoreflect.Message { mi := &file_cloudmind_core_api_content_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4115,19 +4115,19 @@ func (x *GetOtherPostReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetOtherPostReq.ProtoReflect.Descriptor instead. -func (*GetOtherPostReq) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPostReq.ProtoReflect.Descriptor instead. +func (*GetPostReq) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{70} } -func (x *GetOtherPostReq) GetPostId() string { +func (x *GetPostReq) GetPostId() string { if x != nil { return x.PostId } return "" } -type GetOtherPostResp struct { +type GetPostResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4149,8 +4149,8 @@ type GetOtherPostResp struct { UpdateTime int64 `protobuf:"varint,15,opt,name=updateTime,proto3" json:"updateTime,omitempty"` } -func (x *GetOtherPostResp) Reset() { - *x = GetOtherPostResp{} +func (x *GetPostResp) Reset() { + *x = GetPostResp{} if protoimpl.UnsafeEnabled { mi := &file_cloudmind_core_api_content_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4158,13 +4158,13 @@ func (x *GetOtherPostResp) Reset() { } } -func (x *GetOtherPostResp) String() string { +func (x *GetPostResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetOtherPostResp) ProtoMessage() {} +func (*GetPostResp) ProtoMessage() {} -func (x *GetOtherPostResp) ProtoReflect() protoreflect.Message { +func (x *GetPostResp) ProtoReflect() protoreflect.Message { mi := &file_cloudmind_core_api_content_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4176,117 +4176,117 @@ func (x *GetOtherPostResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetOtherPostResp.ProtoReflect.Descriptor instead. -func (*GetOtherPostResp) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPostResp.ProtoReflect.Descriptor instead. +func (*GetPostResp) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{71} } -func (x *GetOtherPostResp) GetTitle() string { +func (x *GetPostResp) GetTitle() string { if x != nil { return x.Title } return "" } -func (x *GetOtherPostResp) GetText() string { +func (x *GetPostResp) GetText() string { if x != nil { return x.Text } return "" } -func (x *GetOtherPostResp) GetStatus() int64 { +func (x *GetPostResp) GetStatus() int64 { if x != nil { return x.Status } return 0 } -func (x *GetOtherPostResp) GetUrl() string { +func (x *GetPostResp) GetUrl() string { if x != nil { return x.Url } return "" } -func (x *GetOtherPostResp) GetAuthor() *User { +func (x *GetPostResp) GetAuthor() *User { if x != nil { return x.Author } return nil } -func (x *GetOtherPostResp) GetTags() []string { +func (x *GetPostResp) GetTags() []string { if x != nil { return x.Tags } return nil } -func (x *GetOtherPostResp) GetViewCount() int64 { +func (x *GetPostResp) GetViewCount() int64 { if x != nil { return x.ViewCount } return 0 } -func (x *GetOtherPostResp) GetLikeCount() int64 { +func (x *GetPostResp) GetLikeCount() int64 { if x != nil { return x.LikeCount } return 0 } -func (x *GetOtherPostResp) GetCommentCount() int64 { +func (x *GetPostResp) GetCommentCount() int64 { if x != nil { return x.CommentCount } return 0 } -func (x *GetOtherPostResp) GetShareCount() int64 { +func (x *GetPostResp) GetShareCount() int64 { if x != nil { return x.ShareCount } return 0 } -func (x *GetOtherPostResp) GetCollectCount() int64 { +func (x *GetPostResp) GetCollectCount() int64 { if x != nil { return x.CollectCount } return 0 } -func (x *GetOtherPostResp) GetLiked() bool { +func (x *GetPostResp) GetLiked() bool { if x != nil { return x.Liked } return false } -func (x *GetOtherPostResp) GetCollected() bool { +func (x *GetPostResp) GetCollected() bool { if x != nil { return x.Collected } return false } -func (x *GetOtherPostResp) GetCreateTime() int64 { +func (x *GetPostResp) GetCreateTime() int64 { if x != nil { return x.CreateTime } return 0 } -func (x *GetOtherPostResp) GetUpdateTime() int64 { +func (x *GetPostResp) GetUpdateTime() int64 { if x != nil { return x.UpdateTime } return 0 } -type GetOtherPostsReq struct { +type GetPostsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4305,8 +4305,8 @@ type GetOtherPostsReq struct { Offset *int64 `protobuf:"varint,13,opt,name=offset,proto3,oneof" json:"offset,omitempty"` } -func (x *GetOtherPostsReq) Reset() { - *x = GetOtherPostsReq{} +func (x *GetPostsReq) Reset() { + *x = GetPostsReq{} if protoimpl.UnsafeEnabled { mi := &file_cloudmind_core_api_content_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4314,13 +4314,13 @@ func (x *GetOtherPostsReq) Reset() { } } -func (x *GetOtherPostsReq) String() string { +func (x *GetPostsReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetOtherPostsReq) ProtoMessage() {} +func (*GetPostsReq) ProtoMessage() {} -func (x *GetOtherPostsReq) ProtoReflect() protoreflect.Message { +func (x *GetPostsReq) ProtoReflect() protoreflect.Message { mi := &file_cloudmind_core_api_content_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4332,96 +4332,96 @@ func (x *GetOtherPostsReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetOtherPostsReq.ProtoReflect.Descriptor instead. -func (*GetOtherPostsReq) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPostsReq.ProtoReflect.Descriptor instead. +func (*GetPostsReq) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{72} } -func (x *GetOtherPostsReq) GetAllFieldsKey() string { +func (x *GetPostsReq) GetAllFieldsKey() string { if x != nil && x.AllFieldsKey != nil { return *x.AllFieldsKey } return "" } -func (x *GetOtherPostsReq) GetId() string { +func (x *GetPostsReq) GetId() string { if x != nil && x.Id != nil { return *x.Id } return "" } -func (x *GetOtherPostsReq) GetTag() string { +func (x *GetPostsReq) GetTag() string { if x != nil && x.Tag != nil { return *x.Tag } return "" } -func (x *GetOtherPostsReq) GetText() string { +func (x *GetPostsReq) GetText() string { if x != nil && x.Text != nil { return *x.Text } return "" } -func (x *GetOtherPostsReq) GetTitle() string { +func (x *GetPostsReq) GetTitle() string { if x != nil && x.Title != nil { return *x.Title } return "" } -func (x *GetOtherPostsReq) GetOnlyUserId() string { +func (x *GetPostsReq) GetOnlyUserId() string { if x != nil && x.OnlyUserId != nil { return *x.OnlyUserId } return "" } -func (x *GetOtherPostsReq) GetOnlyTags() []string { +func (x *GetPostsReq) GetOnlyTags() []string { if x != nil { return x.OnlyTags } return nil } -func (x *GetOtherPostsReq) GetOnlySetRelation() int64 { +func (x *GetPostsReq) GetOnlySetRelation() int64 { if x != nil && x.OnlySetRelation != nil { return *x.OnlySetRelation } return 0 } -func (x *GetOtherPostsReq) GetLimit() int64 { +func (x *GetPostsReq) GetLimit() int64 { if x != nil && x.Limit != nil { return *x.Limit } return 0 } -func (x *GetOtherPostsReq) GetLastToken() string { +func (x *GetPostsReq) GetLastToken() string { if x != nil && x.LastToken != nil { return *x.LastToken } return "" } -func (x *GetOtherPostsReq) GetBackward() bool { +func (x *GetPostsReq) GetBackward() bool { if x != nil && x.Backward != nil { return *x.Backward } return false } -func (x *GetOtherPostsReq) GetOffset() int64 { +func (x *GetPostsReq) GetOffset() int64 { if x != nil && x.Offset != nil { return *x.Offset } return 0 } -type GetOtherPostsResp struct { +type GetPostsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4431,8 +4431,8 @@ type GetOtherPostsResp struct { Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` } -func (x *GetOtherPostsResp) Reset() { - *x = GetOtherPostsResp{} +func (x *GetPostsResp) Reset() { + *x = GetPostsResp{} if protoimpl.UnsafeEnabled { mi := &file_cloudmind_core_api_content_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4440,13 +4440,13 @@ func (x *GetOtherPostsResp) Reset() { } } -func (x *GetOtherPostsResp) String() string { +func (x *GetPostsResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetOtherPostsResp) ProtoMessage() {} +func (*GetPostsResp) ProtoMessage() {} -func (x *GetOtherPostsResp) ProtoReflect() protoreflect.Message { +func (x *GetPostsResp) ProtoReflect() protoreflect.Message { mi := &file_cloudmind_core_api_content_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4458,42 +4458,43 @@ func (x *GetOtherPostsResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetOtherPostsResp.ProtoReflect.Descriptor instead. -func (*GetOtherPostsResp) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPostsResp.ProtoReflect.Descriptor instead. +func (*GetPostsResp) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{73} } -func (x *GetOtherPostsResp) GetPosts() []*Post { +func (x *GetPostsResp) GetPosts() []*Post { if x != nil { return x.Posts } return nil } -func (x *GetOtherPostsResp) GetTotal() int64 { +func (x *GetPostsResp) GetTotal() int64 { if x != nil { return x.Total } return 0 } -func (x *GetOtherPostsResp) GetToken() string { +func (x *GetPostsResp) GetToken() string { if x != nil { return x.Token } return "" } -type GetOwnPostReq struct { +type CreateFeedBackReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PostId string `protobuf:"bytes,1,opt,name=postId,proto3" json:"postId,omitempty"` + FeedbackType string `protobuf:"bytes,1,opt,name=feedbackType,proto3" json:"feedbackType,omitempty"` + ItemId string `protobuf:"bytes,2,opt,name=itemId,proto3" json:"itemId,omitempty"` } -func (x *GetOwnPostReq) Reset() { - *x = GetOwnPostReq{} +func (x *CreateFeedBackReq) Reset() { + *x = CreateFeedBackReq{} if protoimpl.UnsafeEnabled { mi := &file_cloudmind_core_api_content_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4501,13 +4502,13 @@ func (x *GetOwnPostReq) Reset() { } } -func (x *GetOwnPostReq) String() string { +func (x *CreateFeedBackReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetOwnPostReq) ProtoMessage() {} +func (*CreateFeedBackReq) ProtoMessage() {} -func (x *GetOwnPostReq) ProtoReflect() protoreflect.Message { +func (x *CreateFeedBackReq) ProtoReflect() protoreflect.Message { mi := &file_cloudmind_core_api_content_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4519,42 +4520,33 @@ func (x *GetOwnPostReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetOwnPostReq.ProtoReflect.Descriptor instead. -func (*GetOwnPostReq) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateFeedBackReq.ProtoReflect.Descriptor instead. +func (*CreateFeedBackReq) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{74} } -func (x *GetOwnPostReq) GetPostId() string { +func (x *CreateFeedBackReq) GetFeedbackType() string { if x != nil { - return x.PostId + return x.FeedbackType } return "" } -type GetOwnPostResp struct { +func (x *CreateFeedBackReq) GetItemId() string { + if x != nil { + return x.ItemId + } + return "" +} + +type CreateFeedBackResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` - Status int64 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"` - Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` - Author *User `protobuf:"bytes,5,opt,name=author,proto3" json:"author,omitempty"` // 作者信息 - Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` // 标签 - ViewCount int64 `protobuf:"varint,7,opt,name=viewCount,proto3" json:"viewCount,omitempty"` // 浏览量 - LikeCount int64 `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount,omitempty"` // 点赞量 - CommentCount int64 `protobuf:"varint,9,opt,name=commentCount,proto3" json:"commentCount,omitempty"` // 评论量 - ShareCount int64 `protobuf:"varint,10,opt,name=shareCount,proto3" json:"shareCount,omitempty"` // 分享量 - CollectCount int64 `protobuf:"varint,11,opt,name=collectCount,proto3" json:"collectCount,omitempty"` // 收藏量 - Liked bool `protobuf:"varint,12,opt,name=Liked,proto3" json:"Liked,omitempty"` - Collected bool `protobuf:"varint,13,opt,name=Collected,proto3" json:"Collected,omitempty"` - CreateTime int64 `protobuf:"varint,14,opt,name=createTime,proto3" json:"createTime,omitempty"` - UpdateTime int64 `protobuf:"varint,15,opt,name=updateTime,proto3" json:"updateTime,omitempty"` } -func (x *GetOwnPostResp) Reset() { - *x = GetOwnPostResp{} +func (x *CreateFeedBackResp) Reset() { + *x = CreateFeedBackResp{} if protoimpl.UnsafeEnabled { mi := &file_cloudmind_core_api_content_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4562,13 +4554,13 @@ func (x *GetOwnPostResp) Reset() { } } -func (x *GetOwnPostResp) String() string { +func (x *CreateFeedBackResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetOwnPostResp) ProtoMessage() {} +func (*CreateFeedBackResp) ProtoMessage() {} -func (x *GetOwnPostResp) ProtoReflect() protoreflect.Message { +func (x *CreateFeedBackResp) ProtoReflect() protoreflect.Message { mi := &file_cloudmind_core_api_content_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4580,152 +4572,405 @@ func (x *GetOwnPostResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetOwnPostResp.ProtoReflect.Descriptor instead. -func (*GetOwnPostResp) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateFeedBackResp.ProtoReflect.Descriptor instead. +func (*CreateFeedBackResp) Descriptor() ([]byte, []int) { return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{75} } -func (x *GetOwnPostResp) GetTitle() string { - if x != nil { - return x.Title +type GetPopularRecommendReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit *int64 `protobuf:"varint,1,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + Category Category `protobuf:"varint,2,opt,name=category,proto3,enum=cloudmind.core_api.Category" json:"category,omitempty"` +} + +func (x *GetPopularRecommendReq) Reset() { + *x = GetPopularRecommendReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_content_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *GetOwnPostResp) GetText() string { - if x != nil { - return x.Text +func (x *GetPopularRecommendReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPopularRecommendReq) ProtoMessage() {} + +func (x *GetPopularRecommendReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *GetOwnPostResp) GetStatus() int64 { - if x != nil { - return x.Status +// Deprecated: Use GetPopularRecommendReq.ProtoReflect.Descriptor instead. +func (*GetPopularRecommendReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{76} +} + +func (x *GetPopularRecommendReq) GetLimit() int64 { + if x != nil && x.Limit != nil { + return *x.Limit } return 0 } -func (x *GetOwnPostResp) GetUrl() string { +func (x *GetPopularRecommendReq) GetCategory() Category { if x != nil { - return x.Url + return x.Category } - return "" + return Category_UnknowCategory } -func (x *GetOwnPostResp) GetAuthor() *User { - if x != nil { - return x.Author +type GetPopularRecommendResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Recommends *Recommends `protobuf:"bytes,1,opt,name=recommends,proto3" json:"recommends,omitempty"` +} + +func (x *GetPopularRecommendResp) Reset() { + *x = GetPopularRecommendResp{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_content_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *GetOwnPostResp) GetTags() []string { +func (x *GetPopularRecommendResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPopularRecommendResp) ProtoMessage() {} + +func (x *GetPopularRecommendResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPopularRecommendResp.ProtoReflect.Descriptor instead. +func (*GetPopularRecommendResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{77} +} + +func (x *GetPopularRecommendResp) GetRecommends() *Recommends { if x != nil { - return x.Tags + return x.Recommends } return nil } -func (x *GetOwnPostResp) GetViewCount() int64 { - if x != nil { - return x.ViewCount +type GetLatestRecommendReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit *int64 `protobuf:"varint,1,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + Category Category `protobuf:"varint,2,opt,name=category,proto3,enum=cloudmind.core_api.Category" json:"category,omitempty"` +} + +func (x *GetLatestRecommendReq) Reset() { + *x = GetLatestRecommendReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_content_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *GetOwnPostResp) GetLikeCount() int64 { - if x != nil { - return x.LikeCount +func (x *GetLatestRecommendReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestRecommendReq) ProtoMessage() {} + +func (x *GetLatestRecommendReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLatestRecommendReq.ProtoReflect.Descriptor instead. +func (*GetLatestRecommendReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{78} +} + +func (x *GetLatestRecommendReq) GetLimit() int64 { + if x != nil && x.Limit != nil { + return *x.Limit } return 0 } -func (x *GetOwnPostResp) GetCommentCount() int64 { +func (x *GetLatestRecommendReq) GetCategory() Category { if x != nil { - return x.CommentCount + return x.Category } - return 0 + return Category_UnknowCategory +} + +type GetLatestRecommendResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Recommends *Recommends `protobuf:"bytes,1,opt,name=recommends,proto3" json:"recommends,omitempty"` } -func (x *GetOwnPostResp) GetShareCount() int64 { +func (x *GetLatestRecommendResp) Reset() { + *x = GetLatestRecommendResp{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_content_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetLatestRecommendResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestRecommendResp) ProtoMessage() {} + +func (x *GetLatestRecommendResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLatestRecommendResp.ProtoReflect.Descriptor instead. +func (*GetLatestRecommendResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{79} +} + +func (x *GetLatestRecommendResp) GetRecommends() *Recommends { if x != nil { - return x.ShareCount + return x.Recommends } - return 0 + return nil +} + +type GetRecommendByItemReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemId string `protobuf:"bytes,1,opt,name=itemId,proto3" json:"itemId,omitempty"` + Limit *int64 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + Category Category `protobuf:"varint,3,opt,name=category,proto3,enum=cloudmind.core_api.Category" json:"category,omitempty"` +} + +func (x *GetRecommendByItemReq) Reset() { + *x = GetRecommendByItemReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_content_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRecommendByItemReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *GetOwnPostResp) GetCollectCount() int64 { +func (*GetRecommendByItemReq) ProtoMessage() {} + +func (x *GetRecommendByItemReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRecommendByItemReq.ProtoReflect.Descriptor instead. +func (*GetRecommendByItemReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{80} +} + +func (x *GetRecommendByItemReq) GetItemId() string { if x != nil { - return x.CollectCount + return x.ItemId + } + return "" +} + +func (x *GetRecommendByItemReq) GetLimit() int64 { + if x != nil && x.Limit != nil { + return *x.Limit } return 0 } -func (x *GetOwnPostResp) GetLiked() bool { +func (x *GetRecommendByItemReq) GetCategory() Category { if x != nil { - return x.Liked + return x.Category } - return false + return Category_UnknowCategory } -func (x *GetOwnPostResp) GetCollected() bool { - if x != nil { - return x.Collected +type GetRecommendByItemResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Recommends *Recommends `protobuf:"bytes,1,opt,name=recommends,proto3" json:"recommends,omitempty"` +} + +func (x *GetRecommendByItemResp) Reset() { + *x = GetRecommendByItemResp{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_content_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *GetOwnPostResp) GetCreateTime() int64 { +func (x *GetRecommendByItemResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRecommendByItemResp) ProtoMessage() {} + +func (x *GetRecommendByItemResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRecommendByItemResp.ProtoReflect.Descriptor instead. +func (*GetRecommendByItemResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{81} +} + +func (x *GetRecommendByItemResp) GetRecommends() *Recommends { if x != nil { - return x.CreateTime + return x.Recommends + } + return nil +} + +type GetRecommendByUserReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit *int64 `protobuf:"varint,1,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + Category Category `protobuf:"varint,2,opt,name=category,proto3,enum=cloudmind.core_api.Category" json:"category,omitempty"` +} + +func (x *GetRecommendByUserReq) Reset() { + *x = GetRecommendByUserReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_content_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRecommendByUserReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRecommendByUserReq) ProtoMessage() {} + +func (x *GetRecommendByUserReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRecommendByUserReq.ProtoReflect.Descriptor instead. +func (*GetRecommendByUserReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{82} +} + +func (x *GetRecommendByUserReq) GetLimit() int64 { + if x != nil && x.Limit != nil { + return *x.Limit } return 0 } -func (x *GetOwnPostResp) GetUpdateTime() int64 { +func (x *GetRecommendByUserReq) GetCategory() Category { if x != nil { - return x.UpdateTime + return x.Category } - return 0 + return Category_UnknowCategory } -type GetOwnPostsReq struct { +type GetRecommendByUserResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AllFieldsKey *string `protobuf:"bytes,1,opt,name=allFieldsKey,proto3,oneof" json:"allFieldsKey,omitempty"` - Id *string `protobuf:"bytes,2,opt,name=id,proto3,oneof" json:"id,omitempty"` - Tag *string `protobuf:"bytes,3,opt,name=tag,proto3,oneof" json:"tag,omitempty"` - Text *string `protobuf:"bytes,4,opt,name=text,proto3,oneof" json:"text,omitempty"` - Title *string `protobuf:"bytes,5,opt,name=title,proto3,oneof" json:"title,omitempty"` - OnlyStatus *string `protobuf:"bytes,6,opt,name=onlyStatus,proto3,oneof" json:"onlyStatus,omitempty"` - OnlyTags []string `protobuf:"bytes,7,rep,name=onlyTags,proto3" json:"onlyTags,omitempty"` - OnlySetRelation *int64 `protobuf:"varint,9,opt,name=onlySetRelation,proto3,oneof" json:"onlySetRelation,omitempty"` - Limit *int64 `protobuf:"varint,10,opt,name=limit,proto3,oneof" json:"limit,omitempty"` - LastToken *string `protobuf:"bytes,11,opt,name=lastToken,proto3,oneof" json:"lastToken,omitempty"` - Backward *bool `protobuf:"varint,12,opt,name=backward,proto3,oneof" json:"backward,omitempty"` - Offset *int64 `protobuf:"varint,13,opt,name=offset,proto3,oneof" json:"offset,omitempty"` + Recommends *Recommends `protobuf:"bytes,1,opt,name=recommends,proto3" json:"recommends,omitempty"` } -func (x *GetOwnPostsReq) Reset() { - *x = GetOwnPostsReq{} +func (x *GetRecommendByUserResp) Reset() { + *x = GetRecommendByUserResp{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[76] + mi := &file_cloudmind_core_api_content_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetOwnPostsReq) String() string { +func (x *GetRecommendByUserResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetOwnPostsReq) ProtoMessage() {} +func (*GetRecommendByUserResp) ProtoMessage() {} -func (x *GetOwnPostsReq) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[76] +func (x *GetRecommendByUserResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4736,122 +4981,144 @@ func (x *GetOwnPostsReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetOwnPostsReq.ProtoReflect.Descriptor instead. -func (*GetOwnPostsReq) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{76} +// Deprecated: Use GetRecommendByUserResp.ProtoReflect.Descriptor instead. +func (*GetRecommendByUserResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{83} } -func (x *GetOwnPostsReq) GetAllFieldsKey() string { - if x != nil && x.AllFieldsKey != nil { - return *x.AllFieldsKey +func (x *GetRecommendByUserResp) GetRecommends() *Recommends { + if x != nil { + return x.Recommends } - return "" + return nil } -func (x *GetOwnPostsReq) GetId() string { - if x != nil && x.Id != nil { - return *x.Id +type CreateProductReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Status int64 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"` + Urls []string `protobuf:"bytes,4,rep,name=urls,proto3" json:"urls,omitempty"` + Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` + Type int64 `protobuf:"varint,6,opt,name=type,proto3" json:"type,omitempty"` + Price int64 `protobuf:"varint,7,opt,name=price,proto3" json:"price,omitempty"` + ProductSize int64 `protobuf:"varint,8,opt,name=productSize,proto3" json:"productSize,omitempty"` +} + +func (x *CreateProductReq) Reset() { + *x = CreateProductReq{} + if protoimpl.UnsafeEnabled { + mi := &file_cloudmind_core_api_content_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *GetOwnPostsReq) GetTag() string { - if x != nil && x.Tag != nil { - return *x.Tag +func (x *CreateProductReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProductReq) ProtoMessage() {} + +func (x *CreateProductReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *GetOwnPostsReq) GetText() string { - if x != nil && x.Text != nil { - return *x.Text +// Deprecated: Use CreateProductReq.ProtoReflect.Descriptor instead. +func (*CreateProductReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{84} +} + +func (x *CreateProductReq) GetName() string { + if x != nil { + return x.Name } return "" } -func (x *GetOwnPostsReq) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title +func (x *CreateProductReq) GetDescription() string { + if x != nil { + return x.Description } return "" } -func (x *GetOwnPostsReq) GetOnlyStatus() string { - if x != nil && x.OnlyStatus != nil { - return *x.OnlyStatus +func (x *CreateProductReq) GetStatus() int64 { + if x != nil { + return x.Status } - return "" + return 0 } -func (x *GetOwnPostsReq) GetOnlyTags() []string { +func (x *CreateProductReq) GetUrls() []string { if x != nil { - return x.OnlyTags + return x.Urls } return nil } -func (x *GetOwnPostsReq) GetOnlySetRelation() int64 { - if x != nil && x.OnlySetRelation != nil { - return *x.OnlySetRelation +func (x *CreateProductReq) GetTags() []string { + if x != nil { + return x.Tags } - return 0 + return nil } -func (x *GetOwnPostsReq) GetLimit() int64 { - if x != nil && x.Limit != nil { - return *x.Limit +func (x *CreateProductReq) GetType() int64 { + if x != nil { + return x.Type } return 0 } -func (x *GetOwnPostsReq) GetLastToken() string { - if x != nil && x.LastToken != nil { - return *x.LastToken - } - return "" -} - -func (x *GetOwnPostsReq) GetBackward() bool { - if x != nil && x.Backward != nil { - return *x.Backward +func (x *CreateProductReq) GetPrice() int64 { + if x != nil { + return x.Price } - return false + return 0 } -func (x *GetOwnPostsReq) GetOffset() int64 { - if x != nil && x.Offset != nil { - return *x.Offset +func (x *CreateProductReq) GetProductSize() int64 { + if x != nil { + return x.ProductSize } return 0 } -type GetOwnPostsResp struct { +type CreateProductResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Posts []*OwnPost `protobuf:"bytes,1,rep,name=posts,proto3" json:"posts,omitempty"` - Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` } -func (x *GetOwnPostsResp) Reset() { - *x = GetOwnPostsResp{} +func (x *CreateProductResp) Reset() { + *x = CreateProductResp{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[77] + mi := &file_cloudmind_core_api_content_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetOwnPostsResp) String() string { +func (x *CreateProductResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetOwnPostsResp) ProtoMessage() {} +func (*CreateProductResp) ProtoMessage() {} -func (x *GetOwnPostsResp) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[77] +func (x *CreateProductResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4862,58 +5129,36 @@ func (x *GetOwnPostsResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetOwnPostsResp.ProtoReflect.Descriptor instead. -func (*GetOwnPostsResp) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{77} -} - -func (x *GetOwnPostsResp) GetPosts() []*OwnPost { - if x != nil { - return x.Posts - } - return nil -} - -func (x *GetOwnPostsResp) GetTotal() int64 { - if x != nil { - return x.Total - } - return 0 -} - -func (x *GetOwnPostsResp) GetToken() string { - if x != nil { - return x.Token - } - return "" +// Deprecated: Use CreateProductResp.ProtoReflect.Descriptor instead. +func (*CreateProductResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{85} } -type CreateFeedBackReq struct { +type DeleteProductReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FeedbackType string `protobuf:"bytes,1,opt,name=feedbackType,proto3" json:"feedbackType,omitempty"` - ItemId string `protobuf:"bytes,2,opt,name=itemId,proto3" json:"itemId,omitempty"` + ProductId string `protobuf:"bytes,1,opt,name=productId,proto3" json:"productId,omitempty"` } -func (x *CreateFeedBackReq) Reset() { - *x = CreateFeedBackReq{} +func (x *DeleteProductReq) Reset() { + *x = DeleteProductReq{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[78] + mi := &file_cloudmind_core_api_content_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateFeedBackReq) String() string { +func (x *DeleteProductReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateFeedBackReq) ProtoMessage() {} +func (*DeleteProductReq) ProtoMessage() {} -func (x *CreateFeedBackReq) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[78] +func (x *DeleteProductReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4924,48 +5169,41 @@ func (x *CreateFeedBackReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateFeedBackReq.ProtoReflect.Descriptor instead. -func (*CreateFeedBackReq) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{78} -} - -func (x *CreateFeedBackReq) GetFeedbackType() string { - if x != nil { - return x.FeedbackType - } - return "" +// Deprecated: Use DeleteProductReq.ProtoReflect.Descriptor instead. +func (*DeleteProductReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{86} } -func (x *CreateFeedBackReq) GetItemId() string { +func (x *DeleteProductReq) GetProductId() string { if x != nil { - return x.ItemId + return x.ProductId } return "" } -type CreateFeedBackResp struct { +type DeleteProductResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *CreateFeedBackResp) Reset() { - *x = CreateFeedBackResp{} +func (x *DeleteProductResp) Reset() { + *x = DeleteProductResp{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[79] + mi := &file_cloudmind_core_api_content_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateFeedBackResp) String() string { +func (x *DeleteProductResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateFeedBackResp) ProtoMessage() {} +func (*DeleteProductResp) ProtoMessage() {} -func (x *CreateFeedBackResp) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[79] +func (x *DeleteProductResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4976,37 +5214,44 @@ func (x *CreateFeedBackResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateFeedBackResp.ProtoReflect.Descriptor instead. -func (*CreateFeedBackResp) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{79} +// Deprecated: Use DeleteProductResp.ProtoReflect.Descriptor instead. +func (*DeleteProductResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{87} } -type GetPopularRecommendReq struct { +type UpdateProductReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Limit *int64 `protobuf:"varint,1,opt,name=limit,proto3,oneof" json:"limit,omitempty"` - Category Category `protobuf:"varint,2,opt,name=category,proto3,enum=cloudmind.core_api.Category" json:"category,omitempty"` + ProductId string `protobuf:"bytes,1,opt,name=productId,proto3" json:"productId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Status int64 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` + Urls []string `protobuf:"bytes,5,rep,name=urls,proto3" json:"urls,omitempty"` + Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` + Type int64 `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"` + Price int64 `protobuf:"varint,8,opt,name=price,proto3" json:"price,omitempty"` + ProductSize int64 `protobuf:"varint,9,opt,name=productSize,proto3" json:"productSize,omitempty"` } -func (x *GetPopularRecommendReq) Reset() { - *x = GetPopularRecommendReq{} +func (x *UpdateProductReq) Reset() { + *x = UpdateProductReq{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[80] + mi := &file_cloudmind_core_api_content_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetPopularRecommendReq) String() string { +func (x *UpdateProductReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetPopularRecommendReq) ProtoMessage() {} +func (*UpdateProductReq) ProtoMessage() {} -func (x *GetPopularRecommendReq) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[80] +func (x *UpdateProductReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5017,50 +5262,97 @@ func (x *GetPopularRecommendReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetPopularRecommendReq.ProtoReflect.Descriptor instead. -func (*GetPopularRecommendReq) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{80} +// Deprecated: Use UpdateProductReq.ProtoReflect.Descriptor instead. +func (*UpdateProductReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{88} } -func (x *GetPopularRecommendReq) GetLimit() int64 { - if x != nil && x.Limit != nil { - return *x.Limit +func (x *UpdateProductReq) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + +func (x *UpdateProductReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateProductReq) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateProductReq) GetStatus() int64 { + if x != nil { + return x.Status } return 0 } -func (x *GetPopularRecommendReq) GetCategory() Category { +func (x *UpdateProductReq) GetUrls() []string { if x != nil { - return x.Category + return x.Urls } - return Category_UnknowCategory + return nil } -type GetPopularRecommendResp struct { +func (x *UpdateProductReq) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *UpdateProductReq) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *UpdateProductReq) GetPrice() int64 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *UpdateProductReq) GetProductSize() int64 { + if x != nil { + return x.ProductSize + } + return 0 +} + +type UpdateProductResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Recommends *Recommends `protobuf:"bytes,1,opt,name=recommends,proto3" json:"recommends,omitempty"` } -func (x *GetPopularRecommendResp) Reset() { - *x = GetPopularRecommendResp{} +func (x *UpdateProductResp) Reset() { + *x = UpdateProductResp{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[81] + mi := &file_cloudmind_core_api_content_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetPopularRecommendResp) String() string { +func (x *UpdateProductResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetPopularRecommendResp) ProtoMessage() {} +func (*UpdateProductResp) ProtoMessage() {} -func (x *GetPopularRecommendResp) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[81] +func (x *UpdateProductResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5071,44 +5363,36 @@ func (x *GetPopularRecommendResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetPopularRecommendResp.ProtoReflect.Descriptor instead. -func (*GetPopularRecommendResp) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{81} -} - -func (x *GetPopularRecommendResp) GetRecommends() *Recommends { - if x != nil { - return x.Recommends - } - return nil +// Deprecated: Use UpdateProductResp.ProtoReflect.Descriptor instead. +func (*UpdateProductResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{89} } -type GetLatestRecommendReq struct { +type GetProductReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Limit *int64 `protobuf:"varint,1,opt,name=limit,proto3,oneof" json:"limit,omitempty"` - Category Category `protobuf:"varint,2,opt,name=category,proto3,enum=cloudmind.core_api.Category" json:"category,omitempty"` + ProductId string `protobuf:"bytes,1,opt,name=productId,proto3" json:"productId,omitempty"` } -func (x *GetLatestRecommendReq) Reset() { - *x = GetLatestRecommendReq{} +func (x *GetProductReq) Reset() { + *x = GetProductReq{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[82] + mi := &file_cloudmind_core_api_content_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetLatestRecommendReq) String() string { +func (x *GetProductReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetLatestRecommendReq) ProtoMessage() {} +func (*GetProductReq) ProtoMessage() {} -func (x *GetLatestRecommendReq) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[82] +func (x *GetProductReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5119,50 +5403,55 @@ func (x *GetLatestRecommendReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetLatestRecommendReq.ProtoReflect.Descriptor instead. -func (*GetLatestRecommendReq) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{82} -} - -func (x *GetLatestRecommendReq) GetLimit() int64 { - if x != nil && x.Limit != nil { - return *x.Limit - } - return 0 +// Deprecated: Use GetProductReq.ProtoReflect.Descriptor instead. +func (*GetProductReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{90} } -func (x *GetLatestRecommendReq) GetCategory() Category { +func (x *GetProductReq) GetProductId() string { if x != nil { - return x.Category + return x.ProductId } - return Category_UnknowCategory + return "" } -type GetLatestRecommendResp struct { +type GetProductResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Recommends *Recommends `protobuf:"bytes,1,opt,name=recommends,proto3" json:"recommends,omitempty"` -} - -func (x *GetLatestRecommendResp) Reset() { - *x = GetLatestRecommendResp{} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 商品名称 + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // 商品描述 + Urls []string `protobuf:"bytes,3,rep,name=urls,proto3" json:"urls,omitempty"` // 商品图片 + Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` // 标签 + Type int64 `protobuf:"varint,5,opt,name=type,proto3" json:"type,omitempty"` // 商品类型 + Price int64 `protobuf:"varint,6,opt,name=price,proto3" json:"price,omitempty"` // 商品价格 + ProductSize int64 `protobuf:"varint,7,opt,name=productSize,proto3" json:"productSize,omitempty"` // 商品大小 + User *User `protobuf:"bytes,8,opt,name=user,proto3" json:"user,omitempty"` // 商家信息 + CollectCount int64 `protobuf:"varint,9,opt,name=collectCount,proto3" json:"collectCount,omitempty"` // 收藏量 + PurchaseCount int64 `protobuf:"varint,10,opt,name=purchaseCount,proto3" json:"purchaseCount,omitempty"` // 购买量 + Collected bool `protobuf:"varint,11,opt,name=Collected,proto3" json:"Collected,omitempty"` // 时候收藏 + Stock int64 `protobuf:"varint,12,opt,name=stock,proto3" json:"stock,omitempty"` // 库存 + CreateTime int64 `protobuf:"varint,13,opt,name=createTime,proto3" json:"createTime,omitempty"` // 创建时间 +} + +func (x *GetProductResp) Reset() { + *x = GetProductResp{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[83] + mi := &file_cloudmind_core_api_content_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetLatestRecommendResp) String() string { +func (x *GetProductResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetLatestRecommendResp) ProtoMessage() {} +func (*GetProductResp) ProtoMessage() {} -func (x *GetLatestRecommendResp) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[83] +func (x *GetProductResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5173,106 +5462,135 @@ func (x *GetLatestRecommendResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetLatestRecommendResp.ProtoReflect.Descriptor instead. -func (*GetLatestRecommendResp) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{83} +// Deprecated: Use GetProductResp.ProtoReflect.Descriptor instead. +func (*GetProductResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{91} } -func (x *GetLatestRecommendResp) GetRecommends() *Recommends { +func (x *GetProductResp) GetName() string { if x != nil { - return x.Recommends + return x.Name } - return nil + return "" } -type GetRecommendByItemReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *GetProductResp) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} - ItemId string `protobuf:"bytes,1,opt,name=itemId,proto3" json:"itemId,omitempty"` - Limit *int64 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"` - Category Category `protobuf:"varint,3,opt,name=category,proto3,enum=cloudmind.core_api.Category" json:"category,omitempty"` +func (x *GetProductResp) GetUrls() []string { + if x != nil { + return x.Urls + } + return nil } -func (x *GetRecommendByItemReq) Reset() { - *x = GetRecommendByItemReq{} - if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *GetProductResp) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *GetProductResp) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *GetProductResp) GetPrice() int64 { + if x != nil { + return x.Price } + return 0 } -func (x *GetRecommendByItemReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *GetProductResp) GetProductSize() int64 { + if x != nil { + return x.ProductSize + } + return 0 } -func (*GetRecommendByItemReq) ProtoMessage() {} +func (x *GetProductResp) GetUser() *User { + if x != nil { + return x.User + } + return nil +} -func (x *GetRecommendByItemReq) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *GetProductResp) GetCollectCount() int64 { + if x != nil { + return x.CollectCount } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use GetRecommendByItemReq.ProtoReflect.Descriptor instead. -func (*GetRecommendByItemReq) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{84} +func (x *GetProductResp) GetPurchaseCount() int64 { + if x != nil { + return x.PurchaseCount + } + return 0 } -func (x *GetRecommendByItemReq) GetItemId() string { +func (x *GetProductResp) GetCollected() bool { if x != nil { - return x.ItemId + return x.Collected } - return "" + return false } -func (x *GetRecommendByItemReq) GetLimit() int64 { - if x != nil && x.Limit != nil { - return *x.Limit +func (x *GetProductResp) GetStock() int64 { + if x != nil { + return x.Stock } return 0 } -func (x *GetRecommendByItemReq) GetCategory() Category { +func (x *GetProductResp) GetCreateTime() int64 { if x != nil { - return x.Category + return x.CreateTime } - return Category_UnknowCategory + return 0 } -type GetRecommendByItemResp struct { +type GetProductsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Recommends *Recommends `protobuf:"bytes,1,opt,name=recommends,proto3" json:"recommends,omitempty"` -} - -func (x *GetRecommendByItemResp) Reset() { - *x = GetRecommendByItemResp{} + AllFieldsKey *string `protobuf:"bytes,1,opt,name=allFieldsKey,proto3,oneof" json:"allFieldsKey,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + OnlyUserId *string `protobuf:"bytes,3,opt,name=onlyUserId,proto3,oneof" json:"onlyUserId,omitempty"` + OnlyTags []string `protobuf:"bytes,4,rep,name=onlyTags,proto3" json:"onlyTags,omitempty"` + OnlySetRelation *int64 `protobuf:"varint,5,opt,name=onlySetRelation,proto3,oneof" json:"onlySetRelation,omitempty"` + Limit *int64 `protobuf:"varint,6,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + LastToken *string `protobuf:"bytes,7,opt,name=lastToken,proto3,oneof" json:"lastToken,omitempty"` + Backward *bool `protobuf:"varint,8,opt,name=backward,proto3,oneof" json:"backward,omitempty"` + Offset *int64 `protobuf:"varint,9,opt,name=offset,proto3,oneof" json:"offset,omitempty"` +} + +func (x *GetProductsReq) Reset() { + *x = GetProductsReq{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[85] + mi := &file_cloudmind_core_api_content_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetRecommendByItemResp) String() string { +func (x *GetProductsReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRecommendByItemResp) ProtoMessage() {} +func (*GetProductsReq) ProtoMessage() {} -func (x *GetRecommendByItemResp) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[85] +func (x *GetProductsReq) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5283,98 +5601,101 @@ func (x *GetRecommendByItemResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetRecommendByItemResp.ProtoReflect.Descriptor instead. -func (*GetRecommendByItemResp) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{85} +// Deprecated: Use GetProductsReq.ProtoReflect.Descriptor instead. +func (*GetProductsReq) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{92} } -func (x *GetRecommendByItemResp) GetRecommends() *Recommends { - if x != nil { - return x.Recommends +func (x *GetProductsReq) GetAllFieldsKey() string { + if x != nil && x.AllFieldsKey != nil { + return *x.AllFieldsKey } - return nil -} - -type GetRecommendByUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Limit *int64 `protobuf:"varint,1,opt,name=limit,proto3,oneof" json:"limit,omitempty"` - Category Category `protobuf:"varint,2,opt,name=category,proto3,enum=cloudmind.core_api.Category" json:"category,omitempty"` + return "" } -func (x *GetRecommendByUserReq) Reset() { - *x = GetRecommendByUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *GetProductsReq) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } + return "" } -func (x *GetRecommendByUserReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *GetProductsReq) GetOnlyUserId() string { + if x != nil && x.OnlyUserId != nil { + return *x.OnlyUserId + } + return "" } -func (*GetRecommendByUserReq) ProtoMessage() {} - -func (x *GetRecommendByUserReq) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *GetProductsReq) GetOnlyTags() []string { + if x != nil { + return x.OnlyTags } - return mi.MessageOf(x) + return nil } -// Deprecated: Use GetRecommendByUserReq.ProtoReflect.Descriptor instead. -func (*GetRecommendByUserReq) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{86} +func (x *GetProductsReq) GetOnlySetRelation() int64 { + if x != nil && x.OnlySetRelation != nil { + return *x.OnlySetRelation + } + return 0 } -func (x *GetRecommendByUserReq) GetLimit() int64 { +func (x *GetProductsReq) GetLimit() int64 { if x != nil && x.Limit != nil { return *x.Limit } return 0 } -func (x *GetRecommendByUserReq) GetCategory() Category { - if x != nil { - return x.Category +func (x *GetProductsReq) GetLastToken() string { + if x != nil && x.LastToken != nil { + return *x.LastToken } - return Category_UnknowCategory + return "" } -type GetRecommendByUserResp struct { +func (x *GetProductsReq) GetBackward() bool { + if x != nil && x.Backward != nil { + return *x.Backward + } + return false +} + +func (x *GetProductsReq) GetOffset() int64 { + if x != nil && x.Offset != nil { + return *x.Offset + } + return 0 +} + +type GetProductsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Recommends *Recommends `protobuf:"bytes,1,opt,name=recommends,proto3" json:"recommends,omitempty"` + Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` } -func (x *GetRecommendByUserResp) Reset() { - *x = GetRecommendByUserResp{} +func (x *GetProductsResp) Reset() { + *x = GetProductsResp{} if protoimpl.UnsafeEnabled { - mi := &file_cloudmind_core_api_content_proto_msgTypes[87] + mi := &file_cloudmind_core_api_content_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetRecommendByUserResp) String() string { +func (x *GetProductsResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRecommendByUserResp) ProtoMessage() {} +func (*GetProductsResp) ProtoMessage() {} -func (x *GetRecommendByUserResp) ProtoReflect() protoreflect.Message { - mi := &file_cloudmind_core_api_content_proto_msgTypes[87] +func (x *GetProductsResp) ProtoReflect() protoreflect.Message { + mi := &file_cloudmind_core_api_content_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5385,18 +5706,32 @@ func (x *GetRecommendByUserResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetRecommendByUserResp.ProtoReflect.Descriptor instead. -func (*GetRecommendByUserResp) Descriptor() ([]byte, []int) { - return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{87} +// Deprecated: Use GetProductsResp.ProtoReflect.Descriptor instead. +func (*GetProductsResp) Descriptor() ([]byte, []int) { + return file_cloudmind_core_api_content_proto_rawDescGZIP(), []int{93} } -func (x *GetRecommendByUserResp) GetRecommends() *Recommends { +func (x *GetProductsResp) GetProducts() []*Product { if x != nil { - return x.Recommends + return x.Products } return nil } +func (x *GetProductsResp) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetProductsResp) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + var File_cloudmind_core_api_content_proto protoreflect.FileDescriptor var file_cloudmind_core_api_content_proto_rawDesc = []byte{ @@ -5844,214 +6179,240 @@ var file_cloudmind_core_api_content_proto_rawDesc = []byte{ 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x29, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0xc4, 0x03, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x18, 0x05, 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, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, - 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, - 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8d, 0x04, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, - 0x72, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x17, - 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6e, 0x6c, 0x79, 0x54, - 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x79, 0x54, - 0x61, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x0f, - 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x07, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x08, 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, 0x0c, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x0a, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 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, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, - 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x73, - 0x74, 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, 0x50, 0x6f, - 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 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, 0x27, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4f, 0x77, 0x6e, 0x50, - 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0xc2, - 0x03, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4f, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, - 0x05, 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, - 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x76, - 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x69, - 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x22, 0x8b, 0x04, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4f, 0x77, 0x6e, 0x50, 0x6f, - 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, - 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x74, 0x65, 0x78, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6e, 0x6c, 0x79, 0x54, 0x61, 0x67, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x79, 0x54, 0x61, 0x67, 0x73, - 0x12, 0x2d, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, - 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x61, - 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 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, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x0a, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 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, 0x70, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x05, 0x70, 0x6f, 0x73, 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, 0x4f, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x74, - 0x52, 0x05, 0x70, 0x6f, 0x73, 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, 0x4f, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, - 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, - 0x62, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, - 0x65, 0x6d, 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, - 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x77, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x38, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, - 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, + 0x73, 0x70, 0x22, 0x24, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0xbf, 0x03, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, + 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x30, 0x0a, 0x06, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x05, 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, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, + 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x88, 0x04, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x0c, 0x61, 0x6c, + 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, + 0x17, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x04, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6e, 0x6c, 0x79, + 0x54, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x79, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, + 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x07, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x08, 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, 0x0c, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x0a, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, + 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 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, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, + 0x70, 0x6f, 0x73, 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, 0x4f, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, + 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, + 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, + 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, + 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, + 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, + 0x65, 0x71, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x22, 0x59, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, + 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0a, + 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 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, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, + 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x76, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x38, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x22, 0x58, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 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, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x73, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x76, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x38, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x58, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x3e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, - 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, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x64, 0x73, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, - 0x22, 0x8e, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, - 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x64, 0x73, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x8e, + 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, + 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, + 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, 0x38, 0x0a, 0x08, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, + 0x58, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, + 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0a, 0x72, 0x65, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 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, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x0a, 0x72, + 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x76, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x58, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0a, 0x72, + 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 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, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x52, - 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x76, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x38, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x22, 0x58, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, 0x0a, - 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 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, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, - 0x73, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2d, 0x69, 0x64, 0x6c, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, - 0x78, 0x5f, 0x67, 0x65, 0x6e, 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, + 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x10, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, + 0x6c, 0x73, 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, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x30, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 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, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0xf2, + 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x52, 0x65, 0x71, 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, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, + 0x72, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, + 0x69, 0x7a, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2d, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 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, 0x22, 0x86, 0x03, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 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, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x72, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 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, 0x07, 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, 0x08, 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, 0x09, 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, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, + 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, 0xab, 0x03, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x6f, 0x6e, 0x6c, + 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6e, + 0x6c, 0x79, 0x54, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, + 0x6c, 0x79, 0x54, 0x61, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x03, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x05, 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, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, + 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4b, + 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x76, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x6c, 0x2d, 0x67, 0x65, + 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, 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 ( @@ -6066,7 +6427,7 @@ func file_cloudmind_core_api_content_proto_rawDescGZIP() []byte { return file_cloudmind_core_api_content_proto_rawDescData } -var file_cloudmind_core_api_content_proto_msgTypes = make([]protoimpl.MessageInfo, 88) +var file_cloudmind_core_api_content_proto_msgTypes = make([]protoimpl.MessageInfo, 94) var file_cloudmind_core_api_content_proto_goTypes = []interface{}{ (*UpdateUserReq)(nil), // 0: cloudmind.core_api.UpdateUserReq (*UpdateUserResp)(nil), // 1: cloudmind.core_api.UpdateUserResp @@ -6138,68 +6499,74 @@ var file_cloudmind_core_api_content_proto_goTypes = []interface{}{ (*DeletePostResp)(nil), // 67: cloudmind.core_api.DeletePostResp (*UpdatePostReq)(nil), // 68: cloudmind.core_api.UpdatePostReq (*UpdatePostResp)(nil), // 69: cloudmind.core_api.UpdatePostResp - (*GetOtherPostReq)(nil), // 70: cloudmind.core_api.GetOtherPostReq - (*GetOtherPostResp)(nil), // 71: cloudmind.core_api.GetOtherPostResp - (*GetOtherPostsReq)(nil), // 72: cloudmind.core_api.GetOtherPostsReq - (*GetOtherPostsResp)(nil), // 73: cloudmind.core_api.GetOtherPostsResp - (*GetOwnPostReq)(nil), // 74: cloudmind.core_api.GetOwnPostReq - (*GetOwnPostResp)(nil), // 75: cloudmind.core_api.GetOwnPostResp - (*GetOwnPostsReq)(nil), // 76: cloudmind.core_api.GetOwnPostsReq - (*GetOwnPostsResp)(nil), // 77: cloudmind.core_api.GetOwnPostsResp - (*CreateFeedBackReq)(nil), // 78: cloudmind.core_api.CreateFeedBackReq - (*CreateFeedBackResp)(nil), // 79: cloudmind.core_api.CreateFeedBackResp - (*GetPopularRecommendReq)(nil), // 80: cloudmind.core_api.GetPopularRecommendReq - (*GetPopularRecommendResp)(nil), // 81: cloudmind.core_api.GetPopularRecommendResp - (*GetLatestRecommendReq)(nil), // 82: cloudmind.core_api.GetLatestRecommendReq - (*GetLatestRecommendResp)(nil), // 83: cloudmind.core_api.GetLatestRecommendResp - (*GetRecommendByItemReq)(nil), // 84: cloudmind.core_api.GetRecommendByItemReq - (*GetRecommendByItemResp)(nil), // 85: cloudmind.core_api.GetRecommendByItemResp - (*GetRecommendByUserReq)(nil), // 86: cloudmind.core_api.GetRecommendByUserReq - (*GetRecommendByUserResp)(nil), // 87: cloudmind.core_api.GetRecommendByUserResp - (*User)(nil), // 88: cloudmind.core_api.User - (*PrivateFile)(nil), // 89: cloudmind.core_api.PrivateFile - (*PublicFile)(nil), // 90: cloudmind.core_api.PublicFile - (DocumentType)(0), // 91: cloudmind.core_api.DocumentType - (IsDel)(0), // 92: cloudmind.core_api.IsDel - (*Zone)(nil), // 93: cloudmind.core_api.Zone - (*ShareCode)(nil), // 94: cloudmind.core_api.ShareCode - (*ShareFile)(nil), // 95: cloudmind.core_api.ShareFile - (*Post)(nil), // 96: cloudmind.core_api.Post - (*OwnPost)(nil), // 97: cloudmind.core_api.OwnPost - (Category)(0), // 98: cloudmind.core_api.Category - (*Recommends)(nil), // 99: cloudmind.core_api.Recommends + (*GetPostReq)(nil), // 70: cloudmind.core_api.GetPostReq + (*GetPostResp)(nil), // 71: cloudmind.core_api.GetPostResp + (*GetPostsReq)(nil), // 72: cloudmind.core_api.GetPostsReq + (*GetPostsResp)(nil), // 73: cloudmind.core_api.GetPostsResp + (*CreateFeedBackReq)(nil), // 74: cloudmind.core_api.CreateFeedBackReq + (*CreateFeedBackResp)(nil), // 75: cloudmind.core_api.CreateFeedBackResp + (*GetPopularRecommendReq)(nil), // 76: cloudmind.core_api.GetPopularRecommendReq + (*GetPopularRecommendResp)(nil), // 77: cloudmind.core_api.GetPopularRecommendResp + (*GetLatestRecommendReq)(nil), // 78: cloudmind.core_api.GetLatestRecommendReq + (*GetLatestRecommendResp)(nil), // 79: cloudmind.core_api.GetLatestRecommendResp + (*GetRecommendByItemReq)(nil), // 80: cloudmind.core_api.GetRecommendByItemReq + (*GetRecommendByItemResp)(nil), // 81: cloudmind.core_api.GetRecommendByItemResp + (*GetRecommendByUserReq)(nil), // 82: cloudmind.core_api.GetRecommendByUserReq + (*GetRecommendByUserResp)(nil), // 83: cloudmind.core_api.GetRecommendByUserResp + (*CreateProductReq)(nil), // 84: cloudmind.core_api.CreateProductReq + (*CreateProductResp)(nil), // 85: cloudmind.core_api.CreateProductResp + (*DeleteProductReq)(nil), // 86: cloudmind.core_api.DeleteProductReq + (*DeleteProductResp)(nil), // 87: cloudmind.core_api.DeleteProductResp + (*UpdateProductReq)(nil), // 88: cloudmind.core_api.UpdateProductReq + (*UpdateProductResp)(nil), // 89: cloudmind.core_api.UpdateProductResp + (*GetProductReq)(nil), // 90: cloudmind.core_api.GetProductReq + (*GetProductResp)(nil), // 91: cloudmind.core_api.GetProductResp + (*GetProductsReq)(nil), // 92: cloudmind.core_api.GetProductsReq + (*GetProductsResp)(nil), // 93: cloudmind.core_api.GetProductsResp + (*User)(nil), // 94: cloudmind.core_api.User + (*PrivateFile)(nil), // 95: cloudmind.core_api.PrivateFile + (*PublicFile)(nil), // 96: cloudmind.core_api.PublicFile + (DocumentType)(0), // 97: cloudmind.core_api.DocumentType + (IsDel)(0), // 98: cloudmind.core_api.IsDel + (*Zone)(nil), // 99: cloudmind.core_api.Zone + (*ShareCode)(nil), // 100: cloudmind.core_api.ShareCode + (*ShareFile)(nil), // 101: cloudmind.core_api.ShareFile + (*Post)(nil), // 102: cloudmind.core_api.Post + (Category)(0), // 103: cloudmind.core_api.Category + (*Recommends)(nil), // 104: cloudmind.core_api.Recommends + (*Product)(nil), // 105: cloudmind.core_api.Product } var file_cloudmind_core_api_content_proto_depIdxs = []int32{ - 88, // 0: cloudmind.core_api.SearchUserResp.users:type_name -> cloudmind.core_api.User - 89, // 1: cloudmind.core_api.GetPrivateFileResp.file:type_name -> cloudmind.core_api.PrivateFile - 90, // 2: cloudmind.core_api.GetPublicFileResp.file:type_name -> cloudmind.core_api.PublicFile - 89, // 3: cloudmind.core_api.GetPrivateFilesResp.files:type_name -> cloudmind.core_api.PrivateFile - 90, // 4: cloudmind.core_api.GetPublicFilesResp.files:type_name -> cloudmind.core_api.PublicFile - 89, // 5: cloudmind.core_api.GetRecycleBinFilesResp.files:type_name -> cloudmind.core_api.PrivateFile - 89, // 6: cloudmind.core_api.GetFileBySharingCodeResp.files:type_name -> cloudmind.core_api.PrivateFile - 91, // 7: cloudmind.core_api.SaveFileToPrivateSpaceReq.documentType:type_name -> cloudmind.core_api.DocumentType - 92, // 8: cloudmind.core_api.DeleteFileReq.deleteType:type_name -> cloudmind.core_api.IsDel - 93, // 9: cloudmind.core_api.GetZoneResp.zone:type_name -> cloudmind.core_api.Zone - 93, // 10: cloudmind.core_api.UpdateZoneReq.zone:type_name -> cloudmind.core_api.Zone - 94, // 11: cloudmind.core_api.GetShareListResp.shareCodes:type_name -> cloudmind.core_api.ShareCode - 95, // 12: cloudmind.core_api.ParsingShareCodeResp.shareFile:type_name -> cloudmind.core_api.ShareFile - 88, // 13: cloudmind.core_api.GetOtherPostResp.author:type_name -> cloudmind.core_api.User - 96, // 14: cloudmind.core_api.GetOtherPostsResp.posts:type_name -> cloudmind.core_api.Post - 88, // 15: cloudmind.core_api.GetOwnPostResp.author:type_name -> cloudmind.core_api.User - 97, // 16: cloudmind.core_api.GetOwnPostsResp.posts:type_name -> cloudmind.core_api.OwnPost - 98, // 17: cloudmind.core_api.GetPopularRecommendReq.category:type_name -> cloudmind.core_api.Category - 99, // 18: cloudmind.core_api.GetPopularRecommendResp.recommends:type_name -> cloudmind.core_api.Recommends - 98, // 19: cloudmind.core_api.GetLatestRecommendReq.category:type_name -> cloudmind.core_api.Category - 99, // 20: cloudmind.core_api.GetLatestRecommendResp.recommends:type_name -> cloudmind.core_api.Recommends - 98, // 21: cloudmind.core_api.GetRecommendByItemReq.category:type_name -> cloudmind.core_api.Category - 99, // 22: cloudmind.core_api.GetRecommendByItemResp.recommends:type_name -> cloudmind.core_api.Recommends - 98, // 23: cloudmind.core_api.GetRecommendByUserReq.category:type_name -> cloudmind.core_api.Category - 99, // 24: cloudmind.core_api.GetRecommendByUserResp.recommends:type_name -> cloudmind.core_api.Recommends - 25, // [25:25] is the sub-list for method output_type - 25, // [25:25] is the sub-list for method input_type - 25, // [25:25] is the sub-list for extension type_name - 25, // [25:25] is the sub-list for extension extendee - 0, // [0:25] is the sub-list for field type_name + 94, // 0: cloudmind.core_api.SearchUserResp.users:type_name -> cloudmind.core_api.User + 95, // 1: cloudmind.core_api.GetPrivateFileResp.file:type_name -> cloudmind.core_api.PrivateFile + 96, // 2: cloudmind.core_api.GetPublicFileResp.file:type_name -> cloudmind.core_api.PublicFile + 95, // 3: cloudmind.core_api.GetPrivateFilesResp.files:type_name -> cloudmind.core_api.PrivateFile + 96, // 4: cloudmind.core_api.GetPublicFilesResp.files:type_name -> cloudmind.core_api.PublicFile + 95, // 5: cloudmind.core_api.GetRecycleBinFilesResp.files:type_name -> cloudmind.core_api.PrivateFile + 95, // 6: cloudmind.core_api.GetFileBySharingCodeResp.files:type_name -> cloudmind.core_api.PrivateFile + 97, // 7: cloudmind.core_api.SaveFileToPrivateSpaceReq.documentType:type_name -> cloudmind.core_api.DocumentType + 98, // 8: cloudmind.core_api.DeleteFileReq.deleteType:type_name -> cloudmind.core_api.IsDel + 99, // 9: cloudmind.core_api.GetZoneResp.zone:type_name -> cloudmind.core_api.Zone + 99, // 10: cloudmind.core_api.UpdateZoneReq.zone:type_name -> cloudmind.core_api.Zone + 100, // 11: cloudmind.core_api.GetShareListResp.shareCodes:type_name -> cloudmind.core_api.ShareCode + 101, // 12: cloudmind.core_api.ParsingShareCodeResp.shareFile:type_name -> cloudmind.core_api.ShareFile + 94, // 13: cloudmind.core_api.GetPostResp.author:type_name -> cloudmind.core_api.User + 102, // 14: cloudmind.core_api.GetPostsResp.posts:type_name -> cloudmind.core_api.Post + 103, // 15: cloudmind.core_api.GetPopularRecommendReq.category:type_name -> cloudmind.core_api.Category + 104, // 16: cloudmind.core_api.GetPopularRecommendResp.recommends:type_name -> cloudmind.core_api.Recommends + 103, // 17: cloudmind.core_api.GetLatestRecommendReq.category:type_name -> cloudmind.core_api.Category + 104, // 18: cloudmind.core_api.GetLatestRecommendResp.recommends:type_name -> cloudmind.core_api.Recommends + 103, // 19: cloudmind.core_api.GetRecommendByItemReq.category:type_name -> cloudmind.core_api.Category + 104, // 20: cloudmind.core_api.GetRecommendByItemResp.recommends:type_name -> cloudmind.core_api.Recommends + 103, // 21: cloudmind.core_api.GetRecommendByUserReq.category:type_name -> cloudmind.core_api.Category + 104, // 22: cloudmind.core_api.GetRecommendByUserResp.recommends:type_name -> cloudmind.core_api.Recommends + 94, // 23: cloudmind.core_api.GetProductResp.user:type_name -> cloudmind.core_api.User + 105, // 24: cloudmind.core_api.GetProductsResp.products:type_name -> cloudmind.core_api.Product + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_cloudmind_core_api_content_proto_init() } @@ -7050,7 +7417,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOtherPostReq); i { + switch v := v.(*GetPostReq); i { case 0: return &v.state case 1: @@ -7062,7 +7429,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOtherPostResp); i { + switch v := v.(*GetPostResp); i { case 0: return &v.state case 1: @@ -7074,7 +7441,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOtherPostsReq); i { + switch v := v.(*GetPostsReq); i { case 0: return &v.state case 1: @@ -7086,7 +7453,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOtherPostsResp); i { + switch v := v.(*GetPostsResp); i { case 0: return &v.state case 1: @@ -7098,7 +7465,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOwnPostReq); i { + switch v := v.(*CreateFeedBackReq); i { case 0: return &v.state case 1: @@ -7110,7 +7477,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOwnPostResp); i { + switch v := v.(*CreateFeedBackResp); i { case 0: return &v.state case 1: @@ -7122,7 +7489,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOwnPostsReq); i { + switch v := v.(*GetPopularRecommendReq); i { case 0: return &v.state case 1: @@ -7134,7 +7501,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOwnPostsResp); i { + switch v := v.(*GetPopularRecommendResp); i { case 0: return &v.state case 1: @@ -7146,7 +7513,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateFeedBackReq); i { + switch v := v.(*GetLatestRecommendReq); i { case 0: return &v.state case 1: @@ -7158,7 +7525,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateFeedBackResp); i { + switch v := v.(*GetLatestRecommendResp); i { case 0: return &v.state case 1: @@ -7170,7 +7537,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPopularRecommendReq); i { + switch v := v.(*GetRecommendByItemReq); i { case 0: return &v.state case 1: @@ -7182,7 +7549,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPopularRecommendResp); i { + switch v := v.(*GetRecommendByItemResp); i { case 0: return &v.state case 1: @@ -7194,7 +7561,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestRecommendReq); i { + switch v := v.(*GetRecommendByUserReq); i { case 0: return &v.state case 1: @@ -7206,7 +7573,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestRecommendResp); i { + switch v := v.(*GetRecommendByUserResp); i { case 0: return &v.state case 1: @@ -7218,7 +7585,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRecommendByItemReq); i { + switch v := v.(*CreateProductReq); i { case 0: return &v.state case 1: @@ -7230,7 +7597,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRecommendByItemResp); i { + switch v := v.(*CreateProductResp); i { case 0: return &v.state case 1: @@ -7242,7 +7609,7 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRecommendByUserReq); i { + switch v := v.(*DeleteProductReq); i { case 0: return &v.state case 1: @@ -7254,7 +7621,79 @@ func file_cloudmind_core_api_content_proto_init() { } } file_cloudmind_core_api_content_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRecommendByUserResp); i { + switch v := v.(*DeleteProductResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloudmind_core_api_content_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateProductReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloudmind_core_api_content_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateProductResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloudmind_core_api_content_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProductReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloudmind_core_api_content_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProductResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloudmind_core_api_content_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProductsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cloudmind_core_api_content_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProductsResp); i { case 0: return &v.state case 1: @@ -7275,17 +7714,17 @@ func file_cloudmind_core_api_content_proto_init() { file_cloudmind_core_api_content_proto_msgTypes[42].OneofWrappers = []interface{}{} file_cloudmind_core_api_content_proto_msgTypes[72].OneofWrappers = []interface{}{} file_cloudmind_core_api_content_proto_msgTypes[76].OneofWrappers = []interface{}{} + file_cloudmind_core_api_content_proto_msgTypes[78].OneofWrappers = []interface{}{} file_cloudmind_core_api_content_proto_msgTypes[80].OneofWrappers = []interface{}{} file_cloudmind_core_api_content_proto_msgTypes[82].OneofWrappers = []interface{}{} - file_cloudmind_core_api_content_proto_msgTypes[84].OneofWrappers = []interface{}{} - file_cloudmind_core_api_content_proto_msgTypes[86].OneofWrappers = []interface{}{} + file_cloudmind_core_api_content_proto_msgTypes[92].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cloudmind_core_api_content_proto_rawDesc, NumEnums: 0, - NumMessages: 88, + NumMessages: 94, NumExtensions: 0, NumServices: 0, }, diff --git a/kitex_gen/cloudmind/core_api/content/client.go b/kitex_gen/cloudmind/core_api/content/client.go index 139571f..3cee585 100644 --- a/kitex_gen/cloudmind/core_api/content/client.go +++ b/kitex_gen/cloudmind/core_api/content/client.go @@ -43,15 +43,18 @@ type Client interface { CreatePost(ctx context.Context, Req *core_api.CreatePostReq, callOptions ...callopt.Option) (r *core_api.CreatePostResp, err error) DeletePost(ctx context.Context, Req *core_api.DeletePostReq, callOptions ...callopt.Option) (r *core_api.DeletePostResp, err error) UpdatePost(ctx context.Context, Req *core_api.UpdatePostReq, callOptions ...callopt.Option) (r *core_api.UpdatePostResp, err error) - GetOtherPosts(ctx context.Context, Req *core_api.GetOtherPostsReq, callOptions ...callopt.Option) (r *core_api.GetOtherPostsResp, err error) - GetOtherPost(ctx context.Context, Req *core_api.GetOtherPostReq, callOptions ...callopt.Option) (r *core_api.GetOtherPostResp, err error) - GetOwnPosts(ctx context.Context, Req *core_api.GetOwnPostsReq, callOptions ...callopt.Option) (r *core_api.GetOwnPostsResp, err error) - GetOwnPost(ctx context.Context, Req *core_api.GetOwnPostReq, callOptions ...callopt.Option) (r *core_api.GetOwnPostResp, err error) + GetPosts(ctx context.Context, Req *core_api.GetPostsReq, callOptions ...callopt.Option) (r *core_api.GetPostsResp, err error) + GetPost(ctx context.Context, Req *core_api.GetPostReq, callOptions ...callopt.Option) (r *core_api.GetPostResp, err error) GetRecommendByUser(ctx context.Context, Req *core_api.GetRecommendByUserReq, callOptions ...callopt.Option) (r *core_api.GetRecommendByUserResp, err error) GetRecommendByItem(ctx context.Context, Req *core_api.GetRecommendByItemReq, callOptions ...callopt.Option) (r *core_api.GetRecommendByItemResp, err error) CreateFeedBack(ctx context.Context, Req *core_api.CreateFeedBackReq, callOptions ...callopt.Option) (r *core_api.CreateFeedBackResp, err error) GetPopularRecommend(ctx context.Context, Req *core_api.GetPopularRecommendReq, callOptions ...callopt.Option) (r *core_api.GetPopularRecommendResp, err error) GetLatestRecommend(ctx context.Context, Req *core_api.GetLatestRecommendReq, callOptions ...callopt.Option) (r *core_api.GetLatestRecommendResp, err error) + CreateProduct(ctx context.Context, Req *core_api.CreateProductReq, callOptions ...callopt.Option) (r *core_api.CreateProductResp, err error) + GetProduct(ctx context.Context, Req *core_api.GetProductReq, callOptions ...callopt.Option) (r *core_api.GetProductResp, err error) + GetProducts(ctx context.Context, Req *core_api.GetProductsReq, callOptions ...callopt.Option) (r *core_api.GetProductsResp, err error) + UpdateProduct(ctx context.Context, Req *core_api.UpdateProductReq, callOptions ...callopt.Option) (r *core_api.UpdateProductResp, err error) + DeleteProduct(ctx context.Context, Req *core_api.DeleteProductReq, callOptions ...callopt.Option) (r *core_api.DeleteProductResp, err error) } // NewClient creates a client for the service defined in IDL. @@ -243,24 +246,14 @@ func (p *kContentClient) UpdatePost(ctx context.Context, Req *core_api.UpdatePos return p.kClient.UpdatePost(ctx, Req) } -func (p *kContentClient) GetOtherPosts(ctx context.Context, Req *core_api.GetOtherPostsReq, callOptions ...callopt.Option) (r *core_api.GetOtherPostsResp, err error) { +func (p *kContentClient) GetPosts(ctx context.Context, Req *core_api.GetPostsReq, callOptions ...callopt.Option) (r *core_api.GetPostsResp, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.GetOtherPosts(ctx, Req) + return p.kClient.GetPosts(ctx, Req) } -func (p *kContentClient) GetOtherPost(ctx context.Context, Req *core_api.GetOtherPostReq, callOptions ...callopt.Option) (r *core_api.GetOtherPostResp, err error) { +func (p *kContentClient) GetPost(ctx context.Context, Req *core_api.GetPostReq, callOptions ...callopt.Option) (r *core_api.GetPostResp, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.GetOtherPost(ctx, Req) -} - -func (p *kContentClient) GetOwnPosts(ctx context.Context, Req *core_api.GetOwnPostsReq, callOptions ...callopt.Option) (r *core_api.GetOwnPostsResp, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.GetOwnPosts(ctx, Req) -} - -func (p *kContentClient) GetOwnPost(ctx context.Context, Req *core_api.GetOwnPostReq, callOptions ...callopt.Option) (r *core_api.GetOwnPostResp, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.GetOwnPost(ctx, Req) + return p.kClient.GetPost(ctx, Req) } func (p *kContentClient) GetRecommendByUser(ctx context.Context, Req *core_api.GetRecommendByUserReq, callOptions ...callopt.Option) (r *core_api.GetRecommendByUserResp, err error) { @@ -287,3 +280,28 @@ func (p *kContentClient) GetLatestRecommend(ctx context.Context, Req *core_api.G ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.GetLatestRecommend(ctx, Req) } + +func (p *kContentClient) CreateProduct(ctx context.Context, Req *core_api.CreateProductReq, callOptions ...callopt.Option) (r *core_api.CreateProductResp, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.CreateProduct(ctx, Req) +} + +func (p *kContentClient) GetProduct(ctx context.Context, Req *core_api.GetProductReq, callOptions ...callopt.Option) (r *core_api.GetProductResp, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.GetProduct(ctx, Req) +} + +func (p *kContentClient) GetProducts(ctx context.Context, Req *core_api.GetProductsReq, callOptions ...callopt.Option) (r *core_api.GetProductsResp, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.GetProducts(ctx, Req) +} + +func (p *kContentClient) UpdateProduct(ctx context.Context, Req *core_api.UpdateProductReq, callOptions ...callopt.Option) (r *core_api.UpdateProductResp, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.UpdateProduct(ctx, Req) +} + +func (p *kContentClient) DeleteProduct(ctx context.Context, Req *core_api.DeleteProductReq, callOptions ...callopt.Option) (r *core_api.DeleteProductResp, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.DeleteProduct(ctx, Req) +} diff --git a/kitex_gen/cloudmind/core_api/content/content.go b/kitex_gen/cloudmind/core_api/content/content.go index 5a5d8f6..afd574d 100644 --- a/kitex_gen/cloudmind/core_api/content/content.go +++ b/kitex_gen/cloudmind/core_api/content/content.go @@ -53,15 +53,18 @@ func NewServiceInfo() *kitex.ServiceInfo { "CreatePost": kitex.NewMethodInfo(createPostHandler, newCreatePostArgs, newCreatePostResult, false), "DeletePost": kitex.NewMethodInfo(deletePostHandler, newDeletePostArgs, newDeletePostResult, false), "UpdatePost": kitex.NewMethodInfo(updatePostHandler, newUpdatePostArgs, newUpdatePostResult, false), - "GetOtherPosts": kitex.NewMethodInfo(getOtherPostsHandler, newGetOtherPostsArgs, newGetOtherPostsResult, false), - "GetOtherPost": kitex.NewMethodInfo(getOtherPostHandler, newGetOtherPostArgs, newGetOtherPostResult, false), - "GetOwnPosts": kitex.NewMethodInfo(getOwnPostsHandler, newGetOwnPostsArgs, newGetOwnPostsResult, false), - "GetOwnPost": kitex.NewMethodInfo(getOwnPostHandler, newGetOwnPostArgs, newGetOwnPostResult, false), + "GetPosts": kitex.NewMethodInfo(getPostsHandler, newGetPostsArgs, newGetPostsResult, false), + "GetPost": kitex.NewMethodInfo(getPostHandler, newGetPostArgs, newGetPostResult, false), "GetRecommendByUser": kitex.NewMethodInfo(getRecommendByUserHandler, newGetRecommendByUserArgs, newGetRecommendByUserResult, false), "GetRecommendByItem": kitex.NewMethodInfo(getRecommendByItemHandler, newGetRecommendByItemArgs, newGetRecommendByItemResult, false), "CreateFeedBack": kitex.NewMethodInfo(createFeedBackHandler, newCreateFeedBackArgs, newCreateFeedBackResult, false), "GetPopularRecommend": kitex.NewMethodInfo(getPopularRecommendHandler, newGetPopularRecommendArgs, newGetPopularRecommendResult, false), "GetLatestRecommend": kitex.NewMethodInfo(getLatestRecommendHandler, newGetLatestRecommendArgs, newGetLatestRecommendResult, false), + "CreateProduct": kitex.NewMethodInfo(createProductHandler, newCreateProductArgs, newCreateProductResult, false), + "GetProduct": kitex.NewMethodInfo(getProductHandler, newGetProductArgs, newGetProductResult, false), + "GetProducts": kitex.NewMethodInfo(getProductsHandler, newGetProductsArgs, newGetProductsResult, false), + "UpdateProduct": kitex.NewMethodInfo(updateProductHandler, newUpdateProductArgs, newUpdateProductResult, false), + "DeleteProduct": kitex.NewMethodInfo(deleteProductHandler, newDeleteProductArgs, newDeleteProductResult, false), } extra := map[string]interface{}{ "PackageName": "cloudmind.core_api", @@ -4974,73 +4977,73 @@ func (p *UpdatePostResult) GetResult() interface{} { return p.Success } -func getOtherPostsHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func getPostsHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.GetOtherPostsReq) + req := new(core_api.GetPostsReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).GetOtherPosts(ctx, req) + resp, err := handler.(core_api.Content).GetPosts(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *GetOtherPostsArgs: - success, err := handler.(core_api.Content).GetOtherPosts(ctx, s.Req) + case *GetPostsArgs: + success, err := handler.(core_api.Content).GetPosts(ctx, s.Req) if err != nil { return err } - realResult := result.(*GetOtherPostsResult) + realResult := result.(*GetPostsResult) realResult.Success = success } return nil } -func newGetOtherPostsArgs() interface{} { - return &GetOtherPostsArgs{} +func newGetPostsArgs() interface{} { + return &GetPostsArgs{} } -func newGetOtherPostsResult() interface{} { - return &GetOtherPostsResult{} +func newGetPostsResult() interface{} { + return &GetPostsResult{} } -type GetOtherPostsArgs struct { - Req *core_api.GetOtherPostsReq +type GetPostsArgs struct { + Req *core_api.GetPostsReq } -func (p *GetOtherPostsArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetPostsArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.GetOtherPostsReq) + p.Req = new(core_api.GetPostsReq) } return p.Req.FastRead(buf, _type, number) } -func (p *GetOtherPostsArgs) FastWrite(buf []byte) (n int) { +func (p *GetPostsArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *GetOtherPostsArgs) Size() (n int) { +func (p *GetPostsArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *GetOtherPostsArgs) Marshal(out []byte) ([]byte, error) { +func (p *GetPostsArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *GetOtherPostsArgs) Unmarshal(in []byte) error { - msg := new(core_api.GetOtherPostsReq) +func (p *GetPostsArgs) Unmarshal(in []byte) error { + msg := new(core_api.GetPostsReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5048,59 +5051,59 @@ func (p *GetOtherPostsArgs) Unmarshal(in []byte) error { return nil } -var GetOtherPostsArgs_Req_DEFAULT *core_api.GetOtherPostsReq +var GetPostsArgs_Req_DEFAULT *core_api.GetPostsReq -func (p *GetOtherPostsArgs) GetReq() *core_api.GetOtherPostsReq { +func (p *GetPostsArgs) GetReq() *core_api.GetPostsReq { if !p.IsSetReq() { - return GetOtherPostsArgs_Req_DEFAULT + return GetPostsArgs_Req_DEFAULT } return p.Req } -func (p *GetOtherPostsArgs) IsSetReq() bool { +func (p *GetPostsArgs) IsSetReq() bool { return p.Req != nil } -func (p *GetOtherPostsArgs) GetFirstArgument() interface{} { +func (p *GetPostsArgs) GetFirstArgument() interface{} { return p.Req } -type GetOtherPostsResult struct { - Success *core_api.GetOtherPostsResp +type GetPostsResult struct { + Success *core_api.GetPostsResp } -var GetOtherPostsResult_Success_DEFAULT *core_api.GetOtherPostsResp +var GetPostsResult_Success_DEFAULT *core_api.GetPostsResp -func (p *GetOtherPostsResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetPostsResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.GetOtherPostsResp) + p.Success = new(core_api.GetPostsResp) } return p.Success.FastRead(buf, _type, number) } -func (p *GetOtherPostsResult) FastWrite(buf []byte) (n int) { +func (p *GetPostsResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *GetOtherPostsResult) Size() (n int) { +func (p *GetPostsResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *GetOtherPostsResult) Marshal(out []byte) ([]byte, error) { +func (p *GetPostsResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *GetOtherPostsResult) Unmarshal(in []byte) error { - msg := new(core_api.GetOtherPostsResp) +func (p *GetPostsResult) Unmarshal(in []byte) error { + msg := new(core_api.GetPostsResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5108,92 +5111,92 @@ func (p *GetOtherPostsResult) Unmarshal(in []byte) error { return nil } -func (p *GetOtherPostsResult) GetSuccess() *core_api.GetOtherPostsResp { +func (p *GetPostsResult) GetSuccess() *core_api.GetPostsResp { if !p.IsSetSuccess() { - return GetOtherPostsResult_Success_DEFAULT + return GetPostsResult_Success_DEFAULT } return p.Success } -func (p *GetOtherPostsResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.GetOtherPostsResp) +func (p *GetPostsResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.GetPostsResp) } -func (p *GetOtherPostsResult) IsSetSuccess() bool { +func (p *GetPostsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *GetOtherPostsResult) GetResult() interface{} { +func (p *GetPostsResult) GetResult() interface{} { return p.Success } -func getOtherPostHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func getPostHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.GetOtherPostReq) + req := new(core_api.GetPostReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).GetOtherPost(ctx, req) + resp, err := handler.(core_api.Content).GetPost(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *GetOtherPostArgs: - success, err := handler.(core_api.Content).GetOtherPost(ctx, s.Req) + case *GetPostArgs: + success, err := handler.(core_api.Content).GetPost(ctx, s.Req) if err != nil { return err } - realResult := result.(*GetOtherPostResult) + realResult := result.(*GetPostResult) realResult.Success = success } return nil } -func newGetOtherPostArgs() interface{} { - return &GetOtherPostArgs{} +func newGetPostArgs() interface{} { + return &GetPostArgs{} } -func newGetOtherPostResult() interface{} { - return &GetOtherPostResult{} +func newGetPostResult() interface{} { + return &GetPostResult{} } -type GetOtherPostArgs struct { - Req *core_api.GetOtherPostReq +type GetPostArgs struct { + Req *core_api.GetPostReq } -func (p *GetOtherPostArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetPostArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.GetOtherPostReq) + p.Req = new(core_api.GetPostReq) } return p.Req.FastRead(buf, _type, number) } -func (p *GetOtherPostArgs) FastWrite(buf []byte) (n int) { +func (p *GetPostArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *GetOtherPostArgs) Size() (n int) { +func (p *GetPostArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *GetOtherPostArgs) Marshal(out []byte) ([]byte, error) { +func (p *GetPostArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *GetOtherPostArgs) Unmarshal(in []byte) error { - msg := new(core_api.GetOtherPostReq) +func (p *GetPostArgs) Unmarshal(in []byte) error { + msg := new(core_api.GetPostReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5201,59 +5204,59 @@ func (p *GetOtherPostArgs) Unmarshal(in []byte) error { return nil } -var GetOtherPostArgs_Req_DEFAULT *core_api.GetOtherPostReq +var GetPostArgs_Req_DEFAULT *core_api.GetPostReq -func (p *GetOtherPostArgs) GetReq() *core_api.GetOtherPostReq { +func (p *GetPostArgs) GetReq() *core_api.GetPostReq { if !p.IsSetReq() { - return GetOtherPostArgs_Req_DEFAULT + return GetPostArgs_Req_DEFAULT } return p.Req } -func (p *GetOtherPostArgs) IsSetReq() bool { +func (p *GetPostArgs) IsSetReq() bool { return p.Req != nil } -func (p *GetOtherPostArgs) GetFirstArgument() interface{} { +func (p *GetPostArgs) GetFirstArgument() interface{} { return p.Req } -type GetOtherPostResult struct { - Success *core_api.GetOtherPostResp +type GetPostResult struct { + Success *core_api.GetPostResp } -var GetOtherPostResult_Success_DEFAULT *core_api.GetOtherPostResp +var GetPostResult_Success_DEFAULT *core_api.GetPostResp -func (p *GetOtherPostResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetPostResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.GetOtherPostResp) + p.Success = new(core_api.GetPostResp) } return p.Success.FastRead(buf, _type, number) } -func (p *GetOtherPostResult) FastWrite(buf []byte) (n int) { +func (p *GetPostResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *GetOtherPostResult) Size() (n int) { +func (p *GetPostResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *GetOtherPostResult) Marshal(out []byte) ([]byte, error) { +func (p *GetPostResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *GetOtherPostResult) Unmarshal(in []byte) error { - msg := new(core_api.GetOtherPostResp) +func (p *GetPostResult) Unmarshal(in []byte) error { + msg := new(core_api.GetPostResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5261,92 +5264,551 @@ func (p *GetOtherPostResult) Unmarshal(in []byte) error { return nil } -func (p *GetOtherPostResult) GetSuccess() *core_api.GetOtherPostResp { +func (p *GetPostResult) GetSuccess() *core_api.GetPostResp { if !p.IsSetSuccess() { - return GetOtherPostResult_Success_DEFAULT + return GetPostResult_Success_DEFAULT } return p.Success } -func (p *GetOtherPostResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.GetOtherPostResp) +func (p *GetPostResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.GetPostResp) } -func (p *GetOtherPostResult) IsSetSuccess() bool { +func (p *GetPostResult) IsSetSuccess() bool { return p.Success != nil } -func (p *GetOtherPostResult) GetResult() interface{} { +func (p *GetPostResult) GetResult() interface{} { return p.Success } -func getOwnPostsHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func getRecommendByUserHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + switch s := arg.(type) { + case *streaming.Args: + st := s.Stream + req := new(core_api.GetRecommendByUserReq) + if err := st.RecvMsg(req); err != nil { + return err + } + resp, err := handler.(core_api.Content).GetRecommendByUser(ctx, req) + if err != nil { + return err + } + if err := st.SendMsg(resp); err != nil { + return err + } + case *GetRecommendByUserArgs: + success, err := handler.(core_api.Content).GetRecommendByUser(ctx, s.Req) + if err != nil { + return err + } + realResult := result.(*GetRecommendByUserResult) + realResult.Success = success + } + return nil +} +func newGetRecommendByUserArgs() interface{} { + return &GetRecommendByUserArgs{} +} + +func newGetRecommendByUserResult() interface{} { + return &GetRecommendByUserResult{} +} + +type GetRecommendByUserArgs struct { + Req *core_api.GetRecommendByUserReq +} + +func (p *GetRecommendByUserArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetReq() { + p.Req = new(core_api.GetRecommendByUserReq) + } + return p.Req.FastRead(buf, _type, number) +} + +func (p *GetRecommendByUserArgs) FastWrite(buf []byte) (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.FastWrite(buf) +} + +func (p *GetRecommendByUserArgs) Size() (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.Size() +} + +func (p *GetRecommendByUserArgs) Marshal(out []byte) ([]byte, error) { + if !p.IsSetReq() { + return out, nil + } + return proto.Marshal(p.Req) +} + +func (p *GetRecommendByUserArgs) Unmarshal(in []byte) error { + msg := new(core_api.GetRecommendByUserReq) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Req = msg + return nil +} + +var GetRecommendByUserArgs_Req_DEFAULT *core_api.GetRecommendByUserReq + +func (p *GetRecommendByUserArgs) GetReq() *core_api.GetRecommendByUserReq { + if !p.IsSetReq() { + return GetRecommendByUserArgs_Req_DEFAULT + } + return p.Req +} + +func (p *GetRecommendByUserArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *GetRecommendByUserArgs) GetFirstArgument() interface{} { + return p.Req +} + +type GetRecommendByUserResult struct { + Success *core_api.GetRecommendByUserResp +} + +var GetRecommendByUserResult_Success_DEFAULT *core_api.GetRecommendByUserResp + +func (p *GetRecommendByUserResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetSuccess() { + p.Success = new(core_api.GetRecommendByUserResp) + } + return p.Success.FastRead(buf, _type, number) +} + +func (p *GetRecommendByUserResult) FastWrite(buf []byte) (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.FastWrite(buf) +} + +func (p *GetRecommendByUserResult) Size() (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.Size() +} + +func (p *GetRecommendByUserResult) Marshal(out []byte) ([]byte, error) { + if !p.IsSetSuccess() { + return out, nil + } + return proto.Marshal(p.Success) +} + +func (p *GetRecommendByUserResult) Unmarshal(in []byte) error { + msg := new(core_api.GetRecommendByUserResp) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Success = msg + return nil +} + +func (p *GetRecommendByUserResult) GetSuccess() *core_api.GetRecommendByUserResp { + if !p.IsSetSuccess() { + return GetRecommendByUserResult_Success_DEFAULT + } + return p.Success +} + +func (p *GetRecommendByUserResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.GetRecommendByUserResp) +} + +func (p *GetRecommendByUserResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *GetRecommendByUserResult) GetResult() interface{} { + return p.Success +} + +func getRecommendByItemHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + switch s := arg.(type) { + case *streaming.Args: + st := s.Stream + req := new(core_api.GetRecommendByItemReq) + if err := st.RecvMsg(req); err != nil { + return err + } + resp, err := handler.(core_api.Content).GetRecommendByItem(ctx, req) + if err != nil { + return err + } + if err := st.SendMsg(resp); err != nil { + return err + } + case *GetRecommendByItemArgs: + success, err := handler.(core_api.Content).GetRecommendByItem(ctx, s.Req) + if err != nil { + return err + } + realResult := result.(*GetRecommendByItemResult) + realResult.Success = success + } + return nil +} +func newGetRecommendByItemArgs() interface{} { + return &GetRecommendByItemArgs{} +} + +func newGetRecommendByItemResult() interface{} { + return &GetRecommendByItemResult{} +} + +type GetRecommendByItemArgs struct { + Req *core_api.GetRecommendByItemReq +} + +func (p *GetRecommendByItemArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetReq() { + p.Req = new(core_api.GetRecommendByItemReq) + } + return p.Req.FastRead(buf, _type, number) +} + +func (p *GetRecommendByItemArgs) FastWrite(buf []byte) (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.FastWrite(buf) +} + +func (p *GetRecommendByItemArgs) Size() (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.Size() +} + +func (p *GetRecommendByItemArgs) Marshal(out []byte) ([]byte, error) { + if !p.IsSetReq() { + return out, nil + } + return proto.Marshal(p.Req) +} + +func (p *GetRecommendByItemArgs) Unmarshal(in []byte) error { + msg := new(core_api.GetRecommendByItemReq) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Req = msg + return nil +} + +var GetRecommendByItemArgs_Req_DEFAULT *core_api.GetRecommendByItemReq + +func (p *GetRecommendByItemArgs) GetReq() *core_api.GetRecommendByItemReq { + if !p.IsSetReq() { + return GetRecommendByItemArgs_Req_DEFAULT + } + return p.Req +} + +func (p *GetRecommendByItemArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *GetRecommendByItemArgs) GetFirstArgument() interface{} { + return p.Req +} + +type GetRecommendByItemResult struct { + Success *core_api.GetRecommendByItemResp +} + +var GetRecommendByItemResult_Success_DEFAULT *core_api.GetRecommendByItemResp + +func (p *GetRecommendByItemResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetSuccess() { + p.Success = new(core_api.GetRecommendByItemResp) + } + return p.Success.FastRead(buf, _type, number) +} + +func (p *GetRecommendByItemResult) FastWrite(buf []byte) (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.FastWrite(buf) +} + +func (p *GetRecommendByItemResult) Size() (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.Size() +} + +func (p *GetRecommendByItemResult) Marshal(out []byte) ([]byte, error) { + if !p.IsSetSuccess() { + return out, nil + } + return proto.Marshal(p.Success) +} + +func (p *GetRecommendByItemResult) Unmarshal(in []byte) error { + msg := new(core_api.GetRecommendByItemResp) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Success = msg + return nil +} + +func (p *GetRecommendByItemResult) GetSuccess() *core_api.GetRecommendByItemResp { + if !p.IsSetSuccess() { + return GetRecommendByItemResult_Success_DEFAULT + } + return p.Success +} + +func (p *GetRecommendByItemResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.GetRecommendByItemResp) +} + +func (p *GetRecommendByItemResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *GetRecommendByItemResult) GetResult() interface{} { + return p.Success +} + +func createFeedBackHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + switch s := arg.(type) { + case *streaming.Args: + st := s.Stream + req := new(core_api.CreateFeedBackReq) + if err := st.RecvMsg(req); err != nil { + return err + } + resp, err := handler.(core_api.Content).CreateFeedBack(ctx, req) + if err != nil { + return err + } + if err := st.SendMsg(resp); err != nil { + return err + } + case *CreateFeedBackArgs: + success, err := handler.(core_api.Content).CreateFeedBack(ctx, s.Req) + if err != nil { + return err + } + realResult := result.(*CreateFeedBackResult) + realResult.Success = success + } + return nil +} +func newCreateFeedBackArgs() interface{} { + return &CreateFeedBackArgs{} +} + +func newCreateFeedBackResult() interface{} { + return &CreateFeedBackResult{} +} + +type CreateFeedBackArgs struct { + Req *core_api.CreateFeedBackReq +} + +func (p *CreateFeedBackArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetReq() { + p.Req = new(core_api.CreateFeedBackReq) + } + return p.Req.FastRead(buf, _type, number) +} + +func (p *CreateFeedBackArgs) FastWrite(buf []byte) (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.FastWrite(buf) +} + +func (p *CreateFeedBackArgs) Size() (n int) { + if !p.IsSetReq() { + return 0 + } + return p.Req.Size() +} + +func (p *CreateFeedBackArgs) Marshal(out []byte) ([]byte, error) { + if !p.IsSetReq() { + return out, nil + } + return proto.Marshal(p.Req) +} + +func (p *CreateFeedBackArgs) Unmarshal(in []byte) error { + msg := new(core_api.CreateFeedBackReq) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Req = msg + return nil +} + +var CreateFeedBackArgs_Req_DEFAULT *core_api.CreateFeedBackReq + +func (p *CreateFeedBackArgs) GetReq() *core_api.CreateFeedBackReq { + if !p.IsSetReq() { + return CreateFeedBackArgs_Req_DEFAULT + } + return p.Req +} + +func (p *CreateFeedBackArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *CreateFeedBackArgs) GetFirstArgument() interface{} { + return p.Req +} + +type CreateFeedBackResult struct { + Success *core_api.CreateFeedBackResp +} + +var CreateFeedBackResult_Success_DEFAULT *core_api.CreateFeedBackResp + +func (p *CreateFeedBackResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { + if !p.IsSetSuccess() { + p.Success = new(core_api.CreateFeedBackResp) + } + return p.Success.FastRead(buf, _type, number) +} + +func (p *CreateFeedBackResult) FastWrite(buf []byte) (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.FastWrite(buf) +} + +func (p *CreateFeedBackResult) Size() (n int) { + if !p.IsSetSuccess() { + return 0 + } + return p.Success.Size() +} + +func (p *CreateFeedBackResult) Marshal(out []byte) ([]byte, error) { + if !p.IsSetSuccess() { + return out, nil + } + return proto.Marshal(p.Success) +} + +func (p *CreateFeedBackResult) Unmarshal(in []byte) error { + msg := new(core_api.CreateFeedBackResp) + if err := proto.Unmarshal(in, msg); err != nil { + return err + } + p.Success = msg + return nil +} + +func (p *CreateFeedBackResult) GetSuccess() *core_api.CreateFeedBackResp { + if !p.IsSetSuccess() { + return CreateFeedBackResult_Success_DEFAULT + } + return p.Success +} + +func (p *CreateFeedBackResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.CreateFeedBackResp) +} + +func (p *CreateFeedBackResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CreateFeedBackResult) GetResult() interface{} { + return p.Success +} + +func getPopularRecommendHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.GetOwnPostsReq) + req := new(core_api.GetPopularRecommendReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).GetOwnPosts(ctx, req) + resp, err := handler.(core_api.Content).GetPopularRecommend(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *GetOwnPostsArgs: - success, err := handler.(core_api.Content).GetOwnPosts(ctx, s.Req) + case *GetPopularRecommendArgs: + success, err := handler.(core_api.Content).GetPopularRecommend(ctx, s.Req) if err != nil { return err } - realResult := result.(*GetOwnPostsResult) + realResult := result.(*GetPopularRecommendResult) realResult.Success = success } return nil } -func newGetOwnPostsArgs() interface{} { - return &GetOwnPostsArgs{} +func newGetPopularRecommendArgs() interface{} { + return &GetPopularRecommendArgs{} } -func newGetOwnPostsResult() interface{} { - return &GetOwnPostsResult{} +func newGetPopularRecommendResult() interface{} { + return &GetPopularRecommendResult{} } -type GetOwnPostsArgs struct { - Req *core_api.GetOwnPostsReq +type GetPopularRecommendArgs struct { + Req *core_api.GetPopularRecommendReq } -func (p *GetOwnPostsArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetPopularRecommendArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.GetOwnPostsReq) + p.Req = new(core_api.GetPopularRecommendReq) } return p.Req.FastRead(buf, _type, number) } -func (p *GetOwnPostsArgs) FastWrite(buf []byte) (n int) { +func (p *GetPopularRecommendArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *GetOwnPostsArgs) Size() (n int) { +func (p *GetPopularRecommendArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *GetOwnPostsArgs) Marshal(out []byte) ([]byte, error) { +func (p *GetPopularRecommendArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *GetOwnPostsArgs) Unmarshal(in []byte) error { - msg := new(core_api.GetOwnPostsReq) +func (p *GetPopularRecommendArgs) Unmarshal(in []byte) error { + msg := new(core_api.GetPopularRecommendReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5354,59 +5816,59 @@ func (p *GetOwnPostsArgs) Unmarshal(in []byte) error { return nil } -var GetOwnPostsArgs_Req_DEFAULT *core_api.GetOwnPostsReq +var GetPopularRecommendArgs_Req_DEFAULT *core_api.GetPopularRecommendReq -func (p *GetOwnPostsArgs) GetReq() *core_api.GetOwnPostsReq { +func (p *GetPopularRecommendArgs) GetReq() *core_api.GetPopularRecommendReq { if !p.IsSetReq() { - return GetOwnPostsArgs_Req_DEFAULT + return GetPopularRecommendArgs_Req_DEFAULT } return p.Req } -func (p *GetOwnPostsArgs) IsSetReq() bool { +func (p *GetPopularRecommendArgs) IsSetReq() bool { return p.Req != nil } -func (p *GetOwnPostsArgs) GetFirstArgument() interface{} { +func (p *GetPopularRecommendArgs) GetFirstArgument() interface{} { return p.Req } -type GetOwnPostsResult struct { - Success *core_api.GetOwnPostsResp +type GetPopularRecommendResult struct { + Success *core_api.GetPopularRecommendResp } -var GetOwnPostsResult_Success_DEFAULT *core_api.GetOwnPostsResp +var GetPopularRecommendResult_Success_DEFAULT *core_api.GetPopularRecommendResp -func (p *GetOwnPostsResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetPopularRecommendResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.GetOwnPostsResp) + p.Success = new(core_api.GetPopularRecommendResp) } return p.Success.FastRead(buf, _type, number) } -func (p *GetOwnPostsResult) FastWrite(buf []byte) (n int) { +func (p *GetPopularRecommendResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *GetOwnPostsResult) Size() (n int) { +func (p *GetPopularRecommendResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *GetOwnPostsResult) Marshal(out []byte) ([]byte, error) { +func (p *GetPopularRecommendResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *GetOwnPostsResult) Unmarshal(in []byte) error { - msg := new(core_api.GetOwnPostsResp) +func (p *GetPopularRecommendResult) Unmarshal(in []byte) error { + msg := new(core_api.GetPopularRecommendResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5414,92 +5876,92 @@ func (p *GetOwnPostsResult) Unmarshal(in []byte) error { return nil } -func (p *GetOwnPostsResult) GetSuccess() *core_api.GetOwnPostsResp { +func (p *GetPopularRecommendResult) GetSuccess() *core_api.GetPopularRecommendResp { if !p.IsSetSuccess() { - return GetOwnPostsResult_Success_DEFAULT + return GetPopularRecommendResult_Success_DEFAULT } return p.Success } -func (p *GetOwnPostsResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.GetOwnPostsResp) +func (p *GetPopularRecommendResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.GetPopularRecommendResp) } -func (p *GetOwnPostsResult) IsSetSuccess() bool { +func (p *GetPopularRecommendResult) IsSetSuccess() bool { return p.Success != nil } -func (p *GetOwnPostsResult) GetResult() interface{} { +func (p *GetPopularRecommendResult) GetResult() interface{} { return p.Success } -func getOwnPostHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func getLatestRecommendHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.GetOwnPostReq) + req := new(core_api.GetLatestRecommendReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).GetOwnPost(ctx, req) + resp, err := handler.(core_api.Content).GetLatestRecommend(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *GetOwnPostArgs: - success, err := handler.(core_api.Content).GetOwnPost(ctx, s.Req) + case *GetLatestRecommendArgs: + success, err := handler.(core_api.Content).GetLatestRecommend(ctx, s.Req) if err != nil { return err } - realResult := result.(*GetOwnPostResult) + realResult := result.(*GetLatestRecommendResult) realResult.Success = success } return nil } -func newGetOwnPostArgs() interface{} { - return &GetOwnPostArgs{} +func newGetLatestRecommendArgs() interface{} { + return &GetLatestRecommendArgs{} } -func newGetOwnPostResult() interface{} { - return &GetOwnPostResult{} +func newGetLatestRecommendResult() interface{} { + return &GetLatestRecommendResult{} } -type GetOwnPostArgs struct { - Req *core_api.GetOwnPostReq +type GetLatestRecommendArgs struct { + Req *core_api.GetLatestRecommendReq } -func (p *GetOwnPostArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetLatestRecommendArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.GetOwnPostReq) + p.Req = new(core_api.GetLatestRecommendReq) } return p.Req.FastRead(buf, _type, number) } -func (p *GetOwnPostArgs) FastWrite(buf []byte) (n int) { +func (p *GetLatestRecommendArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *GetOwnPostArgs) Size() (n int) { +func (p *GetLatestRecommendArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *GetOwnPostArgs) Marshal(out []byte) ([]byte, error) { +func (p *GetLatestRecommendArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *GetOwnPostArgs) Unmarshal(in []byte) error { - msg := new(core_api.GetOwnPostReq) +func (p *GetLatestRecommendArgs) Unmarshal(in []byte) error { + msg := new(core_api.GetLatestRecommendReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5507,59 +5969,59 @@ func (p *GetOwnPostArgs) Unmarshal(in []byte) error { return nil } -var GetOwnPostArgs_Req_DEFAULT *core_api.GetOwnPostReq +var GetLatestRecommendArgs_Req_DEFAULT *core_api.GetLatestRecommendReq -func (p *GetOwnPostArgs) GetReq() *core_api.GetOwnPostReq { +func (p *GetLatestRecommendArgs) GetReq() *core_api.GetLatestRecommendReq { if !p.IsSetReq() { - return GetOwnPostArgs_Req_DEFAULT + return GetLatestRecommendArgs_Req_DEFAULT } return p.Req } -func (p *GetOwnPostArgs) IsSetReq() bool { +func (p *GetLatestRecommendArgs) IsSetReq() bool { return p.Req != nil } -func (p *GetOwnPostArgs) GetFirstArgument() interface{} { +func (p *GetLatestRecommendArgs) GetFirstArgument() interface{} { return p.Req } -type GetOwnPostResult struct { - Success *core_api.GetOwnPostResp +type GetLatestRecommendResult struct { + Success *core_api.GetLatestRecommendResp } -var GetOwnPostResult_Success_DEFAULT *core_api.GetOwnPostResp +var GetLatestRecommendResult_Success_DEFAULT *core_api.GetLatestRecommendResp -func (p *GetOwnPostResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetLatestRecommendResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.GetOwnPostResp) + p.Success = new(core_api.GetLatestRecommendResp) } return p.Success.FastRead(buf, _type, number) } -func (p *GetOwnPostResult) FastWrite(buf []byte) (n int) { +func (p *GetLatestRecommendResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *GetOwnPostResult) Size() (n int) { +func (p *GetLatestRecommendResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *GetOwnPostResult) Marshal(out []byte) ([]byte, error) { +func (p *GetLatestRecommendResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *GetOwnPostResult) Unmarshal(in []byte) error { - msg := new(core_api.GetOwnPostResp) +func (p *GetLatestRecommendResult) Unmarshal(in []byte) error { + msg := new(core_api.GetLatestRecommendResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5567,92 +6029,92 @@ func (p *GetOwnPostResult) Unmarshal(in []byte) error { return nil } -func (p *GetOwnPostResult) GetSuccess() *core_api.GetOwnPostResp { +func (p *GetLatestRecommendResult) GetSuccess() *core_api.GetLatestRecommendResp { if !p.IsSetSuccess() { - return GetOwnPostResult_Success_DEFAULT + return GetLatestRecommendResult_Success_DEFAULT } return p.Success } -func (p *GetOwnPostResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.GetOwnPostResp) +func (p *GetLatestRecommendResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.GetLatestRecommendResp) } -func (p *GetOwnPostResult) IsSetSuccess() bool { +func (p *GetLatestRecommendResult) IsSetSuccess() bool { return p.Success != nil } -func (p *GetOwnPostResult) GetResult() interface{} { +func (p *GetLatestRecommendResult) GetResult() interface{} { return p.Success } -func getRecommendByUserHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func createProductHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.GetRecommendByUserReq) + req := new(core_api.CreateProductReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).GetRecommendByUser(ctx, req) + resp, err := handler.(core_api.Content).CreateProduct(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *GetRecommendByUserArgs: - success, err := handler.(core_api.Content).GetRecommendByUser(ctx, s.Req) + case *CreateProductArgs: + success, err := handler.(core_api.Content).CreateProduct(ctx, s.Req) if err != nil { return err } - realResult := result.(*GetRecommendByUserResult) + realResult := result.(*CreateProductResult) realResult.Success = success } return nil } -func newGetRecommendByUserArgs() interface{} { - return &GetRecommendByUserArgs{} +func newCreateProductArgs() interface{} { + return &CreateProductArgs{} } -func newGetRecommendByUserResult() interface{} { - return &GetRecommendByUserResult{} +func newCreateProductResult() interface{} { + return &CreateProductResult{} } -type GetRecommendByUserArgs struct { - Req *core_api.GetRecommendByUserReq +type CreateProductArgs struct { + Req *core_api.CreateProductReq } -func (p *GetRecommendByUserArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *CreateProductArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.GetRecommendByUserReq) + p.Req = new(core_api.CreateProductReq) } return p.Req.FastRead(buf, _type, number) } -func (p *GetRecommendByUserArgs) FastWrite(buf []byte) (n int) { +func (p *CreateProductArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *GetRecommendByUserArgs) Size() (n int) { +func (p *CreateProductArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *GetRecommendByUserArgs) Marshal(out []byte) ([]byte, error) { +func (p *CreateProductArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *GetRecommendByUserArgs) Unmarshal(in []byte) error { - msg := new(core_api.GetRecommendByUserReq) +func (p *CreateProductArgs) Unmarshal(in []byte) error { + msg := new(core_api.CreateProductReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5660,59 +6122,59 @@ func (p *GetRecommendByUserArgs) Unmarshal(in []byte) error { return nil } -var GetRecommendByUserArgs_Req_DEFAULT *core_api.GetRecommendByUserReq +var CreateProductArgs_Req_DEFAULT *core_api.CreateProductReq -func (p *GetRecommendByUserArgs) GetReq() *core_api.GetRecommendByUserReq { +func (p *CreateProductArgs) GetReq() *core_api.CreateProductReq { if !p.IsSetReq() { - return GetRecommendByUserArgs_Req_DEFAULT + return CreateProductArgs_Req_DEFAULT } return p.Req } -func (p *GetRecommendByUserArgs) IsSetReq() bool { +func (p *CreateProductArgs) IsSetReq() bool { return p.Req != nil } -func (p *GetRecommendByUserArgs) GetFirstArgument() interface{} { +func (p *CreateProductArgs) GetFirstArgument() interface{} { return p.Req } -type GetRecommendByUserResult struct { - Success *core_api.GetRecommendByUserResp +type CreateProductResult struct { + Success *core_api.CreateProductResp } -var GetRecommendByUserResult_Success_DEFAULT *core_api.GetRecommendByUserResp +var CreateProductResult_Success_DEFAULT *core_api.CreateProductResp -func (p *GetRecommendByUserResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *CreateProductResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.GetRecommendByUserResp) + p.Success = new(core_api.CreateProductResp) } return p.Success.FastRead(buf, _type, number) } -func (p *GetRecommendByUserResult) FastWrite(buf []byte) (n int) { +func (p *CreateProductResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *GetRecommendByUserResult) Size() (n int) { +func (p *CreateProductResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *GetRecommendByUserResult) Marshal(out []byte) ([]byte, error) { +func (p *CreateProductResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *GetRecommendByUserResult) Unmarshal(in []byte) error { - msg := new(core_api.GetRecommendByUserResp) +func (p *CreateProductResult) Unmarshal(in []byte) error { + msg := new(core_api.CreateProductResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5720,92 +6182,92 @@ func (p *GetRecommendByUserResult) Unmarshal(in []byte) error { return nil } -func (p *GetRecommendByUserResult) GetSuccess() *core_api.GetRecommendByUserResp { +func (p *CreateProductResult) GetSuccess() *core_api.CreateProductResp { if !p.IsSetSuccess() { - return GetRecommendByUserResult_Success_DEFAULT + return CreateProductResult_Success_DEFAULT } return p.Success } -func (p *GetRecommendByUserResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.GetRecommendByUserResp) +func (p *CreateProductResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.CreateProductResp) } -func (p *GetRecommendByUserResult) IsSetSuccess() bool { +func (p *CreateProductResult) IsSetSuccess() bool { return p.Success != nil } -func (p *GetRecommendByUserResult) GetResult() interface{} { +func (p *CreateProductResult) GetResult() interface{} { return p.Success } -func getRecommendByItemHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func getProductHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.GetRecommendByItemReq) + req := new(core_api.GetProductReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).GetRecommendByItem(ctx, req) + resp, err := handler.(core_api.Content).GetProduct(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *GetRecommendByItemArgs: - success, err := handler.(core_api.Content).GetRecommendByItem(ctx, s.Req) + case *GetProductArgs: + success, err := handler.(core_api.Content).GetProduct(ctx, s.Req) if err != nil { return err } - realResult := result.(*GetRecommendByItemResult) + realResult := result.(*GetProductResult) realResult.Success = success } return nil } -func newGetRecommendByItemArgs() interface{} { - return &GetRecommendByItemArgs{} +func newGetProductArgs() interface{} { + return &GetProductArgs{} } -func newGetRecommendByItemResult() interface{} { - return &GetRecommendByItemResult{} +func newGetProductResult() interface{} { + return &GetProductResult{} } -type GetRecommendByItemArgs struct { - Req *core_api.GetRecommendByItemReq +type GetProductArgs struct { + Req *core_api.GetProductReq } -func (p *GetRecommendByItemArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetProductArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.GetRecommendByItemReq) + p.Req = new(core_api.GetProductReq) } return p.Req.FastRead(buf, _type, number) } -func (p *GetRecommendByItemArgs) FastWrite(buf []byte) (n int) { +func (p *GetProductArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *GetRecommendByItemArgs) Size() (n int) { +func (p *GetProductArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *GetRecommendByItemArgs) Marshal(out []byte) ([]byte, error) { +func (p *GetProductArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *GetRecommendByItemArgs) Unmarshal(in []byte) error { - msg := new(core_api.GetRecommendByItemReq) +func (p *GetProductArgs) Unmarshal(in []byte) error { + msg := new(core_api.GetProductReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5813,59 +6275,59 @@ func (p *GetRecommendByItemArgs) Unmarshal(in []byte) error { return nil } -var GetRecommendByItemArgs_Req_DEFAULT *core_api.GetRecommendByItemReq +var GetProductArgs_Req_DEFAULT *core_api.GetProductReq -func (p *GetRecommendByItemArgs) GetReq() *core_api.GetRecommendByItemReq { +func (p *GetProductArgs) GetReq() *core_api.GetProductReq { if !p.IsSetReq() { - return GetRecommendByItemArgs_Req_DEFAULT + return GetProductArgs_Req_DEFAULT } return p.Req } -func (p *GetRecommendByItemArgs) IsSetReq() bool { +func (p *GetProductArgs) IsSetReq() bool { return p.Req != nil } -func (p *GetRecommendByItemArgs) GetFirstArgument() interface{} { +func (p *GetProductArgs) GetFirstArgument() interface{} { return p.Req } -type GetRecommendByItemResult struct { - Success *core_api.GetRecommendByItemResp +type GetProductResult struct { + Success *core_api.GetProductResp } -var GetRecommendByItemResult_Success_DEFAULT *core_api.GetRecommendByItemResp +var GetProductResult_Success_DEFAULT *core_api.GetProductResp -func (p *GetRecommendByItemResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetProductResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.GetRecommendByItemResp) + p.Success = new(core_api.GetProductResp) } return p.Success.FastRead(buf, _type, number) } -func (p *GetRecommendByItemResult) FastWrite(buf []byte) (n int) { +func (p *GetProductResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *GetRecommendByItemResult) Size() (n int) { +func (p *GetProductResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *GetRecommendByItemResult) Marshal(out []byte) ([]byte, error) { +func (p *GetProductResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *GetRecommendByItemResult) Unmarshal(in []byte) error { - msg := new(core_api.GetRecommendByItemResp) +func (p *GetProductResult) Unmarshal(in []byte) error { + msg := new(core_api.GetProductResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5873,92 +6335,92 @@ func (p *GetRecommendByItemResult) Unmarshal(in []byte) error { return nil } -func (p *GetRecommendByItemResult) GetSuccess() *core_api.GetRecommendByItemResp { +func (p *GetProductResult) GetSuccess() *core_api.GetProductResp { if !p.IsSetSuccess() { - return GetRecommendByItemResult_Success_DEFAULT + return GetProductResult_Success_DEFAULT } return p.Success } -func (p *GetRecommendByItemResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.GetRecommendByItemResp) +func (p *GetProductResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.GetProductResp) } -func (p *GetRecommendByItemResult) IsSetSuccess() bool { +func (p *GetProductResult) IsSetSuccess() bool { return p.Success != nil } -func (p *GetRecommendByItemResult) GetResult() interface{} { +func (p *GetProductResult) GetResult() interface{} { return p.Success } -func createFeedBackHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func getProductsHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.CreateFeedBackReq) + req := new(core_api.GetProductsReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).CreateFeedBack(ctx, req) + resp, err := handler.(core_api.Content).GetProducts(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *CreateFeedBackArgs: - success, err := handler.(core_api.Content).CreateFeedBack(ctx, s.Req) + case *GetProductsArgs: + success, err := handler.(core_api.Content).GetProducts(ctx, s.Req) if err != nil { return err } - realResult := result.(*CreateFeedBackResult) + realResult := result.(*GetProductsResult) realResult.Success = success } return nil } -func newCreateFeedBackArgs() interface{} { - return &CreateFeedBackArgs{} +func newGetProductsArgs() interface{} { + return &GetProductsArgs{} } -func newCreateFeedBackResult() interface{} { - return &CreateFeedBackResult{} +func newGetProductsResult() interface{} { + return &GetProductsResult{} } -type CreateFeedBackArgs struct { - Req *core_api.CreateFeedBackReq +type GetProductsArgs struct { + Req *core_api.GetProductsReq } -func (p *CreateFeedBackArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetProductsArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.CreateFeedBackReq) + p.Req = new(core_api.GetProductsReq) } return p.Req.FastRead(buf, _type, number) } -func (p *CreateFeedBackArgs) FastWrite(buf []byte) (n int) { +func (p *GetProductsArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *CreateFeedBackArgs) Size() (n int) { +func (p *GetProductsArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *CreateFeedBackArgs) Marshal(out []byte) ([]byte, error) { +func (p *GetProductsArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *CreateFeedBackArgs) Unmarshal(in []byte) error { - msg := new(core_api.CreateFeedBackReq) +func (p *GetProductsArgs) Unmarshal(in []byte) error { + msg := new(core_api.GetProductsReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -5966,59 +6428,59 @@ func (p *CreateFeedBackArgs) Unmarshal(in []byte) error { return nil } -var CreateFeedBackArgs_Req_DEFAULT *core_api.CreateFeedBackReq +var GetProductsArgs_Req_DEFAULT *core_api.GetProductsReq -func (p *CreateFeedBackArgs) GetReq() *core_api.CreateFeedBackReq { +func (p *GetProductsArgs) GetReq() *core_api.GetProductsReq { if !p.IsSetReq() { - return CreateFeedBackArgs_Req_DEFAULT + return GetProductsArgs_Req_DEFAULT } return p.Req } -func (p *CreateFeedBackArgs) IsSetReq() bool { +func (p *GetProductsArgs) IsSetReq() bool { return p.Req != nil } -func (p *CreateFeedBackArgs) GetFirstArgument() interface{} { +func (p *GetProductsArgs) GetFirstArgument() interface{} { return p.Req } -type CreateFeedBackResult struct { - Success *core_api.CreateFeedBackResp +type GetProductsResult struct { + Success *core_api.GetProductsResp } -var CreateFeedBackResult_Success_DEFAULT *core_api.CreateFeedBackResp +var GetProductsResult_Success_DEFAULT *core_api.GetProductsResp -func (p *CreateFeedBackResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *GetProductsResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.CreateFeedBackResp) + p.Success = new(core_api.GetProductsResp) } return p.Success.FastRead(buf, _type, number) } -func (p *CreateFeedBackResult) FastWrite(buf []byte) (n int) { +func (p *GetProductsResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *CreateFeedBackResult) Size() (n int) { +func (p *GetProductsResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *CreateFeedBackResult) Marshal(out []byte) ([]byte, error) { +func (p *GetProductsResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *CreateFeedBackResult) Unmarshal(in []byte) error { - msg := new(core_api.CreateFeedBackResp) +func (p *GetProductsResult) Unmarshal(in []byte) error { + msg := new(core_api.GetProductsResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -6026,92 +6488,92 @@ func (p *CreateFeedBackResult) Unmarshal(in []byte) error { return nil } -func (p *CreateFeedBackResult) GetSuccess() *core_api.CreateFeedBackResp { +func (p *GetProductsResult) GetSuccess() *core_api.GetProductsResp { if !p.IsSetSuccess() { - return CreateFeedBackResult_Success_DEFAULT + return GetProductsResult_Success_DEFAULT } return p.Success } -func (p *CreateFeedBackResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.CreateFeedBackResp) +func (p *GetProductsResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.GetProductsResp) } -func (p *CreateFeedBackResult) IsSetSuccess() bool { +func (p *GetProductsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *CreateFeedBackResult) GetResult() interface{} { +func (p *GetProductsResult) GetResult() interface{} { return p.Success } -func getPopularRecommendHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func updateProductHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.GetPopularRecommendReq) + req := new(core_api.UpdateProductReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).GetPopularRecommend(ctx, req) + resp, err := handler.(core_api.Content).UpdateProduct(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *GetPopularRecommendArgs: - success, err := handler.(core_api.Content).GetPopularRecommend(ctx, s.Req) + case *UpdateProductArgs: + success, err := handler.(core_api.Content).UpdateProduct(ctx, s.Req) if err != nil { return err } - realResult := result.(*GetPopularRecommendResult) + realResult := result.(*UpdateProductResult) realResult.Success = success } return nil } -func newGetPopularRecommendArgs() interface{} { - return &GetPopularRecommendArgs{} +func newUpdateProductArgs() interface{} { + return &UpdateProductArgs{} } -func newGetPopularRecommendResult() interface{} { - return &GetPopularRecommendResult{} +func newUpdateProductResult() interface{} { + return &UpdateProductResult{} } -type GetPopularRecommendArgs struct { - Req *core_api.GetPopularRecommendReq +type UpdateProductArgs struct { + Req *core_api.UpdateProductReq } -func (p *GetPopularRecommendArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *UpdateProductArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.GetPopularRecommendReq) + p.Req = new(core_api.UpdateProductReq) } return p.Req.FastRead(buf, _type, number) } -func (p *GetPopularRecommendArgs) FastWrite(buf []byte) (n int) { +func (p *UpdateProductArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *GetPopularRecommendArgs) Size() (n int) { +func (p *UpdateProductArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *GetPopularRecommendArgs) Marshal(out []byte) ([]byte, error) { +func (p *UpdateProductArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *GetPopularRecommendArgs) Unmarshal(in []byte) error { - msg := new(core_api.GetPopularRecommendReq) +func (p *UpdateProductArgs) Unmarshal(in []byte) error { + msg := new(core_api.UpdateProductReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -6119,59 +6581,59 @@ func (p *GetPopularRecommendArgs) Unmarshal(in []byte) error { return nil } -var GetPopularRecommendArgs_Req_DEFAULT *core_api.GetPopularRecommendReq +var UpdateProductArgs_Req_DEFAULT *core_api.UpdateProductReq -func (p *GetPopularRecommendArgs) GetReq() *core_api.GetPopularRecommendReq { +func (p *UpdateProductArgs) GetReq() *core_api.UpdateProductReq { if !p.IsSetReq() { - return GetPopularRecommendArgs_Req_DEFAULT + return UpdateProductArgs_Req_DEFAULT } return p.Req } -func (p *GetPopularRecommendArgs) IsSetReq() bool { +func (p *UpdateProductArgs) IsSetReq() bool { return p.Req != nil } -func (p *GetPopularRecommendArgs) GetFirstArgument() interface{} { +func (p *UpdateProductArgs) GetFirstArgument() interface{} { return p.Req } -type GetPopularRecommendResult struct { - Success *core_api.GetPopularRecommendResp +type UpdateProductResult struct { + Success *core_api.UpdateProductResp } -var GetPopularRecommendResult_Success_DEFAULT *core_api.GetPopularRecommendResp +var UpdateProductResult_Success_DEFAULT *core_api.UpdateProductResp -func (p *GetPopularRecommendResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *UpdateProductResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.GetPopularRecommendResp) + p.Success = new(core_api.UpdateProductResp) } return p.Success.FastRead(buf, _type, number) } -func (p *GetPopularRecommendResult) FastWrite(buf []byte) (n int) { +func (p *UpdateProductResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *GetPopularRecommendResult) Size() (n int) { +func (p *UpdateProductResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *GetPopularRecommendResult) Marshal(out []byte) ([]byte, error) { +func (p *UpdateProductResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *GetPopularRecommendResult) Unmarshal(in []byte) error { - msg := new(core_api.GetPopularRecommendResp) +func (p *UpdateProductResult) Unmarshal(in []byte) error { + msg := new(core_api.UpdateProductResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -6179,92 +6641,92 @@ func (p *GetPopularRecommendResult) Unmarshal(in []byte) error { return nil } -func (p *GetPopularRecommendResult) GetSuccess() *core_api.GetPopularRecommendResp { +func (p *UpdateProductResult) GetSuccess() *core_api.UpdateProductResp { if !p.IsSetSuccess() { - return GetPopularRecommendResult_Success_DEFAULT + return UpdateProductResult_Success_DEFAULT } return p.Success } -func (p *GetPopularRecommendResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.GetPopularRecommendResp) +func (p *UpdateProductResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.UpdateProductResp) } -func (p *GetPopularRecommendResult) IsSetSuccess() bool { +func (p *UpdateProductResult) IsSetSuccess() bool { return p.Success != nil } -func (p *GetPopularRecommendResult) GetResult() interface{} { +func (p *UpdateProductResult) GetResult() interface{} { return p.Success } -func getLatestRecommendHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { +func deleteProductHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream - req := new(core_api.GetLatestRecommendReq) + req := new(core_api.DeleteProductReq) if err := st.RecvMsg(req); err != nil { return err } - resp, err := handler.(core_api.Content).GetLatestRecommend(ctx, req) + resp, err := handler.(core_api.Content).DeleteProduct(ctx, req) if err != nil { return err } if err := st.SendMsg(resp); err != nil { return err } - case *GetLatestRecommendArgs: - success, err := handler.(core_api.Content).GetLatestRecommend(ctx, s.Req) + case *DeleteProductArgs: + success, err := handler.(core_api.Content).DeleteProduct(ctx, s.Req) if err != nil { return err } - realResult := result.(*GetLatestRecommendResult) + realResult := result.(*DeleteProductResult) realResult.Success = success } return nil } -func newGetLatestRecommendArgs() interface{} { - return &GetLatestRecommendArgs{} +func newDeleteProductArgs() interface{} { + return &DeleteProductArgs{} } -func newGetLatestRecommendResult() interface{} { - return &GetLatestRecommendResult{} +func newDeleteProductResult() interface{} { + return &DeleteProductResult{} } -type GetLatestRecommendArgs struct { - Req *core_api.GetLatestRecommendReq +type DeleteProductArgs struct { + Req *core_api.DeleteProductReq } -func (p *GetLatestRecommendArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *DeleteProductArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { - p.Req = new(core_api.GetLatestRecommendReq) + p.Req = new(core_api.DeleteProductReq) } return p.Req.FastRead(buf, _type, number) } -func (p *GetLatestRecommendArgs) FastWrite(buf []byte) (n int) { +func (p *DeleteProductArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } -func (p *GetLatestRecommendArgs) Size() (n int) { +func (p *DeleteProductArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } -func (p *GetLatestRecommendArgs) Marshal(out []byte) ([]byte, error) { +func (p *DeleteProductArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } -func (p *GetLatestRecommendArgs) Unmarshal(in []byte) error { - msg := new(core_api.GetLatestRecommendReq) +func (p *DeleteProductArgs) Unmarshal(in []byte) error { + msg := new(core_api.DeleteProductReq) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -6272,59 +6734,59 @@ func (p *GetLatestRecommendArgs) Unmarshal(in []byte) error { return nil } -var GetLatestRecommendArgs_Req_DEFAULT *core_api.GetLatestRecommendReq +var DeleteProductArgs_Req_DEFAULT *core_api.DeleteProductReq -func (p *GetLatestRecommendArgs) GetReq() *core_api.GetLatestRecommendReq { +func (p *DeleteProductArgs) GetReq() *core_api.DeleteProductReq { if !p.IsSetReq() { - return GetLatestRecommendArgs_Req_DEFAULT + return DeleteProductArgs_Req_DEFAULT } return p.Req } -func (p *GetLatestRecommendArgs) IsSetReq() bool { +func (p *DeleteProductArgs) IsSetReq() bool { return p.Req != nil } -func (p *GetLatestRecommendArgs) GetFirstArgument() interface{} { +func (p *DeleteProductArgs) GetFirstArgument() interface{} { return p.Req } -type GetLatestRecommendResult struct { - Success *core_api.GetLatestRecommendResp +type DeleteProductResult struct { + Success *core_api.DeleteProductResp } -var GetLatestRecommendResult_Success_DEFAULT *core_api.GetLatestRecommendResp +var DeleteProductResult_Success_DEFAULT *core_api.DeleteProductResp -func (p *GetLatestRecommendResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { +func (p *DeleteProductResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { - p.Success = new(core_api.GetLatestRecommendResp) + p.Success = new(core_api.DeleteProductResp) } return p.Success.FastRead(buf, _type, number) } -func (p *GetLatestRecommendResult) FastWrite(buf []byte) (n int) { +func (p *DeleteProductResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } -func (p *GetLatestRecommendResult) Size() (n int) { +func (p *DeleteProductResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } -func (p *GetLatestRecommendResult) Marshal(out []byte) ([]byte, error) { +func (p *DeleteProductResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } -func (p *GetLatestRecommendResult) Unmarshal(in []byte) error { - msg := new(core_api.GetLatestRecommendResp) +func (p *DeleteProductResult) Unmarshal(in []byte) error { + msg := new(core_api.DeleteProductResp) if err := proto.Unmarshal(in, msg); err != nil { return err } @@ -6332,22 +6794,22 @@ func (p *GetLatestRecommendResult) Unmarshal(in []byte) error { return nil } -func (p *GetLatestRecommendResult) GetSuccess() *core_api.GetLatestRecommendResp { +func (p *DeleteProductResult) GetSuccess() *core_api.DeleteProductResp { if !p.IsSetSuccess() { - return GetLatestRecommendResult_Success_DEFAULT + return DeleteProductResult_Success_DEFAULT } return p.Success } -func (p *GetLatestRecommendResult) SetSuccess(x interface{}) { - p.Success = x.(*core_api.GetLatestRecommendResp) +func (p *DeleteProductResult) SetSuccess(x interface{}) { + p.Success = x.(*core_api.DeleteProductResp) } -func (p *GetLatestRecommendResult) IsSetSuccess() bool { +func (p *DeleteProductResult) IsSetSuccess() bool { return p.Success != nil } -func (p *GetLatestRecommendResult) GetResult() interface{} { +func (p *DeleteProductResult) GetResult() interface{} { return p.Success } @@ -6681,41 +7143,21 @@ func (p *kClient) UpdatePost(ctx context.Context, Req *core_api.UpdatePostReq) ( return _result.GetSuccess(), nil } -func (p *kClient) GetOtherPosts(ctx context.Context, Req *core_api.GetOtherPostsReq) (r *core_api.GetOtherPostsResp, err error) { - var _args GetOtherPostsArgs - _args.Req = Req - var _result GetOtherPostsResult - if err = p.c.Call(ctx, "GetOtherPosts", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) GetOtherPost(ctx context.Context, Req *core_api.GetOtherPostReq) (r *core_api.GetOtherPostResp, err error) { - var _args GetOtherPostArgs - _args.Req = Req - var _result GetOtherPostResult - if err = p.c.Call(ctx, "GetOtherPost", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) GetOwnPosts(ctx context.Context, Req *core_api.GetOwnPostsReq) (r *core_api.GetOwnPostsResp, err error) { - var _args GetOwnPostsArgs +func (p *kClient) GetPosts(ctx context.Context, Req *core_api.GetPostsReq) (r *core_api.GetPostsResp, err error) { + var _args GetPostsArgs _args.Req = Req - var _result GetOwnPostsResult - if err = p.c.Call(ctx, "GetOwnPosts", &_args, &_result); err != nil { + var _result GetPostsResult + if err = p.c.Call(ctx, "GetPosts", &_args, &_result); err != nil { return } return _result.GetSuccess(), nil } -func (p *kClient) GetOwnPost(ctx context.Context, Req *core_api.GetOwnPostReq) (r *core_api.GetOwnPostResp, err error) { - var _args GetOwnPostArgs +func (p *kClient) GetPost(ctx context.Context, Req *core_api.GetPostReq) (r *core_api.GetPostResp, err error) { + var _args GetPostArgs _args.Req = Req - var _result GetOwnPostResult - if err = p.c.Call(ctx, "GetOwnPost", &_args, &_result); err != nil { + var _result GetPostResult + if err = p.c.Call(ctx, "GetPost", &_args, &_result); err != nil { return } return _result.GetSuccess(), nil @@ -6770,3 +7212,53 @@ func (p *kClient) GetLatestRecommend(ctx context.Context, Req *core_api.GetLates } return _result.GetSuccess(), nil } + +func (p *kClient) CreateProduct(ctx context.Context, Req *core_api.CreateProductReq) (r *core_api.CreateProductResp, err error) { + var _args CreateProductArgs + _args.Req = Req + var _result CreateProductResult + if err = p.c.Call(ctx, "CreateProduct", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) GetProduct(ctx context.Context, Req *core_api.GetProductReq) (r *core_api.GetProductResp, err error) { + var _args GetProductArgs + _args.Req = Req + var _result GetProductResult + if err = p.c.Call(ctx, "GetProduct", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) GetProducts(ctx context.Context, Req *core_api.GetProductsReq) (r *core_api.GetProductsResp, err error) { + var _args GetProductsArgs + _args.Req = Req + var _result GetProductsResult + if err = p.c.Call(ctx, "GetProducts", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) UpdateProduct(ctx context.Context, Req *core_api.UpdateProductReq) (r *core_api.UpdateProductResp, err error) { + var _args UpdateProductArgs + _args.Req = Req + var _result UpdateProductResult + if err = p.c.Call(ctx, "UpdateProduct", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) DeleteProduct(ctx context.Context, Req *core_api.DeleteProductReq) (r *core_api.DeleteProductResp, err error) { + var _args DeleteProductArgs + _args.Req = Req + var _result DeleteProductResult + if err = p.c.Call(ctx, "DeleteProduct", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} diff --git a/kitex_gen/cloudmind/core_api/core_api.pb.go b/kitex_gen/cloudmind/core_api/core_api.pb.go index 96837c5..6b71168 100644 --- a/kitex_gen/cloudmind/core_api/core_api.pb.go +++ b/kitex_gen/cloudmind/core_api/core_api.pb.go @@ -39,7 +39,7 @@ var file_cloudmind_core_api_core_api_proto_rawDesc = []byte{ 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, - 0x80, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x55, + 0xc6, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x21, 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, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, @@ -286,417 +286,437 @@ var file_cloudmind_core_api_core_api_proto_rawDesc = []byte{ 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x6f, 0x73, 0x74, 0x12, 0x78, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, - 0x50, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x74, - 0x68, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x74, 0x73, 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, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x1a, 0xca, 0xc1, 0x18, 0x16, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2f, 0x67, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x74, - 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x23, + 0x50, 0x6f, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, + 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, 0x50, 0x6f, 0x73, 0x74, 0x73, 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, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x15, 0xca, 0xc1, 0x18, 0x11, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x2f, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x07, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x14, 0xca, 0xc1, 0x18, 0x10, 0x2f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x8c, 0x01, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, + 0x73, 0x65, 0x72, 0x12, 0x29, 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, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, - 0x72, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x19, 0xca, 0xc1, 0x18, 0x15, 0x2f, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, - 0x50, 0x6f, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4f, 0x77, 0x6e, 0x50, 0x6f, - 0x73, 0x74, 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, 0x4f, 0x77, 0x6e, 0x50, - 0x6f, 0x73, 0x74, 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, - 0x4f, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x18, 0xca, 0xc1, - 0x18, 0x14, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x4f, 0x77, - 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4f, 0x77, 0x6e, - 0x50, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x77, 0x6e, - 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x4f, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xca, 0xc1, 0x18, - 0x13, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x4f, 0x77, 0x6e, - 0x50, 0x6f, 0x73, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, 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, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x2a, 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, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x1f, 0xca, 0xc1, 0x18, 0x1b, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2f, 0x67, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x8c, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x29, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, + 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1f, 0xca, 0xc1, 0x18, 0x1b, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x8c, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x2a, 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, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x1f, 0xca, 0xc1, 0x18, 0x1b, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, - 0x67, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x7c, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, - 0x42, 0x61, 0x63, 0x6b, 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, - 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 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, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x1b, 0xd2, 0xc1, 0x18, 0x17, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, - 0x12, 0x90, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, - 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, - 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x20, 0xca, 0xc1, 0x18, 0x1c, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, - 0x67, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x64, 0x12, 0x8c, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, 0x29, 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, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2a, 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, - 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x1f, 0xca, 0xc1, 0x18, 0x1b, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, - 0x67, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x32, 0x96, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x61, 0x0a, 0x08, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 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, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x12, 0xd2, 0xc1, 0x18, 0x0e, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x69, - 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, - 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x14, 0xca, 0xc1, 0x18, 0x10, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x69, 0x0a, 0x0a, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, - 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x14, - 0xd2, 0xc1, 0x18, 0x10, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x6d, 0x0a, 0x0b, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x12, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x4c, - 0x6f, 0x67, 0x69, 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, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x15, 0xca, 0xc1, - 0x18, 0x11, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x12, 0x69, 0x0a, 0x0a, 0x47, 0x69, 0x74, 0x65, 0x65, 0x4c, 0x6f, 0x67, 0x69, - 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x69, 0x74, 0x65, 0x65, 0x4c, 0x6f, 0x67, 0x69, - 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x69, 0x74, 0x65, 0x65, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x14, 0xca, 0xc1, 0x18, 0x10, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x67, 0x69, 0x74, 0x65, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x71, - 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, 0xd2, 0xc1, 0x18, 0x12, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x65, 0x0a, 0x09, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 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, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x13, 0xd2, 0xc1, 0x18, 0x0f, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, - 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x89, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, - 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xd2, 0xc1, 0x18, 0x18, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x45, - 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x94, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2c, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, - 0x79, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, + 0x65, 0x6d, 0x12, 0x29, 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, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x2a, 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, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x42, + 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1f, 0xca, 0xc1, 0x18, 0x1b, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x64, 0x42, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x7c, 0x0a, 0x0e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x22, 0x1f, 0xd2, 0xc1, 0x18, 0x1b, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x42, 0x79, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x32, 0x82, 0x05, 0x0a, 0x08, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, + 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, + 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, 0x46, + 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1b, 0xd2, 0xc1, 0x18, + 0x17, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x90, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, + 0x12, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, + 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2b, 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, 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, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x20, 0xca, 0xc1, 0x18, 0x1c, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x6c, + 0x61, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, 0x8c, 0x01, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x64, 0x12, 0x29, 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, 0x74, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2a, 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, 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, - 0x32, 0xc8, 0x04, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x83, 0x01, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1f, 0xca, 0xc1, 0x18, 0x1b, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, 0x78, 0x0a, 0x0d, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xca, 0xc1, 0x18, 0x13, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x12, 0x70, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 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, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 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, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x18, 0xca, 0xc1, 0x18, 0x14, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 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, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1, 0x18, 0x16, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x78, + 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 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, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1a, 0xd2, 0xc1, + 0x18, 0x16, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x32, 0x96, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, + 0x68, 0x12, 0x61, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 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, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x12, 0xd2, 0xc1, 0x18, 0x0e, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x69, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x14, 0xca, 0xc1, 0x18, 0x10, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x69, 0x0a, 0x0a, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, + 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x14, 0xd2, 0xc1, 0x18, 0x10, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x6d, 0x0a, 0x0b, 0x47, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x4c, 0x6f, 0x67, 0x69, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x1c, 0xca, 0xc1, 0x18, 0x18, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x2f, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x93, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x4c, 0x6f, 0x67, 0x69, 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, 0x69, 0x74, 0x68, 0x75, 0x62, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x15, 0xca, 0xc1, 0x18, 0x11, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x69, 0x0a, 0x0a, 0x47, 0x69, 0x74, + 0x65, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x69, 0x74, + 0x65, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, + 0x47, 0x69, 0x74, 0x65, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x14, + 0xca, 0xc1, 0x18, 0x10, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, 0x69, 0x74, 0x65, 0x65, 0x4c, + 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x71, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x52, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x16, 0xd2, 0xc1, 0x18, 0x12, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x65, 0x0a, 0x09, 0x53, 0x65, 0x6e, 0x64, 0x45, + 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, + 0x61, 0x69, 0x6c, 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, 0x53, 0x65, 0x6e, 0x64, + 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x13, 0xd2, 0xc1, 0x18, 0x0f, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x89, + 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, + 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, + 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, + 0x1a, 0x2a, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xd2, 0xc1, + 0x18, 0x18, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x94, 0x01, 0x0a, 0x15, 0x53, + 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x50, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2c, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 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, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x42, 0x79, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, + 0x22, 0x1f, 0xd2, 0xc1, 0x18, 0x1b, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x65, 0x74, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x32, 0x82, 0x05, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 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, 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, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x20, 0xca, 0xc1, 0x18, 0x1c, 0x2f, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x2f, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, + 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, 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, 0x32, 0xc8, 0x04, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 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, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1c, 0xca, 0xc1, 0x18, 0x18, 0x2f, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2b, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 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, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x20, 0xca, 0xc1, 0x18, + 0x1c, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x8f, 0x01, + 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x1a, 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, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1f, + 0xd2, 0xc1, 0x18, 0x1b, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x2a, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1f, 0xd2, 0xc1, 0x18, 0x1b, 0x2f, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x13, 0x55, 0x70, + 0x8f, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x1a, 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, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x1f, 0xd2, 0xc1, 0x18, 0x1b, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x2a, 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, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 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, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x1f, 0xd2, 0xc1, 0x18, 0x1b, - 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0xeb, 0x0d, 0x0a, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 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, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x25, + 0x73, 0x32, 0xeb, 0x0d, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 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, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x21, 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, 0x52, - 0x65, 0x71, 0x1a, 0x22, 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, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xca, 0xc1, 0x18, 0x13, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x70, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x22, + 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, 0x43, 0x72, 0x65, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 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, 0x52, 0x65, 0x71, 0x1a, 0x22, 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, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xca, 0xc1, + 0x18, 0x13, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x70, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 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, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 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, 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, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 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, 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, + 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, + 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, 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, + 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, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 0x53, + 0x74, 0x61, 0x74, 0x65, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 0x43, 0x72, 0x65, 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, 0x43, 0x72, 0x65, 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, 0x43, 0x72, 0x65, 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, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 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, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x63, + 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, 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, 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, 0x9c, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 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, + 0x69, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2e, 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, 0x43, 0x72, 0x65, 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, 0x43, 0x72, 0x65, 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, 0x43, 0x72, 0x65, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 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, 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, + 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x23, 0xd2, 0xc1, 0x18, + 0x1f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x9c, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x2d, 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, 0x53, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2e, 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, 0x9c, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 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, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2e, 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, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x23, 0xd2, 0xc1, 0x18, 0x1f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x16, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x2d, 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, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2e, 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, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x23, 0xd2, 0xc1, 0x18, 0x1f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x32, 0xe8, 0x09, 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, 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, + 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x23, 0xd2, 0xc1, 0x18, 0x1f, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x73, 0x32, + 0xe8, 0x09, 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, 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, + 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, 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, 0x12, 0x72, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x12, 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, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x76, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x25, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 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, 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, 0x12, 0x72, 0x0a, 0x0c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, + 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x18, 0xd2, 0xc1, 0x18, 0x14, 0x2f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x12, 0x72, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 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, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xd2, 0xc1, 0x18, - 0x13, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, - 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x15, 0xca, 0xc1, 0x18, 0x11, 0x2f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x67, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x12, 0x72, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 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, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xd2, 0xc1, 0x18, - 0x13, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 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, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x6c, 0x2d, 0x67, 0x65, 0x6e, 0x2d, - 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, 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, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x76, + 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 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, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x18, 0xd2, 0xc1, + 0x18, 0x14, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x72, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x6d, 0x69, 0x6e, 0x64, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x15, 0xca, 0xc1, 0x18, 0x11, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x67, 0x65, 0x74, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x72, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 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, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x17, 0xd2, 0xc1, 0x18, 0x13, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, + 0x6c, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, + 0x65, 0x6e, 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_cloudmind_core_api_core_api_proto_goTypes = []interface{}{ @@ -731,137 +751,143 @@ var file_cloudmind_core_api_core_api_proto_goTypes = []interface{}{ (*CreatePostReq)(nil), // 28: cloudmind.core_api.CreatePostReq (*DeletePostReq)(nil), // 29: cloudmind.core_api.DeletePostReq (*UpdatePostReq)(nil), // 30: cloudmind.core_api.UpdatePostReq - (*GetOtherPostsReq)(nil), // 31: cloudmind.core_api.GetOtherPostsReq - (*GetOtherPostReq)(nil), // 32: cloudmind.core_api.GetOtherPostReq - (*GetOwnPostsReq)(nil), // 33: cloudmind.core_api.GetOwnPostsReq - (*GetOwnPostReq)(nil), // 34: cloudmind.core_api.GetOwnPostReq - (*GetRecommendByUserReq)(nil), // 35: cloudmind.core_api.GetRecommendByUserReq - (*GetRecommendByItemReq)(nil), // 36: cloudmind.core_api.GetRecommendByItemReq - (*CreateFeedBackReq)(nil), // 37: cloudmind.core_api.CreateFeedBackReq - (*GetPopularRecommendReq)(nil), // 38: cloudmind.core_api.GetPopularRecommendReq - (*GetLatestRecommendReq)(nil), // 39: cloudmind.core_api.GetLatestRecommendReq - (*RegisterReq)(nil), // 40: cloudmind.core_api.RegisterReq - (*CheckEmailReq)(nil), // 41: cloudmind.core_api.CheckEmailReq - (*EmailLoginReq)(nil), // 42: cloudmind.core_api.EmailLoginReq - (*GithubLoginReq)(nil), // 43: cloudmind.core_api.GithubLoginReq - (*GiteeLoginReq)(nil), // 44: cloudmind.core_api.GiteeLoginReq - (*RefreshTokenReq)(nil), // 45: cloudmind.core_api.RefreshTokenReq - (*SendEmailReq)(nil), // 46: cloudmind.core_api.SendEmailReq - (*SetPasswordByEmailReq)(nil), // 47: cloudmind.core_api.SetPasswordByEmailReq - (*SetPasswordByPasswordReq)(nil), // 48: cloudmind.core_api.SetPasswordByPasswordReq - (*CreateRelationReq)(nil), // 49: cloudmind.core_api.CreateRelationReq - (*GetFromRelationsReq)(nil), // 50: cloudmind.core_api.GetFromRelationsReq - (*GetToRelationsReq)(nil), // 51: cloudmind.core_api.GetToRelationsReq - (*GetRelationReq)(nil), // 52: cloudmind.core_api.GetRelationReq - (*DeleteRelationReq)(nil), // 53: cloudmind.core_api.DeleteRelationReq - (*GetNotificationsReq)(nil), // 54: cloudmind.core_api.GetNotificationsReq - (*GetNotificationCountReq)(nil), // 55: cloudmind.core_api.GetNotificationCountReq - (*DeleteNotificationsReq)(nil), // 56: cloudmind.core_api.DeleteNotificationsReq - (*UpdateNotificationsReq)(nil), // 57: cloudmind.core_api.UpdateNotificationsReq - (*CreateCommentReq)(nil), // 58: cloudmind.core_api.CreateCommentReq - (*GetCommentReq)(nil), // 59: cloudmind.core_api.GetCommentReq - (*GetCommentsReq)(nil), // 60: cloudmind.core_api.GetCommentsReq - (*DeleteCommentReq)(nil), // 61: cloudmind.core_api.DeleteCommentReq - (*UpdateCommentReq)(nil), // 62: cloudmind.core_api.UpdateCommentReq - (*SetCommentStateReq)(nil), // 63: cloudmind.core_api.SetCommentStateReq - (*SetCommentAttrsReq)(nil), // 64: cloudmind.core_api.SetCommentAttrsReq - (*GetCommentSubjectReq)(nil), // 65: cloudmind.core_api.GetCommentSubjectReq - (*CreateCommentSubjectReq)(nil), // 66: cloudmind.core_api.CreateCommentSubjectReq - (*UpdateCommentSubjectReq)(nil), // 67: cloudmind.core_api.UpdateCommentSubjectReq - (*DeleteCommentSubjectReq)(nil), // 68: cloudmind.core_api.DeleteCommentSubjectReq - (*SetCommentSubjectStateReq)(nil), // 69: cloudmind.core_api.SetCommentSubjectStateReq - (*SetCommentSubjectAttrsReq)(nil), // 70: cloudmind.core_api.SetCommentSubjectAttrsReq - (*CreateLabelReq)(nil), // 71: cloudmind.core_api.CreateLabelReq - (*DeleteLabelReq)(nil), // 72: cloudmind.core_api.DeleteLabelReq - (*UpdateLabelReq)(nil), // 73: cloudmind.core_api.UpdateLabelReq - (*GetLabelsReq)(nil), // 74: cloudmind.core_api.GetLabelsReq - (*GetLabelReq)(nil), // 75: cloudmind.core_api.GetLabelReq - (*GetLabelsInBatchReq)(nil), // 76: cloudmind.core_api.GetLabelsInBatchReq - (*CreateObjectReq)(nil), // 77: cloudmind.core_api.CreateObjectReq - (*CreateObjectsReq)(nil), // 78: cloudmind.core_api.CreateObjectsReq - (*DeleteObjectReq)(nil), // 79: cloudmind.core_api.DeleteObjectReq - (*GetObjectsReq)(nil), // 80: cloudmind.core_api.GetObjectsReq - (*UpdateObjectReq)(nil), // 81: cloudmind.core_api.UpdateObjectReq - (*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 - (*AskUploadAvatarResp)(nil), // 86: cloudmind.core_api.AskUploadAvatarResp - (*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 - (*RecoverRecycleBinFileResp)(nil), // 98: cloudmind.core_api.RecoverRecycleBinFileResp - (*CreateZoneResp)(nil), // 99: cloudmind.core_api.CreateZoneResp - (*UpdateZoneResp)(nil), // 100: cloudmind.core_api.UpdateZoneResp - (*GetZoneResp)(nil), // 101: cloudmind.core_api.GetZoneResp - (*DeleteZoneResp)(nil), // 102: cloudmind.core_api.DeleteZoneResp - (*CreateShareCodeResp)(nil), // 103: cloudmind.core_api.CreateShareCodeResp - (*GetShareListResp)(nil), // 104: cloudmind.core_api.GetShareListResp - (*DeleteShareCodeResp)(nil), // 105: cloudmind.core_api.DeleteShareCodeResp - (*ParsingShareCodeResp)(nil), // 106: cloudmind.core_api.ParsingShareCodeResp - (*AskUploadFileResp)(nil), // 107: cloudmind.core_api.AskUploadFileResp - (*AskDownloadFileResp)(nil), // 108: cloudmind.core_api.AskDownloadFileResp - (*CreatePostResp)(nil), // 109: cloudmind.core_api.CreatePostResp - (*DeletePostResp)(nil), // 110: cloudmind.core_api.DeletePostResp - (*UpdatePostResp)(nil), // 111: cloudmind.core_api.UpdatePostResp - (*GetOtherPostsResp)(nil), // 112: cloudmind.core_api.GetOtherPostsResp - (*GetOtherPostResp)(nil), // 113: cloudmind.core_api.GetOtherPostResp - (*GetOwnPostsResp)(nil), // 114: cloudmind.core_api.GetOwnPostsResp - (*GetOwnPostResp)(nil), // 115: cloudmind.core_api.GetOwnPostResp - (*GetRecommendByUserResp)(nil), // 116: cloudmind.core_api.GetRecommendByUserResp - (*GetRecommendByItemResp)(nil), // 117: cloudmind.core_api.GetRecommendByItemResp - (*CreateFeedBackResp)(nil), // 118: cloudmind.core_api.CreateFeedBackResp - (*GetPopularRecommendResp)(nil), // 119: cloudmind.core_api.GetPopularRecommendResp - (*GetLatestRecommendResp)(nil), // 120: cloudmind.core_api.GetLatestRecommendResp - (*RegisterResp)(nil), // 121: cloudmind.core_api.RegisterResp - (*CheckEmailResp)(nil), // 122: cloudmind.core_api.CheckEmailResp - (*EmailLoginResp)(nil), // 123: cloudmind.core_api.EmailLoginResp - (*GithubLoginResp)(nil), // 124: cloudmind.core_api.GithubLoginResp - (*GiteeLoginResp)(nil), // 125: cloudmind.core_api.GiteeLoginResp - (*RefreshTokenResp)(nil), // 126: cloudmind.core_api.RefreshTokenResp - (*SendEmailResp)(nil), // 127: cloudmind.core_api.SendEmailResp - (*SetPasswordByEmailResp)(nil), // 128: cloudmind.core_api.SetPasswordByEmailResp - (*CreateRelationResp)(nil), // 129: cloudmind.core_api.CreateRelationResp - (*GetFromRelationsResp)(nil), // 130: cloudmind.core_api.GetFromRelationsResp - (*GetToRelationsResp)(nil), // 131: cloudmind.core_api.GetToRelationsResp - (*GetRelationResp)(nil), // 132: cloudmind.core_api.GetRelationResp - (*DeleteRelationResp)(nil), // 133: cloudmind.core_api.DeleteRelationResp - (*GetNotificationsResp)(nil), // 134: cloudmind.core_api.GetNotificationsResp - (*GetNotificationCountResp)(nil), // 135: cloudmind.core_api.GetNotificationCountResp - (*DeleteNotificationsResp)(nil), // 136: cloudmind.core_api.DeleteNotificationsResp - (*UpdateNotificationsResp)(nil), // 137: cloudmind.core_api.UpdateNotificationsResp - (*CreateCommentResp)(nil), // 138: cloudmind.core_api.CreateCommentResp - (*GetCommentResp)(nil), // 139: cloudmind.core_api.GetCommentResp - (*GetCommentsResp)(nil), // 140: cloudmind.core_api.GetCommentsResp - (*DeleteCommentResp)(nil), // 141: cloudmind.core_api.DeleteCommentResp - (*UpdateCommentResp)(nil), // 142: cloudmind.core_api.UpdateCommentResp - (*SetCommentStateResp)(nil), // 143: cloudmind.core_api.SetCommentStateResp - (*SetCommentAttrsResp)(nil), // 144: cloudmind.core_api.SetCommentAttrsResp - (*GetCommentSubjectResp)(nil), // 145: cloudmind.core_api.GetCommentSubjectResp - (*CreateCommentSubjectResp)(nil), // 146: cloudmind.core_api.CreateCommentSubjectResp - (*UpdateCommentSubjectResp)(nil), // 147: cloudmind.core_api.UpdateCommentSubjectResp - (*DeleteCommentSubjectResp)(nil), // 148: cloudmind.core_api.DeleteCommentSubjectResp - (*SetCommentSubjectStateResp)(nil), // 149: cloudmind.core_api.SetCommentSubjectStateResp - (*SetCommentSubjectAttrsResp)(nil), // 150: cloudmind.core_api.SetCommentSubjectAttrsResp - (*CreateLabelResp)(nil), // 151: cloudmind.core_api.CreateLabelResp - (*DeleteLabelResp)(nil), // 152: cloudmind.core_api.DeleteLabelResp - (*UpdateLabelResp)(nil), // 153: cloudmind.core_api.UpdateLabelResp - (*GetLabelsResp)(nil), // 154: cloudmind.core_api.GetLabelsResp - (*GetLabelResp)(nil), // 155: cloudmind.core_api.GetLabelResp - (*GetLabelsInBatchResp)(nil), // 156: cloudmind.core_api.GetLabelsInBatchResp - (*CreateObjectResp)(nil), // 157: cloudmind.core_api.CreateObjectResp - (*CreateObjectsResp)(nil), // 158: cloudmind.core_api.CreateObjectsResp - (*DeleteObjectResp)(nil), // 159: cloudmind.core_api.DeleteObjectResp - (*GetObjectsResp)(nil), // 160: cloudmind.core_api.GetObjectsResp - (*UpdateObjectResp)(nil), // 161: cloudmind.core_api.UpdateObjectResp + (*GetPostsReq)(nil), // 31: cloudmind.core_api.GetPostsReq + (*GetPostReq)(nil), // 32: cloudmind.core_api.GetPostReq + (*GetRecommendByUserReq)(nil), // 33: cloudmind.core_api.GetRecommendByUserReq + (*GetRecommendByItemReq)(nil), // 34: cloudmind.core_api.GetRecommendByItemReq + (*CreateFeedBackReq)(nil), // 35: cloudmind.core_api.CreateFeedBackReq + (*GetPopularRecommendReq)(nil), // 36: cloudmind.core_api.GetPopularRecommendReq + (*GetLatestRecommendReq)(nil), // 37: cloudmind.core_api.GetLatestRecommendReq + (*CreateProductReq)(nil), // 38: cloudmind.core_api.CreateProductReq + (*GetProductReq)(nil), // 39: cloudmind.core_api.GetProductReq + (*GetProductsReq)(nil), // 40: cloudmind.core_api.GetProductsReq + (*UpdateProductReq)(nil), // 41: cloudmind.core_api.UpdateProductReq + (*DeleteProductReq)(nil), // 42: cloudmind.core_api.DeleteProductReq + (*RegisterReq)(nil), // 43: cloudmind.core_api.RegisterReq + (*CheckEmailReq)(nil), // 44: cloudmind.core_api.CheckEmailReq + (*EmailLoginReq)(nil), // 45: cloudmind.core_api.EmailLoginReq + (*GithubLoginReq)(nil), // 46: cloudmind.core_api.GithubLoginReq + (*GiteeLoginReq)(nil), // 47: cloudmind.core_api.GiteeLoginReq + (*RefreshTokenReq)(nil), // 48: cloudmind.core_api.RefreshTokenReq + (*SendEmailReq)(nil), // 49: cloudmind.core_api.SendEmailReq + (*SetPasswordByEmailReq)(nil), // 50: cloudmind.core_api.SetPasswordByEmailReq + (*SetPasswordByPasswordReq)(nil), // 51: cloudmind.core_api.SetPasswordByPasswordReq + (*CreateRelationReq)(nil), // 52: cloudmind.core_api.CreateRelationReq + (*GetFromRelationsReq)(nil), // 53: cloudmind.core_api.GetFromRelationsReq + (*GetToRelationsReq)(nil), // 54: cloudmind.core_api.GetToRelationsReq + (*GetRelationReq)(nil), // 55: cloudmind.core_api.GetRelationReq + (*DeleteRelationReq)(nil), // 56: cloudmind.core_api.DeleteRelationReq + (*GetNotificationsReq)(nil), // 57: cloudmind.core_api.GetNotificationsReq + (*GetNotificationCountReq)(nil), // 58: cloudmind.core_api.GetNotificationCountReq + (*DeleteNotificationsReq)(nil), // 59: cloudmind.core_api.DeleteNotificationsReq + (*UpdateNotificationsReq)(nil), // 60: cloudmind.core_api.UpdateNotificationsReq + (*CreateCommentReq)(nil), // 61: cloudmind.core_api.CreateCommentReq + (*GetCommentReq)(nil), // 62: cloudmind.core_api.GetCommentReq + (*GetCommentsReq)(nil), // 63: cloudmind.core_api.GetCommentsReq + (*DeleteCommentReq)(nil), // 64: cloudmind.core_api.DeleteCommentReq + (*UpdateCommentReq)(nil), // 65: cloudmind.core_api.UpdateCommentReq + (*SetCommentStateReq)(nil), // 66: cloudmind.core_api.SetCommentStateReq + (*SetCommentAttrsReq)(nil), // 67: cloudmind.core_api.SetCommentAttrsReq + (*GetCommentSubjectReq)(nil), // 68: cloudmind.core_api.GetCommentSubjectReq + (*CreateCommentSubjectReq)(nil), // 69: cloudmind.core_api.CreateCommentSubjectReq + (*UpdateCommentSubjectReq)(nil), // 70: cloudmind.core_api.UpdateCommentSubjectReq + (*DeleteCommentSubjectReq)(nil), // 71: cloudmind.core_api.DeleteCommentSubjectReq + (*SetCommentSubjectStateReq)(nil), // 72: cloudmind.core_api.SetCommentSubjectStateReq + (*SetCommentSubjectAttrsReq)(nil), // 73: cloudmind.core_api.SetCommentSubjectAttrsReq + (*CreateLabelReq)(nil), // 74: cloudmind.core_api.CreateLabelReq + (*DeleteLabelReq)(nil), // 75: cloudmind.core_api.DeleteLabelReq + (*UpdateLabelReq)(nil), // 76: cloudmind.core_api.UpdateLabelReq + (*GetLabelsReq)(nil), // 77: cloudmind.core_api.GetLabelsReq + (*GetLabelReq)(nil), // 78: cloudmind.core_api.GetLabelReq + (*GetLabelsInBatchReq)(nil), // 79: cloudmind.core_api.GetLabelsInBatchReq + (*CreateObjectReq)(nil), // 80: cloudmind.core_api.CreateObjectReq + (*CreateObjectsReq)(nil), // 81: cloudmind.core_api.CreateObjectsReq + (*DeleteObjectReq)(nil), // 82: cloudmind.core_api.DeleteObjectReq + (*GetObjectsReq)(nil), // 83: cloudmind.core_api.GetObjectsReq + (*UpdateObjectReq)(nil), // 84: cloudmind.core_api.UpdateObjectReq + (*UpdateUserResp)(nil), // 85: cloudmind.core_api.UpdateUserResp + (*SearchUserResp)(nil), // 86: cloudmind.core_api.SearchUserResp + (*GetUserResp)(nil), // 87: cloudmind.core_api.GetUserResp + (*GetUserDetailResp)(nil), // 88: cloudmind.core_api.GetUserDetailResp + (*AskUploadAvatarResp)(nil), // 89: cloudmind.core_api.AskUploadAvatarResp + (*GetPublicFilesResp)(nil), // 90: cloudmind.core_api.GetPublicFilesResp + (*GetPrivateFileResp)(nil), // 91: cloudmind.core_api.GetPrivateFileResp + (*GetPrivateFilesResp)(nil), // 92: cloudmind.core_api.GetPrivateFilesResp + (*GetRecycleBinFilesResp)(nil), // 93: cloudmind.core_api.GetRecycleBinFilesResp + (*GetFileBySharingCodeResp)(nil), // 94: cloudmind.core_api.GetFileBySharingCodeResp + (*CreateFileResp)(nil), // 95: cloudmind.core_api.CreateFileResp + (*UpdateFileResp)(nil), // 96: cloudmind.core_api.UpdateFileResp + (*MoveFileResp)(nil), // 97: cloudmind.core_api.MoveFileResp + (*SaveFileToPrivateSpaceResp)(nil), // 98: cloudmind.core_api.SaveFileToPrivateSpaceResp + (*AddFileToPublicSpaceResp)(nil), // 99: cloudmind.core_api.AddFileToPublicSpaceResp + (*DeleteFileResp)(nil), // 100: cloudmind.core_api.DeleteFileResp + (*RecoverRecycleBinFileResp)(nil), // 101: cloudmind.core_api.RecoverRecycleBinFileResp + (*CreateZoneResp)(nil), // 102: cloudmind.core_api.CreateZoneResp + (*UpdateZoneResp)(nil), // 103: cloudmind.core_api.UpdateZoneResp + (*GetZoneResp)(nil), // 104: cloudmind.core_api.GetZoneResp + (*DeleteZoneResp)(nil), // 105: cloudmind.core_api.DeleteZoneResp + (*CreateShareCodeResp)(nil), // 106: cloudmind.core_api.CreateShareCodeResp + (*GetShareListResp)(nil), // 107: cloudmind.core_api.GetShareListResp + (*DeleteShareCodeResp)(nil), // 108: cloudmind.core_api.DeleteShareCodeResp + (*ParsingShareCodeResp)(nil), // 109: cloudmind.core_api.ParsingShareCodeResp + (*AskUploadFileResp)(nil), // 110: cloudmind.core_api.AskUploadFileResp + (*AskDownloadFileResp)(nil), // 111: cloudmind.core_api.AskDownloadFileResp + (*CreatePostResp)(nil), // 112: cloudmind.core_api.CreatePostResp + (*DeletePostResp)(nil), // 113: cloudmind.core_api.DeletePostResp + (*UpdatePostResp)(nil), // 114: cloudmind.core_api.UpdatePostResp + (*GetPostsResp)(nil), // 115: cloudmind.core_api.GetPostsResp + (*GetPostResp)(nil), // 116: cloudmind.core_api.GetPostResp + (*GetRecommendByUserResp)(nil), // 117: cloudmind.core_api.GetRecommendByUserResp + (*GetRecommendByItemResp)(nil), // 118: cloudmind.core_api.GetRecommendByItemResp + (*CreateFeedBackResp)(nil), // 119: cloudmind.core_api.CreateFeedBackResp + (*GetPopularRecommendResp)(nil), // 120: cloudmind.core_api.GetPopularRecommendResp + (*GetLatestRecommendResp)(nil), // 121: cloudmind.core_api.GetLatestRecommendResp + (*CreateProductResp)(nil), // 122: cloudmind.core_api.CreateProductResp + (*GetProductResp)(nil), // 123: cloudmind.core_api.GetProductResp + (*GetProductsResp)(nil), // 124: cloudmind.core_api.GetProductsResp + (*UpdateProductResp)(nil), // 125: cloudmind.core_api.UpdateProductResp + (*DeleteProductResp)(nil), // 126: cloudmind.core_api.DeleteProductResp + (*RegisterResp)(nil), // 127: cloudmind.core_api.RegisterResp + (*CheckEmailResp)(nil), // 128: cloudmind.core_api.CheckEmailResp + (*EmailLoginResp)(nil), // 129: cloudmind.core_api.EmailLoginResp + (*GithubLoginResp)(nil), // 130: cloudmind.core_api.GithubLoginResp + (*GiteeLoginResp)(nil), // 131: cloudmind.core_api.GiteeLoginResp + (*RefreshTokenResp)(nil), // 132: cloudmind.core_api.RefreshTokenResp + (*SendEmailResp)(nil), // 133: cloudmind.core_api.SendEmailResp + (*SetPasswordByEmailResp)(nil), // 134: cloudmind.core_api.SetPasswordByEmailResp + (*CreateRelationResp)(nil), // 135: cloudmind.core_api.CreateRelationResp + (*GetFromRelationsResp)(nil), // 136: cloudmind.core_api.GetFromRelationsResp + (*GetToRelationsResp)(nil), // 137: cloudmind.core_api.GetToRelationsResp + (*GetRelationResp)(nil), // 138: cloudmind.core_api.GetRelationResp + (*DeleteRelationResp)(nil), // 139: cloudmind.core_api.DeleteRelationResp + (*GetNotificationsResp)(nil), // 140: cloudmind.core_api.GetNotificationsResp + (*GetNotificationCountResp)(nil), // 141: cloudmind.core_api.GetNotificationCountResp + (*DeleteNotificationsResp)(nil), // 142: cloudmind.core_api.DeleteNotificationsResp + (*UpdateNotificationsResp)(nil), // 143: cloudmind.core_api.UpdateNotificationsResp + (*CreateCommentResp)(nil), // 144: cloudmind.core_api.CreateCommentResp + (*GetCommentResp)(nil), // 145: cloudmind.core_api.GetCommentResp + (*GetCommentsResp)(nil), // 146: cloudmind.core_api.GetCommentsResp + (*DeleteCommentResp)(nil), // 147: cloudmind.core_api.DeleteCommentResp + (*UpdateCommentResp)(nil), // 148: cloudmind.core_api.UpdateCommentResp + (*SetCommentStateResp)(nil), // 149: cloudmind.core_api.SetCommentStateResp + (*SetCommentAttrsResp)(nil), // 150: cloudmind.core_api.SetCommentAttrsResp + (*GetCommentSubjectResp)(nil), // 151: cloudmind.core_api.GetCommentSubjectResp + (*CreateCommentSubjectResp)(nil), // 152: cloudmind.core_api.CreateCommentSubjectResp + (*UpdateCommentSubjectResp)(nil), // 153: cloudmind.core_api.UpdateCommentSubjectResp + (*DeleteCommentSubjectResp)(nil), // 154: cloudmind.core_api.DeleteCommentSubjectResp + (*SetCommentSubjectStateResp)(nil), // 155: cloudmind.core_api.SetCommentSubjectStateResp + (*SetCommentSubjectAttrsResp)(nil), // 156: cloudmind.core_api.SetCommentSubjectAttrsResp + (*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 + (*CreateObjectResp)(nil), // 163: cloudmind.core_api.CreateObjectResp + (*CreateObjectsResp)(nil), // 164: cloudmind.core_api.CreateObjectsResp + (*DeleteObjectResp)(nil), // 165: cloudmind.core_api.DeleteObjectResp + (*GetObjectsResp)(nil), // 166: cloudmind.core_api.GetObjectsResp + (*UpdateObjectResp)(nil), // 167: cloudmind.core_api.UpdateObjectResp } var file_cloudmind_core_api_core_api_proto_depIdxs = []int32{ 0, // 0: cloudmind.core_api.content.UpdateUser:input_type -> cloudmind.core_api.UpdateUserReq @@ -896,142 +922,148 @@ var file_cloudmind_core_api_core_api_proto_depIdxs = []int32{ 28, // 29: cloudmind.core_api.content.CreatePost:input_type -> cloudmind.core_api.CreatePostReq 29, // 30: cloudmind.core_api.content.DeletePost:input_type -> cloudmind.core_api.DeletePostReq 30, // 31: cloudmind.core_api.content.UpdatePost:input_type -> cloudmind.core_api.UpdatePostReq - 31, // 32: cloudmind.core_api.content.GetOtherPosts:input_type -> cloudmind.core_api.GetOtherPostsReq - 32, // 33: cloudmind.core_api.content.GetOtherPost:input_type -> cloudmind.core_api.GetOtherPostReq - 33, // 34: cloudmind.core_api.content.GetOwnPosts:input_type -> cloudmind.core_api.GetOwnPostsReq - 34, // 35: cloudmind.core_api.content.GetOwnPost:input_type -> cloudmind.core_api.GetOwnPostReq - 35, // 36: cloudmind.core_api.content.GetRecommendByUser:input_type -> cloudmind.core_api.GetRecommendByUserReq - 36, // 37: cloudmind.core_api.content.GetRecommendByItem:input_type -> cloudmind.core_api.GetRecommendByItemReq - 37, // 38: cloudmind.core_api.content.CreateFeedBack:input_type -> cloudmind.core_api.CreateFeedBackReq - 38, // 39: cloudmind.core_api.content.GetPopularRecommend:input_type -> cloudmind.core_api.GetPopularRecommendReq - 39, // 40: cloudmind.core_api.content.GetLatestRecommend:input_type -> cloudmind.core_api.GetLatestRecommendReq - 40, // 41: cloudmind.core_api.auth.Register:input_type -> cloudmind.core_api.RegisterReq - 41, // 42: cloudmind.core_api.auth.CheckEmail:input_type -> cloudmind.core_api.CheckEmailReq - 42, // 43: cloudmind.core_api.auth.EmailLogin:input_type -> cloudmind.core_api.EmailLoginReq - 43, // 44: cloudmind.core_api.auth.GithubLogin:input_type -> cloudmind.core_api.GithubLoginReq - 44, // 45: cloudmind.core_api.auth.GiteeLogin:input_type -> cloudmind.core_api.GiteeLoginReq - 45, // 46: cloudmind.core_api.auth.RefreshToken:input_type -> cloudmind.core_api.RefreshTokenReq - 46, // 47: cloudmind.core_api.auth.SendEmail:input_type -> cloudmind.core_api.SendEmailReq - 47, // 48: cloudmind.core_api.auth.SetPasswordByEmail:input_type -> cloudmind.core_api.SetPasswordByEmailReq - 48, // 49: cloudmind.core_api.auth.SetPasswordByPassword:input_type -> cloudmind.core_api.SetPasswordByPasswordReq - 49, // 50: cloudmind.core_api.relation.CreateRelation:input_type -> cloudmind.core_api.CreateRelationReq - 50, // 51: cloudmind.core_api.relation.GetFromRelations:input_type -> cloudmind.core_api.GetFromRelationsReq - 51, // 52: cloudmind.core_api.relation.GetToRelations:input_type -> cloudmind.core_api.GetToRelationsReq - 52, // 53: cloudmind.core_api.relation.GetRelation:input_type -> cloudmind.core_api.GetRelationReq - 53, // 54: cloudmind.core_api.relation.DeleteRelation:input_type -> cloudmind.core_api.DeleteRelationReq - 54, // 55: cloudmind.core_api.system.GetNotifications:input_type -> cloudmind.core_api.GetNotificationsReq - 55, // 56: cloudmind.core_api.system.GetNotificationCount:input_type -> cloudmind.core_api.GetNotificationCountReq - 56, // 57: cloudmind.core_api.system.DeleteNotifications:input_type -> cloudmind.core_api.DeleteNotificationsReq - 57, // 58: cloudmind.core_api.system.UpdateNotifications:input_type -> cloudmind.core_api.UpdateNotificationsReq - 58, // 59: cloudmind.core_api.comment.CreateComment:input_type -> cloudmind.core_api.CreateCommentReq - 59, // 60: cloudmind.core_api.comment.GetComment:input_type -> cloudmind.core_api.GetCommentReq - 60, // 61: cloudmind.core_api.comment.GetComments:input_type -> cloudmind.core_api.GetCommentsReq - 61, // 62: cloudmind.core_api.comment.DeleteComment:input_type -> cloudmind.core_api.DeleteCommentReq - 62, // 63: cloudmind.core_api.comment.UpdateComment:input_type -> cloudmind.core_api.UpdateCommentReq - 63, // 64: cloudmind.core_api.comment.SetCommentState:input_type -> cloudmind.core_api.SetCommentStateReq - 64, // 65: cloudmind.core_api.comment.SetCommentAttrs:input_type -> cloudmind.core_api.SetCommentAttrsReq - 65, // 66: cloudmind.core_api.comment.GetCommentSubject:input_type -> cloudmind.core_api.GetCommentSubjectReq - 66, // 67: cloudmind.core_api.comment.CreateCommentSubject:input_type -> cloudmind.core_api.CreateCommentSubjectReq - 67, // 68: cloudmind.core_api.comment.UpdateCommentSubject:input_type -> cloudmind.core_api.UpdateCommentSubjectReq - 68, // 69: cloudmind.core_api.comment.DeleteCommentSubject:input_type -> cloudmind.core_api.DeleteCommentSubjectReq - 69, // 70: cloudmind.core_api.comment.SetCommentSubjectState:input_type -> cloudmind.core_api.SetCommentSubjectStateReq - 70, // 71: cloudmind.core_api.comment.SetCommentSubjectAttrs:input_type -> cloudmind.core_api.SetCommentSubjectAttrsReq - 71, // 72: cloudmind.core_api.label.CreateLabel:input_type -> cloudmind.core_api.CreateLabelReq - 72, // 73: cloudmind.core_api.label.DeleteLabel:input_type -> cloudmind.core_api.DeleteLabelReq - 73, // 74: cloudmind.core_api.label.UpdateLabel:input_type -> cloudmind.core_api.UpdateLabelReq - 74, // 75: cloudmind.core_api.label.GetLabels:input_type -> cloudmind.core_api.GetLabelsReq - 75, // 76: cloudmind.core_api.label.GetLabel:input_type -> cloudmind.core_api.GetLabelReq - 76, // 77: cloudmind.core_api.label.GetLabelsInBatch:input_type -> cloudmind.core_api.GetLabelsInBatchReq - 77, // 78: cloudmind.core_api.label.CreateObject:input_type -> cloudmind.core_api.CreateObjectReq - 78, // 79: cloudmind.core_api.label.CreateObjects:input_type -> cloudmind.core_api.CreateObjectsReq - 79, // 80: cloudmind.core_api.label.DeleteObject:input_type -> cloudmind.core_api.DeleteObjectReq - 80, // 81: cloudmind.core_api.label.GetObjects:input_type -> cloudmind.core_api.GetObjectsReq - 81, // 82: cloudmind.core_api.label.UpdateObject:input_type -> cloudmind.core_api.UpdateObjectReq - 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.AskUploadAvatar:output_type -> cloudmind.core_api.AskUploadAvatarResp - 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 - 15, // 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.RecoverRecycleBinFile:output_type -> cloudmind.core_api.RecoverRecycleBinFileResp - 99, // 102: cloudmind.core_api.content.CreateZone:output_type -> cloudmind.core_api.CreateZoneResp - 100, // 103: cloudmind.core_api.content.UpdateZone:output_type -> cloudmind.core_api.UpdateZoneResp - 101, // 104: cloudmind.core_api.content.GetZone:output_type -> cloudmind.core_api.GetZoneResp - 102, // 105: cloudmind.core_api.content.DeleteZone:output_type -> cloudmind.core_api.DeleteZoneResp - 103, // 106: cloudmind.core_api.content.CreateShareCode:output_type -> cloudmind.core_api.CreateShareCodeResp - 104, // 107: cloudmind.core_api.content.GetShareList:output_type -> cloudmind.core_api.GetShareListResp - 105, // 108: cloudmind.core_api.content.DeleteShareCode:output_type -> cloudmind.core_api.DeleteShareCodeResp - 106, // 109: cloudmind.core_api.content.ParsingShareCode:output_type -> cloudmind.core_api.ParsingShareCodeResp - 107, // 110: cloudmind.core_api.content.AskUploadFile:output_type -> cloudmind.core_api.AskUploadFileResp - 108, // 111: cloudmind.core_api.content.AskDownloadFile:output_type -> cloudmind.core_api.AskDownloadFileResp - 109, // 112: cloudmind.core_api.content.CreatePost:output_type -> cloudmind.core_api.CreatePostResp - 110, // 113: cloudmind.core_api.content.DeletePost:output_type -> cloudmind.core_api.DeletePostResp - 111, // 114: cloudmind.core_api.content.UpdatePost:output_type -> cloudmind.core_api.UpdatePostResp - 112, // 115: cloudmind.core_api.content.GetOtherPosts:output_type -> cloudmind.core_api.GetOtherPostsResp - 113, // 116: cloudmind.core_api.content.GetOtherPost:output_type -> cloudmind.core_api.GetOtherPostResp - 114, // 117: cloudmind.core_api.content.GetOwnPosts:output_type -> cloudmind.core_api.GetOwnPostsResp - 115, // 118: cloudmind.core_api.content.GetOwnPost:output_type -> cloudmind.core_api.GetOwnPostResp - 116, // 119: cloudmind.core_api.content.GetRecommendByUser:output_type -> cloudmind.core_api.GetRecommendByUserResp - 117, // 120: cloudmind.core_api.content.GetRecommendByItem:output_type -> cloudmind.core_api.GetRecommendByItemResp - 118, // 121: cloudmind.core_api.content.CreateFeedBack:output_type -> cloudmind.core_api.CreateFeedBackResp - 119, // 122: cloudmind.core_api.content.GetPopularRecommend:output_type -> cloudmind.core_api.GetPopularRecommendResp - 120, // 123: cloudmind.core_api.content.GetLatestRecommend:output_type -> cloudmind.core_api.GetLatestRecommendResp - 121, // 124: cloudmind.core_api.auth.Register:output_type -> cloudmind.core_api.RegisterResp - 122, // 125: cloudmind.core_api.auth.CheckEmail:output_type -> cloudmind.core_api.CheckEmailResp - 123, // 126: cloudmind.core_api.auth.EmailLogin:output_type -> cloudmind.core_api.EmailLoginResp - 124, // 127: cloudmind.core_api.auth.GithubLogin:output_type -> cloudmind.core_api.GithubLoginResp - 125, // 128: cloudmind.core_api.auth.GiteeLogin:output_type -> cloudmind.core_api.GiteeLoginResp - 126, // 129: cloudmind.core_api.auth.RefreshToken:output_type -> cloudmind.core_api.RefreshTokenResp - 127, // 130: cloudmind.core_api.auth.SendEmail:output_type -> cloudmind.core_api.SendEmailResp - 128, // 131: cloudmind.core_api.auth.SetPasswordByEmail:output_type -> cloudmind.core_api.SetPasswordByEmailResp - 48, // 132: cloudmind.core_api.auth.SetPasswordByPassword:output_type -> cloudmind.core_api.SetPasswordByPasswordReq - 129, // 133: cloudmind.core_api.relation.CreateRelation:output_type -> cloudmind.core_api.CreateRelationResp - 130, // 134: cloudmind.core_api.relation.GetFromRelations:output_type -> cloudmind.core_api.GetFromRelationsResp - 131, // 135: cloudmind.core_api.relation.GetToRelations:output_type -> cloudmind.core_api.GetToRelationsResp - 132, // 136: cloudmind.core_api.relation.GetRelation:output_type -> cloudmind.core_api.GetRelationResp - 133, // 137: cloudmind.core_api.relation.DeleteRelation:output_type -> cloudmind.core_api.DeleteRelationResp - 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.UpdateNotifications:output_type -> cloudmind.core_api.UpdateNotificationsResp - 138, // 142: cloudmind.core_api.comment.CreateComment:output_type -> cloudmind.core_api.CreateCommentResp - 139, // 143: cloudmind.core_api.comment.GetComment:output_type -> cloudmind.core_api.GetCommentResp - 140, // 144: cloudmind.core_api.comment.GetComments:output_type -> cloudmind.core_api.GetCommentsResp - 141, // 145: cloudmind.core_api.comment.DeleteComment:output_type -> cloudmind.core_api.DeleteCommentResp - 142, // 146: cloudmind.core_api.comment.UpdateComment:output_type -> cloudmind.core_api.UpdateCommentResp - 143, // 147: cloudmind.core_api.comment.SetCommentState:output_type -> cloudmind.core_api.SetCommentStateResp - 144, // 148: cloudmind.core_api.comment.SetCommentAttrs:output_type -> cloudmind.core_api.SetCommentAttrsResp - 145, // 149: cloudmind.core_api.comment.GetCommentSubject:output_type -> cloudmind.core_api.GetCommentSubjectResp - 146, // 150: cloudmind.core_api.comment.CreateCommentSubject:output_type -> cloudmind.core_api.CreateCommentSubjectResp - 147, // 151: cloudmind.core_api.comment.UpdateCommentSubject:output_type -> cloudmind.core_api.UpdateCommentSubjectResp - 148, // 152: cloudmind.core_api.comment.DeleteCommentSubject:output_type -> cloudmind.core_api.DeleteCommentSubjectResp - 149, // 153: cloudmind.core_api.comment.SetCommentSubjectState:output_type -> cloudmind.core_api.SetCommentSubjectStateResp - 150, // 154: cloudmind.core_api.comment.SetCommentSubjectAttrs:output_type -> cloudmind.core_api.SetCommentSubjectAttrsResp - 151, // 155: cloudmind.core_api.label.CreateLabel:output_type -> cloudmind.core_api.CreateLabelResp - 152, // 156: cloudmind.core_api.label.DeleteLabel:output_type -> cloudmind.core_api.DeleteLabelResp - 153, // 157: cloudmind.core_api.label.UpdateLabel:output_type -> cloudmind.core_api.UpdateLabelResp - 154, // 158: cloudmind.core_api.label.GetLabels:output_type -> cloudmind.core_api.GetLabelsResp - 155, // 159: cloudmind.core_api.label.GetLabel:output_type -> cloudmind.core_api.GetLabelResp - 156, // 160: cloudmind.core_api.label.GetLabelsInBatch:output_type -> cloudmind.core_api.GetLabelsInBatchResp - 157, // 161: cloudmind.core_api.label.CreateObject:output_type -> cloudmind.core_api.CreateObjectResp - 158, // 162: cloudmind.core_api.label.CreateObjects:output_type -> cloudmind.core_api.CreateObjectsResp - 159, // 163: cloudmind.core_api.label.DeleteObject:output_type -> cloudmind.core_api.DeleteObjectResp - 160, // 164: cloudmind.core_api.label.GetObjects:output_type -> cloudmind.core_api.GetObjectsResp - 161, // 165: cloudmind.core_api.label.UpdateObject:output_type -> cloudmind.core_api.UpdateObjectResp - 83, // [83:166] is the sub-list for method output_type - 0, // [0:83] is the sub-list for method input_type + 31, // 32: cloudmind.core_api.content.GetPosts:input_type -> cloudmind.core_api.GetPostsReq + 32, // 33: cloudmind.core_api.content.GetPost:input_type -> cloudmind.core_api.GetPostReq + 33, // 34: cloudmind.core_api.content.GetRecommendByUser:input_type -> cloudmind.core_api.GetRecommendByUserReq + 34, // 35: cloudmind.core_api.content.GetRecommendByItem:input_type -> cloudmind.core_api.GetRecommendByItemReq + 35, // 36: cloudmind.core_api.content.CreateFeedBack:input_type -> cloudmind.core_api.CreateFeedBackReq + 36, // 37: cloudmind.core_api.content.GetPopularRecommend:input_type -> cloudmind.core_api.GetPopularRecommendReq + 37, // 38: cloudmind.core_api.content.GetLatestRecommend:input_type -> cloudmind.core_api.GetLatestRecommendReq + 38, // 39: cloudmind.core_api.content.CreateProduct:input_type -> cloudmind.core_api.CreateProductReq + 39, // 40: cloudmind.core_api.content.GetProduct:input_type -> cloudmind.core_api.GetProductReq + 40, // 41: cloudmind.core_api.content.GetProducts:input_type -> cloudmind.core_api.GetProductsReq + 41, // 42: cloudmind.core_api.content.UpdateProduct:input_type -> cloudmind.core_api.UpdateProductReq + 42, // 43: cloudmind.core_api.content.DeleteProduct:input_type -> cloudmind.core_api.DeleteProductReq + 43, // 44: cloudmind.core_api.auth.Register:input_type -> cloudmind.core_api.RegisterReq + 44, // 45: cloudmind.core_api.auth.CheckEmail:input_type -> cloudmind.core_api.CheckEmailReq + 45, // 46: cloudmind.core_api.auth.EmailLogin:input_type -> cloudmind.core_api.EmailLoginReq + 46, // 47: cloudmind.core_api.auth.GithubLogin:input_type -> cloudmind.core_api.GithubLoginReq + 47, // 48: cloudmind.core_api.auth.GiteeLogin:input_type -> cloudmind.core_api.GiteeLoginReq + 48, // 49: cloudmind.core_api.auth.RefreshToken:input_type -> cloudmind.core_api.RefreshTokenReq + 49, // 50: cloudmind.core_api.auth.SendEmail:input_type -> cloudmind.core_api.SendEmailReq + 50, // 51: cloudmind.core_api.auth.SetPasswordByEmail:input_type -> cloudmind.core_api.SetPasswordByEmailReq + 51, // 52: cloudmind.core_api.auth.SetPasswordByPassword:input_type -> cloudmind.core_api.SetPasswordByPasswordReq + 52, // 53: cloudmind.core_api.relation.CreateRelation:input_type -> cloudmind.core_api.CreateRelationReq + 53, // 54: cloudmind.core_api.relation.GetFromRelations:input_type -> cloudmind.core_api.GetFromRelationsReq + 54, // 55: cloudmind.core_api.relation.GetToRelations:input_type -> cloudmind.core_api.GetToRelationsReq + 55, // 56: cloudmind.core_api.relation.GetRelation:input_type -> cloudmind.core_api.GetRelationReq + 56, // 57: cloudmind.core_api.relation.DeleteRelation:input_type -> cloudmind.core_api.DeleteRelationReq + 57, // 58: cloudmind.core_api.system.GetNotifications:input_type -> cloudmind.core_api.GetNotificationsReq + 58, // 59: cloudmind.core_api.system.GetNotificationCount:input_type -> cloudmind.core_api.GetNotificationCountReq + 59, // 60: cloudmind.core_api.system.DeleteNotifications:input_type -> cloudmind.core_api.DeleteNotificationsReq + 60, // 61: cloudmind.core_api.system.UpdateNotifications:input_type -> cloudmind.core_api.UpdateNotificationsReq + 61, // 62: cloudmind.core_api.comment.CreateComment:input_type -> cloudmind.core_api.CreateCommentReq + 62, // 63: cloudmind.core_api.comment.GetComment:input_type -> cloudmind.core_api.GetCommentReq + 63, // 64: cloudmind.core_api.comment.GetComments:input_type -> cloudmind.core_api.GetCommentsReq + 64, // 65: cloudmind.core_api.comment.DeleteComment:input_type -> cloudmind.core_api.DeleteCommentReq + 65, // 66: cloudmind.core_api.comment.UpdateComment:input_type -> cloudmind.core_api.UpdateCommentReq + 66, // 67: cloudmind.core_api.comment.SetCommentState:input_type -> cloudmind.core_api.SetCommentStateReq + 67, // 68: cloudmind.core_api.comment.SetCommentAttrs:input_type -> cloudmind.core_api.SetCommentAttrsReq + 68, // 69: cloudmind.core_api.comment.GetCommentSubject:input_type -> cloudmind.core_api.GetCommentSubjectReq + 69, // 70: cloudmind.core_api.comment.CreateCommentSubject:input_type -> cloudmind.core_api.CreateCommentSubjectReq + 70, // 71: cloudmind.core_api.comment.UpdateCommentSubject:input_type -> cloudmind.core_api.UpdateCommentSubjectReq + 71, // 72: cloudmind.core_api.comment.DeleteCommentSubject:input_type -> cloudmind.core_api.DeleteCommentSubjectReq + 72, // 73: cloudmind.core_api.comment.SetCommentSubjectState:input_type -> cloudmind.core_api.SetCommentSubjectStateReq + 73, // 74: cloudmind.core_api.comment.SetCommentSubjectAttrs:input_type -> cloudmind.core_api.SetCommentSubjectAttrsReq + 74, // 75: cloudmind.core_api.label.CreateLabel:input_type -> cloudmind.core_api.CreateLabelReq + 75, // 76: cloudmind.core_api.label.DeleteLabel:input_type -> cloudmind.core_api.DeleteLabelReq + 76, // 77: cloudmind.core_api.label.UpdateLabel:input_type -> cloudmind.core_api.UpdateLabelReq + 77, // 78: cloudmind.core_api.label.GetLabels:input_type -> cloudmind.core_api.GetLabelsReq + 78, // 79: cloudmind.core_api.label.GetLabel:input_type -> cloudmind.core_api.GetLabelReq + 79, // 80: cloudmind.core_api.label.GetLabelsInBatch:input_type -> cloudmind.core_api.GetLabelsInBatchReq + 80, // 81: cloudmind.core_api.label.CreateObject:input_type -> cloudmind.core_api.CreateObjectReq + 81, // 82: cloudmind.core_api.label.CreateObjects:input_type -> cloudmind.core_api.CreateObjectsReq + 82, // 83: cloudmind.core_api.label.DeleteObject:input_type -> cloudmind.core_api.DeleteObjectReq + 83, // 84: cloudmind.core_api.label.GetObjects:input_type -> cloudmind.core_api.GetObjectsReq + 84, // 85: cloudmind.core_api.label.UpdateObject:input_type -> cloudmind.core_api.UpdateObjectReq + 85, // 86: cloudmind.core_api.content.UpdateUser:output_type -> cloudmind.core_api.UpdateUserResp + 86, // 87: cloudmind.core_api.content.SearchUser:output_type -> cloudmind.core_api.SearchUserResp + 87, // 88: cloudmind.core_api.content.GetUser:output_type -> cloudmind.core_api.GetUserResp + 88, // 89: cloudmind.core_api.content.GetUserDetail:output_type -> cloudmind.core_api.GetUserDetailResp + 89, // 90: cloudmind.core_api.content.AskUploadAvatar:output_type -> cloudmind.core_api.AskUploadAvatarResp + 90, // 91: cloudmind.core_api.content.GetPublicFile:output_type -> cloudmind.core_api.GetPublicFilesResp + 91, // 92: cloudmind.core_api.content.GetPrivateFile:output_type -> cloudmind.core_api.GetPrivateFileResp + 92, // 93: cloudmind.core_api.content.GetPrivateFiles:output_type -> cloudmind.core_api.GetPrivateFilesResp + 90, // 94: cloudmind.core_api.content.GetPublicFiles:output_type -> cloudmind.core_api.GetPublicFilesResp + 93, // 95: cloudmind.core_api.content.GetRecycleBinFiles:output_type -> cloudmind.core_api.GetRecycleBinFilesResp + 94, // 96: cloudmind.core_api.content.GetFileBySharingCode:output_type -> cloudmind.core_api.GetFileBySharingCodeResp + 95, // 97: cloudmind.core_api.content.CreateFile:output_type -> cloudmind.core_api.CreateFileResp + 96, // 98: cloudmind.core_api.content.UpdateFile:output_type -> cloudmind.core_api.UpdateFileResp + 97, // 99: cloudmind.core_api.content.MoveFile:output_type -> cloudmind.core_api.MoveFileResp + 98, // 100: cloudmind.core_api.content.SaveFileToPrivateSpace:output_type -> cloudmind.core_api.SaveFileToPrivateSpaceResp + 99, // 101: cloudmind.core_api.content.AddFileToPublicSpace:output_type -> cloudmind.core_api.AddFileToPublicSpaceResp + 15, // 102: cloudmind.core_api.content.CompletelyRemoveFile:output_type -> cloudmind.core_api.CompletelyRemoveFileReq + 100, // 103: cloudmind.core_api.content.DeleteFile:output_type -> cloudmind.core_api.DeleteFileResp + 101, // 104: cloudmind.core_api.content.RecoverRecycleBinFile:output_type -> cloudmind.core_api.RecoverRecycleBinFileResp + 102, // 105: cloudmind.core_api.content.CreateZone:output_type -> cloudmind.core_api.CreateZoneResp + 103, // 106: cloudmind.core_api.content.UpdateZone:output_type -> cloudmind.core_api.UpdateZoneResp + 104, // 107: cloudmind.core_api.content.GetZone:output_type -> cloudmind.core_api.GetZoneResp + 105, // 108: cloudmind.core_api.content.DeleteZone:output_type -> cloudmind.core_api.DeleteZoneResp + 106, // 109: cloudmind.core_api.content.CreateShareCode:output_type -> cloudmind.core_api.CreateShareCodeResp + 107, // 110: cloudmind.core_api.content.GetShareList:output_type -> cloudmind.core_api.GetShareListResp + 108, // 111: cloudmind.core_api.content.DeleteShareCode:output_type -> cloudmind.core_api.DeleteShareCodeResp + 109, // 112: cloudmind.core_api.content.ParsingShareCode:output_type -> cloudmind.core_api.ParsingShareCodeResp + 110, // 113: cloudmind.core_api.content.AskUploadFile:output_type -> cloudmind.core_api.AskUploadFileResp + 111, // 114: cloudmind.core_api.content.AskDownloadFile:output_type -> cloudmind.core_api.AskDownloadFileResp + 112, // 115: cloudmind.core_api.content.CreatePost:output_type -> cloudmind.core_api.CreatePostResp + 113, // 116: cloudmind.core_api.content.DeletePost:output_type -> cloudmind.core_api.DeletePostResp + 114, // 117: cloudmind.core_api.content.UpdatePost:output_type -> cloudmind.core_api.UpdatePostResp + 115, // 118: cloudmind.core_api.content.GetPosts:output_type -> cloudmind.core_api.GetPostsResp + 116, // 119: cloudmind.core_api.content.GetPost:output_type -> cloudmind.core_api.GetPostResp + 117, // 120: cloudmind.core_api.content.GetRecommendByUser:output_type -> cloudmind.core_api.GetRecommendByUserResp + 118, // 121: cloudmind.core_api.content.GetRecommendByItem:output_type -> cloudmind.core_api.GetRecommendByItemResp + 119, // 122: cloudmind.core_api.content.CreateFeedBack:output_type -> cloudmind.core_api.CreateFeedBackResp + 120, // 123: cloudmind.core_api.content.GetPopularRecommend:output_type -> cloudmind.core_api.GetPopularRecommendResp + 121, // 124: cloudmind.core_api.content.GetLatestRecommend:output_type -> cloudmind.core_api.GetLatestRecommendResp + 122, // 125: cloudmind.core_api.content.CreateProduct:output_type -> cloudmind.core_api.CreateProductResp + 123, // 126: cloudmind.core_api.content.GetProduct:output_type -> cloudmind.core_api.GetProductResp + 124, // 127: cloudmind.core_api.content.GetProducts:output_type -> cloudmind.core_api.GetProductsResp + 125, // 128: cloudmind.core_api.content.UpdateProduct:output_type -> cloudmind.core_api.UpdateProductResp + 126, // 129: cloudmind.core_api.content.DeleteProduct:output_type -> cloudmind.core_api.DeleteProductResp + 127, // 130: cloudmind.core_api.auth.Register:output_type -> cloudmind.core_api.RegisterResp + 128, // 131: cloudmind.core_api.auth.CheckEmail:output_type -> cloudmind.core_api.CheckEmailResp + 129, // 132: cloudmind.core_api.auth.EmailLogin:output_type -> cloudmind.core_api.EmailLoginResp + 130, // 133: cloudmind.core_api.auth.GithubLogin:output_type -> cloudmind.core_api.GithubLoginResp + 131, // 134: cloudmind.core_api.auth.GiteeLogin:output_type -> cloudmind.core_api.GiteeLoginResp + 132, // 135: cloudmind.core_api.auth.RefreshToken:output_type -> cloudmind.core_api.RefreshTokenResp + 133, // 136: cloudmind.core_api.auth.SendEmail:output_type -> cloudmind.core_api.SendEmailResp + 134, // 137: cloudmind.core_api.auth.SetPasswordByEmail:output_type -> cloudmind.core_api.SetPasswordByEmailResp + 51, // 138: cloudmind.core_api.auth.SetPasswordByPassword:output_type -> cloudmind.core_api.SetPasswordByPasswordReq + 135, // 139: cloudmind.core_api.relation.CreateRelation:output_type -> cloudmind.core_api.CreateRelationResp + 136, // 140: cloudmind.core_api.relation.GetFromRelations:output_type -> cloudmind.core_api.GetFromRelationsResp + 137, // 141: cloudmind.core_api.relation.GetToRelations:output_type -> cloudmind.core_api.GetToRelationsResp + 138, // 142: cloudmind.core_api.relation.GetRelation:output_type -> cloudmind.core_api.GetRelationResp + 139, // 143: cloudmind.core_api.relation.DeleteRelation:output_type -> cloudmind.core_api.DeleteRelationResp + 140, // 144: cloudmind.core_api.system.GetNotifications:output_type -> cloudmind.core_api.GetNotificationsResp + 141, // 145: cloudmind.core_api.system.GetNotificationCount:output_type -> cloudmind.core_api.GetNotificationCountResp + 142, // 146: cloudmind.core_api.system.DeleteNotifications:output_type -> cloudmind.core_api.DeleteNotificationsResp + 143, // 147: cloudmind.core_api.system.UpdateNotifications:output_type -> cloudmind.core_api.UpdateNotificationsResp + 144, // 148: cloudmind.core_api.comment.CreateComment:output_type -> cloudmind.core_api.CreateCommentResp + 145, // 149: cloudmind.core_api.comment.GetComment:output_type -> cloudmind.core_api.GetCommentResp + 146, // 150: cloudmind.core_api.comment.GetComments:output_type -> cloudmind.core_api.GetCommentsResp + 147, // 151: cloudmind.core_api.comment.DeleteComment:output_type -> cloudmind.core_api.DeleteCommentResp + 148, // 152: cloudmind.core_api.comment.UpdateComment:output_type -> cloudmind.core_api.UpdateCommentResp + 149, // 153: cloudmind.core_api.comment.SetCommentState:output_type -> cloudmind.core_api.SetCommentStateResp + 150, // 154: cloudmind.core_api.comment.SetCommentAttrs:output_type -> cloudmind.core_api.SetCommentAttrsResp + 151, // 155: cloudmind.core_api.comment.GetCommentSubject:output_type -> cloudmind.core_api.GetCommentSubjectResp + 152, // 156: cloudmind.core_api.comment.CreateCommentSubject:output_type -> cloudmind.core_api.CreateCommentSubjectResp + 153, // 157: cloudmind.core_api.comment.UpdateCommentSubject:output_type -> cloudmind.core_api.UpdateCommentSubjectResp + 154, // 158: cloudmind.core_api.comment.DeleteCommentSubject:output_type -> cloudmind.core_api.DeleteCommentSubjectResp + 155, // 159: cloudmind.core_api.comment.SetCommentSubjectState:output_type -> cloudmind.core_api.SetCommentSubjectStateResp + 156, // 160: cloudmind.core_api.comment.SetCommentSubjectAttrs:output_type -> cloudmind.core_api.SetCommentSubjectAttrsResp + 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.label.CreateObject:output_type -> cloudmind.core_api.CreateObjectResp + 164, // 168: cloudmind.core_api.label.CreateObjects:output_type -> cloudmind.core_api.CreateObjectsResp + 165, // 169: cloudmind.core_api.label.DeleteObject:output_type -> cloudmind.core_api.DeleteObjectResp + 166, // 170: cloudmind.core_api.label.GetObjects:output_type -> cloudmind.core_api.GetObjectsResp + 167, // 171: cloudmind.core_api.label.UpdateObject:output_type -> cloudmind.core_api.UpdateObjectResp + 86, // [86:172] is the sub-list for method output_type + 0, // [0:86] 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 @@ -1103,15 +1135,18 @@ type Content interface { CreatePost(ctx context.Context, req *CreatePostReq) (res *CreatePostResp, err error) DeletePost(ctx context.Context, req *DeletePostReq) (res *DeletePostResp, err error) UpdatePost(ctx context.Context, req *UpdatePostReq) (res *UpdatePostResp, err error) - GetOtherPosts(ctx context.Context, req *GetOtherPostsReq) (res *GetOtherPostsResp, err error) - GetOtherPost(ctx context.Context, req *GetOtherPostReq) (res *GetOtherPostResp, err error) - GetOwnPosts(ctx context.Context, req *GetOwnPostsReq) (res *GetOwnPostsResp, err error) - GetOwnPost(ctx context.Context, req *GetOwnPostReq) (res *GetOwnPostResp, err error) + GetPosts(ctx context.Context, req *GetPostsReq) (res *GetPostsResp, err error) + GetPost(ctx context.Context, req *GetPostReq) (res *GetPostResp, err error) GetRecommendByUser(ctx context.Context, req *GetRecommendByUserReq) (res *GetRecommendByUserResp, err error) GetRecommendByItem(ctx context.Context, req *GetRecommendByItemReq) (res *GetRecommendByItemResp, err error) CreateFeedBack(ctx context.Context, req *CreateFeedBackReq) (res *CreateFeedBackResp, err error) GetPopularRecommend(ctx context.Context, req *GetPopularRecommendReq) (res *GetPopularRecommendResp, err error) GetLatestRecommend(ctx context.Context, req *GetLatestRecommendReq) (res *GetLatestRecommendResp, err error) + CreateProduct(ctx context.Context, req *CreateProductReq) (res *CreateProductResp, err error) + GetProduct(ctx context.Context, req *GetProductReq) (res *GetProductResp, err error) + GetProducts(ctx context.Context, req *GetProductsReq) (res *GetProductsResp, err error) + UpdateProduct(ctx context.Context, req *UpdateProductReq) (res *UpdateProductResp, err error) + DeleteProduct(ctx context.Context, req *DeleteProductReq) (res *DeleteProductResp, err error) } type Auth interface { diff --git a/kitex_gen/cloudmind/core_api/relation.pb.fast.go b/kitex_gen/cloudmind/core_api/relation.pb.fast.go index bad96cc..80300ac 100644 --- a/kitex_gen/cloudmind/core_api/relation.pb.fast.go +++ b/kitex_gen/cloudmind/core_api/relation.pb.fast.go @@ -199,7 +199,7 @@ func (x *GetFromRelationsResp) fastReadField1(buf []byte, _type int8) (offset in } func (x *GetFromRelationsResp) fastReadField2(buf []byte, _type int8) (offset int, err error) { - var v OwnPost + var v Post offset, err = fastpb.ReadMessage(buf, _type, &v) if err != nil { return offset, err diff --git a/kitex_gen/cloudmind/core_api/relation.pb.go b/kitex_gen/cloudmind/core_api/relation.pb.go index 16a4f71..cf7e8e8 100644 --- a/kitex_gen/cloudmind/core_api/relation.pb.go +++ b/kitex_gen/cloudmind/core_api/relation.pb.go @@ -215,8 +215,8 @@ type GetFromRelationsResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` - Posts []*OwnPost `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts,omitempty"` + Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` + Posts []*Post `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts,omitempty"` } func (x *GetFromRelationsResp) Reset() { @@ -258,7 +258,7 @@ func (x *GetFromRelationsResp) GetUsers() []*User { return nil } -func (x *GetFromRelationsResp) GetPosts() []*OwnPost { +func (x *GetFromRelationsResp) GetPosts() []*Post { if x != nil { return x.Posts } @@ -663,58 +663,58 @@ var file_cloudmind_core_api_relation_proto_rawDesc = []byte{ 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, 0x79, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x22, 0x76, 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, 0x31, 0x0a, 0x05, 0x70, - 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6f, + 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, - 0x4f, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22, 0xec, - 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 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, 0x3a, 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, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 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, 0x94, 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, 0x1a, - 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 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, 0x16, - 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 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, 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, 0x63, 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, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, - 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 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, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x6c, 0x2d, - 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, - 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, + 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 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, 0x3a, 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, 0x52, + 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 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, 0x94, 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, 0x1a, 0x0a, 0x08, 0x66, + 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 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, 0x16, 0x0a, 0x06, 0x74, + 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x6f, 0x54, + 0x79, 0x70, 0x65, 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, 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, 0x63, 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, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 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, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x6c, 0x2d, 0x67, 0x65, 0x6e, + 0x2d, 0x67, 0x6f, 0x2f, 0x6b, 0x69, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x65, 0x6e, 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 ( @@ -744,14 +744,14 @@ var file_cloudmind_core_api_relation_proto_goTypes = []interface{}{ (TargetType)(0), // 10: cloudmind.core_api.TargetType (RelationType)(0), // 11: cloudmind.core_api.RelationType (*User)(nil), // 12: cloudmind.core_api.User - (*OwnPost)(nil), // 13: cloudmind.core_api.OwnPost + (*Post)(nil), // 13: cloudmind.core_api.Post } var file_cloudmind_core_api_relation_proto_depIdxs = []int32{ 10, // 0: cloudmind.core_api.CreateRelationReq.toType:type_name -> cloudmind.core_api.TargetType 11, // 1: cloudmind.core_api.CreateRelationReq.relationType:type_name -> cloudmind.core_api.RelationType 10, // 2: cloudmind.core_api.GetFromRelationsReq.toType:type_name -> cloudmind.core_api.TargetType 12, // 3: cloudmind.core_api.GetFromRelationsResp.users:type_name -> cloudmind.core_api.User - 13, // 4: cloudmind.core_api.GetFromRelationsResp.posts:type_name -> cloudmind.core_api.OwnPost + 13, // 4: cloudmind.core_api.GetFromRelationsResp.posts:type_name -> cloudmind.core_api.Post 10, // 5: cloudmind.core_api.GetToRelationsReq.fromType:type_name -> cloudmind.core_api.TargetType 12, // 6: cloudmind.core_api.GetToRelationsResp.users:type_name -> cloudmind.core_api.User 7, // [7:7] is the sub-list for method output_type