From 21e9201dcb26f35de54dd411454fecdb6c0caec3 Mon Sep 17 00:00:00 2001 From: danbai Date: Sat, 6 May 2023 10:58:30 +0800 Subject: [PATCH 1/3] go v3.7.0.30.25 --- go/proto/wcf.options | 9 - go/proto/wcf.proto | 187 +++++++------- go/wcf/wcf.go | 77 +++++- go/wcf/wcf.pb.go | 596 ++++++++++++++++++++++--------------------- 4 files changed, 469 insertions(+), 400 deletions(-) delete mode 100644 go/proto/wcf.options diff --git a/go/proto/wcf.options b/go/proto/wcf.options deleted file mode 100644 index ecaa322..0000000 --- a/go/proto/wcf.options +++ /dev/null @@ -1,9 +0,0 @@ -# Generate all fields as pointers. -* mangle_names:M_STRIP_PACKAGE -* fallback_type:FT_POINTER -MsgTypes* fallback_type:FT_CALLBACK -RpcContact* fallback_type:FT_CALLBACK -DbNames* fallback_type:FT_CALLBACK -DbTable* fallback_type:FT_CALLBACK -DbField* fallback_type:FT_CALLBACK -DbRow* fallback_type:FT_CALLBACK \ No newline at end of file diff --git a/go/proto/wcf.proto b/go/proto/wcf.proto index f18e40d..6b23588 100644 --- a/go/proto/wcf.proto +++ b/go/proto/wcf.proto @@ -5,112 +5,112 @@ option go_package = "./wcf"; option java_package = "com.iamteer"; enum Functions { - FUNC_RESERVED = 0x00; - FUNC_IS_LOGIN = 0x01; - FUNC_GET_SELF_WXID = 0x10; - FUNC_GET_MSG_TYPES = 0x11; - FUNC_GET_CONTACTS = 0x12; - FUNC_GET_DB_NAMES = 0x13; - FUNC_GET_DB_TABLES = 0x14; - FUNC_GET_USER_INFO = 0x15; - FUNC_SEND_TXT = 0x20; - FUNC_SEND_IMG = 0x21; - FUNC_SEND_FILE = 0x22; - FUNC_SEND_XML = 0x23; - FUNC_SEND_EMOTION = 0x24; - FUNC_ENABLE_RECV_TXT = 0x30; - FUNC_DISABLE_RECV_TXT = 0x40; - FUNC_EXEC_DB_QUERY = 0x50; - FUNC_ACCEPT_FRIEND = 0x51; - FUNC_ADD_ROOM_MEMBERS = 0x52; - FUNC_RECV_TRANSFER = 0x53; - FUNC_DECRYPT_IMAGE = 0x60; + FUNC_RESERVED = 0x00; + FUNC_IS_LOGIN = 0x01; + FUNC_GET_SELF_WXID = 0x10; + FUNC_GET_MSG_TYPES = 0x11; + FUNC_GET_CONTACTS = 0x12; + FUNC_GET_DB_NAMES = 0x13; + FUNC_GET_DB_TABLES = 0x14; + FUNC_GET_USER_INFO = 0x15; + FUNC_SEND_TXT = 0x20; + FUNC_SEND_IMG = 0x21; + FUNC_SEND_FILE = 0x22; + FUNC_SEND_XML = 0x23; + FUNC_SEND_EMOTION = 0x24; + FUNC_ENABLE_RECV_TXT = 0x30; + FUNC_DISABLE_RECV_TXT = 0x40; + FUNC_EXEC_DB_QUERY = 0x50; + FUNC_ACCEPT_FRIEND = 0x51; + FUNC_ADD_ROOM_MEMBERS = 0x52; + FUNC_RECV_TRANSFER = 0x53; + FUNC_DECRYPT_IMAGE = 0x60; } message Request { - Functions func = 1; - oneof msg - { - Empty empty = 2; - string str = 3; - TextMsg txt = 4; - PathMsg file = 5; - DbQuery query = 6; - Verification v = 7; - AddMembers m = 8; - XmlMsg xml = 9; - DecPath dec = 10; - Transfer tf = 11; - } + Functions func = 1; + oneof msg + { + Empty empty = 2; + string str = 3; + TextMsg txt = 4; + PathMsg file = 5; + DbQuery query = 6; + Verification v = 7; + AddMembers m = 8; + XmlMsg xml = 9; + DecPath dec = 10; + Transfer tf = 11; + } } message Response { - Functions func = 1; - oneof msg - { - int32 status = 2; // Int 状态,通用 - string str = 3; // 字符串 - WxMsg wxmsg = 4; // 微信消息 - MsgTypes types = 5; // 消息类型 - RpcContacts contacts = 6; // 联系人 - DbNames dbs = 7; // 数据库列表 - DbTables tables = 8; // 表列表 - DbRows rows = 9; // 行列表 - UserInfo ui = 10; // 个人信息 - }; + Functions func = 1; + oneof msg + { + int32 status = 2; // Int 状态,通用 + string str = 3; // 字符串 + WxMsg wxmsg = 4; // 微信消息 + MsgTypes types = 5; // 消息类型 + RpcContacts contacts = 6; // 联系人 + DbNames dbs = 7; // 数据库列表 + DbTables tables = 8; // 表列表 + DbRows rows = 9; // 行列表 + UserInfo ui = 10; // 个人信息 + }; } message Empty { } message WxMsg { - bool is_self = 1; // 是否自己发送的 - bool is_group = 2; // 是否群消息 - int32 type = 3; // 消息类型 - string id = 4; // 消息 id - string xml = 5; // 消息 xml - string sender = 6; // 消息发送者 - string roomid = 7; // 群 id(如果是群消息的话) - string content = 8; // 消息内容 - string thumb = 9; // 缩略图 - string extra = 10; // 附加内容 + bool is_self = 1; // 是否自己发送的 + bool is_group = 2; // 是否群消息 + int32 type = 3; // 消息类型 + string id = 4; // 消息 id + string xml = 5; // 消息 xml + string sender = 6; // 消息发送者 + string roomid = 7; // 群 id(如果是群消息的话) + string content = 8; // 消息内容 + string thumb = 9; // 缩略图 + string extra = 10; // 附加内容 } message TextMsg { - string msg = 1; // 要发送的消息内容 - string receiver = 2; // 消息接收人,当为群时可@ - string aters = 3; // 要@的人列表,逗号分隔 + string msg = 1; // 要发送的消息内容 + string receiver = 2; // 消息接收人,当为群时可@ + string aters = 3; // 要@的人列表,逗号分隔 } message PathMsg { - string path = 1; // 要发送的图片的路径 - string receiver = 2; // 消息接收人 + string path = 1; // 要发送的图片的路径 + string receiver = 2; // 消息接收人 } message XmlMsg { - string receiver = 1; // 消息接收人 - string content = 2; // xml 内容 - string path = 3; // 图片路径 - int32 type = 4; // 消息类型 + string receiver = 1; // 消息接收人 + string content = 2; // xml 内容 + string path = 3; // 图片路径 + int32 type = 4; // 消息类型 } message MsgTypes { map types = 1; } message RpcContact { - string wxid = 1; // 微信 id - string code = 2; // 微信号 - string remark = 3; // 备注 - string name = 4; // 微信昵称 - string country = 5; // 国家 - string province = 6; // 省/州 - string city = 7; // 城市 - int32 gender = 8; // 性别 + string wxid = 1; // 微信 id + string code = 2; // 微信号 + string remark = 3; // 备注 + string name = 4; // 微信昵称 + string country = 5; // 国家 + string province = 6; // 省/州 + string city = 7; // 城市 + int32 gender = 8; // 性别 } message RpcContacts { repeated RpcContact contacts = 1; } @@ -118,54 +118,55 @@ message DbNames { repeated string names = 1; } message DbTable { - string name = 1; // 表名 - string sql = 2; // 建表 SQL + string name = 1; // 表名 + string sql = 2; // 建表 SQL } message DbTables { repeated DbTable tables = 1; } message DbQuery { - string db = 1; // 目标数据库 - string sql = 2; // 查询 SQL + string db = 1; // 目标数据库 + string sql = 2; // 查询 SQL } message DbField { - int32 type = 1; // 字段类型 - string column = 2; // 字段名称 - bytes content = 3; // 字段内容 + int32 type = 1; // 字段类型 + string column = 2; // 字段名称 + bytes content = 3; // 字段内容 } message DbRow { repeated DbField fields = 1; } message DbRows { repeated DbRow rows = 1; } message Verification { - string v3 = 1; - string v4 = 2; + string v3 = 1; // 加密的用户名 + string v4 = 2; // Ticket + int32 scene = 3; // 添加方式:17 名片,30 扫码 } message AddMembers { - string roomid = 1; // 要加的群ID - string wxids = 2; // 要加群的人列表,逗号分隔 + string roomid = 1; // 要加的群ID + string wxids = 2; // 要加群的人列表,逗号分隔 } message UserInfo { - string wxid = 1; // 微信ID - string name = 2; // 昵称 - string mobile = 3; // 手机号 - string home = 4; // 文件/图片等父路径 + string wxid = 1; // 微信ID + string name = 2; // 昵称 + string mobile = 3; // 手机号 + string home = 4; // 文件/图片等父路径 } message DecPath { - string src = 1; // 源路径 - string dst = 2; // 目标路径 + string src = 1; // 源路径 + string dst = 2; // 目标路径 } message Transfer { - string wxid = 1; // 转账人 - string tid = 2; // 转账id transferid + string wxid = 1; // 转账人 + string tid = 2; // 转账id transferid } diff --git a/go/wcf/wcf.go b/go/wcf/wcf.go index c538c03..262ad58 100644 --- a/go/wcf/wcf.go +++ b/go/wcf/wcf.go @@ -132,8 +132,23 @@ func (c *Client) ExecDBQuery(db, sql string) []*DbRow { } return recv.GetRows().GetRows() } -func (c *Client) AcceptFriend() int32 { - err := c.send(genFunReq(Functions_FUNC_ACCEPT_FRIEND).build()) + +/*AcceptFriend 接收好友请求 + * 接收好友请求 + * + * @param v3 xml.attrib["encryptusername"] + * @param v4 xml.attrib["ticket"] + */ +func (c *Client) AcceptFriend(v3, v4 string) int32 { + req := genFunReq(Functions_FUNC_ACCEPT_FRIEND) + q := Request_V{ + V: &Verification{ + V3: v3, + V4: v4, + }} + + req.Msg = &q + err := c.send(req.build()) if err != nil { logs.Err(err) } @@ -143,6 +158,59 @@ func (c *Client) AcceptFriend() int32 { } return recv.GetStatus() } +func (c *Client) AddChatroomMembers(roomID, wxIDs string) int32 { + req := genFunReq(Functions_FUNC_ADD_ROOM_MEMBERS) + q := Request_M{ + M: &AddMembers{Roomid: roomID, Wxids: wxIDs}, + } + req.Msg = &q + err := c.send(req.build()) + if err != nil { + logs.Err(err) + } + recv, err := c.Recv() + if err != nil { + logs.Err(err) + } + return recv.GetStatus() +} + +// ReceiveTransfer 接收转账 +func (c *Client) ReceiveTransfer(transferId, wxID string) int32 { + req := genFunReq(Functions_FUNC_RECV_TRANSFER) + q := Request_Tf{ + Tf: &Transfer{Tid: transferId, Wxid: wxID}, + } + req.Msg = &q + err := c.send(req.build()) + if err != nil { + logs.Err(err) + } + recv, err := c.Recv() + if err != nil { + logs.Err(err) + } + return recv.GetStatus() +} + +// DecryptImage 解密图片 加密路径,解密路径 +func (c *Client) DecryptImage(src, dst string) int32 { + req := genFunReq(Functions_FUNC_DECRYPT_IMAGE) + q := Request_Dec{ + Dec: &DecPath{Src: src, Dst: dst}, + } + req.Msg = &q + err := c.send(req.build()) + if err != nil { + logs.Err(err) + } + recv, err := c.Recv() + if err != nil { + logs.Err(err) + } + return recv.GetStatus() +} + func (c *Client) AddChatRoomMembers(roomId string, wxIds []string) int32 { req := genFunReq(Functions_FUNC_ADD_ROOM_MEMBERS) q := Request_M{ @@ -292,8 +360,8 @@ func (c *Client) OnMSG(f func(msg *WxMsg)) error { if err != nil { return err } - socket.SetOption(mangos.OptionRecvDeadline, 2000) - socket.SetOption(mangos.OptionSendDeadline, 2000) + _ = socket.SetOption(mangos.OptionRecvDeadline, 2000) + _ = socket.SetOption(mangos.OptionSendDeadline, 2000) err = socket.Dial(addPort(c.add)) if err != nil { @@ -305,7 +373,6 @@ func (c *Client) OnMSG(f func(msg *WxMsg)) error { if err != nil { return err } - logs.Info(len(recv)) _ = proto.Unmarshal(recv, msg) go f(msg.GetWxmsg()) } diff --git a/go/wcf/wcf.pb.go b/go/wcf/wcf.pb.go index c5b095e..05a3175 100644 --- a/go/wcf/wcf.pb.go +++ b/go/wcf/wcf.pb.go @@ -2,7 +2,7 @@ // versions: // protoc-gen-go v1.30.0 // protoc v4.22.3 -// source: wcf.proto +// source: proto/wcf.proto package wcf @@ -104,11 +104,11 @@ func (x Functions) String() string { } func (Functions) Descriptor() protoreflect.EnumDescriptor { - return file_wcf_proto_enumTypes[0].Descriptor() + return file_proto_wcf_proto_enumTypes[0].Descriptor() } func (Functions) Type() protoreflect.EnumType { - return &file_wcf_proto_enumTypes[0] + return &file_proto_wcf_proto_enumTypes[0] } func (x Functions) Number() protoreflect.EnumNumber { @@ -117,7 +117,7 @@ func (x Functions) Number() protoreflect.EnumNumber { // Deprecated: Use Functions.Descriptor instead. func (Functions) EnumDescriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{0} + return file_proto_wcf_proto_rawDescGZIP(), []int{0} } type Request struct { @@ -144,7 +144,7 @@ type Request struct { func (x *Request) Reset() { *x = Request{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[0] + mi := &file_proto_wcf_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -157,7 +157,7 @@ func (x *Request) String() string { func (*Request) ProtoMessage() {} func (x *Request) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[0] + mi := &file_proto_wcf_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -170,7 +170,7 @@ func (x *Request) ProtoReflect() protoreflect.Message { // Deprecated: Use Request.ProtoReflect.Descriptor instead. func (*Request) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{0} + return file_proto_wcf_proto_rawDescGZIP(), []int{0} } func (x *Request) GetFunc() Functions { @@ -344,7 +344,7 @@ type Response struct { func (x *Response) Reset() { *x = Response{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[1] + mi := &file_proto_wcf_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -357,7 +357,7 @@ func (x *Response) String() string { func (*Response) ProtoMessage() {} func (x *Response) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[1] + mi := &file_proto_wcf_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -370,7 +370,7 @@ func (x *Response) ProtoReflect() protoreflect.Message { // Deprecated: Use Response.ProtoReflect.Descriptor instead. func (*Response) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{1} + return file_proto_wcf_proto_rawDescGZIP(), []int{1} } func (x *Response) GetFunc() Functions { @@ -517,7 +517,7 @@ type Empty struct { func (x *Empty) Reset() { *x = Empty{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[2] + mi := &file_proto_wcf_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -530,7 +530,7 @@ func (x *Empty) String() string { func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[2] + mi := &file_proto_wcf_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -543,7 +543,7 @@ func (x *Empty) ProtoReflect() protoreflect.Message { // Deprecated: Use Empty.ProtoReflect.Descriptor instead. func (*Empty) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{2} + return file_proto_wcf_proto_rawDescGZIP(), []int{2} } type WxMsg struct { @@ -566,7 +566,7 @@ type WxMsg struct { func (x *WxMsg) Reset() { *x = WxMsg{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[3] + mi := &file_proto_wcf_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -579,7 +579,7 @@ func (x *WxMsg) String() string { func (*WxMsg) ProtoMessage() {} func (x *WxMsg) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[3] + mi := &file_proto_wcf_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -592,7 +592,7 @@ func (x *WxMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use WxMsg.ProtoReflect.Descriptor instead. func (*WxMsg) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{3} + return file_proto_wcf_proto_rawDescGZIP(), []int{3} } func (x *WxMsg) GetIsSelf() bool { @@ -678,7 +678,7 @@ type TextMsg struct { func (x *TextMsg) Reset() { *x = TextMsg{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[4] + mi := &file_proto_wcf_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -691,7 +691,7 @@ func (x *TextMsg) String() string { func (*TextMsg) ProtoMessage() {} func (x *TextMsg) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[4] + mi := &file_proto_wcf_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -704,7 +704,7 @@ func (x *TextMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use TextMsg.ProtoReflect.Descriptor instead. func (*TextMsg) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{4} + return file_proto_wcf_proto_rawDescGZIP(), []int{4} } func (x *TextMsg) GetMsg() string { @@ -740,7 +740,7 @@ type PathMsg struct { func (x *PathMsg) Reset() { *x = PathMsg{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[5] + mi := &file_proto_wcf_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -753,7 +753,7 @@ func (x *PathMsg) String() string { func (*PathMsg) ProtoMessage() {} func (x *PathMsg) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[5] + mi := &file_proto_wcf_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -766,7 +766,7 @@ func (x *PathMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use PathMsg.ProtoReflect.Descriptor instead. func (*PathMsg) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{5} + return file_proto_wcf_proto_rawDescGZIP(), []int{5} } func (x *PathMsg) GetPath() string { @@ -797,7 +797,7 @@ type XmlMsg struct { func (x *XmlMsg) Reset() { *x = XmlMsg{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[6] + mi := &file_proto_wcf_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -810,7 +810,7 @@ func (x *XmlMsg) String() string { func (*XmlMsg) ProtoMessage() {} func (x *XmlMsg) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[6] + mi := &file_proto_wcf_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -823,7 +823,7 @@ func (x *XmlMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use XmlMsg.ProtoReflect.Descriptor instead. func (*XmlMsg) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{6} + return file_proto_wcf_proto_rawDescGZIP(), []int{6} } func (x *XmlMsg) GetReceiver() string { @@ -865,7 +865,7 @@ type MsgTypes struct { func (x *MsgTypes) Reset() { *x = MsgTypes{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[7] + mi := &file_proto_wcf_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -878,7 +878,7 @@ func (x *MsgTypes) String() string { func (*MsgTypes) ProtoMessage() {} func (x *MsgTypes) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[7] + mi := &file_proto_wcf_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -891,7 +891,7 @@ func (x *MsgTypes) ProtoReflect() protoreflect.Message { // Deprecated: Use MsgTypes.ProtoReflect.Descriptor instead. func (*MsgTypes) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{7} + return file_proto_wcf_proto_rawDescGZIP(), []int{7} } func (x *MsgTypes) GetTypes() map[int32]string { @@ -919,7 +919,7 @@ type RpcContact struct { func (x *RpcContact) Reset() { *x = RpcContact{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[8] + mi := &file_proto_wcf_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -932,7 +932,7 @@ func (x *RpcContact) String() string { func (*RpcContact) ProtoMessage() {} func (x *RpcContact) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[8] + mi := &file_proto_wcf_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -945,7 +945,7 @@ func (x *RpcContact) ProtoReflect() protoreflect.Message { // Deprecated: Use RpcContact.ProtoReflect.Descriptor instead. func (*RpcContact) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{8} + return file_proto_wcf_proto_rawDescGZIP(), []int{8} } func (x *RpcContact) GetWxid() string { @@ -1015,7 +1015,7 @@ type RpcContacts struct { func (x *RpcContacts) Reset() { *x = RpcContacts{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[9] + mi := &file_proto_wcf_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1028,7 +1028,7 @@ func (x *RpcContacts) String() string { func (*RpcContacts) ProtoMessage() {} func (x *RpcContacts) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[9] + mi := &file_proto_wcf_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1041,7 +1041,7 @@ func (x *RpcContacts) ProtoReflect() protoreflect.Message { // Deprecated: Use RpcContacts.ProtoReflect.Descriptor instead. func (*RpcContacts) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{9} + return file_proto_wcf_proto_rawDescGZIP(), []int{9} } func (x *RpcContacts) GetContacts() []*RpcContact { @@ -1062,7 +1062,7 @@ type DbNames struct { func (x *DbNames) Reset() { *x = DbNames{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[10] + mi := &file_proto_wcf_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1075,7 +1075,7 @@ func (x *DbNames) String() string { func (*DbNames) ProtoMessage() {} func (x *DbNames) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[10] + mi := &file_proto_wcf_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1088,7 +1088,7 @@ func (x *DbNames) ProtoReflect() protoreflect.Message { // Deprecated: Use DbNames.ProtoReflect.Descriptor instead. func (*DbNames) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{10} + return file_proto_wcf_proto_rawDescGZIP(), []int{10} } func (x *DbNames) GetNames() []string { @@ -1110,7 +1110,7 @@ type DbTable struct { func (x *DbTable) Reset() { *x = DbTable{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[11] + mi := &file_proto_wcf_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1123,7 +1123,7 @@ func (x *DbTable) String() string { func (*DbTable) ProtoMessage() {} func (x *DbTable) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[11] + mi := &file_proto_wcf_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1136,7 +1136,7 @@ func (x *DbTable) ProtoReflect() protoreflect.Message { // Deprecated: Use DbTable.ProtoReflect.Descriptor instead. func (*DbTable) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{11} + return file_proto_wcf_proto_rawDescGZIP(), []int{11} } func (x *DbTable) GetName() string { @@ -1164,7 +1164,7 @@ type DbTables struct { func (x *DbTables) Reset() { *x = DbTables{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[12] + mi := &file_proto_wcf_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1177,7 +1177,7 @@ func (x *DbTables) String() string { func (*DbTables) ProtoMessage() {} func (x *DbTables) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[12] + mi := &file_proto_wcf_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1190,7 +1190,7 @@ func (x *DbTables) ProtoReflect() protoreflect.Message { // Deprecated: Use DbTables.ProtoReflect.Descriptor instead. func (*DbTables) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{12} + return file_proto_wcf_proto_rawDescGZIP(), []int{12} } func (x *DbTables) GetTables() []*DbTable { @@ -1212,7 +1212,7 @@ type DbQuery struct { func (x *DbQuery) Reset() { *x = DbQuery{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[13] + mi := &file_proto_wcf_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1225,7 +1225,7 @@ func (x *DbQuery) String() string { func (*DbQuery) ProtoMessage() {} func (x *DbQuery) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[13] + mi := &file_proto_wcf_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1238,7 +1238,7 @@ func (x *DbQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use DbQuery.ProtoReflect.Descriptor instead. func (*DbQuery) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{13} + return file_proto_wcf_proto_rawDescGZIP(), []int{13} } func (x *DbQuery) GetDb() string { @@ -1268,7 +1268,7 @@ type DbField struct { func (x *DbField) Reset() { *x = DbField{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[14] + mi := &file_proto_wcf_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1281,7 +1281,7 @@ func (x *DbField) String() string { func (*DbField) ProtoMessage() {} func (x *DbField) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[14] + mi := &file_proto_wcf_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1294,7 +1294,7 @@ func (x *DbField) ProtoReflect() protoreflect.Message { // Deprecated: Use DbField.ProtoReflect.Descriptor instead. func (*DbField) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{14} + return file_proto_wcf_proto_rawDescGZIP(), []int{14} } func (x *DbField) GetType() int32 { @@ -1329,7 +1329,7 @@ type DbRow struct { func (x *DbRow) Reset() { *x = DbRow{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[15] + mi := &file_proto_wcf_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1342,7 +1342,7 @@ func (x *DbRow) String() string { func (*DbRow) ProtoMessage() {} func (x *DbRow) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[15] + mi := &file_proto_wcf_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1355,7 +1355,7 @@ func (x *DbRow) ProtoReflect() protoreflect.Message { // Deprecated: Use DbRow.ProtoReflect.Descriptor instead. func (*DbRow) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{15} + return file_proto_wcf_proto_rawDescGZIP(), []int{15} } func (x *DbRow) GetFields() []*DbField { @@ -1376,7 +1376,7 @@ type DbRows struct { func (x *DbRows) Reset() { *x = DbRows{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[16] + mi := &file_proto_wcf_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1389,7 +1389,7 @@ func (x *DbRows) String() string { func (*DbRows) ProtoMessage() {} func (x *DbRows) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[16] + mi := &file_proto_wcf_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1402,7 +1402,7 @@ func (x *DbRows) ProtoReflect() protoreflect.Message { // Deprecated: Use DbRows.ProtoReflect.Descriptor instead. func (*DbRows) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{16} + return file_proto_wcf_proto_rawDescGZIP(), []int{16} } func (x *DbRows) GetRows() []*DbRow { @@ -1417,14 +1417,15 @@ type Verification struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - V3 string `protobuf:"bytes,1,opt,name=v3,proto3" json:"v3,omitempty"` - V4 string `protobuf:"bytes,2,opt,name=v4,proto3" json:"v4,omitempty"` + V3 string `protobuf:"bytes,1,opt,name=v3,proto3" json:"v3,omitempty"` // 加密的用户名 + V4 string `protobuf:"bytes,2,opt,name=v4,proto3" json:"v4,omitempty"` // Ticket + Scene int32 `protobuf:"varint,3,opt,name=scene,proto3" json:"scene,omitempty"` // 添加方式:17 名片,30 扫码 } func (x *Verification) Reset() { *x = Verification{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[17] + mi := &file_proto_wcf_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1437,7 +1438,7 @@ func (x *Verification) String() string { func (*Verification) ProtoMessage() {} func (x *Verification) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[17] + mi := &file_proto_wcf_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1450,7 +1451,7 @@ func (x *Verification) ProtoReflect() protoreflect.Message { // Deprecated: Use Verification.ProtoReflect.Descriptor instead. func (*Verification) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{17} + return file_proto_wcf_proto_rawDescGZIP(), []int{17} } func (x *Verification) GetV3() string { @@ -1467,6 +1468,13 @@ func (x *Verification) GetV4() string { return "" } +func (x *Verification) GetScene() int32 { + if x != nil { + return x.Scene + } + return 0 +} + type AddMembers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1479,7 +1487,7 @@ type AddMembers struct { func (x *AddMembers) Reset() { *x = AddMembers{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[18] + mi := &file_proto_wcf_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1492,7 +1500,7 @@ func (x *AddMembers) String() string { func (*AddMembers) ProtoMessage() {} func (x *AddMembers) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[18] + mi := &file_proto_wcf_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1505,7 +1513,7 @@ func (x *AddMembers) ProtoReflect() protoreflect.Message { // Deprecated: Use AddMembers.ProtoReflect.Descriptor instead. func (*AddMembers) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{18} + return file_proto_wcf_proto_rawDescGZIP(), []int{18} } func (x *AddMembers) GetRoomid() string { @@ -1536,7 +1544,7 @@ type UserInfo struct { func (x *UserInfo) Reset() { *x = UserInfo{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[19] + mi := &file_proto_wcf_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1549,7 +1557,7 @@ func (x *UserInfo) String() string { func (*UserInfo) ProtoMessage() {} func (x *UserInfo) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[19] + mi := &file_proto_wcf_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1562,7 +1570,7 @@ func (x *UserInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. func (*UserInfo) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{19} + return file_proto_wcf_proto_rawDescGZIP(), []int{19} } func (x *UserInfo) GetWxid() string { @@ -1605,7 +1613,7 @@ type DecPath struct { func (x *DecPath) Reset() { *x = DecPath{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[20] + mi := &file_proto_wcf_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1618,7 +1626,7 @@ func (x *DecPath) String() string { func (*DecPath) ProtoMessage() {} func (x *DecPath) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[20] + mi := &file_proto_wcf_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1631,7 +1639,7 @@ func (x *DecPath) ProtoReflect() protoreflect.Message { // Deprecated: Use DecPath.ProtoReflect.Descriptor instead. func (*DecPath) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{20} + return file_proto_wcf_proto_rawDescGZIP(), []int{20} } func (x *DecPath) GetSrc() string { @@ -1660,7 +1668,7 @@ type Transfer struct { func (x *Transfer) Reset() { *x = Transfer{} if protoimpl.UnsafeEnabled { - mi := &file_wcf_proto_msgTypes[21] + mi := &file_proto_wcf_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1673,7 +1681,7 @@ func (x *Transfer) String() string { func (*Transfer) ProtoMessage() {} func (x *Transfer) ProtoReflect() protoreflect.Message { - mi := &file_wcf_proto_msgTypes[21] + mi := &file_proto_wcf_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1686,7 +1694,7 @@ func (x *Transfer) ProtoReflect() protoreflect.Message { // Deprecated: Use Transfer.ProtoReflect.Descriptor instead. func (*Transfer) Descriptor() ([]byte, []int) { - return file_wcf_proto_rawDescGZIP(), []int{21} + return file_proto_wcf_proto_rawDescGZIP(), []int{21} } func (x *Transfer) GetWxid() string { @@ -1703,200 +1711,202 @@ func (x *Transfer) GetTid() string { return "" } -var File_wcf_proto protoreflect.FileDescriptor +var File_proto_wcf_proto protoreflect.FileDescriptor -var file_wcf_proto_rawDesc = []byte{ - 0x0a, 0x09, 0x77, 0x63, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x77, 0x63, 0x66, - 0x22, 0x80, 0x03, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x04, - 0x66, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x77, 0x63, 0x66, - 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, - 0x12, 0x22, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x74, 0x78, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x54, 0x65, 0x78, 0x74, - 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x03, 0x74, 0x78, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x69, - 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x50, - 0x61, 0x74, 0x68, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x24, - 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x01, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x01, 0x76, 0x12, 0x1f, 0x0a, 0x01, 0x6d, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x01, 0x6d, 0x12, 0x1f, 0x0a, 0x03, 0x78, 0x6d, 0x6c, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x58, 0x6d, 0x6c, 0x4d, - 0x73, 0x67, 0x48, 0x00, 0x52, 0x03, 0x78, 0x6d, 0x6c, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x63, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x65, 0x63, - 0x50, 0x61, 0x74, 0x68, 0x48, 0x00, 0x52, 0x03, 0x64, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x02, 0x74, - 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x02, 0x74, 0x66, 0x42, 0x05, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x22, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, - 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, - 0x66, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, - 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, - 0x74, 0x72, 0x12, 0x22, 0x0a, 0x05, 0x77, 0x78, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0a, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x57, 0x78, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, - 0x05, 0x77, 0x78, 0x6d, 0x73, 0x67, 0x12, 0x25, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x4d, 0x73, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, - 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x73, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x20, 0x0a, - 0x03, 0x64, 0x62, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, - 0x2e, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x48, 0x00, 0x52, 0x03, 0x64, 0x62, 0x73, 0x12, - 0x27, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x48, 0x00, - 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x52, - 0x6f, 0x77, 0x73, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x1f, 0x0a, 0x02, 0x75, - 0x69, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x02, 0x75, 0x69, 0x42, 0x05, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xe7, 0x01, 0x0a, - 0x05, 0x57, 0x78, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x12, - 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x78, 0x6d, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x78, 0x6d, 0x6c, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, - 0x75, 0x6d, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x75, 0x6d, 0x62, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x4d, 0x0a, 0x07, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, - 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x61, 0x74, 0x65, 0x72, 0x73, 0x22, 0x39, 0x0a, 0x07, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x73, 0x67, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, - 0x22, 0x66, 0x0a, 0x06, 0x58, 0x6d, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x74, 0x0a, 0x08, 0x4d, 0x73, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, - 0x01, 0x0a, 0x0a, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, +var file_proto_wcf_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x63, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x03, 0x77, 0x63, 0x66, 0x22, 0x80, 0x03, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x0e, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x20, + 0x0a, 0x03, 0x74, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, + 0x66, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x03, 0x74, 0x78, 0x74, + 0x12, 0x22, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x01, 0x76, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x01, 0x76, 0x12, 0x1f, 0x0a, + 0x01, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x41, + 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x01, 0x6d, 0x12, 0x1f, + 0x0a, 0x03, 0x78, 0x6d, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x77, 0x63, + 0x66, 0x2e, 0x58, 0x6d, 0x6c, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x03, 0x78, 0x6d, 0x6c, 0x12, + 0x20, 0x0a, 0x03, 0x64, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, + 0x63, 0x66, 0x2e, 0x44, 0x65, 0x63, 0x50, 0x61, 0x74, 0x68, 0x48, 0x00, 0x52, 0x03, 0x64, 0x65, + 0x63, 0x12, 0x1f, 0x0a, 0x02, 0x74, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x77, 0x63, 0x66, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x02, + 0x74, 0x66, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x08, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x22, 0x0a, 0x05, 0x77, 0x78, 0x6d, 0x73, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x57, 0x78, + 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x05, 0x77, 0x78, 0x6d, 0x73, 0x67, 0x12, 0x25, 0x0a, 0x05, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, + 0x66, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x52, 0x70, 0x63, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x62, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x48, 0x00, + 0x52, 0x03, 0x64, 0x62, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x21, + 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x77, + 0x63, 0x66, 0x2e, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x73, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, 0x77, + 0x73, 0x12, 0x1f, 0x0a, 0x02, 0x75, 0x69, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x77, 0x63, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x02, + 0x75, 0x69, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0xe7, 0x01, 0x0a, 0x05, 0x57, 0x78, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x0a, 0x07, + 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, + 0x73, 0x53, 0x65, 0x6c, 0x66, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x78, 0x6d, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x78, 0x6d, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x4d, 0x0a, 0x07, + 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x74, 0x65, 0x72, 0x73, 0x22, 0x39, 0x0a, 0x07, 0x50, + 0x61, 0x74, 0x68, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x06, 0x58, 0x6d, 0x6c, 0x4d, 0x73, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x74, + 0x0a, 0x08, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x63, 0x66, 0x2e, + 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, 0x01, 0x0a, 0x0a, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x77, 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x3a, 0x0a, 0x0b, 0x52, 0x70, 0x63, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x63, 0x66, + 0x2e, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x73, 0x22, 0x1f, 0x0a, 0x07, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x30, 0x0a, 0x08, 0x44, 0x62, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x07, 0x44, 0x62, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x64, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x4f, 0x0a, 0x07, 0x44, 0x62, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x05, 0x44, 0x62, 0x52, 0x6f, 0x77, + 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x28, 0x0a, 0x06, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x73, + 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, + 0x22, 0x44, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x33, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x76, 0x33, + 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x76, 0x34, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x22, 0x3a, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x77, 0x78, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x78, 0x69, + 0x64, 0x73, 0x22, 0x5e, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, + 0x0a, 0x04, 0x77, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x78, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, + 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x72, 0x63, 0x12, + 0x10, 0x0a, 0x03, 0x64, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x73, + 0x74, 0x22, 0x30, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x78, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x67, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x22, 0x3a, 0x0a, 0x0b, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x52, 0x70, 0x63, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x22, - 0x1f, 0x0a, 0x07, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x22, 0x2f, 0x0a, 0x07, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, - 0x6c, 0x22, 0x30, 0x0a, 0x08, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, - 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x07, 0x44, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x0e, - 0x0a, 0x02, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x64, 0x62, 0x12, 0x10, - 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, - 0x22, 0x4f, 0x0a, 0x07, 0x44, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x22, 0x2d, 0x0a, 0x05, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, - 0x2e, 0x44, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x22, 0x28, 0x0a, 0x06, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, - 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, - 0x62, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x2e, 0x0a, 0x0c, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x33, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x76, 0x33, 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x34, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x76, 0x34, 0x22, 0x3a, 0x0a, 0x0a, 0x41, 0x64, - 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x77, 0x78, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x77, 0x78, 0x69, 0x64, 0x73, 0x22, 0x5e, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x77, 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, - 0x62, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x73, 0x72, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x64, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x77, 0x78, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x74, 0x69, 0x64, 0x2a, 0xd3, 0x03, 0x0a, 0x09, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, - 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, - 0x5f, 0x49, 0x53, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, - 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x57, 0x58, 0x49, - 0x44, 0x10, 0x10, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, - 0x4d, 0x53, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x10, 0x11, 0x12, 0x15, 0x0a, 0x11, 0x46, - 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x53, - 0x10, 0x12, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x44, - 0x42, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x10, 0x13, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, - 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x42, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, - 0x14, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x55, 0x53, - 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, - 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x20, 0x12, 0x11, 0x0a, 0x0d, - 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x49, 0x4d, 0x47, 0x10, 0x21, 0x12, - 0x12, 0x0a, 0x0e, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, - 0x45, 0x10, 0x22, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, - 0x5f, 0x58, 0x4d, 0x4c, 0x10, 0x23, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, - 0x45, 0x4e, 0x44, 0x5f, 0x45, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x24, 0x12, 0x18, 0x0a, - 0x14, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, - 0x56, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x30, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x55, 0x4e, 0x43, 0x5f, - 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x54, 0x58, 0x54, - 0x10, 0x40, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x5f, - 0x44, 0x42, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x50, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, - 0x4e, 0x43, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, - 0x10, 0x51, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x52, - 0x4f, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x10, 0x52, 0x12, 0x16, 0x0a, - 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x46, 0x45, 0x52, 0x10, 0x53, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x44, 0x45, - 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x60, 0x42, 0x14, 0x0a, - 0x0b, 0x63, 0x6f, 0x6d, 0x2e, 0x69, 0x61, 0x6d, 0x74, 0x65, 0x65, 0x72, 0x5a, 0x05, 0x2e, 0x2f, - 0x77, 0x63, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x74, 0x69, 0x64, 0x2a, 0xd3, 0x03, 0x0a, 0x09, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x49, 0x53, 0x5f, + 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, + 0x47, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x57, 0x58, 0x49, 0x44, 0x10, 0x10, 0x12, + 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x53, 0x47, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x53, 0x10, 0x11, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x43, 0x5f, + 0x47, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x53, 0x10, 0x12, 0x12, 0x15, + 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x41, + 0x4d, 0x45, 0x53, 0x10, 0x13, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, + 0x54, 0x5f, 0x44, 0x42, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x14, 0x12, 0x16, 0x0a, + 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, + 0x4e, 0x46, 0x4f, 0x10, 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, + 0x4e, 0x44, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x20, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, + 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x49, 0x4d, 0x47, 0x10, 0x21, 0x12, 0x12, 0x0a, 0x0e, 0x46, + 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x22, 0x12, + 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x4c, + 0x10, 0x23, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, + 0x45, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x24, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x55, 0x4e, + 0x43, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x54, 0x58, + 0x54, 0x10, 0x30, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x40, 0x12, 0x16, + 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x44, 0x42, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x10, 0x50, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x41, + 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0x51, 0x12, 0x19, + 0x0a, 0x15, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, + 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x10, 0x52, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, + 0x43, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, + 0x53, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, + 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x60, 0x42, 0x14, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, + 0x2e, 0x69, 0x61, 0x6d, 0x74, 0x65, 0x65, 0x72, 0x5a, 0x05, 0x2e, 0x2f, 0x77, 0x63, 0x66, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_wcf_proto_rawDescOnce sync.Once - file_wcf_proto_rawDescData = file_wcf_proto_rawDesc + file_proto_wcf_proto_rawDescOnce sync.Once + file_proto_wcf_proto_rawDescData = file_proto_wcf_proto_rawDesc ) -func file_wcf_proto_rawDescGZIP() []byte { - file_wcf_proto_rawDescOnce.Do(func() { - file_wcf_proto_rawDescData = protoimpl.X.CompressGZIP(file_wcf_proto_rawDescData) +func file_proto_wcf_proto_rawDescGZIP() []byte { + file_proto_wcf_proto_rawDescOnce.Do(func() { + file_proto_wcf_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_wcf_proto_rawDescData) }) - return file_wcf_proto_rawDescData + return file_proto_wcf_proto_rawDescData } -var file_wcf_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_wcf_proto_msgTypes = make([]protoimpl.MessageInfo, 23) -var file_wcf_proto_goTypes = []interface{}{ +var file_proto_wcf_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_proto_wcf_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_proto_wcf_proto_goTypes = []interface{}{ (Functions)(0), // 0: wcf.Functions (*Request)(nil), // 1: wcf.Request (*Response)(nil), // 2: wcf.Response @@ -1922,7 +1932,7 @@ var file_wcf_proto_goTypes = []interface{}{ (*Transfer)(nil), // 22: wcf.Transfer nil, // 23: wcf.MsgTypes.TypesEntry } -var file_wcf_proto_depIdxs = []int32{ +var file_proto_wcf_proto_depIdxs = []int32{ 0, // 0: wcf.Request.func:type_name -> wcf.Functions 3, // 1: wcf.Request.empty:type_name -> wcf.Empty 5, // 2: wcf.Request.txt:type_name -> wcf.TextMsg @@ -1953,13 +1963,13 @@ var file_wcf_proto_depIdxs = []int32{ 0, // [0:23] is the sub-list for field type_name } -func init() { file_wcf_proto_init() } -func file_wcf_proto_init() { - if File_wcf_proto != nil { +func init() { file_proto_wcf_proto_init() } +func file_proto_wcf_proto_init() { + if File_proto_wcf_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_wcf_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request); i { case 0: return &v.state @@ -1971,7 +1981,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Response); i { case 0: return &v.state @@ -1983,7 +1993,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Empty); i { case 0: return &v.state @@ -1995,7 +2005,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxMsg); i { case 0: return &v.state @@ -2007,7 +2017,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TextMsg); i { case 0: return &v.state @@ -2019,7 +2029,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathMsg); i { case 0: return &v.state @@ -2031,7 +2041,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XmlMsg); i { case 0: return &v.state @@ -2043,7 +2053,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgTypes); i { case 0: return &v.state @@ -2055,7 +2065,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RpcContact); i { case 0: return &v.state @@ -2067,7 +2077,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RpcContacts); i { case 0: return &v.state @@ -2079,7 +2089,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbNames); i { case 0: return &v.state @@ -2091,7 +2101,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbTable); i { case 0: return &v.state @@ -2103,7 +2113,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbTables); i { case 0: return &v.state @@ -2115,7 +2125,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbQuery); i { case 0: return &v.state @@ -2127,7 +2137,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbField); i { case 0: return &v.state @@ -2139,7 +2149,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbRow); i { case 0: return &v.state @@ -2151,7 +2161,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbRows); i { case 0: return &v.state @@ -2163,7 +2173,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Verification); i { case 0: return &v.state @@ -2175,7 +2185,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddMembers); i { case 0: return &v.state @@ -2187,7 +2197,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserInfo); i { case 0: return &v.state @@ -2199,7 +2209,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecPath); i { case 0: return &v.state @@ -2211,7 +2221,7 @@ func file_wcf_proto_init() { return nil } } - file_wcf_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_proto_wcf_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Transfer); i { case 0: return &v.state @@ -2224,7 +2234,7 @@ func file_wcf_proto_init() { } } } - file_wcf_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_proto_wcf_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Request_Empty)(nil), (*Request_Str)(nil), (*Request_Txt)(nil), @@ -2236,7 +2246,7 @@ func file_wcf_proto_init() { (*Request_Dec)(nil), (*Request_Tf)(nil), } - file_wcf_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_proto_wcf_proto_msgTypes[1].OneofWrappers = []interface{}{ (*Response_Status)(nil), (*Response_Str)(nil), (*Response_Wxmsg)(nil), @@ -2251,19 +2261,19 @@ func file_wcf_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_wcf_proto_rawDesc, + RawDescriptor: file_proto_wcf_proto_rawDesc, NumEnums: 1, NumMessages: 23, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_wcf_proto_goTypes, - DependencyIndexes: file_wcf_proto_depIdxs, - EnumInfos: file_wcf_proto_enumTypes, - MessageInfos: file_wcf_proto_msgTypes, + GoTypes: file_proto_wcf_proto_goTypes, + DependencyIndexes: file_proto_wcf_proto_depIdxs, + EnumInfos: file_proto_wcf_proto_enumTypes, + MessageInfos: file_proto_wcf_proto_msgTypes, }.Build() - File_wcf_proto = out.File - file_wcf_proto_rawDesc = nil - file_wcf_proto_goTypes = nil - file_wcf_proto_depIdxs = nil + File_proto_wcf_proto = out.File + file_proto_wcf_proto_rawDesc = nil + file_proto_wcf_proto_goTypes = nil + file_proto_wcf_proto_depIdxs = nil } From cba52e8232777d1fbee6413152e523ca2b3af8c6 Mon Sep 17 00:00:00 2001 From: danbai Date: Sat, 6 May 2023 10:59:31 +0800 Subject: [PATCH 2/3] go v3.7.0.30.25 --- go/wcf/wcf_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/wcf/wcf_test.go b/go/wcf/wcf_test.go index ca96e08..1407520 100644 --- a/go/wcf/wcf_test.go +++ b/go/wcf/wcf_test.go @@ -112,7 +112,7 @@ func TestAcceptFriend(t *testing.T) { logs.Err(err) return } - logs.Info(wcf.AcceptFriend()) + logs.Info(wcf.AcceptFriend("encryptusername", "ticket")) } func TestGetUserInfo(t *testing.T) { wcf, err := NewWCF("") From 11c0c154ee55dfab0ee9f081f64a9a29cd14083d Mon Sep 17 00:00:00 2001 From: danbai Date: Sun, 7 May 2023 10:53:06 +0800 Subject: [PATCH 3/3] go v3.7.0.30.25 --- go/wcf/wcf.go | 12 +++++++----- go/wcf/wcf_test.go | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/go/wcf/wcf.go b/go/wcf/wcf.go index 262ad58..ace1230 100644 --- a/go/wcf/wcf.go +++ b/go/wcf/wcf.go @@ -136,15 +136,17 @@ func (c *Client) ExecDBQuery(db, sql string) []*DbRow { /*AcceptFriend 接收好友请求 * 接收好友请求 * - * @param v3 xml.attrib["encryptusername"] - * @param v4 xml.attrib["ticket"] + * @param v3 xml.attrib["encryptusername"] // 加密的用户名 + * @param v4 xml.attrib["ticket"] // Ticket + * @param scene 17 // 添加方式:17 名片,30 扫码 */ -func (c *Client) AcceptFriend(v3, v4 string) int32 { +func (c *Client) AcceptFriend(v3, v4 string, scene int32) int32 { req := genFunReq(Functions_FUNC_ACCEPT_FRIEND) q := Request_V{ V: &Verification{ - V3: v3, - V4: v4, + V3: v3, + V4: v4, + Scene: scene, }} req.Msg = &q diff --git a/go/wcf/wcf_test.go b/go/wcf/wcf_test.go index 1407520..379d94b 100644 --- a/go/wcf/wcf_test.go +++ b/go/wcf/wcf_test.go @@ -112,7 +112,7 @@ func TestAcceptFriend(t *testing.T) { logs.Err(err) return } - logs.Info(wcf.AcceptFriend("encryptusername", "ticket")) + logs.Info(wcf.AcceptFriend("encryptusername", "ticket", 17)) } func TestGetUserInfo(t *testing.T) { wcf, err := NewWCF("")