@plurnk/plurnk-parser 1.18.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/SPEC.md +2 -10
- package/dist/AstBuilder.d.ts +5 -1
- package/dist/AstBuilder.d.ts.map +1 -1
- package/dist/AstBuilder.js +74 -44
- package/dist/AstBuilder.js.map +1 -1
- package/dist/HeadingTokens.d.ts +6 -0
- package/dist/HeadingTokens.d.ts.map +1 -0
- package/dist/HeadingTokens.js +60 -0
- package/dist/HeadingTokens.js.map +1 -0
- package/dist/NativeToolCalls.d.ts +6 -0
- package/dist/NativeToolCalls.d.ts.map +1 -0
- package/dist/NativeToolCalls.js +153 -0
- package/dist/NativeToolCalls.js.map +1 -0
- package/dist/PlurnkErrorStrategy.d.ts.map +1 -1
- package/dist/PlurnkErrorStrategy.js +10 -33
- package/dist/PlurnkErrorStrategy.js.map +1 -1
- package/dist/PlurnkParser.d.ts +4 -2
- package/dist/PlurnkParser.d.ts.map +1 -1
- package/dist/PlurnkParser.js +132 -29
- package/dist/PlurnkParser.js.map +1 -1
- package/dist/RecordingListener.d.ts.map +1 -1
- package/dist/RecordingListener.js +5 -23
- package/dist/RecordingListener.js.map +1 -1
- package/dist/generated/plurnkLexer.d.ts +70 -34
- package/dist/generated/plurnkLexer.d.ts.map +1 -1
- package/dist/generated/plurnkLexer.js +817 -437
- package/dist/generated/plurnkLexer.js.map +1 -1
- package/dist/generated/plurnkParser.d.ts +81 -84
- package/dist/generated/plurnkParser.d.ts.map +1 -1
- package/dist/generated/plurnkParser.js +621 -672
- package/dist/generated/plurnkParser.js.map +1 -1
- package/dist/generated/plurnkParserVisitor.d.ts +7 -14
- package/dist/generated/plurnkParserVisitor.d.ts.map +1 -1
- package/dist/generated/plurnkParserVisitor.js +6 -12
- package/dist/generated/plurnkParserVisitor.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as antlr from "antlr4ng";
|
|
2
|
+
import { Token } from "antlr4ng";
|
|
2
3
|
export class plurnkLexer extends antlr.Lexer {
|
|
3
4
|
static OPEN_FIND = 1;
|
|
4
5
|
static OPEN_READ = 2;
|
|
@@ -6,69 +7,76 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
6
7
|
static OPEN_COPY = 4;
|
|
7
8
|
static OPEN_MOVE = 5;
|
|
8
9
|
static OPEN_SEND = 6;
|
|
9
|
-
static
|
|
10
|
-
static
|
|
11
|
-
static
|
|
12
|
-
static
|
|
13
|
-
static
|
|
14
|
-
static
|
|
15
|
-
static
|
|
16
|
-
static
|
|
17
|
-
static
|
|
18
|
-
static
|
|
19
|
-
static
|
|
20
|
-
static
|
|
21
|
-
static
|
|
22
|
-
static
|
|
23
|
-
static
|
|
24
|
-
static
|
|
25
|
-
static
|
|
26
|
-
static
|
|
27
|
-
static
|
|
28
|
-
static
|
|
29
|
-
static
|
|
30
|
-
static
|
|
31
|
-
static
|
|
32
|
-
static
|
|
33
|
-
static
|
|
34
|
-
static
|
|
35
|
-
static
|
|
36
|
-
static
|
|
37
|
-
static
|
|
38
|
-
static
|
|
39
|
-
static
|
|
10
|
+
static OPEN_NOTE = 7;
|
|
11
|
+
static OPEN_WAIT = 8;
|
|
12
|
+
static OPEN_EXEC = 9;
|
|
13
|
+
static OPEN_BARE = 10;
|
|
14
|
+
static OPEN_WORK = 11;
|
|
15
|
+
static OPEN_FORK = 12;
|
|
16
|
+
static OPEN_KILL = 13;
|
|
17
|
+
static OPEN_LOOK = 14;
|
|
18
|
+
static LPAREN = 15;
|
|
19
|
+
static RPAREN = 16;
|
|
20
|
+
static LBRACKET = 17;
|
|
21
|
+
static RBRACKET = 18;
|
|
22
|
+
static L_MARKER = 19;
|
|
23
|
+
static BODY_OPEN = 20;
|
|
24
|
+
static SECTION_END = 21;
|
|
25
|
+
static TARGET_TEXT = 22;
|
|
26
|
+
static METADATA_TEXT = 23;
|
|
27
|
+
static BODY_TEXT = 24;
|
|
28
|
+
static TEXT = 25;
|
|
29
|
+
static ASIDE = 26;
|
|
30
|
+
static OPEN = 27;
|
|
31
|
+
static WS = 28;
|
|
32
|
+
static SLOTS_WS = 29;
|
|
33
|
+
static SLOTS_INVISIBLE = 30;
|
|
34
|
+
static SLOTS_WAIT_SCOPE = 31;
|
|
35
|
+
static SLOTS_INLINE_CLOSER = 32;
|
|
36
|
+
static TARGET_BACKSLASH = 33;
|
|
37
|
+
static TARGET_TICK = 34;
|
|
38
|
+
static METADATA_QUOTE = 35;
|
|
39
|
+
static B_CR = 36;
|
|
40
|
+
static QUOTATION = 1;
|
|
41
|
+
static SLOTS = 2;
|
|
42
|
+
static TARGET = 3;
|
|
43
|
+
static METADATA = 4;
|
|
44
|
+
static BODY = 5;
|
|
40
45
|
static channelNames = [
|
|
41
46
|
"DEFAULT_TOKEN_CHANNEL", "HIDDEN"
|
|
42
47
|
];
|
|
43
48
|
static literalNames = [
|
|
44
49
|
null, null, null, null, null, null, null, null, null, null, null,
|
|
45
50
|
null, null, null, null, null, null, null, null, null, null, null,
|
|
46
|
-
null, null, null, null, null, null, null, null,
|
|
47
|
-
"'\\r'"
|
|
51
|
+
null, null, null, null, null, null, null, null, null, null, null,
|
|
52
|
+
"'\\'", null, "'\"'", "'\\r'"
|
|
48
53
|
];
|
|
49
54
|
static symbolicNames = [
|
|
50
55
|
null, "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE",
|
|
51
|
-
"OPEN_SEND", "
|
|
52
|
-
"OPEN_FORK", "OPEN_KILL", "OPEN_LOOK", "LPAREN", "RPAREN",
|
|
53
|
-
"RBRACKET", "L_MARKER", "BODY_OPEN", "SECTION_END",
|
|
54
|
-
"METADATA_TEXT", "BODY_TEXT", "TEXT", "ASIDE", "OPEN",
|
|
55
|
-
"
|
|
56
|
-
"B_CR"
|
|
56
|
+
"OPEN_SEND", "OPEN_NOTE", "OPEN_WAIT", "OPEN_EXEC", "OPEN_BARE",
|
|
57
|
+
"OPEN_WORK", "OPEN_FORK", "OPEN_KILL", "OPEN_LOOK", "LPAREN", "RPAREN",
|
|
58
|
+
"LBRACKET", "RBRACKET", "L_MARKER", "BODY_OPEN", "SECTION_END",
|
|
59
|
+
"TARGET_TEXT", "METADATA_TEXT", "BODY_TEXT", "TEXT", "ASIDE", "OPEN",
|
|
60
|
+
"WS", "SLOTS_WS", "SLOTS_INVISIBLE", "SLOTS_WAIT_SCOPE", "SLOTS_INLINE_CLOSER",
|
|
61
|
+
"TARGET_BACKSLASH", "TARGET_TICK", "METADATA_QUOTE", "B_CR"
|
|
57
62
|
];
|
|
58
63
|
static modeNames = [
|
|
59
|
-
"DEFAULT_MODE", "SLOTS", "TARGET", "METADATA", "BODY",
|
|
64
|
+
"DEFAULT_MODE", "QUOTATION", "SLOTS", "TARGET", "METADATA", "BODY",
|
|
60
65
|
];
|
|
61
66
|
static ruleNames = [
|
|
62
|
-
"FENCE", "NAME", "NUM", "L_PATTERN", "LINE_ANCHOR",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
67
|
+
"FENCE", "OPENER_FENCE", "NAME", "NUM", "L_PATTERN", "LINE_ANCHOR",
|
|
68
|
+
"DIGIT_ANCHOR", "ANCHOR_OFFSET", "RELATIVE_COORD", "TEXT_COORD",
|
|
69
|
+
"TEXT_L_PATTERN", "COMBINED_LINE_COORD", "COMBINED_TEXT_COORD",
|
|
70
|
+
"COMBINED_TEXT_L_PATTERN", "EOL", "OPEN", "ORPHAN_CLOSER", "INLINE_TAG",
|
|
71
|
+
"QUOTE", "WS", "TEXT_RUN", "TEXT_TICK", "Q_END", "Q_EMPTY_END",
|
|
72
|
+
"Q_RUN", "Q_CHAR", "SLOTS_NEXT_OPENER", "SLOTS_WS", "SLOTS_INVISIBLE",
|
|
73
|
+
"SLOTS_LPAREN", "SLOTS_LBRACKET", "SLOTS_WAIT_SCOPE", "SLOTS_TEXT_L",
|
|
74
|
+
"SLOTS_L", "SLOTS_COMBINED_TEXT_L", "SLOTS_ASIDE", "SLOTS_ASIDE_OPEN",
|
|
75
|
+
"SLOTS_INLINE_CLOSER", "SLOTS_END", "SLOTS_INLINE_BODY", "SLOTS_TICK_TEXT",
|
|
76
|
+
"SLOTS_CLOSED_EOL", "SLOTS_NEXT_HEADING", "SLOTS_BODY_OPEN", "TARGET_FENCE",
|
|
77
|
+
"TARGET_BODY_OPEN", "TARGET_ESCAPE", "TARGET_INNER", "TARGET_BACKSLASH",
|
|
78
|
+
"TARGET_NEST_OPEN", "TARGET_NEST_END", "TARGET_TEXT_SCOPE", "TARGET_SCOPE",
|
|
79
|
+
"TARGET_TICK", "TARGET_END", "METADATA_FENCE", "METADATA_BODY_OPEN",
|
|
72
80
|
"METADATA_STRING", "METADATA_INNER", "METADATA_TICK", "METADATA_QUOTE",
|
|
73
81
|
"METADATA_NEST_OPEN", "METADATA_NEST_END", "METADATA_END", "B_END",
|
|
74
82
|
"B_EMPTY_END", "B_CLOSED_EOL", "B_NEXT_HEADING", "B_RUN", "B_TICK",
|
|
@@ -81,7 +89,13 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
81
89
|
openHeadingLine = 0;
|
|
82
90
|
openHeadingColumn = 0;
|
|
83
91
|
fenceLength = 0;
|
|
92
|
+
fenceCharacter = 0x60;
|
|
84
93
|
fenceDelimiter = "";
|
|
94
|
+
openFenceStart = 0;
|
|
95
|
+
balancedEnds = new Map();
|
|
96
|
+
fenceLines = null;
|
|
97
|
+
// {§reasoning-notes} — quotations are opaque; program-boundary recovery is not note extraction.
|
|
98
|
+
reasoning = false;
|
|
85
99
|
started = false;
|
|
86
100
|
// {§inline-chain} — a closer on the heading line may be followed by the next opener on the same line.
|
|
87
101
|
inlineChain = false;
|
|
@@ -98,7 +112,7 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
98
112
|
ticks++;
|
|
99
113
|
cursor++;
|
|
100
114
|
}
|
|
101
|
-
if (ticks <
|
|
115
|
+
if (ticks < 4)
|
|
102
116
|
return false;
|
|
103
117
|
while (this.inputStream.LA(cursor) >= 0x30 && this.inputStream.LA(cursor) <= 0x39)
|
|
104
118
|
cursor++;
|
|
@@ -153,13 +167,55 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
153
167
|
inlineBody = false;
|
|
154
168
|
inlineBodies = [];
|
|
155
169
|
unknownTags = [];
|
|
170
|
+
quotedSpans = [];
|
|
171
|
+
quoteStart = -1;
|
|
156
172
|
// {§interstitial-fence} - only a native operation or a known executor opens a block.
|
|
157
173
|
knownHeading() {
|
|
158
174
|
const name = this.text.replace(/^\x60+[0-9]*/, "");
|
|
175
|
+
if (this.reasoning)
|
|
176
|
+
return name === "NOTE";
|
|
159
177
|
return Object.hasOwn(plurnkLexer.OPERATIONS, name) || this.knownExecutor(name);
|
|
160
178
|
}
|
|
161
|
-
|
|
162
|
-
|
|
179
|
+
// {§quotation} - a fence that opened no operation quotes. Its tag is worth a word only when it
|
|
180
|
+
// looks like a missed operation: a known name under four backticks or off column zero, or an
|
|
181
|
+
// unknown name at operation width. Ordinary code blocks draw nothing; reasoning quotes freely.
|
|
182
|
+
quote() {
|
|
183
|
+
this.quoteStart = this.tokenStartCharIndex;
|
|
184
|
+
this.open();
|
|
185
|
+
this.noteTag();
|
|
186
|
+
}
|
|
187
|
+
noteTag() {
|
|
188
|
+
if (this.reasoning || this.text.charCodeAt(0) !== 0x60)
|
|
189
|
+
return;
|
|
190
|
+
const tag = this.text.replace(/^\x60+[0-9]*/, "");
|
|
191
|
+
if (tag === "")
|
|
192
|
+
return;
|
|
193
|
+
let width = 0;
|
|
194
|
+
while (this.text.charCodeAt(width) === 0x60)
|
|
195
|
+
width++;
|
|
196
|
+
const short = width < 4;
|
|
197
|
+
const known = Object.hasOwn(plurnkLexer.OPERATIONS, tag) || this.knownExecutor(tag);
|
|
198
|
+
if (short && !known)
|
|
199
|
+
return;
|
|
200
|
+
// A markdown wrapper is a polite envelope, not a missed operation ({§quotation}).
|
|
201
|
+
if (!known && (tag === "markdown" || tag === "md"))
|
|
202
|
+
return;
|
|
203
|
+
const reason = !known ? "unknown" : short ? "short" : "indented";
|
|
204
|
+
this.unknownTags.push({ line: this.currentTokenStartLine, column: this.currentTokenColumn, tag, reason });
|
|
205
|
+
}
|
|
206
|
+
endQuote() {
|
|
207
|
+
if (this.quoteStart >= 0)
|
|
208
|
+
this.quotedSpans.push({ start: this.quoteStart, end: this.inputStream.index });
|
|
209
|
+
this.quoteStart = -1;
|
|
210
|
+
}
|
|
211
|
+
// The quoted character spans, the last one running to the end of the input when unclosed.
|
|
212
|
+
takeQuotedSpans(length) {
|
|
213
|
+
if (this.quoteStart >= 0)
|
|
214
|
+
this.quotedSpans.push({ start: this.quoteStart, end: length });
|
|
215
|
+
this.quoteStart = -1;
|
|
216
|
+
const taken = this.quotedSpans;
|
|
217
|
+
this.quotedSpans = [];
|
|
218
|
+
return taken;
|
|
163
219
|
}
|
|
164
220
|
takeUnknownTags() {
|
|
165
221
|
const taken = this.unknownTags;
|
|
@@ -170,13 +226,14 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
170
226
|
FIND: plurnkLexer.OPEN_FIND, READ: plurnkLexer.OPEN_READ,
|
|
171
227
|
EDIT: plurnkLexer.OPEN_EDIT, COPY: plurnkLexer.OPEN_COPY, MOVE: plurnkLexer.OPEN_MOVE,
|
|
172
228
|
SEND: plurnkLexer.OPEN_SEND, BARE: plurnkLexer.OPEN_BARE,
|
|
173
|
-
|
|
229
|
+
NOTE: plurnkLexer.OPEN_NOTE, WAIT: plurnkLexer.OPEN_WAIT,
|
|
174
230
|
WORK: plurnkLexer.OPEN_WORK, FORK: plurnkLexer.OPEN_FORK, KILL: plurnkLexer.OPEN_KILL,
|
|
175
231
|
LOOK: plurnkLexer.OPEN_LOOK,
|
|
176
232
|
};
|
|
177
233
|
open(implicitName) {
|
|
178
234
|
this.fenceLength = 0;
|
|
179
|
-
|
|
235
|
+
this.fenceCharacter = this.text.charCodeAt(0);
|
|
236
|
+
while (this.text.charCodeAt(this.fenceLength) === this.fenceCharacter)
|
|
180
237
|
this.fenceLength++;
|
|
181
238
|
// {§numeric-delimiter} - digits between the backticks and the name identify the block.
|
|
182
239
|
let digits = this.fenceLength;
|
|
@@ -191,14 +248,59 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
191
248
|
this.inlineChain = false;
|
|
192
249
|
this.inlineCloserSeen = false;
|
|
193
250
|
this.openHeading = this.text;
|
|
251
|
+
this.openFenceStart = this.tokenStartCharIndex;
|
|
194
252
|
this.openHeadingLine = this.currentTokenStartLine;
|
|
195
253
|
this.openHeadingColumn = this.currentTokenColumn;
|
|
196
254
|
this.started = true;
|
|
197
255
|
this.slotReady = true;
|
|
198
|
-
|
|
199
|
-
this.metadataReady = this.execFence || this.openOp === "TASK";
|
|
256
|
+
this.metadataReady = this.execFence || this.openOp === "SEND" || this.openOp === "WAIT";
|
|
200
257
|
this.inlineBody = false;
|
|
201
258
|
}
|
|
259
|
+
// {§quotation} - the line above this one carries a fence run of three or more backticks anywhere
|
|
260
|
+
// (a heading, a closer, or a heading written mid-line that opened nothing).
|
|
261
|
+
previousLineIsFence() {
|
|
262
|
+
let back = 1;
|
|
263
|
+
while (this.inputStream.LA(-back) === 0x20 || this.inputStream.LA(-back) === 0x09)
|
|
264
|
+
back++;
|
|
265
|
+
if (this.inputStream.LA(-back) !== 0x0A)
|
|
266
|
+
return false;
|
|
267
|
+
back++;
|
|
268
|
+
if (this.inputStream.LA(-back) === 0x0D)
|
|
269
|
+
back++;
|
|
270
|
+
let run = 0;
|
|
271
|
+
for (let c = this.inputStream.LA(-back); c > 0 && c !== 0x0A; c = this.inputStream.LA(-(++back))) {
|
|
272
|
+
run = c === 0x60 ? run + 1 : 0;
|
|
273
|
+
if (run >= 3)
|
|
274
|
+
return true;
|
|
275
|
+
}
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
// {§quotation} CommonMark: a backtick fence's info string cannot contain a backtick, so a line
|
|
279
|
+
// like ```KILL (x)``` is inline code, not an opener, and quotes nothing after it.
|
|
280
|
+
fenceOpens() {
|
|
281
|
+
let cursor = 1;
|
|
282
|
+
while (this.inputStream.LA(cursor) === 0x20 || this.inputStream.LA(cursor) === 0x09)
|
|
283
|
+
cursor++;
|
|
284
|
+
if (this.inputStream.LA(cursor) !== 0x60)
|
|
285
|
+
return true;
|
|
286
|
+
while (this.inputStream.LA(cursor) === 0x60)
|
|
287
|
+
cursor++;
|
|
288
|
+
for (let c = this.inputStream.LA(cursor); c > 0 && c !== 0x0A && c !== 0x0D; c = this.inputStream.LA(++cursor)) {
|
|
289
|
+
if (c === 0x60)
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
// The orphaned closer is a whole line: nothing but the fence follows it.
|
|
295
|
+
orphanAtLineEnd() {
|
|
296
|
+
const c = this.inputStream.LA(1);
|
|
297
|
+
return c <= 0 || c === 0x0A || c === 0x0D;
|
|
298
|
+
}
|
|
299
|
+
// {§quotation} - an operation's backticks follow a newline directly, or begin the input.
|
|
300
|
+
atColumnZero() {
|
|
301
|
+
const c = this.inputStream.LA(-1);
|
|
302
|
+
return c <= 0 || c === 0x0A || c === 0x0D;
|
|
303
|
+
}
|
|
202
304
|
// {§indented-fences} - a fence line may carry leading horizontal whitespace; the line still
|
|
203
305
|
// starts there for every fence purpose (CommonMark allows three spaces; this allows any).
|
|
204
306
|
atLineStart() {
|
|
@@ -220,15 +322,100 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
220
322
|
return offset + 2;
|
|
221
323
|
return this.inputStream.LA(offset) === 0x0A ? offset + 1 : null;
|
|
222
324
|
}
|
|
325
|
+
// {§balanced-fences} — retain complete nested blocks before trying local missing-closer
|
|
326
|
+
// recovery. Cache descendants as well as the root so an unclosed prefix is scanned once.
|
|
327
|
+
balancedEnd() {
|
|
328
|
+
if (this.fenceDelimiter !== "")
|
|
329
|
+
return null;
|
|
330
|
+
if (this.balancedEnds.has(this.openFenceStart))
|
|
331
|
+
return this.balancedEnds.get(this.openFenceStart);
|
|
332
|
+
if (this.fenceLines === null) {
|
|
333
|
+
let start = 0;
|
|
334
|
+
this.fenceLines = this.inputStream.toString().split("\n").map((line) => {
|
|
335
|
+
const match = /^([ \t]*)(\x60{3,}|~{3,})([0-9]*)(.*?)[ \t\r]*$/u.exec(line);
|
|
336
|
+
const fence = match === null ? null : {
|
|
337
|
+
start: start + match[1].length,
|
|
338
|
+
width: match[2].length,
|
|
339
|
+
character: match[2].charCodeAt(0),
|
|
340
|
+
delimiter: match[3],
|
|
341
|
+
tail: match[4],
|
|
342
|
+
};
|
|
343
|
+
// ANTLR indexes Unicode code points, not JavaScript UTF-16 units.
|
|
344
|
+
start += [...line].length + 1;
|
|
345
|
+
return fence;
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
const stack = [{ start: this.openFenceStart, width: this.fenceLength, delimiter: this.fenceDelimiter, character: this.fenceCharacter }];
|
|
349
|
+
for (let index = this.openHeadingLine; index < this.fenceLines.length; index++) {
|
|
350
|
+
const fence = this.fenceLines[index];
|
|
351
|
+
if (fence === null)
|
|
352
|
+
continue;
|
|
353
|
+
const top = stack[stack.length - 1];
|
|
354
|
+
const continuation = this.continuedFence(fence);
|
|
355
|
+
if ((fence.tail === "" || continuation !== null) && fence.character === top.character && fence.width >= top.width && fence.delimiter === top.delimiter) {
|
|
356
|
+
stack.pop();
|
|
357
|
+
this.balancedEnds.set(top.start, fence.start);
|
|
358
|
+
if (stack.length === 0)
|
|
359
|
+
return fence.start;
|
|
360
|
+
if (continuation !== null) {
|
|
361
|
+
const nested = this.nestedFence(continuation);
|
|
362
|
+
if (nested !== null)
|
|
363
|
+
stack.push(nested);
|
|
364
|
+
}
|
|
365
|
+
continue;
|
|
366
|
+
}
|
|
367
|
+
// Numeric delimiters explicitly protect arbitrary (including unfinished) examples.
|
|
368
|
+
if (top.delimiter !== "" || fence.tail.trim() === "")
|
|
369
|
+
continue;
|
|
370
|
+
const nested = this.nestedFence(fence);
|
|
371
|
+
if (nested !== null)
|
|
372
|
+
stack.push(nested);
|
|
373
|
+
}
|
|
374
|
+
for (const fence of stack)
|
|
375
|
+
this.balancedEnds.set(fence.start, null);
|
|
376
|
+
return null;
|
|
377
|
+
}
|
|
378
|
+
continuedFence(fence) {
|
|
379
|
+
const match = /^([ \t]*)(\x60{3,})([0-9]*)([A-Za-z0-9_.+-]+)(.*)$/u.exec(fence.tail);
|
|
380
|
+
if (match === null || !Object.hasOwn(plurnkLexer.OPERATIONS, match[4]) && !this.knownExecutor(match[4]))
|
|
381
|
+
return null;
|
|
382
|
+
return { start: fence.start + fence.width + fence.delimiter.length + match[1].length, width: match[2].length, delimiter: match[3], character: 0x60, tail: match[4] + match[5] };
|
|
383
|
+
}
|
|
384
|
+
nestedFence(fence) {
|
|
385
|
+
if (!/[\x60~]{3}/u.test(fence.tail))
|
|
386
|
+
return fence;
|
|
387
|
+
const name = /^[A-Za-z0-9_.+-]+/u.exec(fence.tail)?.[0];
|
|
388
|
+
if (name === undefined)
|
|
389
|
+
return fence;
|
|
390
|
+
// Reuse the heading lexer: fences quoted in a target, metadata or aside are not closers.
|
|
391
|
+
// Literal examples need only a lexical boundary; their slot diagnostics stay opaque.
|
|
392
|
+
const lexer = new plurnkLexer(antlr.CharStream.fromString(String.fromCharCode(fence.character).repeat(fence.width) + fence.delimiter + fence.tail + "\n"));
|
|
393
|
+
lexer.knownExecutors = new Set([...this.knownExecutors, name]);
|
|
394
|
+
lexer.reasoning = fence.character !== 0x60;
|
|
395
|
+
lexer.removeErrorListeners();
|
|
396
|
+
let closed = false;
|
|
397
|
+
for (let token = lexer.nextToken(); token.type !== Token.EOF; token = lexer.nextToken()) {
|
|
398
|
+
if (token.type === plurnkLexer.SECTION_END && token.text?.includes("\x60"))
|
|
399
|
+
closed = true;
|
|
400
|
+
}
|
|
401
|
+
if (lexer.mode === plurnkLexer.DEFAULT_MODE && (closed || lexer.inlineCloserSeen))
|
|
402
|
+
return null;
|
|
403
|
+
return { start: fence.start + lexer.openFenceStart, width: lexer.fenceLength, delimiter: lexer.fenceDelimiter, character: lexer.fenceCharacter };
|
|
404
|
+
}
|
|
223
405
|
// {§fence-closer} - a closer is a line of at least the opener's backticks carrying exactly the
|
|
224
406
|
// opener's numeric delimiter (none when the opener had none). Count is CommonMark's rule; the
|
|
225
407
|
// delimiter is what lets an equal-count block nest ({§numeric-delimiter}).
|
|
226
408
|
closingAt(offset) {
|
|
227
|
-
if (this.inputStream.LA(offset === 1 ? -1 : offset - 1) ===
|
|
409
|
+
if (this.inputStream.LA(offset === 1 ? -1 : offset - 1) === this.fenceCharacter)
|
|
228
410
|
return false;
|
|
229
411
|
offset = this.skipHorizontal(offset);
|
|
412
|
+
if ((this.mode === plurnkLexer.BODY || this.mode === plurnkLexer.QUOTATION) && !(this.inlineBody && offset === 1)) {
|
|
413
|
+
const end = this.balancedEnd();
|
|
414
|
+
if (end !== null && this.inputStream.index + offset - 1 !== end)
|
|
415
|
+
return false;
|
|
416
|
+
}
|
|
230
417
|
let cursor = offset;
|
|
231
|
-
while (this.inputStream.LA(cursor) ===
|
|
418
|
+
while (this.inputStream.LA(cursor) === this.fenceCharacter)
|
|
232
419
|
cursor++;
|
|
233
420
|
if (cursor - offset < this.fenceLength)
|
|
234
421
|
return false;
|
|
@@ -243,11 +430,17 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
243
430
|
cursor++;
|
|
244
431
|
if (this.inputStream.LA(cursor) <= 0 || this.offsetAfterEol(cursor) !== null)
|
|
245
432
|
return true;
|
|
433
|
+
if (this.reasoning)
|
|
434
|
+
return false;
|
|
435
|
+
// {§closer-aside} — a closer followed on its line by one aside and nothing else still closes;
|
|
436
|
+
// read as body, that line would be written into the edited resource (#758, dogfood item 17).
|
|
437
|
+
if (this.asideToLineEnd(cursor))
|
|
438
|
+
return true;
|
|
246
439
|
// {§inline-chain} — a closer followed on its line by the next opener still closes.
|
|
247
440
|
let ticks = 0;
|
|
248
441
|
while (this.inputStream.LA(cursor + ticks) === 0x60)
|
|
249
442
|
ticks++;
|
|
250
|
-
if (ticks <
|
|
443
|
+
if (ticks < 4)
|
|
251
444
|
return false;
|
|
252
445
|
let at = cursor + ticks;
|
|
253
446
|
while (this.inputStream.LA(at) >= 0x30 && this.inputStream.LA(at) <= 0x39)
|
|
@@ -265,11 +458,11 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
265
458
|
}
|
|
266
459
|
return name !== "" && (Object.hasOwn(plurnkLexer.OPERATIONS, name) || this.knownExecutor(name));
|
|
267
460
|
}
|
|
268
|
-
// {§fence-heading-in-body}
|
|
269
|
-
//
|
|
270
|
-
// glued opener (eight backticks then READ) can never swallow the turn. A delimited block is exempt: its
|
|
271
|
-
// delimiter says everything up to its own closer is body ({§numeric-delimiter}).
|
|
461
|
+
// {§fence-heading-in-body} — a known heading recovers an unclosed block only after
|
|
462
|
+
// {§balanced-fences} has ruled out complete nesting. Explicit delimiters remain opaque.
|
|
272
463
|
headingAt(offset) {
|
|
464
|
+
if (this.reasoning)
|
|
465
|
+
return false;
|
|
273
466
|
let cursor = offset;
|
|
274
467
|
while (this.inputStream.LA(cursor) === 0x60)
|
|
275
468
|
cursor++;
|
|
@@ -298,7 +491,26 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
298
491
|
}
|
|
299
492
|
headingAfterEol() {
|
|
300
493
|
const after = this.offsetAfterEol(1);
|
|
301
|
-
return after !== null && this.headingAt(this.skipHorizontal(after));
|
|
494
|
+
return after !== null && this.balancedEnd() === null && this.headingAt(this.skipHorizontal(after));
|
|
495
|
+
}
|
|
496
|
+
// `<!-- … -->` at this offset, then only horizontal whitespace to the end of the line or input.
|
|
497
|
+
asideToLineEnd(at) {
|
|
498
|
+
const open = [0x3C, 0x21, 0x2D, 0x2D];
|
|
499
|
+
if (!open.every((code, index) => this.inputStream.LA(at + index) === code))
|
|
500
|
+
return false;
|
|
501
|
+
let cursor = at + open.length;
|
|
502
|
+
for (;;) {
|
|
503
|
+
const c = this.inputStream.LA(cursor);
|
|
504
|
+
if (c <= 0 || c === 0x0A || c === 0x0D)
|
|
505
|
+
return false;
|
|
506
|
+
if (c === 0x2D && this.inputStream.LA(cursor + 1) === 0x2D && this.inputStream.LA(cursor + 2) === 0x3E)
|
|
507
|
+
break;
|
|
508
|
+
cursor++;
|
|
509
|
+
}
|
|
510
|
+
cursor += 3;
|
|
511
|
+
while (this.inputStream.LA(cursor) === 0x20 || this.inputStream.LA(cursor) === 0x09)
|
|
512
|
+
cursor++;
|
|
513
|
+
return this.inputStream.LA(cursor) <= 0 || this.offsetAfterEol(cursor) !== null;
|
|
302
514
|
}
|
|
303
515
|
closingAfterEol() {
|
|
304
516
|
const after = this.offsetAfterEol(1);
|
|
@@ -337,7 +549,7 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
337
549
|
let ticks = 0;
|
|
338
550
|
while (this.inputStream.LA(at + ticks) === 0x60)
|
|
339
551
|
ticks++;
|
|
340
|
-
if (ticks <
|
|
552
|
+
if (ticks < 4)
|
|
341
553
|
return false;
|
|
342
554
|
let cursor = at + ticks;
|
|
343
555
|
while (this.inputStream.LA(cursor) >= 0x30 && this.inputStream.LA(cursor) <= 0x39)
|
|
@@ -366,7 +578,7 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
366
578
|
this.inlineBody = true;
|
|
367
579
|
// {§naked-pattern} - a sigil is a matcher on any heading, and every heading-line word on FIND,
|
|
368
580
|
// READ or KILL is one, so only a bodied operation's stray heading text is worth an advisory.
|
|
369
|
-
const first = this.text.charCodeAt(0);
|
|
581
|
+
const first = this.text.charCodeAt(0) === 0x60 ? this.inputStream.LA(1) : this.text.charCodeAt(0);
|
|
370
582
|
if (first === 0x2F || first === 0x24 || first === 0x7E || first === 0x26 || first === 0x5E)
|
|
371
583
|
return;
|
|
372
584
|
if (this.openOp === "FIND" || this.openOp === "READ" || this.openOp === "KILL")
|
|
@@ -402,76 +614,88 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
402
614
|
get modeNames() { return plurnkLexer.modeNames; }
|
|
403
615
|
action(localContext, ruleIndex, actionIndex) {
|
|
404
616
|
switch (ruleIndex) {
|
|
405
|
-
case
|
|
617
|
+
case 15:
|
|
406
618
|
this.OPEN_action(localContext, actionIndex);
|
|
407
619
|
break;
|
|
408
|
-
case 13:
|
|
409
|
-
this.UNKNOWN_TAG_action(localContext, actionIndex);
|
|
410
|
-
break;
|
|
411
620
|
case 17:
|
|
412
|
-
this.
|
|
621
|
+
this.INLINE_TAG_action(localContext, actionIndex);
|
|
413
622
|
break;
|
|
414
623
|
case 18:
|
|
624
|
+
this.QUOTE_action(localContext, actionIndex);
|
|
625
|
+
break;
|
|
626
|
+
case 20:
|
|
627
|
+
this.TEXT_RUN_action(localContext, actionIndex);
|
|
628
|
+
break;
|
|
629
|
+
case 21:
|
|
415
630
|
this.TEXT_TICK_action(localContext, actionIndex);
|
|
416
631
|
break;
|
|
417
|
-
case
|
|
632
|
+
case 22:
|
|
633
|
+
this.Q_END_action(localContext, actionIndex);
|
|
634
|
+
break;
|
|
635
|
+
case 23:
|
|
636
|
+
this.Q_EMPTY_END_action(localContext, actionIndex);
|
|
637
|
+
break;
|
|
638
|
+
case 26:
|
|
418
639
|
this.SLOTS_NEXT_OPENER_action(localContext, actionIndex);
|
|
419
640
|
break;
|
|
420
|
-
case
|
|
641
|
+
case 27:
|
|
421
642
|
this.SLOTS_WS_action(localContext, actionIndex);
|
|
422
643
|
break;
|
|
423
|
-
case
|
|
644
|
+
case 29:
|
|
424
645
|
this.SLOTS_LPAREN_action(localContext, actionIndex);
|
|
425
646
|
break;
|
|
426
|
-
case
|
|
647
|
+
case 30:
|
|
427
648
|
this.SLOTS_LBRACKET_action(localContext, actionIndex);
|
|
428
649
|
break;
|
|
429
|
-
case
|
|
650
|
+
case 36:
|
|
430
651
|
this.SLOTS_ASIDE_OPEN_action(localContext, actionIndex);
|
|
431
652
|
break;
|
|
432
|
-
case
|
|
653
|
+
case 37:
|
|
433
654
|
this.SLOTS_INLINE_CLOSER_action(localContext, actionIndex);
|
|
434
655
|
break;
|
|
435
|
-
case
|
|
656
|
+
case 38:
|
|
436
657
|
this.SLOTS_END_action(localContext, actionIndex);
|
|
437
658
|
break;
|
|
438
|
-
case
|
|
659
|
+
case 39:
|
|
439
660
|
this.SLOTS_INLINE_BODY_action(localContext, actionIndex);
|
|
440
661
|
break;
|
|
441
|
-
case
|
|
662
|
+
case 40:
|
|
663
|
+
this.SLOTS_TICK_TEXT_action(localContext, actionIndex);
|
|
664
|
+
break;
|
|
665
|
+
case 44:
|
|
442
666
|
this.TARGET_FENCE_action(localContext, actionIndex);
|
|
443
667
|
break;
|
|
444
|
-
case
|
|
668
|
+
case 49:
|
|
445
669
|
this.TARGET_NEST_OPEN_action(localContext, actionIndex);
|
|
446
670
|
break;
|
|
447
|
-
case
|
|
671
|
+
case 50:
|
|
448
672
|
this.TARGET_NEST_END_action(localContext, actionIndex);
|
|
449
673
|
break;
|
|
450
|
-
case
|
|
674
|
+
case 54:
|
|
451
675
|
this.TARGET_END_action(localContext, actionIndex);
|
|
452
676
|
break;
|
|
453
|
-
case
|
|
677
|
+
case 55:
|
|
454
678
|
this.METADATA_FENCE_action(localContext, actionIndex);
|
|
455
679
|
break;
|
|
456
|
-
case
|
|
680
|
+
case 61:
|
|
457
681
|
this.METADATA_NEST_OPEN_action(localContext, actionIndex);
|
|
458
682
|
break;
|
|
459
|
-
case
|
|
683
|
+
case 62:
|
|
460
684
|
this.METADATA_NEST_END_action(localContext, actionIndex);
|
|
461
685
|
break;
|
|
462
|
-
case
|
|
686
|
+
case 63:
|
|
463
687
|
this.METADATA_END_action(localContext, actionIndex);
|
|
464
688
|
break;
|
|
465
|
-
case
|
|
689
|
+
case 64:
|
|
466
690
|
this.B_END_action(localContext, actionIndex);
|
|
467
691
|
break;
|
|
468
|
-
case
|
|
692
|
+
case 65:
|
|
469
693
|
this.B_EMPTY_END_action(localContext, actionIndex);
|
|
470
694
|
break;
|
|
471
|
-
case
|
|
695
|
+
case 70:
|
|
472
696
|
this.B_CRLF_action(localContext, actionIndex);
|
|
473
697
|
break;
|
|
474
|
-
case
|
|
698
|
+
case 71:
|
|
475
699
|
this.B_LF_action(localContext, actionIndex);
|
|
476
700
|
break;
|
|
477
701
|
}
|
|
@@ -483,44 +707,65 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
483
707
|
break;
|
|
484
708
|
}
|
|
485
709
|
}
|
|
486
|
-
|
|
710
|
+
INLINE_TAG_action(localContext, actionIndex) {
|
|
487
711
|
switch (actionIndex) {
|
|
488
712
|
case 1:
|
|
489
|
-
this.
|
|
713
|
+
this.noteTag();
|
|
490
714
|
break;
|
|
491
715
|
}
|
|
492
716
|
}
|
|
493
|
-
|
|
717
|
+
QUOTE_action(localContext, actionIndex) {
|
|
494
718
|
switch (actionIndex) {
|
|
495
719
|
case 2:
|
|
720
|
+
this.quote();
|
|
721
|
+
break;
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
TEXT_RUN_action(localContext, actionIndex) {
|
|
725
|
+
switch (actionIndex) {
|
|
726
|
+
case 3:
|
|
496
727
|
this.inlineChain = false;
|
|
497
728
|
break;
|
|
498
729
|
}
|
|
499
730
|
}
|
|
500
731
|
TEXT_TICK_action(localContext, actionIndex) {
|
|
501
732
|
switch (actionIndex) {
|
|
502
|
-
case
|
|
733
|
+
case 4:
|
|
503
734
|
this.inlineChain = false;
|
|
504
735
|
break;
|
|
505
736
|
}
|
|
506
737
|
}
|
|
738
|
+
Q_END_action(localContext, actionIndex) {
|
|
739
|
+
switch (actionIndex) {
|
|
740
|
+
case 5:
|
|
741
|
+
this.endQuote();
|
|
742
|
+
break;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
Q_EMPTY_END_action(localContext, actionIndex) {
|
|
746
|
+
switch (actionIndex) {
|
|
747
|
+
case 6:
|
|
748
|
+
this.endQuote();
|
|
749
|
+
break;
|
|
750
|
+
}
|
|
751
|
+
}
|
|
507
752
|
SLOTS_NEXT_OPENER_action(localContext, actionIndex) {
|
|
508
753
|
switch (actionIndex) {
|
|
509
|
-
case
|
|
754
|
+
case 7:
|
|
510
755
|
this.inlineChain = true;
|
|
511
756
|
break;
|
|
512
757
|
}
|
|
513
758
|
}
|
|
514
759
|
SLOTS_WS_action(localContext, actionIndex) {
|
|
515
760
|
switch (actionIndex) {
|
|
516
|
-
case
|
|
761
|
+
case 8:
|
|
517
762
|
this.slotReady = true;
|
|
518
763
|
break;
|
|
519
764
|
}
|
|
520
765
|
}
|
|
521
766
|
SLOTS_LPAREN_action(localContext, actionIndex) {
|
|
522
767
|
switch (actionIndex) {
|
|
523
|
-
case
|
|
768
|
+
case 9:
|
|
524
769
|
this.targetDepth = 0;
|
|
525
770
|
this.metadataReady = false;
|
|
526
771
|
break;
|
|
@@ -528,63 +773,70 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
528
773
|
}
|
|
529
774
|
SLOTS_LBRACKET_action(localContext, actionIndex) {
|
|
530
775
|
switch (actionIndex) {
|
|
531
|
-
case
|
|
776
|
+
case 10:
|
|
532
777
|
this.metadataDepth = 0;
|
|
533
778
|
break;
|
|
534
779
|
}
|
|
535
780
|
}
|
|
536
781
|
SLOTS_ASIDE_OPEN_action(localContext, actionIndex) {
|
|
537
782
|
switch (actionIndex) {
|
|
538
|
-
case
|
|
783
|
+
case 11:
|
|
539
784
|
this.noteUnclosedAside();
|
|
540
785
|
break;
|
|
541
786
|
}
|
|
542
787
|
}
|
|
543
788
|
SLOTS_INLINE_CLOSER_action(localContext, actionIndex) {
|
|
544
789
|
switch (actionIndex) {
|
|
545
|
-
case
|
|
790
|
+
case 12:
|
|
546
791
|
this.inlineCloserSeen = true;
|
|
547
792
|
break;
|
|
548
793
|
}
|
|
549
794
|
}
|
|
550
795
|
SLOTS_END_action(localContext, actionIndex) {
|
|
551
796
|
switch (actionIndex) {
|
|
552
|
-
case
|
|
797
|
+
case 13:
|
|
553
798
|
this.inlineChain = this.openerFollows();
|
|
554
799
|
break;
|
|
555
800
|
}
|
|
556
801
|
}
|
|
557
802
|
SLOTS_INLINE_BODY_action(localContext, actionIndex) {
|
|
558
803
|
switch (actionIndex) {
|
|
559
|
-
case
|
|
804
|
+
case 14:
|
|
805
|
+
this.noteInlineBody();
|
|
806
|
+
break;
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
SLOTS_TICK_TEXT_action(localContext, actionIndex) {
|
|
810
|
+
switch (actionIndex) {
|
|
811
|
+
case 15:
|
|
560
812
|
this.noteInlineBody();
|
|
561
813
|
break;
|
|
562
814
|
}
|
|
563
815
|
}
|
|
564
816
|
TARGET_FENCE_action(localContext, actionIndex) {
|
|
565
817
|
switch (actionIndex) {
|
|
566
|
-
case
|
|
818
|
+
case 16:
|
|
567
819
|
this.inlineChain = this.openerFollows();
|
|
568
820
|
break;
|
|
569
821
|
}
|
|
570
822
|
}
|
|
571
823
|
TARGET_NEST_OPEN_action(localContext, actionIndex) {
|
|
572
824
|
switch (actionIndex) {
|
|
573
|
-
case
|
|
825
|
+
case 17:
|
|
574
826
|
this.targetDepth++;
|
|
575
827
|
break;
|
|
576
828
|
}
|
|
577
829
|
}
|
|
578
830
|
TARGET_NEST_END_action(localContext, actionIndex) {
|
|
579
831
|
switch (actionIndex) {
|
|
580
|
-
case
|
|
832
|
+
case 18:
|
|
581
833
|
this.targetDepth--;
|
|
582
834
|
break;
|
|
583
835
|
}
|
|
584
836
|
}
|
|
585
837
|
TARGET_END_action(localContext, actionIndex) {
|
|
586
838
|
switch (actionIndex) {
|
|
587
|
-
case
|
|
839
|
+
case 19:
|
|
588
840
|
this.slotReady = true;
|
|
589
841
|
this.metadataReady = true;
|
|
590
842
|
break;
|
|
@@ -592,28 +844,28 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
592
844
|
}
|
|
593
845
|
METADATA_FENCE_action(localContext, actionIndex) {
|
|
594
846
|
switch (actionIndex) {
|
|
595
|
-
case
|
|
847
|
+
case 20:
|
|
596
848
|
this.inlineChain = this.openerFollows();
|
|
597
849
|
break;
|
|
598
850
|
}
|
|
599
851
|
}
|
|
600
852
|
METADATA_NEST_OPEN_action(localContext, actionIndex) {
|
|
601
853
|
switch (actionIndex) {
|
|
602
|
-
case
|
|
854
|
+
case 21:
|
|
603
855
|
this.metadataDepth++;
|
|
604
856
|
break;
|
|
605
857
|
}
|
|
606
858
|
}
|
|
607
859
|
METADATA_NEST_END_action(localContext, actionIndex) {
|
|
608
860
|
switch (actionIndex) {
|
|
609
|
-
case
|
|
861
|
+
case 22:
|
|
610
862
|
this.metadataDepth--;
|
|
611
863
|
break;
|
|
612
864
|
}
|
|
613
865
|
}
|
|
614
866
|
METADATA_END_action(localContext, actionIndex) {
|
|
615
867
|
switch (actionIndex) {
|
|
616
|
-
case
|
|
868
|
+
case 23:
|
|
617
869
|
this.slotReady = true;
|
|
618
870
|
this.metadataReady = true;
|
|
619
871
|
break;
|
|
@@ -621,83 +873,95 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
621
873
|
}
|
|
622
874
|
B_END_action(localContext, actionIndex) {
|
|
623
875
|
switch (actionIndex) {
|
|
624
|
-
case
|
|
876
|
+
case 24:
|
|
625
877
|
this.inlineChain = this.openerFollows();
|
|
626
878
|
break;
|
|
627
879
|
}
|
|
628
880
|
}
|
|
629
881
|
B_EMPTY_END_action(localContext, actionIndex) {
|
|
630
882
|
switch (actionIndex) {
|
|
631
|
-
case
|
|
883
|
+
case 25:
|
|
632
884
|
this.inlineChain = this.openerFollows();
|
|
633
885
|
break;
|
|
634
886
|
}
|
|
635
887
|
}
|
|
636
888
|
B_CRLF_action(localContext, actionIndex) {
|
|
637
889
|
switch (actionIndex) {
|
|
638
|
-
case
|
|
890
|
+
case 26:
|
|
639
891
|
this.inlineBody = false;
|
|
640
892
|
break;
|
|
641
893
|
}
|
|
642
894
|
}
|
|
643
895
|
B_LF_action(localContext, actionIndex) {
|
|
644
896
|
switch (actionIndex) {
|
|
645
|
-
case
|
|
897
|
+
case 27:
|
|
646
898
|
this.inlineBody = false;
|
|
647
899
|
break;
|
|
648
900
|
}
|
|
649
901
|
}
|
|
650
902
|
sempred(localContext, ruleIndex, predIndex) {
|
|
651
903
|
switch (ruleIndex) {
|
|
652
|
-
case
|
|
904
|
+
case 15:
|
|
653
905
|
return this.OPEN_sempred(localContext, predIndex);
|
|
654
|
-
case
|
|
655
|
-
return this.
|
|
656
|
-
case
|
|
906
|
+
case 16:
|
|
907
|
+
return this.ORPHAN_CLOSER_sempred(localContext, predIndex);
|
|
908
|
+
case 17:
|
|
909
|
+
return this.INLINE_TAG_sempred(localContext, predIndex);
|
|
910
|
+
case 18:
|
|
911
|
+
return this.QUOTE_sempred(localContext, predIndex);
|
|
912
|
+
case 22:
|
|
913
|
+
return this.Q_END_sempred(localContext, predIndex);
|
|
914
|
+
case 23:
|
|
915
|
+
return this.Q_EMPTY_END_sempred(localContext, predIndex);
|
|
916
|
+
case 26:
|
|
657
917
|
return this.SLOTS_NEXT_OPENER_sempred(localContext, predIndex);
|
|
658
|
-
case
|
|
918
|
+
case 29:
|
|
659
919
|
return this.SLOTS_LPAREN_sempred(localContext, predIndex);
|
|
660
|
-
case
|
|
920
|
+
case 30:
|
|
661
921
|
return this.SLOTS_LBRACKET_sempred(localContext, predIndex);
|
|
662
|
-
case
|
|
922
|
+
case 31:
|
|
923
|
+
return this.SLOTS_WAIT_SCOPE_sempred(localContext, predIndex);
|
|
924
|
+
case 32:
|
|
663
925
|
return this.SLOTS_TEXT_L_sempred(localContext, predIndex);
|
|
664
|
-
case
|
|
926
|
+
case 33:
|
|
665
927
|
return this.SLOTS_L_sempred(localContext, predIndex);
|
|
666
|
-
case
|
|
928
|
+
case 34:
|
|
667
929
|
return this.SLOTS_COMBINED_TEXT_L_sempred(localContext, predIndex);
|
|
668
|
-
case
|
|
930
|
+
case 35:
|
|
669
931
|
return this.SLOTS_ASIDE_sempred(localContext, predIndex);
|
|
670
|
-
case
|
|
932
|
+
case 36:
|
|
671
933
|
return this.SLOTS_ASIDE_OPEN_sempred(localContext, predIndex);
|
|
672
|
-
case
|
|
934
|
+
case 37:
|
|
673
935
|
return this.SLOTS_INLINE_CLOSER_sempred(localContext, predIndex);
|
|
674
|
-
case
|
|
936
|
+
case 38:
|
|
675
937
|
return this.SLOTS_END_sempred(localContext, predIndex);
|
|
676
|
-
case
|
|
938
|
+
case 39:
|
|
677
939
|
return this.SLOTS_INLINE_BODY_sempred(localContext, predIndex);
|
|
678
|
-
case
|
|
940
|
+
case 40:
|
|
941
|
+
return this.SLOTS_TICK_TEXT_sempred(localContext, predIndex);
|
|
942
|
+
case 41:
|
|
679
943
|
return this.SLOTS_CLOSED_EOL_sempred(localContext, predIndex);
|
|
680
|
-
case
|
|
944
|
+
case 42:
|
|
681
945
|
return this.SLOTS_NEXT_HEADING_sempred(localContext, predIndex);
|
|
682
|
-
case
|
|
946
|
+
case 44:
|
|
683
947
|
return this.TARGET_FENCE_sempred(localContext, predIndex);
|
|
684
|
-
case
|
|
948
|
+
case 50:
|
|
685
949
|
return this.TARGET_NEST_END_sempred(localContext, predIndex);
|
|
686
|
-
case
|
|
950
|
+
case 51:
|
|
687
951
|
return this.TARGET_TEXT_SCOPE_sempred(localContext, predIndex);
|
|
688
|
-
case
|
|
952
|
+
case 52:
|
|
689
953
|
return this.TARGET_SCOPE_sempred(localContext, predIndex);
|
|
690
|
-
case
|
|
954
|
+
case 55:
|
|
691
955
|
return this.METADATA_FENCE_sempred(localContext, predIndex);
|
|
692
|
-
case
|
|
956
|
+
case 62:
|
|
693
957
|
return this.METADATA_NEST_END_sempred(localContext, predIndex);
|
|
694
|
-
case
|
|
958
|
+
case 64:
|
|
695
959
|
return this.B_END_sempred(localContext, predIndex);
|
|
696
|
-
case
|
|
960
|
+
case 65:
|
|
697
961
|
return this.B_EMPTY_END_sempred(localContext, predIndex);
|
|
698
|
-
case
|
|
962
|
+
case 66:
|
|
699
963
|
return this.B_CLOSED_EOL_sempred(localContext, predIndex);
|
|
700
|
-
case
|
|
964
|
+
case 67:
|
|
701
965
|
return this.B_NEXT_HEADING_sempred(localContext, predIndex);
|
|
702
966
|
}
|
|
703
967
|
return true;
|
|
@@ -705,452 +969,568 @@ export class plurnkLexer extends antlr.Lexer {
|
|
|
705
969
|
OPEN_sempred(localContext, predIndex) {
|
|
706
970
|
switch (predIndex) {
|
|
707
971
|
case 0:
|
|
708
|
-
return this.
|
|
972
|
+
return this.atColumnZero() || !this.reasoning && this.inlineChain;
|
|
709
973
|
case 1:
|
|
710
974
|
return this.knownHeading();
|
|
711
975
|
}
|
|
712
976
|
return true;
|
|
713
977
|
}
|
|
714
|
-
|
|
978
|
+
ORPHAN_CLOSER_sempred(localContext, predIndex) {
|
|
715
979
|
switch (predIndex) {
|
|
716
980
|
case 2:
|
|
717
|
-
return this.atLineStart()
|
|
981
|
+
return this.atLineStart() && this.previousLineIsFence();
|
|
982
|
+
case 3:
|
|
983
|
+
return this.orphanAtLineEnd();
|
|
984
|
+
}
|
|
985
|
+
return true;
|
|
986
|
+
}
|
|
987
|
+
INLINE_TAG_sempred(localContext, predIndex) {
|
|
988
|
+
switch (predIndex) {
|
|
989
|
+
case 4:
|
|
990
|
+
return this.atLineStart() && !this.fenceOpens();
|
|
991
|
+
}
|
|
992
|
+
return true;
|
|
993
|
+
}
|
|
994
|
+
QUOTE_sempred(localContext, predIndex) {
|
|
995
|
+
switch (predIndex) {
|
|
996
|
+
case 5:
|
|
997
|
+
return this.atLineStart() && this.fenceOpens();
|
|
998
|
+
}
|
|
999
|
+
return true;
|
|
1000
|
+
}
|
|
1001
|
+
Q_END_sempred(localContext, predIndex) {
|
|
1002
|
+
switch (predIndex) {
|
|
1003
|
+
case 6:
|
|
1004
|
+
return this.closingAfterEol();
|
|
1005
|
+
}
|
|
1006
|
+
return true;
|
|
1007
|
+
}
|
|
1008
|
+
Q_EMPTY_END_sempred(localContext, predIndex) {
|
|
1009
|
+
switch (predIndex) {
|
|
1010
|
+
case 7:
|
|
1011
|
+
return this.atLineStart() && this.closingAt(1);
|
|
718
1012
|
}
|
|
719
1013
|
return true;
|
|
720
1014
|
}
|
|
721
1015
|
SLOTS_NEXT_OPENER_sempred(localContext, predIndex) {
|
|
722
1016
|
switch (predIndex) {
|
|
723
|
-
case
|
|
1017
|
+
case 8:
|
|
724
1018
|
return this.slotReady && this.openerFollows();
|
|
725
1019
|
}
|
|
726
1020
|
return true;
|
|
727
1021
|
}
|
|
728
1022
|
SLOTS_LPAREN_sempred(localContext, predIndex) {
|
|
729
1023
|
switch (predIndex) {
|
|
730
|
-
case
|
|
1024
|
+
case 9:
|
|
731
1025
|
return this.slotReady;
|
|
732
1026
|
}
|
|
733
1027
|
return true;
|
|
734
1028
|
}
|
|
735
1029
|
SLOTS_LBRACKET_sempred(localContext, predIndex) {
|
|
736
1030
|
switch (predIndex) {
|
|
737
|
-
case
|
|
1031
|
+
case 10:
|
|
738
1032
|
return this.slotReady && this.metadataReady;
|
|
739
1033
|
}
|
|
740
1034
|
return true;
|
|
741
1035
|
}
|
|
1036
|
+
SLOTS_WAIT_SCOPE_sempred(localContext, predIndex) {
|
|
1037
|
+
switch (predIndex) {
|
|
1038
|
+
case 11:
|
|
1039
|
+
return this.slotReady && this.openOp === "WAIT";
|
|
1040
|
+
}
|
|
1041
|
+
return true;
|
|
1042
|
+
}
|
|
742
1043
|
SLOTS_TEXT_L_sempred(localContext, predIndex) {
|
|
743
1044
|
switch (predIndex) {
|
|
744
|
-
case
|
|
1045
|
+
case 12:
|
|
745
1046
|
return this.slotReady && this.isTextCoordinateOp();
|
|
746
1047
|
}
|
|
747
1048
|
return true;
|
|
748
1049
|
}
|
|
749
1050
|
SLOTS_L_sempred(localContext, predIndex) {
|
|
750
1051
|
switch (predIndex) {
|
|
751
|
-
case
|
|
1052
|
+
case 13:
|
|
752
1053
|
return this.slotReady;
|
|
753
1054
|
}
|
|
754
1055
|
return true;
|
|
755
1056
|
}
|
|
756
1057
|
SLOTS_COMBINED_TEXT_L_sempred(localContext, predIndex) {
|
|
757
1058
|
switch (predIndex) {
|
|
758
|
-
case
|
|
1059
|
+
case 14:
|
|
759
1060
|
return this.slotReady && this.isTextCoordinateOp();
|
|
760
1061
|
}
|
|
761
1062
|
return true;
|
|
762
1063
|
}
|
|
763
1064
|
SLOTS_ASIDE_sempred(localContext, predIndex) {
|
|
764
1065
|
switch (predIndex) {
|
|
765
|
-
case
|
|
1066
|
+
case 15:
|
|
766
1067
|
return this.slotReady;
|
|
767
1068
|
}
|
|
768
1069
|
return true;
|
|
769
1070
|
}
|
|
770
1071
|
SLOTS_ASIDE_OPEN_sempred(localContext, predIndex) {
|
|
771
1072
|
switch (predIndex) {
|
|
772
|
-
case
|
|
1073
|
+
case 16:
|
|
773
1074
|
return this.slotReady && !this.asideClosesOnLine();
|
|
774
1075
|
}
|
|
775
1076
|
return true;
|
|
776
1077
|
}
|
|
777
1078
|
SLOTS_INLINE_CLOSER_sempred(localContext, predIndex) {
|
|
778
1079
|
switch (predIndex) {
|
|
779
|
-
case
|
|
1080
|
+
case 17:
|
|
780
1081
|
return this.slotReady && this.closerWithHeadingAhead();
|
|
781
1082
|
}
|
|
782
1083
|
return true;
|
|
783
1084
|
}
|
|
784
1085
|
SLOTS_END_sempred(localContext, predIndex) {
|
|
785
1086
|
switch (predIndex) {
|
|
786
|
-
case
|
|
1087
|
+
case 18:
|
|
787
1088
|
return this.closingAt(1);
|
|
788
1089
|
}
|
|
789
1090
|
return true;
|
|
790
1091
|
}
|
|
791
1092
|
SLOTS_INLINE_BODY_sempred(localContext, predIndex) {
|
|
792
1093
|
switch (predIndex) {
|
|
793
|
-
case
|
|
1094
|
+
case 19:
|
|
794
1095
|
return this.slotReady && this.inlineBodyAhead();
|
|
795
1096
|
}
|
|
796
1097
|
return true;
|
|
797
1098
|
}
|
|
1099
|
+
SLOTS_TICK_TEXT_sempred(localContext, predIndex) {
|
|
1100
|
+
switch (predIndex) {
|
|
1101
|
+
case 20:
|
|
1102
|
+
return this.slotReady && this.inlineBodyAhead() && [0x2F, 0x24, 0x7E, 0x26, 0x5E].includes(this.inputStream.LA(2));
|
|
1103
|
+
}
|
|
1104
|
+
return true;
|
|
1105
|
+
}
|
|
798
1106
|
SLOTS_CLOSED_EOL_sempred(localContext, predIndex) {
|
|
799
1107
|
switch (predIndex) {
|
|
800
|
-
case
|
|
1108
|
+
case 21:
|
|
801
1109
|
return this.inlineCloserSeen;
|
|
802
1110
|
}
|
|
803
1111
|
return true;
|
|
804
1112
|
}
|
|
805
1113
|
SLOTS_NEXT_HEADING_sempred(localContext, predIndex) {
|
|
806
1114
|
switch (predIndex) {
|
|
807
|
-
case
|
|
1115
|
+
case 22:
|
|
808
1116
|
return this.fenceDelimiter === "" && this.headingAfterEol();
|
|
809
1117
|
}
|
|
810
1118
|
return true;
|
|
811
1119
|
}
|
|
812
1120
|
TARGET_FENCE_sempred(localContext, predIndex) {
|
|
813
1121
|
switch (predIndex) {
|
|
814
|
-
case
|
|
1122
|
+
case 23:
|
|
815
1123
|
return this.closingAt(1);
|
|
816
1124
|
}
|
|
817
1125
|
return true;
|
|
818
1126
|
}
|
|
819
1127
|
TARGET_NEST_END_sempred(localContext, predIndex) {
|
|
820
1128
|
switch (predIndex) {
|
|
821
|
-
case
|
|
1129
|
+
case 24:
|
|
822
1130
|
return this.targetDepth > 0;
|
|
823
1131
|
}
|
|
824
1132
|
return true;
|
|
825
1133
|
}
|
|
826
1134
|
TARGET_TEXT_SCOPE_sempred(localContext, predIndex) {
|
|
827
1135
|
switch (predIndex) {
|
|
828
|
-
case
|
|
1136
|
+
case 25:
|
|
829
1137
|
return this.isTextCoordinateOp();
|
|
830
|
-
case
|
|
1138
|
+
case 26:
|
|
831
1139
|
return this.targetScopeEnd();
|
|
832
1140
|
}
|
|
833
1141
|
return true;
|
|
834
1142
|
}
|
|
835
1143
|
TARGET_SCOPE_sempred(localContext, predIndex) {
|
|
836
1144
|
switch (predIndex) {
|
|
837
|
-
case
|
|
1145
|
+
case 27:
|
|
838
1146
|
return this.openOp === "FIND" || this.execFence || this.openOp === "SEND";
|
|
839
|
-
case
|
|
1147
|
+
case 28:
|
|
840
1148
|
return this.targetScopeEnd();
|
|
841
1149
|
}
|
|
842
1150
|
return true;
|
|
843
1151
|
}
|
|
844
1152
|
METADATA_FENCE_sempred(localContext, predIndex) {
|
|
845
1153
|
switch (predIndex) {
|
|
846
|
-
case
|
|
1154
|
+
case 29:
|
|
847
1155
|
return this.closingAt(1);
|
|
848
1156
|
}
|
|
849
1157
|
return true;
|
|
850
1158
|
}
|
|
851
1159
|
METADATA_NEST_END_sempred(localContext, predIndex) {
|
|
852
1160
|
switch (predIndex) {
|
|
853
|
-
case
|
|
1161
|
+
case 30:
|
|
854
1162
|
return this.metadataDepth > 0;
|
|
855
1163
|
}
|
|
856
1164
|
return true;
|
|
857
1165
|
}
|
|
858
1166
|
B_END_sempred(localContext, predIndex) {
|
|
859
1167
|
switch (predIndex) {
|
|
860
|
-
case
|
|
1168
|
+
case 31:
|
|
861
1169
|
return this.closingAfterEol();
|
|
862
1170
|
}
|
|
863
1171
|
return true;
|
|
864
1172
|
}
|
|
865
1173
|
B_EMPTY_END_sempred(localContext, predIndex) {
|
|
866
1174
|
switch (predIndex) {
|
|
867
|
-
case
|
|
1175
|
+
case 32:
|
|
868
1176
|
return (this.atLineStart() || this.inlineBody) && this.closingAt(1);
|
|
869
1177
|
}
|
|
870
1178
|
return true;
|
|
871
1179
|
}
|
|
872
1180
|
B_CLOSED_EOL_sempred(localContext, predIndex) {
|
|
873
1181
|
switch (predIndex) {
|
|
874
|
-
case
|
|
1182
|
+
case 33:
|
|
875
1183
|
return this.inlineCloserSeen;
|
|
876
1184
|
}
|
|
877
1185
|
return true;
|
|
878
1186
|
}
|
|
879
1187
|
B_NEXT_HEADING_sempred(localContext, predIndex) {
|
|
880
1188
|
switch (predIndex) {
|
|
881
|
-
case
|
|
1189
|
+
case 34:
|
|
882
1190
|
return this.fenceDelimiter === "" && this.headingAfterEol();
|
|
883
1191
|
}
|
|
884
1192
|
return true;
|
|
885
1193
|
}
|
|
886
1194
|
static _serializedATN = [
|
|
887
|
-
4, 0,
|
|
888
|
-
7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10,
|
|
889
|
-
11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17,
|
|
890
|
-
17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23,
|
|
891
|
-
24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30,
|
|
892
|
-
30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36,
|
|
893
|
-
37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43,
|
|
894
|
-
43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49,
|
|
895
|
-
50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56,
|
|
896
|
-
56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62,
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
8,
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
1,
|
|
910
|
-
1,
|
|
911
|
-
|
|
912
|
-
1, 16,
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
1,
|
|
916
|
-
|
|
917
|
-
8,
|
|
918
|
-
|
|
919
|
-
1,
|
|
920
|
-
1,
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
1,
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
1,
|
|
934
|
-
|
|
935
|
-
1,
|
|
936
|
-
1,
|
|
937
|
-
|
|
938
|
-
1,
|
|
939
|
-
1,
|
|
940
|
-
10,
|
|
941
|
-
|
|
942
|
-
1,
|
|
943
|
-
|
|
944
|
-
1,
|
|
945
|
-
|
|
946
|
-
1,
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
1,
|
|
962
|
-
1,
|
|
963
|
-
1,
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
1,
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
1, 0, 0, 0,
|
|
980
|
-
0, 0,
|
|
981
|
-
0, 0,
|
|
982
|
-
0, 0,
|
|
983
|
-
0, 0,
|
|
984
|
-
0, 0,
|
|
985
|
-
0, 0,
|
|
986
|
-
0, 0,
|
|
987
|
-
0, 0,
|
|
988
|
-
0,
|
|
989
|
-
0,
|
|
990
|
-
0,
|
|
991
|
-
|
|
992
|
-
0,
|
|
993
|
-
0,
|
|
994
|
-
0, 0,
|
|
995
|
-
0, 0,
|
|
996
|
-
0, 0,
|
|
997
|
-
0, 0,
|
|
998
|
-
0, 0,
|
|
999
|
-
0, 0,
|
|
1000
|
-
|
|
1001
|
-
0, 0,
|
|
1002
|
-
|
|
1003
|
-
0,
|
|
1004
|
-
0, 0,
|
|
1005
|
-
0, 0,
|
|
1006
|
-
0, 0, 0,
|
|
1007
|
-
0, 0, 0,
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
0, 0, 0,
|
|
1011
|
-
0, 0,
|
|
1012
|
-
0, 0, 0,
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
1, 0, 0, 0,
|
|
1024
|
-
1, 0, 0, 0,
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
0,
|
|
1031
|
-
0,
|
|
1032
|
-
0, 0,
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
0,
|
|
1037
|
-
|
|
1038
|
-
1, 0, 0, 0,
|
|
1039
|
-
1, 0, 0, 0,
|
|
1040
|
-
5,
|
|
1041
|
-
|
|
1042
|
-
0,
|
|
1043
|
-
0,
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
0, 0, 0,
|
|
1049
|
-
0, 0, 0,
|
|
1050
|
-
|
|
1051
|
-
1, 0, 0, 0,
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
0,
|
|
1068
|
-
0,
|
|
1069
|
-
0, 0, 0,
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
0, 0, 0,
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
0, 0,
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
0,
|
|
1103
|
-
0, 0,
|
|
1104
|
-
|
|
1105
|
-
1, 0, 0, 0,
|
|
1106
|
-
1, 0, 0, 0,
|
|
1107
|
-
6,
|
|
1108
|
-
6,
|
|
1109
|
-
|
|
1110
|
-
1, 0, 0, 0,
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
1, 0, 0, 0,
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
0,
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
1, 0, 0, 0,
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
0,
|
|
1144
|
-
0,
|
|
1145
|
-
0,
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
1,
|
|
1153
|
-
|
|
1195
|
+
4, 0, 36, 898, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2,
|
|
1196
|
+
2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10,
|
|
1197
|
+
2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17,
|
|
1198
|
+
7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23,
|
|
1199
|
+
2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30,
|
|
1200
|
+
7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36,
|
|
1201
|
+
2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43,
|
|
1202
|
+
7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49,
|
|
1203
|
+
2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56,
|
|
1204
|
+
7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62,
|
|
1205
|
+
2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69,
|
|
1206
|
+
7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 158, 8,
|
|
1207
|
+
0, 10, 0, 12, 0, 161, 9, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 169, 8, 1, 10, 1, 12,
|
|
1208
|
+
1, 172, 9, 1, 1, 2, 4, 2, 175, 8, 2, 11, 2, 12, 2, 176, 1, 3, 3, 3, 180, 8, 3, 1, 3, 4, 3,
|
|
1209
|
+
183, 8, 3, 11, 3, 12, 3, 184, 1, 3, 1, 3, 4, 3, 189, 8, 3, 11, 3, 12, 3, 190, 3, 3, 193,
|
|
1210
|
+
8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 200, 8, 4, 3, 4, 202, 8, 4, 1, 4, 5, 4, 205, 8, 4,
|
|
1211
|
+
10, 4, 12, 4, 208, 9, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1,
|
|
1212
|
+
6, 3, 6, 222, 8, 6, 1, 6, 3, 6, 225, 8, 6, 1, 6, 3, 6, 228, 8, 6, 1, 7, 1, 7, 1, 7, 4, 7, 233,
|
|
1213
|
+
8, 7, 11, 7, 12, 7, 234, 1, 8, 1, 8, 4, 8, 239, 8, 8, 11, 8, 12, 8, 240, 1, 9, 1, 9, 1, 9,
|
|
1214
|
+
1, 9, 1, 9, 3, 9, 248, 8, 9, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 254, 8, 10, 1, 10, 5, 10,
|
|
1215
|
+
257, 8, 10, 10, 10, 12, 10, 260, 9, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11,
|
|
1216
|
+
268, 8, 11, 10, 11, 12, 11, 271, 9, 11, 1, 12, 1, 12, 3, 12, 275, 8, 12, 1, 13, 1, 13,
|
|
1217
|
+
1, 13, 1, 13, 3, 13, 281, 8, 13, 1, 13, 5, 13, 284, 8, 13, 10, 13, 12, 13, 287, 9, 13,
|
|
1218
|
+
1, 13, 1, 13, 1, 14, 3, 14, 292, 8, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 5, 15, 299, 8,
|
|
1219
|
+
15, 10, 15, 12, 15, 302, 9, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16,
|
|
1220
|
+
1, 16, 5, 16, 313, 8, 16, 10, 16, 12, 16, 316, 9, 16, 1, 16, 5, 16, 319, 8, 16, 10, 16,
|
|
1221
|
+
12, 16, 322, 9, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 5, 17, 332,
|
|
1222
|
+
8, 17, 10, 17, 12, 17, 335, 9, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18,
|
|
1223
|
+
1, 18, 5, 18, 346, 8, 18, 10, 18, 12, 18, 349, 9, 18, 1, 18, 3, 18, 352, 8, 18, 1, 18,
|
|
1224
|
+
1, 18, 1, 18, 1, 18, 1, 18, 5, 18, 359, 8, 18, 10, 18, 12, 18, 362, 9, 18, 1, 18, 3, 18,
|
|
1225
|
+
365, 8, 18, 3, 18, 367, 8, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 4, 19, 376,
|
|
1226
|
+
8, 19, 11, 19, 12, 19, 377, 1, 19, 1, 19, 1, 20, 4, 20, 383, 8, 20, 11, 20, 12, 20, 384,
|
|
1227
|
+
1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22,
|
|
1228
|
+
1, 22, 5, 22, 401, 8, 22, 10, 22, 12, 22, 404, 9, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22,
|
|
1229
|
+
5, 22, 411, 8, 22, 10, 22, 12, 22, 414, 9, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 5, 22,
|
|
1230
|
+
421, 8, 22, 10, 22, 12, 22, 424, 9, 22, 3, 22, 426, 8, 22, 1, 22, 5, 22, 429, 8, 22, 10,
|
|
1231
|
+
22, 12, 22, 432, 9, 22, 1, 22, 5, 22, 435, 8, 22, 10, 22, 12, 22, 438, 9, 22, 1, 22, 1,
|
|
1232
|
+
22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 5, 23, 448, 8, 23, 10, 23, 12, 23, 451, 9,
|
|
1233
|
+
23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 5, 23, 458, 8, 23, 10, 23, 12, 23, 461, 9, 23, 1,
|
|
1234
|
+
23, 1, 23, 1, 23, 1, 23, 1, 23, 5, 23, 468, 8, 23, 10, 23, 12, 23, 471, 9, 23, 3, 23, 473,
|
|
1235
|
+
8, 23, 1, 23, 5, 23, 476, 8, 23, 10, 23, 12, 23, 479, 9, 23, 1, 23, 5, 23, 482, 8, 23,
|
|
1236
|
+
10, 23, 12, 23, 485, 9, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 4, 24, 494,
|
|
1237
|
+
8, 24, 11, 24, 12, 24, 495, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26,
|
|
1238
|
+
1, 26, 4, 26, 508, 8, 26, 11, 26, 12, 26, 509, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27,
|
|
1239
|
+
4, 27, 518, 8, 27, 11, 27, 12, 27, 519, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 4, 28, 527,
|
|
1240
|
+
8, 28, 11, 28, 12, 28, 528, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29,
|
|
1241
|
+
1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 5, 31, 551,
|
|
1242
|
+
8, 31, 10, 31, 12, 31, 554, 9, 31, 3, 31, 556, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32,
|
|
1243
|
+
1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34,
|
|
1244
|
+
1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 5, 35, 584, 8, 35, 10, 35, 12, 35,
|
|
1245
|
+
587, 9, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36,
|
|
1246
|
+
1, 36, 1, 36, 5, 36, 602, 8, 36, 10, 36, 12, 36, 605, 9, 36, 1, 36, 1, 36, 1, 36, 1, 36,
|
|
1247
|
+
1, 37, 1, 37, 1, 37, 5, 37, 614, 8, 37, 10, 37, 12, 37, 617, 9, 37, 1, 37, 5, 37, 620,
|
|
1248
|
+
8, 37, 10, 37, 12, 37, 623, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 5, 38,
|
|
1249
|
+
632, 8, 38, 10, 38, 12, 38, 635, 9, 38, 1, 38, 5, 38, 638, 8, 38, 10, 38, 12, 38, 641,
|
|
1250
|
+
9, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39,
|
|
1251
|
+
1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41,
|
|
1252
|
+
1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44,
|
|
1253
|
+
1, 44, 5, 44, 682, 8, 44, 10, 44, 12, 44, 685, 9, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44,
|
|
1254
|
+
1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 4, 47, 703,
|
|
1255
|
+
8, 47, 11, 47, 12, 47, 704, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49,
|
|
1256
|
+
1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51,
|
|
1257
|
+
1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54,
|
|
1258
|
+
1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 5, 55, 749, 8, 55, 10, 55, 12, 55, 752,
|
|
1259
|
+
9, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57,
|
|
1260
|
+
1, 57, 1, 57, 5, 57, 768, 8, 57, 10, 57, 12, 57, 771, 9, 57, 1, 57, 1, 57, 1, 57, 1, 57,
|
|
1261
|
+
1, 58, 4, 58, 778, 8, 58, 11, 58, 12, 58, 779, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59,
|
|
1262
|
+
1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62,
|
|
1263
|
+
1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 5, 64, 812,
|
|
1264
|
+
8, 64, 10, 64, 12, 64, 815, 9, 64, 1, 64, 1, 64, 5, 64, 819, 8, 64, 10, 64, 12, 64, 822,
|
|
1265
|
+
9, 64, 1, 64, 5, 64, 825, 8, 64, 10, 64, 12, 64, 828, 9, 64, 1, 64, 1, 64, 1, 64, 1, 64,
|
|
1266
|
+
1, 64, 1, 65, 1, 65, 5, 65, 837, 8, 65, 10, 65, 12, 65, 840, 9, 65, 1, 65, 1, 65, 5, 65,
|
|
1267
|
+
844, 8, 65, 10, 65, 12, 65, 847, 9, 65, 1, 65, 5, 65, 850, 8, 65, 10, 65, 12, 65, 853,
|
|
1268
|
+
9, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67,
|
|
1269
|
+
1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 4, 68, 873, 8, 68, 11, 68, 12, 68, 874, 1, 68,
|
|
1270
|
+
1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71,
|
|
1271
|
+
1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 585, 0, 73, 6, 0, 8, 0, 10, 0,
|
|
1272
|
+
12, 0, 14, 0, 16, 0, 18, 0, 20, 0, 22, 0, 24, 0, 26, 0, 28, 0, 30, 0, 32, 0, 34, 0, 36, 27,
|
|
1273
|
+
38, 0, 40, 0, 42, 0, 44, 28, 46, 0, 48, 0, 50, 0, 52, 0, 54, 0, 56, 0, 58, 0, 60, 29, 62,
|
|
1274
|
+
30, 64, 0, 66, 0, 68, 31, 70, 0, 72, 0, 74, 0, 76, 0, 78, 0, 80, 32, 82, 0, 84, 0, 86, 0,
|
|
1275
|
+
88, 0, 90, 0, 92, 0, 94, 0, 96, 0, 98, 0, 100, 0, 102, 33, 104, 0, 106, 0, 108, 0, 110,
|
|
1276
|
+
0, 112, 34, 114, 0, 116, 0, 118, 0, 120, 0, 122, 0, 124, 0, 126, 35, 128, 0, 130, 0,
|
|
1277
|
+
132, 0, 134, 0, 136, 0, 138, 0, 140, 0, 142, 0, 144, 0, 146, 0, 148, 0, 150, 36, 6, 0,
|
|
1278
|
+
1, 2, 3, 4, 5, 20, 6, 0, 43, 43, 45, 46, 48, 57, 65, 90, 95, 95, 97, 122, 1, 0, 48, 57,
|
|
1279
|
+
3, 0, 48, 57, 65, 90, 97, 122, 2, 0, 43, 43, 45, 45, 2, 0, 32, 32, 58, 58, 1, 0, 49, 57,
|
|
1280
|
+
2, 0, 9, 9, 32, 32, 3, 0, 9, 10, 13, 13, 32, 32, 4, 0, 9, 10, 13, 13, 32, 32, 96, 96, 4,
|
|
1281
|
+
0, 10, 10, 13, 13, 96, 96, 126, 126, 3, 0, 8203, 8205, 8288, 8288, 65279, 65279,
|
|
1282
|
+
4, 0, 10, 10, 13, 13, 33, 33, 62, 62, 3, 0, 10, 10, 13, 13, 62, 62, 2, 0, 10, 10, 13, 13,
|
|
1283
|
+
7, 0, 9, 10, 13, 13, 32, 32, 40, 40, 60, 60, 91, 91, 96, 96, 2, 0, 40, 41, 92, 92, 6, 0,
|
|
1284
|
+
10, 10, 13, 13, 40, 41, 60, 60, 92, 92, 96, 96, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92,
|
|
1285
|
+
6, 0, 10, 10, 13, 13, 34, 34, 91, 91, 93, 93, 96, 96, 3, 0, 10, 10, 13, 13, 96, 96, 951,
|
|
1286
|
+
0, 36, 1, 0, 0, 0, 0, 38, 1, 0, 0, 0, 0, 40, 1, 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 44, 1, 0, 0, 0,
|
|
1287
|
+
0, 46, 1, 0, 0, 0, 0, 48, 1, 0, 0, 0, 1, 50, 1, 0, 0, 0, 1, 52, 1, 0, 0, 0, 1, 54, 1, 0, 0, 0,
|
|
1288
|
+
1, 56, 1, 0, 0, 0, 2, 58, 1, 0, 0, 0, 2, 60, 1, 0, 0, 0, 2, 62, 1, 0, 0, 0, 2, 64, 1, 0, 0, 0,
|
|
1289
|
+
2, 66, 1, 0, 0, 0, 2, 68, 1, 0, 0, 0, 2, 70, 1, 0, 0, 0, 2, 72, 1, 0, 0, 0, 2, 74, 1, 0, 0, 0,
|
|
1290
|
+
2, 76, 1, 0, 0, 0, 2, 78, 1, 0, 0, 0, 2, 80, 1, 0, 0, 0, 2, 82, 1, 0, 0, 0, 2, 84, 1, 0, 0, 0,
|
|
1291
|
+
2, 86, 1, 0, 0, 0, 2, 88, 1, 0, 0, 0, 2, 90, 1, 0, 0, 0, 2, 92, 1, 0, 0, 0, 3, 94, 1, 0, 0, 0,
|
|
1292
|
+
3, 96, 1, 0, 0, 0, 3, 98, 1, 0, 0, 0, 3, 100, 1, 0, 0, 0, 3, 102, 1, 0, 0, 0, 3, 104, 1, 0,
|
|
1293
|
+
0, 0, 3, 106, 1, 0, 0, 0, 3, 108, 1, 0, 0, 0, 3, 110, 1, 0, 0, 0, 3, 112, 1, 0, 0, 0, 3, 114,
|
|
1294
|
+
1, 0, 0, 0, 4, 116, 1, 0, 0, 0, 4, 118, 1, 0, 0, 0, 4, 120, 1, 0, 0, 0, 4, 122, 1, 0, 0, 0,
|
|
1295
|
+
4, 124, 1, 0, 0, 0, 4, 126, 1, 0, 0, 0, 4, 128, 1, 0, 0, 0, 4, 130, 1, 0, 0, 0, 4, 132, 1,
|
|
1296
|
+
0, 0, 0, 5, 134, 1, 0, 0, 0, 5, 136, 1, 0, 0, 0, 5, 138, 1, 0, 0, 0, 5, 140, 1, 0, 0, 0, 5,
|
|
1297
|
+
142, 1, 0, 0, 0, 5, 144, 1, 0, 0, 0, 5, 146, 1, 0, 0, 0, 5, 148, 1, 0, 0, 0, 5, 150, 1, 0,
|
|
1298
|
+
0, 0, 6, 152, 1, 0, 0, 0, 8, 162, 1, 0, 0, 0, 10, 174, 1, 0, 0, 0, 12, 179, 1, 0, 0, 0, 14,
|
|
1299
|
+
194, 1, 0, 0, 0, 16, 211, 1, 0, 0, 0, 18, 218, 1, 0, 0, 0, 20, 229, 1, 0, 0, 0, 22, 236,
|
|
1300
|
+
1, 0, 0, 0, 24, 247, 1, 0, 0, 0, 26, 249, 1, 0, 0, 0, 28, 263, 1, 0, 0, 0, 30, 274, 1, 0,
|
|
1301
|
+
0, 0, 32, 276, 1, 0, 0, 0, 34, 291, 1, 0, 0, 0, 36, 295, 1, 0, 0, 0, 38, 309, 1, 0, 0, 0,
|
|
1302
|
+
40, 328, 1, 0, 0, 0, 42, 342, 1, 0, 0, 0, 44, 375, 1, 0, 0, 0, 46, 382, 1, 0, 0, 0, 48, 391,
|
|
1303
|
+
1, 0, 0, 0, 50, 397, 1, 0, 0, 0, 52, 445, 1, 0, 0, 0, 54, 493, 1, 0, 0, 0, 56, 500, 1, 0,
|
|
1304
|
+
0, 0, 58, 505, 1, 0, 0, 0, 60, 517, 1, 0, 0, 0, 62, 526, 1, 0, 0, 0, 64, 532, 1, 0, 0, 0,
|
|
1305
|
+
66, 539, 1, 0, 0, 0, 68, 546, 1, 0, 0, 0, 70, 561, 1, 0, 0, 0, 72, 566, 1, 0, 0, 0, 74, 571,
|
|
1306
|
+
1, 0, 0, 0, 76, 576, 1, 0, 0, 0, 78, 594, 1, 0, 0, 0, 80, 610, 1, 0, 0, 0, 82, 628, 1, 0,
|
|
1307
|
+
0, 0, 84, 647, 1, 0, 0, 0, 86, 654, 1, 0, 0, 0, 88, 661, 1, 0, 0, 0, 90, 667, 1, 0, 0, 0,
|
|
1308
|
+
92, 673, 1, 0, 0, 0, 94, 678, 1, 0, 0, 0, 96, 691, 1, 0, 0, 0, 98, 696, 1, 0, 0, 0, 100,
|
|
1309
|
+
702, 1, 0, 0, 0, 102, 708, 1, 0, 0, 0, 104, 712, 1, 0, 0, 0, 106, 717, 1, 0, 0, 0, 108,
|
|
1310
|
+
723, 1, 0, 0, 0, 110, 729, 1, 0, 0, 0, 112, 735, 1, 0, 0, 0, 114, 739, 1, 0, 0, 0, 116,
|
|
1311
|
+
745, 1, 0, 0, 0, 118, 758, 1, 0, 0, 0, 120, 763, 1, 0, 0, 0, 122, 777, 1, 0, 0, 0, 124,
|
|
1312
|
+
783, 1, 0, 0, 0, 126, 787, 1, 0, 0, 0, 128, 791, 1, 0, 0, 0, 130, 796, 1, 0, 0, 0, 132,
|
|
1313
|
+
802, 1, 0, 0, 0, 134, 808, 1, 0, 0, 0, 136, 834, 1, 0, 0, 0, 138, 859, 1, 0, 0, 0, 140,
|
|
1314
|
+
865, 1, 0, 0, 0, 142, 872, 1, 0, 0, 0, 144, 878, 1, 0, 0, 0, 146, 882, 1, 0, 0, 0, 148,
|
|
1315
|
+
889, 1, 0, 0, 0, 150, 894, 1, 0, 0, 0, 152, 153, 5, 96, 0, 0, 153, 154, 5, 96, 0, 0, 154,
|
|
1316
|
+
155, 5, 96, 0, 0, 155, 159, 1, 0, 0, 0, 156, 158, 5, 96, 0, 0, 157, 156, 1, 0, 0, 0, 158,
|
|
1317
|
+
161, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 159, 160, 1, 0, 0, 0, 160, 7, 1, 0, 0, 0, 161, 159,
|
|
1318
|
+
1, 0, 0, 0, 162, 163, 5, 96, 0, 0, 163, 164, 5, 96, 0, 0, 164, 165, 5, 96, 0, 0, 165, 166,
|
|
1319
|
+
5, 96, 0, 0, 166, 170, 1, 0, 0, 0, 167, 169, 5, 96, 0, 0, 168, 167, 1, 0, 0, 0, 169, 172,
|
|
1320
|
+
1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 9, 1, 0, 0, 0, 172, 170, 1,
|
|
1321
|
+
0, 0, 0, 173, 175, 7, 0, 0, 0, 174, 173, 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 174, 1,
|
|
1322
|
+
0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 11, 1, 0, 0, 0, 178, 180, 5, 45, 0, 0, 179, 178, 1,
|
|
1323
|
+
0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 182, 1, 0, 0, 0, 181, 183, 7, 1, 0, 0, 182, 181, 1,
|
|
1324
|
+
0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 182, 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 192, 1,
|
|
1325
|
+
0, 0, 0, 186, 188, 5, 46, 0, 0, 187, 189, 7, 1, 0, 0, 188, 187, 1, 0, 0, 0, 189, 190, 1,
|
|
1326
|
+
0, 0, 0, 190, 188, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 193, 1, 0, 0, 0, 192, 186, 1,
|
|
1327
|
+
0, 0, 0, 192, 193, 1, 0, 0, 0, 193, 13, 1, 0, 0, 0, 194, 195, 5, 60, 0, 0, 195, 206, 3,
|
|
1328
|
+
12, 3, 0, 196, 202, 5, 45, 0, 0, 197, 199, 5, 44, 0, 0, 198, 200, 5, 32, 0, 0, 199, 198,
|
|
1329
|
+
1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 202, 1, 0, 0, 0, 201, 196, 1, 0, 0, 0, 201, 197,
|
|
1330
|
+
1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 205, 3, 12, 3, 0, 204, 201, 1, 0, 0, 0, 205, 208,
|
|
1331
|
+
1, 0, 0, 0, 206, 204, 1, 0, 0, 0, 206, 207, 1, 0, 0, 0, 207, 209, 1, 0, 0, 0, 208, 206,
|
|
1332
|
+
1, 0, 0, 0, 209, 210, 5, 62, 0, 0, 210, 15, 1, 0, 0, 0, 211, 212, 5, 64, 0, 0, 212, 213,
|
|
1333
|
+
7, 2, 0, 0, 213, 214, 7, 2, 0, 0, 214, 215, 7, 2, 0, 0, 215, 216, 7, 2, 0, 0, 216, 217,
|
|
1334
|
+
7, 2, 0, 0, 217, 17, 1, 0, 0, 0, 218, 219, 5, 64, 0, 0, 219, 221, 7, 1, 0, 0, 220, 222,
|
|
1335
|
+
7, 1, 0, 0, 221, 220, 1, 0, 0, 0, 221, 222, 1, 0, 0, 0, 222, 224, 1, 0, 0, 0, 223, 225,
|
|
1336
|
+
7, 1, 0, 0, 224, 223, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 227, 1, 0, 0, 0, 226, 228,
|
|
1337
|
+
7, 1, 0, 0, 227, 226, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 19, 1, 0, 0, 0, 229, 230, 3,
|
|
1338
|
+
16, 5, 0, 230, 232, 7, 3, 0, 0, 231, 233, 7, 1, 0, 0, 232, 231, 1, 0, 0, 0, 233, 234, 1,
|
|
1339
|
+
0, 0, 0, 234, 232, 1, 0, 0, 0, 234, 235, 1, 0, 0, 0, 235, 21, 1, 0, 0, 0, 236, 238, 5, 43,
|
|
1340
|
+
0, 0, 237, 239, 7, 1, 0, 0, 238, 237, 1, 0, 0, 0, 239, 240, 1, 0, 0, 0, 240, 238, 1, 0,
|
|
1341
|
+
0, 0, 240, 241, 1, 0, 0, 0, 241, 23, 1, 0, 0, 0, 242, 248, 3, 12, 3, 0, 243, 248, 3, 20,
|
|
1342
|
+
7, 0, 244, 248, 3, 16, 5, 0, 245, 248, 3, 18, 6, 0, 246, 248, 3, 22, 8, 0, 247, 242, 1,
|
|
1343
|
+
0, 0, 0, 247, 243, 1, 0, 0, 0, 247, 244, 1, 0, 0, 0, 247, 245, 1, 0, 0, 0, 247, 246, 1,
|
|
1344
|
+
0, 0, 0, 248, 25, 1, 0, 0, 0, 249, 250, 5, 60, 0, 0, 250, 258, 3, 24, 9, 0, 251, 253, 5,
|
|
1345
|
+
44, 0, 0, 252, 254, 5, 32, 0, 0, 253, 252, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254, 255,
|
|
1346
|
+
1, 0, 0, 0, 255, 257, 3, 24, 9, 0, 256, 251, 1, 0, 0, 0, 257, 260, 1, 0, 0, 0, 258, 256,
|
|
1347
|
+
1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 261, 1, 0, 0, 0, 260, 258, 1, 0, 0, 0, 261, 262,
|
|
1348
|
+
5, 62, 0, 0, 262, 27, 1, 0, 0, 0, 263, 264, 3, 16, 5, 0, 264, 265, 7, 4, 0, 0, 265, 269,
|
|
1349
|
+
7, 5, 0, 0, 266, 268, 7, 1, 0, 0, 267, 266, 1, 0, 0, 0, 268, 271, 1, 0, 0, 0, 269, 267,
|
|
1350
|
+
1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 29, 1, 0, 0, 0, 271, 269, 1, 0, 0, 0, 272, 275, 3,
|
|
1351
|
+
24, 9, 0, 273, 275, 3, 28, 11, 0, 274, 272, 1, 0, 0, 0, 274, 273, 1, 0, 0, 0, 275, 31,
|
|
1352
|
+
1, 0, 0, 0, 276, 277, 5, 60, 0, 0, 277, 285, 3, 30, 12, 0, 278, 280, 5, 44, 0, 0, 279,
|
|
1353
|
+
281, 5, 32, 0, 0, 280, 279, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282,
|
|
1354
|
+
284, 3, 30, 12, 0, 283, 278, 1, 0, 0, 0, 284, 287, 1, 0, 0, 0, 285, 283, 1, 0, 0, 0, 285,
|
|
1355
|
+
286, 1, 0, 0, 0, 286, 288, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 288, 289, 5, 62, 0, 0, 289,
|
|
1356
|
+
33, 1, 0, 0, 0, 290, 292, 5, 13, 0, 0, 291, 290, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292,
|
|
1357
|
+
293, 1, 0, 0, 0, 293, 294, 5, 10, 0, 0, 294, 35, 1, 0, 0, 0, 295, 296, 4, 15, 0, 0, 296,
|
|
1358
|
+
300, 3, 8, 1, 0, 297, 299, 7, 1, 0, 0, 298, 297, 1, 0, 0, 0, 299, 302, 1, 0, 0, 0, 300,
|
|
1359
|
+
298, 1, 0, 0, 0, 300, 301, 1, 0, 0, 0, 301, 303, 1, 0, 0, 0, 302, 300, 1, 0, 0, 0, 303,
|
|
1360
|
+
304, 3, 10, 2, 0, 304, 305, 4, 15, 1, 0, 305, 306, 6, 15, 0, 0, 306, 307, 1, 0, 0, 0, 307,
|
|
1361
|
+
308, 6, 15, 1, 0, 308, 37, 1, 0, 0, 0, 309, 310, 4, 16, 2, 0, 310, 314, 3, 6, 0, 0, 311,
|
|
1362
|
+
313, 7, 1, 0, 0, 312, 311, 1, 0, 0, 0, 313, 316, 1, 0, 0, 0, 314, 312, 1, 0, 0, 0, 314,
|
|
1363
|
+
315, 1, 0, 0, 0, 315, 320, 1, 0, 0, 0, 316, 314, 1, 0, 0, 0, 317, 319, 7, 6, 0, 0, 318,
|
|
1364
|
+
317, 1, 0, 0, 0, 319, 322, 1, 0, 0, 0, 320, 318, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321,
|
|
1365
|
+
323, 1, 0, 0, 0, 322, 320, 1, 0, 0, 0, 323, 324, 4, 16, 3, 0, 324, 325, 1, 0, 0, 0, 325,
|
|
1366
|
+
326, 6, 16, 2, 0, 326, 327, 6, 16, 3, 0, 327, 39, 1, 0, 0, 0, 328, 329, 4, 17, 4, 0, 329,
|
|
1367
|
+
333, 3, 6, 0, 0, 330, 332, 7, 1, 0, 0, 331, 330, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333,
|
|
1368
|
+
331, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 336, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336,
|
|
1369
|
+
337, 3, 10, 2, 0, 337, 338, 6, 17, 4, 0, 338, 339, 1, 0, 0, 0, 339, 340, 6, 17, 2, 0, 340,
|
|
1370
|
+
341, 6, 17, 3, 0, 341, 41, 1, 0, 0, 0, 342, 366, 4, 18, 5, 0, 343, 347, 3, 6, 0, 0, 344,
|
|
1371
|
+
346, 7, 1, 0, 0, 345, 344, 1, 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347,
|
|
1372
|
+
348, 1, 0, 0, 0, 348, 351, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 352, 3, 10, 2, 0, 351,
|
|
1373
|
+
350, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 367, 1, 0, 0, 0, 353, 354, 5, 126, 0, 0, 354,
|
|
1374
|
+
355, 5, 126, 0, 0, 355, 356, 5, 126, 0, 0, 356, 360, 1, 0, 0, 0, 357, 359, 5, 126, 0,
|
|
1375
|
+
0, 358, 357, 1, 0, 0, 0, 359, 362, 1, 0, 0, 0, 360, 358, 1, 0, 0, 0, 360, 361, 1, 0, 0,
|
|
1376
|
+
0, 361, 364, 1, 0, 0, 0, 362, 360, 1, 0, 0, 0, 363, 365, 3, 10, 2, 0, 364, 363, 1, 0, 0,
|
|
1377
|
+
0, 364, 365, 1, 0, 0, 0, 365, 367, 1, 0, 0, 0, 366, 343, 1, 0, 0, 0, 366, 353, 1, 0, 0,
|
|
1378
|
+
0, 367, 368, 1, 0, 0, 0, 368, 369, 6, 18, 5, 0, 369, 370, 1, 0, 0, 0, 370, 371, 6, 18,
|
|
1379
|
+
2, 0, 371, 372, 6, 18, 3, 0, 372, 373, 6, 18, 6, 0, 373, 43, 1, 0, 0, 0, 374, 376, 7, 7,
|
|
1380
|
+
0, 0, 375, 374, 1, 0, 0, 0, 376, 377, 1, 0, 0, 0, 377, 375, 1, 0, 0, 0, 377, 378, 1, 0,
|
|
1381
|
+
0, 0, 378, 379, 1, 0, 0, 0, 379, 380, 6, 19, 3, 0, 380, 45, 1, 0, 0, 0, 381, 383, 8, 8,
|
|
1382
|
+
0, 0, 382, 381, 1, 0, 0, 0, 383, 384, 1, 0, 0, 0, 384, 382, 1, 0, 0, 0, 384, 385, 1, 0,
|
|
1383
|
+
0, 0, 385, 386, 1, 0, 0, 0, 386, 387, 6, 20, 7, 0, 387, 388, 1, 0, 0, 0, 388, 389, 6, 20,
|
|
1384
|
+
2, 0, 389, 390, 6, 20, 3, 0, 390, 47, 1, 0, 0, 0, 391, 392, 5, 96, 0, 0, 392, 393, 6, 21,
|
|
1385
|
+
8, 0, 393, 394, 1, 0, 0, 0, 394, 395, 6, 21, 2, 0, 395, 396, 6, 21, 3, 0, 396, 49, 1, 0,
|
|
1386
|
+
0, 0, 397, 398, 4, 22, 6, 0, 398, 402, 3, 34, 14, 0, 399, 401, 7, 6, 0, 0, 400, 399, 1,
|
|
1387
|
+
0, 0, 0, 401, 404, 1, 0, 0, 0, 402, 400, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 425, 1,
|
|
1388
|
+
0, 0, 0, 404, 402, 1, 0, 0, 0, 405, 406, 5, 96, 0, 0, 406, 407, 5, 96, 0, 0, 407, 408,
|
|
1389
|
+
5, 96, 0, 0, 408, 412, 1, 0, 0, 0, 409, 411, 5, 96, 0, 0, 410, 409, 1, 0, 0, 0, 411, 414,
|
|
1390
|
+
1, 0, 0, 0, 412, 410, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 426, 1, 0, 0, 0, 414, 412,
|
|
1391
|
+
1, 0, 0, 0, 415, 416, 5, 126, 0, 0, 416, 417, 5, 126, 0, 0, 417, 418, 5, 126, 0, 0, 418,
|
|
1392
|
+
422, 1, 0, 0, 0, 419, 421, 5, 126, 0, 0, 420, 419, 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422,
|
|
1393
|
+
420, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 426, 1, 0, 0, 0, 424, 422, 1, 0, 0, 0, 425,
|
|
1394
|
+
405, 1, 0, 0, 0, 425, 415, 1, 0, 0, 0, 426, 430, 1, 0, 0, 0, 427, 429, 7, 1, 0, 0, 428,
|
|
1395
|
+
427, 1, 0, 0, 0, 429, 432, 1, 0, 0, 0, 430, 428, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431,
|
|
1396
|
+
436, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 433, 435, 7, 6, 0, 0, 434, 433, 1, 0, 0, 0, 435,
|
|
1397
|
+
438, 1, 0, 0, 0, 436, 434, 1, 0, 0, 0, 436, 437, 1, 0, 0, 0, 437, 439, 1, 0, 0, 0, 438,
|
|
1398
|
+
436, 1, 0, 0, 0, 439, 440, 6, 22, 9, 0, 440, 441, 1, 0, 0, 0, 441, 442, 6, 22, 2, 0, 442,
|
|
1399
|
+
443, 6, 22, 3, 0, 443, 444, 6, 22, 10, 0, 444, 51, 1, 0, 0, 0, 445, 449, 4, 23, 7, 0, 446,
|
|
1400
|
+
448, 7, 6, 0, 0, 447, 446, 1, 0, 0, 0, 448, 451, 1, 0, 0, 0, 449, 447, 1, 0, 0, 0, 449,
|
|
1401
|
+
450, 1, 0, 0, 0, 450, 472, 1, 0, 0, 0, 451, 449, 1, 0, 0, 0, 452, 453, 5, 96, 0, 0, 453,
|
|
1402
|
+
454, 5, 96, 0, 0, 454, 455, 5, 96, 0, 0, 455, 459, 1, 0, 0, 0, 456, 458, 5, 96, 0, 0, 457,
|
|
1403
|
+
456, 1, 0, 0, 0, 458, 461, 1, 0, 0, 0, 459, 457, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460,
|
|
1404
|
+
473, 1, 0, 0, 0, 461, 459, 1, 0, 0, 0, 462, 463, 5, 126, 0, 0, 463, 464, 5, 126, 0, 0,
|
|
1405
|
+
464, 465, 5, 126, 0, 0, 465, 469, 1, 0, 0, 0, 466, 468, 5, 126, 0, 0, 467, 466, 1, 0,
|
|
1406
|
+
0, 0, 468, 471, 1, 0, 0, 0, 469, 467, 1, 0, 0, 0, 469, 470, 1, 0, 0, 0, 470, 473, 1, 0,
|
|
1407
|
+
0, 0, 471, 469, 1, 0, 0, 0, 472, 452, 1, 0, 0, 0, 472, 462, 1, 0, 0, 0, 473, 477, 1, 0,
|
|
1408
|
+
0, 0, 474, 476, 7, 1, 0, 0, 475, 474, 1, 0, 0, 0, 476, 479, 1, 0, 0, 0, 477, 475, 1, 0,
|
|
1409
|
+
0, 0, 477, 478, 1, 0, 0, 0, 478, 483, 1, 0, 0, 0, 479, 477, 1, 0, 0, 0, 480, 482, 7, 6,
|
|
1410
|
+
0, 0, 481, 480, 1, 0, 0, 0, 482, 485, 1, 0, 0, 0, 483, 481, 1, 0, 0, 0, 483, 484, 1, 0,
|
|
1411
|
+
0, 0, 484, 486, 1, 0, 0, 0, 485, 483, 1, 0, 0, 0, 486, 487, 6, 23, 11, 0, 487, 488, 1,
|
|
1412
|
+
0, 0, 0, 488, 489, 6, 23, 2, 0, 489, 490, 6, 23, 3, 0, 490, 491, 6, 23, 10, 0, 491, 53,
|
|
1413
|
+
1, 0, 0, 0, 492, 494, 8, 9, 0, 0, 493, 492, 1, 0, 0, 0, 494, 495, 1, 0, 0, 0, 495, 493,
|
|
1414
|
+
1, 0, 0, 0, 495, 496, 1, 0, 0, 0, 496, 497, 1, 0, 0, 0, 497, 498, 6, 24, 2, 0, 498, 499,
|
|
1415
|
+
6, 24, 3, 0, 499, 55, 1, 0, 0, 0, 500, 501, 9, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 503,
|
|
1416
|
+
6, 25, 2, 0, 503, 504, 6, 25, 3, 0, 504, 57, 1, 0, 0, 0, 505, 507, 4, 26, 8, 0, 506, 508,
|
|
1417
|
+
7, 6, 0, 0, 507, 506, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 509, 510,
|
|
1418
|
+
1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 511, 512, 6, 26, 12, 0, 512, 513, 1, 0, 0, 0, 513, 514,
|
|
1419
|
+
6, 26, 13, 0, 514, 515, 6, 26, 10, 0, 515, 59, 1, 0, 0, 0, 516, 518, 7, 6, 0, 0, 517, 516,
|
|
1420
|
+
1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519, 517, 1, 0, 0, 0, 519, 520, 1, 0, 0, 0, 520, 521,
|
|
1421
|
+
1, 0, 0, 0, 521, 522, 6, 27, 14, 0, 522, 523, 1, 0, 0, 0, 523, 524, 6, 27, 15, 0, 524,
|
|
1422
|
+
61, 1, 0, 0, 0, 525, 527, 7, 10, 0, 0, 526, 525, 1, 0, 0, 0, 527, 528, 1, 0, 0, 0, 528,
|
|
1423
|
+
526, 1, 0, 0, 0, 528, 529, 1, 0, 0, 0, 529, 530, 1, 0, 0, 0, 530, 531, 6, 28, 15, 0, 531,
|
|
1424
|
+
63, 1, 0, 0, 0, 532, 533, 4, 29, 9, 0, 533, 534, 5, 40, 0, 0, 534, 535, 6, 29, 16, 0, 535,
|
|
1425
|
+
536, 1, 0, 0, 0, 536, 537, 6, 29, 17, 0, 537, 538, 6, 29, 18, 0, 538, 65, 1, 0, 0, 0, 539,
|
|
1426
|
+
540, 4, 30, 10, 0, 540, 541, 5, 91, 0, 0, 541, 542, 6, 30, 19, 0, 542, 543, 1, 0, 0, 0,
|
|
1427
|
+
543, 544, 6, 30, 20, 0, 544, 545, 6, 30, 21, 0, 545, 67, 1, 0, 0, 0, 546, 547, 4, 31,
|
|
1428
|
+
11, 0, 547, 555, 5, 60, 0, 0, 548, 552, 8, 11, 0, 0, 549, 551, 8, 12, 0, 0, 550, 549,
|
|
1429
|
+
1, 0, 0, 0, 551, 554, 1, 0, 0, 0, 552, 550, 1, 0, 0, 0, 552, 553, 1, 0, 0, 0, 553, 556,
|
|
1430
|
+
1, 0, 0, 0, 554, 552, 1, 0, 0, 0, 555, 548, 1, 0, 0, 0, 555, 556, 1, 0, 0, 0, 556, 557,
|
|
1431
|
+
1, 0, 0, 0, 557, 558, 5, 62, 0, 0, 558, 559, 1, 0, 0, 0, 559, 560, 6, 31, 15, 0, 560, 69,
|
|
1432
|
+
1, 0, 0, 0, 561, 562, 4, 32, 12, 0, 562, 563, 3, 26, 10, 0, 563, 564, 1, 0, 0, 0, 564,
|
|
1433
|
+
565, 6, 32, 22, 0, 565, 71, 1, 0, 0, 0, 566, 567, 4, 33, 13, 0, 567, 568, 3, 14, 4, 0,
|
|
1434
|
+
568, 569, 1, 0, 0, 0, 569, 570, 6, 33, 22, 0, 570, 73, 1, 0, 0, 0, 571, 572, 4, 34, 14,
|
|
1435
|
+
0, 572, 573, 3, 32, 13, 0, 573, 574, 1, 0, 0, 0, 574, 575, 6, 34, 22, 0, 575, 75, 1, 0,
|
|
1436
|
+
0, 0, 576, 577, 4, 35, 15, 0, 577, 578, 5, 60, 0, 0, 578, 579, 5, 33, 0, 0, 579, 580,
|
|
1437
|
+
5, 45, 0, 0, 580, 581, 5, 45, 0, 0, 581, 585, 1, 0, 0, 0, 582, 584, 8, 13, 0, 0, 583, 582,
|
|
1438
|
+
1, 0, 0, 0, 584, 587, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0, 585, 583, 1, 0, 0, 0, 586, 588,
|
|
1439
|
+
1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 588, 589, 5, 45, 0, 0, 589, 590, 5, 45, 0, 0, 590, 591,
|
|
1440
|
+
5, 62, 0, 0, 591, 592, 1, 0, 0, 0, 592, 593, 6, 35, 23, 0, 593, 77, 1, 0, 0, 0, 594, 595,
|
|
1441
|
+
4, 36, 16, 0, 595, 596, 5, 60, 0, 0, 596, 597, 5, 33, 0, 0, 597, 598, 5, 45, 0, 0, 598,
|
|
1442
|
+
599, 5, 45, 0, 0, 599, 603, 1, 0, 0, 0, 600, 602, 8, 13, 0, 0, 601, 600, 1, 0, 0, 0, 602,
|
|
1443
|
+
605, 1, 0, 0, 0, 603, 601, 1, 0, 0, 0, 603, 604, 1, 0, 0, 0, 604, 606, 1, 0, 0, 0, 605,
|
|
1444
|
+
603, 1, 0, 0, 0, 606, 607, 6, 36, 24, 0, 607, 608, 1, 0, 0, 0, 608, 609, 6, 36, 23, 0,
|
|
1445
|
+
609, 79, 1, 0, 0, 0, 610, 611, 4, 37, 17, 0, 611, 615, 3, 6, 0, 0, 612, 614, 7, 1, 0, 0,
|
|
1446
|
+
613, 612, 1, 0, 0, 0, 614, 617, 1, 0, 0, 0, 615, 613, 1, 0, 0, 0, 615, 616, 1, 0, 0, 0,
|
|
1447
|
+
616, 621, 1, 0, 0, 0, 617, 615, 1, 0, 0, 0, 618, 620, 7, 6, 0, 0, 619, 618, 1, 0, 0, 0,
|
|
1448
|
+
620, 623, 1, 0, 0, 0, 621, 619, 1, 0, 0, 0, 621, 622, 1, 0, 0, 0, 622, 624, 1, 0, 0, 0,
|
|
1449
|
+
623, 621, 1, 0, 0, 0, 624, 625, 6, 37, 25, 0, 625, 626, 1, 0, 0, 0, 626, 627, 6, 37, 15,
|
|
1450
|
+
0, 627, 81, 1, 0, 0, 0, 628, 629, 4, 38, 18, 0, 629, 633, 3, 6, 0, 0, 630, 632, 7, 1, 0,
|
|
1451
|
+
0, 631, 630, 1, 0, 0, 0, 632, 635, 1, 0, 0, 0, 633, 631, 1, 0, 0, 0, 633, 634, 1, 0, 0,
|
|
1452
|
+
0, 634, 639, 1, 0, 0, 0, 635, 633, 1, 0, 0, 0, 636, 638, 7, 6, 0, 0, 637, 636, 1, 0, 0,
|
|
1453
|
+
0, 638, 641, 1, 0, 0, 0, 639, 637, 1, 0, 0, 0, 639, 640, 1, 0, 0, 0, 640, 642, 1, 0, 0,
|
|
1454
|
+
0, 641, 639, 1, 0, 0, 0, 642, 643, 6, 38, 26, 0, 643, 644, 1, 0, 0, 0, 644, 645, 6, 38,
|
|
1455
|
+
13, 0, 645, 646, 6, 38, 10, 0, 646, 83, 1, 0, 0, 0, 647, 648, 4, 39, 19, 0, 648, 649,
|
|
1456
|
+
8, 14, 0, 0, 649, 650, 6, 39, 27, 0, 650, 651, 1, 0, 0, 0, 651, 652, 6, 39, 28, 0, 652,
|
|
1457
|
+
653, 6, 39, 29, 0, 653, 85, 1, 0, 0, 0, 654, 655, 4, 40, 20, 0, 655, 656, 5, 96, 0, 0,
|
|
1458
|
+
656, 657, 6, 40, 30, 0, 657, 658, 1, 0, 0, 0, 658, 659, 6, 40, 28, 0, 659, 660, 6, 40,
|
|
1459
|
+
29, 0, 660, 87, 1, 0, 0, 0, 661, 662, 4, 41, 21, 0, 662, 663, 3, 34, 14, 0, 663, 664,
|
|
1460
|
+
1, 0, 0, 0, 664, 665, 6, 41, 13, 0, 665, 666, 6, 41, 10, 0, 666, 89, 1, 0, 0, 0, 667, 668,
|
|
1461
|
+
4, 42, 22, 0, 668, 669, 3, 34, 14, 0, 669, 670, 1, 0, 0, 0, 670, 671, 6, 42, 13, 0, 671,
|
|
1462
|
+
672, 6, 42, 10, 0, 672, 91, 1, 0, 0, 0, 673, 674, 3, 34, 14, 0, 674, 675, 1, 0, 0, 0, 675,
|
|
1463
|
+
676, 6, 43, 31, 0, 676, 677, 6, 43, 29, 0, 677, 93, 1, 0, 0, 0, 678, 679, 4, 44, 23, 0,
|
|
1464
|
+
679, 683, 3, 6, 0, 0, 680, 682, 7, 6, 0, 0, 681, 680, 1, 0, 0, 0, 682, 685, 1, 0, 0, 0,
|
|
1465
|
+
683, 681, 1, 0, 0, 0, 683, 684, 1, 0, 0, 0, 684, 686, 1, 0, 0, 0, 685, 683, 1, 0, 0, 0,
|
|
1466
|
+
686, 687, 6, 44, 32, 0, 687, 688, 1, 0, 0, 0, 688, 689, 6, 44, 13, 0, 689, 690, 6, 44,
|
|
1467
|
+
10, 0, 690, 95, 1, 0, 0, 0, 691, 692, 3, 34, 14, 0, 692, 693, 1, 0, 0, 0, 693, 694, 6,
|
|
1468
|
+
45, 13, 0, 694, 695, 6, 45, 10, 0, 695, 97, 1, 0, 0, 0, 696, 697, 5, 92, 0, 0, 697, 698,
|
|
1469
|
+
7, 15, 0, 0, 698, 699, 1, 0, 0, 0, 699, 700, 6, 46, 33, 0, 700, 99, 1, 0, 0, 0, 701, 703,
|
|
1470
|
+
8, 16, 0, 0, 702, 701, 1, 0, 0, 0, 703, 704, 1, 0, 0, 0, 704, 702, 1, 0, 0, 0, 704, 705,
|
|
1471
|
+
1, 0, 0, 0, 705, 706, 1, 0, 0, 0, 706, 707, 6, 47, 33, 0, 707, 101, 1, 0, 0, 0, 708, 709,
|
|
1472
|
+
5, 92, 0, 0, 709, 710, 1, 0, 0, 0, 710, 711, 6, 48, 33, 0, 711, 103, 1, 0, 0, 0, 712, 713,
|
|
1473
|
+
5, 40, 0, 0, 713, 714, 6, 49, 34, 0, 714, 715, 1, 0, 0, 0, 715, 716, 6, 49, 33, 0, 716,
|
|
1474
|
+
105, 1, 0, 0, 0, 717, 718, 4, 50, 24, 0, 718, 719, 5, 41, 0, 0, 719, 720, 6, 50, 35, 0,
|
|
1475
|
+
720, 721, 1, 0, 0, 0, 721, 722, 6, 50, 33, 0, 722, 107, 1, 0, 0, 0, 723, 724, 4, 51, 25,
|
|
1476
|
+
0, 724, 725, 3, 26, 10, 0, 725, 726, 4, 51, 26, 0, 726, 727, 1, 0, 0, 0, 727, 728, 6,
|
|
1477
|
+
51, 22, 0, 728, 109, 1, 0, 0, 0, 729, 730, 4, 52, 27, 0, 730, 731, 3, 14, 4, 0, 731, 732,
|
|
1478
|
+
4, 52, 28, 0, 732, 733, 1, 0, 0, 0, 733, 734, 6, 52, 22, 0, 734, 111, 1, 0, 0, 0, 735,
|
|
1479
|
+
736, 5, 96, 0, 0, 736, 737, 1, 0, 0, 0, 737, 738, 6, 53, 33, 0, 738, 113, 1, 0, 0, 0, 739,
|
|
1480
|
+
740, 5, 41, 0, 0, 740, 741, 6, 54, 36, 0, 741, 742, 1, 0, 0, 0, 742, 743, 6, 54, 37, 0,
|
|
1481
|
+
743, 744, 6, 54, 1, 0, 744, 115, 1, 0, 0, 0, 745, 746, 4, 55, 29, 0, 746, 750, 3, 6, 0,
|
|
1482
|
+
0, 747, 749, 7, 6, 0, 0, 748, 747, 1, 0, 0, 0, 749, 752, 1, 0, 0, 0, 750, 748, 1, 0, 0,
|
|
1483
|
+
0, 750, 751, 1, 0, 0, 0, 751, 753, 1, 0, 0, 0, 752, 750, 1, 0, 0, 0, 753, 754, 6, 55, 38,
|
|
1484
|
+
0, 754, 755, 1, 0, 0, 0, 755, 756, 6, 55, 13, 0, 756, 757, 6, 55, 10, 0, 757, 117, 1,
|
|
1485
|
+
0, 0, 0, 758, 759, 3, 34, 14, 0, 759, 760, 1, 0, 0, 0, 760, 761, 6, 56, 13, 0, 761, 762,
|
|
1486
|
+
6, 56, 10, 0, 762, 119, 1, 0, 0, 0, 763, 769, 5, 34, 0, 0, 764, 765, 5, 92, 0, 0, 765,
|
|
1487
|
+
768, 8, 13, 0, 0, 766, 768, 8, 17, 0, 0, 767, 764, 1, 0, 0, 0, 767, 766, 1, 0, 0, 0, 768,
|
|
1488
|
+
771, 1, 0, 0, 0, 769, 767, 1, 0, 0, 0, 769, 770, 1, 0, 0, 0, 770, 772, 1, 0, 0, 0, 771,
|
|
1489
|
+
769, 1, 0, 0, 0, 772, 773, 5, 34, 0, 0, 773, 774, 1, 0, 0, 0, 774, 775, 6, 57, 39, 0, 775,
|
|
1490
|
+
121, 1, 0, 0, 0, 776, 778, 8, 18, 0, 0, 777, 776, 1, 0, 0, 0, 778, 779, 1, 0, 0, 0, 779,
|
|
1491
|
+
777, 1, 0, 0, 0, 779, 780, 1, 0, 0, 0, 780, 781, 1, 0, 0, 0, 781, 782, 6, 58, 39, 0, 782,
|
|
1492
|
+
123, 1, 0, 0, 0, 783, 784, 5, 96, 0, 0, 784, 785, 1, 0, 0, 0, 785, 786, 6, 59, 39, 0, 786,
|
|
1493
|
+
125, 1, 0, 0, 0, 787, 788, 5, 34, 0, 0, 788, 789, 1, 0, 0, 0, 789, 790, 6, 60, 39, 0, 790,
|
|
1494
|
+
127, 1, 0, 0, 0, 791, 792, 5, 91, 0, 0, 792, 793, 6, 61, 40, 0, 793, 794, 1, 0, 0, 0, 794,
|
|
1495
|
+
795, 6, 61, 39, 0, 795, 129, 1, 0, 0, 0, 796, 797, 4, 62, 30, 0, 797, 798, 5, 93, 0, 0,
|
|
1496
|
+
798, 799, 6, 62, 41, 0, 799, 800, 1, 0, 0, 0, 800, 801, 6, 62, 39, 0, 801, 131, 1, 0,
|
|
1497
|
+
0, 0, 802, 803, 5, 93, 0, 0, 803, 804, 6, 63, 42, 0, 804, 805, 1, 0, 0, 0, 805, 806, 6,
|
|
1498
|
+
63, 43, 0, 806, 807, 6, 63, 1, 0, 807, 133, 1, 0, 0, 0, 808, 809, 4, 64, 31, 0, 809, 813,
|
|
1499
|
+
3, 34, 14, 0, 810, 812, 7, 6, 0, 0, 811, 810, 1, 0, 0, 0, 812, 815, 1, 0, 0, 0, 813, 811,
|
|
1500
|
+
1, 0, 0, 0, 813, 814, 1, 0, 0, 0, 814, 816, 1, 0, 0, 0, 815, 813, 1, 0, 0, 0, 816, 820,
|
|
1501
|
+
3, 6, 0, 0, 817, 819, 7, 1, 0, 0, 818, 817, 1, 0, 0, 0, 819, 822, 1, 0, 0, 0, 820, 818,
|
|
1502
|
+
1, 0, 0, 0, 820, 821, 1, 0, 0, 0, 821, 826, 1, 0, 0, 0, 822, 820, 1, 0, 0, 0, 823, 825,
|
|
1503
|
+
7, 6, 0, 0, 824, 823, 1, 0, 0, 0, 825, 828, 1, 0, 0, 0, 826, 824, 1, 0, 0, 0, 826, 827,
|
|
1504
|
+
1, 0, 0, 0, 827, 829, 1, 0, 0, 0, 828, 826, 1, 0, 0, 0, 829, 830, 6, 64, 44, 0, 830, 831,
|
|
1505
|
+
1, 0, 0, 0, 831, 832, 6, 64, 13, 0, 832, 833, 6, 64, 10, 0, 833, 135, 1, 0, 0, 0, 834,
|
|
1506
|
+
838, 4, 65, 32, 0, 835, 837, 7, 6, 0, 0, 836, 835, 1, 0, 0, 0, 837, 840, 1, 0, 0, 0, 838,
|
|
1507
|
+
836, 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 838, 1, 0, 0, 0, 841,
|
|
1508
|
+
845, 3, 6, 0, 0, 842, 844, 7, 1, 0, 0, 843, 842, 1, 0, 0, 0, 844, 847, 1, 0, 0, 0, 845,
|
|
1509
|
+
843, 1, 0, 0, 0, 845, 846, 1, 0, 0, 0, 846, 851, 1, 0, 0, 0, 847, 845, 1, 0, 0, 0, 848,
|
|
1510
|
+
850, 7, 6, 0, 0, 849, 848, 1, 0, 0, 0, 850, 853, 1, 0, 0, 0, 851, 849, 1, 0, 0, 0, 851,
|
|
1511
|
+
852, 1, 0, 0, 0, 852, 854, 1, 0, 0, 0, 853, 851, 1, 0, 0, 0, 854, 855, 6, 65, 45, 0, 855,
|
|
1512
|
+
856, 1, 0, 0, 0, 856, 857, 6, 65, 13, 0, 857, 858, 6, 65, 10, 0, 858, 137, 1, 0, 0, 0,
|
|
1513
|
+
859, 860, 4, 66, 33, 0, 860, 861, 3, 34, 14, 0, 861, 862, 1, 0, 0, 0, 862, 863, 6, 66,
|
|
1514
|
+
13, 0, 863, 864, 6, 66, 10, 0, 864, 139, 1, 0, 0, 0, 865, 866, 4, 67, 34, 0, 866, 867,
|
|
1515
|
+
3, 34, 14, 0, 867, 868, 1, 0, 0, 0, 868, 869, 6, 67, 13, 0, 869, 870, 6, 67, 10, 0, 870,
|
|
1516
|
+
141, 1, 0, 0, 0, 871, 873, 8, 19, 0, 0, 872, 871, 1, 0, 0, 0, 873, 874, 1, 0, 0, 0, 874,
|
|
1517
|
+
872, 1, 0, 0, 0, 874, 875, 1, 0, 0, 0, 875, 876, 1, 0, 0, 0, 876, 877, 6, 68, 28, 0, 877,
|
|
1518
|
+
143, 1, 0, 0, 0, 878, 879, 5, 96, 0, 0, 879, 880, 1, 0, 0, 0, 880, 881, 6, 69, 28, 0, 881,
|
|
1519
|
+
145, 1, 0, 0, 0, 882, 883, 5, 13, 0, 0, 883, 884, 5, 10, 0, 0, 884, 885, 1, 0, 0, 0, 885,
|
|
1520
|
+
886, 6, 70, 46, 0, 886, 887, 1, 0, 0, 0, 887, 888, 6, 70, 28, 0, 888, 147, 1, 0, 0, 0,
|
|
1521
|
+
889, 890, 5, 10, 0, 0, 890, 891, 6, 71, 47, 0, 891, 892, 1, 0, 0, 0, 892, 893, 6, 71,
|
|
1522
|
+
28, 0, 893, 149, 1, 0, 0, 0, 894, 895, 5, 13, 0, 0, 895, 896, 1, 0, 0, 0, 896, 897, 6,
|
|
1523
|
+
72, 28, 0, 897, 151, 1, 0, 0, 0, 77, 0, 1, 2, 3, 4, 5, 159, 170, 176, 179, 184, 190, 192,
|
|
1524
|
+
199, 201, 206, 221, 224, 227, 234, 240, 247, 253, 258, 269, 274, 280, 285, 291,
|
|
1525
|
+
300, 314, 320, 333, 347, 351, 360, 364, 366, 377, 384, 402, 412, 422, 425, 430,
|
|
1526
|
+
436, 449, 459, 469, 472, 477, 483, 495, 509, 519, 528, 552, 555, 585, 603, 615,
|
|
1527
|
+
621, 633, 639, 683, 704, 750, 767, 769, 779, 813, 820, 826, 838, 845, 851, 874,
|
|
1528
|
+
48, 1, 15, 0, 2, 2, 0, 7, 25, 0, 0, 1, 0, 1, 17, 1, 1, 18, 2, 2, 1, 0, 1, 20, 3, 1, 21, 4, 1,
|
|
1529
|
+
22, 5, 2, 0, 0, 1, 23, 6, 1, 26, 7, 7, 21, 0, 1, 27, 8, 6, 0, 0, 1, 29, 9, 7, 15, 0, 2, 3, 0,
|
|
1530
|
+
1, 30, 10, 7, 17, 0, 2, 4, 0, 7, 19, 0, 7, 26, 0, 1, 36, 11, 1, 37, 12, 1, 38, 13, 1, 39,
|
|
1531
|
+
14, 7, 24, 0, 2, 5, 0, 1, 40, 15, 7, 20, 0, 1, 44, 16, 7, 22, 0, 1, 49, 17, 1, 50, 18, 1,
|
|
1532
|
+
54, 19, 7, 16, 0, 1, 55, 20, 7, 23, 0, 1, 61, 21, 1, 62, 22, 1, 63, 23, 7, 18, 0, 1, 64,
|
|
1533
|
+
24, 1, 65, 25, 1, 70, 26, 1, 71, 27
|
|
1154
1534
|
];
|
|
1155
1535
|
static __ATN;
|
|
1156
1536
|
static get _ATN() {
|