Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
98aa0b73
Commit
98aa0b73
authored
Feb 01, 2025
by
johnnyjoy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor: retire memo uid
parent
b0119f32
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
375 additions
and
387 deletions
+375
-387
memo_service.proto
proto/api/v1/memo_service.proto
+2
-3
memo_service.pb.go
proto/gen/api/v1/memo_service.pb.go
+328
-338
apidocs.swagger.yaml
proto/gen/apidocs.swagger.yaml
+0
-10
memo_relation_service.go
server/router/api/v1/memo_relation_service.go
+6
-6
memo_resource_service.go
server/router/api/v1/memo_resource_service.go
+4
-4
memo_service.go
server/router/api/v1/memo_service.go
+30
-22
resource_name.go
server/router/api/v1/resource_name.go
+3
-2
resource_service.go
server/router/api/v1/resource_service.go
+2
-2
No files found.
proto/api/v1/memo_service.proto
View file @
98aa0b73
...
...
@@ -124,13 +124,12 @@ enum Visibility {
}
message
Memo
{
reserved
2
;
// The name of the memo.
// Format: memos/{memo}, memo is the user defined id or uuid.
string
name
=
1
[(
google.api.field_behavior
)
=
OUTPUT_ONLY
];
// The system generated unique id. Auto-incremented.
int32
uid
=
2
[(
google.api.field_behavior
)
=
OUTPUT_ONLY
];
State
state
=
3
;
// The name of the creator.
...
...
proto/gen/api/v1/memo_service.pb.go
View file @
98aa0b73
...
...
@@ -81,10 +81,8 @@ type Memo struct {
state
protoimpl
.
MessageState
`protogen:"open.v1"`
// The name of the memo.
// Format: memos/{memo}, memo is the user defined id or uuid.
Name
string
`protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The system generated unique id. Auto-incremented.
Uid
int32
`protobuf:"varint,2,opt,name=uid,proto3" json:"uid,omitempty"`
State
State
`protobuf:"varint,3,opt,name=state,proto3,enum=memos.api.v1.State" json:"state,omitempty"`
Name
string
`protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
State
State
`protobuf:"varint,3,opt,name=state,proto3,enum=memos.api.v1.State" json:"state,omitempty"`
// The name of the creator.
// Format: users/{user}
Creator
string
`protobuf:"bytes,4,opt,name=creator,proto3" json:"creator,omitempty"`
...
...
@@ -148,13 +146,6 @@ func (x *Memo) GetName() string {
return
""
}
func
(
x
*
Memo
)
GetUid
()
int32
{
if
x
!=
nil
{
return
x
.
Uid
}
return
0
}
func
(
x
*
Memo
)
GetState
()
State
{
if
x
!=
nil
{
return
x
.
State
...
...
@@ -1503,342 +1494,341 @@ var file_api_v1_memo_service_proto_rawDesc = string([]byte{
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2f
,
0x66
,
0x69
,
0x65
,
0x6c
,
0x64
,
0x5f
,
0x6d
,
0x61
,
0x73
,
0x6b
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x1f
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2f
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2f
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x73
,
0x74
,
0x61
,
0x6d
,
0x70
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x
ea
,
0x06
,
0x0a
,
0x04
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x70
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x
d8
,
0x06
,
0x0a
,
0x04
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x18
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x03
,
0x75
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x03
,
0x75
,
0x69
,
0x64
,
0x12
,
0x29
,
0x0a
,
0x05
,
0x73
,
0x74
,
0x61
,
0x74
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x13
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x53
,
0x74
,
0x61
,
0x74
,
0x65
,
0x52
,
0x05
,
0x73
,
0x74
,
0x61
,
0x74
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x63
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x63
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x12
,
0x3b
,
0x0a
,
0x0b
,
0x63
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x5f
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x73
,
0x74
,
0x61
,
0x6d
,
0x70
,
0x52
,
0x0a
,
0x63
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x3b
,
0x0a
,
0x0b
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x5f
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x73
,
0x74
,
0x61
,
0x6d
,
0x70
,
0x52
,
0x0a
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x3d
,
0x0a
,
0x0c
,
0x64
,
0x69
,
0x73
,
0x70
,
0x6c
,
0x61
,
0x79
,
0x5f
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x73
,
0x74
,
0x61
,
0x6d
,
0x70
,
0x52
,
0x0b
,
0x64
,
0x69
,
0x73
,
0x70
,
0x6c
,
0x61
,
0x79
,
0x54
,
0x69
,
0x6d
,
0x65
,
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
,
0x2e
,
0x0a
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x18
,
0x09
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x12
,
0x38
,
0x0a
,
0x0a
,
0x76
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x18
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x56
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x52
,
0x0a
,
0x76
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x04
,
0x74
,
0x61
,
0x67
,
0x73
,
0x18
,
0x0b
,
0x20
,
0x03
,
0x28
,
0x09
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x04
,
0x74
,
0x61
,
0x67
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x70
,
0x69
,
0x6e
,
0x6e
,
0x65
,
0x64
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x06
,
0x70
,
0x69
,
0x6e
,
0x6e
,
0x65
,
0x64
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x0e
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x38
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x0f
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x3a
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x10
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x09
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x3c
,
0x0a
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x79
,
0x18
,
0x11
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x79
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x79
,
0x12
,
0x21
,
0x0a
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x12
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x48
,
0x00
,
0x52
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x88
,
0x01
,
0x01
,
0x12
,
0x1e
,
0x0a
,
0x07
,
0x73
,
0x6e
,
0x69
,
0x70
,
0x70
,
0x65
,
0x74
,
0x18
,
0x13
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x07
,
0x73
,
0x6e
,
0x69
,
0x70
,
0x70
,
0x65
,
0x74
,
0x12
,
0x37
,
0x0a
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x14
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x48
,
0x01
,
0x52
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x88
,
0x01
,
0x01
,
0x42
,
0x09
,
0x0a
,
0x07
,
0x5f
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x42
,
0x0b
,
0x0a
,
0x09
,
0x5f
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x9a
,
0x01
,
0x0a
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x79
,
0x12
,
0x19
,
0x0a
,
0x08
,
0x68
,
0x61
,
0x73
,
0x5f
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x07
,
0x68
,
0x61
,
0x73
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x12
,
0x22
,
0x0a
,
0x0d
,
0x68
,
0x61
,
0x73
,
0x5f
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0b
,
0x68
,
0x61
,
0x73
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x19
,
0x0a
,
0x08
,
0x68
,
0x61
,
0x73
,
0x5f
,
0x63
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x07
,
0x68
,
0x61
,
0x73
,
0x43
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x30
,
0x0a
,
0x14
,
0x68
,
0x61
,
0x73
,
0x5f
,
0x69
,
0x6e
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x5f
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x12
,
0x68
,
0x61
,
0x73
,
0x49
,
0x6e
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x73
,
0x22
,
0x66
,
0x0a
,
0x08
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x70
,
0x6c
,
0x61
,
0x63
,
0x65
,
0x68
,
0x6f
,
0x6c
,
0x64
,
0x65
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x70
,
0x6c
,
0x61
,
0x63
,
0x65
,
0x68
,
0x6f
,
0x6c
,
0x64
,
0x65
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x74
,
0x75
,
0x64
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x01
,
0x52
,
0x08
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x74
,
0x75
,
0x64
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x6c
,
0x6f
,
0x6e
,
0x67
,
0x69
,
0x74
,
0x75
,
0x64
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x01
,
0x52
,
0x09
,
0x6c
,
0x6f
,
0x6e
,
0x67
,
0x69
,
0x74
,
0x75
,
0x64
,
0x65
,
0x22
,
0x9d
,
0x02
,
0x0a
,
0x11
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x38
,
0x0a
,
0x0a
,
0x76
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x18
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x56
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x52
,
0x0a
,
0x76
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x38
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x04
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x37
,
0x0a
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x48
,
0x00
,
0x52
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x88
,
0x01
,
0x01
,
0x42
,
0x0b
,
0x0a
,
0x09
,
0x5f
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x66
,
0x0a
,
0x10
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x1b
,
0x0a
,
0x09
,
0x70
,
0x61
,
0x67
,
0x65
,
0x5f
,
0x73
,
0x69
,
0x7a
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x08
,
0x70
,
0x61
,
0x67
,
0x65
,
0x53
,
0x69
,
0x7a
,
0x65
,
0x12
,
0x1d
,
0x0a
,
0x0a
,
0x70
,
0x61
,
0x67
,
0x65
,
0x5f
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x70
,
0x61
,
0x67
,
0x65
,
0x54
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x66
,
0x69
,
0x6c
,
0x74
,
0x65
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x66
,
0x69
,
0x6c
,
0x74
,
0x65
,
0x72
,
0x22
,
0x65
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x05
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x05
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x12
,
0x26
,
0x0a
,
0x0f
,
0x6e
,
0x65
,
0x78
,
0x74
,
0x5f
,
0x70
,
0x61
,
0x67
,
0x65
,
0x5f
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0d
,
0x6e
,
0x65
,
0x78
,
0x74
,
0x50
,
0x61
,
0x67
,
0x65
,
0x54
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x22
,
0x24
,
0x0a
,
0x0e
,
0x47
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x78
,
0x0a
,
0x11
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x26
,
0x0a
,
0x04
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x29
,
0x0a
,
0x05
,
0x73
,
0x74
,
0x61
,
0x74
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x13
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x53
,
0x74
,
0x61
,
0x74
,
0x65
,
0x52
,
0x05
,
0x73
,
0x74
,
0x61
,
0x74
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x63
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x63
,
0x72
,
0x65
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x12
,
0x3b
,
0x0a
,
0x0b
,
0x63
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x5f
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x73
,
0x74
,
0x61
,
0x6d
,
0x70
,
0x52
,
0x0a
,
0x63
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x3b
,
0x0a
,
0x0b
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x5f
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x73
,
0x74
,
0x61
,
0x6d
,
0x70
,
0x52
,
0x0a
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x3d
,
0x0a
,
0x0c
,
0x64
,
0x69
,
0x73
,
0x70
,
0x6c
,
0x61
,
0x79
,
0x5f
,
0x74
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x73
,
0x74
,
0x61
,
0x6d
,
0x70
,
0x52
,
0x0b
,
0x64
,
0x69
,
0x73
,
0x70
,
0x6c
,
0x61
,
0x79
,
0x54
,
0x69
,
0x6d
,
0x65
,
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
,
0x2e
,
0x0a
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x18
,
0x09
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x04
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x3b
,
0x0a
,
0x0b
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x5f
,
0x6d
,
0x61
,
0x73
,
0x6b
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x46
,
0x69
,
0x65
,
0x6c
,
0x64
,
0x4d
,
0x61
,
0x73
,
0x6b
,
0x52
,
0x0a
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x61
,
0x73
,
0x6b
,
0x22
,
0x27
,
0x0a
,
0x11
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x60
,
0x0a
,
0x14
,
0x52
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x12
,
0x38
,
0x0a
,
0x0a
,
0x76
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x18
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x56
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x52
,
0x0a
,
0x76
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x04
,
0x74
,
0x61
,
0x67
,
0x73
,
0x18
,
0x0b
,
0x20
,
0x03
,
0x28
,
0x09
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x04
,
0x74
,
0x61
,
0x67
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x70
,
0x69
,
0x6e
,
0x6e
,
0x65
,
0x64
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x06
,
0x70
,
0x69
,
0x6e
,
0x6e
,
0x65
,
0x64
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x0e
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x38
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x0f
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x3a
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x10
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x09
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x3c
,
0x0a
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x79
,
0x18
,
0x11
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x79
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x79
,
0x12
,
0x21
,
0x0a
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x12
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x48
,
0x00
,
0x52
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x88
,
0x01
,
0x01
,
0x12
,
0x1e
,
0x0a
,
0x07
,
0x73
,
0x6e
,
0x69
,
0x70
,
0x70
,
0x65
,
0x74
,
0x18
,
0x13
,
0x20
,
0x01
,
0x28
,
0x09
,
0x42
,
0x04
,
0xe2
,
0x41
,
0x01
,
0x03
,
0x52
,
0x07
,
0x73
,
0x6e
,
0x69
,
0x70
,
0x70
,
0x65
,
0x74
,
0x12
,
0x37
,
0x0a
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x14
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x48
,
0x01
,
0x52
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x88
,
0x01
,
0x01
,
0x42
,
0x09
,
0x0a
,
0x07
,
0x5f
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x42
,
0x0b
,
0x0a
,
0x09
,
0x5f
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x4a
,
0x04
,
0x08
,
0x02
,
0x10
,
0x03
,
0x22
,
0x9a
,
0x01
,
0x0a
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x79
,
0x12
,
0x19
,
0x0a
,
0x08
,
0x68
,
0x61
,
0x73
,
0x5f
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x07
,
0x68
,
0x61
,
0x73
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x12
,
0x22
,
0x0a
,
0x0d
,
0x68
,
0x61
,
0x73
,
0x5f
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0b
,
0x68
,
0x61
,
0x73
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x19
,
0x0a
,
0x08
,
0x68
,
0x61
,
0x73
,
0x5f
,
0x63
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x07
,
0x68
,
0x61
,
0x73
,
0x43
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x30
,
0x0a
,
0x14
,
0x68
,
0x61
,
0x73
,
0x5f
,
0x69
,
0x6e
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x5f
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x12
,
0x68
,
0x61
,
0x73
,
0x49
,
0x6e
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x73
,
0x22
,
0x66
,
0x0a
,
0x08
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x70
,
0x6c
,
0x61
,
0x63
,
0x65
,
0x68
,
0x6f
,
0x6c
,
0x64
,
0x65
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x70
,
0x6c
,
0x61
,
0x63
,
0x65
,
0x68
,
0x6f
,
0x6c
,
0x64
,
0x65
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x74
,
0x75
,
0x64
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x01
,
0x52
,
0x08
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x74
,
0x75
,
0x64
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x6c
,
0x6f
,
0x6e
,
0x67
,
0x69
,
0x74
,
0x75
,
0x64
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x01
,
0x52
,
0x09
,
0x6c
,
0x6f
,
0x6e
,
0x67
,
0x69
,
0x74
,
0x75
,
0x64
,
0x65
,
0x22
,
0x9d
,
0x02
,
0x0a
,
0x11
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x38
,
0x0a
,
0x0a
,
0x76
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x18
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x56
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x52
,
0x0a
,
0x76
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x38
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x04
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x37
,
0x0a
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x48
,
0x00
,
0x52
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x88
,
0x01
,
0x01
,
0x42
,
0x0b
,
0x0a
,
0x09
,
0x5f
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x66
,
0x0a
,
0x10
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x1b
,
0x0a
,
0x09
,
0x70
,
0x61
,
0x67
,
0x65
,
0x5f
,
0x73
,
0x69
,
0x7a
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x08
,
0x70
,
0x61
,
0x67
,
0x65
,
0x53
,
0x69
,
0x7a
,
0x65
,
0x12
,
0x1d
,
0x0a
,
0x0a
,
0x70
,
0x61
,
0x67
,
0x65
,
0x5f
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x70
,
0x61
,
0x67
,
0x65
,
0x54
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x66
,
0x69
,
0x6c
,
0x74
,
0x65
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x66
,
0x69
,
0x6c
,
0x74
,
0x65
,
0x72
,
0x22
,
0x65
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x05
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x05
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x12
,
0x26
,
0x0a
,
0x0f
,
0x6e
,
0x65
,
0x78
,
0x74
,
0x5f
,
0x70
,
0x61
,
0x67
,
0x65
,
0x5f
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0d
,
0x6e
,
0x65
,
0x78
,
0x74
,
0x50
,
0x61
,
0x67
,
0x65
,
0x54
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x22
,
0x24
,
0x0a
,
0x0e
,
0x47
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x78
,
0x0a
,
0x11
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x26
,
0x0a
,
0x04
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x04
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x3b
,
0x0a
,
0x0b
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x5f
,
0x6d
,
0x61
,
0x73
,
0x6b
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x46
,
0x69
,
0x65
,
0x6c
,
0x64
,
0x4d
,
0x61
,
0x73
,
0x6b
,
0x52
,
0x0a
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x61
,
0x73
,
0x6b
,
0x22
,
0x27
,
0x0a
,
0x11
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x60
,
0x0a
,
0x14
,
0x52
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x17
,
0x0a
,
0x07
,
0x6f
,
0x6c
,
0x64
,
0x5f
,
0x74
,
0x61
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x6f
,
0x6c
,
0x64
,
0x54
,
0x61
,
0x67
,
0x12
,
0x17
,
0x0a
,
0x07
,
0x6e
,
0x65
,
0x77
,
0x5f
,
0x74
,
0x61
,
0x67
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x6e
,
0x65
,
0x77
,
0x54
,
0x61
,
0x67
,
0x22
,
0x72
,
0x0a
,
0x14
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x17
,
0x0a
,
0x07
,
0x6f
,
0x6c
,
0x64
,
0x5f
,
0x74
,
0x61
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x6f
,
0x6c
,
0x64
,
0x54
,
0x61
,
0x67
,
0x12
,
0x17
,
0x0a
,
0x07
,
0x6e
,
0x65
,
0x77
,
0x5f
,
0x74
,
0x61
,
0x67
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x6e
,
0x65
,
0x77
,
0x54
,
0x61
,
0x67
,
0x22
,
0x72
,
0x0a
,
0x14
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x74
,
0x61
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x74
,
0x61
,
0x67
,
0x12
,
0x30
,
0x0a
,
0x14
,
0x64
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x5f
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x65
,
0x64
,
0x5f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x12
,
0x64
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x65
,
0x64
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x22
,
0x63
,
0x0a
,
0x17
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x22
,
0x2e
,
0x0a
,
0x18
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x74
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x74
,
0x61
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x74
,
0x61
,
0x67
,
0x12
,
0x30
,
0x0a
,
0x14
,
0x64
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x5f
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x65
,
0x64
,
0x5f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x12
,
0x64
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x65
,
0x64
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x22
,
0x63
,
0x0a
,
0x17
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x22
,
0x2e
,
0x0a
,
0x18
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x51
,
0x0a
,
0x19
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x22
,
0x67
,
0x0a
,
0x17
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x51
,
0x0a
,
0x19
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x22
,
0x67
,
0x0a
,
0x17
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x38
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x22
,
0x2e
,
0x0a
,
0x18
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x55
,
0x0a
,
0x19
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x38
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x22
,
0x69
,
0x0a
,
0x18
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x39
,
0x0a
,
0x07
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x52
,
0x07
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x2d
,
0x0a
,
0x17
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x44
,
0x0a
,
0x18
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x05
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x05
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x22
,
0x2e
,
0x0a
,
0x18
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x51
,
0x0a
,
0x19
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x22
,
0x63
,
0x0a
,
0x19
,
0x55
,
0x70
,
0x73
,
0x65
,
0x72
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x32
,
0x0a
,
0x08
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x08
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x2b
,
0x0a
,
0x19
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x02
,
0x69
,
0x64
,
0x2a
,
0x50
,
0x0a
,
0x0a
,
0x56
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x12
,
0x1a
,
0x0a
,
0x16
,
0x56
,
0x49
,
0x53
,
0x49
,
0x42
,
0x49
,
0x4c
,
0x49
,
0x54
,
0x59
,
0x5f
,
0x55
,
0x4e
,
0x53
,
0x50
,
0x45
,
0x43
,
0x49
,
0x46
,
0x49
,
0x45
,
0x44
,
0x10
,
0x00
,
0x12
,
0x0b
,
0x0a
,
0x07
,
0x50
,
0x52
,
0x49
,
0x56
,
0x41
,
0x54
,
0x45
,
0x10
,
0x01
,
0x12
,
0x0d
,
0x0a
,
0x09
,
0x50
,
0x52
,
0x4f
,
0x54
,
0x45
,
0x43
,
0x54
,
0x45
,
0x44
,
0x10
,
0x02
,
0x12
,
0x0a
,
0x0a
,
0x06
,
0x50
,
0x55
,
0x42
,
0x4c
,
0x49
,
0x43
,
0x10
,
0x03
,
0x32
,
0x99
,
0x10
,
0x0a
,
0x0b
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x5b
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x22
,
0x18
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x12
,
0x3a
,
0x01
,
0x2a
,
0x22
,
0x0d
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x12
,
0x63
,
0x0a
,
0x09
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x12
,
0x1e
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x15
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x0f
,
0x12
,
0x0d
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x12
,
0x62
,
0x0a
,
0x07
,
0x47
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x1c
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x22
,
0x25
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x18
,
0x12
,
0x16
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x12
,
0x7f
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x22
,
0x3c
,
0xda
,
0x41
,
0x10
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x2c
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x5f
,
0x6d
,
0x61
,
0x73
,
0x6b
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x23
,
0x3a
,
0x04
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x32
,
0x1b
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x2e
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x12
,
0x6c
,
0x0a
,
0x0a
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x25
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x18
,
0x2a
,
0x16
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x12
,
0x7c
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x12
,
0x22
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x2f
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x29
,
0x3a
,
0x01
,
0x2a
,
0x32
,
0x24
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x74
,
0x61
,
0x67
,
0x73
,
0x3a
,
0x72
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x78
,
0x0a
,
0x0d
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x12
,
0x22
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x38
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x22
,
0x2e
,
0x0a
,
0x18
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x55
,
0x0a
,
0x19
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x38
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x22
,
0x69
,
0x0a
,
0x18
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x39
,
0x0a
,
0x07
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x52
,
0x07
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x2d
,
0x0a
,
0x17
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x44
,
0x0a
,
0x18
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x05
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x05
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x22
,
0x2e
,
0x0a
,
0x18
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x51
,
0x0a
,
0x19
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x34
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x09
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x22
,
0x63
,
0x0a
,
0x19
,
0x55
,
0x70
,
0x73
,
0x65
,
0x72
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x32
,
0x0a
,
0x08
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x08
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x2b
,
0x0a
,
0x19
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x02
,
0x69
,
0x64
,
0x2a
,
0x50
,
0x0a
,
0x0a
,
0x56
,
0x69
,
0x73
,
0x69
,
0x62
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x12
,
0x1a
,
0x0a
,
0x16
,
0x56
,
0x49
,
0x53
,
0x49
,
0x42
,
0x49
,
0x4c
,
0x49
,
0x54
,
0x59
,
0x5f
,
0x55
,
0x4e
,
0x53
,
0x50
,
0x45
,
0x43
,
0x49
,
0x46
,
0x49
,
0x45
,
0x44
,
0x10
,
0x00
,
0x12
,
0x0b
,
0x0a
,
0x07
,
0x50
,
0x52
,
0x49
,
0x56
,
0x41
,
0x54
,
0x45
,
0x10
,
0x01
,
0x12
,
0x0d
,
0x0a
,
0x09
,
0x50
,
0x52
,
0x4f
,
0x54
,
0x45
,
0x43
,
0x54
,
0x45
,
0x44
,
0x10
,
0x02
,
0x12
,
0x0a
,
0x0a
,
0x06
,
0x50
,
0x55
,
0x42
,
0x4c
,
0x49
,
0x43
,
0x10
,
0x03
,
0x32
,
0x99
,
0x10
,
0x0a
,
0x0b
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x5b
,
0x0a
,
0x0a
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x22
,
0x18
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x12
,
0x3a
,
0x01
,
0x2a
,
0x22
,
0x0d
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x12
,
0x63
,
0x0a
,
0x09
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x12
,
0x1e
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x15
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x0f
,
0x12
,
0x0d
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x12
,
0x62
,
0x0a
,
0x07
,
0x47
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x1c
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x47
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x22
,
0x25
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x18
,
0x12
,
0x16
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x12
,
0x7f
,
0x0a
,
0x0a
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x22
,
0x3c
,
0xda
,
0x41
,
0x10
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x2c
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x5f
,
0x6d
,
0x61
,
0x73
,
0x6b
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x23
,
0x3a
,
0x04
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x32
,
0x1b
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x2e
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x12
,
0x6c
,
0x0a
,
0x0a
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x12
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x25
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x18
,
0x2a
,
0x16
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x12
,
0x7c
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x12
,
0x22
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x2b
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x25
,
0x2a
,
0x23
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x74
,
0x61
,
0x67
,
0x73
,
0x2f
,
0x7b
,
0x74
,
0x61
,
0x67
,
0x7d
,
0x12
,
0x85
,
0x01
,
0x0a
,
0x10
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x25
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x32
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x25
,
0x3a
,
0x01
,
0x2a
,
0x32
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x95
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x2f
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x22
,
0x12
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x85
,
0x01
,
0x0a
,
0x10
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x25
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x32
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x25
,
0x3a
,
0x01
,
0x2a
,
0x32
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x95
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x2f
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x22
,
0x12
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x88
,
0x01
,
0x0a
,
0x11
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x22
,
0x37
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x2a
,
0x3a
,
0x07
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x1f
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x12
,
0x91
,
0x01
,
0x0a
,
0x10
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x12
,
0x25
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x2e
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x21
,
0x12
,
0x1f
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x12
,
0x95
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x2f
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x29
,
0x3a
,
0x01
,
0x2a
,
0x32
,
0x24
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x74
,
0x61
,
0x67
,
0x73
,
0x3a
,
0x72
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x78
,
0x0a
,
0x0d
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x12
,
0x22
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x54
,
0x61
,
0x67
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x2b
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x25
,
0x2a
,
0x23
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x74
,
0x61
,
0x67
,
0x73
,
0x2f
,
0x7b
,
0x74
,
0x61
,
0x67
,
0x7d
,
0x12
,
0x85
,
0x01
,
0x0a
,
0x10
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x25
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x32
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x25
,
0x3a
,
0x01
,
0x2a
,
0x32
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x95
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x2f
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x22
,
0x12
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x85
,
0x01
,
0x0a
,
0x10
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x25
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x53
,
0x65
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x32
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x25
,
0x3a
,
0x01
,
0x2a
,
0x32
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x95
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x2f
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x22
,
0x12
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x6c
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x88
,
0x01
,
0x0a
,
0x11
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x12
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x22
,
0x37
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x2a
,
0x3a
,
0x07
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x1f
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x12
,
0x91
,
0x01
,
0x0a
,
0x10
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x12
,
0x25
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x2f
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x22
,
0x12
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x89
,
0x01
,
0x0a
,
0x12
,
0x55
,
0x43
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x2e
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x21
,
0x12
,
0x1f
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x65
,
0x6e
,
0x74
,
0x73
,
0x12
,
0x95
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x26
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x2f
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x22
,
0x12
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x89
,
0x01
,
0x0a
,
0x12
,
0x55
,
0x70
,
0x73
,
0x65
,
0x72
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x55
,
0x70
,
0x73
,
0x65
,
0x72
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x55
,
0x70
,
0x73
,
0x65
,
0x72
,
0x74
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x32
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x25
,
0x3a
,
0x01
,
0x2a
,
0x22
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x7a
,
0x0a
,
0x12
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x23
,
0xda
,
0x41
,
0x02
,
0x69
,
0x64
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x18
,
0x2a
,
0x16
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x2f
,
0x7b
,
0x69
,
0x64
,
0x7d
,
0x42
,
0xa8
,
0x01
,
0x0a
,
0x10
,
0x63
,
0x6f
,
0x6d
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x42
,
0x10
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x50
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x50
,
0x01
,
0x5a
,
0x30
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x75
,
0x73
,
0x65
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x67
,
0x65
,
0x6e
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x3b
,
0x61
,
0x70
,
0x69
,
0x76
,
0x31
,
0xa2
,
0x02
,
0x03
,
0x4d
,
0x41
,
0x58
,
0xaa
,
0x02
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x41
,
0x70
,
0x69
,
0x2e
,
0x56
,
0x31
,
0xca
,
0x02
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x5c
,
0x41
,
0x70
,
0x69
,
0x5c
,
0x56
,
0x31
,
0xe2
,
0x02
,
0x18
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x5c
,
0x41
,
0x70
,
0x69
,
0x5c
,
0x56
,
0x31
,
0x5c
,
0x47
,
0x50
,
0x42
,
0x4d
,
0x65
,
0x74
,
0x61
,
0x64
,
0x61
,
0x74
,
0x61
,
0xea
,
0x02
,
0x0e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x3a
,
0x3a
,
0x41
,
0x70
,
0x69
,
0x3a
,
0x3a
,
0x56
,
0x31
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x32
,
0xda
,
0x41
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x25
,
0x3a
,
0x01
,
0x2a
,
0x22
,
0x20
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x7b
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x3d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x2a
,
0x7d
,
0x2f
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x12
,
0x7a
,
0x0a
,
0x12
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x27
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x2e
,
0x44
,
0x65
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x52
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x22
,
0x23
,
0xda
,
0x41
,
0x02
,
0x69
,
0x64
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x18
,
0x2a
,
0x16
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x2f
,
0x72
,
0x65
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x73
,
0x2f
,
0x7b
,
0x69
,
0x64
,
0x7d
,
0x42
,
0xa8
,
0x01
,
0x0a
,
0x10
,
0x63
,
0x6f
,
0x6d
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x31
,
0x42
,
0x10
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x50
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x50
,
0x01
,
0x5a
,
0x30
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x75
,
0x73
,
0x65
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x67
,
0x65
,
0x6e
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x31
,
0x3b
,
0x61
,
0x70
,
0x69
,
0x76
,
0x31
,
0xa2
,
0x02
,
0x03
,
0x4d
,
0x41
,
0x58
,
0xaa
,
0x02
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x41
,
0x70
,
0x69
,
0x2e
,
0x56
,
0x31
,
0xca
,
0x02
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x5c
,
0x41
,
0x70
,
0x69
,
0x5c
,
0x56
,
0x31
,
0xe2
,
0x02
,
0x18
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x5c
,
0x41
,
0x70
,
0x69
,
0x5c
,
0x56
,
0x31
,
0x5c
,
0x47
,
0x50
,
0x42
,
0x4d
,
0x65
,
0x74
,
0x61
,
0x64
,
0x61
,
0x74
,
0x61
,
0xea
,
0x02
,
0x0e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x3a
,
0x3a
,
0x41
,
0x70
,
0x69
,
0x3a
,
0x3a
,
0x56
,
0x31
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
})
var
(
...
...
proto/gen/apidocs.swagger.yaml
View file @
98aa0b73
...
...
@@ -796,11 +796,6 @@ paths:
schema
:
type
:
object
properties
:
uid
:
type
:
integer
format
:
int32
description
:
The system generated unique id. Auto-incremented.
readOnly
:
true
state
:
$ref
:
'
#/definitions/v1State'
creator
:
...
...
@@ -1894,11 +1889,6 @@ definitions:
type
:
string
description
:
"
The
name
of
the
memo.
\r\n
Format:
memos/{memo},
memo
is
the
user
defined
id
or
uuid."
readOnly
:
true
uid
:
type
:
integer
format
:
int32
description
:
The system generated unique id. Auto-incremented.
readOnly
:
true
state
:
$ref
:
'
#/definitions/v1State'
creator
:
...
...
server/router/api/v1/memo_relation_service.go
View file @
98aa0b73
...
...
@@ -14,11 +14,11 @@ import (
)
func
(
s
*
APIV1Service
)
SetMemoRelations
(
ctx
context
.
Context
,
request
*
v1pb
.
SetMemoRelationsRequest
)
(
*
emptypb
.
Empty
,
error
)
{
memo
ID
,
err
:=
ExtractMemo
IDFromName
(
request
.
Name
)
memo
UID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoID
})
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memo
U
ID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get memo"
)
}
...
...
@@ -41,11 +41,11 @@ func (s *APIV1Service) SetMemoRelations(ctx context.Context, request *v1pb.SetMe
if
relation
.
Type
==
v1pb
.
MemoRelation_COMMENT
{
continue
}
relatedMemo
ID
,
err
:=
ExtractMemo
IDFromName
(
relation
.
RelatedMemo
.
Name
)
relatedMemo
UID
,
err
:=
ExtractMemoU
IDFromName
(
relation
.
RelatedMemo
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid related memo name: %v"
,
err
)
}
relatedMemo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
relatedMemoID
})
relatedMemo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
relatedMemo
U
ID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get related memo"
)
}
...
...
@@ -62,11 +62,11 @@ func (s *APIV1Service) SetMemoRelations(ctx context.Context, request *v1pb.SetMe
}
func
(
s
*
APIV1Service
)
ListMemoRelations
(
ctx
context
.
Context
,
request
*
v1pb
.
ListMemoRelationsRequest
)
(
*
v1pb
.
ListMemoRelationsResponse
,
error
)
{
memo
ID
,
err
:=
ExtractMemo
IDFromName
(
request
.
Name
)
memo
UID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoID
})
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memo
U
ID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get memo"
)
}
...
...
server/router/api/v1/memo_resource_service.go
View file @
98aa0b73
...
...
@@ -14,11 +14,11 @@ import (
)
func
(
s
*
APIV1Service
)
SetMemoResources
(
ctx
context
.
Context
,
request
*
v1pb
.
SetMemoResourcesRequest
)
(
*
emptypb
.
Empty
,
error
)
{
memo
ID
,
err
:=
ExtractMemo
IDFromName
(
request
.
Name
)
memo
UID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoID
})
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memo
U
ID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get memo"
)
}
...
...
@@ -69,11 +69,11 @@ func (s *APIV1Service) SetMemoResources(ctx context.Context, request *v1pb.SetMe
}
func
(
s
*
APIV1Service
)
ListMemoResources
(
ctx
context
.
Context
,
request
*
v1pb
.
ListMemoResourcesRequest
)
(
*
v1pb
.
ListMemoResourcesResponse
,
error
)
{
id
,
err
:=
ExtractMemo
IDFromName
(
request
.
Name
)
memoUID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
id
})
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoUID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get memo: %v"
,
err
)
}
...
...
server/router/api/v1/memo_service.go
View file @
98aa0b73
...
...
@@ -150,12 +150,12 @@ func (s *APIV1Service) ListMemos(ctx context.Context, request *v1pb.ListMemosReq
}
func
(
s
*
APIV1Service
)
GetMemo
(
ctx
context
.
Context
,
request
*
v1pb
.
GetMemoRequest
)
(
*
v1pb
.
Memo
,
error
)
{
id
,
err
:=
ExtractMemo
IDFromName
(
request
.
Name
)
memoUID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
id
,
UID
:
&
memoUID
,
})
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -184,7 +184,7 @@ func (s *APIV1Service) GetMemo(ctx context.Context, request *v1pb.GetMemoRequest
}
func
(
s
*
APIV1Service
)
UpdateMemo
(
ctx
context
.
Context
,
request
*
v1pb
.
UpdateMemoRequest
)
(
*
v1pb
.
Memo
,
error
)
{
id
,
err
:=
ExtractMemo
IDFromName
(
request
.
Memo
.
Name
)
memoUID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Memo
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
...
...
@@ -192,7 +192,7 @@ func (s *APIV1Service) UpdateMemo(ctx context.Context, request *v1pb.UpdateMemoR
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"update mask is required"
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
id
})
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoUID
})
if
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -308,12 +308,12 @@ func (s *APIV1Service) UpdateMemo(ctx context.Context, request *v1pb.UpdateMemoR
}
func
(
s
*
APIV1Service
)
DeleteMemo
(
ctx
context
.
Context
,
request
*
v1pb
.
DeleteMemoRequest
)
(
*
emptypb
.
Empty
,
error
)
{
id
,
err
:=
ExtractMemo
IDFromName
(
request
.
Name
)
memoUID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
id
,
UID
:
&
memoUID
,
})
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -380,42 +380,50 @@ func (s *APIV1Service) DeleteMemo(ctx context.Context, request *v1pb.DeleteMemoR
}
func
(
s
*
APIV1Service
)
CreateMemoComment
(
ctx
context
.
Context
,
request
*
v1pb
.
CreateMemoCommentRequest
)
(
*
v1pb
.
Memo
,
error
)
{
id
,
err
:=
ExtractMemo
IDFromName
(
request
.
Name
)
memoUID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
relatedMemo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
id
})
relatedMemo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoUID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get memo"
)
}
// Create the
comment memo
first.
memo
,
err
:=
s
.
CreateMemo
(
ctx
,
request
.
Comment
)
// Create the
memo comment
first.
memo
Comment
,
err
:=
s
.
CreateMemo
(
ctx
,
request
.
Comment
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to create memo"
)
}
memoUID
,
err
=
ExtractMemoUIDFromName
(
memoComment
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoUID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get memo"
)
}
// Build the relation between the comment memo and the original memo.
_
,
err
=
s
.
Store
.
UpsertMemoRelation
(
ctx
,
&
store
.
MemoRelation
{
MemoID
:
memo
.
Uid
,
MemoID
:
memo
.
ID
,
RelatedMemoID
:
relatedMemo
.
ID
,
Type
:
store
.
MemoRelationComment
,
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to create memo relation"
)
}
creatorID
,
err
:=
ExtractUserIDFromName
(
memo
.
Creator
)
creatorID
,
err
:=
ExtractUserIDFromName
(
memo
Comment
.
Creator
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo creator"
)
}
if
memo
.
Visibility
!=
v1pb
.
Visibility_PRIVATE
&&
creatorID
!=
relatedMemo
.
CreatorID
{
if
memo
Comment
.
Visibility
!=
v1pb
.
Visibility_PRIVATE
&&
creatorID
!=
relatedMemo
.
CreatorID
{
activity
,
err
:=
s
.
Store
.
CreateActivity
(
ctx
,
&
store
.
Activity
{
CreatorID
:
creatorID
,
Type
:
store
.
ActivityTypeMemoComment
,
Level
:
store
.
ActivityLevelInfo
,
Payload
:
&
storepb
.
ActivityPayload
{
MemoComment
:
&
storepb
.
ActivityMemoCommentPayload
{
MemoId
:
memo
.
Uid
,
MemoId
:
memo
.
ID
,
RelatedMemoId
:
relatedMemo
.
ID
,
},
},
...
...
@@ -436,15 +444,15 @@ func (s *APIV1Service) CreateMemoComment(ctx context.Context, request *v1pb.Crea
}
}
return
memo
,
nil
return
memo
Comment
,
nil
}
func
(
s
*
APIV1Service
)
ListMemoComments
(
ctx
context
.
Context
,
request
*
v1pb
.
ListMemoCommentsRequest
)
(
*
v1pb
.
ListMemoCommentsResponse
,
error
)
{
memo
ID
,
err
:=
ExtractMemo
IDFromName
(
request
.
Name
)
memo
UID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Name
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoID
})
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memo
U
ID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get memo"
)
}
...
...
@@ -492,11 +500,11 @@ func (s *APIV1Service) RenameMemoTag(ctx context.Context, request *v1pb.RenameMe
ExcludeComments
:
true
,
}
if
(
request
.
Parent
)
!=
"memos/-"
{
memo
ID
,
err
:=
ExtractMemo
IDFromName
(
request
.
Parent
)
memo
UID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Parent
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memoFind
.
UID
=
&
memoID
memoFind
.
UID
=
&
memo
U
ID
}
memos
,
err
:=
s
.
Store
.
ListMemos
(
ctx
,
memoFind
)
...
...
@@ -542,12 +550,12 @@ func (s *APIV1Service) DeleteMemoTag(ctx context.Context, request *v1pb.DeleteMe
ExcludeContent
:
true
,
ExcludeComments
:
true
,
}
if
(
request
.
Parent
)
!=
"memos/-"
{
memo
ID
,
err
:=
ExtractMemo
IDFromName
(
request
.
Parent
)
if
request
.
Parent
!=
"memos/-"
{
memo
UID
,
err
:=
ExtractMemoU
IDFromName
(
request
.
Parent
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memoFind
.
UID
=
&
memoID
memoFind
.
UID
=
&
memo
U
ID
}
memos
,
err
:=
s
.
Store
.
ListMemos
(
ctx
,
memoFind
)
...
...
server/router/api/v1/resource_name.go
View file @
98aa0b73
...
...
@@ -61,8 +61,9 @@ func ExtractUserIDFromName(name string) (int32, error) {
return
id
,
nil
}
// ExtractMemoIDFromName returns the memo ID from a resource name.
func
ExtractMemoIDFromName
(
name
string
)
(
string
,
error
)
{
// ExtractMemoUIDFromName returns the memo UID from a resource name.
// e.g., "memos/uuid" -> "uuid"
func
ExtractMemoUIDFromName
(
name
string
)
(
string
,
error
)
{
tokens
,
err
:=
GetNameParentTokens
(
name
,
MemoNamePrefix
)
if
err
!=
nil
{
return
""
,
err
...
...
server/router/api/v1/resource_service.go
View file @
98aa0b73
...
...
@@ -76,11 +76,11 @@ func (s *APIV1Service) CreateResource(ctx context.Context, request *v1pb.CreateR
}
if
request
.
Resource
.
Memo
!=
nil
{
id
,
err
:=
ExtractMemo
IDFromName
(
*
request
.
Resource
.
Memo
)
memoUID
,
err
:=
ExtractMemoU
IDFromName
(
*
request
.
Resource
.
Memo
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid memo name: %v"
,
err
)
}
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
id
})
memo
,
err
:=
s
.
Store
.
GetMemo
(
ctx
,
&
store
.
FindMemo
{
UID
:
&
memoUID
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to find memo: %v"
,
err
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment