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
d12a2b0c
Commit
d12a2b0c
authored
Jan 04, 2024
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: implement math expression parser
parent
c842b921
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
797 additions
and
315 deletions
+797
-315
markdown_service.go
api/v2/markdown_service.go
+4
-0
ast.go
plugin/gomark/ast/ast.go
+2
-0
block.go
plugin/gomark/ast/block.go
+14
-0
inline.go
plugin/gomark/ast/inline.go
+14
-0
math.go
plugin/gomark/parser/math.go
+56
-0
math_block.go
plugin/gomark/parser/math_block.go
+56
-0
math_block_test.go
plugin/gomark/parser/math_block_test.go
+30
-0
math_test.go
plugin/gomark/parser/math_test.go
+30
-0
parser.go
plugin/gomark/parser/parser.go
+2
-0
tokenizer.go
plugin/gomark/parser/tokenizer/tokenizer.go
+3
-0
markdown_service.proto
proto/api/v2/markdown_service.proto
+34
-22
README.md
proto/gen/api/v2/README.md
+47
-11
markdown_service.pb.go
proto/gen/api/v2/markdown_service.pb.go
+455
-282
package.json
web/package.json
+2
-0
pnpm-lock.yaml
web/pnpm-lock.yaml
+29
-0
Math.tsx
web/src/components/MemoContent/Math.tsx
+13
-0
Renderer.tsx
web/src/components/MemoContent/Renderer.tsx
+6
-0
No files found.
api/v2/markdown_service.go
View file @
d12a2b0c
...
@@ -61,6 +61,8 @@ func convertFromASTNode(rawNode ast.Node) *apiv2pb.Node {
...
@@ -61,6 +61,8 @@ func convertFromASTNode(rawNode ast.Node) *apiv2pb.Node {
case
*
ast
.
TaskList
:
case
*
ast
.
TaskList
:
children
:=
convertFromASTNodes
(
n
.
Children
)
children
:=
convertFromASTNodes
(
n
.
Children
)
node
.
Node
=
&
apiv2pb
.
Node_TaskListNode
{
TaskListNode
:
&
apiv2pb
.
TaskListNode
{
Symbol
:
n
.
Symbol
,
Complete
:
n
.
Complete
,
Children
:
children
}}
node
.
Node
=
&
apiv2pb
.
Node_TaskListNode
{
TaskListNode
:
&
apiv2pb
.
TaskListNode
{
Symbol
:
n
.
Symbol
,
Complete
:
n
.
Complete
,
Children
:
children
}}
case
*
ast
.
MathBlock
:
node
.
Node
=
&
apiv2pb
.
Node_MathBlockNode
{
MathBlockNode
:
&
apiv2pb
.
MathBlockNode
{
Content
:
n
.
Content
}}
case
*
ast
.
Text
:
case
*
ast
.
Text
:
node
.
Node
=
&
apiv2pb
.
Node_TextNode
{
TextNode
:
&
apiv2pb
.
TextNode
{
Content
:
n
.
Content
}}
node
.
Node
=
&
apiv2pb
.
Node_TextNode
{
TextNode
:
&
apiv2pb
.
TextNode
{
Content
:
n
.
Content
}}
case
*
ast
.
Bold
:
case
*
ast
.
Bold
:
...
@@ -84,6 +86,8 @@ func convertFromASTNode(rawNode ast.Node) *apiv2pb.Node {
...
@@ -84,6 +86,8 @@ func convertFromASTNode(rawNode ast.Node) *apiv2pb.Node {
node
.
Node
=
&
apiv2pb
.
Node_StrikethroughNode
{
StrikethroughNode
:
&
apiv2pb
.
StrikethroughNode
{
Content
:
n
.
Content
}}
node
.
Node
=
&
apiv2pb
.
Node_StrikethroughNode
{
StrikethroughNode
:
&
apiv2pb
.
StrikethroughNode
{
Content
:
n
.
Content
}}
case
*
ast
.
EscapingCharacter
:
case
*
ast
.
EscapingCharacter
:
node
.
Node
=
&
apiv2pb
.
Node_EscapingCharacterNode
{
EscapingCharacterNode
:
&
apiv2pb
.
EscapingCharacterNode
{
Symbol
:
n
.
Symbol
}}
node
.
Node
=
&
apiv2pb
.
Node_EscapingCharacterNode
{
EscapingCharacterNode
:
&
apiv2pb
.
EscapingCharacterNode
{
Symbol
:
n
.
Symbol
}}
case
*
ast
.
Math
:
node
.
Node
=
&
apiv2pb
.
Node_MathNode
{
MathNode
:
&
apiv2pb
.
MathNode
{
Content
:
n
.
Content
}}
default
:
default
:
node
.
Node
=
&
apiv2pb
.
Node_TextNode
{
TextNode
:
&
apiv2pb
.
TextNode
{}}
node
.
Node
=
&
apiv2pb
.
Node_TextNode
{
TextNode
:
&
apiv2pb
.
TextNode
{}}
}
}
...
...
plugin/gomark/ast/ast.go
View file @
d12a2b0c
...
@@ -14,6 +14,7 @@ const (
...
@@ -14,6 +14,7 @@ const (
OrderedListNode
OrderedListNode
UnorderedListNode
UnorderedListNode
TaskListNode
TaskListNode
MathBlockNode
// Inline nodes.
// Inline nodes.
TextNode
TextNode
BoldNode
BoldNode
...
@@ -26,6 +27,7 @@ const (
...
@@ -26,6 +27,7 @@ const (
TagNode
TagNode
StrikethroughNode
StrikethroughNode
EscapingCharacterNode
EscapingCharacterNode
MathNode
)
)
type
Node
interface
{
type
Node
interface
{
...
...
plugin/gomark/ast/block.go
View file @
d12a2b0c
...
@@ -170,3 +170,17 @@ func (n *TaskList) Restore() string {
...
@@ -170,3 +170,17 @@ func (n *TaskList) Restore() string {
}
}
return
fmt
.
Sprintf
(
"%s [%s] %s"
,
n
.
Symbol
,
complete
,
result
)
return
fmt
.
Sprintf
(
"%s [%s] %s"
,
n
.
Symbol
,
complete
,
result
)
}
}
type
MathBlock
struct
{
BaseBlock
Content
string
}
func
(
*
MathBlock
)
Type
()
NodeType
{
return
MathBlockNode
}
func
(
n
*
MathBlock
)
Restore
()
string
{
return
fmt
.
Sprintf
(
"$$
\n
%s
\n
$$"
,
n
.
Content
)
}
plugin/gomark/ast/inline.go
View file @
d12a2b0c
...
@@ -177,3 +177,17 @@ func (*EscapingCharacter) Type() NodeType {
...
@@ -177,3 +177,17 @@ func (*EscapingCharacter) Type() NodeType {
func
(
n
*
EscapingCharacter
)
Restore
()
string
{
func
(
n
*
EscapingCharacter
)
Restore
()
string
{
return
fmt
.
Sprintf
(
"
\\
%s"
,
n
.
Symbol
)
return
fmt
.
Sprintf
(
"
\\
%s"
,
n
.
Symbol
)
}
}
type
Math
struct
{
BaseInline
Content
string
}
func
(
*
Math
)
Type
()
NodeType
{
return
MathNode
}
func
(
n
*
Math
)
Restore
()
string
{
return
fmt
.
Sprintf
(
"$%s$"
,
n
.
Content
)
}
plugin/gomark/parser/math.go
0 → 100644
View file @
d12a2b0c
package
parser
import
(
"errors"
"github.com/usememos/memos/plugin/gomark/ast"
"github.com/usememos/memos/plugin/gomark/parser/tokenizer"
)
type
MathParser
struct
{}
func
NewMathParser
()
*
MathParser
{
return
&
MathParser
{}
}
func
(
*
MathParser
)
Match
(
tokens
[]
*
tokenizer
.
Token
)
(
int
,
bool
)
{
if
len
(
tokens
)
<
3
{
return
0
,
false
}
if
tokens
[
0
]
.
Type
!=
tokenizer
.
DollarSign
{
return
0
,
false
}
contentTokens
:=
[]
*
tokenizer
.
Token
{}
for
_
,
token
:=
range
tokens
[
1
:
]
{
if
token
.
Type
==
tokenizer
.
Newline
{
return
0
,
false
}
if
token
.
Type
==
tokenizer
.
DollarSign
{
break
}
contentTokens
=
append
(
contentTokens
,
token
)
}
if
len
(
contentTokens
)
==
0
{
return
0
,
false
}
if
len
(
contentTokens
)
+
2
>
len
(
tokens
)
{
return
0
,
false
}
if
tokens
[
len
(
contentTokens
)
+
1
]
.
Type
!=
tokenizer
.
DollarSign
{
return
0
,
false
}
return
len
(
contentTokens
)
+
2
,
true
}
func
(
p
*
MathParser
)
Parse
(
tokens
[]
*
tokenizer
.
Token
)
(
ast
.
Node
,
error
)
{
size
,
ok
:=
p
.
Match
(
tokens
)
if
size
==
0
||
!
ok
{
return
nil
,
errors
.
New
(
"not matched"
)
}
return
&
ast
.
Math
{
Content
:
tokenizer
.
Stringify
(
tokens
[
1
:
size
-
1
]),
},
nil
}
plugin/gomark/parser/math_block.go
0 → 100644
View file @
d12a2b0c
package
parser
import
(
"errors"
"github.com/usememos/memos/plugin/gomark/ast"
"github.com/usememos/memos/plugin/gomark/parser/tokenizer"
)
type
MathBlockParser
struct
{}
func
NewMathBlockParser
()
*
MathBlockParser
{
return
&
MathBlockParser
{}
}
func
(
*
MathBlockParser
)
Match
(
tokens
[]
*
tokenizer
.
Token
)
(
int
,
bool
)
{
if
len
(
tokens
)
<
7
{
return
0
,
false
}
if
tokens
[
0
]
.
Type
!=
tokenizer
.
DollarSign
&&
tokens
[
1
]
.
Type
!=
tokenizer
.
DollarSign
&&
tokens
[
2
]
.
Type
!=
tokenizer
.
Newline
{
return
0
,
false
}
cursor
:=
3
matched
:=
false
for
;
cursor
<
len
(
tokens
)
-
2
;
cursor
++
{
if
tokens
[
cursor
]
.
Type
==
tokenizer
.
Newline
&&
tokens
[
cursor
+
1
]
.
Type
==
tokenizer
.
DollarSign
&&
tokens
[
cursor
+
2
]
.
Type
==
tokenizer
.
DollarSign
{
if
cursor
+
2
==
len
(
tokens
)
-
1
{
cursor
+=
3
matched
=
true
break
}
else
if
tokens
[
cursor
+
3
]
.
Type
==
tokenizer
.
Newline
{
cursor
+=
3
matched
=
true
break
}
}
}
if
!
matched
{
return
0
,
false
}
return
cursor
,
true
}
func
(
p
*
MathBlockParser
)
Parse
(
tokens
[]
*
tokenizer
.
Token
)
(
ast
.
Node
,
error
)
{
size
,
ok
:=
p
.
Match
(
tokens
)
if
size
==
0
||
!
ok
{
return
nil
,
errors
.
New
(
"not matched"
)
}
return
&
ast
.
MathBlock
{
Content
:
tokenizer
.
Stringify
(
tokens
[
3
:
size
-
3
]),
},
nil
}
plugin/gomark/parser/math_block_test.go
0 → 100644
View file @
d12a2b0c
package
parser
import
(
"testing"
"github.com/stretchr/testify/require"
"github.com/usememos/memos/plugin/gomark/ast"
"github.com/usememos/memos/plugin/gomark/parser/tokenizer"
"github.com/usememos/memos/plugin/gomark/restore"
)
func
TestMathBlockParser
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
text
string
link
ast
.
Node
}{
{
text
:
"$$
\n
(1+x)^2
\n
$$"
,
link
:
&
ast
.
MathBlock
{
Content
:
"(1+x)^2"
,
},
},
}
for
_
,
test
:=
range
tests
{
tokens
:=
tokenizer
.
Tokenize
(
test
.
text
)
node
,
_
:=
NewMathBlockParser
()
.
Parse
(
tokens
)
require
.
Equal
(
t
,
restore
.
Restore
([]
ast
.
Node
{
test
.
link
}),
restore
.
Restore
([]
ast
.
Node
{
node
}))
}
}
plugin/gomark/parser/math_test.go
0 → 100644
View file @
d12a2b0c
package
parser
import
(
"testing"
"github.com/stretchr/testify/require"
"github.com/usememos/memos/plugin/gomark/ast"
"github.com/usememos/memos/plugin/gomark/parser/tokenizer"
"github.com/usememos/memos/plugin/gomark/restore"
)
func
TestMathParser
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
text
string
link
ast
.
Node
}{
{
text
:
"$
\\
sqrt{3x-1}+(1+x)^2$"
,
link
:
&
ast
.
Math
{
Content
:
"
\\
sqrt{3x-1}+(1+x)^2"
,
},
},
}
for
_
,
test
:=
range
tests
{
tokens
:=
tokenizer
.
Tokenize
(
test
.
text
)
node
,
_
:=
NewMathParser
()
.
Parse
(
tokens
)
require
.
Equal
(
t
,
restore
.
Restore
([]
ast
.
Node
{
test
.
link
}),
restore
.
Restore
([]
ast
.
Node
{
node
}))
}
}
plugin/gomark/parser/parser.go
View file @
d12a2b0c
...
@@ -37,6 +37,7 @@ var defaultBlockParsers = []BlockParser{
...
@@ -37,6 +37,7 @@ var defaultBlockParsers = []BlockParser{
NewTaskListParser
(),
NewTaskListParser
(),
NewUnorderedListParser
(),
NewUnorderedListParser
(),
NewOrderedListParser
(),
NewOrderedListParser
(),
NewMathBlockParser
(),
NewParagraphParser
(),
NewParagraphParser
(),
NewLineBreakParser
(),
NewLineBreakParser
(),
}
}
...
@@ -90,6 +91,7 @@ var defaultInlineParsers = []InlineParser{
...
@@ -90,6 +91,7 @@ var defaultInlineParsers = []InlineParser{
NewBoldParser
(),
NewBoldParser
(),
NewItalicParser
(),
NewItalicParser
(),
NewCodeParser
(),
NewCodeParser
(),
NewMathParser
(),
NewTagParser
(),
NewTagParser
(),
NewStrikethroughParser
(),
NewStrikethroughParser
(),
NewLineBreakParser
(),
NewLineBreakParser
(),
...
...
plugin/gomark/parser/tokenizer/tokenizer.go
View file @
d12a2b0c
...
@@ -18,6 +18,7 @@ const (
...
@@ -18,6 +18,7 @@ const (
Dot
TokenType
=
"."
Dot
TokenType
=
"."
LessThan
TokenType
=
"<"
LessThan
TokenType
=
"<"
GreaterThan
TokenType
=
">"
GreaterThan
TokenType
=
">"
DollarSign
TokenType
=
"$"
Backslash
TokenType
=
"
\\
"
Backslash
TokenType
=
"
\\
"
Newline
TokenType
=
"
\n
"
Newline
TokenType
=
"
\n
"
Space
TokenType
=
" "
Space
TokenType
=
" "
...
@@ -74,6 +75,8 @@ func Tokenize(text string) []*Token {
...
@@ -74,6 +75,8 @@ func Tokenize(text string) []*Token {
tokens
=
append
(
tokens
,
NewToken
(
PlusSign
,
"+"
))
tokens
=
append
(
tokens
,
NewToken
(
PlusSign
,
"+"
))
case
'.'
:
case
'.'
:
tokens
=
append
(
tokens
,
NewToken
(
Dot
,
"."
))
tokens
=
append
(
tokens
,
NewToken
(
Dot
,
"."
))
case
'$'
:
tokens
=
append
(
tokens
,
NewToken
(
DollarSign
,
"$"
))
case
'\\'
:
case
'\\'
:
tokens
=
append
(
tokens
,
NewToken
(
Backslash
,
`\`
))
tokens
=
append
(
tokens
,
NewToken
(
Backslash
,
`\`
))
case
'\n'
:
case
'\n'
:
...
...
proto/api/v2/markdown_service.proto
View file @
d12a2b0c
...
@@ -34,17 +34,19 @@ enum NodeType {
...
@@ -34,17 +34,19 @@ enum NodeType {
ORDERED_LIST
=
7
;
ORDERED_LIST
=
7
;
UNORDERED_LIST
=
8
;
UNORDERED_LIST
=
8
;
TASK_LIST
=
9
;
TASK_LIST
=
9
;
TEXT
=
10
;
MATH_BLOCK
=
10
;
BOLD
=
11
;
TEXT
=
11
;
ITALIC
=
12
;
BOLD
=
12
;
BOLD_ITALIC
=
13
;
ITALIC
=
13
;
CODE
=
14
;
BOLD_ITALIC
=
14
;
IMAGE
=
15
;
CODE
=
15
;
LINK
=
16
;
IMAGE
=
16
;
AUTO_LINK
=
17
;
LINK
=
17
;
TAG
=
18
;
AUTO_LINK
=
18
;
STRIKETHROUGH
=
19
;
TAG
=
19
;
ESCAPING_CHARACTER
=
20
;
STRIKETHROUGH
=
20
;
ESCAPING_CHARACTER
=
21
;
MATH
=
22
;
}
}
message
Node
{
message
Node
{
...
@@ -59,17 +61,19 @@ message Node {
...
@@ -59,17 +61,19 @@ message Node {
OrderedListNode
ordered_list_node
=
8
;
OrderedListNode
ordered_list_node
=
8
;
UnorderedListNode
unordered_list_node
=
9
;
UnorderedListNode
unordered_list_node
=
9
;
TaskListNode
task_list_node
=
10
;
TaskListNode
task_list_node
=
10
;
TextNode
text_node
=
11
;
MathBlockNode
math_block_node
=
11
;
BoldNode
bold_node
=
12
;
TextNode
text_node
=
12
;
ItalicNode
italic_node
=
13
;
BoldNode
bold_node
=
13
;
BoldItalicNode
bold_italic_node
=
14
;
ItalicNode
italic_node
=
14
;
CodeNode
code_node
=
15
;
BoldItalicNode
bold_italic_node
=
15
;
ImageNode
image_node
=
16
;
CodeNode
code_node
=
16
;
LinkNode
link_node
=
17
;
ImageNode
image_node
=
17
;
AutoLinkNode
auto_link_node
=
18
;
LinkNode
link_node
=
18
;
TagNode
tag_node
=
19
;
AutoLinkNode
auto_link_node
=
19
;
StrikethroughNode
strikethrough_node
=
20
;
TagNode
tag_node
=
20
;
EscapingCharacterNode
escaping_character_node
=
21
;
StrikethroughNode
strikethrough_node
=
21
;
EscapingCharacterNode
escaping_character_node
=
22
;
MathNode
math_node
=
23
;
}
}
}
}
...
@@ -113,6 +117,10 @@ message TaskListNode {
...
@@ -113,6 +117,10 @@ message TaskListNode {
repeated
Node
children
=
3
;
repeated
Node
children
=
3
;
}
}
message
MathBlockNode
{
string
content
=
1
;
}
message
TextNode
{
message
TextNode
{
string
content
=
1
;
string
content
=
1
;
}
}
...
@@ -161,3 +169,7 @@ message StrikethroughNode {
...
@@ -161,3 +169,7 @@ message StrikethroughNode {
message
EscapingCharacterNode
{
message
EscapingCharacterNode
{
string
symbol
=
1
;
string
symbol
=
1
;
}
}
message
MathNode
{
string
content
=
1
;
}
proto/gen/api/v2/README.md
View file @
d12a2b0c
...
@@ -79,6 +79,8 @@
...
@@ -79,6 +79,8 @@
-
[
ItalicNode
](
#memos-api-v2-ItalicNode
)
-
[
ItalicNode
](
#memos-api-v2-ItalicNode
)
-
[
LineBreakNode
](
#memos-api-v2-LineBreakNode
)
-
[
LineBreakNode
](
#memos-api-v2-LineBreakNode
)
-
[
LinkNode
](
#memos-api-v2-LinkNode
)
-
[
LinkNode
](
#memos-api-v2-LinkNode
)
-
[
MathBlockNode
](
#memos-api-v2-MathBlockNode
)
-
[
MathNode
](
#memos-api-v2-MathNode
)
-
[
Node
](
#memos-api-v2-Node
)
-
[
Node
](
#memos-api-v2-Node
)
-
[
OrderedListNode
](
#memos-api-v2-OrderedListNode
)
-
[
OrderedListNode
](
#memos-api-v2-OrderedListNode
)
-
[
ParagraphNode
](
#memos-api-v2-ParagraphNode
)
-
[
ParagraphNode
](
#memos-api-v2-ParagraphNode
)
...
@@ -1154,6 +1156,36 @@
...
@@ -1154,6 +1156,36 @@
<a
name=
"memos-api-v2-MathBlockNode"
></a>
### MathBlockNode
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| content |
[
string
](
#string
)
| | |
<a
name=
"memos-api-v2-MathNode"
></a>
### MathNode
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| content |
[
string
](
#string
)
| | |
<a
name=
"memos-api-v2-Node"
></a>
<a
name=
"memos-api-v2-Node"
></a>
### Node
### Node
...
@@ -1172,6 +1204,7 @@
...
@@ -1172,6 +1204,7 @@
| ordered_list_node |
[
OrderedListNode
](
#memos-api-v2-OrderedListNode
)
| | |
| ordered_list_node |
[
OrderedListNode
](
#memos-api-v2-OrderedListNode
)
| | |
| unordered_list_node |
[
UnorderedListNode
](
#memos-api-v2-UnorderedListNode
)
| | |
| unordered_list_node |
[
UnorderedListNode
](
#memos-api-v2-UnorderedListNode
)
| | |
| task_list_node |
[
TaskListNode
](
#memos-api-v2-TaskListNode
)
| | |
| task_list_node |
[
TaskListNode
](
#memos-api-v2-TaskListNode
)
| | |
| math_block_node |
[
MathBlockNode
](
#memos-api-v2-MathBlockNode
)
| | |
| text_node |
[
TextNode
](
#memos-api-v2-TextNode
)
| | |
| text_node |
[
TextNode
](
#memos-api-v2-TextNode
)
| | |
| bold_node |
[
BoldNode
](
#memos-api-v2-BoldNode
)
| | |
| bold_node |
[
BoldNode
](
#memos-api-v2-BoldNode
)
| | |
| italic_node |
[
ItalicNode
](
#memos-api-v2-ItalicNode
)
| | |
| italic_node |
[
ItalicNode
](
#memos-api-v2-ItalicNode
)
| | |
...
@@ -1183,6 +1216,7 @@
...
@@ -1183,6 +1216,7 @@
| tag_node |
[
TagNode
](
#memos-api-v2-TagNode
)
| | |
| tag_node |
[
TagNode
](
#memos-api-v2-TagNode
)
| | |
| strikethrough_node |
[
StrikethroughNode
](
#memos-api-v2-StrikethroughNode
)
| | |
| strikethrough_node |
[
StrikethroughNode
](
#memos-api-v2-StrikethroughNode
)
| | |
| escaping_character_node |
[
EscapingCharacterNode
](
#memos-api-v2-EscapingCharacterNode
)
| | |
| escaping_character_node |
[
EscapingCharacterNode
](
#memos-api-v2-EscapingCharacterNode
)
| | |
| math_node |
[
MathNode
](
#memos-api-v2-MathNode
)
| | |
...
@@ -1347,17 +1381,19 @@
...
@@ -1347,17 +1381,19 @@
| ORDERED_LIST | 7 | |
| ORDERED_LIST | 7 | |
| UNORDERED_LIST | 8 | |
| UNORDERED_LIST | 8 | |
| TASK_LIST | 9 | |
| TASK_LIST | 9 | |
| TEXT | 10 | |
| MATH_BLOCK | 10 | |
| BOLD | 11 | |
| TEXT | 11 | |
| ITALIC | 12 | |
| BOLD | 12 | |
| BOLD_ITALIC | 13 | |
| ITALIC | 13 | |
| CODE | 14 | |
| BOLD_ITALIC | 14 | |
| IMAGE | 15 | |
| CODE | 15 | |
| LINK | 16 | |
| IMAGE | 16 | |
| AUTO_LINK | 17 | |
| LINK | 17 | |
| TAG | 18 | |
| AUTO_LINK | 18 | |
| STRIKETHROUGH | 19 | |
| TAG | 19 | |
| ESCAPING_CHARACTER | 20 | |
| STRIKETHROUGH | 20 | |
| ESCAPING_CHARACTER | 21 | |
| MATH | 22 | |
...
...
proto/gen/api/v2/markdown_service.pb.go
View file @
d12a2b0c
...
@@ -34,17 +34,19 @@ const (
...
@@ -34,17 +34,19 @@ const (
NodeType_ORDERED_LIST
NodeType
=
7
NodeType_ORDERED_LIST
NodeType
=
7
NodeType_UNORDERED_LIST
NodeType
=
8
NodeType_UNORDERED_LIST
NodeType
=
8
NodeType_TASK_LIST
NodeType
=
9
NodeType_TASK_LIST
NodeType
=
9
NodeType_TEXT
NodeType
=
10
NodeType_MATH_BLOCK
NodeType
=
10
NodeType_BOLD
NodeType
=
11
NodeType_TEXT
NodeType
=
11
NodeType_ITALIC
NodeType
=
12
NodeType_BOLD
NodeType
=
12
NodeType_BOLD_ITALIC
NodeType
=
13
NodeType_ITALIC
NodeType
=
13
NodeType_CODE
NodeType
=
14
NodeType_BOLD_ITALIC
NodeType
=
14
NodeType_IMAGE
NodeType
=
15
NodeType_CODE
NodeType
=
15
NodeType_LINK
NodeType
=
16
NodeType_IMAGE
NodeType
=
16
NodeType_AUTO_LINK
NodeType
=
17
NodeType_LINK
NodeType
=
17
NodeType_TAG
NodeType
=
18
NodeType_AUTO_LINK
NodeType
=
18
NodeType_STRIKETHROUGH
NodeType
=
19
NodeType_TAG
NodeType
=
19
NodeType_ESCAPING_CHARACTER
NodeType
=
20
NodeType_STRIKETHROUGH
NodeType
=
20
NodeType_ESCAPING_CHARACTER
NodeType
=
21
NodeType_MATH
NodeType
=
22
)
)
// Enum value maps for NodeType.
// Enum value maps for NodeType.
...
@@ -60,17 +62,19 @@ var (
...
@@ -60,17 +62,19 @@ var (
7
:
"ORDERED_LIST"
,
7
:
"ORDERED_LIST"
,
8
:
"UNORDERED_LIST"
,
8
:
"UNORDERED_LIST"
,
9
:
"TASK_LIST"
,
9
:
"TASK_LIST"
,
10
:
"TEXT"
,
10
:
"MATH_BLOCK"
,
11
:
"BOLD"
,
11
:
"TEXT"
,
12
:
"ITALIC"
,
12
:
"BOLD"
,
13
:
"BOLD_ITALIC"
,
13
:
"ITALIC"
,
14
:
"CODE"
,
14
:
"BOLD_ITALIC"
,
15
:
"IMAGE"
,
15
:
"CODE"
,
16
:
"LINK"
,
16
:
"IMAGE"
,
17
:
"AUTO_LINK"
,
17
:
"LINK"
,
18
:
"TAG"
,
18
:
"AUTO_LINK"
,
19
:
"STRIKETHROUGH"
,
19
:
"TAG"
,
20
:
"ESCAPING_CHARACTER"
,
20
:
"STRIKETHROUGH"
,
21
:
"ESCAPING_CHARACTER"
,
22
:
"MATH"
,
}
}
NodeType_value
=
map
[
string
]
int32
{
NodeType_value
=
map
[
string
]
int32
{
"NODE_UNSPECIFIED"
:
0
,
"NODE_UNSPECIFIED"
:
0
,
...
@@ -83,17 +87,19 @@ var (
...
@@ -83,17 +87,19 @@ var (
"ORDERED_LIST"
:
7
,
"ORDERED_LIST"
:
7
,
"UNORDERED_LIST"
:
8
,
"UNORDERED_LIST"
:
8
,
"TASK_LIST"
:
9
,
"TASK_LIST"
:
9
,
"TEXT"
:
10
,
"MATH_BLOCK"
:
10
,
"BOLD"
:
11
,
"TEXT"
:
11
,
"ITALIC"
:
12
,
"BOLD"
:
12
,
"BOLD_ITALIC"
:
13
,
"ITALIC"
:
13
,
"CODE"
:
14
,
"BOLD_ITALIC"
:
14
,
"IMAGE"
:
15
,
"CODE"
:
15
,
"LINK"
:
16
,
"IMAGE"
:
16
,
"AUTO_LINK"
:
17
,
"LINK"
:
17
,
"TAG"
:
18
,
"AUTO_LINK"
:
18
,
"STRIKETHROUGH"
:
19
,
"TAG"
:
19
,
"ESCAPING_CHARACTER"
:
20
,
"STRIKETHROUGH"
:
20
,
"ESCAPING_CHARACTER"
:
21
,
"MATH"
:
22
,
}
}
)
)
...
@@ -235,6 +241,7 @@ type Node struct {
...
@@ -235,6 +241,7 @@ type Node struct {
// *Node_OrderedListNode
// *Node_OrderedListNode
// *Node_UnorderedListNode
// *Node_UnorderedListNode
// *Node_TaskListNode
// *Node_TaskListNode
// *Node_MathBlockNode
// *Node_TextNode
// *Node_TextNode
// *Node_BoldNode
// *Node_BoldNode
// *Node_ItalicNode
// *Node_ItalicNode
...
@@ -246,6 +253,7 @@ type Node struct {
...
@@ -246,6 +253,7 @@ type Node struct {
// *Node_TagNode
// *Node_TagNode
// *Node_StrikethroughNode
// *Node_StrikethroughNode
// *Node_EscapingCharacterNode
// *Node_EscapingCharacterNode
// *Node_MathNode
Node
isNode_Node
`protobuf_oneof:"node"`
Node
isNode_Node
`protobuf_oneof:"node"`
}
}
...
@@ -358,6 +366,13 @@ func (x *Node) GetTaskListNode() *TaskListNode {
...
@@ -358,6 +366,13 @@ func (x *Node) GetTaskListNode() *TaskListNode {
return
nil
return
nil
}
}
func
(
x
*
Node
)
GetMathBlockNode
()
*
MathBlockNode
{
if
x
,
ok
:=
x
.
GetNode
()
.
(
*
Node_MathBlockNode
);
ok
{
return
x
.
MathBlockNode
}
return
nil
}
func
(
x
*
Node
)
GetTextNode
()
*
TextNode
{
func
(
x
*
Node
)
GetTextNode
()
*
TextNode
{
if
x
,
ok
:=
x
.
GetNode
()
.
(
*
Node_TextNode
);
ok
{
if
x
,
ok
:=
x
.
GetNode
()
.
(
*
Node_TextNode
);
ok
{
return
x
.
TextNode
return
x
.
TextNode
...
@@ -435,6 +450,13 @@ func (x *Node) GetEscapingCharacterNode() *EscapingCharacterNode {
...
@@ -435,6 +450,13 @@ func (x *Node) GetEscapingCharacterNode() *EscapingCharacterNode {
return
nil
return
nil
}
}
func
(
x
*
Node
)
GetMathNode
()
*
MathNode
{
if
x
,
ok
:=
x
.
GetNode
()
.
(
*
Node_MathNode
);
ok
{
return
x
.
MathNode
}
return
nil
}
type
isNode_Node
interface
{
type
isNode_Node
interface
{
isNode_Node
()
isNode_Node
()
}
}
...
@@ -475,48 +497,56 @@ type Node_TaskListNode struct {
...
@@ -475,48 +497,56 @@ type Node_TaskListNode struct {
TaskListNode
*
TaskListNode
`protobuf:"bytes,10,opt,name=task_list_node,json=taskListNode,proto3,oneof"`
TaskListNode
*
TaskListNode
`protobuf:"bytes,10,opt,name=task_list_node,json=taskListNode,proto3,oneof"`
}
}
type
Node_MathBlockNode
struct
{
MathBlockNode
*
MathBlockNode
`protobuf:"bytes,11,opt,name=math_block_node,json=mathBlockNode,proto3,oneof"`
}
type
Node_TextNode
struct
{
type
Node_TextNode
struct
{
TextNode
*
TextNode
`protobuf:"bytes,1
1
,opt,name=text_node,json=textNode,proto3,oneof"`
TextNode
*
TextNode
`protobuf:"bytes,1
2
,opt,name=text_node,json=textNode,proto3,oneof"`
}
}
type
Node_BoldNode
struct
{
type
Node_BoldNode
struct
{
BoldNode
*
BoldNode
`protobuf:"bytes,1
2
,opt,name=bold_node,json=boldNode,proto3,oneof"`
BoldNode
*
BoldNode
`protobuf:"bytes,1
3
,opt,name=bold_node,json=boldNode,proto3,oneof"`
}
}
type
Node_ItalicNode
struct
{
type
Node_ItalicNode
struct
{
ItalicNode
*
ItalicNode
`protobuf:"bytes,1
3
,opt,name=italic_node,json=italicNode,proto3,oneof"`
ItalicNode
*
ItalicNode
`protobuf:"bytes,1
4
,opt,name=italic_node,json=italicNode,proto3,oneof"`
}
}
type
Node_BoldItalicNode
struct
{
type
Node_BoldItalicNode
struct
{
BoldItalicNode
*
BoldItalicNode
`protobuf:"bytes,1
4
,opt,name=bold_italic_node,json=boldItalicNode,proto3,oneof"`
BoldItalicNode
*
BoldItalicNode
`protobuf:"bytes,1
5
,opt,name=bold_italic_node,json=boldItalicNode,proto3,oneof"`
}
}
type
Node_CodeNode
struct
{
type
Node_CodeNode
struct
{
CodeNode
*
CodeNode
`protobuf:"bytes,1
5
,opt,name=code_node,json=codeNode,proto3,oneof"`
CodeNode
*
CodeNode
`protobuf:"bytes,1
6
,opt,name=code_node,json=codeNode,proto3,oneof"`
}
}
type
Node_ImageNode
struct
{
type
Node_ImageNode
struct
{
ImageNode
*
ImageNode
`protobuf:"bytes,1
6
,opt,name=image_node,json=imageNode,proto3,oneof"`
ImageNode
*
ImageNode
`protobuf:"bytes,1
7
,opt,name=image_node,json=imageNode,proto3,oneof"`
}
}
type
Node_LinkNode
struct
{
type
Node_LinkNode
struct
{
LinkNode
*
LinkNode
`protobuf:"bytes,1
7
,opt,name=link_node,json=linkNode,proto3,oneof"`
LinkNode
*
LinkNode
`protobuf:"bytes,1
8
,opt,name=link_node,json=linkNode,proto3,oneof"`
}
}
type
Node_AutoLinkNode
struct
{
type
Node_AutoLinkNode
struct
{
AutoLinkNode
*
AutoLinkNode
`protobuf:"bytes,1
8
,opt,name=auto_link_node,json=autoLinkNode,proto3,oneof"`
AutoLinkNode
*
AutoLinkNode
`protobuf:"bytes,1
9
,opt,name=auto_link_node,json=autoLinkNode,proto3,oneof"`
}
}
type
Node_TagNode
struct
{
type
Node_TagNode
struct
{
TagNode
*
TagNode
`protobuf:"bytes,
19
,opt,name=tag_node,json=tagNode,proto3,oneof"`
TagNode
*
TagNode
`protobuf:"bytes,
20
,opt,name=tag_node,json=tagNode,proto3,oneof"`
}
}
type
Node_StrikethroughNode
struct
{
type
Node_StrikethroughNode
struct
{
StrikethroughNode
*
StrikethroughNode
`protobuf:"bytes,2
0
,opt,name=strikethrough_node,json=strikethroughNode,proto3,oneof"`
StrikethroughNode
*
StrikethroughNode
`protobuf:"bytes,2
1
,opt,name=strikethrough_node,json=strikethroughNode,proto3,oneof"`
}
}
type
Node_EscapingCharacterNode
struct
{
type
Node_EscapingCharacterNode
struct
{
EscapingCharacterNode
*
EscapingCharacterNode
`protobuf:"bytes,21,opt,name=escaping_character_node,json=escapingCharacterNode,proto3,oneof"`
EscapingCharacterNode
*
EscapingCharacterNode
`protobuf:"bytes,22,opt,name=escaping_character_node,json=escapingCharacterNode,proto3,oneof"`
}
type
Node_MathNode
struct
{
MathNode
*
MathNode
`protobuf:"bytes,23,opt,name=math_node,json=mathNode,proto3,oneof"`
}
}
func
(
*
Node_LineBreakNode
)
isNode_Node
()
{}
func
(
*
Node_LineBreakNode
)
isNode_Node
()
{}
...
@@ -537,6 +567,8 @@ func (*Node_UnorderedListNode) isNode_Node() {}
...
@@ -537,6 +567,8 @@ func (*Node_UnorderedListNode) isNode_Node() {}
func
(
*
Node_TaskListNode
)
isNode_Node
()
{}
func
(
*
Node_TaskListNode
)
isNode_Node
()
{}
func
(
*
Node_MathBlockNode
)
isNode_Node
()
{}
func
(
*
Node_TextNode
)
isNode_Node
()
{}
func
(
*
Node_TextNode
)
isNode_Node
()
{}
func
(
*
Node_BoldNode
)
isNode_Node
()
{}
func
(
*
Node_BoldNode
)
isNode_Node
()
{}
...
@@ -559,6 +591,8 @@ func (*Node_StrikethroughNode) isNode_Node() {}
...
@@ -559,6 +591,8 @@ func (*Node_StrikethroughNode) isNode_Node() {}
func
(
*
Node_EscapingCharacterNode
)
isNode_Node
()
{}
func
(
*
Node_EscapingCharacterNode
)
isNode_Node
()
{}
func
(
*
Node_MathNode
)
isNode_Node
()
{}
type
LineBreakNode
struct
{
type
LineBreakNode
struct
{
state
protoimpl
.
MessageState
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
sizeCache
protoimpl
.
SizeCache
...
@@ -1021,6 +1055,53 @@ func (x *TaskListNode) GetChildren() []*Node {
...
@@ -1021,6 +1055,53 @@ func (x *TaskListNode) GetChildren() []*Node {
return
nil
return
nil
}
}
type
MathBlockNode
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Content
string
`protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
}
func
(
x
*
MathBlockNode
)
Reset
()
{
*
x
=
MathBlockNode
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
12
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
MathBlockNode
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
MathBlockNode
)
ProtoMessage
()
{}
func
(
x
*
MathBlockNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
12
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use MathBlockNode.ProtoReflect.Descriptor instead.
func
(
*
MathBlockNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
12
}
}
func
(
x
*
MathBlockNode
)
GetContent
()
string
{
if
x
!=
nil
{
return
x
.
Content
}
return
""
}
type
TextNode
struct
{
type
TextNode
struct
{
state
protoimpl
.
MessageState
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
sizeCache
protoimpl
.
SizeCache
...
@@ -1032,7 +1113,7 @@ type TextNode struct {
...
@@ -1032,7 +1113,7 @@ type TextNode struct {
func
(
x
*
TextNode
)
Reset
()
{
func
(
x
*
TextNode
)
Reset
()
{
*
x
=
TextNode
{}
*
x
=
TextNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
2
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1045,7 +1126,7 @@ func (x *TextNode) String() string {
...
@@ -1045,7 +1126,7 @@ func (x *TextNode) String() string {
func
(
*
TextNode
)
ProtoMessage
()
{}
func
(
*
TextNode
)
ProtoMessage
()
{}
func
(
x
*
TextNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
TextNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
2
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
3
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1058,7 +1139,7 @@ func (x *TextNode) ProtoReflect() protoreflect.Message {
...
@@ -1058,7 +1139,7 @@ func (x *TextNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use TextNode.ProtoReflect.Descriptor instead.
// Deprecated: Use TextNode.ProtoReflect.Descriptor instead.
func
(
*
TextNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
TextNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
2
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
3
}
}
}
func
(
x
*
TextNode
)
GetContent
()
string
{
func
(
x
*
TextNode
)
GetContent
()
string
{
...
@@ -1080,7 +1161,7 @@ type BoldNode struct {
...
@@ -1080,7 +1161,7 @@ type BoldNode struct {
func
(
x
*
BoldNode
)
Reset
()
{
func
(
x
*
BoldNode
)
Reset
()
{
*
x
=
BoldNode
{}
*
x
=
BoldNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
3
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1093,7 +1174,7 @@ func (x *BoldNode) String() string {
...
@@ -1093,7 +1174,7 @@ func (x *BoldNode) String() string {
func
(
*
BoldNode
)
ProtoMessage
()
{}
func
(
*
BoldNode
)
ProtoMessage
()
{}
func
(
x
*
BoldNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
BoldNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
3
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
4
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1106,7 +1187,7 @@ func (x *BoldNode) ProtoReflect() protoreflect.Message {
...
@@ -1106,7 +1187,7 @@ func (x *BoldNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use BoldNode.ProtoReflect.Descriptor instead.
// Deprecated: Use BoldNode.ProtoReflect.Descriptor instead.
func
(
*
BoldNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
BoldNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
3
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
4
}
}
}
func
(
x
*
BoldNode
)
GetSymbol
()
string
{
func
(
x
*
BoldNode
)
GetSymbol
()
string
{
...
@@ -1135,7 +1216,7 @@ type ItalicNode struct {
...
@@ -1135,7 +1216,7 @@ type ItalicNode struct {
func
(
x
*
ItalicNode
)
Reset
()
{
func
(
x
*
ItalicNode
)
Reset
()
{
*
x
=
ItalicNode
{}
*
x
=
ItalicNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
4
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1148,7 +1229,7 @@ func (x *ItalicNode) String() string {
...
@@ -1148,7 +1229,7 @@ func (x *ItalicNode) String() string {
func
(
*
ItalicNode
)
ProtoMessage
()
{}
func
(
*
ItalicNode
)
ProtoMessage
()
{}
func
(
x
*
ItalicNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ItalicNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
4
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
5
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1161,7 +1242,7 @@ func (x *ItalicNode) ProtoReflect() protoreflect.Message {
...
@@ -1161,7 +1242,7 @@ func (x *ItalicNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use ItalicNode.ProtoReflect.Descriptor instead.
// Deprecated: Use ItalicNode.ProtoReflect.Descriptor instead.
func
(
*
ItalicNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ItalicNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
4
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
5
}
}
}
func
(
x
*
ItalicNode
)
GetSymbol
()
string
{
func
(
x
*
ItalicNode
)
GetSymbol
()
string
{
...
@@ -1190,7 +1271,7 @@ type BoldItalicNode struct {
...
@@ -1190,7 +1271,7 @@ type BoldItalicNode struct {
func
(
x
*
BoldItalicNode
)
Reset
()
{
func
(
x
*
BoldItalicNode
)
Reset
()
{
*
x
=
BoldItalicNode
{}
*
x
=
BoldItalicNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
5
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1203,7 +1284,7 @@ func (x *BoldItalicNode) String() string {
...
@@ -1203,7 +1284,7 @@ func (x *BoldItalicNode) String() string {
func
(
*
BoldItalicNode
)
ProtoMessage
()
{}
func
(
*
BoldItalicNode
)
ProtoMessage
()
{}
func
(
x
*
BoldItalicNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
BoldItalicNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
5
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
6
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1216,7 +1297,7 @@ func (x *BoldItalicNode) ProtoReflect() protoreflect.Message {
...
@@ -1216,7 +1297,7 @@ func (x *BoldItalicNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use BoldItalicNode.ProtoReflect.Descriptor instead.
// Deprecated: Use BoldItalicNode.ProtoReflect.Descriptor instead.
func
(
*
BoldItalicNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
BoldItalicNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
5
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
6
}
}
}
func
(
x
*
BoldItalicNode
)
GetSymbol
()
string
{
func
(
x
*
BoldItalicNode
)
GetSymbol
()
string
{
...
@@ -1244,7 +1325,7 @@ type CodeNode struct {
...
@@ -1244,7 +1325,7 @@ type CodeNode struct {
func
(
x
*
CodeNode
)
Reset
()
{
func
(
x
*
CodeNode
)
Reset
()
{
*
x
=
CodeNode
{}
*
x
=
CodeNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
6
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1257,7 +1338,7 @@ func (x *CodeNode) String() string {
...
@@ -1257,7 +1338,7 @@ func (x *CodeNode) String() string {
func
(
*
CodeNode
)
ProtoMessage
()
{}
func
(
*
CodeNode
)
ProtoMessage
()
{}
func
(
x
*
CodeNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
CodeNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
6
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
7
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1270,7 +1351,7 @@ func (x *CodeNode) ProtoReflect() protoreflect.Message {
...
@@ -1270,7 +1351,7 @@ func (x *CodeNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use CodeNode.ProtoReflect.Descriptor instead.
// Deprecated: Use CodeNode.ProtoReflect.Descriptor instead.
func
(
*
CodeNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
CodeNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
6
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
7
}
}
}
func
(
x
*
CodeNode
)
GetContent
()
string
{
func
(
x
*
CodeNode
)
GetContent
()
string
{
...
@@ -1292,7 +1373,7 @@ type ImageNode struct {
...
@@ -1292,7 +1373,7 @@ type ImageNode struct {
func
(
x
*
ImageNode
)
Reset
()
{
func
(
x
*
ImageNode
)
Reset
()
{
*
x
=
ImageNode
{}
*
x
=
ImageNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
7
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
8
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1305,7 +1386,7 @@ func (x *ImageNode) String() string {
...
@@ -1305,7 +1386,7 @@ func (x *ImageNode) String() string {
func
(
*
ImageNode
)
ProtoMessage
()
{}
func
(
*
ImageNode
)
ProtoMessage
()
{}
func
(
x
*
ImageNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ImageNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
7
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
8
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1318,7 +1399,7 @@ func (x *ImageNode) ProtoReflect() protoreflect.Message {
...
@@ -1318,7 +1399,7 @@ func (x *ImageNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use ImageNode.ProtoReflect.Descriptor instead.
// Deprecated: Use ImageNode.ProtoReflect.Descriptor instead.
func
(
*
ImageNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ImageNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
7
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
8
}
}
}
func
(
x
*
ImageNode
)
GetAltText
()
string
{
func
(
x
*
ImageNode
)
GetAltText
()
string
{
...
@@ -1347,7 +1428,7 @@ type LinkNode struct {
...
@@ -1347,7 +1428,7 @@ type LinkNode struct {
func
(
x
*
LinkNode
)
Reset
()
{
func
(
x
*
LinkNode
)
Reset
()
{
*
x
=
LinkNode
{}
*
x
=
LinkNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
8
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
9
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1360,7 +1441,7 @@ func (x *LinkNode) String() string {
...
@@ -1360,7 +1441,7 @@ func (x *LinkNode) String() string {
func
(
*
LinkNode
)
ProtoMessage
()
{}
func
(
*
LinkNode
)
ProtoMessage
()
{}
func
(
x
*
LinkNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
LinkNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
8
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
1
9
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1373,7 +1454,7 @@ func (x *LinkNode) ProtoReflect() protoreflect.Message {
...
@@ -1373,7 +1454,7 @@ func (x *LinkNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use LinkNode.ProtoReflect.Descriptor instead.
// Deprecated: Use LinkNode.ProtoReflect.Descriptor instead.
func
(
*
LinkNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
LinkNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
8
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
1
9
}
}
}
func
(
x
*
LinkNode
)
GetText
()
string
{
func
(
x
*
LinkNode
)
GetText
()
string
{
...
@@ -1401,7 +1482,7 @@ type AutoLinkNode struct {
...
@@ -1401,7 +1482,7 @@ type AutoLinkNode struct {
func
(
x
*
AutoLinkNode
)
Reset
()
{
func
(
x
*
AutoLinkNode
)
Reset
()
{
*
x
=
AutoLinkNode
{}
*
x
=
AutoLinkNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
19
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
20
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1414,7 +1495,7 @@ func (x *AutoLinkNode) String() string {
...
@@ -1414,7 +1495,7 @@ func (x *AutoLinkNode) String() string {
func
(
*
AutoLinkNode
)
ProtoMessage
()
{}
func
(
*
AutoLinkNode
)
ProtoMessage
()
{}
func
(
x
*
AutoLinkNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
AutoLinkNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
19
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
20
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1427,7 +1508,7 @@ func (x *AutoLinkNode) ProtoReflect() protoreflect.Message {
...
@@ -1427,7 +1508,7 @@ func (x *AutoLinkNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use AutoLinkNode.ProtoReflect.Descriptor instead.
// Deprecated: Use AutoLinkNode.ProtoReflect.Descriptor instead.
func
(
*
AutoLinkNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
AutoLinkNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
19
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
20
}
}
}
func
(
x
*
AutoLinkNode
)
GetUrl
()
string
{
func
(
x
*
AutoLinkNode
)
GetUrl
()
string
{
...
@@ -1448,7 +1529,7 @@ type TagNode struct {
...
@@ -1448,7 +1529,7 @@ type TagNode struct {
func
(
x
*
TagNode
)
Reset
()
{
func
(
x
*
TagNode
)
Reset
()
{
*
x
=
TagNode
{}
*
x
=
TagNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
0
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1461,7 +1542,7 @@ func (x *TagNode) String() string {
...
@@ -1461,7 +1542,7 @@ func (x *TagNode) String() string {
func
(
*
TagNode
)
ProtoMessage
()
{}
func
(
*
TagNode
)
ProtoMessage
()
{}
func
(
x
*
TagNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
TagNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
0
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
1
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1474,7 +1555,7 @@ func (x *TagNode) ProtoReflect() protoreflect.Message {
...
@@ -1474,7 +1555,7 @@ func (x *TagNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use TagNode.ProtoReflect.Descriptor instead.
// Deprecated: Use TagNode.ProtoReflect.Descriptor instead.
func
(
*
TagNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
TagNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
2
0
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
2
1
}
}
}
func
(
x
*
TagNode
)
GetContent
()
string
{
func
(
x
*
TagNode
)
GetContent
()
string
{
...
@@ -1495,7 +1576,7 @@ type StrikethroughNode struct {
...
@@ -1495,7 +1576,7 @@ type StrikethroughNode struct {
func
(
x
*
StrikethroughNode
)
Reset
()
{
func
(
x
*
StrikethroughNode
)
Reset
()
{
*
x
=
StrikethroughNode
{}
*
x
=
StrikethroughNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
1
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
2
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1508,7 +1589,7 @@ func (x *StrikethroughNode) String() string {
...
@@ -1508,7 +1589,7 @@ func (x *StrikethroughNode) String() string {
func
(
*
StrikethroughNode
)
ProtoMessage
()
{}
func
(
*
StrikethroughNode
)
ProtoMessage
()
{}
func
(
x
*
StrikethroughNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
StrikethroughNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
1
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
2
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1521,7 +1602,7 @@ func (x *StrikethroughNode) ProtoReflect() protoreflect.Message {
...
@@ -1521,7 +1602,7 @@ func (x *StrikethroughNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use StrikethroughNode.ProtoReflect.Descriptor instead.
// Deprecated: Use StrikethroughNode.ProtoReflect.Descriptor instead.
func
(
*
StrikethroughNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
StrikethroughNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
2
1
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
2
2
}
}
}
func
(
x
*
StrikethroughNode
)
GetContent
()
string
{
func
(
x
*
StrikethroughNode
)
GetContent
()
string
{
...
@@ -1542,7 +1623,7 @@ type EscapingCharacterNode struct {
...
@@ -1542,7 +1623,7 @@ type EscapingCharacterNode struct {
func
(
x
*
EscapingCharacterNode
)
Reset
()
{
func
(
x
*
EscapingCharacterNode
)
Reset
()
{
*
x
=
EscapingCharacterNode
{}
*
x
=
EscapingCharacterNode
{}
if
protoimpl
.
UnsafeEnabled
{
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
2
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1555,7 +1636,7 @@ func (x *EscapingCharacterNode) String() string {
...
@@ -1555,7 +1636,7 @@ func (x *EscapingCharacterNode) String() string {
func
(
*
EscapingCharacterNode
)
ProtoMessage
()
{}
func
(
*
EscapingCharacterNode
)
ProtoMessage
()
{}
func
(
x
*
EscapingCharacterNode
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
EscapingCharacterNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
2
]
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
2
3
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1568,7 +1649,7 @@ func (x *EscapingCharacterNode) ProtoReflect() protoreflect.Message {
...
@@ -1568,7 +1649,7 @@ func (x *EscapingCharacterNode) ProtoReflect() protoreflect.Message {
// Deprecated: Use EscapingCharacterNode.ProtoReflect.Descriptor instead.
// Deprecated: Use EscapingCharacterNode.ProtoReflect.Descriptor instead.
func
(
*
EscapingCharacterNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
EscapingCharacterNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
2
2
}
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
2
3
}
}
}
func
(
x
*
EscapingCharacterNode
)
GetSymbol
()
string
{
func
(
x
*
EscapingCharacterNode
)
GetSymbol
()
string
{
...
@@ -1578,6 +1659,53 @@ func (x *EscapingCharacterNode) GetSymbol() string {
...
@@ -1578,6 +1659,53 @@ func (x *EscapingCharacterNode) GetSymbol() string {
return
""
return
""
}
}
type
MathNode
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Content
string
`protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
}
func
(
x
*
MathNode
)
Reset
()
{
*
x
=
MathNode
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
24
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
MathNode
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
MathNode
)
ProtoMessage
()
{}
func
(
x
*
MathNode
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v2_markdown_service_proto_msgTypes
[
24
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use MathNode.ProtoReflect.Descriptor instead.
func
(
*
MathNode
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v2_markdown_service_proto_rawDescGZIP
(),
[]
int
{
24
}
}
func
(
x
*
MathNode
)
GetContent
()
string
{
if
x
!=
nil
{
return
x
.
Content
}
return
""
}
var
File_api_v2_markdown_service_proto
protoreflect
.
FileDescriptor
var
File_api_v2_markdown_service_proto
protoreflect
.
FileDescriptor
var
file_api_v2_markdown_service_proto_rawDesc
=
[]
byte
{
var
file_api_v2_markdown_service_proto_rawDesc
=
[]
byte
{
...
@@ -1593,7 +1721,7 @@ var file_api_v2_markdown_service_proto_rawDesc = []byte{
...
@@ -1593,7 +1721,7 @@ var file_api_v2_markdown_service_proto_rawDesc = []byte{
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x22
,
0x9
7
,
0x0b
,
0x0a
,
0x04
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x2a
,
0x0a
,
0x04
,
0x74
,
0x65
,
0x73
,
0x22
,
0x9
5
,
0x0c
,
0x0a
,
0x04
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x2a
,
0x0a
,
0x04
,
0x74
,
0x79
,
0x70
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x79
,
0x70
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x54
,
0x79
,
0x70
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x54
,
0x79
,
0x70
,
0x65
,
0x52
,
0x04
,
0x74
,
0x79
,
0x70
,
0x65
,
0x12
,
0x45
,
0x0a
,
0x0f
,
0x6c
,
0x69
,
0x6e
,
0x65
,
0x5f
,
0x65
,
0x52
,
0x04
,
0x74
,
0x79
,
0x70
,
0x65
,
0x12
,
0x45
,
0x0a
,
0x0f
,
0x6c
,
0x69
,
0x6e
,
0x65
,
0x5f
,
...
@@ -1637,169 +1765,184 @@ var file_api_v2_markdown_service_proto_rawDesc = []byte{
...
@@ -1637,169 +1765,184 @@ var file_api_v2_markdown_service_proto_rawDesc = []byte{
0x73
,
0x6b
,
0x5f
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x73
,
0x6b
,
0x5f
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x32
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x45
,
0x0a
,
0x09
,
0x74
,
0x65
,
0x78
,
0x74
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x0a
,
0x0f
,
0x6d
,
0x61
,
0x74
,
0x68
,
0x5f
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x65
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x2e
,
0x54
,
0x65
,
0x78
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x08
,
0x74
,
0x65
,
0x78
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4d
,
0x61
,
0x74
,
0x68
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x09
,
0x62
,
0x6f
,
0x6c
,
0x64
,
0x5f
,
0x6e
,
0x6f
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x0d
,
0x6d
,
0x61
,
0x74
,
0x68
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x09
,
0x74
,
0x65
,
0x78
,
0x74
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x64
,
0x65
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x42
,
0x6f
,
0x6c
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x54
,
0x65
,
0x78
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x08
,
0x62
,
0x6f
,
0x6c
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x3b
,
0x0a
,
0x0b
,
0x48
,
0x00
,
0x52
,
0x08
,
0x74
,
0x65
,
0x78
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x09
,
0x69
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x0d
,
0x20
,
0x01
,
0x28
,
0x62
,
0x6f
,
0x6c
,
0x64
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x0d
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0b
,
0x32
,
0x18
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x42
,
0x2e
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x0a
,
0x69
,
0x6f
,
0x6c
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x08
,
0x62
,
0x6f
,
0x6c
,
0x64
,
0x4e
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x48
,
0x0a
,
0x10
,
0x62
,
0x6f
,
0x6c
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x3b
,
0x0a
,
0x0b
,
0x69
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x5f
,
0x69
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x0e
,
0x20
,
0x64
,
0x65
,
0x18
,
0x0e
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x18
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1c
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x76
,
0x32
,
0x2e
,
0x42
,
0x6f
,
0x6c
,
0x64
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x0a
,
0x69
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x65
,
0x48
,
0x00
,
0x52
,
0x0e
,
0x62
,
0x6f
,
0x6c
,
0x64
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x12
,
0x48
,
0x0a
,
0x10
,
0x62
,
0x6f
,
0x6c
,
0x64
,
0x5f
,
0x69
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x5f
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x09
,
0x63
,
0x6f
,
0x64
,
0x65
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x0f
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1c
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x18
,
0x0f
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x42
,
0x6f
,
0x6c
,
0x64
,
0x49
,
0x74
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x43
,
0x6f
,
0x64
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x0e
,
0x62
,
0x6f
,
0x6c
,
0x64
,
0x52
,
0x08
,
0x63
,
0x6f
,
0x64
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x38
,
0x0a
,
0x0a
,
0x69
,
0x6d
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x09
,
0x63
,
0x6f
,
0x61
,
0x67
,
0x65
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x10
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x17
,
0x64
,
0x65
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x10
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x49
,
0x6d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x43
,
0x6f
,
0x64
,
0x61
,
0x67
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x09
,
0x69
,
0x6d
,
0x61
,
0x67
,
0x65
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x08
,
0x63
,
0x6f
,
0x64
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x09
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x38
,
0x0a
,
0x0a
,
0x69
,
0x6d
,
0x61
,
0x67
,
0x65
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x65
,
0x18
,
0x11
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x11
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x17
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x49
,
0x6d
,
0x61
,
0x67
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x00
,
0x52
,
0x08
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x42
,
0x0a
,
0x0e
,
0x61
,
0x52
,
0x09
,
0x69
,
0x6d
,
0x61
,
0x67
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x09
,
0x6c
,
0x75
,
0x74
,
0x6f
,
0x5f
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x12
,
0x20
,
0x69
,
0x6e
,
0x6b
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x12
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4c
,
0x69
,
0x76
,
0x32
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x08
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x00
,
0x52
,
0x0c
,
0x61
,
0x75
,
0x74
,
0x6f
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x64
,
0x65
,
0x12
,
0x42
,
0x0a
,
0x0e
,
0x61
,
0x75
,
0x74
,
0x6f
,
0x5f
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x5f
,
0x32
,
0x0a
,
0x08
,
0x74
,
0x61
,
0x67
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x13
,
0x20
,
0x01
,
0x28
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x13
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x0b
,
0x32
,
0x15
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x4c
,
0x69
,
0x2e
,
0x54
,
0x61
,
0x67
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x07
,
0x74
,
0x61
,
0x67
,
0x4e
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x0c
,
0x61
,
0x75
,
0x74
,
0x6f
,
0x4c
,
0x69
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x50
,
0x0a
,
0x12
,
0x73
,
0x74
,
0x72
,
0x69
,
0x6b
,
0x65
,
0x74
,
0x68
,
0x72
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x32
,
0x0a
,
0x08
,
0x74
,
0x61
,
0x67
,
0x5f
,
0x6e
,
0x6f
,
0x6f
,
0x75
,
0x67
,
0x68
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x14
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x64
,
0x65
,
0x18
,
0x14
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x15
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x53
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x54
,
0x61
,
0x67
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x74
,
0x72
,
0x69
,
0x6b
,
0x65
,
0x74
,
0x68
,
0x72
,
0x6f
,
0x75
,
0x67
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x00
,
0x52
,
0x07
,
0x74
,
0x61
,
0x67
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x50
,
0x0a
,
0x12
,
0x73
,
0x74
,
0x48
,
0x00
,
0x52
,
0x11
,
0x73
,
0x74
,
0x72
,
0x69
,
0x6b
,
0x65
,
0x74
,
0x68
,
0x72
,
0x6f
,
0x75
,
0x67
,
0x72
,
0x69
,
0x6b
,
0x65
,
0x74
,
0x68
,
0x72
,
0x6f
,
0x75
,
0x67
,
0x68
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x5d
,
0x0a
,
0x17
,
0x65
,
0x73
,
0x63
,
0x61
,
0x70
,
0x69
,
0x6e
,
0x18
,
0x15
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1f
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x67
,
0x5f
,
0x63
,
0x68
,
0x61
,
0x72
,
0x61
,
0x63
,
0x74
,
0x65
,
0x72
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x53
,
0x74
,
0x72
,
0x69
,
0x6b
,
0x65
,
0x74
,
0x68
,
0x72
,
0x6f
,
0x18
,
0x15
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x23
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x75
,
0x67
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x11
,
0x73
,
0x74
,
0x72
,
0x69
,
0x6b
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x45
,
0x73
,
0x63
,
0x61
,
0x70
,
0x69
,
0x6e
,
0x67
,
0x43
,
0x68
,
0x65
,
0x74
,
0x68
,
0x72
,
0x6f
,
0x75
,
0x67
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x5d
,
0x0a
,
0x17
,
0x61
,
0x72
,
0x61
,
0x63
,
0x74
,
0x65
,
0x72
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x15
,
0x65
,
0x65
,
0x73
,
0x63
,
0x61
,
0x70
,
0x69
,
0x6e
,
0x67
,
0x5f
,
0x63
,
0x68
,
0x61
,
0x72
,
0x61
,
0x63
,
0x74
,
0x73
,
0x63
,
0x61
,
0x70
,
0x69
,
0x6e
,
0x67
,
0x43
,
0x68
,
0x61
,
0x72
,
0x61
,
0x63
,
0x74
,
0x65
,
0x72
,
0x65
,
0x72
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x16
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x23
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x42
,
0x06
,
0x0a
,
0x04
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x22
,
0x0f
,
0x0a
,
0x0d
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x45
,
0x73
,
0x63
,
0x4c
,
0x69
,
0x6e
,
0x65
,
0x42
,
0x72
,
0x65
,
0x61
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x22
,
0x3f
,
0x0a
,
0x61
,
0x70
,
0x69
,
0x6e
,
0x67
,
0x43
,
0x68
,
0x61
,
0x72
,
0x61
,
0x63
,
0x74
,
0x65
,
0x72
,
0x4e
,
0x6f
,
0x0d
,
0x50
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x61
,
0x70
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x2e
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x15
,
0x65
,
0x73
,
0x63
,
0x61
,
0x70
,
0x69
,
0x6e
,
0x67
,
0x43
,
0x68
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x61
,
0x72
,
0x61
,
0x63
,
0x74
,
0x65
,
0x72
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x35
,
0x0a
,
0x09
,
0x6d
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x61
,
0x74
,
0x68
,
0x5f
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x17
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x45
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4d
,
0x61
,
0x0a
,
0x0d
,
0x43
,
0x6f
,
0x64
,
0x65
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x74
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x48
,
0x00
,
0x52
,
0x08
,
0x6d
,
0x61
,
0x74
,
0x68
,
0x4e
,
0x6f
,
0x1a
,
0x0a
,
0x08
,
0x6c
,
0x61
,
0x6e
,
0x67
,
0x75
,
0x61
,
0x67
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x64
,
0x65
,
0x42
,
0x06
,
0x0a
,
0x04
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x22
,
0x0f
,
0x0a
,
0x0d
,
0x4c
,
0x69
,
0x09
,
0x52
,
0x08
,
0x6c
,
0x61
,
0x6e
,
0x67
,
0x75
,
0x61
,
0x67
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x63
,
0x6e
,
0x65
,
0x42
,
0x72
,
0x65
,
0x61
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x22
,
0x3f
,
0x0a
,
0x0d
,
0x50
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x63
,
0x6f
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x61
,
0x70
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x53
,
0x0a
,
0x0b
,
0x48
,
0x65
,
0x61
,
0x64
,
0x69
,
0x6e
,
0x67
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x6c
,
0x65
,
0x76
,
0x65
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x6c
,
0x65
,
0x76
,
0x65
,
0x6c
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x45
,
0x0a
,
0x0d
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x43
,
0x6f
,
0x64
,
0x65
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x08
,
0x6c
,
0x61
,
0x6e
,
0x67
,
0x75
,
0x61
,
0x67
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x2c
,
0x0a
,
0x12
,
0x48
,
0x6f
,
0x08
,
0x6c
,
0x61
,
0x6e
,
0x67
,
0x75
,
0x61
,
0x67
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x72
,
0x69
,
0x7a
,
0x6f
,
0x6e
,
0x74
,
0x61
,
0x6c
,
0x52
,
0x75
,
0x6c
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x53
,
0x0a
,
0x0b
,
0x48
,
0x65
,
0x61
,
0x64
,
0x69
,
0x6e
,
0x67
,
0x4e
,
0x6f
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x22
,
0x40
,
0x0a
,
0x0e
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x64
,
0x65
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x6c
,
0x65
,
0x76
,
0x65
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x6b
,
0x71
,
0x75
,
0x6f
,
0x74
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x05
,
0x52
,
0x05
,
0x6c
,
0x65
,
0x76
,
0x65
,
0x6c
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x59
,
0x0a
,
0x0f
,
0x4f
,
0x72
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x2c
,
0x0a
,
0x12
,
0x48
,
0x6f
,
0x72
,
0x69
,
0x64
,
0x65
,
0x72
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x7a
,
0x6f
,
0x6e
,
0x74
,
0x61
,
0x6c
,
0x52
,
0x75
,
0x6c
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x06
,
0x6e
,
0x75
,
0x6d
,
0x62
,
0x65
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x6e
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x75
,
0x6d
,
0x62
,
0x65
,
0x72
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x22
,
0x40
,
0x0a
,
0x0e
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x71
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x75
,
0x6f
,
0x74
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x5b
,
0x0a
,
0x11
,
0x55
,
0x6e
,
0x6f
,
0x72
,
0x64
,
0x65
,
0x72
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x59
,
0x0a
,
0x0f
,
0x4f
,
0x72
,
0x64
,
0x65
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x72
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x6e
,
0x6f
,
0x6c
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x75
,
0x6d
,
0x62
,
0x65
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x6e
,
0x75
,
0x6d
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x62
,
0x65
,
0x72
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x65
,
0x6e
,
0x22
,
0x72
,
0x0a
,
0x0c
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x5b
,
0x0a
,
0x11
,
0x55
,
0x6e
,
0x6f
,
0x72
,
0x64
,
0x65
,
0x72
,
0x65
,
0x64
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x6f
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x24
,
0x0a
,
0x08
,
0x54
,
0x65
,
0x78
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
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
,
0x22
,
0x52
,
0x0a
,
0x08
,
0x42
,
0x6f
,
0x6c
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x03
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x3e
,
0x0a
,
0x0a
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x22
,
0x72
,
0x0a
,
0x0c
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x74
,
0x65
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x29
,
0x0a
,
0x0d
,
0x4d
,
0x61
,
0x74
,
0x68
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
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
,
0x22
,
0x24
,
0x0a
,
0x08
,
0x54
,
0x65
,
0x78
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
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
,
0x22
,
0x52
,
0x0a
,
0x08
,
0x42
,
0x6f
,
0x6c
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x2e
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x52
,
0x08
,
0x63
,
0x68
,
0x69
,
0x6c
,
0x64
,
0x72
,
0x65
,
0x6e
,
0x22
,
0x3e
,
0x0a
,
0x0a
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
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
,
0x22
,
0x42
,
0x0a
,
0x0e
,
0x42
,
0x6f
,
0x6c
,
0x64
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
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
,
0x22
,
0x24
,
0x0a
,
0x08
,
0x43
,
0x6f
,
0x64
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
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
,
0x22
,
0x38
,
0x0a
,
0x09
,
0x49
,
0x6d
,
0x61
,
0x67
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x19
,
0x0a
,
0x08
,
0x61
,
0x6c
,
0x74
,
0x5f
,
0x74
,
0x65
,
0x78
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x61
,
0x6c
,
0x74
,
0x54
,
0x65
,
0x78
,
0x74
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x22
,
0x30
,
0x0a
,
0x08
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x74
,
0x65
,
0x78
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x74
,
0x65
,
0x78
,
0x74
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x22
,
0x20
,
0x0a
,
0x0c
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x22
,
0x23
,
0x0a
,
0x07
,
0x54
,
0x61
,
0x67
,
0x4e
,
0x6f
,
0x64
,
0x65
,
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
,
0x22
,
0x2d
,
0x0a
,
0x11
,
0x53
,
0x74
,
0x72
,
0x69
,
0x6b
,
0x65
,
0x74
,
0x68
,
0x72
,
0x6f
,
0x75
,
0x67
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
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
,
0x22
,
0x2f
,
0x0a
,
0x15
,
0x45
,
0x73
,
0x63
,
0x61
,
0x70
,
0x69
,
0x6e
,
0x67
,
0x43
,
0x68
,
0x61
,
0x72
,
0x61
,
0x63
,
0x74
,
0x65
,
0x72
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x22
,
0x24
,
0x0a
,
0x08
,
0x4d
,
0x61
,
0x74
,
0x68
,
0x4e
,
0x6f
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x42
,
0x0a
,
0x0e
,
0x42
,
0x6f
,
0x6c
,
0x64
,
0x49
,
0x74
,
0x61
,
0x6c
,
0x69
,
0x63
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
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
,
0x22
,
0x24
,
0x0a
,
0x08
,
0x43
,
0x6f
,
0x64
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
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
,
0x22
,
0x38
,
0x0a
,
0x09
,
0x49
,
0x6d
,
0x61
,
0x67
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x19
,
0x0a
,
0x08
,
0x61
,
0x6c
,
0x74
,
0x5f
,
0x74
,
0x65
,
0x78
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x61
,
0x6c
,
0x74
,
0x54
,
0x65
,
0x78
,
0x74
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x22
,
0x30
,
0x0a
,
0x08
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x74
,
0x65
,
0x78
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x74
,
0x65
,
0x78
,
0x74
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x22
,
0x20
,
0x0a
,
0x0c
,
0x41
,
0x75
,
0x74
,
0x6f
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x22
,
0x23
,
0x0a
,
0x07
,
0x54
,
0x61
,
0x67
,
0x4e
,
0x6f
,
0x64
,
0x65
,
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
,
0x22
,
0x2d
,
0x0a
,
0x11
,
0x53
,
0x74
,
0x72
,
0x69
,
0x6b
,
0x65
,
0x74
,
0x68
,
0x72
,
0x6f
,
0x75
,
0x67
,
0x68
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x01
,
0x20
,
0x64
,
0x65
,
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
,
0x22
,
0x2f
,
0x0a
,
0x15
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x74
,
0x2a
,
0xe3
,
0x02
,
0x0a
,
0x45
,
0x73
,
0x63
,
0x61
,
0x70
,
0x69
,
0x6e
,
0x67
,
0x43
,
0x68
,
0x61
,
0x72
,
0x61
,
0x63
,
0x74
,
0x65
,
0x08
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x14
,
0x0a
,
0x10
,
0x4e
,
0x4f
,
0x44
,
0x72
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x45
,
0x5f
,
0x55
,
0x4e
,
0x53
,
0x50
,
0x45
,
0x43
,
0x49
,
0x46
,
0x49
,
0x45
,
0x44
,
0x10
,
0x00
,
0x12
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x2a
,
0xc9
,
0x02
,
0x0e
,
0x0a
,
0x0a
,
0x4c
,
0x49
,
0x4e
,
0x45
,
0x5f
,
0x42
,
0x52
,
0x45
,
0x41
,
0x4b
,
0x10
,
0x01
,
0x12
,
0x0a
,
0x08
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x14
,
0x0a
,
0x10
,
0x4e
,
0x4f
,
0x0d
,
0x0a
,
0x09
,
0x50
,
0x41
,
0x52
,
0x41
,
0x47
,
0x52
,
0x41
,
0x50
,
0x48
,
0x10
,
0x02
,
0x12
,
0x0e
,
0x44
,
0x45
,
0x5f
,
0x55
,
0x4e
,
0x53
,
0x50
,
0x45
,
0x43
,
0x49
,
0x46
,
0x49
,
0x45
,
0x44
,
0x10
,
0x00
,
0x0a
,
0x0a
,
0x43
,
0x4f
,
0x44
,
0x45
,
0x5f
,
0x42
,
0x4c
,
0x4f
,
0x43
,
0x4b
,
0x10
,
0x03
,
0x12
,
0x0b
,
0x12
,
0x0e
,
0x0a
,
0x0a
,
0x4c
,
0x49
,
0x4e
,
0x45
,
0x5f
,
0x42
,
0x52
,
0x45
,
0x41
,
0x4b
,
0x10
,
0x01
,
0x0a
,
0x07
,
0x48
,
0x45
,
0x41
,
0x44
,
0x49
,
0x4e
,
0x47
,
0x10
,
0x04
,
0x12
,
0x13
,
0x0a
,
0x0f
,
0x48
,
0x12
,
0x0d
,
0x0a
,
0x09
,
0x50
,
0x41
,
0x52
,
0x41
,
0x47
,
0x52
,
0x41
,
0x50
,
0x48
,
0x10
,
0x02
,
0x12
,
0x4f
,
0x52
,
0x49
,
0x5a
,
0x4f
,
0x4e
,
0x54
,
0x41
,
0x4c
,
0x5f
,
0x52
,
0x55
,
0x4c
,
0x45
,
0x10
,
0x05
,
0x0e
,
0x0a
,
0x0a
,
0x43
,
0x4f
,
0x44
,
0x45
,
0x5f
,
0x42
,
0x4c
,
0x4f
,
0x43
,
0x4b
,
0x10
,
0x03
,
0x12
,
0x12
,
0x0e
,
0x0a
,
0x0a
,
0x42
,
0x4c
,
0x4f
,
0x43
,
0x4b
,
0x51
,
0x55
,
0x4f
,
0x54
,
0x45
,
0x10
,
0x06
,
0x0b
,
0x0a
,
0x07
,
0x48
,
0x45
,
0x41
,
0x44
,
0x49
,
0x4e
,
0x47
,
0x10
,
0x04
,
0x12
,
0x13
,
0x0a
,
0x0f
,
0x12
,
0x10
,
0x0a
,
0x0c
,
0x4f
,
0x52
,
0x44
,
0x45
,
0x52
,
0x45
,
0x44
,
0x5f
,
0x4c
,
0x49
,
0x53
,
0x54
,
0x48
,
0x4f
,
0x52
,
0x49
,
0x5a
,
0x4f
,
0x4e
,
0x54
,
0x41
,
0x4c
,
0x5f
,
0x52
,
0x55
,
0x4c
,
0x45
,
0x10
,
0x10
,
0x07
,
0x12
,
0x12
,
0x0a
,
0x0e
,
0x55
,
0x4e
,
0x4f
,
0x52
,
0x44
,
0x45
,
0x52
,
0x45
,
0x44
,
0x5f
,
0x05
,
0x12
,
0x0e
,
0x0a
,
0x0a
,
0x42
,
0x4c
,
0x4f
,
0x43
,
0x4b
,
0x51
,
0x55
,
0x4f
,
0x54
,
0x45
,
0x10
,
0x4c
,
0x49
,
0x53
,
0x54
,
0x10
,
0x08
,
0x12
,
0x0d
,
0x0a
,
0x09
,
0x54
,
0x41
,
0x53
,
0x4b
,
0x5f
,
0x4c
,
0x06
,
0x12
,
0x10
,
0x0a
,
0x0c
,
0x4f
,
0x52
,
0x44
,
0x45
,
0x52
,
0x45
,
0x44
,
0x5f
,
0x4c
,
0x49
,
0x53
,
0x49
,
0x53
,
0x54
,
0x10
,
0x09
,
0x12
,
0x0e
,
0x0a
,
0x0a
,
0x4d
,
0x41
,
0x54
,
0x48
,
0x5f
,
0x42
,
0x4c
,
0x54
,
0x10
,
0x07
,
0x12
,
0x12
,
0x0a
,
0x0e
,
0x55
,
0x4e
,
0x4f
,
0x52
,
0x44
,
0x45
,
0x52
,
0x45
,
0x44
,
0x4f
,
0x43
,
0x4b
,
0x10
,
0x0a
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x54
,
0x45
,
0x58
,
0x54
,
0x10
,
0x0b
,
0x12
,
0x5f
,
0x4c
,
0x49
,
0x53
,
0x54
,
0x10
,
0x08
,
0x12
,
0x0d
,
0x0a
,
0x09
,
0x54
,
0x41
,
0x53
,
0x4b
,
0x5f
,
0x08
,
0x0a
,
0x04
,
0x42
,
0x4f
,
0x4c
,
0x44
,
0x10
,
0x0c
,
0x12
,
0x0a
,
0x0a
,
0x06
,
0x49
,
0x54
,
0x41
,
0x4c
,
0x49
,
0x53
,
0x54
,
0x10
,
0x09
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x54
,
0x45
,
0x58
,
0x54
,
0x10
,
0x0a
,
0x4c
,
0x49
,
0x43
,
0x10
,
0x0d
,
0x12
,
0x0f
,
0x0a
,
0x0b
,
0x42
,
0x4f
,
0x4c
,
0x44
,
0x5f
,
0x49
,
0x54
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x42
,
0x4f
,
0x4c
,
0x44
,
0x10
,
0x0b
,
0x12
,
0x0a
,
0x0a
,
0x06
,
0x49
,
0x54
,
0x41
,
0x4c
,
0x49
,
0x43
,
0x10
,
0x0e
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x43
,
0x4f
,
0x44
,
0x45
,
0x10
,
0x0f
,
0x41
,
0x4c
,
0x49
,
0x43
,
0x10
,
0x0c
,
0x12
,
0x0f
,
0x0a
,
0x0b
,
0x42
,
0x4f
,
0x4c
,
0x44
,
0x5f
,
0x49
,
0x12
,
0x09
,
0x0a
,
0x05
,
0x49
,
0x4d
,
0x41
,
0x47
,
0x45
,
0x10
,
0x10
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x4c
,
0x54
,
0x41
,
0x4c
,
0x49
,
0x43
,
0x10
,
0x0d
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x43
,
0x4f
,
0x44
,
0x45
,
0x10
,
0x49
,
0x4e
,
0x4b
,
0x10
,
0x11
,
0x12
,
0x0d
,
0x0a
,
0x09
,
0x41
,
0x55
,
0x54
,
0x4f
,
0x5f
,
0x4c
,
0x49
,
0x0e
,
0x12
,
0x09
,
0x0a
,
0x05
,
0x49
,
0x4d
,
0x41
,
0x47
,
0x45
,
0x10
,
0x0f
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x4e
,
0x4b
,
0x10
,
0x12
,
0x12
,
0x07
,
0x0a
,
0x03
,
0x54
,
0x41
,
0x47
,
0x10
,
0x13
,
0x12
,
0x11
,
0x0a
,
0x4c
,
0x49
,
0x4e
,
0x4b
,
0x10
,
0x10
,
0x12
,
0x0d
,
0x0a
,
0x09
,
0x41
,
0x55
,
0x54
,
0x4f
,
0x5f
,
0x4c
,
0x0d
,
0x53
,
0x54
,
0x52
,
0x49
,
0x4b
,
0x45
,
0x54
,
0x48
,
0x52
,
0x4f
,
0x55
,
0x47
,
0x48
,
0x10
,
0x14
,
0x49
,
0x4e
,
0x4b
,
0x10
,
0x11
,
0x12
,
0x07
,
0x0a
,
0x03
,
0x54
,
0x41
,
0x47
,
0x10
,
0x12
,
0x12
,
0x11
,
0x12
,
0x16
,
0x0a
,
0x12
,
0x45
,
0x53
,
0x43
,
0x41
,
0x50
,
0x49
,
0x4e
,
0x47
,
0x5f
,
0x43
,
0x48
,
0x41
,
0x0a
,
0x0d
,
0x53
,
0x54
,
0x52
,
0x49
,
0x4b
,
0x45
,
0x54
,
0x48
,
0x52
,
0x4f
,
0x55
,
0x47
,
0x48
,
0x10
,
0x52
,
0x41
,
0x43
,
0x54
,
0x45
,
0x52
,
0x10
,
0x15
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x4d
,
0x41
,
0x54
,
0x48
,
0x13
,
0x12
,
0x16
,
0x0a
,
0x12
,
0x45
,
0x53
,
0x43
,
0x41
,
0x50
,
0x49
,
0x4e
,
0x47
,
0x5f
,
0x43
,
0x48
,
0x10
,
0x16
,
0x32
,
0x88
,
0x01
,
0x0a
,
0x0f
,
0x4d
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x53
,
0x41
,
0x52
,
0x41
,
0x43
,
0x54
,
0x45
,
0x52
,
0x10
,
0x14
,
0x32
,
0x88
,
0x01
,
0x0a
,
0x0f
,
0x4d
,
0x61
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x75
,
0x0a
,
0x0d
,
0x50
,
0x61
,
0x72
,
0x73
,
0x65
,
0x4d
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x75
,
0x0a
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x12
,
0x22
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x0d
,
0x50
,
0x61
,
0x72
,
0x73
,
0x65
,
0x4d
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x12
,
0x22
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x73
,
0x65
,
0x4d
,
0x61
,
0x72
,
0x6b
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x50
,
0x61
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x23
,
0x2e
,
0x6d
,
0x65
,
0x72
,
0x73
,
0x65
,
0x4d
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x73
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x23
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x4d
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x52
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x32
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x73
,
0x65
,
0x4d
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x52
,
0x22
,
0x1b
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x15
,
0x3a
,
0x01
,
0x2a
,
0x22
,
0x10
,
0x2f
,
0x61
,
0x70
,
0x65
,
0x73
,
0x70
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x22
,
0x1b
,
0x82
,
0xd3
,
0xe4
,
0x93
,
0x02
,
0x15
,
0x3a
,
0x69
,
0x2f
,
0x76
,
0x32
,
0x2f
,
0x6d
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x42
,
0xac
,
0x01
,
0x01
,
0x2a
,
0x22
,
0x10
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x32
,
0x2f
,
0x6d
,
0x61
,
0x72
,
0x6b
,
0x0a
,
0x10
,
0x63
,
0x6f
,
0x6d
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x42
,
0xac
,
0x01
,
0x0a
,
0x10
,
0x63
,
0x6f
,
0x6d
,
0x2e
,
0x6d
,
0x65
,
0x6d
,
0x76
,
0x32
,
0x42
,
0x14
,
0x4d
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x53
,
0x65
,
0x72
,
0x76
,
0x6f
,
0x73
,
0x2e
,
0x61
,
0x70
,
0x69
,
0x2e
,
0x76
,
0x32
,
0x42
,
0x14
,
0x4d
,
0x61
,
0x72
,
0x6b
,
0x64
,
0x69
,
0x63
,
0x65
,
0x50
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x50
,
0x01
,
0x5a
,
0x30
,
0x67
,
0x69
,
0x74
,
0x68
,
0x6f
,
0x77
,
0x6e
,
0x53
,
0x65
,
0x72
,
0x76
,
0x69
,
0x63
,
0x65
,
0x50
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x50
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x75
,
0x73
,
0x65
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x01
,
0x5a
,
0x30
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x75
,
0x73
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2f
,
0x67
,
0x65
,
0x6e
,
0x2f
,
0x65
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x6d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2f
,
0x70
,
0x72
,
0x6f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x32
,
0x3b
,
0x61
,
0x70
,
0x69
,
0x76
,
0x32
,
0xa2
,
0x02
,
0x03
,
0x4d
,
0x74
,
0x6f
,
0x2f
,
0x67
,
0x65
,
0x6e
,
0x2f
,
0x61
,
0x70
,
0x69
,
0x2f
,
0x76
,
0x32
,
0x3b
,
0x61
,
0x70
,
0x41
,
0x58
,
0xaa
,
0x02
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x2e
,
0x41
,
0x70
,
0x69
,
0x2e
,
0x56
,
0x69
,
0x76
,
0x32
,
0xa2
,
0x02
,
0x03
,
0x4d
,
0x41
,
0x58
,
0xaa
,
0x02
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x32
,
0xca
,
0x02
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x5c
,
0x41
,
0x70
,
0x69
,
0x5c
,
0x56
,
0x32
,
0x73
,
0x2e
,
0x41
,
0x70
,
0x69
,
0x2e
,
0x56
,
0x32
,
0xca
,
0x02
,
0x0c
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0xe2
,
0x02
,
0x18
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x5c
,
0x41
,
0x70
,
0x69
,
0x5c
,
0x56
,
0x32
,
0x5c
,
0x5c
,
0x41
,
0x70
,
0x69
,
0x5c
,
0x56
,
0x32
,
0xe2
,
0x02
,
0x18
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x5c
,
0x47
,
0x50
,
0x42
,
0x4d
,
0x65
,
0x74
,
0x61
,
0x64
,
0x61
,
0x74
,
0x61
,
0xea
,
0x02
,
0x0e
,
0x4d
,
0x65
,
0x41
,
0x70
,
0x69
,
0x5c
,
0x56
,
0x32
,
0x5c
,
0x47
,
0x50
,
0x42
,
0x4d
,
0x65
,
0x74
,
0x61
,
0x64
,
0x61
,
0x6d
,
0x6f
,
0x73
,
0x3a
,
0x3a
,
0x41
,
0x70
,
0x69
,
0x3a
,
0x3a
,
0x56
,
0x32
,
0x62
,
0x06
,
0x70
,
0x72
,
0x74
,
0x61
,
0xea
,
0x02
,
0x0e
,
0x4d
,
0x65
,
0x6d
,
0x6f
,
0x73
,
0x3a
,
0x3a
,
0x41
,
0x70
,
0x69
,
0x3a
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x3a
,
0x56
,
0x32
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
}
var
(
var
(
...
@@ -1815,7 +1958,7 @@ func file_api_v2_markdown_service_proto_rawDescGZIP() []byte {
...
@@ -1815,7 +1958,7 @@ func file_api_v2_markdown_service_proto_rawDescGZIP() []byte {
}
}
var
file_api_v2_markdown_service_proto_enumTypes
=
make
([]
protoimpl
.
EnumInfo
,
1
)
var
file_api_v2_markdown_service_proto_enumTypes
=
make
([]
protoimpl
.
EnumInfo
,
1
)
var
file_api_v2_markdown_service_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
2
3
)
var
file_api_v2_markdown_service_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
2
5
)
var
file_api_v2_markdown_service_proto_goTypes
=
[]
interface
{}{
var
file_api_v2_markdown_service_proto_goTypes
=
[]
interface
{}{
(
NodeType
)(
0
),
// 0: memos.api.v2.NodeType
(
NodeType
)(
0
),
// 0: memos.api.v2.NodeType
(
*
ParseMarkdownRequest
)(
nil
),
// 1: memos.api.v2.ParseMarkdownRequest
(
*
ParseMarkdownRequest
)(
nil
),
// 1: memos.api.v2.ParseMarkdownRequest
...
@@ -1830,17 +1973,19 @@ var file_api_v2_markdown_service_proto_goTypes = []interface{}{
...
@@ -1830,17 +1973,19 @@ var file_api_v2_markdown_service_proto_goTypes = []interface{}{
(
*
OrderedListNode
)(
nil
),
// 10: memos.api.v2.OrderedListNode
(
*
OrderedListNode
)(
nil
),
// 10: memos.api.v2.OrderedListNode
(
*
UnorderedListNode
)(
nil
),
// 11: memos.api.v2.UnorderedListNode
(
*
UnorderedListNode
)(
nil
),
// 11: memos.api.v2.UnorderedListNode
(
*
TaskListNode
)(
nil
),
// 12: memos.api.v2.TaskListNode
(
*
TaskListNode
)(
nil
),
// 12: memos.api.v2.TaskListNode
(
*
TextNode
)(
nil
),
// 13: memos.api.v2.TextNode
(
*
MathBlockNode
)(
nil
),
// 13: memos.api.v2.MathBlockNode
(
*
BoldNode
)(
nil
),
// 14: memos.api.v2.BoldNode
(
*
TextNode
)(
nil
),
// 14: memos.api.v2.TextNode
(
*
ItalicNode
)(
nil
),
// 15: memos.api.v2.ItalicNode
(
*
BoldNode
)(
nil
),
// 15: memos.api.v2.BoldNode
(
*
BoldItalicNode
)(
nil
),
// 16: memos.api.v2.BoldItalicNode
(
*
ItalicNode
)(
nil
),
// 16: memos.api.v2.ItalicNode
(
*
CodeNode
)(
nil
),
// 17: memos.api.v2.CodeNode
(
*
BoldItalicNode
)(
nil
),
// 17: memos.api.v2.BoldItalicNode
(
*
ImageNode
)(
nil
),
// 18: memos.api.v2.ImageNode
(
*
CodeNode
)(
nil
),
// 18: memos.api.v2.CodeNode
(
*
LinkNode
)(
nil
),
// 19: memos.api.v2.LinkNode
(
*
ImageNode
)(
nil
),
// 19: memos.api.v2.ImageNode
(
*
AutoLinkNode
)(
nil
),
// 20: memos.api.v2.AutoLinkNode
(
*
LinkNode
)(
nil
),
// 20: memos.api.v2.LinkNode
(
*
TagNode
)(
nil
),
// 21: memos.api.v2.TagNode
(
*
AutoLinkNode
)(
nil
),
// 21: memos.api.v2.AutoLinkNode
(
*
StrikethroughNode
)(
nil
),
// 22: memos.api.v2.StrikethroughNode
(
*
TagNode
)(
nil
),
// 22: memos.api.v2.TagNode
(
*
EscapingCharacterNode
)(
nil
),
// 23: memos.api.v2.EscapingCharacterNode
(
*
StrikethroughNode
)(
nil
),
// 23: memos.api.v2.StrikethroughNode
(
*
EscapingCharacterNode
)(
nil
),
// 24: memos.api.v2.EscapingCharacterNode
(
*
MathNode
)(
nil
),
// 25: memos.api.v2.MathNode
}
}
var
file_api_v2_markdown_service_proto_depIdxs
=
[]
int32
{
var
file_api_v2_markdown_service_proto_depIdxs
=
[]
int32
{
3
,
// 0: memos.api.v2.ParseMarkdownResponse.nodes:type_name -> memos.api.v2.Node
3
,
// 0: memos.api.v2.ParseMarkdownResponse.nodes:type_name -> memos.api.v2.Node
...
@@ -1854,31 +1999,33 @@ var file_api_v2_markdown_service_proto_depIdxs = []int32{
...
@@ -1854,31 +1999,33 @@ var file_api_v2_markdown_service_proto_depIdxs = []int32{
10
,
// 8: memos.api.v2.Node.ordered_list_node:type_name -> memos.api.v2.OrderedListNode
10
,
// 8: memos.api.v2.Node.ordered_list_node:type_name -> memos.api.v2.OrderedListNode
11
,
// 9: memos.api.v2.Node.unordered_list_node:type_name -> memos.api.v2.UnorderedListNode
11
,
// 9: memos.api.v2.Node.unordered_list_node:type_name -> memos.api.v2.UnorderedListNode
12
,
// 10: memos.api.v2.Node.task_list_node:type_name -> memos.api.v2.TaskListNode
12
,
// 10: memos.api.v2.Node.task_list_node:type_name -> memos.api.v2.TaskListNode
13
,
// 11: memos.api.v2.Node.text_node:type_name -> memos.api.v2.TextNode
13
,
// 11: memos.api.v2.Node.math_block_node:type_name -> memos.api.v2.MathBlockNode
14
,
// 12: memos.api.v2.Node.bold_node:type_name -> memos.api.v2.BoldNode
14
,
// 12: memos.api.v2.Node.text_node:type_name -> memos.api.v2.TextNode
15
,
// 13: memos.api.v2.Node.italic_node:type_name -> memos.api.v2.ItalicNode
15
,
// 13: memos.api.v2.Node.bold_node:type_name -> memos.api.v2.BoldNode
16
,
// 14: memos.api.v2.Node.bold_italic_node:type_name -> memos.api.v2.BoldItalicNode
16
,
// 14: memos.api.v2.Node.italic_node:type_name -> memos.api.v2.ItalicNode
17
,
// 15: memos.api.v2.Node.code_node:type_name -> memos.api.v2.CodeNode
17
,
// 15: memos.api.v2.Node.bold_italic_node:type_name -> memos.api.v2.BoldItalicNode
18
,
// 16: memos.api.v2.Node.image_node:type_name -> memos.api.v2.ImageNode
18
,
// 16: memos.api.v2.Node.code_node:type_name -> memos.api.v2.CodeNode
19
,
// 17: memos.api.v2.Node.link_node:type_name -> memos.api.v2.LinkNode
19
,
// 17: memos.api.v2.Node.image_node:type_name -> memos.api.v2.ImageNode
20
,
// 18: memos.api.v2.Node.auto_link_node:type_name -> memos.api.v2.AutoLinkNode
20
,
// 18: memos.api.v2.Node.link_node:type_name -> memos.api.v2.LinkNode
21
,
// 19: memos.api.v2.Node.tag_node:type_name -> memos.api.v2.TagNode
21
,
// 19: memos.api.v2.Node.auto_link_node:type_name -> memos.api.v2.AutoLinkNode
22
,
// 20: memos.api.v2.Node.strikethrough_node:type_name -> memos.api.v2.StrikethroughNode
22
,
// 20: memos.api.v2.Node.tag_node:type_name -> memos.api.v2.TagNode
23
,
// 21: memos.api.v2.Node.escaping_character_node:type_name -> memos.api.v2.EscapingCharacterNode
23
,
// 21: memos.api.v2.Node.strikethrough_node:type_name -> memos.api.v2.StrikethroughNode
3
,
// 22: memos.api.v2.ParagraphNode.children:type_name -> memos.api.v2.Node
24
,
// 22: memos.api.v2.Node.escaping_character_node:type_name -> memos.api.v2.EscapingCharacterNode
3
,
// 23: memos.api.v2.HeadingNode.children:type_name -> memos.api.v2.Node
25
,
// 23: memos.api.v2.Node.math_node:type_name -> memos.api.v2.MathNode
3
,
// 24: memos.api.v2.BlockquoteNode.children:type_name -> memos.api.v2.Node
3
,
// 24: memos.api.v2.ParagraphNode.children:type_name -> memos.api.v2.Node
3
,
// 25: memos.api.v2.OrderedListNode.children:type_name -> memos.api.v2.Node
3
,
// 25: memos.api.v2.HeadingNode.children:type_name -> memos.api.v2.Node
3
,
// 26: memos.api.v2.UnorderedListNode.children:type_name -> memos.api.v2.Node
3
,
// 26: memos.api.v2.BlockquoteNode.children:type_name -> memos.api.v2.Node
3
,
// 27: memos.api.v2.TaskListNode.children:type_name -> memos.api.v2.Node
3
,
// 27: memos.api.v2.OrderedListNode.children:type_name -> memos.api.v2.Node
3
,
// 28: memos.api.v2.BoldNode.children:type_name -> memos.api.v2.Node
3
,
// 28: memos.api.v2.UnorderedListNode.children:type_name -> memos.api.v2.Node
1
,
// 29: memos.api.v2.MarkdownService.ParseMarkdown:input_type -> memos.api.v2.ParseMarkdownRequest
3
,
// 29: memos.api.v2.TaskListNode.children:type_name -> memos.api.v2.Node
2
,
// 30: memos.api.v2.MarkdownService.ParseMarkdown:output_type -> memos.api.v2.ParseMarkdownResponse
3
,
// 30: memos.api.v2.BoldNode.children:type_name -> memos.api.v2.Node
30
,
// [30:31] is the sub-list for method output_type
1
,
// 31: memos.api.v2.MarkdownService.ParseMarkdown:input_type -> memos.api.v2.ParseMarkdownRequest
29
,
// [29:30] is the sub-list for method input_type
2
,
// 32: memos.api.v2.MarkdownService.ParseMarkdown:output_type -> memos.api.v2.ParseMarkdownResponse
29
,
// [29:29] is the sub-list for extension type_name
32
,
// [32:33] is the sub-list for method output_type
29
,
// [29:29] is the sub-list for extension extendee
31
,
// [31:32] is the sub-list for method input_type
0
,
// [0:29] is the sub-list for field type_name
31
,
// [31:31] is the sub-list for extension type_name
31
,
// [31:31] is the sub-list for extension extendee
0
,
// [0:31] is the sub-list for field type_name
}
}
func
init
()
{
file_api_v2_markdown_service_proto_init
()
}
func
init
()
{
file_api_v2_markdown_service_proto_init
()
}
...
@@ -2032,7 +2179,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2032,7 +2179,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
12
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
12
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Text
Node
);
i
{
switch
v
:=
v
.
(
*
MathBlock
Node
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2044,7 +2191,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2044,7 +2191,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
13
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
13
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Bold
Node
);
i
{
switch
v
:=
v
.
(
*
Text
Node
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2056,7 +2203,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2056,7 +2203,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
14
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
14
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Italic
Node
);
i
{
switch
v
:=
v
.
(
*
Bold
Node
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2068,7 +2215,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2068,7 +2215,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
15
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
15
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Bold
ItalicNode
);
i
{
switch
v
:=
v
.
(
*
ItalicNode
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2080,7 +2227,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2080,7 +2227,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
16
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
16
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Code
Node
);
i
{
switch
v
:=
v
.
(
*
BoldItalic
Node
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2092,7 +2239,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2092,7 +2239,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
17
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
17
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Imag
eNode
);
i
{
switch
v
:=
v
.
(
*
Cod
eNode
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2104,7 +2251,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2104,7 +2251,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
18
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
18
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Link
Node
);
i
{
switch
v
:=
v
.
(
*
Image
Node
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2116,7 +2263,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2116,7 +2263,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
19
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
19
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Auto
LinkNode
);
i
{
switch
v
:=
v
.
(
*
LinkNode
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2128,7 +2275,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2128,7 +2275,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
20
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
20
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Tag
Node
);
i
{
switch
v
:=
v
.
(
*
AutoLink
Node
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2140,7 +2287,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2140,7 +2287,7 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
21
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
21
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Strikethrough
Node
);
i
{
switch
v
:=
v
.
(
*
Tag
Node
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
case
1
:
case
1
:
...
@@ -2152,6 +2299,18 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2152,6 +2299,18 @@ func file_api_v2_markdown_service_proto_init() {
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
22
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
file_api_v2_markdown_service_proto_msgTypes
[
22
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
StrikethroughNode
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_api_v2_markdown_service_proto_msgTypes
[
23
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
EscapingCharacterNode
);
i
{
switch
v
:=
v
.
(
*
EscapingCharacterNode
);
i
{
case
0
:
case
0
:
return
&
v
.
state
return
&
v
.
state
...
@@ -2163,6 +2322,18 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2163,6 +2322,18 @@ func file_api_v2_markdown_service_proto_init() {
return
nil
return
nil
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
24
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
MathNode
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
}
}
file_api_v2_markdown_service_proto_msgTypes
[
2
]
.
OneofWrappers
=
[]
interface
{}{
file_api_v2_markdown_service_proto_msgTypes
[
2
]
.
OneofWrappers
=
[]
interface
{}{
(
*
Node_LineBreakNode
)(
nil
),
(
*
Node_LineBreakNode
)(
nil
),
...
@@ -2174,6 +2345,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2174,6 +2345,7 @@ func file_api_v2_markdown_service_proto_init() {
(
*
Node_OrderedListNode
)(
nil
),
(
*
Node_OrderedListNode
)(
nil
),
(
*
Node_UnorderedListNode
)(
nil
),
(
*
Node_UnorderedListNode
)(
nil
),
(
*
Node_TaskListNode
)(
nil
),
(
*
Node_TaskListNode
)(
nil
),
(
*
Node_MathBlockNode
)(
nil
),
(
*
Node_TextNode
)(
nil
),
(
*
Node_TextNode
)(
nil
),
(
*
Node_BoldNode
)(
nil
),
(
*
Node_BoldNode
)(
nil
),
(
*
Node_ItalicNode
)(
nil
),
(
*
Node_ItalicNode
)(
nil
),
...
@@ -2185,6 +2357,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2185,6 +2357,7 @@ func file_api_v2_markdown_service_proto_init() {
(
*
Node_TagNode
)(
nil
),
(
*
Node_TagNode
)(
nil
),
(
*
Node_StrikethroughNode
)(
nil
),
(
*
Node_StrikethroughNode
)(
nil
),
(
*
Node_EscapingCharacterNode
)(
nil
),
(
*
Node_EscapingCharacterNode
)(
nil
),
(
*
Node_MathNode
)(
nil
),
}
}
type
x
struct
{}
type
x
struct
{}
out
:=
protoimpl
.
TypeBuilder
{
out
:=
protoimpl
.
TypeBuilder
{
...
@@ -2192,7 +2365,7 @@ func file_api_v2_markdown_service_proto_init() {
...
@@ -2192,7 +2365,7 @@ func file_api_v2_markdown_service_proto_init() {
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_api_v2_markdown_service_proto_rawDesc
,
RawDescriptor
:
file_api_v2_markdown_service_proto_rawDesc
,
NumEnums
:
1
,
NumEnums
:
1
,
NumMessages
:
2
3
,
NumMessages
:
2
5
,
NumExtensions
:
0
,
NumExtensions
:
0
,
NumServices
:
1
,
NumServices
:
1
,
},
},
...
...
web/package.json
View file @
d12a2b0c
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
"dependencies"
:
{
"dependencies"
:
{
"@emotion/react"
:
"^11.11.3"
,
"@emotion/react"
:
"^11.11.3"
,
"@emotion/styled"
:
"^11.11.0"
,
"@emotion/styled"
:
"^11.11.0"
,
"@matejmazur/react-katex"
:
"^3.1.3"
,
"@mui/joy"
:
"5.0.0-beta.20"
,
"@mui/joy"
:
"5.0.0-beta.20"
,
"@reduxjs/toolkit"
:
"^1.9.7"
,
"@reduxjs/toolkit"
:
"^1.9.7"
,
"axios"
:
"^1.6.3"
,
"axios"
:
"^1.6.3"
,
...
@@ -20,6 +21,7 @@
...
@@ -20,6 +21,7 @@
"highlight.js"
:
"^11.9.0"
,
"highlight.js"
:
"^11.9.0"
,
"i18next"
:
"^21.10.0"
,
"i18next"
:
"^21.10.0"
,
"i18next-browser-languagedetector"
:
"^7.2.0"
,
"i18next-browser-languagedetector"
:
"^7.2.0"
,
"katex"
:
"^0.16.9"
,
"lodash-es"
:
"^4.17.21"
,
"lodash-es"
:
"^4.17.21"
,
"long"
:
"^5.2.3"
,
"long"
:
"^5.2.3"
,
"lucide-react"
:
"^0.263.1"
,
"lucide-react"
:
"^0.263.1"
,
...
...
web/pnpm-lock.yaml
View file @
d12a2b0c
...
@@ -14,6 +14,9 @@ dependencies:
...
@@ -14,6 +14,9 @@ dependencies:
'
@emotion/styled'
:
'
@emotion/styled'
:
specifier
:
^11.11.0
specifier
:
^11.11.0
version
:
11.11.0(@emotion/react@11.11.3)(@types/react@18.2.45)(react@18.2.0)
version
:
11.11.0(@emotion/react@11.11.3)(@types/react@18.2.45)(react@18.2.0)
'
@matejmazur/react-katex'
:
specifier
:
^3.1.3
version
:
3.1.3(katex@0.16.9)(react@18.2.0)
'
@mui/joy'
:
'
@mui/joy'
:
specifier
:
5.0.0-beta.20
specifier
:
5.0.0-beta.20
version
:
5.0.0-beta.20(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)
version
:
5.0.0-beta.20(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)
...
@@ -38,6 +41,9 @@ dependencies:
...
@@ -38,6 +41,9 @@ dependencies:
i18next-browser-languagedetector
:
i18next-browser-languagedetector
:
specifier
:
^7.2.0
specifier
:
^7.2.0
version
:
7.2.0
version
:
7.2.0
katex
:
specifier
:
^0.16.9
version
:
0.16.9
lodash-es
:
lodash-es
:
specifier
:
^4.17.21
specifier
:
^4.17.21
version
:
4.17.21
version
:
4.17.21
...
@@ -923,6 +929,17 @@ packages:
...
@@ -923,6 +929,17 @@ packages:
'
@jridgewell/resolve-uri'
:
3.1.1
'
@jridgewell/resolve-uri'
:
3.1.1
'
@jridgewell/sourcemap-codec'
:
1.4.15
'
@jridgewell/sourcemap-codec'
:
1.4.15
/@matejmazur/react-katex@3.1.3(katex@0.16.9)(react@18.2.0)
:
resolution
:
{
integrity
:
sha512-rBp7mJ9An7ktNoU653BWOYdO4FoR4YNwofHZi+vaytX/nWbIlmHVIF+X8VFOn6c3WYmrLT5FFBjKqCZ1sjR5uQ==
}
engines
:
{
node
:
'
>=12'
,
yarn
:
'
>=1.1'
}
peerDependencies
:
katex
:
'
>=0.9'
react
:
'
>=16'
dependencies
:
katex
:
0.16.9
react
:
18.2.0
dev
:
false
/@mui/base@5.0.0-beta.29(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)
:
/@mui/base@5.0.0-beta.29(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)
:
resolution
:
{
integrity
:
sha512-OXfUssYrB6ch/xpBVHMKAjThPlI9VyGGKdvQLMXef2j39wXfcxPlUVQlwia/lmE3rxWIGvbwkZsDtNYzLMsDUg==
}
resolution
:
{
integrity
:
sha512-OXfUssYrB6ch/xpBVHMKAjThPlI9VyGGKdvQLMXef2j39wXfcxPlUVQlwia/lmE3rxWIGvbwkZsDtNYzLMsDUg==
}
engines
:
{
node
:
'
>=12.0.0'
}
engines
:
{
node
:
'
>=12.0.0'
}
...
@@ -2012,6 +2029,11 @@ packages:
...
@@ -2012,6 +2029,11 @@ packages:
engines
:
{
node
:
'
>=
6'
}
engines
:
{
node
:
'
>=
6'
}
dev
:
false
dev
:
false
/commander@8.3.0
:
resolution
:
{
integrity
:
sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
}
engines
:
{
node
:
'
>=
12'
}
dev
:
false
/concat-map@0.0.1
:
/concat-map@0.0.1
:
resolution
:
{
integrity
:
sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
}
resolution
:
{
integrity
:
sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
}
dev
:
true
dev
:
true
...
@@ -3124,6 +3146,13 @@ packages:
...
@@ -3124,6 +3146,13 @@ packages:
object.values
:
1.1.7
object.values
:
1.1.7
dev
:
true
dev
:
true
/katex@0.16.9
:
resolution
:
{
integrity
:
sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==
}
hasBin
:
true
dependencies
:
commander
:
8.3.0
dev
:
false
/keyv@4.5.4
:
/keyv@4.5.4
:
resolution
:
{
integrity
:
sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
}
resolution
:
{
integrity
:
sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
}
dependencies
:
dependencies
:
...
...
web/src/components/MemoContent/Math.tsx
0 → 100644
View file @
d12a2b0c
import
TeX
from
"@matejmazur/react-katex"
;
import
"katex/dist/katex.min.css"
;
interface
Props
{
content
:
string
;
block
?:
boolean
;
}
const
Math
:
React
.
FC
<
Props
>
=
({
content
,
block
}:
Props
)
=>
{
return
<
TeX
block=
{
block
}
math=
{
content
}
></
TeX
>;
};
export
default
Math
;
web/src/components/MemoContent/Renderer.tsx
View file @
d12a2b0c
...
@@ -11,6 +11,7 @@ import {
...
@@ -11,6 +11,7 @@ import {
ImageNode
,
ImageNode
,
ItalicNode
,
ItalicNode
,
LinkNode
,
LinkNode
,
MathNode
,
Node
,
Node
,
NodeType
,
NodeType
,
OrderedListNode
,
OrderedListNode
,
...
@@ -34,6 +35,7 @@ import Image from "./Image";
...
@@ -34,6 +35,7 @@ import Image from "./Image";
import
Italic
from
"./Italic"
;
import
Italic
from
"./Italic"
;
import
LineBreak
from
"./LineBreak"
;
import
LineBreak
from
"./LineBreak"
;
import
Link
from
"./Link"
;
import
Link
from
"./Link"
;
import
Math
from
"./Math"
;
import
OrderedList
from
"./OrderedList"
;
import
OrderedList
from
"./OrderedList"
;
import
Paragraph
from
"./Paragraph"
;
import
Paragraph
from
"./Paragraph"
;
import
Strikethrough
from
"./Strikethrough"
;
import
Strikethrough
from
"./Strikethrough"
;
...
@@ -66,6 +68,8 @@ const Renderer: React.FC<Props> = ({ node }: Props) => {
...
@@ -66,6 +68,8 @@ const Renderer: React.FC<Props> = ({ node }: Props) => {
return
<
UnorderedList
{
...
(
node
.
unorderedListNode
as
UnorderedListNode
)}
/>;
return
<
UnorderedList
{
...
(
node
.
unorderedListNode
as
UnorderedListNode
)}
/>;
case
NodeType
.
TASK_LIST
:
case
NodeType
.
TASK_LIST
:
return
<
TaskList
{
...
(
node
.
taskListNode
as
TaskListNode
)}
/>;
return
<
TaskList
{
...
(
node
.
taskListNode
as
TaskListNode
)}
/>;
case
NodeType
.
MATH_BLOCK
:
return
<
Math
{
...
(
node
.
mathBlockNode
as
MathNode
)}
block=
{
true
}
/>;
case
NodeType
.
TEXT
:
case
NodeType
.
TEXT
:
return
<
Text
{
...
(
node
.
textNode
as
TextNode
)}
/>;
return
<
Text
{
...
(
node
.
textNode
as
TextNode
)}
/>;
case
NodeType
.
BOLD
:
case
NodeType
.
BOLD
:
...
@@ -86,6 +90,8 @@ const Renderer: React.FC<Props> = ({ node }: Props) => {
...
@@ -86,6 +90,8 @@ const Renderer: React.FC<Props> = ({ node }: Props) => {
return
<
Tag
{
...
(
node
.
tagNode
as
TagNode
)}
/>;
return
<
Tag
{
...
(
node
.
tagNode
as
TagNode
)}
/>;
case
NodeType
.
STRIKETHROUGH
:
case
NodeType
.
STRIKETHROUGH
:
return
<
Strikethrough
{
...
(
node
.
strikethroughNode
as
StrikethroughNode
)}
/>;
return
<
Strikethrough
{
...
(
node
.
strikethroughNode
as
StrikethroughNode
)}
/>;
case
NodeType
.
MATH
:
return
<
Math
{
...
(
node
.
mathNode
as
MathNode
)}
/>;
case
NodeType
.
ESCAPING_CHARACTER
:
case
NodeType
.
ESCAPING_CHARACTER
:
return
<
EscapingCharacter
{
...
(
node
.
escapingCharacterNode
as
EscapingCharacterNode
)}
/>;
return
<
EscapingCharacter
{
...
(
node
.
escapingCharacterNode
as
EscapingCharacterNode
)}
/>;
default
:
default
:
...
...
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