Browse Source

区县查询添加

WH01243 1 year ago
parent
commit
a0f9f1241b

+ 5 - 4
jyBXBase/api/bxbase.api

@@ -91,6 +91,7 @@ type (
 		SearchMode      int    `json:"searchMode,optional"`      // 搜索模式:0:精准搜索;1:模糊搜索
 		SearchMode      int    `json:"searchMode,optional"`      // 搜索模式:0:精准搜索;1:模糊搜索
 		WordsMode       int    `json:"wordsMode,optional"`       // 搜索关键词模式;默认0:包含所有,1:包含任意
 		WordsMode       int    `json:"wordsMode,optional"`       // 搜索关键词模式;默认0:包含所有,1:包含任意
 		AdditionalWords string `json:"additionalWords,optional"` // 关键词:附加关键词(副:五组,每组最多15个字符)
 		AdditionalWords string `json:"additionalWords,optional"` // 关键词:附加关键词(副:五组,每组最多15个字符)
+		RegionMap       string `json:"regionMap,optional"`       //区域
 	}
 	}
 	//首页最新招标信息
 	//首页最新招标信息
 	NewestReq {
 	NewestReq {
@@ -154,7 +155,7 @@ service bxbase-api {
 	//添加标签
 	//添加标签
 	@handler AddLabel
 	@handler AddLabel
 	post /jybx/base/addLabel (AddLabel) returns(CommonRes)
 	post /jybx/base/addLabel (AddLabel) returns(CommonRes)
-	
+
 	//展示筛选条件
 	//展示筛选条件
 	@handler ShowSearchScreen
 	@handler ShowSearchScreen
 	post /jybx/base/showSearchScreen (ShowSearchScreen) returns(CommonRes)
 	post /jybx/base/showSearchScreen (ShowSearchScreen) returns(CommonRes)
@@ -167,13 +168,13 @@ service bxbase-api {
 	//删除筛选条件
 	//删除筛选条件
 	@handler DelSearchScreen
 	@handler DelSearchScreen
 	post /jybx/base/delSearchScreen (DelSearchScreen) returns(CommonRes)
 	post /jybx/base/delSearchScreen (DelSearchScreen) returns(CommonRes)
-	
+
 	//首页最新招标信息
 	//首页最新招标信息
 	@handler NewestBidding
 	@handler NewestBidding
 	post /jybx/base/newest (NewestReq) returns(CommonRes)
 	post /jybx/base/newest (NewestReq) returns(CommonRes)
-	
+
 	@doc "收录情况"
 	@doc "收录情况"
 	@handler Included
 	@handler Included
 	post /jybx/base/included (IncludedReq) returns(CommonRes)
 	post /jybx/base/included (IncludedReq) returns(CommonRes)
-	
+
 }
 }

+ 1 - 0
jyBXBase/api/internal/logic/addSearchScreenLogic.go

@@ -52,6 +52,7 @@ func (l *AddSearchScreenLogic) AddSearchScreen(req *types.AddSearchScreen) (resp
 		SearchMode:      int64(req.SearchMode),
 		SearchMode:      int64(req.SearchMode),
 		WordsMode:       int64(req.WordsMode),
 		WordsMode:       int64(req.WordsMode),
 		AdditionalWords: req.AdditionalWords,
 		AdditionalWords: req.AdditionalWords,
+		RegionMap:       req.RegionMap,
 	})
 	})
 	if err0 != nil {
 	if err0 != nil {
 		return &types.CommonRes{
 		return &types.CommonRes{

+ 1 - 0
jyBXBase/api/internal/logic/checkSearchScreenLogic.go

@@ -51,6 +51,7 @@ func (l *CheckSearchScreenLogic) CheckSearchScreen(req *types.AddSearchScreen) (
 		SearchMode:      int64(req.SearchMode),
 		SearchMode:      int64(req.SearchMode),
 		WordsMode:       int64(req.WordsMode),
 		WordsMode:       int64(req.WordsMode),
 		AdditionalWords: req.AdditionalWords,
 		AdditionalWords: req.AdditionalWords,
+		RegionMap:       req.RegionMap,
 	})
 	})
 	if err0 != nil {
 	if err0 != nil {
 		return &types.CommonRes{
 		return &types.CommonRes{

+ 1 - 0
jyBXBase/api/internal/types/types.go

@@ -82,6 +82,7 @@ type AddSearchScreen struct {
 	SearchMode      int    `json:"searchMode,optional"`      // 搜索模式:0:精准搜索;1:模糊搜索
 	SearchMode      int    `json:"searchMode,optional"`      // 搜索模式:0:精准搜索;1:模糊搜索
 	WordsMode       int    `json:"wordsMode,optional"`       // 搜索关键词模式;默认0:包含所有,1:包含任意
 	WordsMode       int    `json:"wordsMode,optional"`       // 搜索关键词模式;默认0:包含所有,1:包含任意
 	AdditionalWords string `json:"additionalWords,optional"` // 关键词:附加关键词(副:五组,每组最多15个字符)
 	AdditionalWords string `json:"additionalWords,optional"` // 关键词:附加关键词(副:五组,每组最多15个字符)
+	RegionMap       string `json:"regionMap,optional"`       //区域
 }
 }
 
 
 type NewestReq struct {
 type NewestReq struct {

+ 2 - 0
jyBXBase/rpc/bxbase.proto

@@ -140,6 +140,7 @@ message ListSearchRes{
   int64  searchMode = 21;//搜索模式:0:精准搜索;1:模糊搜索
   int64  searchMode = 21;//搜索模式:0:精准搜索;1:模糊搜索
   int64  wordsMode = 22;// 搜索关键词模式;默认0:包含所有,1:包含任意
   int64  wordsMode = 22;// 搜索关键词模式;默认0:包含所有,1:包含任意
   string additionalWords = 23;//关键词:附加关键词(副:五组,每组最多15个字符)
   string additionalWords = 23;//关键词:附加关键词(副:五组,每组最多15个字符)
+  string district = 24;       //地区
 }
 }
 
 
 message AddSearchReq{
 message AddSearchReq{
@@ -165,6 +166,7 @@ message AddSearchReq{
   int64  searchMode = 20;//搜索模式:0:精准搜索;1:模糊搜索
   int64  searchMode = 20;//搜索模式:0:精准搜索;1:模糊搜索
   int64  wordsMode = 21;// 搜索关键词模式;默认0:包含所有,1:包含任意
   int64  wordsMode = 21;// 搜索关键词模式;默认0:包含所有,1:包含任意
   string additionalWords = 22;//关键词:附加关键词(副:五组,每组最多15个字符)
   string additionalWords = 22;//关键词:附加关键词(副:五组,每组最多15个字符)
+  string RegionMap = 23;       //地区
 }
 }
 
 
 message DelSearchReq{
 message DelSearchReq{

+ 1 - 0
jyBXBase/rpc/internal/logic/addsearchlogic.go

@@ -76,6 +76,7 @@ func (l *AddSearchLogic) AddSearch(in *bxbase.AddSearchReq) (res *bxbase.CommonR
 	newData["searchMode"] = in.SearchMode
 	newData["searchMode"] = in.SearchMode
 	newData["wordsMode"] = in.WordsMode
 	newData["wordsMode"] = in.WordsMode
 	newData["additionalWords"] = in.AdditionalWords
 	newData["additionalWords"] = in.AdditionalWords
+	newData["regionMap"] = in.RegionMap
 	IC.Mgo.Save("search_condition", newData)
 	IC.Mgo.Save("search_condition", newData)
 	return
 	return
 }
 }

+ 12 - 0
jyBXBase/rpc/internal/logic/checksearchlogic.go

@@ -6,6 +6,7 @@ import (
 	"context"
 	"context"
 	"crypto/md5"
 	"crypto/md5"
 	"fmt"
 	"fmt"
+	"github.com/gogf/gf/v2/util/gconv"
 	IC "jyBXBase/rpc/init"
 	IC "jyBXBase/rpc/init"
 	"jyBXBase/rpc/util"
 	"jyBXBase/rpc/util"
 	"log"
 	"log"
@@ -65,6 +66,17 @@ func (l *CheckSearchLogic) CheckSearch(in *bxbase.AddSearchReq) (res *bxbase.Che
 	in.BuyerClass = ValueSort(in.BuyerClass)
 	in.BuyerClass = ValueSort(in.BuyerClass)
 	in.NotKey = ValueSort(in.NotKey)
 	in.NotKey = ValueSort(in.NotKey)
 	in.AdditionalWords = ValueSort(in.AdditionalWords)
 	in.AdditionalWords = ValueSort(in.AdditionalWords)
+	//区域处理成字符串数组
+	areaArr := []string{}
+	for k, v := range gconv.Map(in.RegionMap) {
+		for k1, v1 := range gconv.Map(v) {
+			for _, v2 := range gconv.Strings(v1) {
+				areaArr = append(areaArr, fmt.Sprintf("%s_%s_%s", k, k1, v2))
+			}
+		}
+	}
+	log.Println(areaArr)
+	in.RegionMap = ValueSort(strings.Join(areaArr, ","))
 	// 搜索分组为 1-招标采购公告时 2 超前项目
 	// 搜索分组为 1-招标采购公告时 2 超前项目
 	// 当所选择的信息类型是全选时,需要处理成和全部时一样的空串
 	// 当所选择的信息类型是全选时,需要处理成和全部时一样的空串
 	switch in.SearchGroup {
 	switch in.SearchGroup {

+ 1 - 0
jyBXBase/rpc/internal/logic/showsearchlogic.go

@@ -80,6 +80,7 @@ func (l *ShowSearchLogic) ShowSearch(in *bxbase.ShowSearchReq) (res *bxbase.Show
 			}
 			}
 			listSearch.Publishtime = publishTime
 			listSearch.Publishtime = publishTime
 			listSearch.Area = common.InterfaceToStr(vlu["area"])
 			listSearch.Area = common.InterfaceToStr(vlu["area"])
+			listSearch.District = common.InterfaceToStr(vlu["district"])
 			listSearch.City = common.InterfaceToStr(vlu["city"])
 			listSearch.City = common.InterfaceToStr(vlu["city"])
 			listSearch.Subtype = common.InterfaceToStr(vlu["subtype"])
 			listSearch.Subtype = common.InterfaceToStr(vlu["subtype"])
 			listSearch.Minprice = common.InterfaceToStr(vlu["min_price"])
 			listSearch.Minprice = common.InterfaceToStr(vlu["min_price"])

+ 1 - 1
jyBXBase/rpc/internal/server/bxbaseserver.go

@@ -1,4 +1,4 @@
-// Code generated by goctl. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT.
 // Source: bxbase.proto
 // Source: bxbase.proto
 
 
 package server
 package server

+ 270 - 251
jyBXBase/rpc/type/bxbase/bxbase.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.28.0
-// 	protoc        v3.19.4
+// 	protoc-gen-go v1.31.0
+// 	protoc        v3.15.1
 // source: bxbase.proto
 // source: bxbase.proto
 
 
 package bxbase
 package bxbase
@@ -1342,6 +1342,7 @@ type ListSearchRes struct {
 	SearchMode      int64  `protobuf:"varint,21,opt,name=searchMode,proto3" json:"searchMode,omitempty"`          //搜索模式:0:精准搜索;1:模糊搜索
 	SearchMode      int64  `protobuf:"varint,21,opt,name=searchMode,proto3" json:"searchMode,omitempty"`          //搜索模式:0:精准搜索;1:模糊搜索
 	WordsMode       int64  `protobuf:"varint,22,opt,name=wordsMode,proto3" json:"wordsMode,omitempty"`            // 搜索关键词模式;默认0:包含所有,1:包含任意
 	WordsMode       int64  `protobuf:"varint,22,opt,name=wordsMode,proto3" json:"wordsMode,omitempty"`            // 搜索关键词模式;默认0:包含所有,1:包含任意
 	AdditionalWords string `protobuf:"bytes,23,opt,name=additionalWords,proto3" json:"additionalWords,omitempty"` //关键词:附加关键词(副:五组,每组最多15个字符)
 	AdditionalWords string `protobuf:"bytes,23,opt,name=additionalWords,proto3" json:"additionalWords,omitempty"` //关键词:附加关键词(副:五组,每组最多15个字符)
+	District        string `protobuf:"bytes,24,opt,name=district,proto3" json:"district,omitempty"`               //地区
 }
 }
 
 
 func (x *ListSearchRes) Reset() {
 func (x *ListSearchRes) Reset() {
@@ -1537,6 +1538,13 @@ func (x *ListSearchRes) GetAdditionalWords() string {
 	return ""
 	return ""
 }
 }
 
 
+func (x *ListSearchRes) GetDistrict() string {
+	if x != nil {
+		return x.District
+	}
+	return ""
+}
+
 type AddSearchReq struct {
 type AddSearchReq struct {
 	state         protoimpl.MessageState
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	sizeCache     protoimpl.SizeCache
@@ -1564,6 +1572,7 @@ type AddSearchReq struct {
 	SearchMode      int64  `protobuf:"varint,20,opt,name=searchMode,proto3" json:"searchMode,omitempty"`          //搜索模式:0:精准搜索;1:模糊搜索
 	SearchMode      int64  `protobuf:"varint,20,opt,name=searchMode,proto3" json:"searchMode,omitempty"`          //搜索模式:0:精准搜索;1:模糊搜索
 	WordsMode       int64  `protobuf:"varint,21,opt,name=wordsMode,proto3" json:"wordsMode,omitempty"`            // 搜索关键词模式;默认0:包含所有,1:包含任意
 	WordsMode       int64  `protobuf:"varint,21,opt,name=wordsMode,proto3" json:"wordsMode,omitempty"`            // 搜索关键词模式;默认0:包含所有,1:包含任意
 	AdditionalWords string `protobuf:"bytes,22,opt,name=additionalWords,proto3" json:"additionalWords,omitempty"` //关键词:附加关键词(副:五组,每组最多15个字符)
 	AdditionalWords string `protobuf:"bytes,22,opt,name=additionalWords,proto3" json:"additionalWords,omitempty"` //关键词:附加关键词(副:五组,每组最多15个字符)
+	RegionMap       string `protobuf:"bytes,23,opt,name=RegionMap,proto3" json:"RegionMap,omitempty"`             //地区
 }
 }
 
 
 func (x *AddSearchReq) Reset() {
 func (x *AddSearchReq) Reset() {
@@ -1752,6 +1761,13 @@ func (x *AddSearchReq) GetAdditionalWords() string {
 	return ""
 	return ""
 }
 }
 
 
+func (x *AddSearchReq) GetRegionMap() string {
+	if x != nil {
+		return x.RegionMap
+	}
+	return ""
+}
+
 type DelSearchReq struct {
 type DelSearchReq struct {
 	state         protoimpl.MessageState
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	sizeCache     protoimpl.SizeCache
@@ -1958,7 +1974,7 @@ func (x *NewestBiddingReq) GetPhone() string {
 	return ""
 	return ""
 }
 }
 
 
-//首页最新招标信息Resp
+// 首页最新招标信息Resp
 type NewsetBiddingResp struct {
 type NewsetBiddingResp struct {
 	state         protoimpl.MessageState
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	sizeCache     protoimpl.SizeCache
@@ -2030,7 +2046,7 @@ type NewsetBidding struct {
 	Count   int64         `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`     //数据长度
 	Count   int64         `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`     //数据长度
 	List    []*NewestList `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`        //数据
 	List    []*NewestList `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`        //数据
 	SubFlag string        `protobuf:"bytes,3,opt,name=subFlag,proto3" json:"subFlag,omitempty"`  //当前用户订阅信息属性:m:大会员;e:商机管理;v:VIP;f:普通用户
 	SubFlag string        `protobuf:"bytes,3,opt,name=subFlag,proto3" json:"subFlag,omitempty"`  //当前用户订阅信息属性:m:大会员;e:商机管理;v:VIP;f:普通用户
-	ShowTip int64         `protobuf:"varint,4,opt,name=showTip,proto3" json:"showTip,omitempty"` // 是否展示引导用户设置关键词
+	ShowTip int64         `protobuf:"varint,4,opt,name=showTip,proto3" json:"showTip,omitempty"` // 是否展示引导用户设置关键词 1-不显示 2-显示
 }
 }
 
 
 func (x *NewsetBidding) Reset() {
 func (x *NewsetBidding) Reset() {
@@ -2093,7 +2109,6 @@ func (x *NewsetBidding) GetShowTip() int64 {
 	return 0
 	return 0
 }
 }
 
 
-//
 type NewestList struct {
 type NewestList struct {
 	state         protoimpl.MessageState
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	sizeCache     protoimpl.SizeCache
@@ -2261,7 +2276,7 @@ func (x *NewestList) GetSpiderCode() string {
 	return ""
 	return ""
 }
 }
 
 
-//公共返回
+// 公共返回
 type CommonRes struct {
 type CommonRes struct {
 	state         protoimpl.MessageState
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	sizeCache     protoimpl.SizeCache
@@ -2317,7 +2332,7 @@ func (x *CommonRes) GetErrMsg() string {
 	return ""
 	return ""
 }
 }
 
 
-//公共返回
+// 公共返回
 type CheckRes struct {
 type CheckRes struct {
 	state         protoimpl.MessageState
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	sizeCache     protoimpl.SizeCache
@@ -2428,7 +2443,7 @@ func (x *AppIdReq) GetAppId() string {
 	return ""
 	return ""
 }
 }
 
 
-//剑鱼网站收录情况返回参数
+// 剑鱼网站收录情况返回参数
 type IncludedResp struct {
 type IncludedResp struct {
 	state         protoimpl.MessageState
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	sizeCache     protoimpl.SizeCache
@@ -3025,7 +3040,7 @@ var file_bxbase_proto_rawDesc = []byte{
 	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x28, 0x0a,
 	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x28, 0x0a,
 	0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x78,
 	0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x78,
 	0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65,
 	0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65,
-	0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x99, 0x05, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74,
+	0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb5, 0x05, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74,
 	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65,
 	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65,
 	0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
 	0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
 	0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
 	0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
@@ -3067,249 +3082,253 @@ var file_bxbase_proto_rawDesc = []byte{
 	0x77, 0x6f, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64,
 	0x77, 0x6f, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64,
 	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x17, 0x20, 0x01,
 	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x17, 0x20, 0x01,
 	0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x6f,
 	0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x6f,
-	0x72, 0x64, 0x73, 0x22, 0x82, 0x05, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63,
-	0x68, 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,
-	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
-	0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b,
-	0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12,
-	0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72,
-	0x65, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08,
-	0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
-	0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x50,
-	0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x50,
-	0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79,
-	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79,
-	0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65,
-	0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x0b,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73,
-	0x12, 0x20, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x42, 0x75, 0x79, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18,
-	0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x42, 0x75, 0x79, 0x65, 0x72, 0x54,
-	0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x54,
-	0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x57, 0x69, 0x6e,
-	0x6e, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78,
-	0x69, 0x73, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65,
-	0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x4b, 0x65, 0x79,
-	0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x12,
-	0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69,
-	0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x05, 0x69, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49,
-	0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x20,
-	0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x13, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70,
-	0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x14,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65,
-	0x12, 0x1c, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x15, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28,
-	0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x64,
-	0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
-	0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x4c, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x53,
-	0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72,
-	0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
-	0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x22, 0xfc, 0x02, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x65, 0x73,
-	0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63,
-	0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12,
-	0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
-	0x03, 0x52, 0x08, 0x69, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x61,
-	0x70, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49,
-	0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
-	0x52, 0x05, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73,
-	0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x55,
-	0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f,
-	0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x65, 0x6e, 0x74,
-	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73,
-	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
-	0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a,
-	0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
-	0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a,
-	0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03,
-	0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d,
-	0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
-	0x6d, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65,
-	0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
-	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0c,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
-	0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
-	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x71, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42,
-	0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72,
-	0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72,
-	0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x28,
-	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62,
-	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69,
-	0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x77,
-	0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
-	0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
-	0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11,
-	0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73,
-	0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x46, 0x6c,
-	0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x46, 0x6c, 0x61,
-	0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01,
-	0x28, 0x03, 0x52, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x70, 0x22, 0xa6, 0x03, 0x0a, 0x0a,
-	0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72,
-	0x65, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x12,
-	0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69,
-	0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
-	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x69, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
-	0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
-	0x52, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x79, 0x65,
-	0x72, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75,
-	0x79, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x63,
-	0x68, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x74,
-	0x63, 0x68, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
-	0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x75, 0x62,
-	0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75,
-	0x73, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x75,
-	0x73, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x09, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75,
-	0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62,
-	0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x0b, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
-	0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69,
-	0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
-	0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73,
-	0x43, 0x6f, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x43, 0x6f, 0x6c,
-	0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
-	0x73, 0x69, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f,
-	0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72,
-	0x43, 0x6f, 0x64, 0x65, 0x22, 0x3f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65,
-	0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07,
-	0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
-	0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x52, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
-	0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07,
-	0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
-	0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x20, 0x0a, 0x08, 0x41, 0x70, 0x70,
-	0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x22, 0xd0, 0x07, 0x0a, 0x0c,
-	0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04,
-	0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72,
-	0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
-	0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18,
-	0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x62, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69,
-	0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x69, 0x64,
-	0x55, 0x6e, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41,
-	0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, 0x64,
-	0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72,
-	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f,
-	0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55,
-	0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
-	0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
-	0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70,
-	0x70, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
-	0x02, 0x52, 0x03, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69,
-	0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74,
-	0x12, 0x24, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e,
-	0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74,
-	0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18,
-	0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09,
-	0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x09, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x75,
-	0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0f, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70,
-	0x70, 0x65, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70,
-	0x64, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x62, 0x69, 0x64, 0x44,
-	0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x69, 0x64, 0x44,
-	0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x10, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
-	0x55, 0x6e, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70,
-	0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x12,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61,
-	0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08,
-	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08,
-	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x46,
-	0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
-	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12,
-	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65,
-	0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65,
-	0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d,
-	0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x18, 0x16, 0x20,
-	0x01, 0x28, 0x02, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61,
-	0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72,
-	0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66,
-	0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74,
-	0x12, 0x38, 0x0a, 0x17, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63,
-	0x79, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x17, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79,
-	0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x75,
-	0x73, 0x68, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x12, 0x1a,
-	0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x75,
-	0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x1b, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65,
-	0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18,
-	0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12,
-	0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1d, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x51,
-	0x0a, 0x0f, 0x53, 0x61, 0x76, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65,
-	0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70,
-	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a,
-	0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x4d, 0x6f, 0x64,
-	0x65, 0x22, 0x3d, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64,
-	0x65, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
-	0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65,
-	0x22, 0x59, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65,
-	0x52, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17,
-	0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
-	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xab, 0x05, 0x0a, 0x06,
-	0x62, 0x78, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x6c, 0x61, 0x62,
-	0x65, 0x6c, 0x12, 0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x6c, 0x61,
-	0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41,
-	0x64, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x47, 0x65,
-	0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x62,
-	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74,
-	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x47,
-	0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
-	0x12, 0x3b, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
-	0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74,
-	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c,
-	0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x35, 0x0a,
-	0x08, 0x42, 0x43, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f,
-	0x6c, 0x2e, 0x42, 0x43, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e,
-	0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f,
-	0x6e, 0x52, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x49, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63,
-	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x73, 0x43,
-	0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x62,
-	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f,
-	0x6e, 0x52, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x2e, 0x62,
-	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x62,
-	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0a,
-	0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x2e, 0x62, 0x78, 0x63,
-	0x6f, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71,
-	0x1a, 0x14, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x61,
-	0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61,
+	0x72, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18,
+	0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x22,
+	0xa0, 0x05, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 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, 0x74, 0x79, 0x70, 0x65,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08,
+	0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+	0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c,
+	0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70,
+	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72,
+	0x65, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x18,
+	0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x50,
+	0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x50,
+	0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x63, 0x65,
+	0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x63, 0x65,
+	0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a,
+	0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
+	0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b,
+	0x68, 0x61, 0x73, 0x42, 0x75, 0x79, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x42, 0x75, 0x79, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, 0x22,
+	0x0a, 0x0c, 0x68, 0x61, 0x73, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x0d,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x54,
+	0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73,
+	0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73,
+	0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69,
+	0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x14,
+	0x0a, 0x05, 0x69, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69,
+	0x6e, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x12, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65,
+	0x61, 0x72, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1e, 0x0a, 0x0a,
+	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09,
+	0x77, 0x6f, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x09, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x16, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57,
+	0x6f, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4d, 0x61,
+	0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4d,
+	0x61, 0x70, 0x22, 0x4c, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52,
+	0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
+	0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70,
+	0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64,
+	0x22, 0xfc, 0x02, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69,
+	0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53,
+	0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x73, 0x53,
+	0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65,
+	0x6e, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x49,
+	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
+	0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18,
+	0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
+	0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+	0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75,
+	0x6e, 0x74, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f,
+	0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72,
+	0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x67, 0x6f, 0x55, 0x73, 0x65,
+	0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e,
+	0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
+	0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f,
+	0x6e, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22,
+	0x71, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67,
+	0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
+	0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
+	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e,
+	0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61,
+	0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64,
+	0x64, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69,
+	0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c,
+	0x2e, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73,
+	0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x73,
+	0x68, 0x6f, 0x77, 0x54, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x68,
+	0x6f, 0x77, 0x54, 0x69, 0x70, 0x22, 0xa6, 0x03, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74,
+	0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09,
+	0x62, 0x69, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x09, 0x62, 0x69, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75,
+	0x64, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, 0x75, 0x64, 0x67,
+	0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x73, 0x73,
+	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x63, 0x6c, 0x61,
+	0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6b, 0x65, 0x79, 0x73, 0x18,
+	0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6b, 0x65, 0x79, 0x73,
+	0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18,
+	0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69,
+	0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x18, 0x08,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x12, 0x14,
+	0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
+	0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18,
+	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14,
+	0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61,
+	0x70, 0x70, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73,
+	0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78,
+	0x69, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x43, 0x6f, 0x6c, 0x18, 0x0e, 0x20,
+	0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x43, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69,
+	0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1e,
+	0x0a, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x3f,
+	0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65,
+	0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65,
+	0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73,
+	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22,
+	0x52, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65,
+	0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65,
+	0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73,
+	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12,
+	0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64,
+	0x61, 0x74, 0x61, 0x22, 0x20, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12,
+	0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+	0x41, 0x70, 0x70, 0x49, 0x64, 0x22, 0xd0, 0x07, 0x0a, 0x0c, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+	0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f,
+	0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68,
+	0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x64,
+	0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52,
+	0x03, 0x62, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x18,
+	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x24,
+	0x0a, 0x0d, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18,
+	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70,
+	0x70, 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18,
+	0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20,
+	0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74,
+	0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41,
+	0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x6f,
+	0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x10,
+	0x0a, 0x03, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x65, 0x6e, 0x74,
+	0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x6e,
+	0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64,
+	0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52,
+	0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55,
+	0x6e, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x79, 0x65, 0x72,
+	0x55, 0x6e, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69,
+	0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62,
+	0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x22,
+	0x0a, 0x0c, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x10,
+	0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61,
+	0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61,
+	0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x69,
+	0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x36,
+	0x0a, 0x16, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e,
+	0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16,
+	0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74,
+	0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e,
+	0x69, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65,
+	0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x12, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74,
+	0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41,
+	0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x66,
+	0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11,
+	0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69,
+	0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63,
+	0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x66, 0x69,
+	0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x41,
+	0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x66, 0x69, 0x65,
+	0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70,
+	0x70, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x75, 0x73, 0x68, 0x18, 0x19, 0x20, 0x01,
+	0x28, 0x02, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68,
+	0x55, 0x6e, 0x69, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68,
+	0x55, 0x6e, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74,
+	0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x75,
+	0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+	0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72,
+	0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65,
+	0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x51, 0x0a, 0x0f, 0x53, 0x61, 0x76, 0x65,
+	0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55,
+	0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65,
+	0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x3d, 0x0a, 0x0f, 0x53,
+	0x68, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16,
+	0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+	0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x0f, 0x53, 0x68,
+	0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x12, 0x19, 0x0a,
+	0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f,
+	0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73,
+	0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xab, 0x05, 0x0a, 0x06, 0x62, 0x78, 0x62, 0x61, 0x73, 0x65,
+	0x12, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x2e, 0x62,
+	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71,
+	0x1a, 0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x6c, 0x61, 0x62, 0x65,
+	0x6c, 0x52, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c,
+	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x47,
+	0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+	0x1a, 0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65,
+	0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x4c, 0x61,
+	0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f,
+	0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+	0x1a, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63,
+	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x42, 0x43, 0x41, 0x63, 0x74,
+	0x69, 0x6f, 0x6e, 0x12, 0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x43, 0x41, 0x63,
+	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e,
+	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x3e,
+	0x0a, 0x0c, 0x49, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16,
+	0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74,
+	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49,
+	0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x26,
+	0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c,
+	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c,
+	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65,
+	0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x68, 0x6f,
+	0x77, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x62, 0x78, 0x63,
+	0x6f, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73,
+	0x12, 0x32, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x13, 0x2e,
+	0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52,
+	0x65, 0x71, 0x1a, 0x10, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x52, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x61,
 	0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x53,
 	0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x53,
-	0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c,
-	0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x43, 0x68,
-	0x65, 0x63, 0x6b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f,
-	0x6c, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x0f,
-	0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x12,
-	0x32, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62,
-	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65,
-	0x71, 0x1a, 0x10, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x52, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64,
-	0x64, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x65, 0x77,
-	0x65, 0x73, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e,
-	0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64,
-	0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x08, 0x49, 0x6e, 0x63, 0x6c, 0x75,
-	0x64, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x49,
-	0x64, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x63,
-	0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x62,
-	0x78, 0x62, 0x61, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c,
+	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x44, 0x65, 0x6c,
+	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x44,
+	0x65, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x62, 0x78,
+	0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x42, 0x0a,
+	0x0d, 0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x17,
+	0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64,
+	0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e,
+	0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
+	0x70, 0x12, 0x30, 0x0a, 0x08, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x12, 0x0f, 0x2e,
+	0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x13,
+	0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52,
+	0x65, 0x73, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x62, 0x78, 0x62, 0x61, 0x73, 0x65, 0x62,
+	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 }
 
 
 var (
 var (

+ 65 - 50
jyBXBase/rpc/type/bxbase/bxbase_grpc.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // versions:
-// - protoc-gen-go-grpc v1.2.0
-// - protoc             v3.19.4
+// - protoc-gen-go-grpc v1.3.0
+// - protoc             v3.15.1
 // source: bxbase.proto
 // source: bxbase.proto
 
 
 package bxbase
 package bxbase
@@ -18,33 +18,48 @@ import (
 // Requires gRPC-Go v1.32.0 or later.
 // Requires gRPC-Go v1.32.0 or later.
 const _ = grpc.SupportPackageIsVersion7
 const _ = grpc.SupportPackageIsVersion7
 
 
+const (
+	Bxbase_Addlabel_FullMethodName       = "/bxcol.bxbase/Addlabel"
+	Bxbase_GetLabelAction_FullMethodName = "/bxcol.bxbase/GetLabelAction"
+	Bxbase_LabelAction_FullMethodName    = "/bxcol.bxbase/LabelAction"
+	Bxbase_BCAction_FullMethodName       = "/bxcol.bxbase/BCAction"
+	Bxbase_IsCollAction_FullMethodName   = "/bxcol.bxbase/IsCollAction"
+	Bxbase_List_FullMethodName           = "/bxcol.bxbase/List"
+	Bxbase_ShowSearch_FullMethodName     = "/bxcol.bxbase/ShowSearch"
+	Bxbase_AddSearch_FullMethodName      = "/bxcol.bxbase/AddSearch"
+	Bxbase_CheckSearch_FullMethodName    = "/bxcol.bxbase/CheckSearch"
+	Bxbase_DelSearch_FullMethodName      = "/bxcol.bxbase/DelSearch"
+	Bxbase_NewestBidding_FullMethodName  = "/bxcol.bxbase/NewestBidding"
+	Bxbase_Included_FullMethodName       = "/bxcol.bxbase/Included"
+)
+
 // BxbaseClient is the client API for Bxbase service.
 // BxbaseClient is the client API for Bxbase service.
 //
 //
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 type BxbaseClient interface {
 type BxbaseClient interface {
-	//新增标签
+	// 新增标签
 	Addlabel(ctx context.Context, in *AddlabelReq, opts ...grpc.CallOption) (*AddlabelRes, error)
 	Addlabel(ctx context.Context, in *AddlabelReq, opts ...grpc.CallOption) (*AddlabelRes, error)
-	//获取标签
+	// 获取标签
 	GetLabelAction(ctx context.Context, in *GetLabelActionReq, opts ...grpc.CallOption) (*GetLabelActionRes, error)
 	GetLabelAction(ctx context.Context, in *GetLabelActionReq, opts ...grpc.CallOption) (*GetLabelActionRes, error)
-	//标签新增或删除
+	// 标签新增或删除
 	LabelAction(ctx context.Context, in *LabelActionReq, opts ...grpc.CallOption) (*LabelActionRes, error)
 	LabelAction(ctx context.Context, in *LabelActionReq, opts ...grpc.CallOption) (*LabelActionRes, error)
-	//招标信息收藏
+	// 招标信息收藏
 	BCAction(ctx context.Context, in *BCActionReq, opts ...grpc.CallOption) (*LabelActionRes, error)
 	BCAction(ctx context.Context, in *BCActionReq, opts ...grpc.CallOption) (*LabelActionRes, error)
-	//招标信息是否被收藏
+	// 招标信息是否被收藏
 	IsCollAction(ctx context.Context, in *IsCollActionReq, opts ...grpc.CallOption) (*IsCollActionRes, error)
 	IsCollAction(ctx context.Context, in *IsCollActionReq, opts ...grpc.CallOption) (*IsCollActionRes, error)
-	//获取收藏列表
+	// 获取收藏列表
 	List(ctx context.Context, in *ListReq, opts ...grpc.CallOption) (*ListRes, error)
 	List(ctx context.Context, in *ListReq, opts ...grpc.CallOption) (*ListRes, error)
-	//获取筛选列表
+	// 获取筛选列表
 	ShowSearch(ctx context.Context, in *ShowSearchReq, opts ...grpc.CallOption) (*ShowSearchRes, error)
 	ShowSearch(ctx context.Context, in *ShowSearchReq, opts ...grpc.CallOption) (*ShowSearchRes, error)
-	//添加删选列表
+	// 添加删选列表
 	AddSearch(ctx context.Context, in *AddSearchReq, opts ...grpc.CallOption) (*CommonRes, error)
 	AddSearch(ctx context.Context, in *AddSearchReq, opts ...grpc.CallOption) (*CommonRes, error)
-	//修改筛选列表
+	// 修改筛选列表
 	CheckSearch(ctx context.Context, in *AddSearchReq, opts ...grpc.CallOption) (*CheckRes, error)
 	CheckSearch(ctx context.Context, in *AddSearchReq, opts ...grpc.CallOption) (*CheckRes, error)
-	//删除筛选列表
+	// 删除筛选列表
 	DelSearch(ctx context.Context, in *DelSearchReq, opts ...grpc.CallOption) (*CommonRes, error)
 	DelSearch(ctx context.Context, in *DelSearchReq, opts ...grpc.CallOption) (*CommonRes, error)
-	//首页最新招标信息
+	// 首页最新招标信息
 	NewestBidding(ctx context.Context, in *NewestBiddingReq, opts ...grpc.CallOption) (*NewsetBiddingResp, error)
 	NewestBidding(ctx context.Context, in *NewestBiddingReq, opts ...grpc.CallOption) (*NewsetBiddingResp, error)
-	//剑鱼网站收录情况
+	// 剑鱼网站收录情况
 	Included(ctx context.Context, in *AppIdReq, opts ...grpc.CallOption) (*IncludedResp, error)
 	Included(ctx context.Context, in *AppIdReq, opts ...grpc.CallOption) (*IncludedResp, error)
 }
 }
 
 
@@ -58,7 +73,7 @@ func NewBxbaseClient(cc grpc.ClientConnInterface) BxbaseClient {
 
 
 func (c *bxbaseClient) Addlabel(ctx context.Context, in *AddlabelReq, opts ...grpc.CallOption) (*AddlabelRes, error) {
 func (c *bxbaseClient) Addlabel(ctx context.Context, in *AddlabelReq, opts ...grpc.CallOption) (*AddlabelRes, error) {
 	out := new(AddlabelRes)
 	out := new(AddlabelRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/Addlabel", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_Addlabel_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -67,7 +82,7 @@ func (c *bxbaseClient) Addlabel(ctx context.Context, in *AddlabelReq, opts ...gr
 
 
 func (c *bxbaseClient) GetLabelAction(ctx context.Context, in *GetLabelActionReq, opts ...grpc.CallOption) (*GetLabelActionRes, error) {
 func (c *bxbaseClient) GetLabelAction(ctx context.Context, in *GetLabelActionReq, opts ...grpc.CallOption) (*GetLabelActionRes, error) {
 	out := new(GetLabelActionRes)
 	out := new(GetLabelActionRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/GetLabelAction", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_GetLabelAction_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -76,7 +91,7 @@ func (c *bxbaseClient) GetLabelAction(ctx context.Context, in *GetLabelActionReq
 
 
 func (c *bxbaseClient) LabelAction(ctx context.Context, in *LabelActionReq, opts ...grpc.CallOption) (*LabelActionRes, error) {
 func (c *bxbaseClient) LabelAction(ctx context.Context, in *LabelActionReq, opts ...grpc.CallOption) (*LabelActionRes, error) {
 	out := new(LabelActionRes)
 	out := new(LabelActionRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/LabelAction", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_LabelAction_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -85,7 +100,7 @@ func (c *bxbaseClient) LabelAction(ctx context.Context, in *LabelActionReq, opts
 
 
 func (c *bxbaseClient) BCAction(ctx context.Context, in *BCActionReq, opts ...grpc.CallOption) (*LabelActionRes, error) {
 func (c *bxbaseClient) BCAction(ctx context.Context, in *BCActionReq, opts ...grpc.CallOption) (*LabelActionRes, error) {
 	out := new(LabelActionRes)
 	out := new(LabelActionRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/BCAction", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_BCAction_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -94,7 +109,7 @@ func (c *bxbaseClient) BCAction(ctx context.Context, in *BCActionReq, opts ...gr
 
 
 func (c *bxbaseClient) IsCollAction(ctx context.Context, in *IsCollActionReq, opts ...grpc.CallOption) (*IsCollActionRes, error) {
 func (c *bxbaseClient) IsCollAction(ctx context.Context, in *IsCollActionReq, opts ...grpc.CallOption) (*IsCollActionRes, error) {
 	out := new(IsCollActionRes)
 	out := new(IsCollActionRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/IsCollAction", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_IsCollAction_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -103,7 +118,7 @@ func (c *bxbaseClient) IsCollAction(ctx context.Context, in *IsCollActionReq, op
 
 
 func (c *bxbaseClient) List(ctx context.Context, in *ListReq, opts ...grpc.CallOption) (*ListRes, error) {
 func (c *bxbaseClient) List(ctx context.Context, in *ListReq, opts ...grpc.CallOption) (*ListRes, error) {
 	out := new(ListRes)
 	out := new(ListRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/List", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_List_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -112,7 +127,7 @@ func (c *bxbaseClient) List(ctx context.Context, in *ListReq, opts ...grpc.CallO
 
 
 func (c *bxbaseClient) ShowSearch(ctx context.Context, in *ShowSearchReq, opts ...grpc.CallOption) (*ShowSearchRes, error) {
 func (c *bxbaseClient) ShowSearch(ctx context.Context, in *ShowSearchReq, opts ...grpc.CallOption) (*ShowSearchRes, error) {
 	out := new(ShowSearchRes)
 	out := new(ShowSearchRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/ShowSearch", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_ShowSearch_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -121,7 +136,7 @@ func (c *bxbaseClient) ShowSearch(ctx context.Context, in *ShowSearchReq, opts .
 
 
 func (c *bxbaseClient) AddSearch(ctx context.Context, in *AddSearchReq, opts ...grpc.CallOption) (*CommonRes, error) {
 func (c *bxbaseClient) AddSearch(ctx context.Context, in *AddSearchReq, opts ...grpc.CallOption) (*CommonRes, error) {
 	out := new(CommonRes)
 	out := new(CommonRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/AddSearch", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_AddSearch_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -130,7 +145,7 @@ func (c *bxbaseClient) AddSearch(ctx context.Context, in *AddSearchReq, opts ...
 
 
 func (c *bxbaseClient) CheckSearch(ctx context.Context, in *AddSearchReq, opts ...grpc.CallOption) (*CheckRes, error) {
 func (c *bxbaseClient) CheckSearch(ctx context.Context, in *AddSearchReq, opts ...grpc.CallOption) (*CheckRes, error) {
 	out := new(CheckRes)
 	out := new(CheckRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/CheckSearch", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_CheckSearch_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -139,7 +154,7 @@ func (c *bxbaseClient) CheckSearch(ctx context.Context, in *AddSearchReq, opts .
 
 
 func (c *bxbaseClient) DelSearch(ctx context.Context, in *DelSearchReq, opts ...grpc.CallOption) (*CommonRes, error) {
 func (c *bxbaseClient) DelSearch(ctx context.Context, in *DelSearchReq, opts ...grpc.CallOption) (*CommonRes, error) {
 	out := new(CommonRes)
 	out := new(CommonRes)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/DelSearch", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_DelSearch_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -148,7 +163,7 @@ func (c *bxbaseClient) DelSearch(ctx context.Context, in *DelSearchReq, opts ...
 
 
 func (c *bxbaseClient) NewestBidding(ctx context.Context, in *NewestBiddingReq, opts ...grpc.CallOption) (*NewsetBiddingResp, error) {
 func (c *bxbaseClient) NewestBidding(ctx context.Context, in *NewestBiddingReq, opts ...grpc.CallOption) (*NewsetBiddingResp, error) {
 	out := new(NewsetBiddingResp)
 	out := new(NewsetBiddingResp)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/NewestBidding", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_NewestBidding_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -157,7 +172,7 @@ func (c *bxbaseClient) NewestBidding(ctx context.Context, in *NewestBiddingReq,
 
 
 func (c *bxbaseClient) Included(ctx context.Context, in *AppIdReq, opts ...grpc.CallOption) (*IncludedResp, error) {
 func (c *bxbaseClient) Included(ctx context.Context, in *AppIdReq, opts ...grpc.CallOption) (*IncludedResp, error) {
 	out := new(IncludedResp)
 	out := new(IncludedResp)
-	err := c.cc.Invoke(ctx, "/bxcol.bxbase/Included", in, out, opts...)
+	err := c.cc.Invoke(ctx, Bxbase_Included_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -168,29 +183,29 @@ func (c *bxbaseClient) Included(ctx context.Context, in *AppIdReq, opts ...grpc.
 // All implementations must embed UnimplementedBxbaseServer
 // All implementations must embed UnimplementedBxbaseServer
 // for forward compatibility
 // for forward compatibility
 type BxbaseServer interface {
 type BxbaseServer interface {
-	//新增标签
+	// 新增标签
 	Addlabel(context.Context, *AddlabelReq) (*AddlabelRes, error)
 	Addlabel(context.Context, *AddlabelReq) (*AddlabelRes, error)
-	//获取标签
+	// 获取标签
 	GetLabelAction(context.Context, *GetLabelActionReq) (*GetLabelActionRes, error)
 	GetLabelAction(context.Context, *GetLabelActionReq) (*GetLabelActionRes, error)
-	//标签新增或删除
+	// 标签新增或删除
 	LabelAction(context.Context, *LabelActionReq) (*LabelActionRes, error)
 	LabelAction(context.Context, *LabelActionReq) (*LabelActionRes, error)
-	//招标信息收藏
+	// 招标信息收藏
 	BCAction(context.Context, *BCActionReq) (*LabelActionRes, error)
 	BCAction(context.Context, *BCActionReq) (*LabelActionRes, error)
-	//招标信息是否被收藏
+	// 招标信息是否被收藏
 	IsCollAction(context.Context, *IsCollActionReq) (*IsCollActionRes, error)
 	IsCollAction(context.Context, *IsCollActionReq) (*IsCollActionRes, error)
-	//获取收藏列表
+	// 获取收藏列表
 	List(context.Context, *ListReq) (*ListRes, error)
 	List(context.Context, *ListReq) (*ListRes, error)
-	//获取筛选列表
+	// 获取筛选列表
 	ShowSearch(context.Context, *ShowSearchReq) (*ShowSearchRes, error)
 	ShowSearch(context.Context, *ShowSearchReq) (*ShowSearchRes, error)
-	//添加删选列表
+	// 添加删选列表
 	AddSearch(context.Context, *AddSearchReq) (*CommonRes, error)
 	AddSearch(context.Context, *AddSearchReq) (*CommonRes, error)
-	//修改筛选列表
+	// 修改筛选列表
 	CheckSearch(context.Context, *AddSearchReq) (*CheckRes, error)
 	CheckSearch(context.Context, *AddSearchReq) (*CheckRes, error)
-	//删除筛选列表
+	// 删除筛选列表
 	DelSearch(context.Context, *DelSearchReq) (*CommonRes, error)
 	DelSearch(context.Context, *DelSearchReq) (*CommonRes, error)
-	//首页最新招标信息
+	// 首页最新招标信息
 	NewestBidding(context.Context, *NewestBiddingReq) (*NewsetBiddingResp, error)
 	NewestBidding(context.Context, *NewestBiddingReq) (*NewsetBiddingResp, error)
-	//剑鱼网站收录情况
+	// 剑鱼网站收录情况
 	Included(context.Context, *AppIdReq) (*IncludedResp, error)
 	Included(context.Context, *AppIdReq) (*IncludedResp, error)
 	mustEmbedUnimplementedBxbaseServer()
 	mustEmbedUnimplementedBxbaseServer()
 }
 }
@@ -258,7 +273,7 @@ func _Bxbase_Addlabel_Handler(srv interface{}, ctx context.Context, dec func(int
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/Addlabel",
+		FullMethod: Bxbase_Addlabel_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).Addlabel(ctx, req.(*AddlabelReq))
 		return srv.(BxbaseServer).Addlabel(ctx, req.(*AddlabelReq))
@@ -276,7 +291,7 @@ func _Bxbase_GetLabelAction_Handler(srv interface{}, ctx context.Context, dec fu
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/GetLabelAction",
+		FullMethod: Bxbase_GetLabelAction_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).GetLabelAction(ctx, req.(*GetLabelActionReq))
 		return srv.(BxbaseServer).GetLabelAction(ctx, req.(*GetLabelActionReq))
@@ -294,7 +309,7 @@ func _Bxbase_LabelAction_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/LabelAction",
+		FullMethod: Bxbase_LabelAction_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).LabelAction(ctx, req.(*LabelActionReq))
 		return srv.(BxbaseServer).LabelAction(ctx, req.(*LabelActionReq))
@@ -312,7 +327,7 @@ func _Bxbase_BCAction_Handler(srv interface{}, ctx context.Context, dec func(int
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/BCAction",
+		FullMethod: Bxbase_BCAction_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).BCAction(ctx, req.(*BCActionReq))
 		return srv.(BxbaseServer).BCAction(ctx, req.(*BCActionReq))
@@ -330,7 +345,7 @@ func _Bxbase_IsCollAction_Handler(srv interface{}, ctx context.Context, dec func
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/IsCollAction",
+		FullMethod: Bxbase_IsCollAction_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).IsCollAction(ctx, req.(*IsCollActionReq))
 		return srv.(BxbaseServer).IsCollAction(ctx, req.(*IsCollActionReq))
@@ -348,7 +363,7 @@ func _Bxbase_List_Handler(srv interface{}, ctx context.Context, dec func(interfa
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/List",
+		FullMethod: Bxbase_List_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).List(ctx, req.(*ListReq))
 		return srv.(BxbaseServer).List(ctx, req.(*ListReq))
@@ -366,7 +381,7 @@ func _Bxbase_ShowSearch_Handler(srv interface{}, ctx context.Context, dec func(i
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/ShowSearch",
+		FullMethod: Bxbase_ShowSearch_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).ShowSearch(ctx, req.(*ShowSearchReq))
 		return srv.(BxbaseServer).ShowSearch(ctx, req.(*ShowSearchReq))
@@ -384,7 +399,7 @@ func _Bxbase_AddSearch_Handler(srv interface{}, ctx context.Context, dec func(in
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/AddSearch",
+		FullMethod: Bxbase_AddSearch_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).AddSearch(ctx, req.(*AddSearchReq))
 		return srv.(BxbaseServer).AddSearch(ctx, req.(*AddSearchReq))
@@ -402,7 +417,7 @@ func _Bxbase_CheckSearch_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/CheckSearch",
+		FullMethod: Bxbase_CheckSearch_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).CheckSearch(ctx, req.(*AddSearchReq))
 		return srv.(BxbaseServer).CheckSearch(ctx, req.(*AddSearchReq))
@@ -420,7 +435,7 @@ func _Bxbase_DelSearch_Handler(srv interface{}, ctx context.Context, dec func(in
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/DelSearch",
+		FullMethod: Bxbase_DelSearch_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).DelSearch(ctx, req.(*DelSearchReq))
 		return srv.(BxbaseServer).DelSearch(ctx, req.(*DelSearchReq))
@@ -438,7 +453,7 @@ func _Bxbase_NewestBidding_Handler(srv interface{}, ctx context.Context, dec fun
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/NewestBidding",
+		FullMethod: Bxbase_NewestBidding_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).NewestBidding(ctx, req.(*NewestBiddingReq))
 		return srv.(BxbaseServer).NewestBidding(ctx, req.(*NewestBiddingReq))
@@ -456,7 +471,7 @@ func _Bxbase_Included_Handler(srv interface{}, ctx context.Context, dec func(int
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcol.bxbase/Included",
+		FullMethod: Bxbase_Included_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbaseServer).Included(ctx, req.(*AppIdReq))
 		return srv.(BxbaseServer).Included(ctx, req.(*AppIdReq))

+ 2 - 1
jyBXCore/api/bxcore.api

@@ -41,6 +41,7 @@ type (
 		PositionType    string `header:"positionType,optional"` //职位类型 0个人 1企业
 		PositionType    string `header:"positionType,optional"` //职位类型 0个人 1企业
 		PositionId      string `header:"positionId,optional"`   //职位id
 		PositionId      string `header:"positionId,optional"`   //职位id
 		MgoUserId       string `header:"mgoUserId,optional"`    //原userId
 		MgoUserId       string `header:"mgoUserId,optional"`    //原userId
+		District        string `json:"district,optional"`
 	}
 	}
 	//
 	//
 	commonResp {
 	commonResp {
@@ -235,5 +236,5 @@ service bxcore-api {
 	post /jybx/core/polymerizeSearch(polymerizeSearchReq) returns (commonResp)
 	post /jybx/core/polymerizeSearch(polymerizeSearchReq) returns (commonResp)
 	@handler statisticsProjectDetails//参标项目明细
 	@handler statisticsProjectDetails//参标项目明细
 	post /jybx/core/statistics/projectDetails(ProjectDetailReq) returns (commonResp)
 	post /jybx/core/statistics/projectDetails(ProjectDetailReq) returns (commonResp)
-	
+
 }
 }

+ 1 - 0
jyBXCore/api/internal/logic/searchListLogic.go

@@ -75,6 +75,7 @@ func (l *SearchListLogic) SearchList(req *types.SearchReq) (resp *types.CommonRe
 		MgoUserId:       req.MgoUserId,
 		MgoUserId:       req.MgoUserId,
 		LimitFlag:       limitFlag,
 		LimitFlag:       limitFlag,
 		IsNew:           isNew,
 		IsNew:           isNew,
+		District:        req.District,
 	})
 	})
 
 
 	log.Println("请求接口耗时:", time.Since(t).Seconds())
 	log.Println("请求接口耗时:", time.Since(t).Seconds())

+ 1 - 0
jyBXCore/api/internal/types/types.go

@@ -34,6 +34,7 @@ type SearchReq struct {
 	PositionType    string `header:"positionType,optional"` //职位类型 0个人 1企业
 	PositionType    string `header:"positionType,optional"` //职位类型 0个人 1企业
 	PositionId      string `header:"positionId,optional"`   //职位id
 	PositionId      string `header:"positionId,optional"`   //职位id
 	MgoUserId       string `header:"mgoUserId,optional"`    //原userId
 	MgoUserId       string `header:"mgoUserId,optional"`    //原userId
+	District        string `json:"district,optional"`
 }
 }
 
 
 type CommonResp struct {
 type CommonResp struct {

+ 1 - 0
jyBXCore/rpc/bxcore.proto

@@ -42,6 +42,7 @@ message SearchReq {
   string mgoUserId = 36;  //原userId
   string mgoUserId = 36;  //原userId
   string limitFlag = 37; //未登录用户生成一个随机id
   string limitFlag = 37; //未登录用户生成一个随机id
   bool isNew = 38;//未登录用户首次请求
   bool isNew = 38;//未登录用户首次请求
+  string  district = 39;//区县
 }
 }
 
 
 message SearchResp {
 message SearchResp {

+ 10 - 10
jyBXCore/rpc/internal/server/bxcoreserver.go

@@ -1,4 +1,4 @@
-// Code generated by goctl. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT.
 // Source: bxcore.proto
 // Source: bxcore.proto
 
 
 package server
 package server
@@ -34,55 +34,55 @@ func (s *BxCoreServer) SearchLimit(ctx context.Context, in *bxcore.SearchLimitRe
 	return l.SearchLimit(in)
 	return l.SearchLimit(in)
 }
 }
 
 
-//  列表数据参标信息接口
+// 列表数据参标信息接口
 func (s *BxCoreServer) ParticipateShow(ctx context.Context, in *bxcore.ParticipateShowReq) (*bxcore.ParticipateShowRes, error) {
 func (s *BxCoreServer) ParticipateShow(ctx context.Context, in *bxcore.ParticipateShowReq) (*bxcore.ParticipateShowRes, error) {
 	l := logic.NewParticipateShowLogic(ctx, s.svcCtx)
 	l := logic.NewParticipateShowLogic(ctx, s.svcCtx)
 	return l.ParticipateShow(in)
 	return l.ParticipateShow(in)
 }
 }
 
 
-//  详情页参标信息接口
+// 详情页参标信息接口
 func (s *BxCoreServer) ParticipateInfo(ctx context.Context, in *bxcore.ParticipateInfoReq) (*bxcore.ParticipateInfoRes, error) {
 func (s *BxCoreServer) ParticipateInfo(ctx context.Context, in *bxcore.ParticipateInfoReq) (*bxcore.ParticipateInfoRes, error) {
 	l := logic.NewParticipateInfoLogic(ctx, s.svcCtx)
 	l := logic.NewParticipateInfoLogic(ctx, s.svcCtx)
 	return l.ParticipateInfo(in)
 	return l.ParticipateInfo(in)
 }
 }
 
 
-//   投标状态更新
+// 投标状态更新
 func (s *BxCoreServer) UpdateBidStatus(ctx context.Context, in *bxcore.UpdateBidStatusReq) (*bxcore.UpdateBidStatusRes, error) {
 func (s *BxCoreServer) UpdateBidStatus(ctx context.Context, in *bxcore.UpdateBidStatusReq) (*bxcore.UpdateBidStatusRes, error) {
 	l := logic.NewUpdateBidStatusLogic(ctx, s.svcCtx)
 	l := logic.NewUpdateBidStatusLogic(ctx, s.svcCtx)
 	return l.UpdateBidStatus(in)
 	return l.UpdateBidStatus(in)
 }
 }
 
 
-//  获取投标状态信息
+// 获取投标状态信息
 func (s *BxCoreServer) ParticipateContent(ctx context.Context, in *bxcore.ParticipateContentReq) (*bxcore.ParticipateContentRes, error) {
 func (s *BxCoreServer) ParticipateContent(ctx context.Context, in *bxcore.ParticipateContentReq) (*bxcore.ParticipateContentRes, error) {
 	l := logic.NewParticipateContentLogic(ctx, s.svcCtx)
 	l := logic.NewParticipateContentLogic(ctx, s.svcCtx)
 	return l.ParticipateContent(in)
 	return l.ParticipateContent(in)
 }
 }
 
 
-//  参标操作记录
+// 参标操作记录
 func (s *BxCoreServer) ParticipateRecords(ctx context.Context, in *bxcore.ParticipateRecordsReq) (*bxcore.ParticipateRecordsRes, error) {
 func (s *BxCoreServer) ParticipateRecords(ctx context.Context, in *bxcore.ParticipateRecordsReq) (*bxcore.ParticipateRecordsRes, error) {
 	l := logic.NewParticipateRecordsLogic(ctx, s.svcCtx)
 	l := logic.NewParticipateRecordsLogic(ctx, s.svcCtx)
 	return l.ParticipateRecords(in)
 	return l.ParticipateRecords(in)
 }
 }
 
 
-//  当前部门/企业下参标人员信息
+// 当前部门/企业下参标人员信息
 func (s *BxCoreServer) ParticipatePersons(ctx context.Context, in *bxcore.ParticipatePersonsReq) (*bxcore.ParticipatePersonsRes, error) {
 func (s *BxCoreServer) ParticipatePersons(ctx context.Context, in *bxcore.ParticipatePersonsReq) (*bxcore.ParticipatePersonsRes, error) {
 	l := logic.NewParticipatePersonsLogic(ctx, s.svcCtx)
 	l := logic.NewParticipatePersonsLogic(ctx, s.svcCtx)
 	return l.ParticipatePersons(in)
 	return l.ParticipatePersons(in)
 }
 }
 
 
-//  参标设置信息
+// 参标设置信息
 func (s *BxCoreServer) ParticipateSetUpInfo(ctx context.Context, in *bxcore.ParticipateSetUpInfoReq) (*bxcore.ParticipateSetUpInfoRes, error) {
 func (s *BxCoreServer) ParticipateSetUpInfo(ctx context.Context, in *bxcore.ParticipateSetUpInfoReq) (*bxcore.ParticipateSetUpInfoRes, error) {
 	l := logic.NewParticipateSetUpInfoLogic(ctx, s.svcCtx)
 	l := logic.NewParticipateSetUpInfoLogic(ctx, s.svcCtx)
 	return l.ParticipateSetUpInfo(in)
 	return l.ParticipateSetUpInfo(in)
 }
 }
 
 
-//  项目参标 终止参标 划转等动作
+// 项目参标 终止参标 划转等动作
 func (s *BxCoreServer) ParticipateAction(ctx context.Context, in *bxcore.ParticipateActionReq) (*bxcore.ParticipateActionRes, error) {
 func (s *BxCoreServer) ParticipateAction(ctx context.Context, in *bxcore.ParticipateActionReq) (*bxcore.ParticipateActionRes, error) {
 	l := logic.NewParticipateActionLogic(ctx, s.svcCtx)
 	l := logic.NewParticipateActionLogic(ctx, s.svcCtx)
 	return l.ParticipateAction(in)
 	return l.ParticipateAction(in)
 }
 }
 
 
-//  我的参标项目列表|企业参标项目列表
+// 我的参标项目列表|企业参标项目列表
 func (s *BxCoreServer) ParticipateList(ctx context.Context, in *bxcore.ParticipateListReq) (*bxcore.ParticipateListRes, error) {
 func (s *BxCoreServer) ParticipateList(ctx context.Context, in *bxcore.ParticipateListReq) (*bxcore.ParticipateListRes, error) {
 	l := logic.NewParticipateListLogic(ctx, s.svcCtx)
 	l := logic.NewParticipateListLogic(ctx, s.svcCtx)
 	return l.ParticipateList(in)
 	return l.ParticipateList(in)

+ 22 - 1
jyBXCore/rpc/model/es/search.go

@@ -221,7 +221,7 @@ func GetBidSearchQuery(in *bxcore.SearchReq) string {
 		}
 		}
 		query += `]}}`
 		query += `]}}`
 	}
 	}
-	//
+	//
 	city := in.City
 	city := in.City
 	if city != "" {
 	if city != "" {
 		if len(query) > 0 {
 		if len(query) > 0 {
@@ -236,6 +236,27 @@ func GetBidSearchQuery(in *bxcore.SearchReq) string {
 		}
 		}
 		query += `]}}`
 		query += `]}}`
 	}
 	}
+	district := in.District
+	if district != "" {
+		for _, v := range strings.Split(district, ",") {
+			if len(v) > 0 {
+				query += ","
+			}
+			cityName := strings.Split(v, "_")[0]
+			districtName := strings.Split(v, "_")[1]
+			query_bool_must_and_district := `{"bool":{"must":[{"terms":{"area":["%s"]}},{"terms":{"district":["%s"]}}]}}`
+			query += fmt.Sprintf(query_bool_must_and_district, cityName, districtName)
+			query += `{"terms":{"city":[`
+			for k, v := range strings.Split(city, ",") {
+				if k > 0 {
+					query += `,`
+				}
+				query += `"` + v + `"`
+			}
+			query += `]}}`
+		}
+
+	}
 	if query != "" {
 	if query != "" {
 		query = fmt.Sprintf(queryBoolShould, query)
 		query = fmt.Sprintf(queryBoolShould, query)
 	}
 	}

File diff suppressed because it is too large
+ 631 - 74
jyBXCore/rpc/type/bxcore/bxcore.pb.go


+ 62 - 44
jyBXCore/rpc/type/bxcore/bxcore_grpc.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // versions:
-// - protoc-gen-go-grpc v1.2.0
-// - protoc             v3.19.4
+// - protoc-gen-go-grpc v1.3.0
+// - protoc             v3.15.1
 // source: bxcore.proto
 // source: bxcore.proto
 
 
 package bxcore
 package bxcore
@@ -18,19 +18,37 @@ import (
 // Requires gRPC-Go v1.32.0 or later.
 // Requires gRPC-Go v1.32.0 or later.
 const _ = grpc.SupportPackageIsVersion7
 const _ = grpc.SupportPackageIsVersion7
 
 
+const (
+	BxCore_GetSearchList_FullMethodName        = "/bxcore.BxCore/GetSearchList"
+	BxCore_SearchLimit_FullMethodName          = "/bxcore.BxCore/SearchLimit"
+	BxCore_ParticipateShow_FullMethodName      = "/bxcore.BxCore/ParticipateShow"
+	BxCore_ParticipateInfo_FullMethodName      = "/bxcore.BxCore/ParticipateInfo"
+	BxCore_UpdateBidStatus_FullMethodName      = "/bxcore.BxCore/UpdateBidStatus"
+	BxCore_ParticipateContent_FullMethodName   = "/bxcore.BxCore/ParticipateContent"
+	BxCore_ParticipateRecords_FullMethodName   = "/bxcore.BxCore/ParticipateRecords"
+	BxCore_ParticipatePersons_FullMethodName   = "/bxcore.BxCore/ParticipatePersons"
+	BxCore_ParticipateSetUpInfo_FullMethodName = "/bxcore.BxCore/ParticipateSetUpInfo"
+	BxCore_ParticipateAction_FullMethodName    = "/bxcore.BxCore/ParticipateAction"
+	BxCore_ParticipateList_FullMethodName      = "/bxcore.BxCore/ParticipateList"
+	BxCore_PushStatistics_FullMethodName       = "/bxcore.BxCore/PushStatistics"
+	BxCore_ProjectStatistics_FullMethodName    = "/bxcore.BxCore/ProjectStatistics"
+	BxCore_PolymerizeSearch_FullMethodName     = "/bxcore.BxCore/PolymerizeSearch"
+	BxCore_ProjectDetails_FullMethodName       = "/bxcore.BxCore/ProjectDetails"
+)
+
 // BxCoreClient is the client API for BxCore service.
 // BxCoreClient is the client API for BxCore service.
 //
 //
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 type BxCoreClient interface {
 type BxCoreClient interface {
-	//标讯搜索结果列表数据
+	// 标讯搜索结果列表数据
 	GetSearchList(ctx context.Context, in *SearchReq, opts ...grpc.CallOption) (*SearchResp, error)
 	GetSearchList(ctx context.Context, in *SearchReq, opts ...grpc.CallOption) (*SearchResp, error)
-	//标讯搜索限制内容
+	// 标讯搜索限制内容
 	SearchLimit(ctx context.Context, in *SearchLimitReq, opts ...grpc.CallOption) (*SearchLimitResp, error)
 	SearchLimit(ctx context.Context, in *SearchLimitReq, opts ...grpc.CallOption) (*SearchLimitResp, error)
 	// 列表数据参标信息接口
 	// 列表数据参标信息接口
 	ParticipateShow(ctx context.Context, in *ParticipateShowReq, opts ...grpc.CallOption) (*ParticipateShowRes, error)
 	ParticipateShow(ctx context.Context, in *ParticipateShowReq, opts ...grpc.CallOption) (*ParticipateShowRes, error)
 	// 详情页参标信息接口
 	// 详情页参标信息接口
 	ParticipateInfo(ctx context.Context, in *ParticipateInfoReq, opts ...grpc.CallOption) (*ParticipateInfoRes, error)
 	ParticipateInfo(ctx context.Context, in *ParticipateInfoReq, opts ...grpc.CallOption) (*ParticipateInfoRes, error)
-	//  投标状态更新
+	// 投标状态更新
 	UpdateBidStatus(ctx context.Context, in *UpdateBidStatusReq, opts ...grpc.CallOption) (*UpdateBidStatusRes, error)
 	UpdateBidStatus(ctx context.Context, in *UpdateBidStatusReq, opts ...grpc.CallOption) (*UpdateBidStatusRes, error)
 	// 获取投标状态信息
 	// 获取投标状态信息
 	ParticipateContent(ctx context.Context, in *ParticipateContentReq, opts ...grpc.CallOption) (*ParticipateContentRes, error)
 	ParticipateContent(ctx context.Context, in *ParticipateContentReq, opts ...grpc.CallOption) (*ParticipateContentRes, error)
@@ -44,11 +62,11 @@ type BxCoreClient interface {
 	ParticipateAction(ctx context.Context, in *ParticipateActionReq, opts ...grpc.CallOption) (*ParticipateActionRes, error)
 	ParticipateAction(ctx context.Context, in *ParticipateActionReq, opts ...grpc.CallOption) (*ParticipateActionRes, error)
 	// 我的参标项目列表|企业参标项目列表
 	// 我的参标项目列表|企业参标项目列表
 	ParticipateList(ctx context.Context, in *ParticipateListReq, opts ...grpc.CallOption) (*ParticipateListRes, error)
 	ParticipateList(ctx context.Context, in *ParticipateListReq, opts ...grpc.CallOption) (*ParticipateListRes, error)
-	//推送参标统计
+	// 推送参标统计
 	PushStatistics(ctx context.Context, in *StatisticsListReq, opts ...grpc.CallOption) (*PushStatisticsDataRes, error)
 	PushStatistics(ctx context.Context, in *StatisticsListReq, opts ...grpc.CallOption) (*PushStatisticsDataRes, error)
-	//参标项目统计
+	// 参标项目统计
 	ProjectStatistics(ctx context.Context, in *StatisticsListReq, opts ...grpc.CallOption) (*ProjectStatisticsDataRes, error)
 	ProjectStatistics(ctx context.Context, in *StatisticsListReq, opts ...grpc.CallOption) (*ProjectStatisticsDataRes, error)
-	//聚合搜索
+	// 聚合搜索
 	PolymerizeSearch(ctx context.Context, in *PolymerizeSearchReq, opts ...grpc.CallOption) (*PolymerizeSearchResp, error)
 	PolymerizeSearch(ctx context.Context, in *PolymerizeSearchReq, opts ...grpc.CallOption) (*PolymerizeSearchResp, error)
 	ProjectDetails(ctx context.Context, in *ProjectDetailsReq, opts ...grpc.CallOption) (*DetailDataRes, error)
 	ProjectDetails(ctx context.Context, in *ProjectDetailsReq, opts ...grpc.CallOption) (*DetailDataRes, error)
 }
 }
@@ -63,7 +81,7 @@ func NewBxCoreClient(cc grpc.ClientConnInterface) BxCoreClient {
 
 
 func (c *bxCoreClient) GetSearchList(ctx context.Context, in *SearchReq, opts ...grpc.CallOption) (*SearchResp, error) {
 func (c *bxCoreClient) GetSearchList(ctx context.Context, in *SearchReq, opts ...grpc.CallOption) (*SearchResp, error) {
 	out := new(SearchResp)
 	out := new(SearchResp)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/GetSearchList", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_GetSearchList_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -72,7 +90,7 @@ func (c *bxCoreClient) GetSearchList(ctx context.Context, in *SearchReq, opts ..
 
 
 func (c *bxCoreClient) SearchLimit(ctx context.Context, in *SearchLimitReq, opts ...grpc.CallOption) (*SearchLimitResp, error) {
 func (c *bxCoreClient) SearchLimit(ctx context.Context, in *SearchLimitReq, opts ...grpc.CallOption) (*SearchLimitResp, error) {
 	out := new(SearchLimitResp)
 	out := new(SearchLimitResp)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/SearchLimit", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_SearchLimit_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -81,7 +99,7 @@ func (c *bxCoreClient) SearchLimit(ctx context.Context, in *SearchLimitReq, opts
 
 
 func (c *bxCoreClient) ParticipateShow(ctx context.Context, in *ParticipateShowReq, opts ...grpc.CallOption) (*ParticipateShowRes, error) {
 func (c *bxCoreClient) ParticipateShow(ctx context.Context, in *ParticipateShowReq, opts ...grpc.CallOption) (*ParticipateShowRes, error) {
 	out := new(ParticipateShowRes)
 	out := new(ParticipateShowRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ParticipateShow", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ParticipateShow_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -90,7 +108,7 @@ func (c *bxCoreClient) ParticipateShow(ctx context.Context, in *ParticipateShowR
 
 
 func (c *bxCoreClient) ParticipateInfo(ctx context.Context, in *ParticipateInfoReq, opts ...grpc.CallOption) (*ParticipateInfoRes, error) {
 func (c *bxCoreClient) ParticipateInfo(ctx context.Context, in *ParticipateInfoReq, opts ...grpc.CallOption) (*ParticipateInfoRes, error) {
 	out := new(ParticipateInfoRes)
 	out := new(ParticipateInfoRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ParticipateInfo", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ParticipateInfo_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -99,7 +117,7 @@ func (c *bxCoreClient) ParticipateInfo(ctx context.Context, in *ParticipateInfoR
 
 
 func (c *bxCoreClient) UpdateBidStatus(ctx context.Context, in *UpdateBidStatusReq, opts ...grpc.CallOption) (*UpdateBidStatusRes, error) {
 func (c *bxCoreClient) UpdateBidStatus(ctx context.Context, in *UpdateBidStatusReq, opts ...grpc.CallOption) (*UpdateBidStatusRes, error) {
 	out := new(UpdateBidStatusRes)
 	out := new(UpdateBidStatusRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/UpdateBidStatus", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_UpdateBidStatus_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -108,7 +126,7 @@ func (c *bxCoreClient) UpdateBidStatus(ctx context.Context, in *UpdateBidStatusR
 
 
 func (c *bxCoreClient) ParticipateContent(ctx context.Context, in *ParticipateContentReq, opts ...grpc.CallOption) (*ParticipateContentRes, error) {
 func (c *bxCoreClient) ParticipateContent(ctx context.Context, in *ParticipateContentReq, opts ...grpc.CallOption) (*ParticipateContentRes, error) {
 	out := new(ParticipateContentRes)
 	out := new(ParticipateContentRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ParticipateContent", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ParticipateContent_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -117,7 +135,7 @@ func (c *bxCoreClient) ParticipateContent(ctx context.Context, in *ParticipateCo
 
 
 func (c *bxCoreClient) ParticipateRecords(ctx context.Context, in *ParticipateRecordsReq, opts ...grpc.CallOption) (*ParticipateRecordsRes, error) {
 func (c *bxCoreClient) ParticipateRecords(ctx context.Context, in *ParticipateRecordsReq, opts ...grpc.CallOption) (*ParticipateRecordsRes, error) {
 	out := new(ParticipateRecordsRes)
 	out := new(ParticipateRecordsRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ParticipateRecords", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ParticipateRecords_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -126,7 +144,7 @@ func (c *bxCoreClient) ParticipateRecords(ctx context.Context, in *ParticipateRe
 
 
 func (c *bxCoreClient) ParticipatePersons(ctx context.Context, in *ParticipatePersonsReq, opts ...grpc.CallOption) (*ParticipatePersonsRes, error) {
 func (c *bxCoreClient) ParticipatePersons(ctx context.Context, in *ParticipatePersonsReq, opts ...grpc.CallOption) (*ParticipatePersonsRes, error) {
 	out := new(ParticipatePersonsRes)
 	out := new(ParticipatePersonsRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ParticipatePersons", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ParticipatePersons_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -135,7 +153,7 @@ func (c *bxCoreClient) ParticipatePersons(ctx context.Context, in *ParticipatePe
 
 
 func (c *bxCoreClient) ParticipateSetUpInfo(ctx context.Context, in *ParticipateSetUpInfoReq, opts ...grpc.CallOption) (*ParticipateSetUpInfoRes, error) {
 func (c *bxCoreClient) ParticipateSetUpInfo(ctx context.Context, in *ParticipateSetUpInfoReq, opts ...grpc.CallOption) (*ParticipateSetUpInfoRes, error) {
 	out := new(ParticipateSetUpInfoRes)
 	out := new(ParticipateSetUpInfoRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ParticipateSetUpInfo", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ParticipateSetUpInfo_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -144,7 +162,7 @@ func (c *bxCoreClient) ParticipateSetUpInfo(ctx context.Context, in *Participate
 
 
 func (c *bxCoreClient) ParticipateAction(ctx context.Context, in *ParticipateActionReq, opts ...grpc.CallOption) (*ParticipateActionRes, error) {
 func (c *bxCoreClient) ParticipateAction(ctx context.Context, in *ParticipateActionReq, opts ...grpc.CallOption) (*ParticipateActionRes, error) {
 	out := new(ParticipateActionRes)
 	out := new(ParticipateActionRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ParticipateAction", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ParticipateAction_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -153,7 +171,7 @@ func (c *bxCoreClient) ParticipateAction(ctx context.Context, in *ParticipateAct
 
 
 func (c *bxCoreClient) ParticipateList(ctx context.Context, in *ParticipateListReq, opts ...grpc.CallOption) (*ParticipateListRes, error) {
 func (c *bxCoreClient) ParticipateList(ctx context.Context, in *ParticipateListReq, opts ...grpc.CallOption) (*ParticipateListRes, error) {
 	out := new(ParticipateListRes)
 	out := new(ParticipateListRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ParticipateList", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ParticipateList_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -162,7 +180,7 @@ func (c *bxCoreClient) ParticipateList(ctx context.Context, in *ParticipateListR
 
 
 func (c *bxCoreClient) PushStatistics(ctx context.Context, in *StatisticsListReq, opts ...grpc.CallOption) (*PushStatisticsDataRes, error) {
 func (c *bxCoreClient) PushStatistics(ctx context.Context, in *StatisticsListReq, opts ...grpc.CallOption) (*PushStatisticsDataRes, error) {
 	out := new(PushStatisticsDataRes)
 	out := new(PushStatisticsDataRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/PushStatistics", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_PushStatistics_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -171,7 +189,7 @@ func (c *bxCoreClient) PushStatistics(ctx context.Context, in *StatisticsListReq
 
 
 func (c *bxCoreClient) ProjectStatistics(ctx context.Context, in *StatisticsListReq, opts ...grpc.CallOption) (*ProjectStatisticsDataRes, error) {
 func (c *bxCoreClient) ProjectStatistics(ctx context.Context, in *StatisticsListReq, opts ...grpc.CallOption) (*ProjectStatisticsDataRes, error) {
 	out := new(ProjectStatisticsDataRes)
 	out := new(ProjectStatisticsDataRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ProjectStatistics", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ProjectStatistics_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -180,7 +198,7 @@ func (c *bxCoreClient) ProjectStatistics(ctx context.Context, in *StatisticsList
 
 
 func (c *bxCoreClient) PolymerizeSearch(ctx context.Context, in *PolymerizeSearchReq, opts ...grpc.CallOption) (*PolymerizeSearchResp, error) {
 func (c *bxCoreClient) PolymerizeSearch(ctx context.Context, in *PolymerizeSearchReq, opts ...grpc.CallOption) (*PolymerizeSearchResp, error) {
 	out := new(PolymerizeSearchResp)
 	out := new(PolymerizeSearchResp)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/PolymerizeSearch", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_PolymerizeSearch_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -189,7 +207,7 @@ func (c *bxCoreClient) PolymerizeSearch(ctx context.Context, in *PolymerizeSearc
 
 
 func (c *bxCoreClient) ProjectDetails(ctx context.Context, in *ProjectDetailsReq, opts ...grpc.CallOption) (*DetailDataRes, error) {
 func (c *bxCoreClient) ProjectDetails(ctx context.Context, in *ProjectDetailsReq, opts ...grpc.CallOption) (*DetailDataRes, error) {
 	out := new(DetailDataRes)
 	out := new(DetailDataRes)
-	err := c.cc.Invoke(ctx, "/bxcore.BxCore/ProjectDetails", in, out, opts...)
+	err := c.cc.Invoke(ctx, BxCore_ProjectDetails_FullMethodName, in, out, opts...)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -200,15 +218,15 @@ func (c *bxCoreClient) ProjectDetails(ctx context.Context, in *ProjectDetailsReq
 // All implementations must embed UnimplementedBxCoreServer
 // All implementations must embed UnimplementedBxCoreServer
 // for forward compatibility
 // for forward compatibility
 type BxCoreServer interface {
 type BxCoreServer interface {
-	//标讯搜索结果列表数据
+	// 标讯搜索结果列表数据
 	GetSearchList(context.Context, *SearchReq) (*SearchResp, error)
 	GetSearchList(context.Context, *SearchReq) (*SearchResp, error)
-	//标讯搜索限制内容
+	// 标讯搜索限制内容
 	SearchLimit(context.Context, *SearchLimitReq) (*SearchLimitResp, error)
 	SearchLimit(context.Context, *SearchLimitReq) (*SearchLimitResp, error)
 	// 列表数据参标信息接口
 	// 列表数据参标信息接口
 	ParticipateShow(context.Context, *ParticipateShowReq) (*ParticipateShowRes, error)
 	ParticipateShow(context.Context, *ParticipateShowReq) (*ParticipateShowRes, error)
 	// 详情页参标信息接口
 	// 详情页参标信息接口
 	ParticipateInfo(context.Context, *ParticipateInfoReq) (*ParticipateInfoRes, error)
 	ParticipateInfo(context.Context, *ParticipateInfoReq) (*ParticipateInfoRes, error)
-	//  投标状态更新
+	// 投标状态更新
 	UpdateBidStatus(context.Context, *UpdateBidStatusReq) (*UpdateBidStatusRes, error)
 	UpdateBidStatus(context.Context, *UpdateBidStatusReq) (*UpdateBidStatusRes, error)
 	// 获取投标状态信息
 	// 获取投标状态信息
 	ParticipateContent(context.Context, *ParticipateContentReq) (*ParticipateContentRes, error)
 	ParticipateContent(context.Context, *ParticipateContentReq) (*ParticipateContentRes, error)
@@ -222,11 +240,11 @@ type BxCoreServer interface {
 	ParticipateAction(context.Context, *ParticipateActionReq) (*ParticipateActionRes, error)
 	ParticipateAction(context.Context, *ParticipateActionReq) (*ParticipateActionRes, error)
 	// 我的参标项目列表|企业参标项目列表
 	// 我的参标项目列表|企业参标项目列表
 	ParticipateList(context.Context, *ParticipateListReq) (*ParticipateListRes, error)
 	ParticipateList(context.Context, *ParticipateListReq) (*ParticipateListRes, error)
-	//推送参标统计
+	// 推送参标统计
 	PushStatistics(context.Context, *StatisticsListReq) (*PushStatisticsDataRes, error)
 	PushStatistics(context.Context, *StatisticsListReq) (*PushStatisticsDataRes, error)
-	//参标项目统计
+	// 参标项目统计
 	ProjectStatistics(context.Context, *StatisticsListReq) (*ProjectStatisticsDataRes, error)
 	ProjectStatistics(context.Context, *StatisticsListReq) (*ProjectStatisticsDataRes, error)
-	//聚合搜索
+	// 聚合搜索
 	PolymerizeSearch(context.Context, *PolymerizeSearchReq) (*PolymerizeSearchResp, error)
 	PolymerizeSearch(context.Context, *PolymerizeSearchReq) (*PolymerizeSearchResp, error)
 	ProjectDetails(context.Context, *ProjectDetailsReq) (*DetailDataRes, error)
 	ProjectDetails(context.Context, *ProjectDetailsReq) (*DetailDataRes, error)
 	mustEmbedUnimplementedBxCoreServer()
 	mustEmbedUnimplementedBxCoreServer()
@@ -304,7 +322,7 @@ func _BxCore_GetSearchList_Handler(srv interface{}, ctx context.Context, dec fun
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/GetSearchList",
+		FullMethod: BxCore_GetSearchList_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).GetSearchList(ctx, req.(*SearchReq))
 		return srv.(BxCoreServer).GetSearchList(ctx, req.(*SearchReq))
@@ -322,7 +340,7 @@ func _BxCore_SearchLimit_Handler(srv interface{}, ctx context.Context, dec func(
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/SearchLimit",
+		FullMethod: BxCore_SearchLimit_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).SearchLimit(ctx, req.(*SearchLimitReq))
 		return srv.(BxCoreServer).SearchLimit(ctx, req.(*SearchLimitReq))
@@ -340,7 +358,7 @@ func _BxCore_ParticipateShow_Handler(srv interface{}, ctx context.Context, dec f
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ParticipateShow",
+		FullMethod: BxCore_ParticipateShow_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ParticipateShow(ctx, req.(*ParticipateShowReq))
 		return srv.(BxCoreServer).ParticipateShow(ctx, req.(*ParticipateShowReq))
@@ -358,7 +376,7 @@ func _BxCore_ParticipateInfo_Handler(srv interface{}, ctx context.Context, dec f
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ParticipateInfo",
+		FullMethod: BxCore_ParticipateInfo_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ParticipateInfo(ctx, req.(*ParticipateInfoReq))
 		return srv.(BxCoreServer).ParticipateInfo(ctx, req.(*ParticipateInfoReq))
@@ -376,7 +394,7 @@ func _BxCore_UpdateBidStatus_Handler(srv interface{}, ctx context.Context, dec f
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/UpdateBidStatus",
+		FullMethod: BxCore_UpdateBidStatus_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).UpdateBidStatus(ctx, req.(*UpdateBidStatusReq))
 		return srv.(BxCoreServer).UpdateBidStatus(ctx, req.(*UpdateBidStatusReq))
@@ -394,7 +412,7 @@ func _BxCore_ParticipateContent_Handler(srv interface{}, ctx context.Context, de
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ParticipateContent",
+		FullMethod: BxCore_ParticipateContent_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ParticipateContent(ctx, req.(*ParticipateContentReq))
 		return srv.(BxCoreServer).ParticipateContent(ctx, req.(*ParticipateContentReq))
@@ -412,7 +430,7 @@ func _BxCore_ParticipateRecords_Handler(srv interface{}, ctx context.Context, de
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ParticipateRecords",
+		FullMethod: BxCore_ParticipateRecords_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ParticipateRecords(ctx, req.(*ParticipateRecordsReq))
 		return srv.(BxCoreServer).ParticipateRecords(ctx, req.(*ParticipateRecordsReq))
@@ -430,7 +448,7 @@ func _BxCore_ParticipatePersons_Handler(srv interface{}, ctx context.Context, de
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ParticipatePersons",
+		FullMethod: BxCore_ParticipatePersons_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ParticipatePersons(ctx, req.(*ParticipatePersonsReq))
 		return srv.(BxCoreServer).ParticipatePersons(ctx, req.(*ParticipatePersonsReq))
@@ -448,7 +466,7 @@ func _BxCore_ParticipateSetUpInfo_Handler(srv interface{}, ctx context.Context,
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ParticipateSetUpInfo",
+		FullMethod: BxCore_ParticipateSetUpInfo_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ParticipateSetUpInfo(ctx, req.(*ParticipateSetUpInfoReq))
 		return srv.(BxCoreServer).ParticipateSetUpInfo(ctx, req.(*ParticipateSetUpInfoReq))
@@ -466,7 +484,7 @@ func _BxCore_ParticipateAction_Handler(srv interface{}, ctx context.Context, dec
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ParticipateAction",
+		FullMethod: BxCore_ParticipateAction_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ParticipateAction(ctx, req.(*ParticipateActionReq))
 		return srv.(BxCoreServer).ParticipateAction(ctx, req.(*ParticipateActionReq))
@@ -484,7 +502,7 @@ func _BxCore_ParticipateList_Handler(srv interface{}, ctx context.Context, dec f
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ParticipateList",
+		FullMethod: BxCore_ParticipateList_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ParticipateList(ctx, req.(*ParticipateListReq))
 		return srv.(BxCoreServer).ParticipateList(ctx, req.(*ParticipateListReq))
@@ -502,7 +520,7 @@ func _BxCore_PushStatistics_Handler(srv interface{}, ctx context.Context, dec fu
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/PushStatistics",
+		FullMethod: BxCore_PushStatistics_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).PushStatistics(ctx, req.(*StatisticsListReq))
 		return srv.(BxCoreServer).PushStatistics(ctx, req.(*StatisticsListReq))
@@ -520,7 +538,7 @@ func _BxCore_ProjectStatistics_Handler(srv interface{}, ctx context.Context, dec
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ProjectStatistics",
+		FullMethod: BxCore_ProjectStatistics_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ProjectStatistics(ctx, req.(*StatisticsListReq))
 		return srv.(BxCoreServer).ProjectStatistics(ctx, req.(*StatisticsListReq))
@@ -538,7 +556,7 @@ func _BxCore_PolymerizeSearch_Handler(srv interface{}, ctx context.Context, dec
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/PolymerizeSearch",
+		FullMethod: BxCore_PolymerizeSearch_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).PolymerizeSearch(ctx, req.(*PolymerizeSearchReq))
 		return srv.(BxCoreServer).PolymerizeSearch(ctx, req.(*PolymerizeSearchReq))
@@ -556,7 +574,7 @@ func _BxCore_ProjectDetails_Handler(srv interface{}, ctx context.Context, dec fu
 	}
 	}
 	info := &grpc.UnaryServerInfo{
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
 		Server:     srv,
-		FullMethod: "/bxcore.BxCore/ProjectDetails",
+		FullMethod: BxCore_ProjectDetails_FullMethodName,
 	}
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxCoreServer).ProjectDetails(ctx, req.(*ProjectDetailsReq))
 		return srv.(BxCoreServer).ProjectDetails(ctx, req.(*ProjectDetailsReq))

+ 5 - 0
jyBXSubscribe/rpc/model/staffSubscribe.go

@@ -19,6 +19,7 @@ type PersonSubscribe struct {
 	ABuyerclass   []string            `json:"a_buyerclass"`
 	ABuyerclass   []string            `json:"a_buyerclass"`
 	IProjectmatch int                 `json:"i_projectmatch"`
 	IProjectmatch int                 `json:"i_projectmatch"`
 	OArea         map[string][]string `json:"o_area"`
 	OArea         map[string][]string `json:"o_area"`
+	Odistrict     map[string][]string `json:"o_district"`
 	AItems        []struct {
 	AItems        []struct {
 		SItem string `json:"s_item"`
 		SItem string `json:"s_item"`
 		AKey  []struct {
 		AKey  []struct {
@@ -321,6 +322,7 @@ func getPersonSubscribe(query map[string]interface{}) (rData map[string]interfac
 		}
 		}
 
 
 		rData["area"] = subDetail.OArea
 		rData["area"] = subDetail.OArea
+		rData["district"] = subDetail.Odistrict
 		rData["infotype"] = subDetail.AInfotype
 		rData["infotype"] = subDetail.AInfotype
 		rData["projectmatch"] = subDetail.IProjectmatch
 		rData["projectmatch"] = subDetail.IProjectmatch
 		rData["matchway"] = common.If(subDetail.IMatchway == 0, 1, subDetail.IMatchway) //匹配方式 默认标题匹配 1
 		rData["matchway"] = common.If(subDetail.IMatchway == 0, 1, subDetail.IMatchway) //匹配方式 默认标题匹配 1
@@ -343,6 +345,8 @@ func getEntDistribute(ruleId string, entId, uid int64) (rData map[string]interfa
 
 
 	var area map[string][]string
 	var area map[string][]string
 	_ = gconv.Struct((*ruleRes)["o_area"], &area) //订阅地区
 	_ = gconv.Struct((*ruleRes)["o_area"], &area) //订阅地区
+	var district map[string][]string
+	_ = gconv.Struct((*ruleRes)["o_district"], &district) //区县
 
 
 	//查询分发订阅关键词及信息类型
 	//查询分发订阅关键词及信息类型
 	var wordsRes *map[string]interface{}
 	var wordsRes *map[string]interface{}
@@ -376,6 +380,7 @@ func getEntDistribute(ruleId string, entId, uid int64) (rData map[string]interfa
 	}
 	}
 	rData["buyerClass"] = (*ruleRes)["a_buyerclass"] //采购单位类型
 	rData["buyerClass"] = (*ruleRes)["a_buyerclass"] //采购单位类型
 	rData["area"] = area
 	rData["area"] = area
+	rData["district"] = district
 	rData["infotype"] = infotype
 	rData["infotype"] = infotype
 	rData["projectmatch"] = i_projectmatch
 	rData["projectmatch"] = i_projectmatch
 	rData["matchway"] = i_matchway
 	rData["matchway"] = i_matchway

Some files were not shown because too many files changed in this diff